:root{--bg: #f3ede3;--bg-2: #e8dfd0;--paper: #fffbf4;--ink: #1a1612;--muted: #6a6156;--line: #e0d5c5;--d: #c44536;--i: #c49212;--s: #2f7d4a;--c: #2c5f9e;--least: #e67a2e;--shadow: 0 18px 50px rgba(40, 28, 16, .08);--radius: 18px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,rgba(196,69,54,.08),transparent 50%),radial-gradient(900px 420px at 110% 0%,rgba(44,95,158,.08),transparent 45%),var(--bg);font-family:Noto Sans SC,PingFang SC,Hiragino Sans GB,sans-serif;line-height:1.55}button,a{font-family:inherit}h1,h2,h3,.serif{font-family:"Noto Serif SC",Songti SC,serif;font-weight:700;letter-spacing:.02em}.shell{width:min(920px,calc(100% - 32px));margin:0 auto;padding:28px 0 80px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-logo{width:42px;height:42px;display:block;object-fit:contain;border-radius:50%;background:transparent}.brand-name{font-size:15px;font-weight:700}.brand-sub{font-size:12px;color:var(--muted)}.nav-auth{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav-auth a{color:inherit;text-decoration:none;font-size:13px}.nav-auth .nav-btn{padding:8px 14px;font-size:13px}.ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer;text-decoration:none}.hero{padding:8px 0 28px}.kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.hero h1{font-size:clamp(32px,6vw,52px);line-height:1.15;margin:0 0 14px}.lede{max-width:38em;color:var(--muted);font-size:16px;margin:0}.grid{display:grid;gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.test-card{display:grid;grid-template-columns:92px 1fr;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease}.test-card:hover{transform:translateY(-2px)}.test-card.soon{opacity:.55;pointer-events:none}.swatch{display:flex;flex-direction:column;justify-content:space-between;padding:14px;color:#fff;font-family:"Noto Serif SC",serif}.swatch b{font-size:28px;line-height:1}.swatch small{font-size:11px;letter-spacing:.08em}.test-body{padding:18px 20px 16px}.test-body h2{margin:0 0 6px;font-size:22px}.test-body p{margin:0 0 12px;color:var(--muted);font-size:14px}.meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.pill{border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:#fff}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--ink);color:#fff;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.intro-card,.quiz-card,.result-card{padding:28px 24px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 28px}.facts div{background:#f7f1e8;border-radius:14px;padding:14px}.facts b{display:block;font-size:20px}.facts span{color:var(--muted);font-size:12px}.progress{height:6px;background:var(--bg-2);border-radius:99px;overflow:hidden;margin:8px 0 18px}.progress>i{display:block;height:100%;background:var(--ink);border-radius:inherit}.q-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.q-head h2{margin:0;font-size:22px}.hint{color:var(--muted);font-size:13px;margin:6px 0 18px}.options{display:grid;gap:10px}.option{display:grid;grid-template-columns:86px 1fr 86px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:16px;padding:8px;background:#fff}.option .label{text-align:center;font-size:18px;font-weight:700;padding:8px 4px}.choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#f7f1e8;border-radius:12px;padding:10px 6px;font-size:12px;cursor:pointer;color:var(--muted)}.choice.on-most{background:var(--ink);color:#fff;border-color:var(--ink)}.choice.on-least{background:var(--least);color:#fff;border-color:var(--least)}.nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.result-hero{text-align:center;padding-bottom:8px}.result-hero .code{font-size:64px;line-height:1;margin:8px 0 4px}.result-hero p{color:var(--muted);margin:8px auto 0;max-width:40em}.bars{display:grid;gap:14px;margin:28px 0}.bar-row{display:grid;grid-template-columns:48px 1fr 48px;gap:10px;align-items:center}.bar-row .letter{font-family:"Noto Serif SC",serif;font-size:22px;font-weight:700}.track{height:14px;background:#efe7dc;border-radius:99px;overflow:hidden}.track i{display:block;height:100%;border-radius:inherit}.score{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.section h3{margin:28px 0 10px;font-size:18px}.section ul{margin:0;padding-left:18px;color:var(--ink)}.section li+li{margin-top:6px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 4px}.chip{border-radius:999px;padding:4px 10px;font-size:12px;color:#fff}.disclaimer{margin-top:28px;font-size:12px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;justify-content:center}.mail-box{margin-top:28px;padding:18px;background:#f7f1e8;border-radius:16px}.mail-box h3{margin:0 0 6px;font-size:16px}.mail-box p{margin:0 0 12px;color:var(--muted);font-size:13px}.mail-row{display:grid;grid-template-columns:1fr auto;gap:8px}.mail-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink)}.mail-row input:focus{outline:2px solid var(--ink);outline-offset:1px}@media(max-width:640px){.mail-row{grid-template-columns:1fr}}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:999px;padding:10px 16px;font-size:13px}.grid.tests{grid-template-columns:1fr 1fr}.pair{display:grid;gap:10px}.pair-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px 18px;font-size:16px;cursor:pointer;color:var(--ink)}.pair-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}.prompt{font-size:20px;font-weight:700;margin:0 0 8px}.scale{display:flex;gap:8px;justify-content:space-between}.scale-btn{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 0;font-size:18px;font-weight:700;cursor:pointer}.scale-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}.pair-bar{display:grid;grid-template-columns:72px 1fr 72px;gap:8px;align-items:center;font-size:13px}.bar-row.pf{grid-template-columns:72px 1fr 40px;margin-bottom:6px}.bar-row.pf .letter{font-size:15px;line-height:1.15}.bar-row.pf .letter small{display:block;font-family:Noto Sans SC,sans-serif;font-size:11px;font-weight:500;color:var(--muted)}.span-show{font-size:42px;letter-spacing:.28em;text-align:center;padding:28px 0;font-variant-numeric:tabular-nums}.text-input,.area{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.haystack{background:#f7f1e8;border-radius:12px;padding:14px;white-space:pre-wrap;word-break:break-all;font-size:18px;letter-spacing:.08em}.rank-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.rank-list li{display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.rank-list span{color:var(--muted);font-size:13px}.rank-btns{display:flex;gap:8px}.thread{display:grid;gap:10px;margin-bottom:12px}.bubble{background:#f7f1e8;border-radius:14px;padding:12px 14px}.bubble p{margin:6px 0 0}.basket{display:grid;grid-template-columns:220px 1fr;gap:16px;margin-top:12px}.doc-list{display:grid;gap:8px;align-content:start}.doc-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;cursor:pointer}.doc-item b{display:block;font-size:13px}.doc-item.on{border-color:var(--ink)}.doc-item.done{background:#f7f1e8}.swatch b{font-size:18px}@media(max-width:640px){.brand-logo{width:36px;height:36px}.facts{grid-template-columns:1fr}.test-card{grid-template-columns:72px 1fr}.option{grid-template-columns:72px 1fr 72px}.option .label{font-size:16px}.result-hero .code{font-size:48px}.grid.tests,.basket{grid-template-columns:1fr}}.auth-card{padding:28px 24px 32px}.auth-form{display:grid;gap:14px;margin-top:18px;max-width:420px}.auth-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.auth-form input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--ink)}.auth-form input:focus{outline:2px solid var(--ink);outline-offset:1px}.auth-form .btn{justify-self:start}.form-err{margin:0;color:var(--d);font-size:14px}.form-ok{margin:0;color:var(--s);font-size:14px}.auth-switch{margin:18px 0 0;color:var(--muted);font-size:14px}.auth-switch a{color:var(--ink);margin-left:6px}.account-h2{margin:32px 0 12px;font-size:20px}.result-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.result-list a{display:grid;gap:2px;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.result-list span,.result-list small{color:var(--muted);font-size:13px}.admin-card{padding:28px 24px 32px}.table-wrap{overflow-x:auto;margin-top:16px}.user-table{width:100%;border-collapse:collapse;font-size:13px}.user-table th,.user-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.user-table tr.off{opacity:.55}.user-table .ops{display:flex;flex-wrap:wrap;gap:6px}.mail-row-single{grid-template-columns:auto auto;justify-content:start;align-items:center}.mail-alt{margin:10px 0 0;font-size:13px;color:var(--muted)}.mail-alt a,.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}.mail-box .form-ok,.mail-box .form-err{margin-top:10px}
