:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#1d2722;background:#f4f5ef;font-synthesis:none;--ink: #1d2722;--muted: #65716a;--line: #d6ddd6;--paper: #fbfcf8;--green: #164c3a;--green-soft: #dcebe0;--yellow: #f0c95f;--red: #c9574f;--blue: #dfe8f3;--shadow: 0 6px 18px rgba(29, 39, 34, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f5ef}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(201,87,79,.32);outline-offset:2px}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.topbar{height:64px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfcf8f7}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-weight:900;letter-spacing:-.04em}.brand span,.brand-mark span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--green);color:#fff;font:800 11px/1 ui-monospace,monospace;letter-spacing:0}.topbar-user,.room-badge{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.room-badge{position:absolute;left:50%;transform:translate(-50%);font-family:ui-monospace,monospace}.room-badge b{color:var(--ink);letter-spacing:.12em}.link-button,.mini-button{padding:3px 0;border:0;border-bottom:1px dashed currentColor;background:transparent;color:var(--muted);font-size:11px}.link-button:hover,.mini-button:hover{color:var(--red)}.mini-button{border-bottom:0}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);padding:36px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow)}.brand-mark{display:flex;align-items:center;gap:10px;color:var(--green);font-size:18px;font-weight:900}.eyebrow{margin:0;color:var(--muted);font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.auth-panel>.eyebrow{margin-top:40px}h1,h2,p{margin-top:0}h1{margin-bottom:14px;color:var(--ink);font-size:clamp(30px,5vw,48px);line-height:1.02;letter-spacing:-.07em}h2{margin-bottom:8px;color:var(--ink);font-size:20px;letter-spacing:-.04em}.auth-panel h1{margin-top:12px;font-size:37px}.auth-panel h1,.lobby-intro h1{font-weight:900}h1 em{color:var(--red);font-style:normal}.muted,.lobby-intro>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.65}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:28px 0 20px;padding:4px;border:1px solid var(--line);border-radius:7px;background:#eef1eb}.tab-button{min-height:34px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:12px}.tab-button.active{background:var(--paper);color:var(--green);box-shadow:0 2px 5px #1d272214;font-weight:800}.auth-form,.room-form{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700}input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);outline:0}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #164c3a1a}.primary-button,.secondary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:0 14px;border:1px solid var(--green);border-radius:6px;font-size:12px;font-weight:800;transition:transform .12s ease,box-shadow .12s ease}.primary-button{background:var(--green);color:#fff;box-shadow:0 3px #0b2e23}.secondary-button{border-color:var(--line);background:#fff;color:var(--ink)}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button span{font-size:18px;line-height:0}.feedback{margin-top:14px;padding:10px 11px;border-radius:5px;font-size:11px;line-height:1.45}.feedback.error{border:1px solid #e6b1aa;background:#fbe8e4;color:#8b352f}.feedback.notice{border:1px solid #bdd5c4;background:#e6f1e7;color:#245c43}.auth-footnote,.form-hint,.page-foot{color:var(--muted);font-size:10px;line-height:1.5}.auth-footnote{margin-top:23px;padding-top:15px;border-top:1px solid var(--line)}.lobby-page{width:min(1040px,calc(100% - 48px));min-height:calc(100vh - 112px);margin:0 auto;display:grid;grid-template-columns:1fr 360px;align-items:center;gap:80px}.lobby-intro h1{margin:15px 0 20px;font-size:clamp(48px,7vw,76px)}.lobby-intro>p:not(.eyebrow){max-width:420px;font-size:14px}.intro-rule{display:flex;align-items:center;gap:10px;margin-top:28px;color:var(--muted);font:10px/1 ui-monospace,monospace}.intro-rule span{width:45px;height:1px;background:var(--red)}.join-panel,.room-card,.side-panel,.score-strip,.admin-section{border:1px solid var(--line);border-radius:9px;background:var(--paper);box-shadow:var(--shadow)}.join-panel{padding:26px}.section-title,.hand-heading,.room-actions,.room-header,.score-strip,.last-play{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title h2{margin:7px 0 0;font-size:18px}.online-dot{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font:10px/1 ui-monospace,monospace}.online-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--yellow)}.online-dot.online:before{background:#55a66b}.room-form{margin-top:25px}.room-form .primary-button{margin-top:3px}.page-foot{width:min(1040px,calc(100% - 48px));margin:0 auto;padding:0 0 22px;display:flex;justify-content:space-between;font-family:ui-monospace,monospace}.room-page{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:48px 0 30px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.room-header{margin-bottom:22px;align-items:flex-start}.room-header h1{margin:10px 0 0;font-size:clamp(29px,4vw,44px)}.run-status{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:10px/1 ui-monospace,monospace;white-space:nowrap}.run-status.playing{border-color:#bcd8c2;background:var(--green-soft);color:#245c43}.run-status.tie{border-color:#e5d08b;background:#fff7d9}.run-status.shop{border-color:#bfcfe0;background:var(--blue)}.run-status.settlement,.run-status.complete{border-color:#bcd8c2;background:var(--green);color:#fff}.room-card{padding:26px}.lobby-room h2{margin-top:8px;font-size:28px}.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0}.member-tile{min-height:58px;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff}.member-tile.empty{justify-content:center;border-style:dashed;color:var(--muted)}.member-tile>span:first-child{flex:0 0 auto}.member-tile b,.member-tile small,.member-row b,.member-row small{display:block}.member-tile b,.member-row b{font-size:12px}.member-tile small,.member-row small{margin-top:4px;color:var(--muted);font-size:9px}.avatar{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;color:var(--green);font:800 12px/1 ui-monospace,monospace;background:var(--green-soft)}.avatar-1{background:#fff1c8}.avatar-2{background:#fbe8e4}.avatar-3{background:#e4e8f4}.room-actions{flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}.waiting-label{color:var(--muted);font-size:12px}.score-strip{margin-bottom:12px;padding:15px 18px;background:var(--green);color:#fff;box-shadow:none}.score-strip div{display:flex;align-items:baseline;gap:6px}.score-strip small{color:#ffffffb3;font-size:10px}.score-strip strong{font:800 25px/1 ui-monospace,monospace}.score-strip span{color:#ffffffb3;font:11px/1 ui-monospace,monospace}.hand-card{padding:20px}.hand-heading{align-items:flex-end}.hand-heading h2{margin:7px 0 0}.hand-grid{display:grid;grid-template-columns:repeat(8,minmax(44px,1fr));gap:7px;margin:22px 0}.playing-card{min-width:0;aspect-ratio:.68;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 3px #1d27221f;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.playing-card:hover:not(:disabled){transform:translateY(-2px)}.playing-card.selected{transform:translateY(-8px);border-color:var(--red);box-shadow:0 5px #c9574f38}.playing-card span{position:absolute;top:6px;left:7px;display:flex;flex-direction:column;align-items:center;font:800 13px/1 ui-monospace,monospace}.playing-card span i{margin-top:3px;font-style:normal;font-size:10px}.playing-card>b{font-size:25px;font-weight:500}.playing-card.red{color:var(--red)}.playing-card.black{color:var(--ink)}.hand-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.item-button{padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:10px}.submission-note{margin-top:14px;color:var(--muted);font-size:10px;line-height:1.5}.score-table{display:grid;gap:6px;margin:22px 0}.score-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px;border-bottom:1px solid var(--line);font-size:11px}.score-row>span{color:var(--muted);font:800 11px/1 ui-monospace,monospace}.score-row strong{font:800 11px/1 ui-monospace,monospace}.score-row em{color:var(--red);font:800 10px/1 ui-monospace,monospace;font-style:normal}.shop-card{min-height:400px}.coin-count{color:var(--red);font:800 15px/1 ui-monospace,monospace}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.shop-item,.candidate-card{padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff}.shop-item{min-height:150px;display:flex;flex-direction:column}.shop-item b,.candidate-card b{display:block;margin-top:8px;font-size:13px}.shop-item p,.candidate-card span{min-height:42px;margin:7px 0;color:var(--muted);font-size:10px;line-height:1.45}.shop-item>div{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto}.shop-item strong{font:800 10px/1 ui-monospace,monospace}.rarity{display:inline-block;align-self:flex-start;padding:3px 5px;border-radius:3px;background:var(--green-soft);color:var(--green);font:800 9px/1 ui-monospace,monospace}.rarity.high,.rarity.rare{background:#fff1c8;color:#765711}.rarity.epic,.rarity.top{background:#fbe8e4;color:#8b352f}.shop-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.candidate-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:28px}.candidate-card{min-height:155px;text-align:left;color:var(--ink)}.candidate-card:hover{border-color:var(--green);box-shadow:0 3px 0 var(--green-soft)}.candidate-card small{color:var(--red);font:800 9px/1 ui-monospace,monospace}.candidate-card span{display:block;min-height:0}.end-card{min-height:380px}.end-mark{width:42px;height:42px;display:grid;place-items:center;margin-bottom:14px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:24px}.end-card h2{margin:9px 0;font-size:27px}.end-card .primary-button{margin-top:20px}.room-side{display:flex;flex-direction:column;gap:12px}.side-panel{padding:15px}.side-panel .section-title h2{font-size:14px}.section-title>span{color:var(--muted);font:10px/1 ui-monospace,monospace}.member-list{display:flex;flex-direction:column;gap:5px;margin-top:12px}.member-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:6px;border-radius:5px}.member-row.offline{opacity:.48}.member-row strong{color:var(--muted);font:9px/1 ui-monospace,monospace}.public-build{margin-top:12px;color:var(--muted);font-size:10px}.public-build p{margin:10px 0 5px}.public-list{display:flex;flex-wrap:wrap;gap:5px}.public-list span{padding:4px 6px;border-radius:4px;background:var(--green-soft);color:var(--green);font-size:9px}.public-list small{color:var(--muted)}.public-growth-grid{display:grid;gap:6px}.public-growth-card{display:grid;gap:4px;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}.public-growth-card b{color:var(--ink);font-size:10px}.public-growth-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.public-growth-card small,.public-growth-empty{color:var(--muted);font-size:8px}.activity-list,.chat-list{display:grid;gap:9px;margin-top:12px}.activity-item,.chat-line{display:flex;gap:5px;align-items:baseline;font-size:10px;line-height:1.4}.activity-item b,.chat-line b{color:var(--green);white-space:nowrap}.activity-item span,.chat-line span{color:var(--muted)}.chat-form{display:grid;grid-template-columns:1fr 34px;gap:6px;margin-top:12px}.chat-form input{height:34px;font-size:10px}.chat-form button{border:1px solid var(--green);border-radius:5px;background:var(--yellow);color:var(--ink);font-size:17px}.admin-page{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:42px 0}.admin-page>.section-title{align-items:flex-end;margin-bottom:24px}.admin-page h1{margin:9px 0 0;font-size:40px}.admin-section{margin-top:14px;padding:18px}.admin-table{margin-top:12px;overflow-x:auto}.admin-row{min-width:660px;display:grid;grid-template-columns:1.2fr 1.2fr .7fr .7fr .8fr;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid var(--line);font-size:11px}.admin-head{color:var(--muted);font-size:10px;font-weight:700}.content-row{grid-template-columns:1.2fr .9fr .6fr .6fr .8fr}.admin-price{width:75px;height:30px;font-size:11px}.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted);font-size:12px}.loader{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.lobby-page{grid-template-columns:1fr;gap:35px;padding:55px 0}.lobby-intro h1{font-size:clamp(48px,13vw,72px)}.room-page{grid-template-columns:1fr}.room-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chat-panel{grid-column:1 / -1}.candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.topbar{height:58px;padding:0 16px}.topbar-user>span{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-badge{font-size:9px}.room-page{width:calc(100% - 24px);padding-top:28px}.room-header h1{font-size:30px}.room-card{padding:18px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:12px}.score-strip div,.score-strip small,.score-strip strong,.score-strip span{display:block}.score-strip strong{margin-top:4px;font-size:20px}.hand-grid{grid-template-columns:repeat(4,minmax(45px,1fr))}.hand-actions,.shop-grid,.candidate-grid{grid-template-columns:1fr}.shop-actions{align-items:flex-start;flex-direction:column;gap:8px}.room-side{display:flex}.page-foot,.lobby-page{width:calc(100% - 24px)}.page-foot{padding-bottom:15px}.lobby-page{min-height:auto;padding:44px 0 60px}.join-panel,.auth-panel{padding:23px}.auth-panel h1{font-size:32px}.room-actions{align-items:flex-start}.room-actions .primary-button,.room-actions .secondary-button{width:100%}.admin-page{width:calc(100% - 24px);padding-top:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mobile-game-bar,.mobile-info-backdrop{display:none}@media(max-width:600px){.game-app.play-screen{height:100dvh;min-height:100dvh;overflow:hidden}.game-app.play-screen>.page-foot{display:none}.game-app.play-screen .room-page{display:block;width:100%;height:calc(100dvh - 58px);min-height:0;padding:8px 10px 10px;overflow:hidden}.game-app.play-screen .room-main{display:flex;flex-direction:column;height:100%;min-height:0}.game-app.play-screen .room-header{flex:0 0 auto;min-height:36px;margin:0 2px 5px;gap:8px}.game-app.play-screen .room-header h1{margin-top:4px;font-size:20px;letter-spacing:-.05em}.game-app.play-screen .room-header .eyebrow{font-size:8px}.game-app.play-screen .run-status{padding:6px 8px;font-size:9px}.mobile-game-bar{display:flex;flex:0 0 34px;align-items:center;gap:12px;margin:0 2px 6px;padding:0 9px;border:1px solid #2d493a;border-radius:8px;background:#17251f}.mobile-game-bar div{display:flex;align-items:baseline;gap:4px;color:#7f9c87;font-size:8px}.mobile-game-bar div b{color:#f1cb62;font:800 13px/1 ui-monospace,monospace}.mobile-game-bar div:first-child b{color:#e9f0e8}.mobile-info-trigger{min-height:25px;margin-left:auto;padding:0 8px;border:1px solid #536b58;border-radius:5px;background:#20372b;color:#dbe8d8;font-size:9px}.mobile-info-trigger[aria-expanded=true]{border-color:#d4ae4d;color:#f1cb62}.game-app.play-screen .game-layout{display:block;flex:1 1 auto;height:100%;min-height:0}.game-app.play-screen .run-rail{display:none}.game-app.play-screen .table-stage{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;border-radius:15px}.game-app.play-screen .opponent-orbit{gap:4px;padding:8px 8px 0}.game-app.play-screen .player-seat{grid-template-columns:22px minmax(0,1fr);gap:0 5px;padding:5px}.game-app.play-screen .seat-avatar{width:22px;height:22px}.game-app.play-screen .seat-copy b{font-size:8px}.game-app.play-screen .seat-copy small{margin-top:2px;font-size:7px}.game-app.play-screen .seat-score,.game-app.play-screen .seat-deck{display:none}.game-app.play-screen .table-core{min-height:0;overflow:hidden;padding:8px}.game-app.play-screen .table-insignia{gap:3px}.game-app.play-screen .table-insignia span{font-size:8px}.game-app.play-screen .table-insignia b{font-size:24px}.game-app.play-screen .table-insignia small{font-size:8px}.game-app.play-screen .table-message{margin:6px 0 7px;font-size:8px}.game-app.play-screen .selection-preview{width:min(410px,100%);padding:8px 10px;border-radius:10px}.game-app.play-screen .preview-top strong{margin-top:3px;font-size:14px}.game-app.play-screen .selection-count{font-size:8px}.game-app.play-screen .preview-score{margin-top:8px;grid-template-columns:48px 20px 48px;column-gap:8px;row-gap:0}.game-app.play-screen .preview-score>div{min-width:42px;gap:3px}.game-app.play-screen .preview-score small{font-size:8px}.game-app.play-screen .preview-score b{font-size:19px}.game-app.play-screen .preview-score i{font-size:14px}.game-app.play-screen .preview-rule{margin-top:6px;font-size:8px}.game-app.play-screen .preview-actions{margin-top:7px;gap:5px}.game-app.play-screen .preview-actions .primary-button,.game-app.play-screen .preview-actions .secondary-button{min-height:29px;padding:0 8px;font-size:9px}.game-app.play-screen .played-preview{margin-top:6px;font-size:8px}.game-app.play-screen .hand-zone{padding:7px 8px 8px}.game-app.play-screen .hand-zone-head{gap:6px}.game-app.play-screen .hand-zone-head h2{margin-top:3px;font-size:13px}.game-app.play-screen .hand-help{display:none}.game-app.play-screen .hand-fan{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;height:88px;min-height:88px;padding:24px 2px 5px;overflow:visible}.game-app.play-screen .hand-fan .playing-card{width:100%;min-width:0;margin-left:0;flex:none}.game-app.play-screen .hand-fan .playing-card span.card-corner{top:3px;left:3px;font-size:8px}.game-app.play-screen .hand-fan .playing-card span.card-corner b{font-size:9px}.game-app.play-screen .hand-fan .playing-card span.card-corner i{font-size:7px}.game-app.play-screen .hand-fan .playing-card .card-suit{font-size:clamp(20px,8vw,30px)!important}.game-app.play-screen .hand-fan .playing-card span.card-pip{right:3px;bottom:3px;font-size:7px}.game-app.play-screen .hand-fan .playing-card.selected{transform:translateY(calc(var(--card-lift, 0px) * -1 - 8px)) rotate(var(--card-angle, 0deg)) scale(1.04)}.game-app.play-screen .hand-sort-bar{margin-top:0;padding-top:6px;gap:5px}.game-app.play-screen .hand-sort-label{font-size:8px}.game-app.play-screen .hand-sort-label small{font-size:7px}.game-app.play-screen .item-actions{max-height:27px;overflow:hidden;margin-top:4px;padding-top:4px;gap:4px;font-size:8px}.game-app.play-screen .item-button{padding:4px 5px;font-size:8px}.game-app.play-screen .submission-note{display:none}.mobile-info-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;background:#030a07ad}.mobile-info-sheet{width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;padding:15px 12px 22px;border:1px solid #3e5a49;border-bottom:0;border-radius:16px 16px 0 0;background:#101c17;box-shadow:0 -18px 45px #00000059}.mobile-info-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.mobile-info-head h2{margin:5px 0 0;color:#eef4eb;font-size:20px}.mobile-info-close{min-height:29px;padding:0 9px;border:1px solid #536b58;border-radius:5px;background:#20372b;color:#dbe8d8;font-size:9px}.mobile-info-content{display:grid;gap:8px}.mobile-info-content .side-panel{padding:11px;box-shadow:none}.mobile-info-content .side-panel h2{font-size:13px}}@media(max-width:360px){.mobile-game-bar{gap:7px;padding:0 7px}.mobile-game-bar div{gap:2px;font-size:7px}.mobile-game-bar div b{font-size:12px}.mobile-info-trigger{padding:0 6px;font-size:8px}.game-app.play-screen .table-insignia b{font-size:22px}.game-app.play-screen .hand-fan{height:82px;min-height:82px;padding-top:21px}}.game-app{min-height:100vh;background:#0f1714;color:#ecf2e8}.game-app .topbar{border-bottom-color:#26352e;background:#121d19;color:#dce8dc}.game-app .brand,.game-app .topbar-user,.game-app .room-badge{color:#dce8dc}.game-app .brand span{background:#d9b75a;color:#18251f}.game-app .link-button{color:#91a99a}.game-app .link-button:hover{color:#f1cb62}.game-app .page-foot{color:#718579}.game-app .room-page{width:min(1560px,calc(100% - 42px));padding:28px 0 24px;grid-template-columns:minmax(0,1fr) 286px;gap:18px}.game-app .room-page{align-items:stretch}.game-app .room-side{min-height:0}.game-app .room-header{margin-bottom:16px;color:#dce8dc}.game-app .room-header h1{color:#f1f5ed;font-size:clamp(26px,3.4vw,42px);letter-spacing:-.05em}.game-app .room-header .eyebrow{color:#82998a}.game-app .run-status{border-color:#38564a;background:#182721;color:#a8c2ae}.game-app .run-status.playing,.game-app .run-status.tie{border-color:#877341;background:#2b2a1b;color:#f1cb62}.game-app .side-panel{border-color:#293c33;background:#17231e;box-shadow:0 12px 28px #00000029}.game-app .side-panel h2,.game-app .side-panel .section-title>span{color:#e7eee5}.game-app .side-panel .section-title>span,.game-app .side-panel small,.game-app .side-panel .empty-copy{color:#849b8d}.game-app .member-row{color:#d7e4d8}.game-app .member-row:hover{background:#20332a}.game-app .member-row strong{color:#e5c35e}.game-app .public-list span{background:#244538;color:#b9dcc0}.game-app .activity-item span,.game-app .chat-line span{color:#9bb0a2}.game-app .activity-item b,.game-app .chat-line b{color:#e3c35e}.game-app .chat-form input{border-color:#324a3f;background:#0f1915;color:#e7eee5}.game-app .chat-form button{border-color:#b6943e;background:#d9b75a}.game-app .chat-panel{min-height:0;display:flex;flex:1 1 0;flex-direction:column}.game-app .chat-scroll-wrap{position:relative;min-height:0;flex:1 1 auto;overflow:hidden;padding:12px 9px 0 0}.game-app .chat-list{height:100%;min-height:0;margin-top:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.game-app .chat-list::-webkit-scrollbar{display:none;width:0;height:0}.game-app .chat-scrollbar{position:absolute;top:3px;right:0;bottom:3px;width:4px;border-radius:5px;background:#4c4c4c57;cursor:pointer}.game-app .chat-scrollbar[hidden]{display:none}.game-app .chat-scrollbar>span{position:absolute;top:0;left:0;width:100%;min-height:24px;border-radius:inherit;background:#797979;cursor:grab;transition:background .15s ease}.game-app .chat-scrollbar>span:hover,.game-app .chat-scrollbar>span:active{background:#ececec}.game-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;min-width:0}.run-rail{display:flex;flex-direction:column;gap:8px;min-width:0}.rail-stat{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:5px;padding:11px 12px;border:1px solid #2c4639;border-radius:10px;background:#17231e;box-shadow:0 5px 14px #00000024}.rail-stat small{grid-column:1 / -1;color:#809689;font-size:9px}.rail-stat strong{color:#f1f5ed;font:800 22px/1 ui-monospace,monospace}.rail-stat span{color:#d9b75a;font-size:10px}.rail-stat-main{border-color:#76633a;background:#29261a}.rail-stat-main strong{color:#f1cb62;font-size:26px}.type-reference{margin-top:auto;padding:12px 9px;border:1px solid #2c4639;border-radius:10px;background:#131d19}.type-reference-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px;padding-bottom:8px;border-bottom:1px solid #2c4036}.type-reference-head span{color:#e4c15e;font-size:11px;font-weight:800}.type-reference-head small{color:#789080;font-size:8px}.type-reference-grid{display:grid;gap:3px;margin-top:7px}.type-reference-row{display:grid;grid-template-columns:minmax(0,1fr) 22px 10px 18px;align-items:center;gap:2px;padding:3px 2px;color:#a7baa9;font-size:9px}.type-reference-row strong{color:#4bb1e8;text-align:right;font:800 10px/1 ui-monospace,monospace}.type-reference-row i{color:#e9ecdd;font-style:normal;text-align:center}.type-reference-row b{color:#f06655;font:800 10px/1 ui-monospace,monospace}.table-stage{position:relative;display:grid;grid-template-rows:auto minmax(270px,1fr) auto;min-width:0;min-height:720px;overflow:hidden;border:1px solid #315745;border-radius:22px;background:#1a4a38;box-shadow:inset 0 0 0 7px #08191229,inset 0 0 60px #05120c61,0 18px 38px #00000038}.table-stage:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;pointer-events:none;border:1px solid rgba(188,218,170,.16);border-radius:16px}.opponent-orbit{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;padding:18px 18px 0}.player-seat{min-width:0;display:grid;grid-template-columns:27px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:0 7px;padding:7px 8px;border:1px solid rgba(178,215,185,.18);border-radius:9px;background:#0a1d1552;transition:border-color .2s ease,background .2s ease,transform .2s ease}.player-seat.is-submitted{border-color:#e6c05794;background:#47391652;transform:translateY(-2px)}.player-seat.is-own{border-color:#ddbe5875}.seat-avatar{grid-row:1 / span 2;width:27px;height:27px;border-color:#d9b75a6b}.seat-copy{min-width:0}.seat-copy b,.seat-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-copy b{color:#e4eee3;font-size:10px}.seat-copy small{margin-top:3px;color:#91ad99;font-size:8px}.seat-score{color:#e6c25b;font:800 10px/1 ui-monospace,monospace}.seat-deck{grid-column:2 / -1;margin-top:5px;color:#7f9a87;font-size:8px}.table-core{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:20px;text-align:center}.table-insignia{display:grid;justify-items:center;gap:5px}.table-insignia span{color:#97b89a;font:800 9px/1 ui-monospace,monospace;letter-spacing:.12em}.table-insignia b{color:#f4e5ae;font-size:clamp(25px,4vw,42px);letter-spacing:-.06em;text-shadow:0 2px 0 rgba(0,0,0,.2)}.table-insignia small{color:#94b29a;font-size:10px}.table-message{margin:10px 0 14px;color:#b3cbb5;font-size:11px}.selection-preview{width:min(450px,100%);padding:14px 16px 12px;border:1px solid rgba(205,226,177,.2);border-radius:13px;background:#08191273;text-align:left;box-shadow:0 9px 24px #0000001f;transition:border-color .2s ease,transform .2s ease}.selection-preview.has-selection{border-color:#e7c054a6;transform:translateY(-3px)}.preview-top,.preview-score,.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.preview-top strong{display:block;margin-top:4px;color:#f3e6b0;font-size:17px}.preview-kicker{color:#e5c35e;font:800 9px/1 ui-monospace,monospace;letter-spacing:.12em}.selection-count{color:#94b49c;font:10px/1 ui-monospace,monospace}.preview-score{display:grid;grid-template-columns:58px 24px 58px;align-items:end;justify-content:start;column-gap:12px;margin-top:14px}.preview-score>div{display:grid;gap:4px;min-width:0}.preview-score small{color:#89a48f;font-size:9px}.preview-score b{color:#4bb1e8;font:800 25px/1 ui-monospace,monospace}.preview-score .preview-multiplier{display:block;color:#4bb1e8;font:800 25px/1 ui-monospace,monospace}.multiplier-breakdown{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.multiplier-breakdown b{font:inherit}.multiplier-breakdown small{color:#f1cb62;font-size:.68em;font-weight:800}.preview-score i{align-self:end;justify-self:center;padding-bottom:2px;color:#edf1e4;font:800 18px/1 ui-monospace,monospace;font-style:normal}.preview-rule{margin-top:9px;color:#86a18d;font-size:9px;line-height:1.4}.preview-actions{justify-content:flex-end;margin-top:12px}.preview-actions .primary-button,.preview-actions .secondary-button{min-height:34px;padding:0 10px;font-size:10px}.preview-actions .secondary-button{border-color:#466052;background:#1c3027;color:#dbe7d9}.preview-actions .primary-button{border-color:#d3ae4d;background:#d3ae4d;color:#162119;box-shadow:0 3px #826825}.played-preview{display:flex;justify-content:center;margin-top:15px;color:#6e927b;font-size:9px}.hand-zone{position:relative;z-index:2;min-width:0;overflow:hidden;padding:14px 18px 16px;border-top:1px solid rgba(213,230,193,.16);background:#0a181280}.hand-zone-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hand-zone-head h2{margin:6px 0 0;color:#eff4eb;font-size:18px}.hand-help{color:#87a28c;font-size:9px}.hand-fan{display:flex;justify-content:center;align-items:flex-end;width:100%;min-width:0;box-sizing:border-box;min-height:178px;padding:40px 6px 12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.hand-fan .playing-card{flex:0 0 clamp(58px,8vw,76px);width:clamp(58px,8vw,76px);min-width:52px;margin-left:clamp(-10px,-1vw,-5px);transform-origin:center bottom;transform:translateY(calc(var(--card-lift, 0px) * -1)) rotate(var(--card-angle, 0deg));z-index:1}.hand-fan .arc-1-0{--card-angle: 0deg;--card-lift: 0px;--card-depth: 1}.hand-fan .arc-2-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 2}.hand-fan .arc-2-1{--card-angle: 8deg;--card-lift: 0px;--card-depth: 2}.hand-fan .arc-3-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 2}.hand-fan .arc-3-1{--card-angle: 0deg;--card-lift: 14px;--card-depth: 3}.hand-fan .arc-3-2{--card-angle: 8deg;--card-lift: 0px;--card-depth: 2}.hand-fan .arc-4-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 2}.hand-fan .arc-4-1{--card-angle: -2.67deg;--card-lift: 12px;--card-depth: 3}.hand-fan .arc-4-2{--card-angle: 2.67deg;--card-lift: 12px;--card-depth: 3}.hand-fan .arc-4-3{--card-angle: 8deg;--card-lift: 0px;--card-depth: 2}.hand-fan .arc-5-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 3}.hand-fan .arc-5-1{--card-angle: -4deg;--card-lift: 11px;--card-depth: 4}.hand-fan .arc-5-2{--card-angle: 0deg;--card-lift: 18px;--card-depth: 5}.hand-fan .arc-5-3{--card-angle: 4deg;--card-lift: 11px;--card-depth: 4}.hand-fan .arc-5-4{--card-angle: 8deg;--card-lift: 0px;--card-depth: 3}.hand-fan .arc-6-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 3}.hand-fan .arc-6-1{--card-angle: -4.8deg;--card-lift: 10px;--card-depth: 4}.hand-fan .arc-6-2{--card-angle: -1.6deg;--card-lift: 18px;--card-depth: 5}.hand-fan .arc-6-3{--card-angle: 1.6deg;--card-lift: 18px;--card-depth: 5}.hand-fan .arc-6-4{--card-angle: 4.8deg;--card-lift: 10px;--card-depth: 4}.hand-fan .arc-6-5{--card-angle: 8deg;--card-lift: 0px;--card-depth: 3}.hand-fan .arc-7-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 4}.hand-fan .arc-7-1{--card-angle: -5.33deg;--card-lift: 9px;--card-depth: 5}.hand-fan .arc-7-2{--card-angle: -2.67deg;--card-lift: 17px;--card-depth: 6}.hand-fan .arc-7-3{--card-angle: 0deg;--card-lift: 22px;--card-depth: 7}.hand-fan .arc-7-4{--card-angle: 2.67deg;--card-lift: 17px;--card-depth: 6}.hand-fan .arc-7-5{--card-angle: 5.33deg;--card-lift: 9px;--card-depth: 5}.hand-fan .arc-7-6{--card-angle: 8deg;--card-lift: 0px;--card-depth: 4}.hand-fan .arc-8-0{--card-angle: -8deg;--card-lift: 0px;--card-depth: 4}.hand-fan .arc-8-1{--card-angle: -5.71deg;--card-lift: 8px;--card-depth: 5}.hand-fan .arc-8-2{--card-angle: -3.43deg;--card-lift: 16px;--card-depth: 6}.hand-fan .arc-8-3{--card-angle: -1.14deg;--card-lift: 21px;--card-depth: 7}.hand-fan .arc-8-4{--card-angle: 1.14deg;--card-lift: 21px;--card-depth: 7}.hand-fan .arc-8-5{--card-angle: 3.43deg;--card-lift: 16px;--card-depth: 6}.hand-fan .arc-8-6{--card-angle: 5.71deg;--card-lift: 8px;--card-depth: 5}.hand-fan .arc-8-7{--card-angle: 8deg;--card-lift: 0px;--card-depth: 4}.hand-fan .playing-card:first-child{margin-left:0}.playing-card{aspect-ratio:.67;overflow:visible;border-color:#d9ddd4;border-radius:7px;background:#f7f8ef;box-shadow:0 5px #060f0a47,0 0 0 1px #0c1f1447;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.playing-card:disabled{opacity:1;filter:none}.hand-fan .playing-card:hover:not(:disabled):not(.selected){z-index:20;box-shadow:0 5px #060f0a47,0 0 0 2px #ececec,0 0 18px #ececec6b}.hand-fan .playing-card.selected{z-index:1;transform:translateY(calc(var(--card-lift, 0px) * -1 - 14px)) rotate(var(--card-angle, 0deg)) scale(1.06);border-color:#e1b948;box-shadow:0 12px #08140d33,0 0 0 2px #e1b9485c}.playing-card span.card-corner{position:absolute;top:5px;left:6px;z-index:3;display:grid;justify-items:center;gap:1px;color:currentColor;font:800 11px/1 ui-monospace,monospace;pointer-events:none}.playing-card span.card-corner b{font-size:12px}.playing-card span.card-corner i{font-style:normal;font-size:10px}.playing-card .card-suit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;color:currentColor;font-size:clamp(28px,4vw,48px)!important;font-weight:500;pointer-events:none}.playing-card span.card-pip{position:absolute;right:6px;bottom:5px;z-index:2;display:block;color:currentColor;font-size:10px;pointer-events:none}.playing-card.red{color:#c84d49}.playing-card.black{color:#18261e}.item-actions{margin-top:5px;padding-top:9px;border-top-color:#cfe2c126}.item-actions>span{color:#e3c15d}.item-button{border-color:#3a5547;background:#1c3027;color:#c8dcc9}.submission-note{color:#789582}.settlement-stage{--reveal-card-slot-width: 243px;min-height:680px;padding:22px;border:1px solid #315745;border-radius:22px;background:#153b2e;box-shadow:inset 0 0 0 7px #08191226,0 18px 38px #0003}.settlement-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid rgba(208,231,191,.15)}.settlement-hero h2{margin:8px 0 5px;color:#f4f7ed;font-size:clamp(24px,3vw,35px)}.settlement-hero p{margin:0;color:#91ad98;font-size:11px}.settlement-live{display:flex;align-items:baseline;justify-content:center;gap:5px;padding:10px 12px;border:1px solid #6b5b32;border-radius:10px;background:#282418;white-space:nowrap}.settlement-live b{color:#4bb1e8;font:800 23px/1 ui-monospace,monospace}.settlement-live b:nth-of-type(2){color:#f16a59}.settlement-live span{color:#9aa991;font-size:9px}.settlement-live i{color:#eee8d8;font-style:normal}.reveal-table{display:grid;gap:8px;margin:18px 0}.reveal-player{position:relative;padding:22px 12px 18px;border:1px solid rgba(204,228,192,.12);border-radius:11px;background:#09191247;transition:opacity .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease}.reveal-player:not(.current):not(.finished){opacity:.48}.reveal-player.current{border-color:#d2ad4e;background:#3a301559;box-shadow:0 0 0 2px #d2ad4e38,0 0 22px #d2ad4e1f;transform:translate(4px)}.reveal-player.finished{border-color:#6d9e7652}.reveal-player-head{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px}.rank-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2c5744;color:#d9e6d5;font:800 10px/1 ui-monospace,monospace}.reveal-player.current .rank-dot{background:#d4ae4d;color:#19251d}.reveal-player-head b{color:#dce9da;font-size:12px}.reveal-player-head small{color:#8ca790;font-size:9px}.reveal-player-body{display:grid;grid-template-columns:var(--reveal-card-slot-width) minmax(220px,260px) minmax(0,1fr);align-items:center;justify-content:start;gap:16px;margin:22px 0 0 32px}.reveal-cards{display:flex;width:var(--reveal-card-slot-width);gap:7px;min-height:84px;margin:0;align-items:center}.reveal-card{position:relative;display:grid;place-items:center;width:43px;height:60px;border:1px solid #d4d8cd;border-radius:5px;background:#f7f8ef;box-shadow:0 3px #0003;transform:translateY(0);transform-style:preserve-3d;transition:transform .52s cubic-bezier(.22,.8,.22,1),box-shadow .35s ease}.reveal-card.face-down{border-color:#d1ad4c;background:#742f34;color:#f1d28b}.reveal-card.face-down:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(247,222,150,.75);border-radius:3px}.card-back-mark{position:relative;z-index:1;font:800 10px/1 ui-monospace,monospace}.reveal-card.face-up{color:#1d2b21}.reveal-card.reveal-enter{animation:card-flip .48s ease both}.reveal-card.scoring-card{transform:translateY(-12%)}.reveal-card.scoring-lift{animation:scoring-lift .55s cubic-bezier(.22,.8,.22,1) both}.reveal-card.face-up b{color:#c84d49;font-size:24px;font-weight:500}.reveal-card.face-up:nth-child(odd) b{color:#1d2b21}.reveal-corner{position:absolute;top:4px;left:5px;display:grid;gap:1px;font:800 9px/1 ui-monospace,monospace}.reveal-corner i{font-style:normal;font-size:8px}.card-earned{position:absolute;top:-21px;left:50%;z-index:3;padding:0;border:0;border-radius:0;background:transparent;color:#fff;font:900 15px/1 ui-monospace,monospace;white-space:nowrap;transform:translate(-50%);text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.75)}.card-earned-value-roll{position:relative;display:inline-block;min-width:2ch;height:1em;overflow:hidden;vertical-align:top}.card-earned-value-roll>span{display:block;line-height:1}.card-earned-value-roll .roll-out,.card-earned-value-roll .roll-in{position:absolute;top:0;right:0;bottom:0;left:0}.card-earned-value-roll .roll-out{color:#fff;animation:score-roll-out .42s cubic-bezier(.2,.75,.3,1) both}.card-earned-value-roll .roll-in{color:#f1cb62;animation:score-roll-in .42s cubic-bezier(.2,.75,.3,1) both}.card-earned-enhanced{color:#f1cb62}.card-earned-new{animation:card-score-rise .52s cubic-bezier(.22,.8,.22,1) both;will-change:transform,opacity}.reveal-active{box-shadow:0 0 0 2px #ebc65c,0 5px #0003}.reveal-score-stack{min-width:0;width:100%;display:grid;align-content:start;gap:6px}.reveal-score-panel{min-width:184px;width:100%;box-sizing:border-box;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(204,228,192,.14);border-radius:7px;background:#0919124d}.reveal-score-content{min-width:0;display:grid;align-items:center;gap:5px}.reveal-type-label{display:block;min-width:max-content;white-space:nowrap;word-break:keep-all;line-height:1}.reveal-equation{display:flex;min-width:0;width:100%;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:5px;margin:0;color:#9fb89f;font-size:9px;text-align:left;white-space:nowrap}.reveal-equation strong{color:#4bb1e8;font:800 17px/1 ui-monospace,monospace}.reveal-equation strong:nth-of-type(2){color:#f16a59}.reveal-equation i,.reveal-equation em{color:#f0ead9;font-style:normal}.reveal-equation b,.reveal-equation .multiplier-single{color:#f1cb62;font:800 17px/1 ui-monospace,monospace}.reveal-equation .multiplier-breakdown b{color:#f1cb62}.reveal-equation .multiplier-breakdown small{color:#ececec;font-size:.68em;font-weight:800}.reveal-base-note{margin:7px 0 0 32px;color:#b9c0b6;font-size:10px}.rolling-number{position:relative;display:inline-block;flex:0 0 var(--rolling-number-width, 3ch);width:var(--rolling-number-width, 3ch);min-width:var(--rolling-number-width, 3ch);height:1.2em;overflow:hidden;vertical-align:baseline;text-align:center;font-variant-numeric:tabular-nums}.rolling-number.roll-score{flex-basis:max(4ch,var(--rolling-number-width, 4ch));width:max(4ch,var(--rolling-number-width, 4ch));min-width:max(4ch,var(--rolling-number-width, 4ch))}.rolling-number>span{display:block;line-height:1.2;white-space:nowrap}.rolling-number .roll-out,.rolling-number .roll-in{position:absolute;top:0;right:0;bottom:0;left:0}.rolling-number .roll-out{animation:score-roll-out .48s cubic-bezier(.2,.75,.3,1) both}.rolling-number .roll-in{animation:score-roll-in .48s cubic-bezier(.2,.75,.3,1) both}.settlement-skip-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:12px 14px;border:1px solid rgba(236,236,236,.18);border-radius:10px;background:#242424}.settlement-skip-panel>div{display:grid;gap:4px}.settlement-skip-panel strong{color:#ececec;font-size:13px}.settlement-skip-panel span{color:#797979;font-size:10px}.settlement-skip-panel.is-skipped{border-color:#ececec57}.settlement-skip-button{min-width:94px;margin:0}@keyframes card-flip{0%{opacity:.25;transform:rotateY(90deg) translateY(-8px)}to{opacity:1;transform:rotateY(0) translateY(0)}}@keyframes scoring-lift{0%{transform:translateY(0)}to{transform:translateY(-12%)}}@keyframes card-score-rise{0%{opacity:0;transform:translate(-50%,20px) scale(.78)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes score-roll-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes score-roll-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes ability-jolt{0%,to{transform:translate(0)}20%{transform:translate(-3px) rotate(-1deg)}45%{transform:translate(3px) rotate(1deg)}70%{transform:translate(-2px) rotate(-.5deg)}}.hand-sort-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;padding-top:9px;border-top:1px solid rgba(207,226,193,.12)}.hand-sort-label{color:#a7c1aa;font-size:10px}.hand-sort-label small{margin-left:5px;color:#718d78;font-size:9px}.playing-card.dragging{opacity:.38}.playing-card.drag-over{outline:2px solid #d4ae4d;outline-offset:3px}.hand-sort-bar{align-items:stretch;padding:9px 10px;border:1px solid rgba(207,226,193,.18);border-radius:8px;background:#0b1f166b}.hand-sort-heading{display:grid;align-content:center;gap:3px;min-width:0}.hand-sort-heading .hand-sort-label{color:#f1cb62;font-size:11px;font-weight:800}.hand-sort-heading small{color:#789582;font-size:9px}.sort-actions{display:flex;align-items:stretch;gap:6px}.sort-action{min-width:68px;padding:0 11px;border:1px solid #d7aa3d;border-radius:6px;background:linear-gradient(180deg,#f7b83f,#dc8a21);color:#241d0d;font-size:10px;font-weight:900;cursor:pointer;box-shadow:inset 0 1px #ffffff6b,0 2px #0003;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}.sort-action:hover:not(:disabled),.sort-action:focus-visible{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 0 0 2px #f0c95f42,0 4px 12px #00000038;outline:0}.sort-action:active:not(:disabled){transform:translateY(1px)}.sort-action:disabled{opacity:.42;cursor:not-allowed}.hand-fan [data-card-index]{will-change:transform}@media(max-width:420px){.hand-sort-bar{gap:6px;padding:7px 8px}.hand-sort-heading small{font-size:8px}.sort-actions{gap:4px}.sort-action{min-width:55px;padding:0 8px;font-size:9px}}.player-seat.is-takeover{border-color:#e0915094;background:#5030184d}.game-app>.feedback{position:fixed;left:50%;top:50%;z-index:60;width:min(430px,calc(100% - 40px));margin:0;transform:translate(-50%,-50%);text-align:center;font-size:14px;line-height:1.55;box-shadow:0 18px 45px #00000061;animation:feedback-pop .22s ease-out both}.game-app>.feedback.error{border-color:#cf776e;background:#4a2828;color:#ffe2d9}.game-app>.feedback.notice{border-color:#9b8643;background:#39331e;color:#f6e6aa}@keyframes feedback-pop{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(min-width:601px){.game-app .type-reference-row{font-size:10px}.game-app .type-reference-row strong,.game-app .type-reference-row b,.game-app .seat-copy b{font-size:11px}.game-app .seat-copy small,.game-app .seat-deck{font-size:9px}.game-app .seat-score{font-size:11px}.game-app .table-insignia span{font-size:10px}.game-app .table-insignia small{font-size:11px}.game-app .table-message{font-size:12px}.game-app .preview-kicker,.game-app .selection-count,.game-app .preview-score small,.game-app .preview-rule,.game-app .preview-actions .primary-button,.game-app .preview-actions .secondary-button{font-size:10px}.game-app .hand-help,.game-app .submission-note,.game-app .activity-item,.game-app .chat-line{font-size:11px}.game-app .member-row small{font-size:10px}.game-app .public-build,.game-app .public-list span,.game-app .public-growth-card{font-size:11px}}@media(max-width:1120px){.game-app .room-page{grid-template-columns:minmax(0,1fr) 245px}.game-layout{grid-template-columns:126px minmax(0,1fr)}.type-reference-row{grid-template-columns:minmax(0,1fr) 18px 9px 15px;font-size:8px}}@media(max-width:920px){.game-app .room-page{grid-template-columns:1fr}.game-app .room-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-app .chat-panel{grid-column:1 / -1}.game-layout{grid-template-columns:1fr}.run-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.type-reference{grid-column:1 / -1;margin-top:0}.type-reference-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.type-reference-head{border-bottom:0;padding-bottom:0}.table-stage{min-height:690px}}@media(max-width:600px){.game-app .room-page{width:calc(100% - 20px);padding-top:18px}.game-app .room-header h1{font-size:28px}.game-app .room-header{gap:8px}.game-app .room-side{display:flex}.run-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.type-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-stage{min-height:660px;border-radius:16px}.opponent-orbit{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px 12px 0}.player-seat{padding:6px}.seat-deck{display:none}.table-core{padding:18px 12px}.table-insignia b{font-size:30px}.selection-preview{padding:12px}.preview-score b,.preview-score .preview-multiplier{font-size:21px}.hand-zone{padding:12px 10px}.hand-zone-head h2{font-size:16px}.hand-fan{justify-content:flex-start;min-height:156px;padding:32px 3px 10px}.hand-fan .playing-card{flex-basis:62px;width:62px}.settlement-stage{min-height:auto;padding:15px 12px;border-radius:16px}.settlement-hero{align-items:flex-start;flex-direction:column}.settlement-live{align-self:stretch;justify-content:center}.reveal-player-head{grid-template-columns:22px minmax(0,1fr)}.reveal-player-head small{grid-column:2}.reveal-cards,.reveal-equation{margin-left:30px}.reveal-card{width:38px;height:54px}.reveal-card.face-up b{font-size:20px}}@media(max-width:600px){.reveal-player{padding:18px 10px 16px}.reveal-player-body{grid-template-columns:1fr;gap:8px;margin-top:18px;margin-left:22px}.reveal-cards{width:auto;min-height:76px}.reveal-score-panel{min-width:0;width:100%;box-sizing:border-box}.reveal-base-note{margin-left:22px}}@media(min-width:601px)and (max-width:760px){.reveal-player-body{grid-template-columns:var(--reveal-card-slot-width) minmax(0,1fr)}.reveal-score-panel{min-width:0}}.playing-card:hover:not(:disabled):not(.selected){transform:none;box-shadow:0 0 0 2px #f0c95f6b,0 0 16px #f0c95f94,0 3px #1d27221f}.hand-fan .playing-card:hover:not(:disabled):not(.selected){z-index:20;transform:translateY(calc(var(--card-lift, 0px) * -1)) rotate(var(--card-angle, 0deg));box-shadow:0 0 0 2px #f0c95f85,0 0 18px #f0c95f9e,0 5px #060f0a47}.table-docks{position:absolute;right:18px;bottom:218px;z-index:8;display:flex;align-items:flex-end;gap:10px}.discard-dock,.deck-dock{display:grid;justify-items:center;gap:6px;color:#a9c2aa;font-size:9px}.discard-stack,.deck-button{position:relative;display:grid;place-items:center;width:54px;height:74px;border:1px solid #bdc9ba;border-radius:7px;background:#ecefe6;color:#8f3d3b;box-shadow:0 4px #05100a47,0 0 0 2px #10241742}.discard-stack:before,.discard-stack:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(143,61,59,.24);border-radius:4px}.discard-stack:before{transform:rotate(-5deg)}.discard-stack:after{transform:rotate(5deg)}.discard-stack span,.deck-button span{position:relative;z-index:1;font:900 18px/1 ui-monospace,monospace}.deck-button{border-color:#e0bc59;background:#7c343b;color:#f3d78c;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.deck-button:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(247,218,143,.72);border-radius:4px;background:repeating-linear-gradient(45deg,rgba(255,235,170,.12) 0 2px,transparent 2px 5px)}.deck-button:hover,.deck-button:focus-visible{border-color:#f1d36f;box-shadow:0 0 0 2px #f0c95f73,0 0 18px #f0c95f7a,0 4px #05100a47;outline:0}.deck-tooltip{position:absolute;right:0;bottom:calc(100% + 8px);padding:6px 8px;border:1px solid #6d7e68;border-radius:5px;background:#15271e;color:#f3d88c;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.deck-dock:hover .deck-tooltip,.deck-button:focus-visible+.deck-tooltip{opacity:1;transform:translateY(0)}.deck-dock small{color:#f1cb62;font:800 10px/1 ui-monospace,monospace}.discard-dock small{color:#9bb49d}@media(min-width:601px){.table-stage{isolation:isolate}.opponent-orbit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:block;padding:0;pointer-events:none}.opponent-orbit .player-seat{position:absolute;width:min(178px,22%);pointer-events:auto}.opponent-orbit .seat-1{top:16px;left:50%;transform:translate(-50%)}.opponent-orbit .seat-2{top:94px;right:18px}.opponent-orbit .seat-3{top:43%;right:14px}.opponent-orbit .seat-4{bottom:224px;right:18px}.opponent-orbit .seat-5{bottom:224px;left:18px}.opponent-orbit .seat-6{top:43%;left:14px}.opponent-orbit .seat-7{top:94px;left:18px}.table-core{grid-row:2}.hand-zone{grid-row:3}.table-motion-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;overflow:hidden;pointer-events:none}}.table-motion-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;overflow:hidden;pointer-events:none}.discard-motion,.draw-motion{position:absolute;right:32px;bottom:228px;display:flex;gap:3px}.draw-motion{right:82px;bottom:218px}.motion-card{position:relative;display:grid;place-items:center;width:40px;height:56px;border:1px solid #d3d9ce;border-radius:5px;background:#f5f7ee;box-shadow:0 4px #0003;font:800 15px/1 ui-monospace,monospace}.motion-card i{margin-left:2px;font-style:normal;font-size:13px}.motion-card.red{color:#c84d49}.motion-card.black{color:#18261e}.motion-card-back{border-color:#e0bc59;background:#7c343b;color:#f3d78c}.motion-card-back span{font-size:10px}.discard-fly{animation:discard-fly .78s cubic-bezier(.18,.78,.28,1) both;animation-delay:calc(var(--motion-index) * 55ms)}.draw-fly{animation:draw-fly .82s cubic-bezier(.18,.78,.28,1) both;animation-delay:calc(var(--motion-index) * 55ms)}@keyframes discard-fly{0%{opacity:1;transform:translate(-110px,100px) rotate(-12deg) scale(.9)}to{opacity:0;transform:translate(34px,-24px) rotate(24deg) scale(.72)}}@keyframes draw-fly{0%{opacity:0;transform:translate(32px,-28px) rotate(14deg) scale(.72)}35%{opacity:1}to{opacity:0;transform:translate(-130px,92px) rotate(-7deg) scale(.88)}}.deck-view-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;background:#030a07c2}.deck-view{width:min(1320px,calc(100vw - 32px));max-height:min(780px,calc(100vh - 48px));overflow:auto;padding:24px;border:1px solid #6b806b;border-radius:16px;background:#12231b;box-shadow:0 24px 70px #00000073}.deck-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.deck-view-head h2{margin:7px 0 0;color:#eef4eb;font-size:28px}.deck-view-close{min-height:34px;padding:0 11px;border:1px solid #536b58;border-radius:6px;background:#20372b;color:#dbe8d8;cursor:pointer}.deck-view-close:hover{border-color:#d4ae4d;color:#f1cb62}.deck-view-count{display:flex;align-items:baseline;gap:7px;margin:24px 0 14px}.deck-view-count strong{color:#f1cb62;font:900 42px/1 ui-monospace,monospace}.deck-view-count span{color:#e8eee4;font:800 18px/1 ui-monospace,monospace}.deck-view-count small{margin-left:8px;color:#91ad99;font-size:11px}.deck-view-tabs{display:flex;gap:6px;margin-bottom:14px}.deck-view-tabs button{min-height:30px;padding:0 10px;border:1px solid #3d5a48;border-radius:5px;background:#1b3226;color:#aac1ac;cursor:pointer}.deck-view-tabs button.active,.deck-view-tabs button:hover{border-color:#d4ae4d;color:#f1cb62}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:7px;padding-top:14px;border-top:1px solid rgba(210,231,195,.14)}.deck-tile{position:relative;min-height:72px;display:grid;place-items:center;border:1px solid #ccd4c8;border-radius:6px;background:#f5f7ee;box-shadow:0 3px #0000002e}.deck-tile b{font:900 21px/1 ui-monospace,monospace}.deck-tile i{margin-top:-4px;font-style:normal;font-size:22px}.deck-tile small{position:absolute;right:5px;bottom:4px;color:#3f5143;font:800 9px/1 ui-monospace,monospace}.deck-tile.red{color:#c84d49}.deck-tile.black{color:#18261e}.deck-empty{grid-column:1 / -1;padding:36px;color:#91ad99;text-align:center}@media(max-width:600px){.table-docks{right:8px;bottom:176px;gap:5px}.discard-stack,.deck-button{width:35px;height:48px;border-radius:5px}.discard-stack span,.deck-button span{font-size:12px}.discard-dock,.deck-dock{gap:3px;font-size:7px}.deck-dock small{font-size:8px}.deck-tooltip{display:none}.table-motion-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;overflow:hidden;pointer-events:none}.discard-motion,.draw-motion{right:18px;bottom:180px}.draw-motion{right:45px;bottom:172px}.motion-card{width:27px;height:38px;font-size:10px}.motion-card i{font-size:9px}.deck-view-backdrop{padding:10px}.deck-view{max-height:calc(100dvh - 20px);padding:15px 12px;border-radius:13px}.deck-view-head h2{font-size:21px}.deck-view-count{margin:17px 0 10px}.deck-view-count strong{font-size:34px}.deck-view-count span{font-size:15px}.deck-view-count small{font-size:9px}.deck-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.deck-tile{min-height:50px}.deck-tile b{font-size:14px}.deck-tile i{font-size:16px}.deck-tile small{right:2px;bottom:2px;font-size:7px}.opponent-orbit{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px 8px 0;pointer-events:auto}.opponent-orbit .player-seat{position:relative;inset:auto;width:auto;transform:none}}.card-art,.reveal-art,.motion-art,.deck-tile-art{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.card-art,.reveal-art,.motion-art{border-radius:inherit;pointer-events:none}.card-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.reveal-card{width:43px;height:auto;aspect-ratio:392 / 585;overflow:visible}.reveal-card.face-down{background:#7c343b}.reveal-card.face-down:after{display:none}.card-earned{z-index:2;padding:0;border:0;border-radius:0;background:transparent}.motion-card{width:40px;height:auto;aspect-ratio:392 / 585;overflow:hidden;padding:0}.motion-card-back{background:#7c343b}.deck-button{height:auto;aspect-ratio:392 / 585;padding:0;overflow:hidden;background:url(/cards/0.png?v=20260820-1) center / cover no-repeat}.deck-button:before{display:none}.deck-button>span{display:none}.deck-tile{min-height:0;aspect-ratio:392 / 585;overflow:hidden;padding:0}.deck-tile-art{position:absolute;top:0;right:0;bottom:0;left:0}@media(max-width:600px){.reveal-card{width:38px;height:auto}.motion-card{width:27px;height:auto}.deck-tile{min-height:0}}:root{color:#ececec;background:#1f1f1f;--ink: #ECECEC;--muted: #797979;--line: #4C4C4C;--paper: #141414;--green: #ECECEC;--green-soft: #242424;--yellow: #ECECEC;--red: #ECECEC;--blue: #242424;--shadow: 0 10px 28px rgba(0, 0, 0, .28)}body,.app-shell,.game-app{background:#1f1f1f;color:#ececec}button:focus-visible,input:focus-visible,a:focus-visible{outline-color:#ececec}.topbar,.game-app .topbar{background:#141414;border-color:#4c4c4c;color:#ececec}.brand,.brand-mark,.game-app .brand,.game-app .topbar-user,.game-app .room-badge,.room-badge b,.game-app .room-header,.game-app .room-header h1{color:#ececec}.brand span,.brand-mark span,.game-app .brand span{background:#ececec;color:#141414}.topbar-user,.room-badge,.link-button,.mini-button,.game-app .link-button,.game-app .page-foot,.eyebrow,.muted,.lobby-intro>p:not(.eyebrow),.auth-footnote,.form-hint,.page-foot,label{color:#797979}.link-button:hover,.mini-button:hover,.game-app .link-button:hover{color:#ececec}.auth-panel,.join-panel,.room-card,.side-panel,.score-strip,.admin-section,.game-app .side-panel,.rail-stat,.type-reference,.selection-preview,.settlement-stage,.deck-view{border-color:#4c4c4c;background:#141414;box-shadow:var(--shadow)}.auth-tabs{background:#242424}.tab-button.active{background:#141414;color:#ececec;box-shadow:none}input,.secondary-button,.member-tile,.shop-item,.candidate-card,.item-button,.game-app .chat-form input,.deck-view-close,.deck-view-tabs button{border-color:#4c4c4c;background:#242424;color:#ececec}input:focus{border-color:#ececec;box-shadow:0 0 0 3px #ececec1f}.primary-button,.game-app .chat-form button,.sort-action{border-color:#ececec;background:#ececec;color:#141414;box-shadow:0 3px #4c4c4c}.secondary-button:hover:not(:disabled),.item-button:hover:not(:disabled),.deck-view-close:hover,.deck-view-tabs button:hover,.deck-view-tabs button.active,.candidate-card:hover{border-color:#ececec;color:#ececec;box-shadow:none}.feedback.error,.feedback.notice,.game-app>.feedback.error,.game-app>.feedback.notice{border-color:#4c4c4c;background:#262626;color:#ececec}.online-dot:before,.online-dot.online:before{background:#ececec}.avatar{border-color:#4c4c4c;background:#242424;color:#ececec}.avatar-1,.avatar-2,.avatar-3{background:#262626}.member-tile.empty{color:#797979}.score-strip{background:#ececec;color:#141414}.score-strip small,.score-strip span{color:#4c4c4c}.game-app .room-header .eyebrow,.game-app .run-status,.game-app .side-panel .section-title>span,.game-app .side-panel small,.game-app .side-panel .empty-copy,.game-app .activity-item span,.game-app .chat-line span,.game-app .member-row strong,.rail-stat small,.type-reference-head small,.type-reference-row,.hand-sort-label,.hand-sort-label small,.hand-sort-heading small,.discard-dock,.deck-dock,.discard-dock small,.deck-view-count small,.deck-empty{color:#797979}.game-app .run-status,.game-app .run-status.playing,.game-app .run-status.tie,.game-app .run-status.shop,.game-app .run-status.settlement,.game-app .run-status.complete{border-color:#4c4c4c;background:#242424;color:#ececec}.game-app .side-panel h2,.game-app .side-panel .section-title>span,.game-app .member-row,.game-app .activity-item b,.game-app .chat-line b,.rail-stat strong,.rail-stat span,.rail-stat-main strong,.type-reference-head span,.type-reference-row strong,.type-reference-row i,.type-reference-row b{color:#ececec}.game-app .type-reference-row b.is-enhanced{color:#f1cb62}.game-app .member-row:hover,.game-app .public-list span{background:#242424;color:#ececec}.game-app .public-growth-card{border-color:#4c4c4c;background:#242424}.game-app .public-growth-card b{color:#ececec}.game-app .public-growth-card p,.game-app .public-growth-card small,.game-app .public-growth-empty{color:#797979}.table-stage,.settlement-stage{border-color:#4c4c4c;background:#141414;box-shadow:inset 0 0 0 7px #4c4c4c2e,inset 0 0 50px #00000057,var(--shadow)}.table-stage:before{border-color:#ececec24}.player-seat{border-color:#4c4c4ce6;background:#242424}.player-seat.is-submitted,.player-seat.is-own,.player-seat.is-takeover{border-color:#ececec;background:#262626}.table-core,.table-insignia,.table-message,.selection-preview,.selection-preview h2,.hand-zone-head h2,.settlement-stage h2,.reveal-player-head b,.deck-view-head h2,.deck-view-count span{color:#ececec}.selection-preview,.selection-preview.has-selection{border-color:#4c4c4c;background:#242424;transform:none}.hand-zone{border-color:#4c4c4c;background:#141414}.hand-sort-bar{border-color:#4c4c4c;background:#242424}.hand-sort-heading .hand-sort-label{color:#ececec}.sort-action:hover:not(:disabled),.sort-action:focus-visible{background:#ececec;box-shadow:0 0 0 2px #ececec33;filter:none}.playing-card.selected{border-color:#ececec;box-shadow:0 0 0 2px #ececec85,0 0 18px #ececec4d}.playing-card:hover:not(:disabled):not(.selected),.hand-fan .playing-card:hover:not(:disabled):not(.selected){box-shadow:0 0 0 2px #ececec80,0 0 16px #ececec4d,0 3px #00000040}.playing-card.drag-over{outline-color:#ececec}.discard-stack{border-color:#4c4c4c;background:#242424;color:#ececec;box-shadow:0 4px #00000047}.discard-stack:before,.discard-stack:after{border-color:#ececec33}.deck-button:hover,.deck-button:focus-visible{border-color:#ececec;box-shadow:0 0 0 2px #ececec4d,0 0 18px #ececec40,0 4px #00000047}.deck-tooltip{border-color:#4c4c4c;background:#262626;color:#ececec}.deck-dock small{color:#ececec}.motion-card{border-color:#4c4c4c;box-shadow:0 4px #00000042}.settlement-stage{background:#141414}.settlement-hero,.reveal-player{color:#ececec}.rank-dot,.reveal-player.current .rank-dot{background:#242424;color:#ececec}.reveal-player-head small,.reveal-equation{color:#797979}.reveal-equation strong,.reveal-equation strong:nth-of-type(2),.reveal-equation b,.reveal-equation .multiplier-single,.reveal-equation i,.reveal-equation em{color:#ececec}.reveal-score-panel>*,.reveal-equation>*,.reveal-equation .multiplier-breakdown{align-self:center}.reveal-ability-list{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}.reveal-ability-row{display:inline-flex;align-items:center;justify-content:space-between;gap:7px;width:max-content;max-width:100%;box-sizing:border-box;padding:4px 7px;border:1px solid rgba(236,236,236,.24);border-radius:5px;background:#242424b8;color:#ececec;font-size:10px;line-height:1.1}.reveal-ability-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reveal-ability-row b{flex:0 0 auto;color:#ececec;font:900 12px/1 ui-monospace,monospace}.reveal-ability-row.is-pulsing{animation:ability-jolt .38s ease-in-out both}.rolling-number.roll-multiplier .roll-out{color:#ececec}.rolling-number.roll-multiplier .roll-in{color:#f1cb62}.rolling-number.multiplier-enhanced>span:not(.roll-out){color:#f1cb62}.rolling-number.multiplier-enhanced>span:not(.roll-out):only-child{color:#f1cb62}.game-app .preview-score .preview-multiplier,.game-app .preview-score .preview-multiplier .multiplier-single,.game-app .preview-score .preview-multiplier .multiplier-breakdown b{color:#ececec}.reveal-equation .multiplier-breakdown,.game-app .preview-score .preview-multiplier .multiplier-breakdown{gap:6px}.reveal-equation .multiplier-breakdown b,.game-app .preview-score .preview-multiplier .multiplier-breakdown b{color:#ececec}.reveal-equation .multiplier-breakdown small,.game-app .preview-score .preview-multiplier .multiplier-breakdown small{color:#f1cb62;font-size:.78em}.reveal-active{box-shadow:0 0 0 2px #ececec,0 5px #00000040}.deck-view-backdrop{background:#000000c7}.deck-view{border-color:#4c4c4c;background:#141414}.deck-view-close:hover,.deck-view-tabs button:hover,.deck-view-tabs button.active{background:#262626}.deck-grid{border-color:#4c4c4c}.game-app.play-screen .mobile-game-bar{border-color:#4c4c4c;background:#141414}.game-app.play-screen .mobile-game-bar div,.game-app.play-screen .mobile-game-bar div b,.game-app.play-screen .mobile-game-bar div:first-child b{color:#ececec}.game-app.play-screen .mobile-info-trigger,.game-app.play-screen .mobile-info-close{border-color:#4c4c4c;background:#242424;color:#ececec}.game-app.play-screen .mobile-info-trigger[aria-expanded=true]{border-color:#ececec;color:#ececec}.game-app.play-screen .mobile-info-backdrop{background:#000000c7}.game-app.play-screen .mobile-info-sheet{border-color:#4c4c4c;background:#141414}.game-app.play-screen .mobile-info-head h2,.game-app .seat-copy b,.game-app .seat-copy small,.game-app .seat-score,.game-app .table-insignia span,.game-app .table-insignia b,.game-app .table-insignia small,.game-app .table-message,.game-app .preview-kicker,.game-app .preview-score small,.game-app .preview-score b,.game-app .preview-score i,.game-app .played-preview,.game-app .selection-count,.game-app .preview-rule,.game-app .hand-help{color:#ececec}.game-app .preview-score small,.game-app .preview-rule,.game-app .hand-help,.game-app .played-preview,.game-app .seat-copy small,.game-app .table-insignia span,.game-app .table-insignia small{color:#797979}.game-app .preview-score b{color:#ececec}.game-app .rarity,.game-app .rarity.high,.game-app .rarity.rare,.game-app .rarity.epic,.game-app .rarity.top{background:#242424;color:#ececec}.game-app .candidate-card small,.game-app .coin-count,.game-app .score-row em{color:#ececec}.game-app .shop-actions,.game-app .item-actions{border-color:#4c4c4c}@media(min-width:601px){.game-app .table-stage{min-height:790px}.game-app .hand-zone{padding:18px 24px 22px}.game-app .hand-fan{min-height:224px;padding:48px 12px 16px;overflow-x:hidden}.game-app .hand-fan .playing-card{flex-basis:clamp(72px,9vw,98px);width:clamp(72px,9vw,98px);min-width:72px;margin-left:clamp(-12px,-1vw,-7px)}}@media(min-width:601px)and (max-width:1120px){.game-app .table-stage{min-height:760px}.game-app .hand-fan{min-height:205px;padding-left:6px;padding-right:6px}.game-app .hand-fan .playing-card{flex-basis:clamp(64px,8vw,82px);width:clamp(64px,8vw,82px);min-width:64px}}html,body,#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}img{-webkit-user-drag:none;user-drag:none}button[data-action=copy-room]{display:none}.hand-fan.drag-active{cursor:grabbing}.hand-fan.drag-active .playing-card:not(.dragging){cursor:grabbing}.hand-fan .playing-card.dragging{opacity:.16;filter:grayscale(.42);cursor:grabbing}.hand-fan .playing-card.drag-over{z-index:30;outline:2px solid #ECECEC;outline-offset:3px}.room-code-copy{display:inline-flex;align-items:center;min-height:25px;margin-left:4px;padding:0 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;font:inherit;letter-spacing:.12em;cursor:pointer}.room-code-copy:hover,.room-code-copy:focus-visible{border-color:#ececec;background:#242424;color:#ececec;outline:0}.deck-view{overflow-x:auto}.deck-grid{grid-template-columns:repeat(var(--deck-columns, 13),minmax(0,1fr));gap:4px;min-width:720px}.deck-tile.removed{opacity:0;filter:none;pointer-events:none}.deck-tile-spacer{visibility:hidden;aspect-ratio:392 / 585;pointer-events:none}.card-flight-track{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;overflow:visible;pointer-events:none}.card-flight{position:absolute;top:0;left:0;width:var(--from-w);height:var(--from-h);visibility:hidden;opacity:0;overflow:hidden;box-sizing:border-box;transform-origin:center bottom;border:1px solid #d9ddd4;border-radius:7px;background:#f7f8ef;box-shadow:0 5px #060f0a47,0 0 0 1px #0c1f1447;will-change:left,top,width,height,transform,opacity}.card-flight.red{color:#c84d49}.card-flight.black{color:#18261e}.card-flight.discard-card-flight{animation:discard-card-flight .78s cubic-bezier(.18,.78,.28,1) both;animation-delay:calc(var(--motion-index) * 55ms)}.card-flight.draw-card-flight{animation:draw-card-flight .82s cubic-bezier(.18,.78,.28,1) both;animation-delay:calc(var(--motion-index) * 55ms)}.playing-card.flight-hidden{opacity:0!important;pointer-events:none}@keyframes discard-card-flight{0%{opacity:1;transform:translate3d(var(--from-x),var(--from-y),0) scale(1)}to{opacity:0;transform:translate3d(var(--to-x),var(--to-y),0) scale(var(--to-scale-x),var(--to-scale-y))}}@keyframes draw-card-flight{0%{opacity:.2;transform:translate3d(var(--from-x),var(--from-y),0) scale(1)}18%{opacity:1}to{opacity:1;transform:translate3d(var(--to-x),var(--to-y),0) scale(var(--to-scale-x),var(--to-scale-y))}}@media(max-width:600px){.deck-grid{min-width:620px}.card-flight{border-radius:5px}}.game-app.play-screen .hand-sort-bar{flex-direction:column;align-items:center;justify-content:center;width:min(220px,100%);margin:7px auto 0;padding:7px 9px 9px;gap:5px;border:1px solid #4C4C4C;border-radius:8px;background:#242424}.game-app.play-screen .hand-sort-heading{display:contents}.game-app.play-screen .hand-sort-heading small{display:none}.game-app.play-screen .hand-sort-heading .hand-sort-label{font-size:0;line-height:1;color:#ececec}.game-app.play-screen .hand-sort-heading .hand-sort-label:after{content:"理牌";font-size:14px;font-weight:900}.game-app.play-screen .sort-actions{justify-content:center;gap:6px}.game-app.play-screen .sort-action{min-width:78px;min-height:34px;padding:0 10px;border-color:#ececec;border-radius:5px;background:#ececec;color:#141414;font-size:0;box-shadow:0 2px #4c4c4c}.game-app.play-screen .sort-action[data-mode=rank]:after{content:"点数";font-size:12px}.game-app.play-screen .sort-action[data-mode=suit]:after{content:"花色";font-size:12px}.deck-grid{grid-template-columns:repeat(var(--deck-columns, 13),50px);column-gap:0;row-gap:14px;min-width:720px;justify-content:center}.deck-tile{width:94px;justify-self:start;z-index:calc(var(--deck-column) + 1)}.deck-grid .deck-tile:nth-child(13n+1){z-index:1}.deck-grid .deck-tile:nth-child(13n+2){z-index:2}.deck-grid .deck-tile:nth-child(13n+3){z-index:3}.deck-grid .deck-tile:nth-child(13n+4){z-index:4}.deck-grid .deck-tile:nth-child(13n+5){z-index:5}.deck-grid .deck-tile:nth-child(13n+6){z-index:6}.deck-grid .deck-tile:nth-child(13n+7){z-index:7}.deck-grid .deck-tile:nth-child(13n+8){z-index:8}.deck-grid .deck-tile:nth-child(13n+9){z-index:9}.deck-grid .deck-tile:nth-child(13n+10){z-index:10}.deck-grid .deck-tile:nth-child(13n+11){z-index:11}.deck-grid .deck-tile:nth-child(13n+12){z-index:12}.deck-grid .deck-tile:nth-child(13n+13){z-index:13}.table-motion-layer{position:fixed!important;top:0;right:0;bottom:0;left:0;z-index:140;overflow:visible!important}.card-flight-track{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.card-flight{position:fixed!important}.card-flight.discard-card-flight,.card-flight.draw-card-flight{animation:none!important}@media(max-width:600px){.game-app.play-screen .hand-sort-bar{width:min(210px,100%);margin-top:5px;padding:6px 8px 8px;gap:4px}.game-app.play-screen .hand-sort-heading .hand-sort-label:after{font-size:12px}.game-app.play-screen .sort-actions{gap:5px}.game-app.play-screen .sort-action{min-width:68px;min-height:30px;padding:0 8px}.game-app.play-screen .sort-action[data-mode=rank]:after,.game-app.play-screen .sort-action[data-mode=suit]:after{font-size:11px}.deck-grid{grid-template-columns:repeat(var(--deck-columns, 13),36px);row-gap:10px;min-width:520px}.deck-tile{width:68px}}.candidate-card{min-height:0;aspect-ratio:3 / 4;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}.candidate-card .candidate-art{display:block;width:min(100%,112px);aspect-ratio:392 / 585;object-fit:cover;margin:8px auto 4px;border-radius:6px}.candidate-card span{margin-top:auto}.candidate-card-remote{cursor:default}.candidate-card-remote b{margin-top:28px}@media(max-width:600px){.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.shop-item{min-height:0;width:min(100%,clamp(170px,17vw,210px));aspect-ratio:3 / 4;box-sizing:border-box;justify-self:center}@media(max-width:600px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-item{width:100%}}.reveal-table{grid-template-columns:repeat(2,minmax(0,1fr))}.reveal-own-name{color:#f1cb62!important}.shop-title{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:76px}.shop-title>div{grid-column:2;text-align:center}.shop-title h2{margin-top:9px;font-size:clamp(24px,3vw,34px);line-height:1.08}.shop-title .coin-count{grid-column:3;justify-self:end}.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shop-item{width:100%;max-width:none}.shop-slot-empty{border-style:dashed;background:#1b1b1b;color:#797979}.shop-slot-empty b{color:#797979}.shop-slot-empty p{color:#5f5f5f}.shop-actions{flex-direction:column;justify-content:center;gap:10px;text-align:center}.shop-skip-button{min-width:170px;justify-content:center}@media(max-width:600px){.reveal-table{grid-template-columns:1fr}.shop-title{display:flex;min-height:0;flex-direction:column;align-items:center;gap:10px}.shop-title .coin-count{align-self:center}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reveal-player{height:196px;box-sizing:border-box;overflow:hidden}.reveal-base-note{min-height:13px;line-height:13px}.reveal-base-note-placeholder{visibility:hidden}.reveal-score-watermark{position:absolute;right:16px;bottom:8px;z-index:0;color:#ececec;font:900 66px/.9 ui-monospace,monospace;letter-spacing:0;opacity:.09;pointer-events:none}@media(max-width:600px){.reveal-player{height:238px}.reveal-score-watermark{right:10px;bottom:8px;font-size:48px}}.settlement-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;align-items:start;gap:18px}.settlement-main{min-width:0}.reveal-table{grid-template-columns:1fr}.settlement-ranking{min-width:0;margin-top:132px;padding:14px;border:1px solid #4C4C4C;border-radius:10px;background:#242424}.settlement-ranking-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:1px solid #4C4C4C}.settlement-ranking-head h3{margin:7px 0 0;color:#ececec;font-size:18px}.settlement-ranking-head small{color:#797979;font:800 10px/1 ui-monospace,monospace}.settlement-ranking-list{display:grid;gap:5px;margin-top:11px}.settlement-rank-row{display:grid;grid-template-columns:21px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid rgba(76,76,76,.65);will-change:transform}.settlement-rank-row:last-child{border-bottom:0}.settlement-rank-row>span{color:#797979;font:800 11px/1 ui-monospace,monospace}.settlement-rank-row>div{min-width:0}.settlement-rank-row b{display:block;overflow:hidden;color:#ececec;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settlement-rank-row small{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px;color:#797979;font-size:9px}.settlement-rank-row strong{color:#ececec;font:900 18px/1 ui-monospace,monospace;white-space:nowrap}.hp-bar{display:inline-flex;align-items:center;gap:3px;height:9px;vertical-align:middle}.settlement-rank-row>.hp-bar{grid-column:2;justify-self:start;margin-top:-1px}.hp-bar i{display:block;width:8px;height:2px;border:0;border-radius:0;background:#ececec}.hp-bar i.empty{background:#4c4c4c}.hp-bar i.damage{background:#c84d49}.settlement-damage{color:#c84d49;font-style:normal}.settlement-damage-reveal{animation:settlement-damage-fade-in .1s ease-out both}.settlement-rank-row.damage-revealed .hp-bar i.damage{animation:settlement-hp-damage .1s ease-out both}@keyframes settlement-damage-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes settlement-hp-damage{0%{background:#ececec}60%{background:#f1cb62}to{background:#c84d49}}.game-app .score-row .hp-bar{grid-column:2 / -1}.game-app .score-row .hp-bar i{width:9px;height:2px}.settlement-ranking-empty{margin:16px 0 4px;color:#797979;font-size:10px;line-height:1.5}.sound-toggle{min-width:42px;text-align:center}.settlement-ranking .reveal-own-name{color:#f1cb62!important}.spectator-switcher{display:grid;gap:7px;margin:14px auto 0;max-width:min(100%,460px);text-align:center}.spectator-switcher>span{color:#797979;font-size:10px}.spectator-switcher>div{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.spectator-switcher button{min-height:30px;padding:5px 10px;border:1px solid #4C4C4C;border-radius:5px;background:#242424;color:#ececec;font:700 11px/1 inherit;cursor:pointer}.spectator-switcher button:hover,.spectator-switcher button.active{border-color:#ececec;background:#262626;box-shadow:0 0 0 2px #ececec21}.game-app .end-summary{color:#797979}.game-app .score-row.is-winner{border-color:#ececec;background:#242424}.game-app .score-row.is-winner b{color:#f1cb62}.game-app .score-row.is-eliminated{opacity:.6}.game-app .score-row .score-health{color:#797979;font:800 10px/1 ui-monospace,monospace;font-style:normal;white-space:nowrap}.game-app .member-row.is-eliminated{opacity:.48}@media(max-width:920px){.settlement-layout{grid-template-columns:1fr}.settlement-ranking{order:2;margin-top:0}}@media(max-width:600px){.spectator-switcher{margin-top:10px}.spectator-switcher button{min-height:28px;padding-inline:8px;font-size:10px}.score-row{grid-template-columns:24px minmax(0,1fr) auto}.score-row .score-health{grid-column:2 / -1;margin-top:-4px}}@media(min-width:921px){.settlement-stage{--reveal-card-slot-width: 384px}.reveal-player{height:260px}.reveal-player-head b{font-size:16px}.reveal-player-body{grid-template-columns:var(--reveal-card-slot-width) minmax(300px,340px) minmax(0,1fr);gap:18px;margin-top:44px}.reveal-cards{gap:8px;min-height:124px}.reveal-card{width:70px}.card-earned{top:-28px;font-size:20px}.reveal-score-panel{min-width:300px;padding:12px 13px;gap:12px}.reveal-type-label{font-size:17px}.reveal-equation{gap:7px;font-size:12px}.reveal-equation strong,.reveal-equation b,.reveal-equation .multiplier-single{font-size:21px}.reveal-base-note{margin-top:11px;font-size:13px;line-height:16px}}.shop-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:0;box-sizing:border-box;align-items:center;padding:24px 18px 20px;border-width:1px;border-style:solid;border-radius:8px;text-align:center;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.shop-item:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 9px 22px #00000042}.shop-item:not(:disabled):focus-visible{outline:2px solid #ECECEC;outline-offset:3px}.shop-item:disabled{cursor:not-allowed;opacity:.52}.shop-item b{max-width:16ch;margin:8px auto 0;color:#ececec;font-size:clamp(16px,1.55vw,22px);line-height:1.25}.shop-item-rarity{display:block;margin:6px auto 0;color:#b8b8b8;font:800 10px/1 ui-monospace,monospace}.shop-item p{max-width:25ch;min-height:0;margin:14px auto auto;color:#b8b8b8;font-size:clamp(11px,1vw,13px);line-height:1.6}.shop-item>div{width:100%;justify-content:center;margin-top:auto}.shop-item strong{color:#ececec;font-size:clamp(20px,2vw,30px)}.shop-rarity-common,.shop-rarity-low{border-color:#797979;background:#292929}.shop-rarity-common b,.shop-rarity-low b{color:#f0f0f0}.shop-rarity-uncommon,.shop-rarity-mid{border-color:#4d9ad6;background:#1d2c38}.shop-rarity-uncommon b,.shop-rarity-mid b,.shop-rarity-uncommon strong,.shop-rarity-mid strong{color:#a9d9ff}.shop-rarity-rare,.shop-rarity-high{border-color:#c29a3b;background:#382e1b}.shop-rarity-rare b,.shop-rarity-high b,.shop-rarity-rare strong,.shop-rarity-high strong{color:#f3d68b}.shop-rarity-epic,.shop-rarity-top{border-color:#d26a62;background:#382020}.shop-rarity-epic b,.shop-rarity-top b,.shop-rarity-epic strong,.shop-rarity-top strong{color:#ffd0c7}.shop-slot-empty{cursor:default}.shop-item.is-sold{position:relative;overflow:hidden;cursor:not-allowed}.shop-item.is-sold:disabled{opacity:1}.shop-item.is-sold>*{position:relative;z-index:1}.shop-item.is-sold:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:#00000080;pointer-events:none}.shop-item.is-sold:before{content:"已售出";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;color:#fff;font-size:clamp(22px,2.6vw,34px);font-weight:900;letter-spacing:.08em;text-shadow:0 2px 3px rgba(0,0,0,.45);pointer-events:none}@media(max-width:600px){.shop-item{padding:18px 12px 16px}.shop-item b{font-size:15px}.shop-item p{font-size:10px}.shop-item strong{font-size:21px}}.shop-turn-title{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:1.3em;overflow:hidden}.shop-turn-name{color:#ececec;font-size:inherit;font-weight:900;white-space:nowrap}.shop-turn-name.is-own{color:#f1cb62}.shop-turn-name-viewport{position:relative;display:inline-block;min-width:5ch;height:1.3em;overflow:hidden;vertical-align:middle}.shop-turn-name-viewport .shop-turn-name{position:absolute;inset:0 auto auto 0}.shop-turn-name-out{animation:purchase-turn-out .48s cubic-bezier(.22,.8,.22,1) both}.shop-turn-name-in{animation:purchase-turn-in .48s cubic-bezier(.22,.8,.22,1) both}@keyframes purchase-turn-out{0%{transform:translate(0);opacity:1}to{transform:translate(-110%);opacity:0}}@keyframes purchase-turn-in{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}.purchase-cursors{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;pointer-events:none}.purchase-cursor{position:fixed;display:flex;align-items:flex-start;gap:7px;transform:translate(-2px,-2px);transition:left .08s linear,top .08s linear;pointer-events:none}.purchase-cursor-pointer{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #ECECEC;transform:rotate(-35deg);filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.purchase-cursor-label{margin-top:5px;padding:3px 6px;border:1px solid #4C4C4C;border-radius:4px;background:#141414e0;color:#ececec;font-size:10px;white-space:nowrap}.purchase-cursor.is-touch .purchase-cursor-pointer{width:18px;height:18px;border:2px solid #F1CB62;border-radius:50%;background:#f1cb6238;transform:translate(-5px,-5px)}.purchase-cursor:not(.is-touch) .purchase-cursor-pointer{width:22px;height:26px;flex:0 0 22px;border:0;background:url(/purchase-cursor.svg) center / contain no-repeat;transform:rotate(-12deg);filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.shop-item.purchase-pulse,.candidate-card.purchase-pulse,.shop-skip-button.purchase-pulse{animation:purchase-control-press .58s cubic-bezier(.22,.8,.22,1)}@keyframes purchase-control-press{0%{transform:scale(1)}22%{transform:scale(.94)}48%{transform:scale(1.035)}70%{transform:scale(.985)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.shop-turn-name-out,.shop-turn-name-in,.shop-item.purchase-pulse,.candidate-card.purchase-pulse,.shop-skip-button.purchase-pulse{animation:none}}.room-card[data-purchase-stage]{position:relative}.room-card[data-purchase-stage]>.purchase-cursors{position:absolute;top:0;right:0;bottom:0;left:0}.room-card[data-purchase-stage] .purchase-cursor{position:absolute}.settlement-main{container-type:inline-size}.settlement-main .reveal-player{height:300px}.settlement-main .reveal-player-body{grid-template-columns:minmax(0,1fr) minmax(210px,.85fr);gap:16px;margin-inline:0}.settlement-main .reveal-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-left:0}.settlement-main .reveal-card{width:100%;max-width:70px;min-width:0}.settlement-main .reveal-score-panel{min-width:0;grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px;padding:12px 8px}.settlement-main .reveal-equation{display:grid;grid-template-columns:minmax(3ch,1fr) 1ch minmax(3ch,1fr) 1ch minmax(4ch,1.2fr);align-items:center;justify-items:center;gap:5px;margin-left:0;text-align:center}.settlement-main .reveal-equation .roll-points{grid-area:1 / 1}.settlement-main .reveal-equation>span:first-of-type{grid-area:2 / 1}.settlement-main .reveal-equation>i{grid-area:1 / 2}.settlement-main .reveal-equation .roll-multiplier{grid-area:1 / 3}.settlement-main .reveal-equation>span:last-of-type{grid-area:2 / 3}.settlement-main .reveal-equation>em{grid-area:1 / 4}.settlement-main .reveal-equation .roll-score{grid-area:1 / 5}@container (max-width: 520px){.settlement-main .reveal-player{height:340px}.settlement-main .reveal-player-body{grid-template-columns:minmax(0,1fr);margin-top:30px}.settlement-main .reveal-cards{max-width:380px;min-height:100px}.settlement-main .reveal-score-stack{max-width:360px}.settlement-main .reveal-base-note{margin-top:8px}}.lobby-shell{--ink: #ececec;--paper: #141414;--line: #4c4c4c;--muted: #a4a4a4}.lobby-shell .lobby-page{width:min(1100px,calc(100% - 48px));grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:clamp(36px,6vw,80px)}.lobby-shell .lobby-intro h1{font-size:clamp(44px,5.3vw,68px);line-height:1.08;letter-spacing:-.04em}.lobby-shell .lobby-intro>p{color:#b4b4b4;font-size:15px;line-height:1.8}.lobby-shell .intro-rule{font-size:11px;line-height:1.5;letter-spacing:.06em}.lobby-shell .join-panel{padding:28px}.lobby-shell .section-title{margin-bottom:22px}.lobby-shell .section-title h2{margin:0;font-size:24px}.lobby-shell .lobby-create-button{width:100%;min-height:80px;padding:16px 20px;text-align:left}.lobby-shell .lobby-create-copy{display:grid;gap:8px;line-height:1.2}.lobby-create-copy strong{font-size:18px}.lobby-create-copy small{font-size:12px;font-weight:500;opacity:.72}.lobby-create-button svg{flex:0 0 auto}.lobby-join-divider{display:flex;align-items:center;gap:12px;margin:26px 0 18px;color:#a4a4a4;font-size:12px}.lobby-join-divider:before,.lobby-join-divider:after{content:"";flex:1;height:1px;background:#3a3a3a}.lobby-shell .lobby-join-form{gap:9px;margin-top:0}.lobby-join-form label{color:#b4b4b4;font-size:12px}.lobby-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.lobby-code-row input{min-width:0;height:46px;font-size:15px;letter-spacing:.08em}.lobby-code-row .secondary-button{min-height:46px;gap:12px}.lobby-shell .form-hint{margin:18px 0 0;color:#a4a4a4;font-size:12px;line-height:1.6}.game-app .room-page{width:min(1600px,calc(100% - 40px));grid-template-columns:minmax(0,1fr) 266px;gap:18px;padding-top:22px}.game-app .room-main,.game-app .room-side,.game-app .room-main>section{min-width:0}.game-app .room-header{margin-bottom:16px;align-items:center}.game-app .room-header h1{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.04em}.game-app .game-layout{grid-template-columns:112px minmax(0,1fr)}.game-app .rail-stat{padding:12px}.game-app .rail-stat strong{font-size:26px}.game-app .room-side .section-title h2{font-size:15px}.game-app .room-side .member-row b{font-size:13px}.game-app .room-side .member-row small{font-size:11px;line-height:1.4}.game-app .room-side .activity-item,.game-app .room-side .chat-line{font-size:12px;line-height:1.5}.game-app .room-side .chat-form input{font-size:12px}.game-app .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px}.game-app .room-badge{position:static;transform:none;justify-self:center;min-width:0}.game-app.play-screen .table-stage{display:flex;flex-direction:column;height:clamp(600px,calc(100dvh - 180px),820px);min-height:0;container-type:inline-size}.game-app.play-screen .table-core{flex:1 1 auto;min-height:0;padding:18px 16px}.game-app.play-screen .table-insignia b{font-size:clamp(20px,2vw,26px)}.game-app.play-screen .table-message{margin:10px 0 16px;font-size:12px;line-height:1.5}.game-app.play-screen .selection-preview{width:min(450px,100%);padding:16px 18px;box-shadow:none}.game-app.play-screen .preview-actions{gap:10px;margin-top:16px}.game-app.play-screen .preview-actions button{min-height:40px;padding-inline:14px;font-size:12px}.game-app.play-screen .preview-actions .secondary-button{border-color:#797979;background:#262626;color:#ececec}.game-app.play-screen .opponent-orbit{position:relative;inset:auto;display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 0;flex:0 0 auto}.game-app.play-screen .opponent-orbit .player-seat{position:relative;inset:auto;transform:none;width:auto;flex:1 1 145px;max-width:210px}.game-app.play-screen .hand-zone{flex:0 0 auto;padding:14px 160px 14px 32px}.game-app.play-screen .hand-zone-head h2{font-size:18px}.game-app.play-screen .hand-fan{display:grid;grid-template-columns:repeat(var(--hand-count, 8),minmax(0,1fr));align-items:end;justify-items:start;min-height:184px;height:auto;margin-inline:auto;padding:28px 28px 16px 0;overflow:visible}.game-app.play-screen .hand-fan .playing-card{width:clamp(64px,12cqw,112px);min-width:0;max-width:calc(100% + 28px);margin-left:0}.game-app.play-screen .table-docks{right:14px;bottom:112px}.game-app.play-screen .hand-sort-bar{margin-top:4px}.game-app.play-screen .submission-note{display:none}@media(min-width:601px)and (max-width:1100px){.game-app .room-page{grid-template-columns:minmax(0,1fr)}.game-app .room-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.game-app .room-side .chat-panel{grid-column:auto}}@media(max-width:760px){.lobby-shell .lobby-page{width:min(480px,calc(100% - 32px));grid-template-columns:minmax(0,1fr);gap:28px;padding:36px 0}.lobby-shell .lobby-intro h1{font-size:44px;margin-bottom:14px}.lobby-shell .lobby-intro>p{font-size:14px}.lobby-shell .intro-rule{margin-top:18px}.lobby-shell .join-panel{padding:22px}}@media(max-width:600px){.game-app .topbar{gap:8px;padding-inline:12px}.game-app .room-badge{gap:5px}.game-app .room-badge .link-button{display:none}.game-app .topbar-user{gap:7px}.game-app .topbar-user>span{max-width:5ch}.game-app.play-screen .room-page{width:100%;padding:8px 10px 10px}.game-app .room-header h1{font-size:20px}.game-app.play-screen .table-stage{height:100%;max-height:none}.game-app.play-screen .table-core{padding:8px 10px}.game-app.play-screen .table-insignia b{font-size:20px}.game-app.play-screen .table-message{margin:6px 0 8px;font-size:10px}.game-app.play-screen .selection-preview{padding:10px 12px}.game-app.play-screen .preview-actions{margin-top:10px;gap:8px}.game-app.play-screen .preview-actions button{min-height:36px;padding-inline:10px;font-size:11px}.game-app.play-screen .hand-zone{padding:10px 14px 12px}.game-app.play-screen .hand-zone-head h2{font-size:14px}.game-app.play-screen .hand-fan{min-height:140px;padding:24px 22px 10px 0}.game-app.play-screen .hand-fan .playing-card{width:calc(100% + 20px);max-width:72px;margin:0}.game-app.play-screen .table-docks{right:10px;bottom:206px;transform:scale(.78);transform-origin:right bottom}.game-app.play-screen .opponent-orbit{padding:6px 8px 0;gap:5px}.game-app.play-screen .opponent-orbit .player-seat{flex-basis:115px}}
