:root{color:#142b38;font-synthesis:none;--ink:#142b38;--muted:#718087;--paper:#fffaf0;--orange:#ef6b49;--line:#e9e3d6;--shadow:0 18px 48px #06172221;background:#142b38;font-family:Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 90% 3%,#34505a 0,#0000 27%),radial-gradient(circle at 4% 75%,#284751 0,#0000 28%),#142b38;min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;opacity:.16;background-image:radial-gradient(#e8d9b7 .6px,#0000 .6px);background-size:6px 6px;position:fixed;top:0;bottom:0;left:0;right:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible{outline-offset:3px;outline:3px solid #f89c71}input:focus-visible{outline-offset:3px;outline:3px solid #f89c71}select:focus-visible{outline-offset:3px;outline:3px solid #f89c71}button:disabled{cursor:not-allowed;opacity:.48}.shell{max-width:1200px;margin:auto;padding:26px 24px 44px;position:relative}.topbar{color:#fff8e8;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.brand{color:#fff8e8;letter-spacing:.04em;align-items:center;gap:12px;font-size:22px;font-weight:900;display:flex}.brand .icon{color:#fff;background:#ef6b49;border-radius:14px;place-items:center;width:44px;height:44px;font-size:22px;display:grid;box-shadow:0 4px #a94332}.badge,.chip{letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:800;line-height:1.3;display:inline-flex}.badge{color:#f4d9a5;background:#ffffff17;border:1px solid #ffffff26}.layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px;display:grid}.main,.side,.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #ffffff73;border-radius:24px;min-width:0;padding:28px}.side .card{border-radius:20px;padding:22px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#dc6549;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:900;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:3px;width:20px;height:3px}.title{letter-spacing:.03em;margin:0;font-family:ZCOOL XiaoWei,Noto Sans SC,serif;font-size:clamp(30px,4.5vw,48px);font-weight:700;line-height:1.22}.subtitle{color:#69777b;margin:12px 0 0;font-size:15px;line-height:1.8}h1,h2,h3,p{overflow-wrap:anywhere}h2{margin:0 0 12px;font-size:20px;line-height:1.4}h3{margin:0 0 10px;font-size:16px}p{line-height:1.75}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.primary,.secondary,.ghost,.danger{border:0;border-radius:12px;min-height:48px;padding:12px 20px;font-weight:800;line-height:1.35;transition:transform .15s,background .15s,box-shadow .15s}.primary{background:var(--orange);color:#fff;box-shadow:0 4px #bd5038}.primary:hover:not(:disabled){background:#e45f3e;transform:translateY(-1px)}.secondary{color:var(--ink);background:#e9eee9}.secondary:hover:not(:disabled){background:#dbe5dd}.ghost{color:#52686e;background:0 0;border:1px solid #d7dcd4}.ghost:hover:not(:disabled){background:#f0f0e9}.danger{color:#b63f30;background:#f9e5df}.small{color:#788483;font-size:12px;line-height:1.6}.field{flex-direction:column;gap:8px;font-size:14px;font-weight:700;display:flex}.input,input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #dcded5;border-radius:12px;outline:none;padding:11px 14px}input::placeholder,textarea::placeholder{color:#a8b0ac}.player-list{flex-direction:column;gap:8px;display:flex}.player,.score-row{background:#fffdf8;border:1px solid #e9e5dc;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.player>:last-child,.score-row>:last-child{margin-left:auto}.avatar{color:#8d5337;background:#f7dfb3;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:900;display:inline-grid}.choice{cursor:pointer;background:#fffdf9;border:1px solid #e5e5dc;border-radius:14px;align-items:center;gap:10px;padding:14px 16px;display:flex}.choice:hover{border-color:#ef997e}.choice.selected,.selected{background:#fff0e8;border-color:#ef6b49}.hint,.notice{color:#5b6a68;background:#f1efe5;border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.75}.notice{color:#8f5136;background:#fff0e2}.word{text-align:center;letter-spacing:.12em;background:#f5ecd9;border:1px solid #e8dbc0;border-radius:20px;margin:24px 0;padding:34px 24px;font-family:ZCOOL XiaoWei,Noto Sans SC,serif;font-size:clamp(38px,7vw,68px);font-weight:700;line-height:1.3;position:relative}.timer{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--orange);font-size:clamp(42px,7vw,72px);font-weight:900;line-height:1.1}.score{color:var(--orange);font-variant-numeric:tabular-nums;font-size:20px;font-weight:900}.progress{flex-wrap:wrap;gap:6px;margin:0 0 22px;display:flex}.progress-step{background:#e4e6db;border-radius:99px;flex:1;min-width:15px;height:5px}.progress-step.selected,.progress-step.active,.progress-step.done{background:var(--orange)}.rules{color:#53686c;font-size:14px;line-height:1.8}.rules ol,.rules ul{padding-left:20px}.rules li+li{margin-top:6px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#4c6b61;background:#e7eee8}.result{text-align:center;background:#f5ecd9;border-radius:18px;padding:24px}.footer{text-align:center;color:#a7b5b0;margin-top:24px;font-size:12px;line-height:1.7}@media (max-width:800px){.shell{padding:20px 16px 36px}.topbar{margin-bottom:20px}.layout{grid-template-columns:1fr}.side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.card{padding:24px}.side .card{padding:20px}}@media (max-width:520px){.shell{padding:16px 12px 30px}.brand{font-size:19px}.brand .icon{width:40px;height:40px}.topbar{gap:8px}.badge{padding:5px 8px;font-size:11px}.card{border-radius:20px;padding:20px}.side{grid-template-columns:1fr}.actions{display:flex}.actions button{flex:1;min-width:120px}.word{margin:18px 0;padding:28px 14px}.title{font-size:32px}.subtitle{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.brand-mark{color:#fff;background:#ef6b49;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 4px #a94332}.brand small{letter-spacing:.18em;opacity:.65;font-size:9px;display:block}.side{color:#fcf3dd;background:#233e46;border:1px solid #486068;border-radius:24px;padding:24px}.side h2{color:#fff8e8}.side p,.side-note{color:#a8bebc;font-size:13px}.side .score-row{color:#20353a;font-size:14px}.side .score-row strong{color:#e46a49}.side .score-row em{color:#bf654c;margin-left:4px;font-size:10px;font-style:normal}.side-art{gap:9px;margin:35px 0;display:flex}.side-art span{color:#f8d394;border:1px solid #718786;border-radius:11px;place-items:center;width:60px;height:78px;font-size:26px;display:grid;transform:rotate(-8deg)}.side-art span:nth-child(2){color:#20353a;background:#f3d8a3;transform:rotate(5deg)}.side-art span:nth-child(3){transform:rotate(12deg)}.side-note{border-top:1px solid #496166;padding-top:16px}.divider{background:#e7e1d6;height:1px;margin:28px 0}.section-head{justify-content:space-between;align-items:end;gap:8px;margin:22px 0 14px;display:flex}.section-head h2{margin:0}.section-head .eyebrow{margin-bottom:5px}.remove{color:#9eaaa5;background:0 0;border:0;padding:4px 10px;font-size:24px}.add{border-style:dashed;width:100%;margin-top:10px}.settings{grid-template-columns:1fr 1fr;gap:14px;display:grid}.toggle{background:#f2efe5;border-radius:14px;align-items:flex-start;gap:12px;margin:16px 0;padding:16px;display:flex}.toggle input{accent-color:#ef6b49;flex:none;width:20px;height:20px}.toggle span{gap:5px;display:grid}.toggle small{color:#768481;line-height:1.5}.wide{width:100%}.centered{text-align:center}.error{color:#bd4534;margin:10px 0;font-size:14px}.title i{color:#e66a49;font-style:normal}.compact{font-size:clamp(32px,5vw,48px)}.accent{color:#e66a49}.round-label{color:#8b9994;letter-spacing:.12em;justify-content:space-between;margin:24px 0;font-size:11px;font-weight:700;display:flex}.progress{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.progress-step{color:#9ca8a2;flex-direction:column;gap:5px;height:auto;font-size:10px;line-height:1.2;display:flex;background:0 0!important}.progress-step span{border-top:4px solid #e1e5db;padding-top:6px;display:block}.progress-step.active,.progress-step.done{color:#df6a4c}.progress-step.active span,.progress-step.done span{border-color:#ef6b49}.word{flex-direction:column;align-items:center;gap:4px;display:flex}.word span{letter-spacing:.03em;color:#7d8980;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.word strong{font-size:clamp(38px,8vw,68px)}.word.mini{margin:20px 0;padding:18px}.word.mini strong{font-size:36px}.chips{margin:16px 0 22px}.chip.light{color:#8c978d;background:#f1efe7}.notice{margin:20px 0}.secret-answer{background:#f5ecd9;border-radius:18px;margin:25px 0;padding:24px}.secret-answer span,.result>span{color:#8d9a8f;font-size:12px;font-weight:700;display:block}.secret-answer strong,.result>strong{margin-top:8px;font-size:24px;display:block}.secret-answer p,.result p{color:#697b73;margin-bottom:0;font-size:14px}.choices{gap:9px;margin:18px 0;display:grid}.choice{color:#21383b;text-align:left;justify-content:space-between;width:100%}.choice b{color:#b4745d;font-size:12px}.choice .avatar{color:#8d5337;font-size:14px}.game-card .score{gap:8px;margin:15px 0 22px;display:grid}.game-card .score-row{color:#20353a;font-size:15px}.game-card .score-row strong{color:#e46a49}.trophy{color:#ef6b49;font-size:64px}.winner{color:#e46a49;margin:15px 0;font-size:32px;font-weight:900}.end{text-align:center}.end .score{text-align:left}.rules-panel{color:#5b6a68;background:#fffaf0;border-radius:18px;padding:18px 22px;font-size:13px}.rules-panel summary{cursor:pointer;font-weight:800}.rules-panel a{color:#a94f38}.reset-game{color:#d3dcd2;cursor:pointer;background:0 0;border:0;font-size:12px;text-decoration:underline}.footer span{color:#ef6b49;margin:0 8px}@media (max-width:800px){.side{display:flex}.settings{grid-template-columns:1fr}}@media (max-width:520px){.progress-step{font-size:9px}.side-art{margin:10px 0}.brand small{display:none}.secret-answer strong{font-size:20px}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Microsoft YaHei,sans-serif}.loading-screen{color:#fffaf0;place-items:center;min-height:100vh;font-size:15px;display:grid}.shell{max-width:1120px}.topbar{margin-bottom:22px}.brand{font-size:20px}.brand-mark{width:40px;height:40px}.layout{grid-template-columns:minmax(0,1fr) 270px}.card{padding:30px}.main{gap:14px}.game-card{min-height:360px}.intro-card{position:relative;overflow:hidden}.intro-card:after{content:"?";color:#ef6b49;opacity:.09;pointer-events:none;font-family:Georgia,serif;font-size:120px;font-weight:700;line-height:1;position:absolute;top:18px;right:20px}.intro-card .subtitle{max-width:34em}.form-grid{gap:14px;margin:24px 0 16px;display:grid}.field>span{color:#526663}.field small{color:#778783;font-weight:400;line-height:1.5}.field .input,.field select{font-size:16px}.checkbox-line{background:#f1efe5;border-radius:14px;align-items:flex-start;gap:10px;padding:14px;font-size:14px;font-weight:700;line-height:1.5;display:flex}.checkbox-line input{accent-color:#ef6b49;flex:0 0 19px;width:19px;height:19px}.button-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.button-row>*{flex:1;min-width:0}.primary,.secondary,.ghost{justify-content:center;align-items:center;gap:8px;font-size:14px;display:inline-flex}.primary span:last-child{margin-left:auto}.tab-row{background:#f0eee5;border-radius:14px;gap:8px;margin:24px 0 0;padding:5px;display:flex}.tab-row button{color:#75817d;background:0 0;border:0;border-radius:10px;flex:1;min-height:43px;font-weight:800}.tab-row button.active{color:#142b38;background:#fff;box-shadow:0 2px 7px #162d3212}.notice{overflow-wrap:anywhere}.notice b{color:#854b39;display:block}.notice p{margin:4px 0 0}.connection{color:#c6d3ce;align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-dot{background:#70bd96;border-radius:50%;width:7px;height:7px}.status-dot.offline{background:#ef9d63}.room-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.room-code{color:#e56c4b;letter-spacing:.13em;margin:7px 0;font-size:clamp(35px,6vw,48px);font-weight:900;line-height:1.1;display:block}.mini-label{text-transform:uppercase;letter-spacing:.12em;color:#98a8a0;font-size:10px;font-weight:900}.top-actions{flex-wrap:wrap;gap:8px;display:flex}.icon-button{color:#4c655f;background:#fffdf8;border:1px solid #deded3;border-radius:11px;min-height:42px;padding:10px 13px;font-size:12px;font-weight:800}.icon-button:hover{border-color:#ef6b49}.section-title{margin:0;font-size:19px}.section-copy{color:#788783;font-size:13px;line-height:1.6}.player-list{gap:8px;display:grid}.player-tile{background:#fffdf8;border:1px solid #e9e5dc;border-radius:14px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:flex}.player-tile .info{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:700}.player-tile .tag{color:#bd7257;white-space:nowrap;font-size:11px;font-weight:700}.player-tile .points{color:#e46a49;font-size:17px;font-weight:900}.lobby-room{background:#f7efdf;border:1px solid #eadfca;border-radius:18px;margin:24px 0;padding:20px}.lobby-room p{color:#77837c;margin:5px 0 0;font-size:13px}.role-card{background:#f7eee0;border:1px solid #eadbc0;border-radius:18px;margin:20px 0;padding:20px}.role-card .role-title{color:#df684a;margin:7px 0;font-size:26px;font-weight:900}.role-card p{color:#64756f;margin:6px 0;font-size:14px;line-height:1.7}.side .player-tile{color:#20353a;background:#fffaf0}.side .player-tile .tag{color:#bd7257}.side .eyebrow{margin-bottom:6px}.side .section-title{color:#fff8e8}.side .small{color:#acc0b8}.side .player-list{margin:16px 0}.result .result-name{color:#e56c4b;font-size:26px;font-weight:900}.game-card .word{margin:20px 0}.game-card .word strong{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Microsoft YaHei,sans-serif}.game-card .section-head{margin-top:24px}.timer{align-items:center;gap:7px;display:flex}.error{color:#ae3d30;background:#fff0eb;border-radius:12px;margin:12px 0;padding:12px 14px;font-size:13px;line-height:1.6}.status-note{color:#60746c;background:#eff1e9;border-radius:12px;margin:16px 0;padding:13px 15px;font-size:13px;line-height:1.7}.status-note strong{color:#405b50;display:block}.inline-link{color:#e06748;background:0 0;border:0;padding:4px;font-size:13px;text-decoration:underline}.waiting-art{color:#d97956;justify-content:center;align-items:center;gap:11px;margin:34px 0;display:flex}.waiting-art span{background:#eab28f;border-radius:50%;width:12px;height:12px}.waiting-art span:nth-child(2){background:#e97855}.winner{text-align:center}.winner .trophy{margin:20px 0 5px}.session-info{color:#acc0b8;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.session-info b{color:#f4d9a5}.primary:disabled,.choice:disabled{opacity:.5}.choice{min-height:54px}.choice .avatar{vertical-align:middle}.choices{gap:8px}.muted{color:#7f8e87}.small.centered{margin:12px 0}.progress .progress-step{font-size:11px}.topbar .right{align-items:center;gap:12px;display:flex}.room-label{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.room-label .chip{margin:0}.rules-panel{margin-top:15px}.rules-panel p{margin:8px 0}.error:empty{display:none}@media (max-width:800px){.layout{grid-template-columns:1fr}.side{display:flex}.shell{padding:18px 14px 32px}.card{padding:24px}.side .player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.side .player-tile{min-width:0}.side .player-tile .info{font-size:12px}.side .player-tile .avatar{border-radius:10px;flex-basis:32px;width:32px;height:32px}.side .player-tile .points{font-size:14px}.side .player-tile .tag{font-size:10px}}@media (max-width:420px){.shell{padding:14px 11px 24px}.topbar{margin-bottom:16px}.brand{font-size:18px}.badge{font-size:10px}.card,.side{padding:20px}.room-header{flex-direction:column}.top-actions{width:100%}.top-actions button{flex:1}.room-code{font-size:38px}.button-row{flex-direction:column}.title{font-size:31px}.side .player-list{grid-template-columns:1fr}.side .player-tile{min-height:48px}.progress .progress-step{font-size:9px}.player-tile{min-height:54px}}.toast{z-index:20;color:#fff;text-align:center;background:#203e42;border-radius:12px;max-width:min(90vw,480px);padding:12px 16px;font-size:13px;line-height:1.5;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #071a2290}.inline-confirm{color:#263d3a;text-align:left;background:#fff6ed;border:1px solid #e4c8b6;border-radius:14px;margin:14px 0;padding:16px;line-height:1.55}.inline-confirm strong{color:#844b39;font-size:14px;display:block}.inline-confirm p{color:#687873;overflow-wrap:anywhere;margin:6px 0 12px;font-size:13px}.confirm-actions{gap:10px;display:flex}.confirm-actions button{flex:1;min-height:44px}.footer .inline-confirm{max-width:480px;margin:12px auto 0}.footer .confirm-actions button{color:inherit}.footer .confirm-actions .primary{color:#fff}.notice .inline-confirm{background:#fffaf2;margin-bottom:0}.mode-back{color:#f8e9cd;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff4d;border-radius:999px;min-height:38px;padding:8px 12px;font-size:12px}.mode-back:disabled{opacity:.5}.mode-options{gap:12px;margin:30px 0 16px;display:grid}.mode-option{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fffdf7;border:1px solid #e5dfd1;border-radius:18px;align-items:center;gap:16px;padding:20px;transition:border-color .15s,transform .15s,background .15s;display:flex}.mode-option:hover{background:#fff3e9;border-color:#ef8b6d;transform:translateY(-1px)}.mode-option:focus-visible{outline-offset:3px;outline:3px solid #f89c71}.mode-back:focus-visible{outline-offset:3px;outline:3px solid #f89c71}.mode-option-icon{background:#f8e4c0;border-radius:16px;flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:23px;display:grid}.mode-option:nth-child(2) .mode-option-icon{color:#d45b3c;background:#fbe2d8}.mode-option-text{flex:1;gap:5px;min-width:0;display:grid}.mode-option-text strong{font-size:19px}.mode-option-text small{color:#73807b;font-size:13px;line-height:1.65}.mode-arrow{color:#e66a49;font-size:20px}.mode-note{margin-top:18px}@media (max-width:520px){.topbar{flex-wrap:wrap}.mode-option{gap:12px;padding:16px}.mode-option-icon{flex-basis:44px;width:44px;height:44px}.mode-option-text strong{font-size:17px}}.local-player{background:#fffdf8;border:1px solid #e9e5dc;border-radius:14px;align-items:center;gap:10px;padding:8px;display:flex}.local-player .input{flex:1;min-width:0}.local-remove{color:#9eaaa5;background:0 0;border:0;flex:none;padding:4px 10px;font-size:24px}.local-add{border-style:dashed;margin-top:12px}.privacy-art{color:#e96c4b;justify-content:center;align-items:center;gap:20px;margin:35px 0;font-size:60px;display:flex}.privacy-art span{color:#6b7b76;font-size:15px;font-weight:700;line-height:1.5}.timer{letter-spacing:0;color:#a15b45;margin:15px 0;font-size:14px}.timer strong{font-size:30px}.secret-answer p{color:#697b73;margin-bottom:0;font-size:14px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:520px){.topbar{flex-wrap:wrap}}
