@font-face{font-family:Archivo;src:url(fonts/Archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:ArchivoCond;src:url(fonts/ArchivoCond.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--nav:72px;color-scheme:light;--bg:#FFFFFF;--panel:#F4F4F4;--line:#D4D4D4;--ink:#000000;--mute:#555555;--acc:#000000;--red:#656565;--fgr:0,0,0;--bgr:255,255,255;--kD9D9D9:#262626;--kCFCFCF:#303030;--k000000:#FFFFFF;--kC2C2C2:#3D3D3D;--kC0C0C0:#3F3F3F;--k5D5D5D:#A2A2A2;--k787878:#878787;--k686868:#979797;--k6A6A6A:#959595;--k4C4C4C:#B3B3B3;--kBBBBBB:#444444;--k717171:#8E8E8E;--k8C8C8C:#737373;--kC7C7C7:#383838;--k1D1D1D:#E2E2E2;--kD5D5D5:#2A2A2A;--kFFFFFF:#000000;--k0B0B0B:#F4F4F4;--k222222:#DDDDDD;--k111111:#EEEEEE;--k121212:#EDEDED;--k333333:#CCCCCC;--k202020:#DFDFDF;--kF3F3F3:#0C0C0C;--k2B2B2B:#D4D4D4;--k8A8A8A:#757575;--k3A3A3A:#C5C5C5;--k0F0F0F:#F0F0F0;--k0B0B12:#F4F4ED;--kBDBDBD:#424242;--k9C9C9C:#636363}
html[data-theme=dark]{color-scheme:dark;--bg:#000000;--panel:#101010;--line:#2B2B2B;--ink:#F3F3F3;--mute:#A8A8A8;--acc:#FFFFFF;--red:#9A9A9A;--fgr:255,255,255;--bgr:0,0,0;--kD9D9D9:#D9D9D9;--kCFCFCF:#CFCFCF;--k000000:#000000;--kC2C2C2:#C2C2C2;--kC0C0C0:#C0C0C0;--k5D5D5D:#5D5D5D;--k787878:#787878;--k686868:#686868;--k6A6A6A:#6A6A6A;--k4C4C4C:#4C4C4C;--kBBBBBB:#BBBBBB;--k717171:#717171;--k8C8C8C:#8C8C8C;--kC7C7C7:#C7C7C7;--k1D1D1D:#1D1D1D;--kD5D5D5:#D5D5D5;--kFFFFFF:#FFFFFF;--k0B0B0B:#0B0B0B;--k222222:#222222;--k111111:#111111;--k121212:#121212;--k333333:#333333;--k202020:#202020;--kF3F3F3:#F3F3F3;--k2B2B2B:#2B2B2B;--k8A8A8A:#8A8A8A;--k3A3A3A:#3A3A3A;--k0F0F0F:#0F0F0F;--k0B0B12:#0B0B12;--kBDBDBD:#BDBDBD;--k9C9C9C:#9C9C9C}
html:not([data-theme=dark]) img[src*="icons/logo"]{filter:invert(1)}
.hbtn.thb{margin-right:8px;display:inline-grid;place-items:center}.hbtn.thb svg{width:18px;height:18px}
.hmo.thm .sw{flex:none;width:46px;height:26px;border-radius:13px;border:2px solid var(--ink);position:relative;align-self:center}.hmo.thm .sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:left .15s}.hmo.thm[aria-checked=true] .sw{background:var(--ink)}.hmo.thm[aria-checked=true] .sw::after{left:23px;background:var(--bg)}

*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-padding-top:80px;scroll-padding-bottom:120px}
html,body{background:var(--bg);color:var(--ink);font-family:Archivo,system-ui,sans-serif;font-size:17px;line-height:1.45}
body{min-height:100vh;padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}
button,input,textarea{font:inherit;color:inherit}
a{color:var(--acc)}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.hdr{display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 20px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
.brand{font-family:ArchivoCond;font-weight:700;font-size:22px;letter-spacing:.08em}
.brand span{color:var(--acc)}
.tagl{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--mute)}
main{max-width:480px;margin:0 auto;padding:16px 20px 28px;outline:none}
.prog{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.prog .trk{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.prog .trk i{display:block;height:100%;background:var(--acc);transition:width .3s}
.prog span{font-family:ArchivoCond;font-size:13px;letter-spacing:.15em;color:var(--mute)}
.kick{font-family:ArchivoCond;font-weight:500;letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--acc)}
.num{font-family:ArchivoCond;font-weight:700;font-size:84px;line-height:.85;color:var(--acc);margin-top:6px}
h1{font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:40px;line-height:.98;margin-top:8px}
h1 em,h2 em{font-style:normal;color:var(--acc)}
h2{font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:26px;line-height:1.05;margin:22px 0 8px}
.huge{font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:76px;line-height:.86;margin-top:18px}
.huge span{color:var(--acc)}
.sub{font-family:ArchivoCond;text-transform:uppercase;font-size:24px;line-height:1.1;margin-top:14px}
.lede{font-size:18px;color:var(--kD9D9D9);margin-top:14px}
.lede strong,p strong{color:var(--ink)}
p{margin-top:10px;color:var(--kCFCFCF)}
.mute{color:var(--mute);font-size:15px}
.bar{border-left:4px solid var(--acc);padding:4px 0 4px 14px;margin-top:20px;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:22px;line-height:1.12}
.bar span{color:var(--acc)}
.q{background:var(--acc);color:var(--k000000);padding:16px 18px;margin-top:20px;font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:21px;line-height:1.12;border-radius:6px}
.q small{display:block;font-family:Archivo;font-weight:700;font-size:11px;letter-spacing:.2em;margin-bottom:4px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-top:12px}
.card h3{font-family:ArchivoCond;text-transform:uppercase;font-size:18px;letter-spacing:.03em}
.card p{font-size:15px;margin-top:4px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:22px;border-top:1px solid var(--line);padding-top:12px}
.steps div{font-family:ArchivoCond;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--kC2C2C2);line-height:1.15}
.steps b{display:block;color:var(--acc);font-size:20px}
/* checklist */
.ck{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;padding:14px;margin-top:10px;cursor:pointer;min-height:64px}
.ck .bx{flex:none;width:30px;height:30px;border:2px solid var(--acc);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--k000000);font-size:18px}
.ck[aria-checked=true]{border-color:var(--acc)}
.ck[aria-checked=true] .bx{background:var(--acc)}
.ck[aria-checked=true] b{text-decoration:line-through;text-decoration-color:var(--acc)}
.ck .tm{font-family:ArchivoCond;color:var(--acc);font-size:13px;letter-spacing:.12em}
.ck b{display:block;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:19px;line-height:1.1}
.ck span.d{display:block;font-size:14.5px;color:var(--kC0C0C0);margin-top:3px}
.timer{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:16px}
.timer .t{font-family:ArchivoCond;font-weight:700;font-size:44px;color:var(--acc);line-height:1}
/* forms */
label.f{display:block;margin-top:16px;font-family:ArchivoCond;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--mute)}
textarea,input[type=text]{-webkit-user-select:text;user-select:text;pointer-events:auto;position:relative;z-index:1;font-size:17px!important;line-height:1.4;overflow:hidden;display:block;width:100%;margin-top:6px;background:var(--panel);border:2px solid var(--k5D5D5D);border-radius:8px;padding:12px 14px;font-size:17px;color:var(--ink);min-height:52px;resize:vertical}
textarea{min-height:56px;resize:none}
textarea:focus,input:focus{border-color:var(--acc);outline:none}
::placeholder{color:var(--k787878)}
.ifthen{border-left:4px solid var(--acc);padding:0 0 4px 12px;margin-top:14px}
.ifthen b{font-family:ArchivoCond;text-transform:uppercase;color:var(--acc);font-size:17px}
.ifthen input{margin:0}
.std{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:10px}
.std .h{display:flex;align-items:center;gap:12px}
.ltr{flex:none;width:38px;height:38px;border-radius:8px;background:var(--acc);color:var(--k000000);font-family:ArchivoCond;font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center}
.std .nm{font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:19px;line-height:1.1}
.std .full{font-size:14px;color:var(--mute)}
.std .full s{text-decoration-color:var(--k686868)}
.std input{margin-top:10px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.vs>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14.5px}
.vs .h{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--mute);margin-bottom:4px}
.vs .h.a{color:var(--acc)}
.nos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.nos div{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:10px;font-family:ArchivoCond;text-transform:uppercase;font-weight:600;font-size:14px;line-height:1.15}
.nos b{display:block;color:var(--red);letter-spacing:.15em;font-size:12px;margin-bottom:3px}
/* buttons */
.nav2{display:flex;gap:10px;margin-top:26px}
.btn{flex:1;min-height:56px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:17px;cursor:pointer;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink)}
.btn.p{background:var(--acc);border-color:var(--acc);color:var(--k000000);flex:2}
.btn.sm{min-height:48px;font-size:15px;flex:none}
.btn.ghost{background:transparent}
.btn.danger{border-color:var(--k6A6A6A);color:var(--red);background:transparent}
/* today */
.score{display:flex;justify-content:space-between;align-items:flex-end;margin-top:16px}
.score .t{font-family:ArchivoCond;font-weight:700;font-size:64px;line-height:.9}
.score .t span{color:var(--acc)}
.tog{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:10px;cursor:pointer;min-height:68px}
.tog .tx{flex:1}
.tog .tx b{display:block;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:19px;line-height:1.1}
.tog .tx span{font-size:13.5px;color:var(--mute)}
.tog .v{flex:none;width:54px;height:40px;border-radius:8px;border:2px solid var(--k4C4C4C);font-family:ArchivoCond;font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center;color:var(--mute)}
.tog[aria-pressed=true]{border-color:var(--acc)}
.tog[aria-pressed=true] .v{background:var(--acc);border-color:var(--acc);color:var(--k000000)}
.warn{border:1.5px solid var(--red);background:rgba(var(--fgr),.08);border-radius:10px;padding:12px 14px;margin-top:14px;font-size:15.5px}
.warn b{font-family:ArchivoCond;text-transform:uppercase;color:var(--red);letter-spacing:.08em;display:block;font-size:16px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.stats div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}
.stats b{display:block;font-family:ArchivoCond;font-size:30px;color:var(--acc);line-height:1}
.stats span{font-size:13px;color:var(--mute);text-transform:uppercase;letter-spacing:.1em}
.rung{display:grid;grid-template-columns:52px 1fr 52px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:11px 4px}
.rung .d{font-family:ArchivoCond;font-weight:700;font-size:15px;color:var(--mute);text-transform:uppercase}
.rung b{font-family:ArchivoCond;text-transform:uppercase;font-size:17px;display:block;line-height:1.1}
.rung span{font-size:13.5px;color:var(--kBBBBBB)}
.rung .s{font-family:ArchivoCond;font-size:17px;text-align:right;color:var(--mute)}
.rung.done .d,.rung.done .s{color:var(--acc)}
.rung.cur{background:rgba(var(--fgr),.08);border:1.5px solid var(--acc);border-radius:10px}
.rung.cur .d{color:var(--acc)}
.hist{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.hist div{width:calc((100% - 36px)/7);background:var(--panel);border:1px solid var(--line);border-radius:6px;text-align:center;padding:6px 0;font-size:11px;color:var(--mute)}
.hist b{display:block;font-family:ArchivoCond;font-size:18px;color:var(--ink)}
.hist .z b{color:var(--red)} .hist .f b{color:var(--acc)}
/* plan */
.pl{border-bottom:1px solid var(--line);padding:10px 0}
.pl .k{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--mute)}
.pl .val{font-size:17px;margin-top:2px;white-space:pre-wrap}
.pl .val.e{color:var(--k717171);font-style:italic}
.founding{margin-top:22px;border:1.5px dashed var(--acc);border-radius:10px;padding:16px}
.founding h4{font-family:ArchivoCond;text-transform:uppercase;font-size:24px;line-height:1}
.founding h4 span{color:var(--acc)}
.pill{display:inline-block;margin-top:10px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.2em;font-size:12px;background:var(--acc);color:var(--k000000);padding:5px 12px;font-weight:700;border-radius:4px}
.handles{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.handle{display:block;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:14px;text-decoration:none;color:var(--ink);min-height:56px}
.handle b{font-family:ArchivoCond;font-size:20px;display:block;color:var(--acc)}
.handle span{font-size:14px;color:var(--mute)}
.disc{font-size:12.5px;color:var(--k8C8C8C);line-height:1.5;margin-top:22px;border-top:1px solid var(--line);padding-top:12px}
.bnav{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--k000000);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10}
.bnav button{flex:1;height:var(--nav);background:none;border:0;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--mute);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}
.bnav .ic{font-size:22px;line-height:1}
.bnav button[aria-current=page]{color:var(--acc)}
#toast{position:fixed;left:50%;bottom:calc(var(--nav) + 18px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(20px);background:var(--acc);color:var(--k000000);font-weight:700;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;z-index:20;max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.todo{margin-top:14px;background:rgba(var(--fgr),.1);border:1.5px solid var(--acc);border-radius:10px;padding:12px 14px;font-size:16.5px;color:var(--ink)}
.todo b{font-weight:800;color:var(--acc)}
.def{margin-top:14px;background:var(--panel);border-left:4px solid var(--acc);padding:12px 14px;font-size:17px;border-radius:4px}
.def b{color:var(--acc)}
ol.how{margin:6px 0 0 22px;font-size:16.5px;color:var(--kD9D9D9)}
ol.how li{margin-top:6px;padding-left:4px}
.ex{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ex div{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:15px}
.ex span{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;color:var(--mute)}
.ex .mn{border-color:var(--acc)} .ex .mn span{color:var(--acc)}
.std .full{font-size:14.5px;color:var(--kC0C0C0)}
.seg{display:grid;gap:8px;margin-top:12px}
.seg button{min-height:52px;border-radius:10px;border:2px solid var(--line);background:var(--panel);font-weight:700;font-size:16px;text-align:left;padding:10px 14px;cursor:pointer}
.seg button[aria-checked=true]{border-color:var(--acc);background:var(--acc);color:var(--k000000)}
.ckw{background:var(--panel);border:1.5px solid var(--line);border-radius:10px;margin-top:10px}
.ckw.on{border-color:var(--acc)}
.ckw .ck{border:0;margin:0;background:transparent}
.ckin{padding:0 14px 14px}
.ckin label.f{margin-top:6px}
/* ---------- v4: header help, protocol, plan, onboarding ---------- */
.hr{display:flex;align-items:center;gap:10px}
.hbtn{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);font-family:ArchivoCond;font-weight:700;font-size:17px;color:var(--acc);cursor:pointer;display:flex;align-items:center;justify-content:center}
.lnk{background:none;border:0;padding:0;color:var(--acc);font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit}
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.path button{text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;font-family:ArchivoCond;text-transform:uppercase;font-weight:600;font-size:16px;line-height:1.1;min-height:96px}
.path b{display:block;color:var(--acc);font-size:22px}
.path span{display:block;font-family:Archivo;text-transform:none;font-weight:400;font-size:12.5px;color:var(--mute);margin-top:4px;line-height:1.3}
.path button[aria-current=step]{border-color:var(--acc);background:rgba(var(--fgr),.08)}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.sgrid div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:14.5px;color:var(--kC0C0C0)}
.sgrid b{display:block;font-family:ArchivoCond;font-size:32px;color:var(--acc);line-height:1;margin-bottom:4px}
.card.rule{border-color:var(--red);background:rgba(var(--fgr),.06)}
.card.rule h3{color:var(--red)}
.seg2{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:18px}
.seg2 button{min-height:46px;border:0;border-radius:9px;background:transparent;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:15px;font-weight:600;color:var(--mute);cursor:pointer}
.seg2 button[aria-selected=true]{background:var(--acc);color:var(--k000000)}
.std textarea{margin-top:6px}
.std label.f{margin-top:12px}
/* onboarding */
body.ob-open{overflow:hidden}
#ob[hidden]{display:none}
.ob{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.ob-top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px 8px}
.ob-skip{background:none;border:0;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.16em;font-size:14px;color:var(--mute);cursor:pointer;min-height:40px;padding:0 6px}
.ob-vp{flex:1;overflow:hidden;position:relative}
.ob-trk{display:flex;height:100%;transition:transform .35s ease}
.obc{flex:0 0 100%;height:100%;overflow-y:auto;padding:8px 22px 16px;max-width:100%}
.obc>*{max-width:440px;margin-left:auto;margin-right:auto}
.obc h1{font-size:36px}
.obl{margin-top:14px;display:grid;gap:8px}
.obl>div{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.obl .ltr{width:34px;height:34px;font-size:20px}
.obl b{display:block;font-family:ArchivoCond;text-transform:uppercase;font-weight:600;font-size:17px;line-height:1.1}
.obl span:not(.ltr){font-size:13.5px;color:var(--mute);line-height:1.3;display:block}
.obr{margin-top:10px;border-left:4px solid var(--acc);background:var(--panel);border-radius:4px;padding:10px 12px;font-size:15px;color:var(--kD9D9D9)}
.obr b{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em;color:var(--acc);font-size:15px}
.obr.red{border-left-color:var(--red)} .obr.red b{color:var(--red)}
.obs{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:15px;color:var(--kC7C7C7)}
.obs b{display:block;font-family:ArchivoCond;text-transform:uppercase;font-weight:600;font-size:18px;color:var(--ink);line-height:1.1;margin-bottom:3px}
.obo{margin-top:16px;display:grid;gap:10px}
.obo>div{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;padding:14px}
.obo b{font-family:ArchivoCond;font-size:30px;color:var(--acc);line-height:1}
.obo strong{display:block;font-family:ArchivoCond;text-transform:uppercase;font-size:20px;line-height:1.1}
.obo div div{font-size:15px;color:var(--kC7C7C7)}
.ob-dots{display:flex;justify-content:center;gap:8px;padding:8px 0}
.ob-dots button{width:9px;height:9px;border-radius:5px;border:0;background:var(--line);padding:0;cursor:pointer;transition:width .25s}
.ob-dots button[aria-current=step]{width:26px;background:var(--acc)}
.ob-nav{display:flex;gap:10px;padding:6px 20px 16px;max-width:480px;width:100%;margin:0 auto}
.ob-nav .btn{margin:0}

/* ---------- v5: brand + guides ---------- */
.acc{color:var(--acc)}
h1.logo{font-size:52px;line-height:.9;letter-spacing:.01em}
.tagline{margin-top:12px;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:15px;border-top:1px solid var(--acc);border-bottom:1px solid var(--acc);padding:8px 0;text-align:center}
.tagline em,.bdb em,.obhuge em,.obsm em,.onebox em,.signoff em,h1.logo em{font-style:normal;color:var(--acc)}
.stdb{display:block;width:100%;text-align:left;cursor:pointer;color:var(--ink)}
.stdb>span,.stdb .h>span{display:block}
.stdb .h{display:flex}
.stdb .nm,.stdb .tg{display:block}
.stdb .tg{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--acc);margin-top:2px}
.stdb .sup{font-size:14.5px;color:var(--kC0C0C0);margin-top:8px}
.stdb .ex{display:grid}
.stdb .ex>span{display:block;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14.5px}
.stdb .ex>span.mn{border-color:var(--acc)}
.stdb .ex small{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;color:var(--mute)}
.stdb .ex .mn small{color:var(--acc)}
.stdb .go{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--acc);margin-top:10px}
.stdb:active{border-color:var(--acc)}
.std.betr{border-color:var(--acc)}
.lnk.sm{font-size:14px;margin-top:10px;display:inline-block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:18px;font-family:ArchivoCond;text-transform:uppercase;font-weight:600;letter-spacing:.06em;font-size:14px}
.flow i{font-style:normal;color:var(--acc)}
.flow .u{color:var(--acc)}
.onebox{margin-top:14px;border:1.5px solid var(--acc);border-radius:8px;padding:12px 14px;text-align:center}
.onebox b{display:block;font-family:ArchivoCond;text-transform:uppercase;font-size:18px;letter-spacing:.04em}
.onebox span{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--mute)}
.signoff{margin-top:26px;text-align:center;border-top:1px solid var(--line);padding-top:16px}
.signoff b{display:block;font-family:ArchivoCond;font-size:30px;letter-spacing:.04em}
.signoff span{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--mute)}
/* score today with reflections */
.togw{background:var(--panel);border:1.5px solid var(--line);border-radius:10px;margin-top:10px;padding-bottom:12px}
.togw.on{border-color:var(--acc)}
.togw .tog{border:0;margin:0;background:transparent}
.tgx{display:flex;justify-content:space-between;align-items:baseline;padding:0 14px}
.tgx label.f{margin-top:0}
.tgx .lnk.sm{margin-top:0}
.togw textarea{margin:6px 14px 0;width:calc(100% - 28px);min-height:48px;padding:10px 12px}
/* guide pages */
.gtop{display:flex;justify-content:space-between;align-items:center}
.gtop .btn{min-height:44px;padding:0 12px}
.ghero{display:flex;gap:14px;align-items:center;margin-top:14px}
.gl{flex:none;font-family:ArchivoCond;font-weight:700;font-size:96px;line-height:.8;color:var(--acc);transform:skewX(-8deg)}
.ghero h1{margin:0;font-size:42px}
.betrbox{background:var(--acc);color:var(--k000000);padding:0 8px;border-radius:3px}
.gsub{font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:22px;line-height:1}
.gtag{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--acc);margin-top:6px;line-height:1.2}
.ghook{margin-top:14px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:16px}
.ghook em{font-style:normal;color:var(--acc)}
.gbox{margin-top:16px;border:1.5px solid var(--acc);border-radius:8px;padding:14px 16px}
.gbox h3{font-family:ArchivoCond;text-transform:uppercase;font-size:19px;letter-spacing:.04em}
.gbox p{font-size:15.5px;margin-top:6px}
.gbox p.big{font-family:ArchivoCond;text-transform:uppercase;font-size:20px;color:var(--ink);line-height:1.15}
.gbox em{font-style:normal;color:var(--acc)}
.gstd h3,.grefl h3{color:var(--acc)}
.gex{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.gex.wide{grid-template-columns:1fr 1fr}
.gex>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 6px;text-align:center}
.gex .ei{display:block;width:24px;height:24px;margin:0 auto;color:var(--ink,currentColor)}.gex .ei svg,.gchips .gci svg{width:100%;height:100%;display:block}
.gex b{display:block;font-family:ArchivoCond;text-transform:uppercase;font-weight:500;font-size:12.5px;letter-spacing:.04em;line-height:1.2;margin-top:6px}
.gex span:not(.ei){display:block;font-size:12.5px;color:var(--mute);margin-top:4px;line-height:1.3}
ul.gck{list-style:none;margin-top:6px}
ul.gck li{position:relative;padding:7px 0 7px 32px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.04em;font-size:16px;border-bottom:1px solid var(--k1D1D1D)}
ul.gck li:before{content:"\2713";position:absolute;left:0;top:6px;width:22px;height:22px;border:1.5px solid var(--acc);border-radius:50%;color:var(--acc);font-size:13px;display:flex;align-items:center;justify-content:center}
.gstar{margin-top:12px;border:1.5px solid var(--acc);border-radius:8px;padding:12px 14px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.06em;color:var(--acc);font-size:17px}
.gk{font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.06em;margin-top:10px}
.gchips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.gchips div{text-align:center;font-family:ArchivoCond;text-transform:uppercase;font-size:12px;letter-spacing:.04em;line-height:1.2;border:1px solid var(--line);border-radius:8px;padding:8px 4px}
.gchips span{display:block;width:22px;height:22px;margin:0 auto 4px;color:var(--ink,currentColor)}
ol.gcyc{list-style:none;counter-reset:c;margin-top:8px}
ol.gcyc li{counter-increment:c;position:relative;padding:8px 0 8px 38px;font-family:ArchivoCond;text-transform:uppercase;font-size:16px;letter-spacing:.04em}
ol.gcyc li:before{content:counter(c);position:absolute;left:0;top:5px;width:28px;height:28px;border-radius:50%;background:var(--acc);color:var(--k000000);font-weight:700;display:flex;align-items:center;justify-content:center}
ol.gcyc li:not(:last-child):after{content:"\2193";position:absolute;left:9px;bottom:-9px;color:var(--acc);font-size:12px}
.grefl .rl{margin-top:8px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.grefl .rl span{color:var(--mute)}
.gfoot{margin-top:18px;text-align:center;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.2em;font-size:13px;color:var(--mute)}
/* onboarding v5 */
.obn{font-family:ArchivoCond;letter-spacing:.15em;font-size:13px;color:var(--mute)}
.bdb{margin-top:14px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.24em;font-size:14px;font-weight:600}
.obhuge{font-family:ArchivoCond;font-weight:700;font-size:72px;line-height:.95;letter-spacing:.01em;margin-top:6px;font-style:italic}
.oblead{margin-top:14px;font-family:ArchivoCond;text-transform:uppercase;font-weight:600;font-size:22px;line-height:1.15;color:var(--acc)}
.obsm{margin-top:22px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--mute);border-top:1px solid var(--line);padding-top:12px}
.obsm.big{font-size:22px;letter-spacing:.06em;border:0;padding:0;margin-top:8px}
.obp{margin-top:12px;font-size:16px;color:var(--kD5D5D5)}
ul.obdot{margin:10px 0 0 20px;font-size:16.5px}
ul.obdot li{margin-top:4px}
ul.obdot li::marker{color:var(--acc)}
.obcyc{margin-top:14px;border-left:4px solid var(--acc);padding:8px 12px;background:var(--panel);font-size:15.5px;color:var(--kD5D5D5)}
.obcyc em{font-style:normal;font-weight:700;color:var(--acc)}
ul.obis,ul.obnot{list-style:none;margin-top:6px}
ul.obis li,ul.obnot li{position:relative;padding:5px 0 5px 28px;font-size:15px;line-height:1.3;border-bottom:1px solid var(--k1D1D1D)}
ul.obis li:before,ul.obnot li:before{position:absolute;left:0;top:5px;width:19px;height:19px;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700}
ul.obis li:before{content:"\2713";border:1.5px solid var(--acc);color:var(--acc)}
ul.obnot li:before{content:"\2715";border:1.5px solid var(--k8C8C8C);color:var(--kC7C7C7)}
ul.obnot li{color:var(--kBBBBBB)}
.obk{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.obk span{background:var(--panel);border:1px solid var(--line);border-radius:8px;text-align:center;padding:8px 4px;font-family:ArchivoCond;text-transform:uppercase;font-size:11.5px;letter-spacing:.04em;line-height:1.15}
.obk i{display:block;font-style:normal;margin:2px auto 5px;width:22px;height:22px;color:var(--ink,currentColor)}.obk i svg{width:100%;height:100%;display:block}
h1.prom{margin-top:14px;color:var(--acc);font-size:34px;line-height:1.02}
.stdb .h>span.ltr{display:flex}
.stdb .ex>span{font-family:Archivo;text-transform:none;letter-spacing:0;color:var(--ink)}
.stdb .ex>span small{font-family:ArchivoCond}
.betrbox{display:inline-block;line-height:1.05;margin-bottom:6px;padding:2px 10px 0}
.obsm.big{font-weight:700}
/* v8 progress */
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.pgrid div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}
.pgrid b{display:block;font-family:ArchivoCond;font-size:28px;color:var(--acc);line-height:1}
.pgrid span{font-size:12.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
input[type=date]{color-scheme:dark;-webkit-appearance:none;appearance:none}
/* v9 WHY */
.whyb{border:1.5px solid var(--acc);border-radius:10px;padding:14px 16px;margin-top:16px;background:rgba(var(--fgr),.05)}
.whyb label.f.wl{color:var(--acc)}
.whyl{font-size:13.5px;color:var(--mute);border-left:3px solid var(--acc);padding:4px 0 4px 10px;margin-bottom:14px;font-style:italic;line-height:1.35}
.whyl span{display:block;font-style:normal;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--acc)}
.whyl.e{font-style:normal}
.wov .wbody{flex:1;overflow-y:auto;padding:24px 22px 10px;display:flex;flex-direction:column;justify-content:center;max-width:480px;width:100%;margin:0 auto}
.wq{margin-top:14px;font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:40px;line-height:1.02;color:var(--acc)}
.wsoft{font-size:38px;margin-top:10px}
.wmiss{margin-top:26px;border-top:1px solid var(--line);padding-top:16px;font-size:18px;color:var(--kD9D9D9)}
.wmiss b{display:block;font-family:ArchivoCond;text-transform:uppercase;font-size:24px;color:var(--ink);letter-spacing:.02em;margin-bottom:4px}
.wmiss em{font-style:normal;font-weight:700;color:var(--acc)}
.wnav{display:flex;flex-direction:column;gap:10px;padding:8px 20px 6px;max-width:480px;width:100%;margin:0 auto}
.wnav .btn{flex:none;width:100%}
.wnav .lnk{align-self:center;min-height:40px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:14px}
.wsig{text-align:center;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;color:var(--mute);padding:4px 0 16px;margin:0}
.tgl{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:15.5px;cursor:pointer;min-height:44px}
.tgl input{width:24px;height:24px;accent-color:var(--acc)}
/* v12 home screen + backfill */
.a2 .a2body{flex:1;overflow-y:auto;padding:10px 22px 10px;max-width:480px;width:100%;margin:0 auto}
.a2 h1{font-size:36px;margin-top:6px}
.a2 .obr{margin-bottom:6px}
ol.a2s{list-style:none;counter-reset:a;margin-top:14px}
ol.a2s li{counter-increment:a;position:relative;padding:8px 0 10px 44px;font-size:16.5px;line-height:1.4;border-bottom:1px solid var(--k1D1D1D);color:var(--kD9D9D9)}
ol.a2s li b{color:var(--ink)}
ol.a2s li:before{content:counter(a);position:absolute;left:0;top:7px;width:30px;height:30px;border-radius:50%;background:var(--acc);color:var(--k000000);font-family:ArchivoCond;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center}
.shic{width:20px;height:20px;vertical-align:-4px;color:var(--kFFFFFF);margin:0 2px}
.a2note{margin-top:14px;border:1.5px solid var(--acc);border-radius:8px;padding:12px 14px;font-size:15px;color:var(--kD9D9D9)}
.a2note b{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em;color:var(--acc);font-size:15px}
.a2i{width:100%;margin-top:14px;flex:none}
.a2or{margin-top:10px}
[hidden]{display:none!important}
.dpick{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px}
.dpick.past{border-color:var(--acc);background:rgba(var(--fgr),.06)}
.dpick label.f{margin-top:0}
.dprow{display:flex;gap:10px;align-items:center;margin-top:6px}
.dprow input{flex:1;margin:0;min-height:48px}
.dprow .btn{min-height:48px}
.dpick .mute{margin-top:6px;font-size:13.5px}
input[type=date]{display:block;width:100%;background:var(--panel);border:2px solid var(--k5D5D5D);border-radius:8px;padding:10px 12px;font-size:17px;color:var(--ink);min-height:48px}
input[type=date]:focus{border-color:var(--acc);outline:none}
.dpick.past input[type=date]{border-color:var(--acc)}
.dprow input[type=date]{width:auto;min-width:0;flex:1}.dprow .btn{flex:none;padding:0 12px}
/* v13 help menu */
.hm .a2body{flex:1;overflow-y:auto;padding:10px 22px 24px;max-width:480px;width:100%;margin:0 auto}
.hm h1{font-size:38px;margin-top:6px}
.hm .ob-skip[data-hmclose]{margin-left:auto}
.hmback{color:var(--acc)!important}
.hml{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.hmo{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;padding:16px;color:var(--ink);cursor:pointer;font:inherit;min-height:76px}
.hmo:active,.hmo:focus-visible{border-color:var(--acc);outline:none}
.hmo b{font-family:ArchivoCond;font-weight:700;font-size:22px;color:var(--acc);min-width:30px}
.hmo span{flex:1;font-size:14.5px;color:var(--mute);line-height:1.35}
.hmo strong{display:block;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:19px;color:var(--ink);margin-bottom:2px}
.hmo i{font-style:normal;font-family:ArchivoCond;font-size:22px;color:var(--acc)}
.hmf{margin-top:22px;text-align:center;font-size:13px}
.faq{margin-top:16px;border-top:1px solid var(--line)}
.faqi{border-bottom:1px solid var(--line)}
.faqq{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;color:var(--ink);text-align:left;padding:16px 0;cursor:pointer;min-height:56px;font-family:ArchivoCond;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:17px;line-height:1.25}
.faqq span{flex:1}
.faqq i{font-style:normal;flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .2s}
.faqi.on .faqq{color:var(--acc)}
.faqi.on .faqq i{transform:rotate(45deg);background:var(--acc);color:var(--k000000)}
.faqa{display:none;padding:0 0 16px;font-size:15.5px;line-height:1.5;color:var(--kD9D9D9)}
.faqa b{color:var(--ink)}
.faqi.on .faqa{display:block}
.hset{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.hset .btn{width:100%;flex:none}
/* v14 update banner */
#upb{position:fixed;left:12px;right:12px;bottom:calc(var(--nav) + 10px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:8px;max-width:466px;margin:0 auto;background:var(--k0B0B0B);border:1.5px solid var(--acc);border-radius:10px;padding:6px 6px 6px 14px;box-shadow:0 6px 24px rgba(var(--bgr),.6)}
#upb .upt{flex:1;display:flex;align-items:center;gap:8px;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--ink)}
#upb .upt i{width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none;box-shadow:0 0 0 3px rgba(var(--fgr),.25)}
#upb .upr{flex:none;min-height:40px;padding:0 14px;border:0;border-radius:8px;background:var(--acc);color:var(--k000000);font-family:ArchivoCond;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:14px;cursor:pointer}
#upb .upx{flex:none;width:40px;min-height:40px;border:0;background:none;color:var(--mute);font-size:18px;cursor:pointer}
body.upb-on #toast{bottom:calc(var(--nav) + 76px + env(safe-area-inset-bottom))}
/* v15 update notes */
#upb{flex-direction:column;align-items:stretch;gap:0;padding:6px 6px 6px 14px}
#upb .uprow{display:flex;align-items:center;gap:8px}
#upb .upn{border-top:1px solid var(--k222222);margin:6px 6px 0 0;padding-top:2px}
#upb .upw{display:flex;align-items:center;width:100%;background:none;border:0;color:var(--acc);font-family:ArchivoCond;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:13px;min-height:36px;padding:0;cursor:pointer;text-align:left}
#upb .upw span{flex:1}
#upb .upw i{font-style:normal;font-size:18px;transition:transform .2s;width:28px;text-align:center}
#upb.open .upw i{transform:rotate(45deg)}
#upb .upl{display:none;list-style:none;padding:0 0 8px;margin:0}
#upb.open .upl{display:block}
#upb .upl li,.wnl li{position:relative;padding:4px 0 4px 18px;font-size:14.5px;line-height:1.35;color:var(--kD9D9D9)}
#upb .upl li:before,.wnl li:before{content:'';position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--acc)}
#toast.act{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px}
#toast .tact{border:0;border-radius:8px;background:var(--k000000);color:var(--acc);font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px;min-height:38px;padding:0 12px;cursor:pointer;white-space:nowrap}
.wnl{list-style:none;margin:8px 0 0;padding:0}
.wnl li{font-size:16px;padding:6px 0 6px 20px}
.wnl li:before{top:14px}
.wncur{margin-top:16px;border:1.5px solid var(--acc);border-radius:10px;padding:14px 16px}
.wnold{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.wnold .wnl li{color:var(--mute);font-size:15px}
.wnv{font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--acc)}
.wnold .wnv{color:var(--ink)}
/* v16 level up */
.lvb{display:inline-block;vertical-align:2px;margin-left:8px;padding:2px 7px;border-radius:5px;background:var(--acc);color:var(--k000000);font-family:ArchivoCond;font-weight:700;font-size:12px;letter-spacing:.08em;line-height:1.3;white-space:nowrap}
.lvb.big{font-size:14px;padding:3px 9px;margin:0}
.lvcard{margin:16px 0 4px;border:2px solid var(--acc);border-radius:12px;padding:16px;background:linear-gradient(160deg,var(--k111111) 0%,var(--k0B0B0B) 55%);box-shadow:0 0 0 4px rgba(var(--fgr),.12)}
.lvcard .lvtop{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lvcard h3{font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:24px;line-height:1.15;margin:8px 0 10px}
.lvcard h3 em,.lvc h1 em{font-style:normal;color:var(--acc)}
.lvcard textarea{border-color:var(--acc)}
.lvcard .row{margin-top:12px}
.lvold,.lvnew{border-radius:8px;padding:10px 12px;margin-top:10px;font-size:16px;line-height:1.35;background:var(--k121212);border:1px solid var(--line);color:var(--kD9D9D9)}
.lvold small,.lvnew small{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--mute);margin-bottom:2px}
.lvold s{color:var(--mute)}
.lvnew{border:2px solid var(--acc);color:var(--ink);font-weight:600}
.lvnew small{color:var(--acc)}
.lvrow{display:flex;align-items:center;gap:10px;margin-top:12px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--mute)}
.lvrow span{flex:none}
.lvrow .lnk{margin-left:auto;flex:none}
.lvmeter{flex:1;height:8px;border-radius:4px;background:var(--k222222);overflow:hidden;min-width:40px}
.lvmeter i{display:block;height:100%;background:var(--acc)}
.lvh{font-size:13.5px;margin-top:6px}
.lvc{overflow:hidden}
.lvc .a2body{flex:1;overflow-y:auto;padding:10px 22px;max-width:480px;width:100%;margin:0 auto;position:relative;z-index:1}
.lvbig{font-family:ArchivoCond;font-weight:700;font-size:120px;line-height:1;color:var(--ink);margin-top:8px;animation:lvpop .6s cubic-bezier(.2,1.6,.4,1) both}
.lvbig span{color:var(--acc)}
.lvc h1{font-size:40px}
.conf{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.conf i{position:absolute;top:-30px;width:8px;height:18px;background:var(--acc);border-radius:2px;opacity:0;animation:lvfall 2.2s ease-in forwards}
.conf i:nth-child(odd){width:6px;height:12px;animation-duration:2.8s}
@keyframes lvfall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(105vh) rotate(540deg)}}
@keyframes lvpop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.conf{display:none}.lvbig{animation:none}}
/* v17 bottom navigation */
body{padding-bottom:calc(var(--nav) + 24px + env(safe-area-inset-bottom))}
body.upb-on{padding-bottom:calc(var(--nav) + 110px + env(safe-area-inset-bottom))}
.bnav{z-index:25;background:var(--k000000);border-top:1px solid var(--k222222);padding:0 max(6px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-right));box-shadow:0 -8px 24px rgba(var(--bgr),.55)}
.bnav button{position:relative;flex:1 1 0;min-width:0;height:var(--nav);gap:4px;font-size:12px;letter-spacing:.12em;font-weight:500;-webkit-tap-highlight-color:transparent}
.bnav button svg.ic{width:24px;height:24px;display:block}
.bnav button:before{content:'';position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:transparent}
.bnav button[aria-current=page]{color:var(--acc);font-weight:600}
.bnav button[aria-current=page]:before{background:var(--acc)}
.bnav button:focus-visible{outline:2px solid var(--acc);outline-offset:-4px;border-radius:8px}
#upb{bottom:calc(var(--nav) + 8px + env(safe-area-inset-bottom))}
.path{grid-template-columns:repeat(4,1fr);gap:6px}
.path button{padding:9px 8px;font-size:14px}
.path b{font-size:19px}
.path span{font-size:11.5px}
.nudge{margin:14px 0 4px;border:2px solid var(--acc);border-radius:10px;padding:12px 14px;background:rgba(var(--fgr),.07);font-size:15.5px;line-height:1.45;color:var(--kD9D9D9)}
.nudge b{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em;color:var(--acc);font-size:16px;margin-bottom:2px}
.nudge .lnk{display:inline;margin-left:4px}
.tog .tx .lvb{color:var(--k000000);font-size:12px}
.obo{margin-top:12px;gap:8px}
.obo>div{padding:10px 14px;align-items:center}
.obo b{font-size:26px}
.obo strong{font-size:18px}
/* v18 progress screen */
.pback{display:inline-block;margin:0 0 10px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:14px;min-height:40px}
.pday{font-family:ArchivoCond;font-weight:700;text-transform:uppercase;font-size:84px;line-height:.95;margin-top:4px}
.pday span{color:var(--acc)}
.pg4 b{font-size:30px}
.pcm{margin-top:12px;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--panel)}
.pcm small{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--mute);margin-bottom:3px}
.pcm b{font-size:17px;font-weight:600}
.pcons,.plv{display:grid;gap:12px;margin-top:12px}
.pch{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.pch b{font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:17px;letter-spacing:.03em}
.pch .lvb{margin-left:2px;vertical-align:0}
.pch span:last-child{margin-left:auto;font-family:ArchivoCond;font-size:15px;color:var(--acc);letter-spacing:.04em}
.pmeter{height:12px;border-radius:6px;background:var(--k222222);overflow:hidden}
.pmeter i{display:block;height:100%;background:var(--acc);border-radius:6px}
.lvready{margin-top:6px;color:var(--acc);font-weight:600;font-size:14.5px}
.pcal{margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.pcalh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pcalh b{font-family:ArchivoCond;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:17px}
.pmon{width:44px;height:40px;border-radius:8px;border:1px solid var(--line);background:var(--k000000);color:var(--acc);font-size:24px;cursor:pointer;line-height:1}
.pmon:disabled{color:var(--k333333);border-color:var(--k1D1D1D);cursor:default}
.pcalg{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.pdw{text-align:center;font-family:ArchivoCond;font-size:12px;color:var(--mute);letter-spacing:.1em;padding-bottom:2px}
.pd{aspect-ratio:1;border-radius:7px;border:1px solid var(--k202020);background:var(--k0B0B0B);color:var(--kC7C7C7);font-family:ArchivoCond;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;min-height:38px}
.pd.s1{background:rgba(var(--fgr),.25);color:var(--kFFFFFF)}.pd.s2{background:rgba(var(--fgr),.4);color:var(--kFFFFFF)}.pd.s3{background:rgba(var(--fgr),.55);color:var(--k000000)}.pd.s4{background:rgba(var(--fgr),.75);color:var(--k000000)}.pd.s5{background:var(--acc);color:var(--k000000);font-weight:700}
.pd.z{border-color:var(--k6A6A6A)}
.pd.pre{opacity:.4}
.pd.fut{opacity:.25;cursor:default}
.pd.td{box-shadow:inset 0 0 0 2px var(--kF3F3F3)}
.pd.sel{outline:3px solid var(--acc);outline-offset:1px}
.pleg{display:flex;gap:14px;margin-top:10px;font-size:12.5px;color:var(--mute);flex-wrap:wrap}
.pleg span{display:flex;align-items:center;gap:5px}
.pleg i{width:14px;height:14px;border-radius:3px;background:var(--k0B0B0B);border:1px solid var(--k202020)}
.pleg i.s2{background:rgba(var(--fgr),.4)}.pleg i.s5{background:var(--acc)}.pleg i.tdk{box-shadow:inset 0 0 0 2px var(--kF3F3F3)}
.pdet{margin-top:12px;border:2px solid var(--acc);border-radius:12px;padding:14px;background:var(--k0B0B0B)}
.pdeth{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pdeth small{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--acc)}
.pdeth b{font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:18px}
.pdsc{font-family:ArchivoCond;font-weight:700;font-size:34px;color:var(--ink)}
.pdsc span{color:var(--acc)}
.pdl{display:grid;gap:6px;margin-bottom:12px}
.pdl>div{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--panel);border:1px solid var(--line)}
.pdl>div.on{border-color:rgba(var(--fgr),.6)}
.pdl>div>b{width:28px;height:28px;border-radius:6px;background:var(--k222222);color:var(--mute);font-family:ArchivoCond;display:flex;align-items:center;justify-content:center;flex:none}
.pdl>div.on>b{background:var(--acc);color:var(--k000000)}
.pdl>div>div{flex:1;min-width:0}
.pdl strong{display:block;font-family:ArchivoCond;font-weight:600;text-transform:uppercase;font-size:14.5px}
.pdl span{display:block;font-size:14px;color:var(--kC7C7C7);font-style:italic}
.pdl i{font-style:normal;font-family:ArchivoCond;font-weight:700;font-size:20px;color:var(--mute)}
.pdl>div.on i{color:var(--acc)}
.ptr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ptr>div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px}
.ptr small{display:block;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--mute)}
.ptr b{display:block;font-family:ArchivoCond;font-weight:700;font-size:28px;color:var(--acc);margin-top:2px}
.ptr span{display:block;font-size:13.5px;color:var(--kC7C7C7)}
.ptr em{display:block;font-style:normal;font-size:12.5px;color:var(--mute);margin-top:4px}
.ptr em.up{color:var(--acc)}.ptr em.dn{color:var(--red)}
.pbars{display:flex;align-items:flex-end;gap:3px;height:90px;margin-top:12px;padding:6px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}
.pbars i{flex:1;background:var(--acc);border-radius:2px 2px 0 0;min-height:3px}
.pbars i.pre{background:var(--k222222)}
.pbars i.td{box-shadow:0 0 0 2px var(--kF3F3F3)}
.pbarl{display:flex;justify-content:space-between;font-size:12px;color:var(--mute);margin-top:4px}
/* v18 share preview */
#spv .ob{z-index:46}
.spv{align-items:center}
.spwrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;padding:4px 20px}
.spimg{display:block;height:100%;max-height:100%;width:auto;max-width:100%;aspect-ratio:9/16;object-fit:contain;border-radius:12px;border:1.5px solid var(--k2B2B2B);background:var(--k000000);box-shadow:0 10px 40px rgba(var(--fgr),.12)}
.sptg{margin:8px 20px 0;justify-content:center;max-width:480px;width:100%}
.spn{text-align:center;margin:6px 20px 0;font-size:13px}
.spv .wnav{width:100%}
.spv .btn:disabled{opacity:.5}
.spv .ob-top{width:100%;max-width:520px;align-self:center}.spv .ob-top .obn{flex:1;text-align:center}

