html[data-ui=language-light] .app-shell--intro .eyebrow{color:#b9c6a9;letter-spacing:.11em;text-align:center;font-size:.76rem}html[data-ui=language-light] .intro-copy{text-align:center;color:#f4f1e8;letter-spacing:.08em;margin:12px 0 20px;font-size:clamp(1rem,5vw,1.35rem);font-weight:900;line-height:1.25}html[data-ui=language-light] .mode-card{text-align:center;place-items:center;min-height:76px;display:grid}html[data-ui=language-light] .mode-card strong{margin:0;font-size:1.25rem}html[data-ui=language-light] .mode-card>span{display:none}html[data-ui=language-light] .rule-strip{grid-template-columns:1fr;gap:7px;margin-top:16px;display:grid}html[data-ui=language-light] .intro-rule{background:#10130f;border:1px solid #30372d;border-radius:12px;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:8px 11px;display:grid}html[data-ui=language-light] .intro-rule>strong{color:#f4f1e8;letter-spacing:.08em;font-size:.8rem;font-weight:950}html[data-ui=language-light] .rule-strip .intro-rule>span{color:#aeb8a5;text-align:left;letter-spacing:0;background:0 0;border:0;border-radius:0;grid-column:auto;min-height:0;padding:0;font-size:.75rem;font-weight:700;display:block}html[data-ui=language-light] .intro-rules-button{color:#d9e7c8;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #46503e;border-radius:12px;width:100%;min-height:44px;margin-top:10px;font-weight:900}html[data-ui=language-light] .rules-dialog{color:#f4f1e8;background:#131711;border:1px solid #58644e;border-radius:18px;width:min(100% - 28px,480px);max-height:min(82dvh,720px);margin:auto;padding:0;overflow:auto;box-shadow:0 28px 80px #0000008c}html[data-ui=language-light] .rules-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030503c7}html[data-ui=language-light] .rules-dialog__header{z-index:1;background:#171c15;border-bottom:1px solid #343a31;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}html[data-ui=language-light] .rules-dialog__header h2{letter-spacing:.1em;margin:0;font-size:1.15rem}html[data-ui=language-light] .rules-dialog__close{color:#f4f1e8;cursor:pointer;background:#20271c;border:1px solid #46503e;border-radius:12px;width:44px;height:44px;font-size:1.25rem;font-weight:900}html[data-ui=language-light] .rules-dialog__lead,html[data-ui=language-light] .rules-dialog__finish{color:#d9e7c8;text-align:center;letter-spacing:.08em;margin:0;padding:15px 16px 10px;font-size:.78rem;font-weight:950}html[data-ui=language-light] .rules-dialog__list{gap:7px;padding:4px 14px;display:grid}html[data-ui=language-light] .rules-dialog__list section{background:#10130f;border:1px solid #30372d;border-radius:11px;gap:4px;padding:10px 11px;display:grid}html[data-ui=language-light] .rules-dialog__list strong{color:#f4f1e8;letter-spacing:.08em;font-size:.76rem}html[data-ui=language-light] .rules-dialog__list span,html[data-ui=language-light] .rules-dialog__list small{color:#b8c0b1;font-size:.75rem;line-height:1.4}html[data-ui=language-light] .rules-dialog__list small{color:#d8c987;font-weight:900}html[data-ui=language-light] .rules-dialog__finish{padding-bottom:18px}html[data-ui=language-light] .symbol-action{letter-spacing:.03em;min-width:44px;font-size:1.15rem}html[data-ui=language-light] .lobby-panel h1{letter-spacing:-.03em;font-size:clamp(2.5rem,15vw,5rem)}html[data-ui=language-light] .status-line,html[data-ui=language-light] .error-line[aria-label]{text-align:center;letter-spacing:.04em;font-size:1.05rem;font-weight:900}:is(html[data-ui=language-light] .rarity-row,html[data-ui=language-light] .hand-panel:has(.hand-placeholder)){display:none}html[data-ui=language-light] .lane{--lane-accent:#9da98e;grid-template-rows:76px auto 76px;align-content:start;gap:6px;min-height:0;padding:8px 4px 10px;transition:border-color .12s,box-shadow .12s,background-color .12s;position:relative}html[data-ui=language-light] .lane[data-rule=low]{--lane-accent:#6f9f90}html[data-ui=language-light] .lane[data-rule=close]{--lane-accent:#a6ad91}html[data-ui=language-light] .lane[data-rule=high]{--lane-accent:#c2a45c}html[data-ui=language-light] .lane[data-rule=far]{--lane-accent:#9d83b8}html[data-ui=language-light] .lane.lane--destroyed{background:repeating-linear-gradient(135deg,#151412 0 9px,#241b18 9px 18px);border-color:#855e54;box-shadow:inset 0 0 0 1px #855e542e}html[data-ui=language-light] .lane:before,html[data-ui=language-light] .lane:after,html[data-ui=language-light] .hand-card.is-selected:after{content:none;display:none}html[data-ui=language-light] .lane__opponent,html[data-ui=language-light] .lane__self{min-height:76px}html[data-ui=language-light] .lane__opponent>.card,html[data-ui=language-light] .lane__self>.card,html[data-ui=language-light] .location-face{align-content:center;place-items:center;width:min(100%,58px);height:72px;min-height:72px;display:grid;position:relative;overflow:visible}html[data-ui=language-light] .card[data-suit]>span{font-size:1.25rem;line-height:1}html[data-ui=language-light] .card[data-suit]>small{display:none}html[data-ui=language-light] .card[data-suit]:before,html[data-ui=language-light] .card[data-suit]:after{content:attr(data-suit);font-size:.72rem;font-weight:900;line-height:1;position:absolute}html[data-ui=language-light] .card[data-suit]:before{top:5px;left:6px}html[data-ui=language-light] .card[data-suit]:after{bottom:5px;right:6px}html[data-ui=language-light] .location-card{--location-accent:#9da98e;border:1px solid var(--location-accent);width:min(100%,70px);min-height:112px;box-shadow:inset 0 0 0 2px #10130f, inset 0 0 0 3px var(--location-accent);background:#171b15;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;margin:8px auto;padding:6px 4px 7px;display:flex}html[data-ui=language-light] .location-card[data-rule=low]{--location-accent:#6f9f90;border-bottom-width:3px}html[data-ui=language-light] .location-card[data-rule=close]{--location-accent:#a6ad91;border-top-width:2px;border-bottom-width:2px}html[data-ui=language-light] .location-card[data-rule=high]{--location-accent:#c2a45c;border-top-width:3px}html[data-ui=language-light] .location-card[data-rule=far]{--location-accent:#9d83b8;border-left-width:3px;border-right-width:3px}html[data-ui=language-light] .location-card>.location-face{color:#141410;box-shadow:none;filter:none;opacity:1;background:#f5f0e5;border:1px solid #d6d1c2;border-radius:8px;margin:0}html[data-ui=language-light] .location-card>.location-face.card--red{color:#b32b2b}html[data-ui=language-light] .location-card>em{min-height:14px;color:var(--location-accent);letter-spacing:.08em;white-space:nowrap;margin:0;font-size:.66rem;font-style:normal;font-weight:950;line-height:1}html[data-ui=language-light] .lane--destroyed .location-card{--location-accent:#b5786c;border-width:2px;border-color:var(--location-accent);box-shadow:inset 0 0 0 2px #10130f, inset 0 0 0 3px var(--location-accent);filter:none;opacity:1;background:#211917}html[data-ui=language-light] .lane--destroyed .location-card>.location-face{filter:grayscale(.8);opacity:.62}html[data-ui=language-light] .lane--destroyed .location-card>em{color:#d99686}html[data-ui=language-light] .card.card--lane-winner{border-width:2px;border-color:color-mix(in srgb, var(--lane-accent) 66%, #10130f);background:linear-gradient(145deg, color-mix(in srgb, var(--lane-accent) 46%, #fff) 0%, color-mix(in srgb, var(--lane-accent) 28%, #f5f0e5) 100%);box-shadow:0 0 10px color-mix(in srgb, var(--lane-accent) 34%, transparent), 0 7px 16px #0000002e;filter:saturate(1.08);transform-origin:50%}html[data-ui=language-light] .card.card--lane-winner.card--winner-reveal{animation:.64s cubic-bezier(.2,.8,.2,1) both versus-winner-pulse}html[data-ui=language-light] .lane[data-same=true] .card.card--lane-winner{border-width:3px;border-color:color-mix(in srgb, var(--lane-accent) 72%, #10130f);background:linear-gradient(112deg, transparent 0 38%, #ffffffdb 46%, transparent 54% 100%) 160% 0 / 240% 100% no-repeat, radial-gradient(circle at 50% 34%, #fffc 0 18%, transparent 48%), linear-gradient(145deg, color-mix(in srgb, var(--lane-accent) 68%, #fff) 0%, color-mix(in srgb, var(--lane-accent) 42%, #f5f0e5) 100%);box-shadow:0 0 18px color-mix(in srgb, var(--lane-accent) 68%, transparent), 0 8px 18px #00000038;filter:saturate(1.22)brightness(1.04)}html[data-ui=language-light] .lane[data-same=true] .card.card--lane-winner.card--winner-reveal{animation:.78s cubic-bezier(.18,.72,.2,1) both versus-same-sweep}@keyframes versus-winner-pulse{0%{box-shadow:0 0 0 color-mix(in srgb, var(--lane-accent) 0%, transparent), 0 7px 16px #0000002e;filter:saturate(1.02)brightness();transform:scale(1)}42%{box-shadow:0 0 24px color-mix(in srgb, var(--lane-accent) 76%, transparent), 0 0 0 4px color-mix(in srgb, var(--lane-accent) 24%, transparent), 0 8px 18px #0003;filter:saturate(1.3)brightness(1.09);transform:scale(1.035)}to{box-shadow:0 0 10px color-mix(in srgb, var(--lane-accent) 34%, transparent), 0 7px 16px #0000002e;filter:saturate(1.08)brightness();transform:scale(1)}}@keyframes versus-same-sweep{0%{box-shadow:0 0 8px color-mix(in srgb, var(--lane-accent) 36%, transparent), 0 8px 18px #0003;filter:saturate(1.1)brightness();background-position:160% 0,50%,50%;transform:scale(1)}44%{box-shadow:0 0 30px color-mix(in srgb, var(--lane-accent) 86%, transparent), 0 0 0 4px color-mix(in srgb, var(--lane-accent) 28%, transparent), 0 9px 20px #00000038;filter:saturate(1.38)brightness(1.12);background-position:55% 0,50%,50%;transform:scale(1.045)}to{box-shadow:0 0 18px color-mix(in srgb, var(--lane-accent) 68%, transparent), 0 8px 18px #00000038;filter:saturate(1.22)brightness(1.04);background-position:-80% 0,50%,50%;transform:scale(1)}}html[data-ui=language-light] .lane-result,html[data-ui=language-light] .lane-reason{display:none}html[data-ui=language-light] .hand-title span{letter-spacing:.04em;font-size:.82rem}html[data-ui=language-light] .hand-title small{font-size:.74rem;font-weight:900}html[data-ui=language-light] .hand-card{position:relative}html[data-ui=language-light] .hand-card em{display:none}html[data-ui=language-light] .game-over>strong{letter-spacing:.08em;font-size:clamp(2rem,10vw,3rem);line-height:1}html[data-ui=language-light] .game-over[data-outcome=win]>strong{color:#d9e7c8}html[data-ui=language-light] .game-over[data-outcome=lose]>strong{color:#ffb2a8}html[data-ui=language-light] .game-over[data-outcome=draw]>strong{color:#f4f1e8}html[data-ui=language-light] .game-over[data-outcome=no-contest]>strong{color:#c3c7be}html[data-ui=language-light] .reconnect-banner strong,html[data-ui=language-light] .reconnect-banner small{font-size:1rem;font-weight:900}@media (prefers-reduced-motion:reduce){html[data-ui=language-light] .card.card--winner-reveal{animation:none;transform:none}}@media (width>=640px){html[data-ui=language-light] .rule-strip{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-ui=language-light] .intro-rule{text-align:center;grid-template-columns:1fr;gap:5px}html[data-ui=language-light] .rule-strip .intro-rule>span{text-align:center}html[data-ui=language-light] .lane{grid-template-rows:86px auto 86px;min-height:0;padding-inline:8px}html[data-ui=language-light] .lane__opponent,html[data-ui=language-light] .lane__self{min-height:86px}html[data-ui=language-light] .lane__opponent>.card,html[data-ui=language-light] .lane__self>.card,html[data-ui=language-light] .location-face{width:66px;height:82px;min-height:82px}html[data-ui=language-light] .location-card{width:80px;min-height:126px}}@media (width<=420px){html[data-ui=language-light] .intro-panel h1{font-size:clamp(2.5rem,13.5vw,3.4rem)}}@media (width<=359px){html[data-ui=language-light] .intro-rule{grid-template-columns:72px minmax(0,1fr);gap:7px;padding-inline:9px}html[data-ui=language-light] .rules-dialog{width:calc(100% - 16px);max-height:88dvh}html[data-ui=language-light] .lane{grid-template-rows:72px auto 72px;min-height:0;padding-inline:2px}html[data-ui=language-light] .lane__opponent,html[data-ui=language-light] .lane__self{min-height:72px}html[data-ui=language-light] .lane__opponent>.card,html[data-ui=language-light] .lane__self>.card,html[data-ui=language-light] .location-face{width:min(100%,54px);height:68px;min-height:68px}html[data-ui=language-light] .location-card{width:min(100%,66px)}}html[data-ui=language-light] .app-shell--lobby .topbar{margin-bottom:8px}html[data-ui=language-light] .app-shell--lobby .quiet-button,html[data-ui=language-light] .app-shell--lobby .quiet-link{color:#d9e7c8;letter-spacing:.06em;align-items:center;min-height:44px;font-size:.7rem;display:inline-flex}html[data-ui=language-light] .app-shell--lobby .lobby-portal-link{text-align:right;justify-content:flex-end;font-size:0}html[data-ui=language-light] .app-shell--lobby .lobby-portal-link:after{content:attr(data-readable-label);font-size:.68rem}html[data-ui=language-light] .lobby-panel{text-align:center;align-self:center;width:min(100%,620px);margin:8px auto 0;padding:24px 18px 20px}html[data-ui=language-light] .lobby-panel .eyebrow,html[data-ui=language-light] .lobby-panel h1,html[data-ui=language-light] .room-ticket>span,html[data-ui=language-light] .join-row label,html[data-ui=language-light] .lobby-panel .readable-copy{font-size:0}html[data-ui=language-light] .lobby-panel .eyebrow:after,html[data-ui=language-light] .lobby-panel h1:after,html[data-ui=language-light] .room-ticket>span:after,html[data-ui=language-light] .join-row label:after,html[data-ui=language-light] .lobby-panel .readable-copy:after{content:attr(data-readable-label)}html[data-ui=language-light] .lobby-panel .eyebrow:after{color:#b9c6a9;letter-spacing:.16em;font-size:.72rem;font-weight:900}html[data-ui=language-light] .lobby-panel h1{letter-spacing:-.035em;margin:8px 0 4px;line-height:1}html[data-ui=language-light] .lobby-panel h1:after{color:#f4f1e8;font-size:clamp(2.2rem,10vw,3.6rem);font-weight:950;line-height:1}html[data-ui=language-light] .lobby-visual{color:#f4f1e8;margin:12px 0 22px;font-size:clamp(2rem,10vw,2.8rem);line-height:1}html[data-ui=language-light] .lobby-panel>.primary-button[data-action=create-room]{letter-spacing:.06em;border-radius:16px;width:100%;min-height:64px;font-size:.98rem}html[data-ui=language-light] .lobby-divider{color:#8f9988;letter-spacing:.08em;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:18px 0 14px;font-size:.72rem;font-weight:900;display:grid}html[data-ui=language-light] .lobby-divider__line{background:#3a4236;height:1px}html[data-ui=language-light] .join-row{grid-template-columns:1fr;align-items:stretch;gap:10px;margin-top:0}html[data-ui=language-light] .join-row label,html[data-ui=language-light] .room-ticket>span{color:#aeb8a5;text-align:left;letter-spacing:.12em;grid-column:auto;font-weight:900}html[data-ui=language-light] .join-row label:after,html[data-ui=language-light] .room-ticket>span:after{font-size:.72rem}html[data-ui=language-light] .join-row input{text-align:center;letter-spacing:.2em;width:100%;min-height:60px;padding:0 14px;font-size:1.55rem;font-weight:900}html[data-ui=language-light] .join-row .lobby-readable-action{color:#151a12;letter-spacing:.06em;background:#d9e7c8;border-color:#65765a;width:100%;min-height:58px;font-size:.92rem}html[data-ui=language-light] .room-ticket{text-align:center;gap:12px;margin:0 0 14px;padding:18px}html[data-ui=language-light] .room-ticket>span{text-align:center}html[data-ui=language-light] .room-ticket>strong{letter-spacing:.18em;font-size:clamp(2.2rem,12vw,3.4rem);line-height:1}html[data-ui=language-light] .room-ticket .lobby-readable-action,html[data-ui=language-light] .lobby-panel>.lobby-readable-action[data-action=forget-session]{letter-spacing:.05em;justify-self:stretch;width:100%;min-height:52px;font-size:.86rem}html[data-ui=language-light] .lobby-panel>.lobby-readable-action[data-action=forget-session]{color:#d8c9c4;background:#211b18;border-color:#594943}html[data-ui=language-light] .lobby-panel .status-line,html[data-ui=language-light] .lobby-panel .error-line{text-align:center;letter-spacing:0;min-height:20px;margin:12px 0 0;font-weight:700;line-height:1.45}html[data-ui=language-light] .lobby-panel .status-line:after,html[data-ui=language-light] .lobby-panel .error-line:after{font-size:.8rem}html[data-ui=language-light] .lobby-panel .error-line{color:#ffad9f}@media (width<=359px){html[data-ui=language-light] .lobby-panel{padding-inline:14px}html[data-ui=language-light] .app-shell--lobby .quiet-button,html[data-ui=language-light] .app-shell--lobby .quiet-link{font-size:.62rem}html[data-ui=language-light] .app-shell--lobby .lobby-portal-link:after{font-size:.6rem}}html[data-ui=language-light] .card.card--placement-rank-echo>span{text-shadow:0 0 5px #ffffffb8, 0 0 11px color-mix(in srgb, var(--lane-accent) 72%, transparent);transform:scale(1.06)}html[data-ui=language-light] .card.card--placement-rank-echo.card--placement-effect-reveal>span{animation:.52s cubic-bezier(.18,.78,.2,1) both versus-placement-rank-echo}html[data-ui=language-light] .card.card--placement-suit-spark:before,html[data-ui=language-light] .card.card--placement-suit-spark:after{text-shadow:0 0 4px #ffffffe6, 0 0 8px color-mix(in srgb, var(--lane-accent) 70%, transparent);transform:scale(1.12)}html[data-ui=language-light] .card.card--placement-suit-spark.card--placement-effect-reveal:before,html[data-ui=language-light] .card.card--placement-suit-spark.card--placement-effect-reveal:after{animation:.56s cubic-bezier(.16,.76,.18,1) both versus-placement-suit-spark}@keyframes versus-placement-rank-echo{0%{text-shadow:none;transform:scale(1)}42%{text-shadow:0 0 8px #fffffff5, 0 0 18px color-mix(in srgb, var(--lane-accent) 88%, transparent);transform:scale(1.34)}to{text-shadow:0 0 5px #ffffffb8, 0 0 11px color-mix(in srgb, var(--lane-accent) 72%, transparent);transform:scale(1.06)}}@keyframes versus-placement-suit-spark{0%{text-shadow:none;transform:scale(1)}38%{text-shadow:0 0 7px #fff, 0 0 15px color-mix(in srgb, var(--lane-accent) 84%, transparent);transform:scale(1.48)rotate(7deg)}to{text-shadow:0 0 4px #ffffffe6, 0 0 8px color-mix(in srgb, var(--lane-accent) 70%, transparent);transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){html[data-ui=language-light] .card.card--placement-effect-reveal>span,html[data-ui=language-light] .card.card--placement-effect-reveal:before,html[data-ui=language-light] .card.card--placement-effect-reveal:after{animation:none}}.invite-qr{color:#111;background:#fff;border-radius:16px;justify-items:center;gap:6px;width:max-content;max-width:100%;margin:10px auto;padding:10px;display:grid;box-shadow:0 8px 24px #00000040}.invite-qr__image{aspect-ratio:1;width:clamp(112px,24dvh,184px);max-width:44vw;height:auto;display:block}.invite-qr__caption{color:#151515;letter-spacing:.12em;margin:0;font-size:11px;font-weight:900}@media (height<=640px){.invite-qr{gap:4px;padding:6px}.invite-qr__image{width:104px}}
