:root{--bg:#070b1a;--bg2:#0d1330;--surface:#111a3b;--surface2:#18234f;--line:#27315f;--text:#eef1ff;--muted:#a3acd6;--brand:#ff6b2c;--brand2:#ffb347;--ok:#2fd08c;--warn:#ffc24b;--bad:#ff6178;--info:#5ba8ff;--r:16px;--hero-bg:linear-gradient(135deg,#1b2a7a,#0d1330 60%);--hero-text:#d5dbff;--hero-bq-bg:rgba(0,0,0,.25);--msg-text:#cdd3f5;--frame-bg:rgba(0,0,0,.2);--toast-ok:#0f5a45;--toast-bad:#5e1a2b;--head:"Space Grotesk",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif}html[data-theme=light]{--bg:#f5f7fa;--bg2:#e4e9f2;--surface:#ffffff;--surface2:#d1d9e6;--line:#b8c1d9;--text:#070b1a;--muted:#5a638c;--brand:#ff6b2c;--brand2:#ffb347;--ok:#1a8a5f;--warn:#d9a530;--bad:#d93d55;--info:#2b6bb8;--hero-bg:linear-gradient(135deg,#dce3ff,#ffffff 60%);--hero-text:#1a2670;--hero-bq-bg:rgba(0,0,0,.05);--msg-text:#070b1a;--frame-bg:rgba(0,0,0,.05);--toast-ok:#2fd08c;--toast-bad:#ff6178}*{box-sizing:border-box}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#1a2670 0%,transparent 60%),var(--bg);color:var(--text);font:15px/1.5 var(--body);min-height:100vh;padding-bottom:70px}html[data-theme=light] body{background:radial-gradient(1200px 600px at 80% -10%,#dce3ff 0%,transparent 60%),var(--bg)}h1,h2,h3,h4{font-family:var(--head);margin:0}p{margin:.4em 0}a{color:var(--brand2)}small{color:var(--muted)}.top{position:sticky;top:0;z-index:20;background:#070b1ae0;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}html[data-theme=light] .top{background:#ffffffe0}.bar{max-width:1120px;margin:auto;padding:10px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.bar.sub{padding-top:0;gap:4px}.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--text)}.logo span{font:700 24px var(--head);letter-spacing:.08em;background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}.logo em{font-style:normal;color:var(--muted);font-size:13px}.roles{display:flex;gap:4px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:3px}.roles a,.sub a{padding:6px 14px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:500;font-size:14px;white-space:nowrap}.roles a.on{background:var(--brand);color:#fff}.sub a{border-radius:8px;padding:8px 12px}.sub a.on{color:var(--text);box-shadow:inset 0 -2px var(--brand)}.who{margin-left:auto}.dot{background:var(--brand);color:#fff;border-radius:99px;font-size:11px;padding:1px 6px;margin-left:6px}select,input,textarea{background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;width:100%}select{width:auto;max-width:100%}textarea{resize:vertical}:focus-visible{outline:2px solid var(--brand2);outline-offset:2px}.wrap{max-width:1120px;margin:auto;padding:20px 16px}.stack{display:grid;gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid2.top{align-items:start}.card{background:linear-gradient(180deg,var(--surface),var(--bg2));border:1px solid var(--line);border-radius:var(--r);padding:18px}.card>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.card h3{font-size:17px}.hero{position:relative;overflow:hidden;border-radius:22px;padding:28px;border:1px solid var(--line);background:var(--hero-bg)}.hero.ok{background:linear-gradient(135deg,var(--ok),var(--bg2) 65%)}.hero.bad{background:linear-gradient(135deg,var(--bad),var(--bg2) 65%)}.hero.warn{background:linear-gradient(135deg,var(--warn),var(--bg2) 65%)}.hero.accent{background:linear-gradient(135deg,var(--brand),var(--bg2) 65%)}.hero h1{font-size:clamp(26px,4vw,38px);margin:12px 0 6px}.hero p{color:var(--hero-text);max-width:60ch}.plane{position:absolute;right:26px;top:14px;font-size:64px;opacity:.12;transform:rotate(-20deg)}.hero blockquote{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--brand2);background:var(--hero-bq-bg);border-radius:8px}.hero blockquote b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand2)}.cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.btn{border:0;border-radius:12px;padding:11px 18px;font:600 14px var(--body);cursor:pointer;color:#fff;background:var(--brand);transition:.15s}.btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.danger{background:transparent;border:1px solid var(--bad);color:var(--bad)}.btn.sm{padding:6px 12px;font-size:13px;border-radius:9px}.chip{display:inline-flex;align-items:center;gap:4px;border-radius:99px;padding:3px 11px;font-size:12px;font-weight:600;border:1px solid var(--line);background:#ffffff0a;color:var(--muted)}html[data-theme=light] .chip{background:#0000000a}.chip.ok{color:var(--ok);border-color:#1c7a57;background:#2fd08c1a}.chip.bad{color:var(--bad);border-color:#8a2c3c;background:#ff61781a}.chip.warn{color:var(--warn);border-color:#8a6a1f;background:#ffc24b1a}.chip.info{color:var(--info);border-color:#2b5b92;background:#5ba8ff1a}.chip.accent{color:var(--brand2);border-color:#9a4a1f;background:#ff6b2c1f}.steps{display:flex;list-style:none;padding:0;margin:20px 0 0;gap:6px}.steps li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);position:relative}.steps li:not(:last-child):after{content:"";position:absolute;left:34px;right:-6px;top:15px;height:2px;background:var(--line)}.steps i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;background:var(--bg2);border:2px solid var(--line);z-index:1}.steps li.done i{background:var(--ok);border-color:var(--ok);color:#04301f}.steps li.done:after{background:var(--ok)}.steps li.current i{border-color:var(--brand);color:var(--brand2)}.steps li.current span{color:var(--text)}.steps li.failed i{background:var(--bad);border-color:var(--bad)}.steps li.paused i{border-color:var(--warn);color:var(--warn)}.miles{display:flex;gap:30px}.miles b{display:block;font:700 34px var(--head)}.miles b.pend{color:var(--brand2)}.tier{margin-top:12px}.hint{color:var(--muted);font-size:13px}.skills{list-style:none;margin:0;padding:0;display:grid;gap:8px}.skills li{display:flex;gap:10px;align-items:center;color:var(--muted)}.skills li.ok{color:var(--text)}.skills i{font-style:normal;color:var(--muted)}.skills li.ok i{color:var(--ok)}.skills em{margin-left:auto;font-style:normal;font-size:12px;color:var(--muted)}.msg{padding:10px 0;border-top:1px solid var(--line)}.msg:first-of-type{border:0}.msg p{color:var(--msg-text);font-size:14px}.msg.unread b:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-right:8px}.empty{color:var(--muted);padding:8px 0}.recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:6px}.rec{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;padding:14px;border-radius:14px;border:1px solid #9a4a1f;background:#ff6b2c14}.rec:hover{background:#ff6b2c29}.rec b{font:700 16px var(--head)}.rec span{font:700 22px var(--head);color:var(--brand2)}.rec em{font-style:normal;font-size:12px;color:var(--muted);margin-top:4px}.sub.sub,.sub{margin:0}h4.sub{margin:18px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0}.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.days button{all:unset;cursor:pointer;white-space:nowrap;padding:8px 14px;border-radius:10px;border:1px solid var(--line);color:var(--muted)}.days .on{background:var(--brand);color:#fff;border-color:var(--brand)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:10px}.slots button{all:unset;cursor:pointer;display:grid;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--bg2)}.slots button:hover{border-color:var(--brand)}.slots b{font-family:var(--head)}.pass{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;padding:16px;border-radius:14px;background:var(--bg2);border:1px dashed var(--line);margin-bottom:14px}.pass small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.pass b{font:600 16px var(--head)}.dim{color:var(--muted)!important}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hist{padding:12px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:4px 12px}.hist small{display:block}.hist p{grid-column:1/-1;color:var(--msg-text);margin:0;font-size:14px}.badge{display:flex;gap:18px;align-items:center}.medal{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:36px;background:var(--bg2);border:2px solid var(--line)}.badge.earned .medal{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:var(--brand2);box-shadow:0 0 40px #ff6b2c73}.badge.nullified .medal{background:#ff617826;border-color:var(--bad);color:var(--bad)}.badge.ready .medal{border-color:var(--brand)}.badge h2{font-size:24px}.form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:end}.field{display:grid;gap:6px;margin:10px 0}.form .field{margin:0}.field span{font-size:12px;color:var(--muted)}.dayrow{margin-bottom:14px}.dayrow h4{margin-bottom:8px;font-size:14px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap}.slotchip{border-radius:9px;border:1px solid var(--line);background:var(--bg2);color:var(--text);padding:7px 12px;font:500 13px var(--body);cursor:pointer}.slotchip.open{border-color:#1c7a57}.slotchip.booked{background:#5ba8ff24;border-color:#2b5b92}.slotchip.closed{opacity:.4;cursor:not-allowed}.sess{display:grid;grid-template-columns:90px 1fr auto;gap:14px;padding:14px 0;border-top:1px solid var(--line);align-items:center}.sess:first-of-type{border:0}.sess .time b{font:700 17px var(--head);display:block}.sess .person small{display:block}.sess .person p{margin:4px 0 0;color:var(--msg-text);font-size:13px}.sess .act{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.stats b{display:block;font:700 32px var(--head)}.trow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.trow:first-of-type{border:0}.trow small{display:block}.trow .r{text-align:right;display:grid;justify-items:end;gap:2px}.trow.slim{grid-template-columns:1fr auto}.exc{margin-top:10px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{border:1px solid var(--line);background:var(--bg2);color:var(--muted);padding:8px 14px;border-radius:10px;cursor:pointer;font:600 13px var(--body)}.seg button.on{color:#fff;background:var(--brand);border-color:var(--brand)}.seg button.on.pass{background:var(--ok)}.seg button.on.fail{background:var(--bad)}.seg button.on.retake{background:var(--warn)}.seg button:disabled{opacity:.4;cursor:not-allowed}.scrim{position:fixed;inset:0;background:#030612b3;display:grid;place-items:center;z-index:50;padding:16px}html[data-theme=light] .scrim{background:#ffffffb3}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal footer{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.x{all:unset;cursor:pointer;font-size:24px;color:var(--muted);padding:0 8px}.toast{position:fixed;left:50%;bottom:74px;transform:translate(-50%);padding:12px 20px;border-radius:12px;font-weight:600;z-index:60;background:var(--toast-ok);border:1px solid var(--ok);box-shadow:0 10px 40px #00000080}.toast.bad{background:var(--toast-bad);border-color:var(--bad)}.demo{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#070b1af2;border-top:1px solid var(--line);padding:10px 16px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}.demo b{color:var(--text)}html[data-theme=light] .demo{background:#f5f7faf2}.pair{margin-top:6px}.pair>h3{margin:6px 0 10px}.frame{margin-top:8px;border:1px solid var(--line);border-radius:18px;padding:12px;background:var(--frame-bg);pointer-events:none}.frame .hero{padding:20px}.frame .grid2{grid-template-columns:1fr}.frame .steps span{font-size:11px}@media(max-width:760px){.grid2,.stats,.form{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.sess{grid-template-columns:70px 1fr}.sess .act{grid-column:1/-1;justify-content:flex-start}.who{margin-left:0;width:100%}select{width:100%}.trow{grid-template-columns:1fr auto}.trow .r{display:none}.steps span{font-size:10px}.badge{flex-direction:column;align-items:flex-start}.roles{overflow-x:auto;max-width:100%}}