/* v19 brand: logo + monochrome */
.brand{display:flex;align-items:center;line-height:0}
.blogo{height:26px;width:auto;display:block}
.oblogo{display:block;width:150px;height:auto;margin:14px 0 22px}
.warn,.card.rule{border-style:dashed}
.obr.red{border-left-style:dashed}
.pd.z{border:1px dashed var(--k6A6A6A);background:transparent;color:var(--k8A8A8A)}
.pd.s1,.pd.s2{border-color:var(--k3A3A3A)}
.tog:not([aria-pressed=true]) .v{border-style:dashed}
.lvb{background:var(--k000000);color:var(--kFFFFFF);border:1.5px solid var(--kFFFFFF)}
.tog .tx .lvb{color:var(--kFFFFFF)}
/* v19-orange accent mock */

.score .t,.score .t span,.stats b,.pday span,.pdsc span{color:var(--ink)}
.tog[aria-pressed=true]{border-color:var(--acc)}
.tog[aria-pressed=true] .v{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.ck[aria-checked=true],.ckw.on,.togw.on{border-color:var(--acc)}
.ck[aria-checked=true] .bx{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.ck[aria-checked=true] b{text-decoration-color:var(--acc)}
.pd.s5{background:var(--acc);color:var(--bg)}.pleg i.s5{background:var(--acc)}
.pdl>div.on>b{background:var(--acc);color:var(--bg)}.pdl>div.on i{color:var(--ink)}
.lvb,.pch .lvb{background:var(--acc);color:var(--bg)}
.bnav button[aria-current=page]{color:var(--ink)}
.bnav button[aria-current=page]:before{background:var(--ink)}
.btn.p,#upb .upr{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.prog .trk i,.lvmeter i,.pmeter i,.pbars i{background:var(--acc)}
.pbars i.pre{background:var(--k222222)}
[data-pstat=total] b,[data-pstat=cur] b{color:var(--ink)}
.score .t,.stats b,.pday span,.pdsc span,[data-pstat=total] b,[data-pstat=cur] b{text-shadow:0 0 18px rgba(var(--fgr),0.18)}

.tog .tx .lvb,.tog[aria-pressed=true] .tx .lvb{color:var(--kFFFFFF)}

/* v20 backup */
.bucard{background:var(--k111111);border:1px solid var(--k2B2B2B);border-radius:10px;padding:14px 16px;margin-top:10px}.bucard p{margin:0 0 8px}.bucard #bulast,.bulast b{color:var(--ink)}
.bulast{margin:14px 0 4px;font-family:ArchivoCond;text-transform:uppercase;letter-spacing:.08em}
.bucode{width:100%;box-sizing:border-box;font:12px/1.4 ui-monospace,Menlo,monospace;background:var(--k0F0F0F);color:var(--kF3F3F3);border:1px solid var(--k2B2B2B);border-radius:8px;padding:10px;margin-top:8px;word-break:break-all}
.bufile{display:flex;align-items:center;justify-content:center;margin:8px 0 4px;cursor:pointer}
.buprev{border:2px solid var(--acc);border-radius:10px;padding:14px 16px;margin-top:14px;background:var(--k0B0B12)}.buprev ul{list-style:none;padding:0;margin:8px 0 12px}.buprev li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--k222222)}.buprev li b{color:var(--ink)}
.bunudge{display:flex;align-items:center;gap:10px;border:1px solid var(--acc);background:var(--k0B0B12);border-radius:10px;padding:10px 12px;margin:12px 0}.bunudge>div{flex:1;display:flex;flex-direction:column}.bunudge b{font-family:ArchivoCond;text-transform:uppercase;color:var(--ink)}.bunudge span{font-size:13px;color:var(--kBDBDBD)}.bunudge .btn{flex:none;margin:0;padding:8px 12px}.bunudge .upx{background:none;border:0;color:var(--k9C9C9C);font-size:18px;cursor:pointer}
#hm .btn.p,.bucard .btn.p,.bunudge .btn.p,#budo{background:var(--acc);border-color:var(--acc);color:var(--bg)}

.migban{border:2px solid var(--acc);background:var(--panel);border-radius:10px;padding:12px 14px;margin:12px 0;display:flex;flex-direction:column;gap:6px}.migban b{font-family:ArchivoCond;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.migban span,.migban li,.migban small{font-size:13px;color:var(--mute)}.migban li b{font-family:inherit;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink)}.migban ol{margin:0;padding-left:18px}.migban .row{display:flex;gap:8px;flex-wrap:wrap}.migban .btn{margin:0;padding:8px 12px;text-decoration:none}.migban .btn.p{background:var(--acc);border-color:var(--acc);color:var(--bg)}
/* v22 fixes */
.lvb,.tog .tx .lvb,.pch .lvb{background:var(--acc);color:var(--bg);border-color:var(--acc)}
@media (max-width:440px){.tagl{display:none}}
.tog .tx .lvb,.tog[aria-pressed=true] .tx .lvb{background:var(--acc);color:var(--bg);border-color:var(--acc)}
