*{box-sizing:border-box}:root{--bg:#faf7ff;--card:#fff;--tx:#241b3a;--mu:#6b6285;--ac:#7c3aed;--bd:#e4dcf5;--hi:#f3ecff;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"]){--bg:#130f20;--card:#1d1730;--tx:#ede8fa;--mu:#a398c0;--ac:#a78bfa;--bd:#33294f;--hi:#261e3f;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#130f20;--card:#1d1730;--tx:#ede8fa;--mu:#a398c0;--ac:#a78bfa;--bd:#33294f;--hi:#261e3f;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.7 Georgia,serif}
.w{max-width:760px;margin:auto;padding:0 16px}header{border-bottom:1px solid var(--bd);background:var(--card)}header .w{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;gap:10px;flex-wrap:wrap}
.logo{font:700 1.2rem system-ui,sans-serif;color:var(--ac);text-decoration:none}nav a{font:.9rem system-ui,sans-serif;color:var(--tx);text-decoration:none;margin-right:12px}
h1{font-size:1.7rem;line-height:1.25;margin:22px 0 8px}h2{font-size:1.3rem;margin:26px 0 6px}h3{font-size:1.05rem;margin:14px 0 2px}p{margin:8px 0}a{color:var(--ac)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:18px;margin:16px 0}
label{display:block;font:.85rem system-ui,sans-serif;color:var(--mu);margin:10px 0 4px}input,select{width:100%;padding:11px;border:1px solid var(--bd);border-radius:10px;background:var(--bg);color:var(--tx);font-size:1rem}
button{margin-top:14px;width:100%;padding:12px;border:0;border-radius:10px;background:var(--ac);color:#fff;font:600 1rem system-ui,sans-serif;cursor:pointer}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.res{margin-top:14px;padding:14px;border-radius:10px;background:var(--hi);border:1px solid var(--bd);min-height:3em}.big{font-size:2.2rem;font-weight:700;color:var(--ac);line-height:1.2}
.ad{min-height:90px;border:1px dashed var(--bd);border-radius:10px;color:var(--mu);display:flex;align-items:center;justify-content:center;font:.8rem system-ui,sans-serif;margin:16px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.grid a{display:block;padding:14px;border:1px solid var(--bd);border-radius:12px;background:var(--card);text-decoration:none;color:var(--tx);font:600 1rem system-ui,sans-serif}
.bc{font:.82rem system-ui,sans-serif;color:var(--mu);margin-top:14px}.note{font:.82rem system-ui,sans-serif;color:var(--mu)}
footer{border-top:1px solid var(--bd);margin-top:30px;padding:20px 0 34px;font:.85rem system-ui,sans-serif;color:var(--mu)}footer a{margin-right:12px}