:root{--night: #100905;--room: #1a0f08;--room-elevated: #24140a;--ink: #f1e2bf;--ink-soft: #b7a17b;--ink-faint: #967f5c;--brass: #c99a43;--brass-light: #edd08a;--brass-dark: #8c631e;--turquoise: #5db8ae;--turquoise-on-ivory: #17675f;--turquoise-glow: rgba(93, 184, 174, .35);--pomegranate: #802f3d;--pomegranate-glow: rgba(128, 47, 61, .4);--card-bg: radial-gradient(circle at 45% 45%, #fffdf8 0%, #f6edd9 70%, #ede0c8 100%);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Noto Naskh Arabic", "Geeza Pro", serif;--sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-soft: 0 6px 20px rgba(26, 15, 8, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html{height:100%;background:var(--night);color-scheme:dark}body{margin:0;height:100%;min-height:100vh;min-height:100dvh;color:var(--ink);background:radial-gradient(90% 62% at 50% -5%,rgba(196,139,64,.16),transparent 72%),radial-gradient(70% 90% at 50% 40%,#25140a,#160c07 58%,#0b0604);font-family:var(--serif);-webkit-font-smoothing:antialiased;overflow:hidden}.rtl-layout,html[dir=rtl] body{direction:rtl;text-align:right}.dobble-app{position:relative;height:100vh;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.lobby-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.biner-menu-art{display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,26px)}.hero-card-sample{position:relative;width:clamp(104px,26vw,150px);height:clamp(104px,26vw,150px);border-radius:50%;background:var(--card-bg);border:3px solid var(--brass);box-shadow:0 18px 44px #00000080;overflow:hidden}.hero-card-sample:first-child{transform:rotate(-7deg) translateY(10px)}.hero-card-sample:last-child{transform:rotate(8deg) translateY(-10px)}.hero-card-sample:after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(201,154,67,.2);pointer-events:none}.sample-symbol{position:absolute;width:32%;height:32%;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none}.btn-play-primary{min-height:48px;background:linear-gradient(135deg,var(--brass),var(--brass-dark));color:#100905;border:1px solid var(--brass-light);border-radius:12px;font-family:var(--serif);font-size:1.15rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #c99a4359;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;width:100%}@media(hover:hover)and (pointer:fine){.btn-play-primary:not(:disabled):hover{background:linear-gradient(135deg,#dfad50,#9c6e22);box-shadow:0 6px 20px #c99a4380;transform:translateY(-1px)}}.btn-play-primary:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.btn-play-primary:focus-visible,.btn-secondary:focus-visible,.opt-btn:focus-visible,.btn-subaction:focus-visible,.btn-game-pause:focus-visible,.btn-text-close:focus-visible,.btn-hint:focus-visible,.explanation-symbol:focus-visible,.btn-text-skip:focus-visible{outline:3px solid var(--turquoise);outline-offset:2px}.btn-text-skip{min-height:44px;border:0;color:var(--ink-soft);background:transparent;font:600 .82rem/1.2 var(--sans);text-decoration:underline;text-decoration-color:#b7a17b73;text-underline-offset:4px;cursor:pointer}.biner-in-game .yk-language-toggle{visibility:hidden;opacity:0;pointer-events:none}.btn-all-games{text-decoration:none}.btn-secondary{flex:1;min-height:44px;background:#c99a431a;border:1px solid rgba(201,154,67,.28);color:var(--ink);border-radius:10px;font-family:var(--sans);font-size:.84rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px 10px;transition:all .15s ease}@media(hover:hover)and (pointer:fine){.btn-secondary:hover{background:#c99a4333;border-color:var(--brass);color:#fff}}.game-arena{flex:1;display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.game-bar{height:52px;max-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 16px;background:#1a0f08e0;border-bottom:1px solid rgba(201,154,67,.2);flex-shrink:0;z-index:10}.game-bar-start{display:flex;align-items:center;gap:8px;justify-self:start}.game-bar-mark{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--brass)}.game-bar-mark-svg{width:24px;height:24px;display:block}.game-bar-mark-svg svg{width:100%;height:100%}.game-bar-title{font-family:var(--serif);font-size:.95rem;font-weight:700;color:var(--ink);white-space:nowrap}.game-bar-middle{font-family:var(--sans);font-size:.86rem;color:var(--ink-soft);font-weight:600;text-align:center;justify-self:center;white-space:nowrap}.game-bar-end{justify-self:end}.btn-game-pause{min-height:44px;padding:0 14px;background:transparent;border:1px solid rgba(201,154,67,.32);border-radius:8px;color:var(--brass-light);font-family:var(--sans);font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}@media(hover:hover)and (pointer:fine){.btn-game-pause:hover{background:#c99a4326;border-color:var(--brass-light)}}.game-context-bar{min-height:26px;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.82rem;color:var(--ink-soft);flex-shrink:0;padding:2px 12px}.practice-context{display:flex;align-items:center;gap:12px}.practice-instruction-text{font-size:.82rem;color:var(--ink-soft)}.btn-hint{min-height:44px;padding:0 10px;background:#c99a4326;border:1px solid var(--brass);color:var(--brass-light);border-radius:6px;font-family:var(--sans);font-size:.76rem;font-weight:600;cursor:pointer}.timed-context strong,.streak-context strong{color:var(--brass-light)}.card-playfield{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:4px 12px 10px;width:100%;touch-action:none}.card-column{display:flex;flex-direction:column;align-items:center;gap:4px}.card-meta{display:flex;align-items:center;justify-content:center;gap:8px}.card-count{font-family:var(--sans);font-size:.72rem;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums}.card-label{font-family:var(--sans);font-size:.72rem;color:var(--ink-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.dobble-card{position:relative;width:min(76vw,calc((100svh - 138px)/2),330px);height:min(76vw,calc((100svh - 138px)/2),330px);aspect-ratio:1;border-radius:50%;background:var(--card-bg);border:2px solid var(--brass);box-shadow:var(--shadow-soft);box-sizing:border-box;user-select:none;-webkit-user-select:none;transition:box-shadow .25s ease}.dobble-card.card-enter{animation:card-deal .22s ease-out}@keyframes card-deal{0%{opacity:.35;scale:.94}to{opacity:1;scale:1}}.card-column.is-scoring .card-label{color:var(--turquoise)}.card-column.is-scoring .dobble-card{box-shadow:0 0 0 3px var(--turquoise),0 0 18px var(--turquoise-glow),var(--shadow-soft)}.dobble-card[data-locked=true]{animation:lock-drain var(--lock-ms, 1s) linear forwards}.dobble-card[data-locked=true] .card-surface{filter:saturate(.55) brightness(.82)}.dobble-card[data-locked=true] .card-symbol[data-interactive=true]{pointer-events:none;cursor:not-allowed}@keyframes lock-drain{0%{box-shadow:0 0 0 5px var(--pomegranate),0 0 18px var(--pomegranate-glow),var(--shadow-soft)}to{box-shadow:0 0 0 5px transparent,0 0 0 transparent,var(--shadow-soft)}}.dobble-card:after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(201,154,67,.25);pointer-events:none}.card-surface{position:absolute;inset:0;border-radius:50%;overflow:hidden}.empty-card-slot{width:min(76vw,calc((100svh - 138px)/2),330px);height:min(76vw,calc((100svh - 138px)/2),330px);border-radius:50%;border:2px dashed rgba(201,154,67,.3)}.card-symbol{position:absolute;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;margin:0;touch-action:manipulation}button.card-symbol[data-interactive=true]{cursor:pointer;min-width:44px;min-height:44px;border-radius:50%}div.card-symbol[data-interactive=false]{pointer-events:none}.symbol-visual{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;transition:transform .15s ease,outline .15s ease,box-shadow .15s ease}.symbol-img{width:88%;height:88%;object-fit:contain;pointer-events:none}.symbol-fallback{width:88%;height:88%;display:flex;align-items:center;justify-content:center;border:2px solid var(--brass-dark);border-radius:50%;background:#f8edcf;color:#3c2112;font-family:var(--sans);font-size:clamp(.55rem,.9em,.8rem);font-weight:800;line-height:1;pointer-events:none}.symbol-fallback[hidden]{display:none}.card-playfield[data-transitioning=true] .card-symbol[data-interactive=true]{pointer-events:none}@media(hover:hover)and (pointer:fine){button.card-symbol[data-interactive=true]:hover .symbol-visual{transform:scale(1.12)}}button.card-symbol[data-interactive=true]:focus-visible{outline:none}button.card-symbol[data-interactive=true]:focus-visible .symbol-visual{outline:3px solid var(--turquoise-on-ivory);outline-offset:2px;box-shadow:0 0 0 2px var(--turquoise)}.symbol-matched .symbol-visual{outline:4px solid var(--turquoise-on-ivory)!important;outline-offset:3px;box-shadow:0 0 0 2px var(--turquoise),0 0 14px var(--turquoise-glow);transform:scale(1.12)}.symbol-error .symbol-visual{outline:3px solid var(--pomegranate)!important;outline-offset:2px;box-shadow:0 0 10px var(--pomegranate-glow)}.hint-pulse .symbol-visual{outline:3px solid var(--brass-light);outline-offset:2px;animation:brass-pulse 1.2s ease-in-out infinite}@keyframes brass-pulse{0%,to{box-shadow:0 0 #edd08ab3}50%{box-shadow:0 0 0 8px #edd08a00}}@media(min-width:681px)and (min-aspect-ratio:1/1){.card-playfield{flex-direction:row;gap:clamp(20px,4vw,48px);max-width:920px;margin:0 auto}.dobble-card,.empty-card-slot{width:min(35vw,46svh,360px);height:min(35vw,46svh,360px)}}.card-playfield[data-mode=local-2p]{gap:4px}.card-playfield[data-mode=local-2p][data-seating=across] .p1-card-col{transform:rotate(180deg)}.card-playfield[data-mode=local-2p] .dobble-card,.card-playfield[data-mode=local-2p] .empty-card-slot{width:min(58vw,calc((100svh - 172px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 3),220px);height:min(58vw,calc((100svh - 172px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 3),220px)}@media(min-width:681px)and (min-aspect-ratio:1/1){.card-playfield[data-mode=local-2p]{flex-direction:row;gap:clamp(12px,2vw,24px)}.card-playfield[data-mode=local-2p] .dobble-card,.card-playfield[data-mode=local-2p] .empty-card-slot{width:min(28vw,44svh,260px);height:min(28vw,44svh,260px)}}@media(orientation:landscape)and (max-height:430px){.game-context-bar{min-height:22px;padding-block:0;font-size:.74rem}.card-playfield{flex-direction:row;gap:clamp(12px,4vw,28px);padding-block:2px 6px}.dobble-card,.empty-card-slot{width:min(40vw,46svh,220px);height:min(40vw,46svh,220px)}.card-playfield[data-mode=local-2p]{flex-direction:row;gap:clamp(6px,1.5vw,14px)}.card-playfield[data-mode=local-2p] .dobble-card,.card-playfield[data-mode=local-2p] .empty-card-slot{width:min(29vw,43svh,190px);height:min(29vw,43svh,190px)}}@media(max-width:480px){.game-bar{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:8px}.game-bar-title{display:none}.game-bar-middle{min-width:0;padding-inline:4px;overflow:hidden;font-size:.72rem;text-overflow:ellipsis}.btn-game-pause{padding-inline:9px;font-size:.74rem}}.countdown-overlay{position:fixed;inset:0;z-index:80;background:#100905bf;display:flex;align-items:center;justify-content:center}.countdown-card{display:flex;align-items:center;justify-content:center}.countdown-number{font-family:var(--serif);font-size:4rem;font-weight:700;color:var(--brass-light);text-shadow:0 4px 20px rgba(0,0,0,.8)}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#100905d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.modal-card{background:#1e120a;border:1px solid rgba(201,154,67,.32);border-radius:18px;padding:22px;width:100%;max-width:460px;max-height:calc(100svh - 36px);overflow-y:auto;box-shadow:0 20px 50px #000000d9;display:flex;flex-direction:column;gap:14px;color:var(--ink)}.how-to-modal-card{max-width:600px;gap:12px;overflow:hidden}.how-to-scroll-content{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.how-to-actions{display:flex;flex:0 0 auto;flex-direction:column;gap:6px}.how-to-intro{color:var(--ink-soft);font-family:var(--sans);font-size:.92rem;line-height:1.55}.explanation-cards{display:flex;align-items:flex-start;justify-content:center;gap:10px;width:100%;padding:2px 0}.explanation-card-wrap{display:grid;flex:0 1 178px;min-width:0;gap:6px;justify-items:center}.explanation-card-label{color:var(--brass-light);direction:inherit;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-align:center}.explanation-card{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:3px solid var(--brass);border-radius:50%;background:var(--card-bg);box-shadow:inset 0 0 0 2px #ffffffa3,inset 0 0 0 5px #8c631e29,0 7px 18px #0006}.explanation-card:after{content:"";position:absolute;inset:5px;border:1px solid rgba(201,154,67,.28);border-radius:50%;pointer-events:none}.explanation-symbol{position:absolute;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transform:translate(-50%,-50%)}.explanation-symbol .symbol-visual{flex:0 0 auto;transition:scale .16s ease,outline .16s ease,box-shadow .16s ease,opacity .16s ease}@media(hover:hover)and (pointer:fine){.explanation-symbol:not(:disabled):hover .symbol-visual{scale:1.12}}.explanation-symbol:focus-visible{outline-color:var(--turquoise-on-ivory)}.explanation-symbol.is-wrong .symbol-visual{outline:3px solid var(--pomegranate);outline-offset:2px;box-shadow:0 0 0 2px #ffffffbf,0 0 12px var(--pomegranate-glow);animation:explanation-nudge .28s ease-in-out}.explanation-symbol.is-match .symbol-visual{outline:4px solid var(--turquoise-on-ivory);outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 18px var(--turquoise-glow);scale:1.14}.explanation-symbol:disabled:not(.is-match) .symbol-visual{opacity:.42}@keyframes explanation-nudge{0%,to{translate:0}35%{translate:-3px 0}70%{translate:3px 0}}.explanation-feedback{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:2px;padding:9px 12px;border:1px solid rgba(201,154,67,.2);border-radius:10px;background:#c99a430f;color:var(--ink-soft);font-family:var(--sans);font-size:.84rem;line-height:1.42}.explanation-feedback strong{color:var(--ink);font-size:.94rem}.explanation-feedback.is-error{border-color:#be4a5b9e;color:#f0b7bf;background:#802f3d26}.explanation-feedback.is-success{border-color:#5db8aea6;color:#b9ebe4;background:#5db8ae1f}.explanation-feedback.is-success strong{color:#d8f7f2}@media(max-width:380px),(max-height:620px){.how-to-modal-card{gap:9px;padding:14px}.how-to-scroll-content{gap:9px}.how-to-intro{font-size:.82rem;line-height:1.42}.explanation-card-label{font-size:.66rem}.explanation-feedback{min-height:52px;padding:7px 9px;font-size:.78rem;line-height:1.35}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-title{font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--ink)}.btn-text-close{min-height:44px;padding:0 12px;background:transparent;border:1px solid rgba(201,154,67,.25);color:var(--ink-soft);border-radius:8px;font-family:var(--sans);font-size:.82rem;cursor:pointer;transition:all .15s ease}@media(hover:hover)and (pointer:fine){.btn-text-close:hover{background:#c99a4326;color:var(--ink)}}.opt-group{border:1px solid rgba(201,154,67,.2);border-radius:10px;padding:10px 12px 12px;margin-bottom:10px}.opt-legend{padding:0 6px;font-family:var(--sans);font-size:.76rem;font-weight:600;color:var(--brass-light);text-transform:uppercase;letter-spacing:.04em}.opt-btn-row{display:flex;gap:6px}.opt-btn-stack{display:flex;flex-direction:column;gap:6px}.opt-btn{flex:1;min-height:44px;background:#c99a4314;border:1px solid rgba(201,154,67,.25);color:var(--ink-soft);border-radius:8px;font-family:var(--sans);font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 10px;display:flex;align-items:center;justify-content:center;text-align:center;transition:all .15s ease}.opt-btn.active,.opt-btn[aria-pressed=true]{background:var(--brass);color:#100905;font-weight:700;border-color:var(--brass-light);box-shadow:0 2px 8px #c99a434d}.opt-btn[disabled]{opacity:.5;cursor:not-allowed}.opt-subactions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.btn-subaction{min-height:44px;width:100%;background:transparent;border:1px solid rgba(201,154,67,.3);color:var(--ink);border-radius:8px;font-family:var(--sans);font-size:.86rem;font-weight:600;cursor:pointer;padding:8px 12px;text-align:center;transition:all .15s ease}@media(hover:hover)and (pointer:fine){.btn-subaction:hover{background:#c99a4326;border-color:var(--brass)}}.opt-hint{margin-top:8px;color:var(--ink-faint);font-family:var(--sans);font-size:.76rem;line-height:1.4}.opt-btn-two-line{flex-direction:column;gap:1px;padding:6px 4px;line-height:1.2}.opt-btn-sub{font-size:.7rem;font-weight:500;opacity:.85}.two-player-modal-card{max-width:480px}.two-player-body{display:flex;flex-direction:column;gap:4px}.two-player-intro{margin-bottom:8px;color:var(--ink-soft);font-family:var(--sans);font-size:.92rem;line-height:1.55}.seating-row{display:flex;align-items:center;gap:14px}.seating-preview{position:relative;flex:0 0 auto;width:46px;height:78px;border:2px solid rgba(201,154,67,.55);border-radius:9px;background:#100905b3}.seating-seat{position:absolute;left:50%;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--brass);border-radius:50%;background:var(--card-bg);color:#3c2112;font-family:var(--sans);font-size:.78rem;font-weight:700;line-height:1;transform:translate(-50%);transition:transform .2s ease}.seating-seat-p1{top:8px}.seating-seat-p2{bottom:8px}.seating-preview[data-seating=across] .seating-seat-p1{transform:translate(-50%) rotate(180deg)}.seating-controls{display:flex;flex:1;flex-direction:column;min-width:0}.seating-controls .opt-hint{margin-top:6px}.two-player-note{color:var(--ink-faint);font-family:var(--sans);font-size:.78rem;line-height:1.45}.modal-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.results-modal-card{text-align:center}.results-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:10px 0}.stat-box{background:#c99a4314;border:1px solid rgba(201,154,67,.2);border-radius:10px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-num{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--brass-light)}.stat-desc{font-family:var(--sans);font-size:.72rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.glossary-modal-card{max-width:600px}.glossary-desc{font-family:var(--sans);font-size:.8rem;color:var(--ink-soft);margin-top:2px}.glossary-filter-bar{margin:4px 0 8px}.search-input{width:100%;min-height:44px;background:#100905cc;border:1px solid rgba(201,154,67,.3);border-radius:8px;padding:8px 12px;color:var(--ink);font-family:var(--sans);font-size:.88rem}.search-input:focus{outline:2px solid var(--turquoise)}.glossary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:50vh;overflow-y:auto;padding-right:4px}.glossary-card{display:flex;align-items:center;gap:10px;background:#c99a430f;border:1px solid rgba(201,154,67,.15);border-radius:8px;padding:8px}.glossary-thumb{width:40px;height:40px;object-fit:contain;flex-shrink:0}.glossary-info{display:flex;flex-direction:column;gap:2px;min-width:0}.glossary-name{font-family:var(--serif);font-size:.9rem;font-weight:700;color:var(--ink)}.glossary-trivia{font-family:var(--sans);font-size:.75rem;color:var(--ink-soft);line-height:1.3}.rules-text{font-family:var(--sans);font-size:.92rem;line-height:1.55;color:var(--ink-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.btn-play-primary,.btn-secondary,.opt-btn,.dobble-card,.modal-card{border:2px solid CanvasText}.opt-btn.active,.opt-btn[aria-pressed=true]{background:Highlight;color:HighlightText}.symbol-matched .symbol-visual{outline:4px solid Highlight!important}.symbol-error .symbol-visual{outline:3px solid LinkText!important}.dobble-card[data-locked=true]{outline:3px dashed LinkText}.card-column.is-scoring .dobble-card{outline:3px solid Highlight}}html[lang=ckb] :is(.card-label,.opt-legend,.stat-desc){letter-spacing:0;text-transform:none}
