:root{--bg:#f3f8ff;--g1:#d4e6ff;--g2:#d3f0fb;--card:rgba(255,255,255,.93);--tx:#142238;--mu:#5b7191;--ac:#2f7de1;--nv:#1c2e52;--ln:rgba(31,74,138,.08);--sh:0 1px 2px rgba(31,74,138,.07),0 10px 28px -10px rgba(31,74,138,.18);--tint:rgba(47,125,225,.13);color-scheme:light}
:root[data-theme=dark]{--bg:#0c1322;--g1:#17306a;--g2:#0f4a54;--card:#172238;--tx:#e9effb;--mu:#9db0cd;--ac:#6aa8ff;--nv:#3a6fd8;--ln:rgba(255,255,255,.09);--sh:0 10px 28px -10px rgba(0,0,0,.6);--tint:rgba(106,168,255,.18);color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0}
body{font:16px/1.4 'DM Sans',system-ui,sans-serif;color:var(--tx);background:radial-gradient(circle at 0 0,var(--g1),transparent 55%),radial-gradient(circle at 100% 0,var(--g2),transparent 50%),var(--bg);background-attachment:fixed}
[hidden]{display:none!important}
h1,h2{font-family:Fraunces,serif;font-weight:600;margin:0}
h1{font-size:32px;line-height:1.1}h2{font-size:20px}
#view{max-width:480px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 16px 130px}
.card{background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.5);border-radius:23px;padding:16px;margin-bottom:10px;box-shadow:var(--sh)}
.card h2{margin-bottom:4px}
.mu{color:var(--mu);font-size:13px}.row{display:flex;align-items:center;gap:12px}.sp{flex:1;min-width:0}
.btn{border:0;background:var(--nv);color:#fff;font:700 15px 'DM Sans';padding:12px 22px;border-radius:99px;cursor:pointer}
.btn.ghost{background:transparent;color:var(--mu)}.btn.red{background:transparent;color:#e0605a}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pills{display:flex;gap:8px;overflow-x:auto;margin:14px -16px;padding:4px 16px 10px;scrollbar-width:none}
.pill{flex:none;border:0;background:var(--card);color:var(--mu);font:500 14px 'DM Sans';padding:9px 16px;border-radius:99px;box-shadow:var(--sh);cursor:pointer}
.pill.on{background:var(--nv);color:#fff}
details summary{display:flex;gap:8px;align-items:center;cursor:pointer;list-style:none;font:600 18px Fraunces,serif}
details summary::-webkit-details-marker{display:none}
details summary span{margin-left:auto;font:13px 'DM Sans';color:var(--mu)}
details summary::after{content:'›';color:var(--mu);transform:rotate(90deg);font-size:20px}
details[open] summary::after{transform:rotate(-90deg)}
.li{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ln)}
.li:last-child{border:0}.li b{display:block}
.ck{width:28px;height:28px;border-radius:50%;border:2px solid var(--mu);background:none;flex:none;color:#fff;cursor:pointer;font-size:15px;padding:0}
.ck.rec{border-style:dashed}.ck.done{background:var(--ac);border-color:var(--ac)}
.nav{position:fixed;left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:452px;bottom:calc(14px + env(safe-area-inset-bottom));height:66px;border-radius:30px;background:var(--card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.5);box-shadow:var(--sh);display:flex;padding:6px;z-index:5}
.nav button{flex:1;border:0;background:none;border-radius:24px;color:var(--mu);font:500 11px 'DM Sans';display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}
.nav button.on{background:var(--tint);color:var(--ac);font-weight:700}
.fab{position:fixed;right:max(18px,calc(50% - 222px));bottom:calc(94px + env(safe-area-inset-bottom));box-shadow:0 10px 24px -6px rgba(28,46,82,.5);z-index:5}
.hero{background:linear-gradient(135deg,#7db4ff,#a3b4ff 55%,#7fdbe6);color:#10243f;border:0;text-align:center;padding:22px}
.av{width:46px;height:46px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;font-weight:700;color:#fff;background:#2f7de1}
.av+.av{background:#10a38c;margin-left:-10px}
.big{font:600 52px/1 Fraunces,serif;margin:10px 0 2px}
.search{display:flex;gap:10px;align-items:center;background:var(--card);border-radius:99px;padding:0 16px;color:var(--mu);box-shadow:var(--sh);margin:14px 0 12px}
.search input{flex:1;min-width:0;border:0;background:none;color:var(--tx);font:16px 'DM Sans';padding:13px 0;outline:0}
.f,.sheet input,.sheet select{width:100%;font:16px 'DM Sans';padding:12px 14px;border-radius:16px;border:1px solid var(--ln);background:var(--card);color:var(--tx);margin:5px 0}
.bg{position:fixed;inset:0;background:rgba(10,20,40,.45);z-index:20;display:flex;align-items:flex-end;justify-content:center}
.sheet{width:100%;max-width:480px;background:var(--bg);border-radius:26px 26px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));max-height:90vh;overflow-y:auto}
.sheet label{font-size:13px;color:var(--mu)}
.toast{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translateX(-50%);background:var(--nv);color:#fff;padding:10px 18px;border-radius:99px;font-size:14px;z-index:30}
.login{min-height:100%;display:grid;place-items:center;padding:24px;text-align:center}
