:root{--bg: #f7f4ee;--card: #ffffff;--ink: #20242e;--muted: #8a8f9c;--brand: #4f6bed;--brand-soft: #eef1fb;--ok: #2e9e5b;--accent: #f5a623;--radius: 16px}body.dark{--bg: #17181d;--card: #202229;--ink: #e8eaf0;--muted: #9aa0ad;--brand: #7c92f5;--brand-soft: #262a38}body.dark .entry input,body.dark .seg button,body.dark .btn,body.dark .seat,body.dark .seats.compact li,body.dark .chain li,body.dark .word-input,body.dark .faq details,body.dark .how-steps li{background:#262932;border-color:#3a3d47}body.dark .entry-tabs button.on,body.dark .reveal-word .word,body.dark .meet-box .word{color:var(--ink)}body.dark .big-code{border-color:#3a3d47;color:var(--brand)}body.dark .timer{background:#2a2d36}.theme-btn{border:0;background:transparent;font-size:16px;cursor:pointer;padding:2px 6px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;line-height:1.6}#landing{min-height:100vh}body.in-game #landing{display:none}body.in-game{background:var(--bg)}.topline{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;max-width:760px;margin:0 auto}.topline nav a{color:var(--muted);text-decoration:none;margin-left:16px;font-size:14px}.brand{display:flex;align-items:center;gap:8px;font-size:17px}.brandmark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;font-weight:800}.hero{text-align:center;padding:28px 20px 8px;max-width:760px;margin:0 auto}.hero h1{font-size:30px;margin:0 0 10px;letter-spacing:1px}.hero-sub{color:var(--muted);margin:0 auto;max-width:520px}.play-zone{max-width:460px;margin:18px auto 30px;padding:0 16px}.play-hint{text-align:center;color:var(--muted);font-size:13px;margin-top:10px}.how,.faq{max-width:760px;margin:0 auto;padding:26px 20px}.how h2,.faq h2{font-size:20px}.how-steps{list-style:none;padding:0;display:grid;gap:12px}.how-steps li{background:var(--card);border-radius:var(--radius);padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;box-shadow:0 1px 3px #0000000d}.step-num{grid-row:span 2;font-weight:800;color:var(--brand);font-size:20px}.how-steps p{margin:0;color:var(--muted);font-size:14px}.faq details{background:var(--card);border-radius:var(--radius);padding:12px 18px;margin-bottom:10px;box-shadow:0 1px 3px #0000000d}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--muted);font-size:14px;margin:8px 0 2px}.home-footer{text-align:center;color:var(--muted);padding:30px 0 44px;font-size:13px}.entry{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:0 6px 24px #1f295a1a;display:grid;gap:12px}.entry-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--brand-soft);border-radius:12px;padding:4px;gap:4px}.entry-tabs button{border:0;background:transparent;padding:8px 0;border-radius:9px;font-size:14px;color:var(--muted);cursor:pointer}.entry-tabs button.on{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 3px #00000014}.entry label,.entry .lbl{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}.entry input{width:100%;padding:11px 12px;border:1.5px solid #e3e6ee;border-radius:12px;font-size:16px;outline:none;background:#fbfbfd}.entry input:focus{border-color:var(--brand)}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.seg button{border:1.5px solid #e3e6ee;background:#fff;border-radius:10px;padding:9px 0;font-size:14px;color:var(--muted);cursor:pointer}.seg button.on{border-color:var(--brand);color:var(--brand);font-weight:700;background:var(--brand-soft)}.btn{border:1.5px solid #dfe3ec;background:#fff;color:var(--ink);border-radius:12px;padding:10px 18px;font-size:15px;cursor:pointer}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.btn.soft{background:var(--brand-soft);border-color:transparent;color:var(--brand);font-weight:600}.btn.ghost{background:transparent}.btn.small{padding:6px 12px;font-size:13px}.btn.full{width:100%}.btn:disabled{opacity:.5;cursor:default}.error{color:#d3455b;font-size:13px;margin:0}.code-input{letter-spacing:6px;text-align:center;font-weight:800;font-size:20px!important}#game-root:empty{display:none}.game-shell{max-width:460px;margin:0 auto;padding:12px 16px 40px;min-height:100vh}body.in-game .game-shell{max-width:460px}.in-game-top{max-width:none;padding:8px 0 14px}.code-chip{background:var(--brand-soft);color:var(--brand);font-weight:800;letter-spacing:3px;border-radius:10px;padding:6px 12px;font-size:14px}.card{background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:0 6px 24px #1f295a14;display:grid;gap:12px;margin-bottom:14px}.center{text-align:center}.center.full-h{padding-top:18vh}.muted{color:var(--muted)}.small{font-size:13px}.row-gap{display:flex;gap:10px}.center-row{justify-content:center}.row-between{display:flex;justify-content:space-between;align-items:baseline}.big-code{font-size:44px;font-weight:900;letter-spacing:10px;background:none;border:2px dashed #d9def5;border-radius:14px;width:100%;padding:14px 0;color:var(--brand);cursor:copy}.seats{list-style:none;padding:0;margin:0;display:grid;gap:8px}.seat{background:#fbfbfd;border:1.5px dashed #e3e6ee;border-radius:12px;padding:9px 12px;font-size:15px}.seat.on{border-style:solid;border-color:#dfe3ec}.tag{font-style:normal;font-size:11px;background:var(--brand-soft);color:var(--brand);border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:2px}.tag.you{background:#e8f7ee;color:var(--ok)}.tag.off{background:#f4f4f6;color:var(--muted)}.timer{height:8px;background:#eef0f5;border-radius:99px;overflow:hidden}.timer span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#7c92f5);border-radius:99px;transition:width .3s linear}.word-input{width:100%;padding:13px 14px;border:1.5px solid #e3e6ee;border-radius:12px;font-size:18px;outline:none;text-align:center}.word-input:focus{border-color:var(--brand)}.ok-note{color:var(--ok);font-size:14px;text-align:center;margin:0}.seats.compact li{display:flex;align-items:center;gap:6px;background:#fbfbfd;border-radius:10px;padding:7px 12px;font-size:14px}.dot{margin-left:auto;color:var(--muted)}.dot.done{color:var(--ok);font-weight:800}.agree-zone{display:grid;gap:6px;justify-items:center;border-top:1px dashed #e7eaf1;padding-top:10px}.reveal-words{display:grid;gap:12px;padding:8px 0}.reveal-word{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;opacity:0;animation:flipIn .45s ease forwards}.reveal-word .who{font-size:13px;color:var(--muted)}.reveal-word .word{font-size:30px;font-weight:800}@keyframes flipIn{0%{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}.count-big{font-size:84px;color:var(--brand);margin:0}.spark{font-size:44px}.meet-title{margin:4px 0}.success-card{padding:30px 18px}.meet-boxes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 0}.meet-box{display:grid;gap:4px;justify-items:center;border-radius:14px;padding:16px 8px}.meet-box:nth-child(1){background:#f3f0fb}.meet-box:nth-child(2){background:#e9f6ef}.meet-box:nth-child(3),.meet-box:nth-child(4){background:#eef1fb}.meet-box .who{font-size:12px;color:var(--muted)}.meet-box .word{font-size:26px;font-weight:800;color:var(--ink)}.share-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:379px){.meet-boxes{gap:6px}.meet-box .word{font-size:20px}}.chain ol{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:320px;overflow:auto}.chain li{display:flex;gap:10px;align-items:center;background:#fbfbfd;border-radius:10px;padding:6px 12px;font-size:15px}.chain .rn{color:var(--muted);font-size:12px;min-width:20px}.chain .words{display:flex;gap:12px;flex-wrap:wrap}.chain b.mine{color:var(--brand)}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mode-tabs button{border:1.5px solid #e3e6ee;background:#fff;border-radius:10px;padding:8px 0;font-size:14px;color:var(--muted);cursor:pointer}.mode-tabs button.on{border-color:var(--brand);color:var(--brand);font-weight:700;background:var(--brand-soft)}.seg-4{grid-template-columns:repeat(4,1fr)}.seg-4 button{font-size:12px;padding:8px 0}.match-zone{display:grid;gap:12px}.match-search{display:flex;align-items:center;gap:10px;justify-content:center;padding:14px 0;color:var(--muted)}.dot-pulse{width:10px;height:10px;border-radius:99px;background:var(--brand);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.match-found{text-align:center;margin:0;font-size:15px}.q-prompt{font-size:17px;font-weight:700;text-align:center;margin:8px 0}.q-options{display:grid;gap:10px}.q-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid #e3e6ee;border-radius:12px;background:#fbfbfd;font-size:15px;cursor:pointer;text-align:left}.q-option:disabled{opacity:.55}.q-option em{font-style:normal;font-weight:800;color:var(--brand)}.quiz-percent{font-size:52px;font-weight:900;color:var(--brand);margin:0}
