:root{--bg:#12110f;--panel:#f7f2e8;--panel-strong:#efe3ce;--ink:#171511;--muted:#6f6250;--line:#d8c8ae;--red:#a42721;--blue:#245d8f;--gold:#c4932f;--green:#356f5d;--shadow-soft:0 6px 18px rgba(0,0,0,0.18);--shadow-strong:0 22px 60px rgba(0,0,0,0.35);--tone-play:#245d8f;--tone-pass:#6f6250;--tone-tribute:#c4932f;--tone-opening:#7b2d40;--tone-meta:#356f5d;--tone-system:#4a4034;--tap-min:44px}*{box-sizing:border-box}body,html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:linear-gradient(135deg,rgba(164,39,33,.18),transparent 35%),linear-gradient(225deg,rgba(36,93,143,.18),transparent 35%),var(--bg);font-family:Apple SD Gothic Neo,Pretendard,system-ui,Arial,Helvetica,sans-serif;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{min-height:var(--tap-min);border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:#fffaf1;cursor:pointer;transition:transform .12s ease,background .18s ease,color .18s ease,box-shadow .18s ease}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}input{width:100%;min-height:var(--tap-min);border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--ink);background:#fffaf1}.shell{min-height:100vh;width:min(1200px,100%);margin:0 auto;padding:28px 24px 120px;background:linear-gradient(135deg,color-mix(in srgb,var(--red) 18%,transparent),transparent 35%),linear-gradient(225deg,color-mix(in srgb,var(--blue) 18%,transparent),transparent 35%)}.lobby{display:grid;align-items:center;grid-gap:28px;gap:28px;grid-template-columns:1.1fr .9fr}.titleBlock{color:#fffaf1}.brandMark{display:grid;place-items:center;width:104px;height:104px;margin-bottom:24px;border:3px solid var(--gold);border-radius:20px;color:var(--gold);font-size:clamp(20px,5.2vw,36px);line-height:1;letter-spacing:0;font-weight:800;background:rgba(0,0,0,.25);overflow:hidden}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(40px,7vw,64px);line-height:1;letter-spacing:4px}.titleBlock p{max-width:520px;color:#e8d9bf;font-size:clamp(15px,1.6vw,20px);line-height:1.6}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-strong)}.lobbyPanel{display:grid;grid-gap:18px;gap:18px;padding:24px}.lobbyTopBar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#fffaf1}.lobbyTopBar>div{flex:1 1 220px;min-width:0}.lobbyTopBar>button{flex:0 0 auto;background:var(--gold);border-color:var(--gold);color:#1a1306;box-shadow:0 8px 22px rgba(0,0,0,.35);font-weight:800;padding:0 18px}.lobbyTopBar>button:hover:not(:disabled){background:#d6a437;border-color:#d6a437}.lobbyTopBar h1,.lobbyTopBar p{margin:0}.lobbyTopBar h1{font-size:clamp(36px,6vw,58px);line-height:1}.lobbyTopBar p{margin-top:8px;color:#e8d9bf;line-height:1.5}.brandMark.small{width:48px;height:48px;margin-bottom:10px;font-size:clamp(16px,4vw,24px)}.roomListPanel{gap:14px}.roomList{display:grid;grid-gap:8px;gap:8px;max-height:420px;overflow-y:auto}.roomListItem{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fffaf1;color:var(--ink);text-align:left}.roomListItem.selected,.roomListItem:hover{border-color:var(--red);box-shadow:0 0 0 3px rgba(179,34,45,.14)}.roomListItem span{display:grid;grid-gap:4px;gap:4px}.roomListItem span:last-child{text-align:right}.roomListItem small{color:var(--muted);font-size:12px;font-weight:700}.joinControls{display:grid;grid-template-columns:1fr 1fr 96px;grid-gap:8px;gap:8px}.lobbyFooter{display:flex;justify-content:center;gap:10px}.lobbyFooter button{min-width:132px;background:rgba(255,250,241,.92);border-color:var(--gold);color:var(--ink);font-weight:700;box-shadow:0 6px 16px rgba(0,0,0,.25)}.lobbyFooter button:hover:not(:disabled){background:#fffaf1;border-color:var(--red)}.emptyText{margin:0;border:1px dashed var(--line);border-radius:10px;padding:18px;background:#fffaf1;color:var(--muted);text-align:center;font-weight:700}label{grid-gap:8px;font-weight:700}.eraPicker,label{display:grid;gap:8px}.eraPicker{grid-template-columns:repeat(4,1fr);grid-gap:8px}.eraPicker button,.kingGrid button{border-color:var(--line);background:#fffaf1;color:var(--ink)}.eraPicker .selected,.kingGrid button:hover:not(:disabled),.optionPicker .selected{border-color:var(--red);background:var(--red);color:#fffaf1}.optionSection{display:grid;grid-gap:8px;gap:8px}.optionHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.optionHeader strong{display:inline-flex;align-items:center;gap:8px;font-size:15px}.optionInfoButton{width:22px;height:22px;min-height:22px;padding:0;border-radius:999px;border:1px solid var(--line);background:rgba(255,250,241,.9);color:var(--ink);font-size:12px;font-weight:800;line-height:1}.optionInfoButton:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:#1a1306}.optionHeader span{color:var(--muted);font-size:12px;font-weight:700;text-align:right}.optionPicker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.optionPicker.threeColumns{grid-template-columns:repeat(3,minmax(0,1fr))}.optionPicker.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.optionPicker.fiveColumns{grid-template-columns:repeat(5,minmax(0,1fr))}.optionPicker button{min-width:0;border-color:var(--line);background:#fffaf1;color:var(--ink);white-space:normal;word-break:keep-all;overflow-wrap:anywhere;line-height:1.2;padding:6px 10px;text-align:center}.actions{display:grid;grid-gap:10px;gap:10px}.joinRow{display:grid;grid-template-columns:1fr 96px;grid-gap:8px;gap:8px}.errorText{margin:0;color:var(--red);font-weight:700}.roomHeader{display:grid;grid-gap:14px;gap:14px;margin-bottom:22px;color:#fffaf1}.roomHeaderInfo{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}.roomHeaderInfo strong{display:block;font-size:22px}.eyebrow{display:block;color:#d9c8ac;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.phaseTimelineWrap{position:relative}.phaseTimeline{display:flex;flex-wrap:nowrap;gap:6px;margin:0;padding:10px;list-style:none;border:1px solid rgba(255,250,241,.12);border-radius:999px;background:rgba(0,0,0,.35);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:-webkit-grab;cursor:grab;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none}.phaseTimeline:active{cursor:-webkit-grabbing;cursor:grabbing}.phaseTimeline::-webkit-scrollbar{display:none}.phaseTimelineNav{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;min-height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,250,241,.4);border-radius:999px;background:rgba(0,0,0,.45);color:#fffaf1;font-size:18px;line-height:1;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 4px 10px rgba(0,0,0,.35);z-index:2}.phaseTimelineNav:hover:not(:disabled){background:rgba(0,0,0,.65);border-color:var(--gold)}.phaseTimelineNavLeft{left:4px}.phaseTimelineNavRight{right:4px}.phaseStep{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;color:#c8b890;font-size:12px;font-weight:700;white-space:nowrap;background:transparent;position:relative}.phaseStep+.phaseStep:before{content:"›";margin-right:2px;color:rgba(255,250,241,.35);font-weight:800}.phaseStep.done{color:#f5e7c1}.phaseStep.active{background:var(--gold);color:#1a1306;box-shadow:inset 0 0 0 2px rgba(255,250,241,.18)}.phaseStep.todo{color:rgba(255,250,241,.4)}.phaseStepIcon{font-size:14px;line-height:1}.gameLayout{display:grid;grid-template-columns:280px 1fr;grid-gap:20px;gap:20px;align-items:flex-start}.board,.roster{padding:20px}.board{display:grid;grid-gap:18px;gap:18px;position:relative}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sectionHeader h2{margin:0}.roster ul{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.openingResults div,.roster li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fffaf1}.openingResults .winner{border-color:var(--gold);background:#fff3cf}.roster .currentTurn{border-color:var(--blue);background:#eef7ff;box-shadow:0 0 0 3px rgba(36,93,143,.18)}.roster small{color:var(--muted)}.miniLog{display:grid;grid-gap:4px;gap:4px;margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fffaf1}.miniLog span{color:var(--muted);font-size:12px;font-weight:700}.roomOptions{display:grid;grid-gap:10px;gap:10px;margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fffaf1}.sectionHeader.compact{margin-bottom:0}.sectionHeader.compact h2{font-size:16px}.roomOptions dl{display:grid;grid-gap:8px;gap:8px;margin:0}.roomOptions dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}.roomOptions dt{color:var(--muted);font-size:12px;font-weight:700}.roomOptions dd{margin:0;font-weight:800;text-align:right}.kingSelection,.openingSelection,.playArea,.waiting{display:grid;grid-gap:16px;gap:16px}.waiting>button{width:min(280px,100%)}.mobileWaitingOptions{display:none}.hint{margin:0;color:var(--muted)}.openingResults{display:grid;grid-gap:8px;gap:8px}.openingDeckPile{display:grid;place-items:center;grid-gap:8px;gap:8px;width:min(360px,100%);min-height:220px;margin:0 auto;border:1px solid var(--line);border-radius:16px;padding:28px;background:linear-gradient(145deg,#fffaf1,#efe3ce);color:var(--ink);box-shadow:var(--shadow-soft)}.openingDeckPile:hover{border-color:var(--blue);background:#eef7ff}.openingDeckPile small,.openingDeckPile span{color:var(--muted);font-weight:800}.openingDeckPile strong{font-size:28px}.noticePanel,.tributePanel{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fffaf1}.noticePanel{align-items:flex-start;flex-direction:column}.noticePanel span,.tributePanel span{color:var(--muted);font-size:12px;font-weight:800}.noticePanel p,.tributePanel p{margin:6px 0 0;color:var(--muted)}.kingGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.lastPlayStage{position:relative;display:grid;grid-gap:14px;gap:14px;padding:22px 20px 24px;border-radius:18px;border:1.5px solid var(--gold);background:radial-gradient(ellipse at top,rgba(196,147,47,.18),transparent 70%),linear-gradient(160deg,#1f1a12,#2d251a 60%,#3a2c1a);color:#fff8e2;box-shadow:inset 0 0 0 1px rgba(196,147,47,.35),0 22px 50px rgba(0,0,0,.45);overflow:hidden}.lastPlayStage:before{content:"";position:absolute;inset:6px;border:1px dashed rgba(196,147,47,.35);border-radius:14px;pointer-events:none}.lastPlayStage.emptyStage{border-style:dashed;background:linear-gradient(160deg,#1f1a12,#2a2218);min-height:132px;align-content:center}.lastPlayHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.lastPlayBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--gold);color:#1a1306;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.lastPlayHeader strong{font-size:18px;font-weight:800}.lastPlayHeader small{display:inline-block;margin-left:6px;color:rgba(255,248,226,.7);font-size:13px;font-weight:700}.lastPlayHint{margin:0;color:rgba(255,248,226,.65);font-size:13px}.lastPlayCards{--last-play-gap:12px;--last-play-max-card:132px;display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:var(--last-play-gap);padding:8px 4px 0;min-width:0}.lastPlayCards .tableCard{width:auto;flex:0 1 calc(min(var(--last-play-max-card),
    (100% - (var(--last-play-count, 1) - 1) * var(--last-play-gap)) / max(var(--last-play-count, 1), 1)));min-width:0;overflow:hidden}.lastPlayCards .tableCardName{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tableCard{--card-bg-from:#fffaf1;--card-bg-to:#efe3ce;--card-ink:#171511;--card-glyph-bg:rgba(0,0,0,0.06);--card-glyph-ink:#c4932f;display:grid;grid-template-rows:auto 1fr auto;grid-gap:6px;gap:6px;width:clamp(96px,18vw,132px);min-height:156px;padding:12px 10px;border-radius:12px;border:1.5px solid rgba(255,250,241,.4);background:linear-gradient(160deg,var(--card-bg-from),var(--card-bg-to));color:var(--card-ink);box-shadow:0 14px 24px rgba(0,0,0,.45),inset 0 0 0 1px rgba(0,0,0,.05);transform:translateY(0);text-align:center;font-weight:700;animation:cardLand .34s ease both}.tableCard.jester{background:linear-gradient(165deg,var(--card-bg-from),var(--card-bg-to));color:var(--card-ink)}.tableCardRank{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--card-glyph-ink)}.tableCardGlyph{display:grid;place-items:center;width:56px;height:56px;margin:4px auto 6px;border-radius:50%;background:var(--card-glyph-bg);color:var(--card-glyph-ink);font-size:30px;line-height:1}.tableCardName{font-size:12px;color:var(--card-ink);line-height:1.3}@keyframes cardLand{0%{transform:translateY(-12px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.handTray{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffaf1}.handTrayMeta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:700}.handTrayMeta strong{font-size:16px;color:var(--ink)}.handSortToggle{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,241,.8)}.handSortToggle button{min-height:30px;min-width:72px;border:0;border-radius:999px;padding:0 12px;background:transparent;color:var(--muted);font-size:12px;font-weight:800;box-shadow:none}.handSortToggle button.selected{background:var(--ink);color:#fffaf1}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:10px;gap:10px}.card{--card-bg-from:#fffaf1;--card-bg-to:#efd8a5;--card-ink:#171511;--card-glyph-bg:rgba(0,0,0,0.06);--card-glyph-ink:#c4932f;display:grid;grid-template-rows:auto 1fr auto;grid-gap:4px;gap:4px;min-height:134px;padding:10px 8px;border:1.5px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--card-bg-from),var(--card-bg-to));color:var(--card-ink);text-align:center;font-weight:700;box-shadow:0 6px 12px rgba(0,0,0,.12);transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease,border-color .18s ease;will-change:transform}.card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 18px rgba(0,0,0,.18)}.card.jester{border-color:rgba(255,250,241,.4)}.cardRank{font-size:12px;letter-spacing:1px;color:var(--card-glyph-ink);font-weight:800}.cardGlyph{display:grid;place-items:center;width:44px;height:44px;margin:2px auto 4px;border-radius:50%;background:var(--card-glyph-bg);color:var(--card-glyph-ink);font-size:24px;line-height:1}.cardName{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:11px;color:var(--card-ink);text-overflow:ellipsis}.selectedCard{border-width:3px;border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,93,143,.22),0 12px 22px rgba(0,0,0,.2);transform:translateY(-4px)}.leavingCard{opacity:0;transform:translateY(-12px) scale(.94);transition:opacity .36s ease,transform .36s ease}.actionBar,.turnStrip{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fffaf1}.turnStrip>div{display:grid;grid-gap:2px;gap:2px}.discardStatus span,.turnStrip span{color:var(--muted);font-size:12px;font-weight:700}.discardStatus{min-width:92px;border-left:1px solid var(--line);padding-left:12px;text-align:right}.actionBar{flex-wrap:wrap;position:-webkit-sticky;position:sticky;bottom:12px;z-index:5;box-shadow:0 14px 30px rgba(0,0,0,.25)}.actionBar button{min-width:112px;flex:1 1 auto}.actionBar .actionBarLeft{flex:0 0 auto;color:var(--muted);font-weight:700}.actionControl{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto}.actionHelpButton{flex:0 0 auto;min-width:86px;border-color:var(--line);background:#fffaf1;color:var(--ink);font-weight:800}.actionHelpButton:hover:not(:disabled){border-color:var(--blue);background:#eef7ff}.actionBarTimer{flex:0 0 auto;margin-left:auto}.actionBarTimer,.countdown{display:inline-flex;align-items:center}.countdown{gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fffaf1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;line-height:1;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease}.countdown .countdownLabel{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.countdown strong{font-size:16px}.countdown-sm{padding:4px 8px}.countdown-sm strong{font-size:13px}.countdown-md strong{font-size:16px}.countdown-lg{padding:8px 14px}.countdown-lg strong{font-size:22px}.countdown.countdown-warning{border-color:var(--gold);background:rgba(196,147,47,.16);color:#6a4a14}.countdown.countdown-critical{border-color:var(--red);background:var(--red);color:#fffaf1;animation:countdownPulse .9s ease-in-out infinite}.countdown.countdown-critical .countdownLabel{color:rgba(255,250,241,.78)}@keyframes countdownPulse{0%,to{box-shadow:0 0 0 0 rgba(164,39,33,.45)}50%{box-shadow:0 0 0 6px rgba(164,39,33,0)}}.sectionHeaderMeta{display:inline-flex;align-items:center;gap:10px}.sectionHeaderMeta>span:first-child{color:var(--muted);font-size:12px;font-weight:700}.tributePanelActions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.timeoutNoticeModal{border-color:var(--red)}.activityLog{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fffaf1}.activityLogHeader{display:flex;align-items:baseline;justify-content:space-between}.activityLog h3{margin:0}.activityLogHeader span{color:var(--muted);font-size:12px;font-weight:700}.activityEmpty{margin:0;color:var(--muted)}.activityTimeline{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.timelineItem{display:grid;grid-template-columns:36px 1fr;grid-gap:10px;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,250,241,.55);border-left:3px solid var(--tone-system)}.timelineItem.tone-play{border-left-color:var(--tone-play);background:rgba(36,93,143,.06)}.timelineItem.tone-pass{border-left-color:var(--tone-pass)}.timelineItem.tone-tribute{border-left-color:var(--tone-tribute);background:rgba(196,147,47,.08)}.timelineItem.tone-opening{border-left-color:var(--tone-opening);background:rgba(123,45,64,.06)}.timelineItem.tone-meta{border-left-color:var(--tone-meta);background:rgba(53,111,93,.07)}.timelineMarker{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.05);font-size:18px;line-height:1}.timelineBody{display:grid;grid-gap:2px;gap:2px}.timelineBody p{margin:0;font-size:14px;font-weight:600;color:var(--ink);line-height:1.4}.timelineMeta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.timelineTag{padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.06);color:var(--ink);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.timelineMeta time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.resultPanel{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:14px;padding:16px;background:#fffaf1}.resultPanel h3{margin:0}.resultPanel ol{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.resultPanel li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.guideOverlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(18,17,15,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.guideModal{display:flex;flex-direction:column;gap:12px;width:min(460px,100%);max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--panel);box-shadow:var(--shadow-strong);overflow:hidden}.guideModal h2,.guideModal p{margin:0}.guideModal>.eyebrow,.guideModal>button,.guideModal>h2,.guideModal>p{flex:0 0 auto}.helpModal{width:min(620px,100%)}.helpSections{flex:1 1 auto;display:grid;grid-gap:10px;gap:10px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px;margin-right:-4px}.helpSection{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(255,250,241,.7)}.helpSection h3{margin:0 0 6px;font-size:14px}.helpSection p{margin:0;color:var(--muted);line-height:1.5}.helpPageHeader{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;grid-gap:8px;gap:8px;flex:0 0 auto}.helpPageHeader strong{text-align:center;font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.helpPageBack,.helpPageClose{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fffaf1;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.helpPageBack{text-align:left}.helpPageClose{text-align:center}.helpListBody{margin:0;color:var(--muted);font-size:13px;line-height:1.5;flex:0 0 auto}.helpList{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px;margin-right:-4px}.helpListItem{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;grid-gap:2px 10px;gap:2px 10px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(255,250,241,.85);color:var(--ink);cursor:pointer;transition:background .12s ease,transform 80ms ease}.helpListItem:active{transform:scale(.985)}.helpListItem:hover{background:rgba(255,250,241,1)}.helpListTitle{grid-column:1/2;grid-row:1;font-size:14px;font-weight:800}.helpListDesc{grid-column:1/2;grid-row:2;font-size:12px;color:var(--muted)}.helpListArrow{grid-column:2/3;grid-row:1/3;font-size:20px;color:var(--muted);opacity:.6}.helpGroupLead{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.turnNoticeModal{width:min(420px,100%)}.errorModal{width:min(460px,100%)}.helpFab{position:fixed;right:18px;bottom:18px;z-index:21;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:var(--ink);color:#fffaf1;box-shadow:0 16px 36px rgba(0,0,0,.28)}.helpFab span{font-size:13px;font-weight:800}.reconnectPanel{width:min(480px,100%);margin:0 auto;padding:28px}.mobilePlayerStrip,.mobileSheetBackdrop,.mobileSheetHeader,.mobileSheetToggle{display:none}@media (max-width:980px){.gameLayout{grid-template-columns:1fr}.roster{order:2}.board{order:1}}@media (max-width:900px){.shell.table{display:block;height:auto;min-height:100dvh;overflow:visible;padding:10px 12px calc(env(safe-area-inset-bottom, 0px) + 76px)}.shell.table .roomHeader{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"leave info menu" "timeline timeline timeline";align-items:center;grid-gap:6px;gap:6px;margin:0 -12px 8px;padding:8px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:15;background:linear-gradient(180deg,rgba(18,17,15,.94),rgba(18,17,15,.88));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shell.table .roomHeaderLeaveSlot{grid-area:leave;justify-content:flex-start}.shell.table .roomHeaderInfo{grid-area:info;flex:1 1 auto;gap:6px;align-items:center;justify-content:center;flex-wrap:nowrap;overflow:hidden}.shell.table .roomHeaderActions{grid-area:menu;justify-content:flex-end}.shell.table .roomHeaderInfo>div{flex:0 0 auto}.shell.table .roomHeaderInfo strong{font-size:14px}.shell.table .roomHeaderInfo .eyebrow{font-size:9px;letter-spacing:.4px}.shell.table .leaveRoomButton{padding:6px 10px;font-size:12px}.shell.table .phaseTimelineWrap{grid-area:timeline}.shell.table .phaseTimeline{margin:0;padding:3px 30px;font-size:10px;max-height:32px}.shell.table .phaseStep{padding:3px 6px;font-size:10px}.shell.table .phaseTimelineNav{width:22px;height:22px;min-height:22px;font-size:14px}.shell.table .gameLayout{display:block;min-height:0;gap:0}.shell.table .board{padding:8px;gap:6px;min-height:0}.shell.table .board,.shell.table .playArea{height:auto;display:block;overflow:visible}.shell.table .playArea>.sectionHeader{margin-bottom:6px;padding:0 2px}.shell.table .playArea>.sectionHeader h2{font-size:13px;margin:0}.shell.table .playArea>.sectionHeader span{font-size:11px}.shell.table .playArea>.handTray,.shell.table .playArea>.lastPlayStage,.shell.table .playArea>.mobilePlayerStrip,.shell.table .playArea>.noticePanel,.shell.table .playArea>.resultPanel,.shell.table .playArea>.tributePanel,.shell.table .playArea>.turnStrip{display:block;flex:none;min-height:0;margin-bottom:6px}.mobileWaitingOptions{display:grid}.shell.table .mobilePlayerStrip{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden;padding:4px 2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.playerChip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,241,.92);color:var(--ink);font-size:11px;line-height:1.2;white-space:nowrap}.playerChip.playerChipTurn{border-color:var(--blue);background:#d6e8f5;font-weight:800;box-shadow:0 0 0 2px rgba(36,93,143,.32)}.playerChip.playerChipLeft{opacity:.55;border-style:dashed;color:var(--red)}.playerChipName{max-width:80px;overflow:hidden;text-overflow:ellipsis}.playerChipClass{color:var(--muted);font-size:10px}.playerChipHand{padding:0 6px;border-radius:999px;background:var(--gold);color:#1a1306;font-weight:800;font-size:10px}.shell.table .lastPlayStage{padding:6px 10px 8px;border-radius:12px;flex:0 0 auto;gap:4px}.shell.table .lastPlayStage.emptyStage{min-height:58px}.shell.table .lastPlayHeader{gap:6px}.shell.table .lastPlayHeader strong{font-size:13px}.shell.table .lastPlayHeader small{font-size:10px}.shell.table .lastPlayHint{font-size:11px}.shell.table .lastPlayCards{--last-play-gap:4px;--last-play-max-card:80px;gap:var(--last-play-gap);padding-top:0}.shell.table .lastPlayCards .tableCard{width:auto;min-height:70px;padding:4px 3px}.shell.table .tableCardGlyph{width:24px;height:24px;font-size:14px}.shell.table .tableCardName{font-size:9px}.shell.table .turnStrip{flex:0 0 auto;flex-wrap:wrap;gap:4px;padding:4px 6px;font-size:11px}.shell.table .handTray{display:block;height:auto;min-height:0;padding:8px}.shell.table .handTrayMeta{font-size:11px;padding:0 2px 6px}.shell.table .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:6px;gap:6px;overflow:visible;padding:0}.shell.table .cards .card{width:auto;min-height:86px;padding:6px 4px}.shell.table .cards .cardRank{font-size:11px}.shell.table .cards .cardGlyph{width:28px;height:28px;font-size:15px}.shell.table .cards .cardName{font-size:9px}.shell.table .activityLog{display:none}.shell.table .actionBar{position:fixed;left:0;right:0;bottom:0;z-index:14;flex:0 0 auto;padding:6px calc(env(safe-area-inset-right, 0px) + 8px) calc(env(safe-area-inset-bottom, 0px) + 6px) calc(env(safe-area-inset-left, 0px) + 8px);gap:4px;box-shadow:0 -10px 24px rgba(0,0,0,.45);background:#fffaf1;border-top:1px solid var(--line);border-radius:14px 14px 0 0;flex-wrap:nowrap}.shell.table .actionBar .actionControl>button,.shell.table .actionBar button{min-width:0;width:100%;flex:1 1;padding:0 6px;font-size:12px}.shell.table .actionBar button{min-height:36px}.shell.table .actionBar .actionHelpButton{min-height:30px;font-size:11px;padding:0 8px}.shell.table .actionBar .countdown{padding:3px 8px}.shell.table .actionBar .countdown strong{font-size:13px}.shell.table .actionBar .actionBarLeft{font-size:11px;text-align:center}.mobileSheetToggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,250,241,.32);border-radius:999px;background:rgba(0,0,0,.32);color:#fffaf1;font-size:20px;line-height:1}.mobileSheetBackdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,0);z-index:18;pointer-events:none;transition:background .2s ease}.mobileSheetBackdrop.open{background:rgba(0,0,0,.4);pointer-events:auto}.shell.table .roster{position:fixed;top:0;right:0;bottom:0;width:min(82vw,360px);z-index:19;transform:translateX(100%);transition:transform .22s ease;border-radius:0;overflow-y:auto;padding:16px;margin:0}.shell.table .roster.mobileSheetOpen{transform:translateX(0)}.mobileSheetHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.mobileSheetClose{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fffaf1;color:var(--ink);font-size:18px;line-height:1}body:has(.shell.table){overflow:visible;overscroll-behavior:auto}.shell.lobby{padding:14px 12px 48px}.lobby{grid-template-columns:1fr;gap:14px}.lobbyTopBar{align-items:stretch;flex-direction:column;gap:12px}.lobbyTopBar>button{min-height:40px;padding:0 14px;font-size:13px}.lobbyTopBar h1{font-size:clamp(28px,7vw,40px)}.lobbyTopBar p{margin-top:6px;font-size:13px;line-height:1.45}.brandMark.small{width:40px;height:40px;margin-bottom:8px;font-size:16px}.lobbyPanel{gap:14px;padding:18px 14px}.roomListPanel{gap:12px}.sectionHeader h2{font-size:16px}.sectionHeader span{font-size:12px}.roomList{gap:6px;max-height:38vh}.roomListItem{align-items:stretch;flex-direction:column;padding:10px 12px;gap:10px}.lobbyFooter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px}.roomListItem strong{font-size:13px}.roomListItem small{font-size:11px;line-height:1.35}.joinControls{grid-template-columns:1fr;gap:6px}.joinControls button,.joinControls input{min-height:40px;font-size:13px}.roomHeaderInfo{gap:12px}.roomHeaderInfo strong{font-size:18px}.phaseTimeline{padding:8px;-webkit-overflow-scrolling:touch}.phaseStep{font-size:11px;padding:6px 10px}.eraPicker{grid-template-columns:repeat(2,1fr)}.optionHeader{align-items:flex-start;flex-direction:column}.optionHeader span{text-align:left}.optionPicker,.optionPicker.fiveColumns,.optionPicker.threeColumns,.optionPicker.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.joinControls{grid-template-columns:1fr 1fr}.joinControls>button{grid-column:1/-1}.roomListItem{flex-wrap:wrap;gap:8px}.roomListItem span:last-child{text-align:left}.lobbyFooter{flex-wrap:wrap;gap:8px}.lobbyFooter button{flex:1 1 120px;min-width:0;padding:10px 12px;font-size:13px;line-height:1.1;box-shadow:0 4px 10px rgba(0,0,0,.18)}.noticePanel,.tributePanel{align-items:stretch;flex-direction:column}.tributePanelActions{width:100%;justify-content:space-between}.lastPlayStage{padding:18px 14px 20px}.lastPlayCards{gap:8px}.tableCard{width:clamp(78px,28vw,110px);min-height:134px}.tableCardGlyph{width:46px;height:46px;font-size:24px}.turnStrip{flex-wrap:wrap}.discardStatus{border-left:none;padding-left:0;text-align:left}.cards{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.handTrayMeta{flex-wrap:wrap}.handSortToggle{order:3;width:100%;justify-content:stretch}.handSortToggle button{flex:1 1;min-width:0}.card{min-height:118px;padding:8px 6px}.cardGlyph{width:38px;height:38px;font-size:20px}.actionBar{position:-webkit-sticky;position:sticky;bottom:8px;padding:10px;grid-gap:6px;gap:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto}.actionBar>:first-child{grid-row:2;grid-column:1;align-self:center;font-size:12px}.actionBar>:nth-child(2){grid-row:1;grid-column:1}.actionBar>:nth-child(3){grid-row:1;grid-column:2}.actionBar>:nth-child(4){grid-row:1;grid-column:3}.actionBar>:nth-child(5){grid-row:2;grid-column:2/4;margin-left:0;justify-self:end}.actionBar button{min-width:0;padding:0 8px;width:100%}.actionControl{width:100%}.actionHelpButton{min-width:0;font-size:13px}.countdown-lg{padding:6px 10px}.countdown-lg strong{font-size:18px}.timelineItem{grid-template-columns:30px 1fr;padding:8px 10px}.timelineMarker{width:28px;height:28px;font-size:16px}.timelineBody p{font-size:13px}.helpFab{right:14px;bottom:calc(env(safe-area-inset-bottom, 0px) + 70px);padding:8px 12px;font-size:12px}}@media (max-width:380px){h1{letter-spacing:2px}.actionBar{grid-template-rows:auto auto auto}.actionBar>:first-child{grid-row:3;grid-column:1/-1}.actionBar>:nth-child(2),.actionBar>:nth-child(3),.actionBar>:nth-child(4){grid-row:2}.actionBar>:nth-child(5){grid-row:1;grid-column:1/-1;justify-self:stretch}.actionBarTimer .countdown{width:100%;justify-content:center}}@media (hover:none){.card:hover:not(:disabled){transform:none}}.helpModalActions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}.helpModalActions button{flex:0 0 auto}.roomHeaderActions,.roomHeaderLeaveSlot{display:flex;justify-content:flex-end;gap:8px}.leaveRoomButton{border:1px solid rgba(255,250,241,.32);border-radius:999px;padding:8px 16px;background:rgba(0,0,0,.32);color:#fffaf1;font-weight:700;letter-spacing:.4px;cursor:pointer}.leaveRoomButton:hover:not(:disabled){background:rgba(164,39,33,.72);border-color:rgba(255,250,241,.5)}.leaveRoomButton:disabled{opacity:.55;cursor:not-allowed}.leaveConfirmModal{width:min(420px,100%)}.leaveConfirmActions{display:flex;justify-content:flex-end;gap:10px;flex:0 0 auto}.leaveConfirmActions button{min-width:120px}.leaveConfirmPrimary{background:var(--red,#a42721);color:#fffaf1;border:1px solid var(--red,#a42721)}.leaveConfirmPrimary:disabled{opacity:.6;cursor:not-allowed}.playerLeft{opacity:.55}.playerLeft small,.playerLeftBadge{color:var(--red,#a42721);font-weight:700}.playerLeftBadge{margin-left:6px;font-size:12px}.playerLeader{border-color:var(--gold,#c4932f)!important;background:linear-gradient(180deg,#fff7e2,#fffaf1)}.playerLeaderBadge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--gold,#c4932f);color:#1a1306;font-size:10px;font-weight:800;letter-spacing:.5px;line-height:1.4;vertical-align:middle}.playerChip.playerChipLeader{border-color:var(--gold,#c4932f);box-shadow:0 0 0 1px var(--gold,#c4932f)}.playerChipLeaderBadge{padding:0 6px;border-radius:999px;background:var(--gold,#c4932f);color:#1a1306;font-size:10px;font-weight:800;line-height:1.4}.gameEndPanel{border:1px solid rgba(196,147,47,.5);box-shadow:inset 0 0 0 1px rgba(196,147,47,.25)}.gameEndWinner{font-size:16px;color:var(--gold,#c4932f)}.gameEndWinner strong{font-size:20px;margin-right:4px}.gameEndActions{display:flex;align-items:center;gap:12px;margin-top:12px}.gameEndHint{color:var(--muted);font-size:13px}.idleWarningModal{width:min(440px,100%)}.idleWarningActions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}.idleWarningActions .leaveConfirmPrimary{background:var(--gold,#c4932f);border-color:var(--gold,#c4932f);min-width:120px}.closedNoticeModal{width:min(440px,100%)}.closedNoticeModal h2{color:var(--red,#a42721)}.inviteRow{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:14px}.inviteCopyButton{min-width:200px;padding:10px 18px;background:var(--gold,#c4932f);border-color:var(--gold,#c4932f);color:#1a1306;font-weight:800;border-radius:999px}.inviteCopyButton:hover:not(:disabled){background:#d6a437;border-color:#d6a437}.inviteRowHint{color:var(--muted);font-size:12px;text-align:center;max-width:360px;line-height:1.4}.inviteCopiedToast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom, 0px) + 90px);transform:translateX(-50%);z-index:30;padding:10px 16px;border-radius:999px;background:rgba(0,0,0,.82);color:#fffaf1;font-size:13px;font-weight:700;letter-spacing:.3px;box-shadow:0 10px 24px rgba(0,0,0,.42);pointer-events:none;max-width:min(540px,92vw);text-align:center}.invitePasswordModal{width:min(420px,100%)}.invitePasswordModal input{margin:0}.invitePasswordError{margin:0;color:var(--red,#a42721);font-size:13px;font-weight:700}.invitePasswordActions{display:flex;justify-content:flex-end;gap:10px;flex:0 0 auto}.invitePasswordActions button{min-width:110px}.petitionConfirmModal{width:min(420px,100%)}.petitionConfirmCardWrap{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:8px 0}.petitionConfirmCard{width:clamp(90px,24vw,120px);min-height:130px}.petitionConfirmActions{display:flex;justify-content:flex-end;gap:10px;flex:0 0 auto}.petitionConfirmActions button{min-width:110px}.petitionBlockedModal h2{color:var(--red,#a42721)}.deckInfoModal{width:min(520px,100%)}.deckInfoTable{flex:1 1 auto;display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fffaf1;font-size:13px;-webkit-overflow-scrolling:touch}.deckInfoHead,.deckInfoRow{display:grid;grid-template-columns:.7fr .9fr .9fr 1fr .9fr;grid-gap:0;gap:0;align-items:center}.deckInfoHead{background:var(--panel-strong);color:var(--ink);font-weight:800;position:-webkit-sticky;position:sticky;top:0;z-index:1}.deckInfoHead>span{padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.4px}.deckInfoRow>span{padding:7px 10px;border-bottom:1px solid var(--line);color:var(--ink)}.deckInfoRow:last-child>span{border-bottom:none}.deckInfoRow:nth-child(odd)>span{background:rgba(196,147,47,.05)}.preDealShuffleModal{width:min(480px,100%)}.preDealShuffleActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:0 0 auto}.preDealShuffleCount{margin-right:auto;color:var(--muted)}.preDealShuffleCount strong{margin-right:2px;color:var(--gold,#c4932f);font-size:16px}.shuffleNoticeModal{width:min(360px,100%)}.shuffleNoticeModal h2{color:var(--gold,#c4932f)}.card.cardHidden{opacity:0;transform:translateY(20px) scale(.92);pointer-events:none;transition:none}.card{position:relative}.cardNewBadge{position:absolute;top:4px;right:4px;padding:1px 5px;border-radius:999px;background:var(--red,#a42721);color:#fffaf1;font-size:9px;font-weight:800;letter-spacing:.5px;line-height:1.2;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none;animation:newBadgePulse 1.6s ease-in-out infinite}@keyframes newBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.card.cardFresh{box-shadow:0 0 0 2px var(--gold,#c4932f),0 6px 14px rgba(196,147,47,.25)}@media (max-width:900px){.cardNewBadge{top:3px;right:3px;padding:0 4px;font-size:8px}}