@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--text-body: 16px;--text-control: 16px;--text-label: 15px;--text-meta: 12px;--text-heading: 20px;--text-section: 18px;--text-word: 32px;--game-background: rgb(245, 247, 250);--game-navy: #213769;--game-blue: #23509f;--game-blue-soft: #d8e9f8;--game-yellow: #fddd04;--game-yellow-soft: #fff6cc;--game-coral: #f03a38;--game-red: #ca2e32;--game-red-hover: #ad252c;--game-warm-ink: #70551b;--game-muted: #586a85;--game-border: #c6d4e7;--game-surface: #ffffff;font-family:DM Sans,sans-serif;color:var(--game-navy);background:var(--game-background);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}html,body,#root{width:100%;height:100%}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--game-blue);outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}svg{flex-shrink:0}.game-shell{width:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--game-background)}.daily-limit-page{width:min(100%,640px);margin:0 auto;padding:48px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;line-height:1.6}.game-hud{height:80px;flex-shrink:0;display:flex;align-items:center;gap:17px;padding:14px 30px;position:relative;z-index:4}.room-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--game-border);border-radius:50%;background:var(--game-surface)}.room-button:hover{background:var(--game-blue-soft)}.eyebrow{display:flex;align-items:center;gap:7px;color:var(--game-muted);font-size:var(--text-meta);font-weight:650;letter-spacing:1.6px}.hud-title .eyebrow>span{border-left:1px solid var(--game-border);margin-left:3px;padding-left:10px;letter-spacing:1px;font-size:11px}.brand-link{display:block;min-width:0;max-width:100%}.brand-logo{display:block;width:116px;height:auto;flex-shrink:0}.hud-title h1{font-size:17px;font-weight:750;letter-spacing:-.6px;margin-top:3px}.hud-actions{display:flex;flex-shrink:0;gap:10px;margin-left:auto}.hud-actions button,.hud-actions .buy-button{display:flex;align-items:center;gap:7px;font-size:var(--text-control);color:var(--game-blue);padding:11px 14px;border:1px solid var(--game-border);background:var(--game-surface);border-radius:22px}.hud-actions button:hover{background:var(--game-blue-soft)}.how-to-mobile-label{display:none}.hud-actions .buy-button{background:var(--game-yellow);border-color:var(--game-yellow);color:var(--game-navy);font-weight:650;text-decoration:none}.hud-actions .buy-button:hover{background:var(--game-yellow-soft)}.hud-actions button:last-child{background:var(--game-red);border-color:var(--game-red);color:var(--game-surface)}.hud-actions button:last-child:hover{background:var(--game-red-hover);border-color:var(--game-red-hover)}.game-board{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}.table-row{position:relative;display:flex;flex:1;min-height:0}.box-viewer{position:absolute;z-index:3;inset:0 auto 0 0;width:clamp(230px,22vw,310px);display:flex;flex-direction:column;align-items:center;padding:46px 0 52px 12px}.box-viewer-stage{width:100%;min-height:0;flex:1;position:relative}.box-viewer-canvas{width:100%;height:100%;cursor:grab;border-radius:18px}.box-viewer-canvas[data-dragging]{cursor:grabbing}.box-viewer-canvas:focus{outline:none}.box-viewer-canvas canvas{display:block;touch-action:none}.box-viewer-fallback{position:absolute;width:66%;max-height:90%;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-5deg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:909px){.box-viewer{display:none}}@media(max-height:650px){.box-viewer{padding-top:5px}}.table-surface{position:relative;flex:1;min-height:0}.opponent{position:absolute;left:50%;top:16px;transform:translate(-50%);display:flex;gap:12px;align-items:center;z-index:2}.pip-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--game-navy);background:var(--game-blue-soft);border:1px solid var(--game-border);box-shadow:0 3px 8px #2137690a}.opponent strong{font-size:var(--text-label)}.opponent strong span{color:var(--game-muted);font-size:var(--text-meta);letter-spacing:1.2px;font-weight:500;margin-left:7px}.opponent-cards{display:flex;align-items:center;margin-top:8px;padding-left:5px}.opponent-cards img{width:30px;height:42px;margin-left:-5px;border:1px solid #fff8;border-radius:3px;transform:rotate(-6deg);box-shadow:1px 2px 3px #21376918}.opponent-cards small{font-size:var(--text-label);color:var(--game-muted);white-space:nowrap;margin-left:9px}.thinking .pip-avatar{box-shadow:0 0 0 4px #fddd0440}.thinking-label{position:absolute;left:100%;padding-left:15px;font-size:var(--text-label);color:var(--game-muted);white-space:nowrap}.scene-wrap{position:absolute;inset:96px 0 48px;z-index:1}.three-scene{width:100%;height:100%}.three-scene canvas{display:block}.draw-pile-control,.inspect-pile-control{position:absolute;padding:0;border:0;border-radius:12px;background:transparent;touch-action:manipulation}.draw-pile-control:disabled,.flat-table button:disabled{cursor:default}.draw-pile-control:focus-visible,.inspect-pile-control:focus-visible{outline:3px solid var(--game-navy);outline-offset:5px}.scene-loading{height:100%;display:grid;place-items:center;color:var(--game-muted);font-size:var(--text-label)}.chosen-color-badge{position:absolute;top:100%;left:50%;transform:translate(-50%,-5px);display:flex;align-items:center;gap:7px;padding:7px 11px;width:max-content;max-width:calc(100vw - 24px);border:2px solid var(--chosen-color);border-radius:20px;background:var(--game-surface);color:var(--game-navy);box-shadow:0 3px 12px #21376918;font-size:var(--text-label);line-height:1.2;pointer-events:none}.scene-wrap.has-chosen-color{bottom:84px}.chosen-color-badge strong{text-transform:uppercase;font-weight:800}.chosen-color-swatch{width:17px;height:17px;border-radius:50%;flex-shrink:0;background:var(--chosen-color);border:1px solid #21376933}.flat-match-pile{position:relative}.flat-match-pile.has-chosen-color img{outline:5px solid var(--chosen-color);outline-offset:1px}.turn-status{position:absolute;left:50%;bottom:17px;transform:translate(-50%);display:flex;align-items:center;gap:9px;padding:10px 19px;border:1px solid var(--game-border);background:var(--game-navy);border-radius:25px;font-size:var(--text-label);color:var(--game-surface);z-index:3;text-align:center;max-width:90%;white-space:nowrap}.turn-dot{width:6px;height:6px;background:var(--game-yellow);border-radius:50%;flex-shrink:0}.waiting .turn-dot{background:var(--game-blue)}.turn-status.waiting{background:var(--game-blue-soft);color:var(--game-navy)}.turn-status.needs-draw{background:var(--game-yellow);border-color:var(--game-yellow);color:var(--game-navy)}.needs-draw .turn-dot{background:var(--game-navy)}.hand-section{flex-shrink:0;padding:12px 0 env(safe-area-inset-bottom);background:var(--game-background)}.hand-heading,.hand-actions,.save-warning{padding-inline:max(28px,calc((100vw - 1320px)/2))}.hand-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.hand-heading>div{display:flex;align-items:center;gap:9px}.hand-heading h2{font-size:var(--text-section);font-weight:700}.hand-heading svg{color:var(--game-navy)}.count-pill{font-size:var(--text-label);font-weight:600;padding:3px 8px;border-radius:20px;background:var(--game-yellow);color:var(--game-navy)}.hand-heading .hand-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}.hint-toggle,.sound-toggle{display:flex;align-items:center;gap:8px;color:var(--game-muted);font-size:var(--text-label);cursor:pointer}.hint-toggle input,.sound-toggle input{position:absolute;opacity:0;width:28px;height:16px}.toggle-track{pointer-events:none;display:block;width:28px;flex-shrink:0;height:16px;border-radius:10px;padding:2px;background:var(--game-border)}.toggle-track:before{content:"";display:block;width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0002;transition:transform .15s}.hint-toggle input:checked+.toggle-track,.sound-toggle input:checked+.toggle-track{background:var(--game-blue)}.hint-toggle input:checked+.toggle-track:before,.sound-toggle input:checked+.toggle-track:before{transform:translate(12px)}.hint-toggle input:focus-visible+.toggle-track,.sound-toggle input:focus-visible+.toggle-track{outline:3px solid var(--game-blue);outline-offset:4px}.whisper-reminder{color:var(--game-warm-ink);background:var(--game-yellow-soft);padding:6px 12px;border-radius:20px;font-size:var(--text-label)}.hand-carousel{min-width:0}.hand-scroll-button{display:none}@media(min-width:960px){.hand-carousel{position:relative}.hand-carousel .hand-cards{padding:24px 64px 20px;scroll-padding-inline:64px}.hand-scroll-button{position:absolute;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--game-border);border-radius:50%;background:var(--game-surface);color:var(--game-blue);box-shadow:0 3px 12px #21376914}.hand-scroll-button:first-child{left:8px}.hand-scroll-button:last-child{right:8px}.hand-scroll-button:hover:not(:disabled){background:var(--game-blue-soft)}.hand-scroll-button:focus-visible{outline:3px solid var(--game-blue);outline-offset:3px}.hand-scroll-button:disabled{opacity:.35;cursor:default}.hand-carousel[data-overflow=false] .hand-scroll-button{visibility:hidden}}.hand-cards{min-width:0;display:flex;justify-content:safe center;gap:12px;overflow-x:auto;padding:19px 8px 6px;scrollbar-width:thin;scrollbar-color:var(--game-border) transparent;min-height:170px}.hand-card{flex:0 0 auto;width:clamp(136px,19dvh,200px);padding:0;border:2px solid transparent;border-radius:8%/5.7%;position:relative;align-self:start;transform:rotate(var(--tilt));box-shadow:0 6px 9px #21376920;transition:transform .18s,box-shadow .18s}.hand-card img{display:block;width:100%;border-radius:7.5%/5.4%}.hand-card.is-playable{border-color:var(--game-surface);box-shadow:0 0 0 2px var(--game-blue),0 6px 9px #21376920}.hand-card:hover:not(:disabled){transform:translateY(-9px) rotate(0);box-shadow:0 10px 15px #21376930;z-index:1}.hand-card:disabled{filter:saturate(.8);opacity:.85}.match-dot{position:absolute;top:-5px;right:-4px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--game-surface);background:var(--game-yellow);color:var(--game-navy)}.hand-actions{display:flex;justify-content:flex-end;margin-top:8px}.save-warning{margin-top:6px;font-size:var(--text-label);color:var(--game-warm-ink)}.primary-button,.secondary-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:13px 18px;border-radius:8px;font-size:var(--text-control);font-weight:600;line-height:1.3;min-height:56px;min-width:0}.primary-button{background:var(--game-red);color:#fff}.primary-button:hover:not(:disabled){background:var(--game-red-hover)}.primary-button:disabled{background:#e1e6ef;color:#66738b}.secondary-button{border:1px solid var(--game-border);background:var(--game-surface)}.text-button{font-size:var(--text-control);color:var(--game-blue);text-decoration:underline;text-underline-offset:3px}.win-banner{padding:24px;background:var(--game-yellow-soft);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px}.win-banner>div{display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:center}.win-banner>div>svg{width:48px;height:48px}.win-banner strong{font-size:28px;line-height:1.2}.win-banner .primary-button{border-radius:999px}.win-banner span{width:100%;font-size:var(--text-label);color:var(--game-muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;background:var(--game-navy);color:#fff;box-shadow:0 5px 20px #0002;padding:14px 18px;border-radius:10px;font-size:var(--text-label);z-index:20}.toast button{display:flex;color:#fff;padding:0}dialog{text-align:center;color:var(--game-navy);width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--game-border);border-radius:18px;padding:28px;background:var(--game-surface);box-shadow:0 20px 80px #21376933;overscroll-behavior:contain}dialog::backdrop{background:#17294760;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-heading{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:10px;align-items:center;margin-bottom:24px}.dialog-heading h2{grid-column:2;font-size:var(--text-heading);font-weight:750;letter-spacing:-.6px}.icon-button{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--game-blue-soft);color:var(--game-muted)}dialog p{font-size:var(--text-body);color:var(--game-muted);line-height:1.8}.dialog-actions{display:flex;justify-content:center;gap:10px;margin-top:26px}.card-explorer{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:start}.card-explorer>img{width:160px;border-radius:10px;box-shadow:0 7px 20px #21376920;transform:rotate(-3deg);margin:5px 0}.card-explorer>img[role=button]{cursor:pointer;touch-action:manipulation}.card-explorer>img[role=button]:focus-visible{outline:3px solid var(--game-blue);outline-offset:4px}.card-explorer h3{font-size:var(--text-word);font-weight:800;margin:3px 0 8px;letter-spacing:-1px}.card-explorer h4{font-size:var(--text-section);margin:20px 0 10px}.listen-button{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--game-blue);background:var(--game-surface);border:1px solid var(--game-blue);border-radius:999px;padding:6px 12px;min-height:36px;font-size:var(--text-label);font-weight:600}.listen-button svg{width:16px;height:16px}.listen-button:hover{background:var(--game-blue-soft)}.match-reasons{padding:0;list-style:none;display:flex;gap:6px;flex-wrap:wrap;max-height:160px;overflow-y:auto}.match-reasons li{background:var(--game-blue-soft);border-radius:5px;padding:5px 8px;font-size:var(--text-label);display:flex;align-items:center;gap:5px;color:var(--game-blue)}.card-explorer .action-description{font-size:var(--text-body);margin-top:14px}.no-match{padding:1px 0}.no-match p{font-size:var(--text-body)}.color-picker{border:0;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.color-picker legend{font-size:var(--text-label);margin-bottom:10px;font-weight:600}.color-picker button{display:flex;align-items:center;gap:5px;border:1px solid var(--game-border);padding:8px;border-radius:6px;font-size:var(--text-control);text-transform:capitalize}.color-picker button[aria-pressed=true]{outline:2px solid var(--game-blue);outline-offset:1px;background:var(--game-blue-soft)}.color-picker button>span{width:20px;height:20px;background:var(--color);color:#fff;display:grid;place-items:center;border-radius:50%}.whisper-check{display:flex;gap:10px;padding:14px;margin-top:20px;background:var(--game-yellow-soft);border-radius:8px;font-size:var(--text-body);align-items:start;color:var(--game-warm-ink)}.whisper-check input{accent-color:var(--game-blue);flex-shrink:0;margin-top:4px}.whisper-character{width:48px;height:auto;flex-shrink:0}.whisper-check small{display:block;font-size:var(--text-label);line-height:1.6;margin-top:5px;color:var(--game-warm-ink)}.read-reminder{text-align:center;font-size:var(--text-label);margin-top:12px}dialog.play-card-dialog{width:min(520px,calc(100% - 32px));text-align:center}.play-card-dialog .dialog-heading{display:grid;grid-template-columns:30px minmax(0,1fr) 30px}.play-card-dialog .dialog-heading h2{grid-column:2}.card-dialog .card-explorer{grid-template-columns:minmax(0,1fr);justify-items:center;gap:16px}.play-card-dialog .card-explorer>img{width:clamp(140px,23dvh,190px)}.card-dialog:not(.play-card-dialog) .card-explorer>img{width:clamp(180px,32dvh,240px);max-width:calc(100% - 24px)}.card-dialog .listen-button{margin-inline:auto}.play-card-dialog .match-reasons,.play-card-dialog .color-picker,.play-card-dialog .dialog-actions{justify-content:center}.play-card-dialog .color-picker legend{margin-inline:auto}.play-card-dialog .whisper-check{text-align:left}.play-card-dialog .dialog-actions button{border-radius:999px}dialog.rules-dialog{width:min(940px,calc(100% - 32px));height:min(850px,calc(100dvh - 48px));text-align:left;padding:0;overflow-y:auto;scroll-padding-top:88px}.rules-dialog .dialog-heading{position:sticky;top:0;z-index:4;display:grid;text-align:center;min-height:88px;padding:24px 28px;margin:0;background:#fffc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.rules-dialog .dialog-heading .icon-button{position:static;flex-shrink:0}.rules-content{padding:0 28px 28px}.rules-game{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,24px);padding-block:20px 12px;margin-bottom:28px}.rules-game .library-box{--box-width: clamp(100px, 22vw, 160px);--box-depth: calc(var(--box-width) * .38);flex-basis:calc(var(--box-width) + 24px)}.rules-game-actions{display:flex;flex-direction:column;gap:12px;width:160px;min-width:0}.rules-game-actions .primary-button,.rules-game-actions .secondary-button,.rules-game-actions .library-buy{border-radius:999px;min-height:48px;padding:10px 18px;line-height:1.3}@media(min-width:701px){.rules-game .rules-game-actions{width:220px}}.rules-footer-actions{flex-direction:row;justify-content:center;width:100%;margin:24px auto 0}.rules-footer-actions>*{flex:0 1 160px}.rules-goal{display:flex;align-items:flex-start;gap:16px;background:var(--game-yellow);padding:22px;border-radius:14px;margin-top:24px}.rules-goal>svg{flex-shrink:0;color:var(--game-red)}.rules-goal h3,.rules-section-title{font-size:var(--text-section);font-weight:850;letter-spacing:.03em;text-transform:uppercase}.rules-goal p{color:var(--game-navy);margin-top:5px;line-height:1.65}.rules-section-title{margin-bottom:18px}.rules-steps{list-style:none;counter-reset:step;padding:0;display:flex;flex-direction:column;gap:20px}.rules-steps li{counter-increment:step;position:relative;padding-left:44px}.rules-steps li:before{content:counter(step);position:absolute;left:0;top:0;background:var(--game-blue-soft);width:30px;height:34px;display:grid;place-items:center;border-radius:7px;font-size:var(--text-section);font-weight:800;color:var(--game-navy)}.rules-steps strong{font-size:var(--text-body)}.rules-steps p{font-size:var(--text-body);margin-top:4px}.rules-match-link{display:inline-flex;align-items:center;gap:6px;padding:8px 0;color:var(--game-blue);font-size:var(--text-control);font-weight:750;text-decoration:underline;text-underline-offset:3px}.action-rules{padding:20px;background:var(--game-blue-soft);border-radius:14px;margin:24px 0 0}.action-rules h3{font-size:var(--text-body);margin-bottom:12px}.action-rules p{font-size:var(--text-body);margin:8px 0;color:var(--game-navy)}.rules-pdf{display:flex;align-items:center;gap:8px;font-size:var(--text-control);font-weight:650;color:var(--game-blue);margin-top:20px;padding:12px 0;text-align:left}.box-directions-link{display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--game-blue);font-size:var(--text-control)}dialog.directions-dialog{width:min(1320px,calc(100% - 40px));height:min(860px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:24px;background:var(--game-background);overflow:hidden}.directions-dialog[open]{display:flex;flex-direction:column}.directions-dialog .dialog-heading{flex-shrink:0;margin-bottom:16px}.directions-viewer{display:flex;flex-direction:column;flex:1;min-height:0}.directions-toolbar,.directions-view-controls,.directions-sides,.directions-reader-controls,.directions-panel-nav,.directions-zoom{display:flex;align-items:center;gap:8px}.directions-toolbar,.directions-reader-controls{flex-shrink:0;flex-wrap:wrap;justify-content:space-between}.directions-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;font-size:var(--text-control);border-radius:8px;color:var(--game-blue)}.directions-sides{background:var(--game-blue-soft);border-radius:10px;padding:3px;gap:2px}.directions-sides button[aria-pressed=true]{background:var(--game-navy);color:var(--game-surface);box-shadow:0 1px 4px #21376912}.directions-view-controls button[aria-pressed=true]{background:var(--game-blue-soft)}.directions-stage{position:relative;flex:1;min-height:80px;margin:14px 0;border-radius:12px;background:radial-gradient(ellipse at center,#fff,#edf0f4);overflow:hidden}.directions-canvas{position:absolute;inset:0;touch-action:none;cursor:grab}.directions-canvas[data-dragging]{cursor:grabbing}.directions-canvas canvas{display:block}.directions-loading{position:absolute;inset:auto 0 12px;text-align:center;pointer-events:none;font-size:var(--text-label);color:var(--game-blue)}.directions-panel-nav{min-width:0}.directions-panel-nav select{width:230px;min-width:0;padding:10px 8px;border:1px solid var(--game-border);border-radius:8px;background:#fff;color:var(--game-navy);font:inherit;font-size:var(--text-control)}.directions-viewer .icon-button{flex-shrink:0;width:36px;height:36px;color:var(--game-blue)}.directions-viewer button:disabled{opacity:.35;cursor:default}.directions-zoom input{width:100px;accent-color:var(--game-blue)}.directions-zoom output{min-width:40px;font-size:var(--text-label);text-align:center;font-variant-numeric:tabular-nums}.directions-dialog .directions-help{text-align:center;font-size:var(--text-label);color:var(--game-muted);margin-top:12px}.directions-guide-link{align-self:center;flex-shrink:0;color:var(--game-blue);font-size:var(--text-control);text-decoration:underline;text-underline-offset:3px;padding:8px}.directions-fallback{height:100%;overflow:auto;overscroll-behavior:contain}.directions-fallback img{display:block;max-width:none;margin:0 auto}@media(max-width:700px){dialog.directions-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:max(14px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom));border:0;border-radius:0}.directions-dialog .dialog-heading{margin-bottom:12px}.directions-toolbar{gap:4px}.directions-toolbar button{padding:9px 8px;font-size:var(--text-control)}.directions-view-controls{gap:0}.directions-panel-nav{width:100%;gap:4px}.directions-panel-nav select{flex:1;width:0}.directions-zoom{margin:2px auto 0}.directions-zoom input{width:130px}.directions-dialog .directions-help{font-size:var(--text-label);margin-top:6px}}.rules-match-intro{margin-bottom:16px;text-align:center}.rules-matching{margin-top:0;scroll-margin-top:4px}.rules-matching .rules-section-title{margin-bottom:8px;text-align:center}.rules-matching+.rules-section-title{margin-top:28px;text-align:center}.rules-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;background:var(--game-blue-soft);border-radius:14px}.rules-feature-list>div{display:flex;flex-direction:column;min-width:0;gap:12px;background:#fff;padding:18px;border-radius:11px}.feature-symbol{display:flex;align-items:center;justify-content:flex-start;width:100%}.feature-content{min-width:0;flex:1}.rules-feature-list h4{display:flex;align-items:center;gap:8px;font-size:var(--text-section);margin-bottom:6px}.feature-symbol img{width:auto;height:52px;max-width:100%;object-fit:contain;object-position:left center;flex-shrink:0}.rules-feature-list p{font-size:calc(var(--text-body) - 2px);line-height:1.5}.rules-vowel-key{padding:20px;border:1px solid var(--game-border);border-radius:14px;margin-top:16px}.rules-vowel-key h4{font-size:var(--text-section)}.rules-color-key{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rules-color-key li{display:flex;gap:9px;align-items:center;font-size:var(--text-label);line-height:1.4}.rules-color-key strong{display:block;text-transform:capitalize;font-size:var(--text-label);margin-bottom:2px}.border-sample{width:25px;height:36px;border:5px solid;border-radius:7px;flex-shrink:0}.library-game{display:flex;flex-direction:row;text-align:left;gap:22px;padding:24px 0;margin:0;width:100%;align-items:center}.library-game+.library-game{border-top:1px solid #e1e4e8}.library-box{--box-width: 130px;--box-depth: 49.4px;display:grid;place-items:center;flex:0 0 150px;perspective:650px}.library-box-model{position:relative;display:block;width:var(--box-width);aspect-ratio:761 / 1063;transform-style:preserve-3d;transform:rotateY(-22deg)}.library-box-model img{position:absolute;display:block;height:100%;backface-visibility:hidden}.library-box-front{width:100%;transform:translateZ(calc(var(--box-depth) / 2));box-shadow:0 5px 10px #21376918}.library-box-side{width:var(--box-depth);left:100%;transform-origin:left center;transform:translateZ(calc(var(--box-depth) / 2)) rotateY(90deg);filter:brightness(.86)}.library-game h3{font-size:var(--text-heading);margin:4px 0 8px}.library-game p{font-size:14px;line-height:1.5}.library-game>div:last-child{min-width:0}.library-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:15px}.library-cta{text-decoration:none;display:flex;justify-content:center;align-items:center;gap:8px;color:#fff;background:var(--game-red);border-radius:999px;font-size:var(--text-control);min-height:40px;padding:9px 16px;font-weight:600}.library-cta:hover{background:var(--game-red-hover)}.library-buy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:9px 13px;border:1px solid var(--game-yellow);border-radius:22px;background:var(--game-yellow);color:var(--game-navy);font-size:var(--text-control);font-weight:650;text-decoration:none;white-space:nowrap}.library-buy:hover{background:var(--game-yellow-soft)}.library-note{font-size:var(--text-label)}.flat-table{display:flex;align-items:center;justify-content:center;gap:32px;padding:40px 0 20px;flex-wrap:wrap}.flat-table img{width:110px;border-radius:7px;box-shadow:0 5px 12px #0002;transform:rotate(6deg)}.flat-table button{padding:0}.flat-table button img{transform:rotate(-6deg)}.flat-table>span{font-size:var(--text-label);color:var(--game-muted);width:100%;text-align:center}.is-hidden{display:none}.win-banner{position:absolute;z-index:5;left:50%;top:42%;transform:translate(-50%,-50%);width:min(540px,90%);border:1px solid var(--game-border);border-radius:18px;box-shadow:0 15px 60px #21376925;background:var(--game-surface)}.card-explorer>img,.flat-table img{border-radius:7.5%/5.4%}.flat-table{height:100%;container-type:size;align-content:center;padding:0 0 30px;gap:45px}.flat-table img{width:min(210px,calc((100cqw - 80px)/2),calc((100cqh - 100px) * 480 / 670))}@media(min-height:1000px){.hand-cards{padding-top:22px}}@media(max-width:700px){.game-hud{height:64px;padding:8px 10px;gap:8px}.room-button{width:34px;height:34px;flex-shrink:0}.hud-title{min-width:0}.hud-title h1,.hud-title .eyebrow>span{display:none}.hud-title .eyebrow{flex-wrap:wrap;row-gap:2px;font-size:var(--text-meta);letter-spacing:1px;gap:5px}.brand-logo{width:116px;max-width:100%}.hud-actions{gap:5px}.hud-actions button,.hud-actions .buy-button{width:35px;height:35px;padding:0;justify-content:center}.hud-actions button span,.hud-actions .buy-button span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hud-actions .how-to-play-button{width:auto;padding-inline:8px;font-size:14px;font-weight:700}.how-to-play-button svg{display:none}.hud-actions .how-to-mobile-label{display:block;position:static;width:auto;height:auto;overflow:visible;clip-path:none}.opponent{top:14px;gap:9px}.pip-avatar{width:36px;height:36px}.opponent strong{font-size:var(--text-label)}.opponent strong span{font-size:var(--text-meta)}.opponent-cards img{width:25px;height:35px;border-radius:3px}.thinking-label{font-size:var(--text-label);padding-left:7px}.scene-wrap{inset:80px 0 40px}.turn-status{font-size:var(--text-label);line-height:1.35;padding:9px 13px;bottom:12px;white-space:normal;width:max-content;max-width:91%}.hand-section{padding:12px 0 env(safe-area-inset-bottom)}.hand-heading h2{font-size:var(--text-section)}.hand-heading .count-pill{font-size:var(--text-label)}.hand-heading{display:grid;grid-template-columns:auto minmax(0,1fr);row-gap:8px}.hand-heading .hand-options{grid-column:2;grid-row:1;justify-self:end}.hint-toggle,.sound-toggle{font-size:var(--text-label);white-space:nowrap}.hand-cards{justify-content:flex-start;gap:10px;padding:17px 5px 6px;min-height:142px}.hand-card{width:clamp(132px,18dvh,160px)}.text-button{font-size:var(--text-control)}.whisper-reminder{grid-column:1 / -1;grid-row:2;justify-self:center;text-align:center;font-size:var(--text-label)}dialog,dialog.rules-dialog,dialog.directions-dialog,dialog.play-card-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:calc(12px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border:0;border-radius:0}dialog .dialog-heading{min-height:44px;grid-template-columns:44px minmax(0,1fr) 44px}.rules-dialog .dialog-heading{padding-right:56px}dialog .dialog-heading .icon-button{position:fixed;z-index:2;top:calc(12px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px}dialog.play-card-dialog{--card-header-height: calc(68px + env(safe-area-inset-top)) ;--card-footer-height: calc(88px + env(safe-area-inset-bottom)) ;position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0 0 calc(var(--card-footer-height) + 20px);border:0;border-radius:0;overflow-y:auto;scroll-padding-bottom:calc(var(--card-footer-height) + 20px)}.play-card-dialog .dialog-heading{position:relative;height:var(--card-header-height);display:flex;justify-content:center;padding:calc(12px + env(safe-area-inset-top)) 64px 12px;margin:0}.play-card-dialog .dialog-heading .icon-button{position:fixed;z-index:2;top:calc(12px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px}.play-card-body{padding:18px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}.play-card-footer{position:fixed;z-index:2;inset:auto 0 0;height:var(--card-footer-height);display:flex;flex-direction:column;justify-content:flex-end;padding:8px max(18px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));pointer-events:none}.play-card-footer .dialog-actions{margin:0}.play-card-footer .dialog-actions button{flex:1;min-width:0;max-width:200px;min-height:56px;font-size:var(--text-control);line-height:1.3;pointer-events:auto}.play-card-dialog>.read-reminder{margin:0 20px}.dialog-heading h2{font-size:var(--text-heading)}.card-explorer{grid-template-columns:115px 1fr;gap:18px}.card-explorer>img{width:115px}.card-explorer h3{font-size:var(--text-word)}.card-explorer h4{font-size:var(--text-section);margin-top:15px}.card-dialog p,.card-dialog .action-description,.card-dialog .no-match p{font-size:var(--text-body);line-height:1.6}.card-dialog .read-reminder{font-size:var(--text-label)}.match-reasons{gap:8px;max-height:none;overflow:visible}.match-reasons li{font-size:var(--text-label);padding:8px 10px}.match-reasons svg{width:20px;height:20px}.dialog-actions{gap:7px}.primary-button,.secondary-button{font-size:var(--text-control);padding:12px 13px}.color-picker{gap:7px}.color-picker button{font-size:var(--text-control)}.color-picker legend,.whisper-check{font-size:var(--text-body)}.whisper-check small{font-size:var(--text-label)}.library-game{padding:18px 0;gap:14px}.library-box{--box-width: 96px;--box-depth: 36.48px;flex-basis:112px}.library-game h3{font-size:var(--text-heading)}.flat-table{column-gap:22px;row-gap:12px;padding-bottom:20px}.flat-table img{width:min(210px,calc((100cqw - 50px)/2),calc((100cqh - 65px) * 480 / 670))}}@media(max-height:650px)and (min-width:701px){.game-hud{height:58px;padding-top:8px;padding-bottom:8px}.hand-section{padding-top:5px}.hand-cards{min-height:120px;padding-top:12px}.hand-card{width:104px}.scene-wrap{inset:60px 0 48px}.opponent{top:3px}.opponent-cards img{width:21px;height:29px}.turn-status{bottom:6px;font-size:var(--text-label);padding:7px 12px}}@media(max-height:650px)and (max-width:700px){.game-hud{height:60px}.hand-card{width:104px}.hand-cards{min-height:115px;padding:12px 4px 6px}.scene-wrap{inset:60px 0 44px}.opponent{top:4px}.opponent-cards img{width:20px;height:28px}.hand-heading{gap:6px}}@media(max-width:1023px){.hand-section{width:100%;padding-left:0;padding-right:0}.hand-heading,.hand-actions,.save-warning,.hand-cards{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hand-card:hover:not(:disabled){transform:none}}@media(max-width:700px){dialog.rules-dialog{padding:0;scroll-padding-top:calc(68px + env(safe-area-inset-top))}.rules-dialog .dialog-heading{min-height:calc(68px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left))}.rules-content{padding:0 max(18px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.rules-feature-list,.rules-color-key{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.hand-heading .hand-options{grid-column:1 / -1;grid-row:2;justify-self:stretch;justify-content:space-between}.whisper-reminder{grid-row:3}.rules-goal{padding:16px;gap:12px}.rules-goal>svg{width:28px}.rules-feature-list{padding:8px;gap:8px}.rules-feature-list h4{font-size:var(--text-section)}.rules-feature-list>div{padding:12px 10px;gap:10px}.rules-vowel-key{padding:14px 12px}.rules-color-key{gap:14px 10px}.border-sample{width:20px;height:30px;border-width:4px}}
