:root{--blue:#0078d4;--purple:#5c2d91;--light-blue:#50e6ff;--dark-blue:#203a61;--light-purple:#d59dff;--bg:#ffffff;--surface:#f2f2f2;--card:#ffffff;--text:#000000;--muted:rgba(0,0,0,0.58);--faint:rgba(0,0,0,0.08);--line:rgba(0,0,0,0.12);--link:var(--blue);--accent-2:var(--purple);--on-blue:#ffffff;--sel-bg:rgba(0,120,212,0.1);--danger:#c42b1c;--ok:#107c10;--grad:linear-gradient(135deg,var(--blue) 0%,var(--purple) 100%);--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgba(0,0,0,0.04),0 8px 24px rgba(0,0,0,0.06);--font:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--font-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;color-scheme:light}:root[data-theme=dark]{--bg:#000000;--surface:#0d0d0d;--card:#111111;--text:#ffffff;--muted:rgba(255,255,255,0.62);--faint:rgba(255,255,255,0.06);--line:rgba(255,255,255,0.14);--link:var(--light-blue);--accent-2:var(--light-purple);--sel-bg:rgba(80,230,255,0.1);--danger:#ff6b5b;--ok:#6ccb5f;--shadow:0 0 0 1px rgba(255,255,255,0.04),0 8px 24px rgba(0,0,0,0.6);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}main{flex:1 1;padding:32px 0 80px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}.header-inner{gap:16px;height:64px}.brand,.header-inner{display:flex;align-items:center}.brand img{height:40px;width:auto;display:block}.logo-dark,:root[data-theme=dark] .logo-light{display:none!important}:root[data-theme=dark] .logo-dark{display:block!important}.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav a{color:var(--muted);padding:8px 12px;border-radius:999px;font-size:14px;font-weight:500}.nav a:hover{text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:var(--faint)}.icon-btn{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--faint)}.footer{border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:13px}.footer .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer a{color:var(--muted)}.account{position:relative}.account>summary{list-style:none}.account>summary::-webkit-details-marker{display:none}.avatar{font-size:12px;font-weight:700;letter-spacing:.02em;background:var(--blue);color:var(--on-blue);border-color:transparent}.avatar:hover{background:#006cbe}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(280px,calc(100vw - 32px));padding:16px;display:grid;grid-gap:12px;gap:12px}.account-menu .btn{width:100%}.account-name{font-weight:600}.show-sm{display:none}@media (max-width:640px){.brand img{height:30px}.nav a{padding:6px 8px;font-size:13px}.hide-sm{display:none}.show-sm{display:inline}}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0}h1{font-size:clamp(32px,6vw,56px);line-height:1.05;font-weight:700}h2{font-size:24px;font-weight:650}h3{font-size:17px;font-weight:600}.lede{font-size:18px;max-width:560px;margin:16px 0 0}.eyebrow,.lede{color:var(--muted)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:13px}.strong{color:var(--text);font-weight:600}.hint{font-size:12px;color:var(--muted);margin:0}.nowrap{white-space:nowrap}.flush{margin:0}.flush-top{margin-top:0}.tight{margin:4px 0 0}.page-head h2{margin-top:6px}.page-head .muted{margin:6px 0 0}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px}.bars{display:grid;grid-gap:6px;gap:6px;width:72px;margin:20px 0 0}.bars i{display:block;height:6px;border-radius:99px;background:var(--blue)}.bars i+i{background:var(--purple);width:100%}.card{background:var(--card);border:1px solid var(--line);padding:24px;box-shadow:var(--shadow)}.card,.frame{border-radius:var(--radius)}.frame{position:relative;padding:1.5px;background:var(--grad)}.frame>.card{border:0;border-radius:calc(var(--radius) - 1.5px)}.stack{display:grid;grid-gap:16px;gap:16px}.page{gap:24px}.narrow{max-width:520px}.wide-narrow{max-width:620px}.centered{margin:40px auto 0}.scroll-x{overflow-x:auto}.align-start{align-items:start}.span-all{grid-column:1/-1}.row,.spread{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:820px){.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid-2{grid-template-columns:1fr}}.hero-stack{gap:48px}.hero{padding-top:24px}.hero h1{margin-top:12px}.hero-cta{margin-top:24px}.tile-body{margin:0}.auth-shell{max-width:440px;margin:24px auto 0}.auth-card{padding:28px}.auth-shell .bars{margin:20px auto 0}.btn-block{width:100%}.id-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);min-width:0}.id-strip .small{overflow-wrap:anywhere}.tile{display:flex;flex-direction:column;gap:8px;color:var(--text);min-height:168px;transition:transform .15s ease,border-color .15s ease}.tile:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--blue)}.tile .arrow{margin-top:auto;color:var(--link);font-weight:600;font-size:14px}.tile-num{font-family:var(--font-display);font-size:13px;color:var(--muted)}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:13px;font-weight:600}.field .hint{font-size:12px;color:var(--muted)}.input,.select{width:100%;height:44px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input:focus,.select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,120,212,.18)}.input[aria-invalid=true]{border-color:var(--danger)}.input[readonly]{background:var(--surface);color:var(--muted)}.input[readonly]:focus{border-color:var(--line);box-shadow:none}.input-reg{max-width:280px}.btn{height:44px;padding:0 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:opacity .12s ease,background .12s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--blue);color:var(--on-blue)}.btn-primary:hover:not(:disabled){background:#006cbe;text-decoration:none}.btn-ghost{background:transparent;border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:var(--faint);text-decoration:none}.btn-danger{background:transparent;color:var(--danger);border-color:var(--line);height:34px;padding:0 14px;font-size:13px}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent)}.btn-sm{height:34px;padding:0 14px;font-size:13px}a.btn{color:inherit}a.btn-primary{color:var(--on-blue)}.alert{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;border:1px solid}.alert-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 7%,transparent)}.alert-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 7%,transparent)}.alert-info{color:var(--text);border-color:var(--line);background:var(--surface)}.steps{display:flex;gap:8px;margin:0 0 24px;padding:0;list-style:none;flex-wrap:wrap}.steps li{font-size:13px;color:var(--muted);padding:6px 12px;border-radius:999px;border:1px solid var(--line)}.steps li[data-state=current]{color:var(--text);border-color:var(--blue);background:var(--sel-bg);font-weight:600}.steps li[data-state=done]{color:var(--text)}.choice{text-align:left;cursor:pointer;display:grid;grid-gap:6px;gap:6px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .12s ease,background .12s ease}.choice:hover{border-color:var(--blue)}.choice[aria-pressed=true]{border-color:var(--blue);background:var(--sel-bg);box-shadow:inset 0 0 0 1px var(--blue)}.choice .tag{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em}.slot-table{width:100%;border-collapse:separate;border-spacing:6px;table-layout:fixed}.slot-table th{font-size:12px;font-weight:600;color:var(--muted);text-align:center;padding:4px 0}.slot-table th.time{text-align:right;padding-right:8px;width:108px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot{width:100%;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:12px;color:var(--muted);padding:6px 8px;display:grid;place-items:center;transition:background .1s ease,border-color .1s ease,color .1s ease;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slot:hover:not(:disabled){border-color:var(--blue);color:var(--text)}.slot[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.slot[data-state=mine]{background:var(--faint);border-style:dashed;color:var(--text);cursor:default}.slot[data-state=full]{opacity:.4;cursor:not-allowed;text-decoration:line-through}.slot-list{display:none}@media (max-width:720px){.slot-table{display:none}.slot-list{display:grid;grid-gap:8px;gap:8px}.slot-list .slot{display:flex;justify-content:space-between;min-height:52px;padding:0 14px;font-size:14px}}.day-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.day-tabs button{flex:1 1;min-width:56px;height:38px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:14px;white-space:nowrap}.day-tabs button[aria-selected=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.day-tabs .dot{display:inline-block;width:6px;height:6px;border-radius:99px;background:var(--blue);margin-left:6px;vertical-align:middle}.sticky-bar{position:-webkit-sticky;position:sticky;bottom:16px;margin-top:24px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 12px 12px 20px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}@media (max-width:560px){.sticky-bar{border-radius:var(--radius);padding:12px}.sticky-bar>.row{width:100%;flex-wrap:nowrap}.sticky-bar .btn-primary{flex:1 1}}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:var(--surface);white-space:nowrap}.chip-blue{border-color:color-mix(in srgb,var(--blue) 40%,transparent);background:color-mix(in srgb,var(--blue) 10%,transparent)}.chip-purple{border-color:color-mix(in srgb,var(--accent-2) 45%,transparent);background:color-mix(in srgb,var(--accent-2) 12%,transparent)}.list{display:grid}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.list-item:first-child{border-top:0}.list-spaced{margin-top:8px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface);white-space:nowrap}.table td,.table th{padding:12px 14px;border-bottom:1px solid var(--line)}.table td{vertical-align:top}.table tr:last-child td{border-bottom:0}.empty{padding:32px;text-align:center;color:var(--muted)}.card.stat{padding:18px}.section-head{margin-bottom:12px}.count-line{margin:0 0 8px}.stat .num{font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.stat .lbl{font-size:13px;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:24px 0;overflow-x:auto}.tabs a{padding:10px 14px;color:var(--muted);font-weight:500;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--blue)}.matrix{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed;min-width:720px}.matrix th{font-size:12px;color:var(--muted);font-weight:600;padding:4px}.matrix th.time{text-align:right;width:96px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.matrix td{border-radius:8px;padding:8px;vertical-align:top;font-size:12px;min-height:48px;border:1px solid var(--line)}.matrix td .n{font-weight:700;font-size:15px;font-family:var(--font-display)}.matrix td .names{color:var(--muted);margin-top:2px;line-height:1.35;word-break:break-word}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.filters .input,.filters .select{height:38px;width:auto;min-width:140px;font-size:14px}.btn-filter{height:38px}.success-mark{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:var(--grad);color:#fff}.spinner{width:16px;height:16px;border:2px solid;border-right:2px solid transparent;border-radius:99px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.slot-time{color:var(--text);font-weight:500}.slot[aria-pressed=true] .slot-time{color:#fff}