:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-border:#dfe3e8;--color-text:#1c2430;--color-muted:#5c6b7a;--color-accent:#0b5cab;--color-accent-dark:#084a8c;--color-info-bg:#eaf3fb;--color-warning-bg:#fdf3e3;--color-warning-border:#e0a740;--radius:10px;--shadow:0 1px 2px #1018280f, 0 4px 12px #1018280a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px clamp(16px,4vw,40px);display:flex}.app-header__brand{align-items:center;gap:12px;font-size:15px;display:flex}.app-header__mark{color:#fff;background:var(--color-accent);border-radius:8px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.app-header__subtitle{color:var(--color-muted);font-size:13px;display:block}.app-header__user{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-header__username{font-weight:600}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:clamp(16px,4vw,32px)}.app-footer{color:var(--color-muted);border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px clamp(16px,4vw,40px);font-size:13px;display:flex}.stack{flex-direction:column;gap:20px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3vw,28px)}.card--centered{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.card--login{max-width:520px;margin:clamp(24px,8vh,80px) auto}h1{margin:0 0 12px;font-size:clamp(20px,3vw,26px)}h2{margin:0 0 12px;font-size:17px}p{margin:0 0 12px}.muted{color:var(--color-muted)}.small{font-size:13px}code{background:#eef1f4;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.selectable{-webkit-user-select:all;user-select:all}.button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}.button--primary{color:#fff;background:var(--color-accent)}.button--primary:hover,.button--primary:focus-visible{background:var(--color-accent-dark)}.button--ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}.button--ghost:hover,.button--ghost:focus-visible{background:#eef1f4}.badge{color:var(--color-accent-dark);background:var(--color-info-bg);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:16px 0 0;display:grid}.detail-grid dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.detail-grid dd{margin:4px 0 0}.chip-list,.nav-placeholder,.roadmap{margin:0;padding:0;list-style:none}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--color-border);background:#eef1f4;border-radius:6px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.roadmap li{border-bottom:1px solid var(--color-border);align-items:baseline;gap:10px;padding:8px 0;display:flex}.roadmap li:last-child{border-bottom:none}.roadmap__state{color:var(--color-muted);text-transform:uppercase;background:#eef1f4;border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.nav-placeholder{flex-wrap:wrap;gap:8px;display:flex}.nav-placeholder li{color:var(--color-muted);border:1px dashed var(--color-border);background:#f7f8fa;border-radius:8px;padding:8px 14px}.notice{border-radius:8px;padding:12px 14px}.notice--info{background:var(--color-info-bg);border-left:3px solid var(--color-accent)}.notice--warning{background:var(--color-warning-bg);border-left:3px solid var(--color-warning-border)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}@media (max-width:600px){.app-header{align-items:flex-start}.app-header__user{justify-content:space-between;width:100%}}
