:root{--bg: #f4f6f6;--surface: #ffffff;--surface-2: #eef2f2;--fg: #12201f;--muted: #5d6b6a;--line: #dde4e3;--accent: #0d7068;--accent-strong: #095751;--accent-soft: #dff1ee;--on-accent: #ffffff;--ok: #17733f;--ok-soft: #dcf2e4;--warn: #8a5a00;--warn-soft: #fbefd4;--bad: #b3261e;--bad-soft: #fbe3e0;--info: #255f9e;--info-soft: #e1ecf8;--focus: #f2b705;--shadow: 0 1px 2px rgb(16 32 31 / 6%), 0 4px 16px rgb(16 32 31 / 5%);--radius: 14px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1615;--surface: #152120;--surface-2: #1c2b2a;--fg: #e4eeec;--muted: #9db0ad;--line: #2a3b39;--accent: #3cc4b4;--accent-strong: #66d6c8;--accent-soft: #173b37;--on-accent: #06201d;--ok: #74d39a;--ok-soft: #173826;--warn: #f0c66b;--warn-soft: #3a2f13;--bad: #ff9a90;--bad-soft: #42201c;--info: #8fbdf0;--info-soft: #1b3045;--shadow: none;color-scheme:dark}}:root[data-theme=dark]{--bg: #0e1615;--surface: #152120;--surface-2: #1c2b2a;--fg: #e4eeec;--muted: #9db0ad;--line: #2a3b39;--accent: #3cc4b4;--accent-strong: #66d6c8;--accent-soft: #173b37;--on-accent: #06201d;--ok: #74d39a;--ok-soft: #173826;--warn: #f0c66b;--warn-soft: #3a2f13;--bad: #ff9a90;--bad-soft: #42201c;--info: #8fbdf0;--info-soft: #1b3045;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg)}body{font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.25;text-wrap:balance}h1{font-size:26px;font-weight:700;letter-spacing:-.015em}h2{font-size:17px;font-weight:650}h3{font-size:16px;font-weight:650}p{margin:0}a{color:var(--accent)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:14px}.nums{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--surface);z-index:20}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:760px;margin:0 auto;height:56px;display:flex;align-items:center;gap:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.brand{display:flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:-.01em}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}.brand-mark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.topnav{display:none;margin-left:auto;gap:4px}.topnav a{padding:8px 12px;border-radius:10px;color:var(--muted);text-decoration:none;font-weight:550}.topnav a.active{color:var(--fg);background:var(--surface-2)}.topbar .spacer{flex:1}.page{max-width:760px;margin:0 auto;padding-block:20px 120px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:20px}.page-head{display:flex;flex-direction:column;gap:6px}.page-head .lead{color:var(--muted);max-width:60ch}.back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 0;color:var(--muted);cursor:pointer;font-weight:550}.back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.tabbar{position:fixed;inset:auto 0 0;z-index:10;display:flex;justify-content:space-around;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:12px;font-weight:600;color:var(--muted);text-decoration:none}.tabbar a.active{color:var(--accent)}.tabbar svg,.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.fab{position:fixed;z-index:11;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:8px;padding:14px 20px;border-radius:999px;background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:650;box-shadow:0 6px 20px #0d70684d}.fab svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.topbar .new-top{display:none}@media(min-width:760px){.topnav{display:flex}.tabbar,.fab{display:none}.topbar .new-top{display:inline-flex;margin-left:8px}.page{padding-bottom:48px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px;display:flex;flex-direction:column;gap:12px}.section{display:flex;flex-direction:column;gap:10px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-head .count{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list>li+li{border-top:1px solid var(--line)}.row{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--fg);text-decoration:none}a.row:hover{background:var(--surface-2)}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-title{font-weight:620;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-sub{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.row-aside{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.row-main .badge{align-self:flex-start;margin-top:4px}.chev{width:18px;height:18px;color:var(--muted);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2}.date-tile{flex-shrink:0;width:52px;padding:6px 0;border-radius:11px;background:var(--accent-soft);color:var(--accent-strong);display:flex;flex-direction:column;align-items:center;line-height:1.1;font-variant-numeric:tabular-nums}.date-tile b{font-size:20px}.date-tile span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.code{display:inline-block;padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.05em}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.tone-ok{color:var(--ok);background:var(--ok-soft)}.tone-warn{color:var(--warn);background:var(--warn-soft)}.tone-bad{color:var(--bad);background:var(--bad-soft)}.tone-info{color:var(--info);background:var(--info-soft)}.tone-muted{color:var(--muted);background:var(--surface-2)}.pulse:before{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;font-size:15px}.notice .icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}.notice-actions{margin-top:6px}.empty{text-align:center;padding:36px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}.empty .icon{width:40px;height:40px;color:var(--accent)}.empty p{color:var(--muted);max-width:42ch}.kv{display:grid;grid-template-columns:minmax(0,1fr);margin:0}.kv>div{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:12px;padding:12px 16px}.kv>div+div{border-top:1px solid var(--line)}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:550;overflow-wrap:anywhere}@media(max-width:420px){.kv>div{grid-template-columns:minmax(0,1fr);gap:2px}}.form{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;padding:0;margin:0}.field>label,.field>legend{font-weight:600;padding:0}.hint{color:var(--muted);font-size:14px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=password],input[type=number],input:not([type]),select,textarea{width:100%;min-height:46px;padding:10px 12px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:84px}.code-input{font-size:24px;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.segmented{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:12px;background:var(--surface-2)}.segmented label{flex:1 1 auto;min-width:0;text-align:center;padding:9px 10px;border-radius:9px;cursor:pointer;font-weight:600;font-size:15px;color:var(--muted)}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label.on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.segmented label:has(input:focus-visible){outline:3px solid var(--focus)}.options{display:grid;gap:8px}.option{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}.option.on{border-color:var(--accent);background:var(--accent-soft)}.option input{margin-top:4px;accent-color:var(--accent);width:18px;height:18px}.option b{display:block}.option span{color:var(--muted);font-size:14px}.stepper{display:inline-flex;align-items:center;gap:6px}.stepper button{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-weight:700}.stepper output{min-width:1.5em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.switch{position:relative;width:48px;height:28px;flex-shrink:0}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--line);transition:background .15s;pointer-events:none}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(20px)}.switch input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:12px;border:0;cursor:pointer;font-weight:650;text-decoration:none}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:var(--surface-2);color:var(--fg)}.btn-ghost{background:none;color:var(--accent);padding-inline:8px}.btn-danger{background:var(--bad-soft);color:var(--bad)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:default}.btn-sm{min-height:36px;padding:6px 12px;border-radius:10px;font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:10px}.slots{display:grid;gap:10px}.slot{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface)}.slot.best{border-color:var(--accent)}.slot-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.slot-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.slot.best .slot-kicker{color:var(--accent)}.slot-when{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.slot-note{color:var(--muted);font-size:14px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#06141273;display:flex;align-items:flex-end;justify-content:center;padding:16px max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}@media(min-width:600px){.sheet-backdrop{align-items:center}}.sheet{width:100%;max-width:440px;background:var(--surface);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px #00000040}.sheet-msg{font-size:17px;font-weight:650}.sheet .actions{justify-content:flex-end}.toast{position:fixed;z-index:40;left:50%;transform:translate(-50%);bottom:calc(96px + env(safe-area-inset-bottom,0px));padding:10px 16px;border-radius:12px;background:var(--fg);color:var(--bg);font-weight:600;box-shadow:0 8px 24px #0003;max-width:calc(100% - 32px)}.demo-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--warn-soft);color:var(--warn);font-size:14px;font-weight:550}.demo-bar button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font-weight:650}.token-box{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-family:ui-monospace,Menlo,monospace;font-size:13px;overflow-wrap:anywhere}.token-box code{flex:1;min-width:0}details>summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"+";color:var(--muted);font-size:20px}details[open]>summary:after{content:"–"}.footer{text-align:center;color:var(--muted);font-size:13px;padding:8px 16px 0}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
