:root{--canvas:#f5f1ec;--surface-1:#ffffff;--surface-2:#ebe7e1;--hairline:#d3cec6;--hairline-soft:#ebe7e1;--ink:#111111;--ink-muted:#626260;--ink-subtle:#7b7b78;--ink-tertiary:#9c9fa5;--on-primary:#ffffff;--fin:#ff5600;--fin-soft:rgba(255,86,0,0.08);--ok:#0bdf50;--ok-ink:#067a2e;--warn:#fe4c02;--warn-ink:#9a3d00;--err:#c41c1c;--err-soft:rgba(196,28,28,0.07);--font-ui:var(--font-sans),var(--font-tc),"Saans Fallback",ui-sans-serif,system-ui,sans-serif;--font-data:var(--font-mono),"SaansMono Fallback",ui-monospace,monospace;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-xxl:48px;--pad-page:clamp(20px,4vw,48px);--ease-out:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}::selection{background:var(--ink);color:var(--on-primary)}html{color-scheme:light}body{margin:0;font-family:var(--font-ui);font-size:16px;line-height:1.5;background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-xs)}main{padding:var(--sp-xl) var(--pad-page) 96px;max-width:1280px;margin:0 auto}.auth-page{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:var(--sp-xl) 0}.card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg)}.changelog-head{padding:0 0 var(--sp-xs)}.changelog-eyebrow{font-family:var(--font-data);font-size:12px;letter-spacing:.08em;color:var(--ink-subtle);margin:0 0 6px}.changelog-head h1{font-size:28px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}.changelog-lede{font-size:14px;color:var(--ink-muted);margin:0}.release{padding:var(--sp-xl)}.release-title{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 8px}.guide{max-width:860px;margin:0 auto;padding:var(--sp-xxl) var(--pad-page) 96px;display:flex;flex-direction:column;gap:var(--sp-lg)}.guide-p{font-size:14px;line-height:1.7;color:var(--ink-muted);margin:0 0 var(--sp-xs)}.guide-note{font-size:13px;line-height:1.65;color:var(--warn-ink);background:var(--fin-soft);border-radius:var(--r-sm);padding:10px 14px;margin:var(--sp-md) 0 0}.guide-note a{color:inherit}.guide-code{margin:0 0 var(--sp-sm)}.guide-code figcaption{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);font-family:var(--font-data);font-size:11px;letter-spacing:.06em;color:var(--ink-subtle);margin-bottom:4px}.guide-code pre{background:var(--ink);color:#f2f0ec;font-family:var(--font-data);font-size:12.5px;line-height:1.7;padding:14px 16px;border-radius:var(--r-md);overflow-x:auto;margin:0}.guide-code code{background:transparent;color:inherit;padding:0}.guide-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:var(--sp-sm)}.guide-table td,.guide-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--hairline-soft);vertical-align:top;line-height:1.6}.guide-table tbody th{font-weight:500;color:var(--ink-muted);white-space:nowrap;width:120px}.guide-table thead th{font-family:var(--font-data);font-size:11px;letter-spacing:.06em;color:var(--ink-subtle);font-weight:500}.guide-table tr:last-child td,.guide-table tr:last-child th{border-bottom:0}.guide-table-tools td:first-child{white-space:nowrap}.guide-steps{margin:var(--sp-sm) 0 var(--sp-md);padding-left:1.4em;display:flex;flex-direction:column;gap:8px}.guide-steps li{font-size:14px;line-height:1.7;color:var(--ink)}.guide-steps li::marker{color:var(--ink-tertiary);font-weight:500}.copy-code-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--hairline);background:var(--surface-1);color:var(--ink-subtle);font-family:var(--font-ui);font-size:11px;font-weight:500;border-radius:var(--r-xs);padding:3px 10px;cursor:pointer;transition:color .15s,border-color .15s}.copy-code-btn:hover{color:var(--ink);border-color:var(--ink-tertiary)}.copy-code-btn[data-copied=true]{color:var(--ok-ink);border-color:var(--ok-ink)}.token-manager{scroll-margin-top:80px}.token-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-xs)}.token-kicker{margin:0 0 5px;color:var(--fin);font-family:var(--font-data);font-size:11px;font-weight:500;letter-spacing:.08em}.token-status{flex:0 0 auto;border:1px solid var(--hairline);border-radius:999px;color:var(--ink-muted);font-size:12px;line-height:1;padding:7px 10px}.token-status-active{border-color:rgba(6,122,46,.32);color:var(--ok-ink);background:rgba(11,223,80,.06)}.token-primary-action,button.token-primary-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--ink);color:var(--on-primary);cursor:pointer;font:500 14px/1 var(--font-ui);padding:0 18px}.token-primary-action:hover{background:#2a2a2a}.token-primary-action:disabled{cursor:not-allowed;opacity:.45}.token-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:var(--sp-sm);gap:var(--sp-sm);margin-top:var(--sp-lg)}.token-create-row label{display:grid;grid-gap:6px;gap:6px;color:var(--ink-muted);font-size:12px;font-weight:500}.token-create-row input,.token-secret-row input{width:100%;min-height:48px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink);font:14px/1.4 var(--font-ui);padding:10px 12px}.token-secret-row input{min-width:0;font-family:var(--font-data)}.token-limit{margin:7px 0 0;color:var(--ink-subtle);font-size:12px}.token-once{margin-top:var(--sp-lg);border:1px solid rgba(154,61,0,.35);border-radius:var(--r-md);background:var(--fin-soft);padding:var(--sp-md)}.token-once>strong{font-size:14px}.token-once>p{margin:3px 0 var(--sp-sm);color:var(--warn-ink);font-size:13px}.token-secret-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px}.token-revoke,.token-saved-action,.token-secret-row button{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink);cursor:pointer;font:500 13px/1 var(--font-ui);padding:0 13px}.token-saved-action{margin-top:var(--sp-sm)}.token-error{margin:var(--sp-md) 0 0;color:var(--err);font-size:13px}.token-list{display:grid;grid-gap:8px;gap:8px;margin-top:var(--sp-lg)}.token-empty{margin:0;border:1px dashed var(--hairline);border-radius:var(--r-md);color:var(--ink-muted);font-size:13px;padding:var(--sp-md)}.token-item{display:grid;grid-template-columns:minmax(190px,1fr) minmax(240px,auto) auto;align-items:center;grid-gap:var(--sp-md);gap:var(--sp-md);border-top:1px solid var(--hairline-soft);padding-top:var(--sp-sm)}.token-item>div:first-child{min-width:0;display:grid;grid-gap:4px;gap:4px}.token-item strong{font-size:14px;font-weight:500}.token-item code{overflow:hidden;color:var(--ink-muted);font-family:var(--font-data);font-size:12px;text-overflow:ellipsis}.token-item dl{display:flex;gap:var(--sp-lg);margin:0}.token-item dl>div{display:grid;grid-gap:2px;gap:2px}.token-item dt{color:var(--ink-subtle);font-size:10px;letter-spacing:.04em}.token-item dd{margin:0;color:var(--ink-muted);font-size:12px;white-space:nowrap}.token-revoke{color:var(--err)}.token-revoke-confirm{border-color:var(--err);background:var(--err);color:#fff}.token-revoke:disabled{cursor:not-allowed;opacity:.45}.token-setup{margin-top:var(--sp-lg);border-top:1px solid var(--hairline-soft);padding-top:var(--sp-md)}.token-setup summary{cursor:pointer;font-size:14px;font-weight:500}.token-setup[open] summary{margin-bottom:var(--sp-md)}@media (max-width:720px){.token-create-row{grid-template-columns:1fr}.token-create-row .token-primary-action{width:100%}.token-secret-row{grid-template-columns:1fr 1fr}.token-secret-row input{grid-column:1/-1}.token-item{grid-template-columns:1fr auto}.token-item dl{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:var(--sp-sm)}.token-item .token-revoke{grid-column:2;grid-row:1}}@media (max-width:480px){.token-manager-head{align-items:center}.token-status{padding-inline:8px}.token-item{grid-template-columns:minmax(0,1fr) auto}}