:root{--ink:#202b25;--muted:#667067;--paper:#f7f0df;--paper-strong:#fffaf0;--red:#9b2f2b;--red-dark:#76221f;--green:#254b3b;--gold:#b78a42;--line:rgba(61,51,36,.16);--shadow:0 18px 50px rgba(32,29,22,.14);font-family:"Noto Serif SC","Songti SC","STSong",serif;color:var(--ink);background:#e9e0cf}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.8),transparent 28%),linear-gradient(135deg,#e8dfcd,#d8cfbd);background-attachment:fixed}button,input,select{font:inherit}.hidden{display:none!important}.page-shell{width:min(1180px,calc(100% - 32px));margin:auto;min-height:100vh;display:flex;flex-direction:column}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-seal{display:grid;place-items:center;width:46px;height:46px;color:#f8ead0;background:var(--red);border-radius:5px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.15);font-size:25px}.brand strong,.brand small{display:block}.brand strong{font-size:22px;letter-spacing:.16em}.brand small{margin-top:3px;color:var(--muted);font-size:12px;letter-spacing:.12em}.user-bar{display:flex;gap:15px;align-items:center}.text-button{border:0;background:transparent;color:var(--red);cursor:pointer;padding:7px}.paper-card{background:linear-gradient(145deg,rgba(255,251,240,.95),rgba(244,235,215,.96));border:1px solid rgba(92,74,45,.18);border-radius:18px;box-shadow:var(--shadow);padding:30px;position:relative}.paper-card:before{content:"";position:absolute;inset:7px;border:1px solid rgba(122,89,47,.1);border-radius:12px;pointer-events:none}.compact{padding:40px}.center-view{text-align:center;margin:12vh auto;width:min(440px,100%)}.ink-loader{display:inline-block;width:34px;height:34px;border:3px solid rgba(37,75,59,.18);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}main{flex:1}.auth-layout{min-height:640px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.hero-copy{padding:32px}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.28em;color:var(--red);font-size:13px;font-weight:700}.hero-copy h1,.lobby-heading h1,.waiting-panel h1{font-size:clamp(42px,6vw,76px);line-height:1.13;margin:0 0 24px;font-weight:500;letter-spacing:.08em}.hero-copy>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:18px;line-height:1.9}.hero-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-features span,.status-chip{border:1px solid var(--line);padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.35);color:var(--green);font-size:13px}.auth-card{max-width:430px;width:100%;justify-self:end}.tab-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{padding:13px;border:0;background:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--red);border-bottom-color:var(--red);font-weight:700}.stack-form{display:grid;gap:18px}.stack-form label{display:grid;gap:8px;font-size:14px;color:var(--muted)}input,select{width:100%;border:1px solid rgba(69,59,44,.22);background:rgba(255,255,255,.62);border-radius:10px;padding:13px 14px;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(37,75,59,.1)}.primary-button,.secondary-button{border:0;border-radius:10px;padding:13px 18px;color:white;cursor:pointer;transition:.2s transform,.2s opacity}.primary-button{background:var(--red)}.primary-button:hover{background:var(--red-dark);transform:translateY(-1px)}.secondary-button{background:var(--green)}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-feedback{min-height:21px;margin:0;color:var(--red);font-size:13px;line-height:1.6}.lobby-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:34px 4px}.lobby-heading h1{font-size:48px;margin:0}.lobby-heading p:last-child{color:var(--muted)}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.card-heading h2{margin:3px 0 5px;font-weight:500}.card-heading p{margin:0;color:var(--muted)}.step-mark{display:grid;place-items:center;background:var(--green);color:#f5ead3;width:40px;height:40px;border-radius:50%}.room-code-input{text-transform:uppercase;letter-spacing:.28em;font-size:21px}.history-section{margin-top:42px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{margin:0;font-weight:500}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.history-item{border:1px solid var(--line);background:rgba(255,250,240,.62);border-radius:12px;padding:18px;text-align:left;cursor:pointer;color:inherit}.history-item:hover{border-color:var(--gold)}.history-item strong,.history-item span{display:block}.history-item strong{margin-bottom:8px}.history-item span{color:var(--muted);font-size:13px;line-height:1.7}.history-item .win{color:var(--red)}.history-item .lose{color:var(--green)}.empty-state{color:var(--muted);grid-column:1/-1}.room-topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.room-code-badge{background:rgba(255,250,240,.65);border:1px solid var(--line);border-radius:999px;padding:8px 9px 8px 16px}.room-code-badge strong{letter-spacing:.2em;margin:0 7px}.room-code-badge button{border:0;border-radius:999px;background:var(--green);color:white;padding:7px 12px;cursor:pointer}.waiting-panel{text-align:center;max-width:800px;margin:45px auto}.waiting-panel h1{font-size:48px;margin:10px 0}.muted{color:var(--muted)}.players-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0}.waiting-player{padding:25px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.35)}.waiting-player strong,.waiting-player span{display:block}.waiting-player span{margin-top:8px;color:var(--muted);font-size:13px}.waiting-player.ready{border-color:rgba(37,75,59,.55);box-shadow:inset 0 0 0 2px rgba(37,75,59,.08)}.ready-button{min-width:220px}.game-layout{padding-bottom:60px}.game-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;margin:5px 0 14px}.game-banner strong{display:grid;place-items:center;width:82px;height:82px;background:var(--red);color:#f7ead1;border-radius:50%;font-size:42px;font-weight:400;box-shadow:0 8px 25px rgba(118,34,31,.25)}.game-banner span:first-child{text-align:left;color:var(--muted)}.game-banner span:last-child{text-align:right;color:var(--green);font-weight:700}.score-board{display:grid;grid-template-columns:1fr 1fr;gap:18px}.score-player{background:rgba(255,250,240,.76);border:1px solid var(--line);border-radius:16px;padding:18px 22px;display:grid;grid-template-columns:1fr auto;align-items:center}.score-player.active{border-color:var(--red);box-shadow:0 8px 26px rgba(121,45,38,.12)}.score-player strong{display:block;font-size:20px}.score-player small{color:var(--muted)}.score-number{font-size:34px;color:var(--red)}.timer-wrap{height:14px;background:rgba(45,43,35,.13);border-radius:999px;margin:18px 0 24px;position:relative;overflow:hidden}.timer-bar{position:absolute;inset:0;background:linear-gradient(90deg,var(--green),#769267);transform-origin:left}.timer-bar.urgent{background:var(--red)}.timer-wrap span{position:absolute;inset:-3px 10px auto auto;color:white;font-size:12px;font-family:system-ui}.answer-form{display:grid;grid-template-columns:1fr auto;gap:12px;max-width:780px;margin:auto}.answer-form input{font-size:18px;padding:16px 18px}.answer-form button{min-width:110px}.game-feedback{text-align:center;min-height:25px;margin:15px 0 24px;color:var(--green)}.game-feedback.error{color:var(--red)}.game-columns{display:grid;grid-template-columns:1.5fr .7fr;gap:20px}.event-card{min-height:260px}.event-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}.event-item{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;border-top:1px solid var(--line);padding-top:12px}.event-seq{color:var(--muted);font-size:13px}.event-main strong,.event-main span{display:block}.event-main span{margin-top:4px;color:var(--muted);font-size:13px}.event-delta{color:var(--red)}.event-delta.positive{color:var(--green)}.result-card{text-align:center;align-self:start}.result-seal{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--red);color:#f8ead1;font-size:34px;margin:0 auto 15px}.result-card h2{margin:0 0 10px}.result-card p{color:var(--muted);line-height:1.7}footer{text-align:center;color:var(--muted);font-size:12px;padding:34px}dialog{width:min(760px,calc(100% - 28px));max-height:86vh;border:1px solid var(--line);border-radius:16px;background:var(--paper-strong);color:var(--ink);padding:30px;box-shadow:0 25px 80px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(22,30,26,.55);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--muted)}.dialog-events{display:grid;gap:10px;margin-top:20px}.dialog-event{border-top:1px solid var(--line);padding:12px 0}.dialog-event strong,.dialog-event span{display:block}.dialog-event span{color:var(--muted);font-size:13px;margin-top:4px}@media(max-width:800px){.page-shell{width:min(100% - 20px,1180px)}.site-header{height:76px}.auth-layout{grid-template-columns:1fr;gap:10px}.hero-copy{padding:30px 4px 8px}.hero-copy h1{font-size:46px}.auth-card{justify-self:stretch;max-width:none}.lobby-grid,.game-columns{grid-template-columns:1fr}.history-grid{grid-template-columns:1fr}.lobby-heading{align-items:flex-start}.players-row{grid-template-columns:1fr}.paper-card{padding:22px}.game-banner strong{width:65px;height:65px;font-size:32px}.score-player{padding:14px}.answer-form{grid-template-columns:1fr}.answer-form button{width:100%}.event-item{grid-template-columns:auto 1fr}.event-delta{grid-column:2}.room-topbar{align-items:flex-start;gap:10px;flex-direction:column}.user-bar{font-size:13px}}
