:root{--bg:#f6f7f9;--surface:#fff;--text:#16181d;--muted:#667085;--line:#e4e7ec;--brand:#4f46e5;--brand-soft:#eef2ff;--green:#067647;--green-bg:#ecfdf3;--amber:#b54708;--amber-bg:#fffaeb;--red:#b42318;--red-bg:#fef3f2;--blue:#175cd3;--blue-bg:#eff8ff;--violet:#6941c6;--violet-bg:#f4f3ff;--grey:#475467;--grey-bg:#f2f4f7;--radius:12px;--shadow:0 1px 2px #1018280d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--surface:#171a21;--text:#eef0f4;--muted:#98a2b3;--line:#2a2f3a;--brand:#8b85ff;--brand-soft:#23214a;--green:#47cd89;--green-bg:#0b2a1c;--amber:#fdb022;--amber-bg:#2e2208;--red:#f97066;--red-bg:#2f1210;--blue:#53b1fd;--blue-bg:#0b2240;--violet:#b692f6;--violet-bg:#251a43;--grey:#cbd5e1;--grey-bg:#222733;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand);text-decoration:none}h1{letter-spacing:-.01em;margin:0;font-size:24px}h2{margin:0;font-size:16px}h3{margin:16px 0 6px;font-size:14px}p{margin:4px 0}pre{white-space:pre-wrap;font:inherit;margin:0}.muted{color:var(--muted)}.small{font-size:13px}.pad{padding:16px 0}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{gap:12px;display:grid}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.shell{grid-template-columns:232px minmax(0,1fr);align-items:start;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;align-self:start;gap:16px;height:100vh;min-height:0;max-height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:var(--text);padding:0 10px;font-size:18px;font-weight:700}.sidebar nav{flex:none;gap:2px;display:grid}.sidebar nav a{color:var(--grey);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex}.sidebar nav a:hover{background:var(--grey-bg)}.sidebar nav a.active{background:var(--brand-soft);color:var(--brand)}.sidebar nav a span{text-align:center;width:18px}.sidebar-foot{overflow-wrap:anywhere;gap:8px;margin-top:auto;padding:0 10px;display:grid}.main{width:100%;max-width:1180px;padding:28px 32px 64px}.page-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.page-head>div:first-of-type{flex:1}.menu-btn{display:none}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{z-index:30;-webkit-overflow-scrolling:touch;width:240px;height:100dvh;max-height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:0 0 0 100vmax #0000004d}.main{padding:16px 16px 64px}.menu-btn{display:inline-flex}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:14px 16px;display:grid}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-variant-numeric:tabular-nums;font-size:24px}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:32px 16px}.alert{border-radius:10px;margin-bottom:12px;padding:10px 14px}.alert.error{background:var(--red-bg);color:var(--red)}.alert.info{background:var(--blue-bg);color:var(--blue)}.alert.warn{background:var(--amber-bg);color:var(--amber)}.alert.ok{background:var(--green-bg);color:var(--green)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--grey-bg)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--red)}.btn.ghost{background:0 0;border-color:#0000}.btn.link{color:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.btn.small{padding:4px 10px;font-size:13px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical;min-height:120px}input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.field{gap:4px;font-size:13px;font-weight:500;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs button.active{color:var(--brand);border-color:var(--brand);font-weight:600}.badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.green{color:var(--green);background:var(--green-bg)}.badge.amber{color:var(--amber);background:var(--amber-bg)}.badge.red{color:var(--red);background:var(--red-bg)}.badge.blue{color:var(--blue);background:var(--blue-bg)}.badge.violet{color:var(--violet);background:var(--violet-bg)}.badge.grey{color:var(--grey);background:var(--grey-bg)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--grey-bg)}.score{font-variant-numeric:tabular-nums;font-weight:600}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.message{border:1px solid var(--line);border-radius:10px;gap:8px;padding:12px;display:grid}.message pre{background:var(--bg);border-radius:8px;padding:10px;font-size:14px}.steps{flex-wrap:wrap;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.steps li{background:var(--grey-bg);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px}.steps li.done{background:var(--green-bg);color:var(--green)}.steps li.done:before{content:"✓ "}.progress{background:var(--grey-bg);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--green);height:100%;display:block}.drawer-backdrop{z-index:40;background:#10182859;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);flex-direction:column;width:min(640px,100%);height:100%;display:flex;box-shadow:-8px 0 24px #0000001f}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-body{align-content:start;gap:16px;padding:16px 20px 40px;display:grid;overflow-y:auto}.toast{z-index:50;color:#fff;background:#12b76a;border-radius:10px;max-width:420px;padding:10px 16px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0000002e}.toast.error{background:#d92d20}.public{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.public-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:16px;width:min(560px,100%);padding:28px;display:grid;box-shadow:0 12px 32px #10182814}.landing{max-width:1120px;margin:0 auto;padding:0 16px 48px}.landing-nav{justify-content:space-between;align-items:center;padding:20px 0;display:flex}.landing-nav .row a:not(.btn){color:var(--text)}.hero{text-align:center;padding:56px 0 40px}.hero h1{letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(34px,6vw,56px);line-height:1.08}.hero>p{color:var(--muted);max-width:720px;margin:0 auto 24px;font-size:18px}.btn.big{padding:12px 20px;font-size:16px}.badges{flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 0;padding:0;list-style:none;display:flex}.badges li{background:var(--surface);border:1px solid var(--line);color:var(--grey);border-radius:999px;padding:6px 14px;font-size:13px}.landing-section{padding:36px 0}.landing-section>h2{text-align:center;margin-bottom:20px;font-size:26px}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.landing-grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.landing-grid h3{margin-top:0}.how{gap:10px;max-width:640px;margin:0 auto;padding:0;list-style:none;display:grid}.how li{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.how span{background:var(--brand-soft);width:28px;height:28px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}details summary{cursor:pointer}.landing-cta{text-align:center;background:var(--brand-soft);border-radius:16px;margin-top:24px;padding:40px 16px}.landing-footer{text-align:center;padding:24px 0 0}.slots{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.slots .btn{justify-content:center}.slots .btn.selected{background:var(--brand);border-color:var(--brand);color:#fff}.grid-stats .spread{flex-wrap:nowrap}.grid-stats .spread>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat{flex-direction:column;gap:8px;max-height:420px;padding:4px;display:flex;overflow-y:auto}.bubble{background:var(--panel,#f4f5f7);border:1px solid var(--line);border-radius:12px;align-self:flex-start;max-width:85%;padding:8px 12px}.bubble.mine{background:var(--accent-soft,#eef2ff);align-self:flex-end}@media (max-width:640px){.landing-nav .row a:not(.btn){display:none}}
