:root{--bg:#f7f6f2;--card:#fff;--tx:#1d2420;--mu:#5c665f;--ac:#1f5f4a;--acx:#fff;--bd:#d9d8d0;--wn:#8a5a00;--wnb:#fff4d9;--ok:#14633f;--okb:#e1f3e8;--no:#9b2c2c;--nob:#fbe4e4;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#151a17;--card:#1e2521;--tx:#e8ece9;--mu:#9aa69f;--ac:#5cc39e;--acx:#0d1f18;--bd:#35403a;--wn:#f0c36a;--wnb:#3a2f14;--ok:#7fdca8;--okb:#173223;--no:#f08a8a;--nob:#3a1b1b}}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
main{max-width:680px;margin:0 auto;padding:16px}
h1{font-size:1.4rem;margin:8px 0 4px}h2{font-size:1.15rem;margin:0 0 8px}h3{font-size:.95rem;margin:18px 0 0;color:var(--ac)}
.sub,.small{color:var(--mu);font-size:.88rem}.sub{margin:0 0 14px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:16px;margin-bottom:12px}
.bar{display:flex;gap:6px;margin:10px 0 14px}.bar i{flex:1;height:5px;border-radius:3px;background:var(--bd)}.bar i.on{background:var(--ac)}
label{display:block;font-weight:600;font-size:.88rem;margin:10px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:9px;border:1px solid var(--bd);border-radius:8px;background:var(--bg);color:var(--tx)}
.opt{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--bd);border-radius:10px;margin:8px 0;cursor:pointer;font-weight:400}
.opt input{width:auto;margin-top:4px}.opt b{display:block}.opt span{color:var(--mu);font-size:.88rem}
.g{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.g .w{grid-column:1/-1}
@media(max-width:520px){.g{grid-template-columns:1fr}}
.row{display:flex;gap:10px;margin-top:16px}
button{font:inherit;font-weight:600;padding:12px 16px;border-radius:10px;border:1px solid var(--ac);background:var(--ac);color:var(--acx);cursor:pointer;flex:1}
button.sec{background:transparent;color:var(--ac)}
.note{padding:10px 12px;border-radius:8px;font-size:.9rem;margin:10px 0;background:var(--wnb);color:var(--wn)}
.pill{padding:12px;border-radius:10px;font-weight:600;margin-bottom:10px}.good{background:var(--okb);color:var(--ok)}.bad{background:var(--nob);color:var(--no)}
ol,ul{padding-left:1.2rem;margin:6px 0}li{margin:4px 0}.hid{display:none}
