:root{color-scheme:light;--tt-bg:#f5f7fa;--tt-surface:#fff;--tt-soft:#e9eff7;--tt-ink:#202b38;--tt-muted:#4e5f73;--tt-line:#bdcbdc;--tt-blue:#2457a7;--tt-on-blue:#fff;--tt-good:#146c4b;--tt-danger:#ab302b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
:root[data-theme=dark]{color-scheme:dark;--tt-bg:#111923;--tt-surface:#1a2739;--tt-soft:#25364c;--tt-ink:#edf3fc;--tt-muted:#bac9dc;--tt-line:#60758e;--tt-blue:#a9cbfa;--tt-on-blue:#132b4a;--tt-good:#84dcb4;--tt-danger:#ffb2ab}
*{box-sizing:border-box}body{margin:0;background:var(--tt-bg);color:var(--tt-ink);line-height:1.65}a{color:var(--tt-blue);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,input,select,textarea{border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-ink)}button,select,input:not([type=checkbox]):not([type=radio]){min-height:44px;padding:.5rem .85rem}input[type=checkbox],input[type=radio]{width:21px;height:21px;accent-color:var(--tt-blue);flex-shrink:0}textarea{width:100%;padding:.8rem;resize:vertical}button:hover:not(:disabled){background:var(--tt-soft)}:focus-visible{outline:3px solid var(--tt-blue);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:2.6rem;line-height:1.2;letter-spacing:-.025em}h2{font-size:1.3rem}h3{font-size:1.05rem}.tt-header{max-width:1240px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--tt-line)}.tt-brand{font-weight:800;color:var(--tt-ink);text-decoration:none;white-space:nowrap}.tt-header nav,.tt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.tt-header nav a{font-size:.9rem;display:inline-flex;align-items:center;min-height:44px}.tt-main{max-width:1160px;margin:auto;padding:52px 24px 72px}.tt-intro{max-width:760px;margin-bottom:36px}.tt-intro p{color:var(--tt-muted);margin-top:16px}.tt-eyebrow{color:var(--tt-blue);font-weight:650;margin-bottom:12px}.tt-panel{background:var(--tt-surface);padding:24px;border-radius:12px}.tt-muted{color:var(--tt-muted)}.tt-note{font-size:.9rem;color:var(--tt-muted);margin-top:12px}.tt-status{min-height:1.65em;color:var(--tt-muted)}.tt-status[data-error=true]{color:var(--tt-danger)}.tt-primary{background:var(--tt-blue);color:var(--tt-on-blue);border-color:var(--tt-blue)}.tt-primary:hover:not(:disabled){background:var(--tt-blue);filter:brightness(.92)}.tt-linkbutton{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--tt-blue)}.tt-skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);padding:12px;background:var(--tt-surface);z-index:var(--z-overlay)}.tt-skip:focus{transform:none}.tt-footer{max-width:1160px;padding:24px;margin:auto;border-top:1px solid var(--tt-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--tt-muted);font-size:.9rem}[hidden]{display:none!important}.tt-label{display:grid;gap:8px;min-width:0}.tt-field{display:grid;gap:14px}.tt-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.tt-empty{padding:32px 0;color:var(--tt-muted)}.tt-dialog{max-width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--tt-line);border-radius:12px;background:var(--tt-surface);color:var(--tt-ink);padding:24px}.tt-dialog::backdrop{background:#08152599}.tt-dialog h2{margin-bottom:16px}.tt-dialog .tt-actions{margin-top:20px}.tt-dialog input{width:100%}.tt-danger{color:var(--tt-danger)}.tt-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--tt-line);border-radius:999px;cursor:pointer;min-height:46px}.tt-chip:has(input:checked){background:var(--tt-soft);border-color:var(--tt-blue);color:var(--tt-blue)}
@media(max-width:700px){.tt-header{padding:16px;gap:8px;align-items:flex-start;flex-wrap:wrap}.tt-header nav{gap:4px 14px;width:100%}.tt-main{padding:30px 16px 48px}h1{font-size:2rem}.tt-panel{padding:18px}.tt-actions{gap:8px}.tt-actions button{flex-grow:1}.tt-footer{margin:0 16px;padding:20px 0}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color 160ms ease-out,color 160ms ease-out}button:active:not(:disabled){transform:translateY(1px)}}
input::placeholder,textarea::placeholder{color:var(--tt-muted);opacity:1}
@media print{.tt-header,.tt-footer,.tt-actions,.no-print{display:none!important}body{background:#fff;color:#111}.tt-main{max-width:none;padding:0}.tt-panel{padding:0}h1{font-size:24pt}a{color:#111}.tt-muted,.tt-note{color:#333}}
