:root{--bg:#0b0f14;--card:#111821;--line:#1d2732;--tx:#e8eef4;--mut:#8b98a5;--a:#4cc9f0;--b:#f72585;--g:#3fb950;--r:#ff6b6b;--y:#f2c94c;--p:#b388ff;--soft:#cfd8e3;--grid:#1d2732;--hdr:rgba(11,15,20,.92);
--c1:#4cc9f0;--c2:#9aa6b2;--c3:#5c6673;--obj:var(--obj);--objb:var(--objb);--exb:var(--exb);--exl:var(--exl);--misb:var(--misb);--misl:var(--misl);--tkb:var(--tkb);--tkl:var(--tkl);--hero:url(/hero_dark.jpg);color-scheme:dark}
:root[data-theme=light]{--bg:#f5f7fb;--card:#ffffff;--line:#d8dee8;--tx:#0b1220;--mut:#566273;--a:#0b7fa8;--b:#c2185b;--g:#1a7f37;--r:#c62828;--y:#9a6700;--p:#6f42c1;--soft:#253041;--grid:#e3e8ef;--hdr:rgba(245,247,251,.92);
--c1:#0b7fa8;--c2:#7b8794;--c3:#b4bcc6;--obj:#e8f4fb;--objb:#b9dcef;--exb:#eef8ea;--exl:#bfe0b2;--misb:#fdeeee;--misl:#f2c2c2;--tkb:#f1edff;--tkl:#cfc4f5;--hero:url(/hero_light.jpg);color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--a);text-decoration:none}main{max-width:980px;margin:0 auto;padding:12px 14px 30px}
.top{position:sticky;top:0;z-index:5;background:var(--hdr);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px 14px 0}
.brand{font-weight:800;font-size:20px;color:var(--tx);letter-spacing:.3px}.brand span{color:var(--a)}
nav{display:flex;gap:4px;overflow-x:auto;margin-top:8px;scrollbar-width:none}nav a{padding:8px 12px;color:var(--mut);border-bottom:2px solid transparent;white-space:nowrap;font-weight:600;font-size:15px}
nav a.on{color:var(--tx);border-color:var(--a)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}@media(min-width:720px){.grid{grid-template-columns:repeat(5,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0}.grid .card{margin:0}
.k{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.7px;display:flex;justify-content:space-between;gap:8px}
.v{font-size:24px;font-weight:700;margin-top:2px}.s{color:var(--mut);font-size:13px}.lm{text-transform:none;letter-spacing:0;font-size:13px;white-space:nowrap}
.contango{color:var(--g)}.backwardation{color:var(--r)}.flat{color:var(--y)}
.means{margin:8px 2px 0;font-size:15px;color:var(--soft)}.means:before{content:"💡 ";}.means:empty{display:none}
.sig{font-size:17px;margin-top:4px}svg{width:100%;height:auto;display:block;margin-top:6px}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-top:4px;color:var(--mut)}.legend i{display:inline-block;width:14px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
input[type=date]{background:var(--bg);color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:16px;color-scheme:dark}
button{background:var(--line);color:var(--tx);border:0;border-radius:10px;padding:9px 14px;font-size:15px;font-weight:600;cursor:pointer}
.banner{background:var(--tkb);border:1px solid var(--tkl);border-radius:14px;padding:10px 14px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600}
.lesson-card{display:block;margin-top:10px;padding:12px 14px;border-radius:14px;background:var(--obj);border:1px solid var(--objb);color:var(--tx)}
.lesson-card b{color:var(--a)}.lesson-card .s{color:var(--mut)}
.seg{display:flex;gap:6px;margin-top:10px}.seg button{flex:1}.seg button.on{background:var(--a);color:#001018}
.tbl{overflow-x:auto;margin-top:8px}table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{padding:7px 6px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:var(--mut);font-weight:600;font-size:12px}
td.pw{color:var(--r)}td.cw{color:var(--g)}td.fl{color:var(--y)}td.mp{color:var(--p)}
.lessons{display:grid;gap:8px;grid-template-columns:1fr}@media(min-width:720px){.lessons{grid-template-columns:1fr 1fr}}
.lesson{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--tx)}
.lesson .e{font-size:28px}.lesson .done{margin-left:auto;color:var(--g);font-weight:700}
.page h2{margin:6px 0 4px}.page p{font-size:16.5px}.q{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0}
.q .btns{display:flex;gap:8px;margin-top:8px}.q button.ok{background:#1f6f3a}.q button.no{background:#7a2530}.q .why{margin-top:8px;color:var(--soft)}
.score{font-size:18px;font-weight:700;margin:8px 0}
footer{max-width:980px;margin:0 auto;padding:16px 14px 40px;border-top:1px solid var(--line);color:var(--mut);font-size:12.5px}.motto{color:var(--tx);font-weight:700;font-size:15px}
[hidden]{display:none!important}
@media(max-width:600px){table{font-size:13px}th,td{padding:6px 4px}th{font-size:11px}.v{font-size:21px}}
td .s{display:block;font-size:11.5px}
.report ul{padding-left:20px}.report li{margin:6px 0}.kp{grid-template-columns:1fr}@media(min-width:720px){.kp{grid-template-columns:repeat(3,1fr)}}
.bar{display:inline-flex;align-items:center;gap:6px;min-width:110px;justify-content:flex-end}.bar i{display:inline-block;height:8px;border-radius:4px;max-width:70px}.bar i.t{background:var(--a)}.bar i.sd{background:var(--p)}
tr.thin td{opacity:.6}.page h3{margin:18px 0 6px}
.obj{background:var(--obj);border:1px solid var(--objb);border-radius:14px;padding:10px 14px}.obj ul,.tk ul,.mis ul{margin:6px 0;padding-left:20px}
.ex{background:var(--exb);border:1px solid var(--exl);border-radius:14px;padding:10px 14px;margin:10px 0}.mis{background:var(--misb);border:1px solid var(--misl);border-radius:14px;padding:10px 14px;margin:10px 0}
.tk{background:var(--tkb);border:1px solid var(--tkl);border-radius:14px;padding:10px 14px;margin:10px 0}.ap{background:var(--obj);border:1px solid var(--objb);border-radius:14px;padding:10px 14px;margin:10px 0}
.track{margin:16px 0 6px}.track h3{color:var(--a);margin-bottom:2px}.prog{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:6px 0}.prog i{display:block;height:100%;background:var(--g)}
.calc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:12px 0}.calc .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:8px 0}.calc label{font-size:13px;color:var(--mut)}.calc input,.row input[type=number]{width:100%;background:var(--bg);color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:8px;font-size:16px}
.mnav{display:flex;justify-content:space-between;gap:8px;margin:16px 0;flex-wrap:wrap}.lesson .lvl{font-size:11px;color:var(--mut)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chip{background:var(--line);border-radius:999px;padding:3px 10px;font-size:13px}.chip button{background:none;padding:0 0 0 6px;font-size:13px}

.top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.top nav{flex-basis:100%}.brand{display:flex;align-items:center;gap:8px}.brand img{width:30px;height:30px;border-radius:8px}
#theme{margin-left:auto;padding:6px 10px;font-size:16px;background:var(--card);border:1px solid var(--line)}
.hero{border-radius:18px;padding:22px 18px;margin-top:10px;background:var(--hero) center/cover no-repeat;border:1px solid var(--line);min-height:220px}
.hero h1{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-size:clamp(40px,9vw,64px);line-height:.95;text-transform:uppercase;margin:8px 0 10px;font-weight:400}
.hero .lead{font-size:17px;max-width:560px;color:var(--soft)}.tag{font-family:ui-monospace,Consolas,monospace;font-size:11px;letter-spacing:.15em;color:var(--mut);text-transform:uppercase}
.sigc{color:var(--a)}.big{font-family:Anton,Impact,sans-serif;font-size:30px;font-weight:400;display:block}
.meter{display:flex;gap:6px;margin-top:8px}.meter div{flex:1;padding:8px 4px;text-align:center;border-radius:8px;font-size:12px;background:var(--bg);border:1px solid var(--line)}.meter div.on{border-color:var(--a);color:var(--a);font-weight:700}
.zbar{position:relative;height:26px;border-radius:13px;background:linear-gradient(90deg,var(--r) 0,var(--r) 8%,var(--y) 8%,var(--y) 25%,var(--g) 25%,var(--g) 75%,var(--y) 75%,var(--y) 92%,var(--r) 92%);opacity:.85;margin:8px 0 18px}
.zbar i{position:absolute;top:-5px;width:4px;height:36px;background:var(--tx);border-radius:2px}.zbar span{position:absolute;top:28px;font-size:11px;color:var(--mut);transform:translateX(-50%)}
.toggles{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.toggles button{font-size:13px;padding:6px 10px;background:var(--bg);border:1px solid var(--line);color:var(--mut)}.toggles button.on{border-color:var(--a);color:var(--a)}
details.deep{background:var(--card);border:1px dashed var(--a);border-radius:14px;padding:10px 14px;margin:12px 0}details.deep summary{cursor:pointer;font-weight:700;color:var(--a)}
.katex{font-size:1.05em}.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}
.mapcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0}.mapcard img{width:100%;border-radius:10px;margin-top:8px;background:#0b0f14}.mapcard .d{white-space:pre-wrap;font-size:14.5px}.mapcard .d small{color:var(--mut);font-size:12.5px}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--line)}.pill.calm{color:var(--g)}.pill.normal{color:var(--a)}.pill.stressed{color:var(--r)}.pill.elevated{color:var(--y)}
svg text{font-family:system-ui,sans-serif}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:10px}.grid2>.card,.grid2>a{margin:0}
.btns{display:flex;gap:8px;margin-top:8px}button.ok{background:#1f6f3a!important;color:#fff}button.no{background:#7a2530!important;color:#fff}
.seg{flex-wrap:wrap}select{background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:8px;font-size:15px}
.mapcard small{display:block;color:var(--mut)}code{background:var(--bg);padding:0 4px;border-radius:4px}
.ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.ctl input[type=date]{background:var(--bg);color:var(--tx);border:1px solid var(--line);border-radius:10px;padding:7px}
details.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-top:10px}details.panel summary{cursor:pointer;font-weight:700}
.chip button{background:none;border:0;color:var(--mut);padding:0 0 0 6px;font-size:13px}
