.bakunawa-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.bakunawa-art-image{width:100%;height:100%;object-fit:contain;object-position:center top;opacity:.92;transform-origin:70% 45%}@media(prefers-reduced-motion:no-preference){.bakunawa-art--animated .bakunawa-art-image{animation:bakunawa-breathe 18s ease-in-out infinite alternate}}@keyframes bakunawa-breathe{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-4px,0) scale(1.012)}}@media(max-width:680px){.bakunawa-art-image{width:100%;height:auto;opacity:.95}}.main-menu-container{width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.menu-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.55) 100%);z-index:10}.menu-content{text-align:center;pointer-events:auto;z-index:10}.menu-title{font-size:clamp(3.2rem,8vw,6.5rem);font-weight:900;letter-spacing:.25em;margin-bottom:.4rem;text-shadow:0 0 50px var(--ui-border)}.title-glow{background:linear-gradient(135deg,var(--ui-accent) 0%,#fff275 25%,var(--ui-accent) 50%,#b8860b 75%,var(--ui-accent) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite;filter:drop-shadow(0 0 25px var(--ui-border))}.menu-subtitle{font-size:clamp(.85rem,2vw,1.25rem);color:var(--ui-secondary);letter-spacing:.18em;margin-bottom:2.8rem;font-weight:300;text-transform:uppercase}.menu-version{margin:-2.4rem 0 2.4rem;font-size:.66rem;letter-spacing:.25em;color:#ffffff4d}.play-button{position:relative;padding:1.2rem 4.5rem;font-size:1.3rem;font-weight:800;letter-spacing:.22em;color:#111;background:linear-gradient(135deg,var(--ui-accent) 0%,#ffc000 50%,#d4af37 100%);border:none;border-radius:50px;cursor:pointer;overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .25s ease;text-transform:uppercase;box-shadow:none;pointer-events:auto}.play-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--ui-secondary),transparent);transform:translate(-100%);transition:transform .6s var(--ease-out)}.button-text{position:relative;z-index:2}.menu-items{display:flex;flex-direction:column;gap:.9rem;margin-top:2.5rem;align-items:center}.menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.75rem 2.2rem;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:30px;cursor:pointer;transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:270px;color:var(--ui-ink);font-weight:500;letter-spacing:.06em}.item-icon{font-size:1.2rem}.preset-row{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem;align-items:center;width:100%;max-width:420px}.preset-card{display:flex;flex-direction:column;gap:.15rem;padding:.7rem 1.4rem;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:16px;cursor:pointer;transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,box-shadow .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;text-align:left;color:var(--ui-ink)}.preset-card:hover{background:var(--ui-raised);border-color:var(--ui-border)}.preset-card:active{transform:scale(.98)}.preset-label{font-size:.95rem;font-weight:700;letter-spacing:.05em}.preset-blurb{font-size:.74rem;color:var(--ui-secondary)}.preset-card.highlight{border-color:var(--ui-accent);box-shadow:none;animation:preset-pulse 2.2s ease-in-out infinite}@keyframes preset-pulse{0%,to{box-shadow:none}50%{box-shadow:none}}@media(prefers-reduced-motion:reduce){.preset-card.highlight{animation:none}}[data-motion=reduced] .preset-card.highlight,[data-motion=off] .preset-card.highlight{animation:none}.custom-match-link{margin-top:1rem;background:none;border:none;color:var(--ui-secondary);font-size:.78rem;letter-spacing:.06em;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .16s ease;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1rem}.custom-match-link:hover{color:var(--ui-border)}.volume-row{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}.volume-row input[type=range]{flex:1;accent-color:var(--ui-accent)}.volume-value{min-width:3.2rem;text-align:right;font-size:.8rem;color:var(--ui-secondary)}.menu-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100dvh;padding:max(16px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom));background:#000000c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .2s var(--ease-out)}.menu-modal-card{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:24px;padding:2.2rem;width:90%;max-width:600px;max-height:calc(100dvh - 32px);color:var(--ui-ink);overflow-y:auto;position:relative;box-shadow:0 20px 60px #0008;animation:zoom-modal .3s var(--ease-out)}.modal-close-icon{position:absolute;top:1.2rem;right:1.4rem;background:#ffffff1a;border:none;color:var(--ui-secondary);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:transform .16s var(--ease-out),background-color .16s ease,color .16s ease}.modal-close-icon:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%}.modal-title{padding-right:36px;font-size:1.6rem;color:var(--ui-ink);letter-spacing:.08em;margin-bottom:.3rem}.modal-subtitle{font-size:.88rem;color:var(--ui-secondary);margin-bottom:1.6rem}.config-group{margin-bottom:1.5rem;text-align:left}.config-label{display:block;font-size:.85rem;font-weight:700;color:var(--ui-ink);letter-spacing:.05em;margin-bottom:.6rem}.config-hint{margin-top:.5rem;font-size:.72rem;color:var(--ui-secondary)}.player-name-input{box-sizing:border-box;width:100%;max-width:320px;min-height:44px;padding:.7rem .9rem;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-raised);color:var(--ui-ink);font:inherit;font-size:1rem}.player-name-input:focus-visible{outline:3px solid var(--ui-accent);outline-offset:2px}.toggle-options{display:flex;gap:.6rem;flex-wrap:wrap}.option-btn{flex:1;min-width:140px;padding:.7rem 1rem;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:14px;color:var(--ui-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;text-align:center}.option-btn.active{background:var(--ui-raised);border-color:var(--ui-accent);color:var(--ui-accent);box-shadow:none}.start-game-btn{width:100%;padding:1rem;margin-top:1.2rem;background:var(--ui-accent);color:#000;font-size:1.1rem;font-weight:800;letter-spacing:.15em;border:none;border-radius:40px;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .25s ease;box-shadow:none}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.theme-card{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;padding:.75rem;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:14px;cursor:pointer;transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.theme-card:has(input:focus-visible),.theme-card.active:has(input:focus-visible){box-shadow:var(--focus-ring)}.theme-card.active{border-color:var(--ui-accent);background:var(--ui-raised);box-shadow:none}.theme-preview{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:contain;background:var(--ui-background);border-radius:6px}.theme-details{display:flex;flex-direction:column}.theme-name{font-size:.85rem;font-weight:700;color:var(--ui-ink)}.theme-sub{font-size:.72rem;color:var(--ui-secondary)}.rules-cards-container{display:flex;flex-direction:column;gap:.8rem;text-align:left}.rule-card{display:flex;gap:1rem;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:14px;padding:.9rem}.rule-icon{font-size:1.6rem;flex-shrink:0}.rule-info{min-width:0}.rule-info h4{color:var(--ui-accent);font-size:.95rem;margin-bottom:.25rem}.rule-info p{color:var(--ui-secondary);font-size:.82rem;line-height:1.45;margin:0}.words-table{width:100%;margin-top:.5rem;border-collapse:collapse;font-size:.8rem}.words-table th,.words-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--ui-border);vertical-align:top}.words-table th{color:var(--ui-accent);font-weight:700;letter-spacing:.04em}.words-table td:first-child{font-weight:700;color:var(--ui-ink);overflow-wrap:anywhere}.words-table td:nth-child(2){color:var(--ui-accent);overflow-wrap:anywhere}.words-table td:last-child{color:var(--ui-secondary)}.credits-content{text-align:left;line-height:1.6;color:var(--ui-secondary);font-size:.9rem}.credits-content p{margin-bottom:1rem}.bakunawa-note{position:absolute;left:36px;bottom:32px;display:flex;align-items:flex-end;gap:.8rem;pointer-events:none}.bakunawa-note-rule{width:2px;height:46px;border-radius:2px;background:linear-gradient(180deg,#50c87800,#8fe3b0bf)}.bakunawa-note-copy{display:flex;flex-direction:column;gap:.25rem;max-width:240px;text-align:left}.bakunawa-note-title{font-size:.66rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#8fe3b0e6}.bakunawa-note-body{font-size:.72rem;font-style:italic;line-height:1.5;color:#ffffff8c}@media(max-width:980px){.bakunawa-note{display:none}}.decorative-corner{position:absolute;width:120px;height:120px;pointer-events:none;opacity:.5}.decorative-corner:before{content:"";position:absolute;border:2px solid var(--ui-border)}.top-left{top:20px;left:20px}.top-left:before{top:0;left:0;border-right:none;border-bottom:none;width:60px;height:60px}.top-right{top:20px;right:20px}.top-right:before{top:0;right:0;border-left:none;border-bottom:none;width:60px;height:60px}.bottom-left{bottom:20px;left:20px}.bottom-left:before{bottom:0;left:0;border-right:none;border-top:none;width:60px;height:60px}.bottom-right{bottom:20px;right:20px}.bottom-right:before{bottom:0;right:0;border-left:none;border-top:none;width:60px;height:60px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes zoom-modal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:650px){.theme-grid{grid-template-columns:1fr}.menu-modal-card{padding:1.5rem}.toggle-options{flex-direction:column}.option-btn{width:100%}}@media(prefers-reduced-motion:reduce){.title-glow{animation:none}}[data-motion=reduced] .title-glow,[data-motion=off] .title-glow{animation:none}@media(hover:hover)and (pointer:fine){.play-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:none}.play-button:hover:before{transform:translate(100%)}.menu-item:hover{background:var(--ui-raised);border-color:var(--ui-accent);transform:translate(8px);box-shadow:none;color:var(--ui-accent)}.modal-close-icon:hover{background:var(--ui-raised);color:var(--ui-accent)}.option-btn:hover{background:var(--ui-raised);border-color:var(--ui-border)}.start-game-btn:hover{transform:translateY(-2px);box-shadow:none}.theme-card:hover{border-color:var(--ui-border);background:#ffffff14}}.play-button:active,.menu-item:active{transform:scale(.97)}.modal-close-icon:active{transform:scale(.9)}.option-btn:active,.start-game-btn:active{transform:scale(.97)}.theme-card:active{transform:scale(.98)}.resume-card{display:flex;align-items:center;gap:.7rem;margin-top:1.2rem;padding:.7rem 1rem;border-radius:14px;border:1px solid var(--ui-border);background:var(--ui-panel);color:var(--ui-ink);box-shadow:0 8px 24px #0006}.resume-card-icon{font-size:1.3rem}.resume-card-copy{display:flex;flex-direction:column;flex:1}.resume-card-title{font-size:.85rem;font-weight:700;color:var(--ui-accent);letter-spacing:.04em}.resume-card-sub{font-size:.72rem;color:var(--ui-secondary)}.resume-card-btn{padding:.4rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:var(--ui-raised);color:var(--ui-ink);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease-out}.resume-card-btn.primary{border:none;background:var(--ui-accent);color:#111}.resume-card-btn:active{transform:scale(.97)}.menu-overlay{overflow-y:auto;align-items:flex-start;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.menu-content{margin:auto;width:min(100%,640px);padding-block:16px;flex-shrink:0}.menu-title{margin-top:0}.preset-row{margin-inline:auto}.menu-items{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.menu-item{min-width:0;padding:12px 16px}.main-menu-container>div:first-child{opacity:.45}.menu-overlay{background:#100e0b52}.menu-subtitle,.preset-blurb,.resume-card-sub{font-size:14px;color:var(--ui-secondary)}@media(max-height:500px){.bakunawa-note{display:none}.menu-title{font-size:40px}}.title-glow{color:var(--ui-ink);background:none;-webkit-text-fill-color:currentColor;filter:none;animation:none}.menu-title{font-size:clamp(40px,6vw,76px);text-shadow:none;letter-spacing:.14em}.menu-subtitle{margin-bottom:28px;text-transform:none;letter-spacing:.06em}.menu-version{margin:-12px 0 24px;color:#b8ac97;font-size:14px}.play-button{background:var(--ui-accent);box-shadow:none;border-radius:12px;font-size:18px;padding:18px 36px;letter-spacing:.06em}.preset-card{background:var(--ui-panel);border-color:var(--ui-border);border-radius:12px;padding:14px 18px}.preset-card.highlight{box-shadow:none;animation:none;border-color:#a79570}.preset-label{font-size:16px}.menu-item{font-size:14px;background:var(--ui-panel);color:var(--ui-ink);border-color:var(--ui-border)}.menu-content{max-width:640px}.custom-match-link{font-size:14px;color:var(--ui-secondary)}.menu-modal-content{max-height:calc(100dvh - 32px);overflow:auto}@media(max-width:500px){.menu-content{padding-block:4px}.menu-subtitle{margin-bottom:24px}.menu-title{letter-spacing:.05em}.bakunawa-note{display:none}}@media(min-width:681px)and (min-height:620px){.menu-overlay{padding-top:clamp(130px,23vh,200px)}.menu-content{transform:translate(-3vw)}.menu-title{font-size:clamp(40px,4.5vw,64px)}.menu-subtitle{margin-bottom:20px}.menu-version{margin-bottom:18px}.menu-items{margin-top:16px}}@media(max-width:680px)and (min-height:620px){.menu-overlay{padding-top:min(45vw,240px)}.menu-content{margin-block:0 auto}}.visual-icon{width:1.2em;height:1.2em;vertical-align:-.2em;flex-shrink:0}.config-group select{background:var(--ui-raised);color:var(--ui-ink);border:1px solid var(--ui-border);border-radius:8px;padding:10px;min-height:44px;font:inherit}.option-btn:disabled{color:var(--ui-secondary);cursor:default}.match-review{margin-bottom:1.5rem}.review-tabs{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.review-tab{padding:.45rem .9rem;border-radius:18px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#ffffffbf;font-size:.8rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s var(--ease-out)}.review-tab.active{background:#ffd70026;border-color:gold;color:gold}.review-panel{min-height:150px}.review-chart-scroll{overflow-x:auto;border:1px solid rgba(255,215,0,.2);border-radius:12px;background:#00000059;padding:.5rem .25rem .35rem}.review-chart{display:block;min-width:480px}.chart-zero{stroke:#ffffff59;stroke-width:1;stroke-dasharray:4 4}.chart-area{fill:#ffd70038;stroke:none}.chart-line{fill:none;stroke:gold;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:#0009;stroke-width:1}.dot-biggest_capture{fill:#ff6b6b}.dot-lead_change{fill:#4ecdc4}.dot-longest_relay{fill:#a78bfa}.dot-match_point{fill:gold}.chart-axis-labels{display:flex;justify-content:space-between;padding:.3rem .5rem 0;font-size:.68rem;color:#ffffff8c;letter-spacing:.05em}.moment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;text-align:left}.moment-row{display:flex;align-items:baseline;gap:.6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.55rem .8rem;font-size:.85rem;color:#ffffffd9}.moment-icon{flex:none}.move-card{text-align:left;background:#ffffff0d;border-radius:12px;padding:.85rem 1rem;margin-bottom:.7rem;font-size:.88rem;color:#ffffffd9}.move-card.best{border:1px solid rgba(78,205,196,.5)}.move-card.mistake{border:1px solid rgba(255,107,107,.5)}.move-card-title{margin:0 0 .3rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.move-card.best .move-card-title{color:#4ecdc4}.move-card.mistake .move-card-title{color:#ff6b6b}.move-card p{margin:0;line-height:1.45}.review-empty,.review-unavailable{font-size:.85rem;color:#fff9;margin:.5rem 0 0}@media(max-width:860px){.review-tab{padding:.4rem .65rem;font-size:.72rem}.review-chart{min-width:420px}}@media(max-width:520px){.review-chart-scroll{max-width:100%;-webkit-overflow-scrolling:touch}.review-chart{min-width:360px}}@media(prefers-reduced-motion:reduce){.review-tab{transition:none}}.game-over-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#100e0bc7;z-index:2000;pointer-events:auto}.game-over-modal{width:100%;max-width:600px;max-height:100%;overflow:auto;padding:clamp(20px,4vw,36px);border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-panel);color:var(--ui-ink)}.match-result{position:relative;text-align:center}.match-result-emblem{color:var(--ui-secondary);margin-bottom:12px}.match-result--win .match-result-emblem{color:var(--ui-accent)}.match-result h2{margin:0;font-size:1.75rem;line-height:1.2;letter-spacing:-.02em}.match-result-reason{margin:12px 0 24px;color:var(--ui-secondary);font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.match-result-caption{margin:0;color:var(--ui-secondary);font-size:.875rem}.match-result-scores{display:flex;justify-content:center;gap:clamp(24px,8vw,72px);margin:16px 0 28px}.match-result-scores dt{color:var(--ui-secondary);font-size:1rem}.match-result-scores dd{margin:4px 0 0;font-size:3rem;line-height:1.1;font-variant-numeric:tabular-nums}.match-result .game-over-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:12px}.match-result .modal-btn{min-height:44px;padding:12px 18px;border-radius:8px;white-space:normal;letter-spacing:0}.match-result .primary-btn{background:var(--ui-accent);color:var(--ui-background);box-shadow:none}.match-result .secondary-btn{background:var(--ui-raised);border:1px solid var(--ui-border);color:var(--ui-ink)}.match-result-accent{position:absolute;top:0;right:0;bottom:0;left:0;height:180px;overflow:hidden;pointer-events:none}.match-result-accent i{position:absolute;left:50%;top:24px;width:4px;height:7px;border-radius:2px;background:var(--ui-accent);opacity:0;animation:result-scatter 1.45s ease-out both}.match-result-accent i:nth-child(2n){background:var(--ui-ink)}@keyframes result-scatter{0%{opacity:0;transform:translate(0) rotate(0)}15%{opacity:.85}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--spin))}}.match-result[data-motion=reduced] .match-result-accent,.match-result[data-motion=off] .match-result-accent{display:none}@media(prefers-reduced-motion:reduce){.match-result-accent{display:none}}@media(max-width:480px){.match-result-scores dd{font-size:2.5rem}}.game-scene-container{width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;transition:filter .24s var(--ease-out)}.game-scene-container.camera-switching{filter:blur(3px)}.game-ui{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(.8rem,env(safe-area-inset-top)) max(1.8rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(1.8rem,env(safe-area-inset-left));z-index:10}.game-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;pointer-events:auto}.header-left{display:flex;align-items:center;gap:1rem}.hud-button{padding:.6rem 1.2rem;background:#14141ea6;border:1px solid rgba(255,215,0,.3);color:gold;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:0 4px 15px #0000004d;min-height:44px}.game-badges{display:flex;flex-direction:column;gap:.25rem}.mode-badge,.rule-badge{font-size:.75rem;letter-spacing:.05em;padding:.2rem .6rem;border-radius:12px;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mode-badge{color:gold;border:1px solid rgba(255,215,0,.25);font-weight:600}.rule-badge{color:#ffffffbf;border:1px solid rgba(255,255,255,.1)}.scoreboard{display:flex;align-items:center;gap:1.2rem;background:#0a0a12bf;padding:.5rem 1.2rem;border-radius:40px;border:1px solid rgba(255,215,0,.25);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #0006}.player-card{display:flex;align-items:center;gap:.8rem;padding:.4rem .8rem;border-radius:30px;position:relative;transition:background-color .25s ease,box-shadow .25s ease}.player-card.active-turn{background:#ffd70026;box-shadow:0 0 20px #ffd70059}.player-card.active-turn:before{content:"";position:absolute;top:-2px;left:12%;right:12%;height:4px;border-radius:2px;background:gold}.player-card.opponent-turn{background:#64647826;box-shadow:0 0 15px #64647840;opacity:.85}.player-card.opponent-turn .avatar{background:#6464784d}.player-card.opponent-turn .turn-ring{border-color:#a0a0c0;box-shadow:0 0 10px #a0a0c066;animation:pulse-glow-dim 2s infinite}@keyframes pulse-glow-dim{0%,to{opacity:.4}50%{opacity:.7}}.turn-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:30px;border:2px solid #ffd700;box-shadow:0 0 12px #ffd70099;pointer-events:none;animation:pulse-glow 1.5s infinite}.avatar{font-size:1.5rem;background:#ffffff1a;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%}.player-details{display:flex;flex-direction:column}.player-details .name{font-size:.8rem;color:#fffc;font-weight:500;letter-spacing:.05em}.player-details .score{font-size:1.4rem;font-weight:800;color:gold;line-height:1.1;text-shadow:0 0 10px rgba(255,215,0,.5)}.vs-badge{display:flex;flex-direction:column;align-items:center;font-weight:700;font-size:.85rem;color:#ffffff80}.sowing-indicator{font-size:.7rem;color:gold;animation:pulse-glow 1.5s infinite}.hud-toolbar{display:flex;align-items:center;gap:.5rem}.tool-btn{background:#14141ea6;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem .8rem;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease;display:flex;align-items:center;gap:.35rem}.tool-btn{min-height:44px;min-width:44px}.tool-btn:disabled{opacity:.35;cursor:not-allowed}.tool-btn.active{background:#ffd7004d;border-color:gold;color:gold}.playback-cluster{display:flex;align-items:center;gap:.5rem}.playback-btn{border-color:#ffd70073}.playback-btn .btn-label{min-width:3.6em;text-align:left}.pit-overlay{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.pit-badge{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;font-family:inherit;border:1px solid rgba(255,255,255,.3);width:28px;height:28px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:13px;font-weight:700;pointer-events:auto}.pit-badge:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%}.pit-badge:disabled{cursor:default}.pit-badge:focus-visible{outline:2px solid #fff;outline-offset:2px}.badge-count{font-size:13px;line-height:1}.pit-number{position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);padding:2px 4px;border-radius:4px;background:var(--ui-panel);color:var(--ui-secondary);white-space:nowrap;font-size:10px;font-weight:700;line-height:1}.pit-badge.selectable{background:#8a6208;border-color:gold;color:#fff;cursor:pointer;box-shadow:0 0 12px #ffd70099;animation:badge-pulse 2s ease-in-out infinite}.pit-badge.selectable:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:2px solid #ffd700;border-radius:50%;pointer-events:none}.pit-badge.hinted:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:2px dashed #00ff88;border-radius:50%;pointer-events:none}.pit-badge.hinted .badge-count:before{content:"★ "}.pit-badge.landing:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:2px dashed #7fd4ff;border-radius:50%;pointer-events:none}.delta-chip{font-size:10px;font-weight:800;line-height:1;padding:2px 5px;border-radius:8px;white-space:nowrap;border:1px solid transparent}.delta-chip.pos{background:#0a2816e6;border-color:#4ade80;color:#86efac}.delta-chip.neg{background:#301e05e6;border-color:#f59e0b;color:#fcd34d}.delta-chip.capture{background:#3c0c0ceb;border-color:#f87171;color:#fecaca}.pit-chips{display:flex;flex-direction:column;align-items:center;gap:2px}.pit-chip{font-size:9px;font-weight:700;line-height:1;letter-spacing:.02em;padding:2px 5px;border-radius:7px;white-space:nowrap;background:#0c0c14d9;border:1px solid rgba(255,215,0,.35);color:#ffffffe0}.store-badge{border:1px solid rgba(255,215,0,.4);padding:.3rem .7rem;border-radius:15px;text-align:center;min-width:80px}.store-overlay{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.store-badge.landing{outline:2px dashed #7fd4ff;outline-offset:3px}.store-badge-label{font-size:9px;letter-spacing:.08em}.store-badge-count{font-size:18px;font-weight:800;line-height:1}.sowing-hand-badge{background:#000000d9;border:1px solid #ffd700;color:gold;padding:.25rem .6rem;border-radius:15px;font-size:12px;font-weight:700;box-shadow:0 0 15px #ffd700b3;white-space:nowrap}.toast-notification{position:absolute;top:15%;left:50%;transform:translate(-50%) scale(1);padding:.7rem 1.8rem;border-radius:30px;font-size:1rem;font-weight:700;letter-spacing:.05em;z-index:100;pointer-events:none;opacity:1;transition:transform .26s var(--ease-out),opacity .26s var(--ease-out);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@starting-style{.toast-notification{opacity:0;transform:translate(-50%,-16px) scale(.95)}}.toast-notification.toast-leaving{opacity:0;transform:translate(-50%,-12px) scale(.97);transition:transform .16s var(--ease-out),opacity .16s var(--ease-out)}.toast-notification.info{background:#1e3250e6;border:1px solid #4ecdc4;color:#4ecdc4;box-shadow:0 10px 30px #4ecdc466}.toast-notification.extra{background:#3c2d0ae6;border:1px solid #ffd700;color:gold;box-shadow:0 10px 35px #ffd70080}.toast-notification.capture{background:#461414e6;border:1px solid #ff6b6b;color:#ff6b6b;box-shadow:0 10px 35px #ff6b6b80}.game-footer{display:flex;justify-content:center;align-items:center;pointer-events:auto;padding-bottom:max(0rem,env(safe-area-inset-bottom))}.action-feed-container{display:flex;align-items:center;gap:1.2rem;background:#0c0c14cc;border:1px solid rgba(255,215,0,.25);padding:.6rem 1.5rem;border-radius:30px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #00000080;max-width:800px}.turn-status-badge{font-size:.85rem;font-weight:700;color:gold;white-space:nowrap}.pulse-text{animation:pulse-glow 1.5s infinite}.action-feed-text{font-size:.85rem;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-feed-text.preview{color:#7fd4ff;font-weight:600}.hint-modal-card{position:absolute;bottom:5.5rem;right:2rem;background:#0f141ef2;border:1px solid #00ff88;border-radius:18px;padding:1.2rem;width:320px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 35px #00ff8840;pointer-events:auto;animation:slide-up .3s var(--ease-out);z-index:50}.hint-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.hint-header h4{color:#0f8;font-size:.95rem;letter-spacing:.05em;margin:0}.close-hint-btn{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:1rem}.hint-body{margin-bottom:1rem}.hint-recommendation{font-size:.9rem;color:#fff;margin-bottom:.3rem}.hint-reason{font-size:.8rem;color:#ffffffbf;line-height:1.4}.play-hint-btn{width:100%;padding:.6rem;background:linear-gradient(135deg,#0f8,#00b359);color:#000;border:none;border-radius:20px;font-weight:700;cursor:pointer;transition:transform .2s ease}.match-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:2rem}.stat-card{background:#ffffff0d;border:1px solid rgba(255,215,0,.2);border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.2rem}.stat-label{font-size:.75rem;color:#fff9;letter-spacing:.05em}.stat-value{font-size:1.3rem;font-weight:700;color:#fff}.stat-value.p1-val{color:gold}.stat-value.p2-val{color:#ff6b6b}.modal-btn{padding:.8rem 1.8rem;border-radius:30px;font-size:.95rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:transform .16s var(--ease-out),background-color .2s ease,box-shadow .25s ease;border:none}.modal-btn.primary-btn{background:linear-gradient(135deg,gold,#b8860b);color:#000;box-shadow:0 6px 20px #ffd70066}.modal-btn.secondary-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}@keyframes badge-pulse{0%,to{box-shadow:0 0 10px #ffd70066}50%{box-shadow:0 0 20px #ffd700cc}}@keyframes badge-pulse-green{0%,to{box-shadow:0 0 10px #0f86}50%{box-shadow:0 0 22px #0f8c}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{opacity:.55}50%{opacity:1}}@media(max-width:860px){.game-ui{padding:.8rem 1rem}.game-header{flex-direction:column;gap:.6rem}.game-badges{display:none}.scoreboard{padding:.3rem .8rem;gap:.6rem}.player-card{gap:.4rem;padding:.2rem .5rem}.avatar{width:30px;height:30px;font-size:1.1rem}.player-details .score{font-size:1.1rem}.tool-btn .btn-label{display:none}.playback-cluster{gap:.35rem}.action-feed-container{max-width:95%;padding:.5rem 1rem;gap:.8rem}.hint-modal-card{right:1rem;bottom:5rem;width:calc(100vw - 2rem)}}.game-scene-container.portrait .game-header,.game-scene-container.compact .game-header{flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap}@media(max-width:500px){.game-header{flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap}}.game-scene-container.portrait .game-header,.game-scene-container.compact .game-header{min-height:0;max-height:88px;padding:0}.game-scene-container.portrait .header-left,.game-scene-container.compact .header-left{gap:.5rem;flex:none}.game-scene-container.portrait .header-center,.game-scene-container.compact .header-center{flex:1;min-width:0;display:flex;justify-content:center}.game-scene-container.portrait .scoreboard,.game-scene-container.compact .scoreboard{padding:.25rem .6rem;gap:.4rem}.game-scene-container.portrait .player-card,.game-scene-container.compact .player-card{gap:.3rem;padding:.15rem .4rem}.game-scene-container.portrait .avatar,.game-scene-container.compact .avatar{width:28px;height:28px;font-size:1rem}.game-scene-container.portrait .player-details .score,.game-scene-container.compact .player-details .score{font-size:1rem}.game-scene-container.portrait .hud-toolbar,.game-scene-container.compact .hud-toolbar{gap:.35rem}.compact-overflow{position:relative}.overflow-btn{min-width:44px;justify-content:center;font-size:1.1rem;letter-spacing:0}.overflow-menu{position:absolute;top:calc(100% + .4rem);right:0;display:flex;flex-direction:column;gap:.3rem;min-width:170px;padding:.4rem;background:#0c0c14f7;border:1px solid rgba(255,215,0,.3);border-radius:12px;box-shadow:0 12px 30px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30}.overflow-item{padding:.55rem .8rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fff;font:inherit;font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.overflow-item:disabled{opacity:.45;cursor:default}.overflow-item.active{border-color:gold;color:gold;background:#ffd70026}.game-scene-container.portrait .action-feed-container,.game-scene-container.compact .action-feed-container{flex-direction:column;align-items:flex-start;gap:.3rem;max-width:95vw}.game-scene-container.portrait .action-feed-text,.game-scene-container.compact .action-feed-text{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.35;max-height:2.7em}.game-scene-container.portrait .turn-status-badge,.game-scene-container.compact .turn-status-badge{white-space:normal}@media(prefers-reduced-motion:reduce){.toast-notification,.toast-notification.toast-leaving,.game-scene-container.camera-switching canvas{transition:none}}[data-motion=reduced] .toast-notification,[data-motion=reduced] .toast-notification.toast-leaving,[data-motion=off] .toast-notification,[data-motion=off] .toast-notification.toast-leaving,[data-motion=reduced] .game-scene-container.camera-switching canvas,[data-motion=off] .game-scene-container.camera-switching canvas{transition:none}@media(hover:hover)and (pointer:fine){.hud-button:hover{background:#ffd70033;border-color:#ffd700b3;transform:translateY(-2px)}.tool-btn:hover:not(:disabled){background:#ffd70040;border-color:gold;transform:translateY(-2px);color:gold}.play-hint-btn:hover{transform:translateY(-2px)}.modal-btn.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ffd70099}.modal-btn.secondary-btn:hover{background:#fff3}}.hud-button:active{transform:scale(.97)}.tool-btn:active:not(:disabled){transform:scale(.97)}.play-hint-btn:active,.modal-btn:active{transform:scale(.97)}.turn-timer{margin-left:.4rem;padding:.15rem .5rem;border-radius:10px;background:#00000080;border:1px solid rgba(255,215,0,.35);color:gold;font-size:.68rem;letter-spacing:.06em}.turn-timer.low{border-color:#f87171b3;color:#f87171;animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.online-banner{position:absolute;top:5.4rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;border-radius:30px;background:#14141ee6;border:1px solid rgba(255,215,0,.4);box-shadow:0 8px 24px #0006;z-index:40;pointer-events:auto}.online-banner.lost{border-color:#f8717199}.online-banner-text{color:gold;font-size:.82rem;letter-spacing:.05em}.online-banner.lost .online-banner-text{color:#f87171}.online-banner-btn{padding:.35rem .9rem;border-radius:20px;border:1px solid rgba(255,215,0,.4);background:#ffd7001f;color:gold;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease-out}.online-banner-btn.danger{border-color:#f8717180;color:#f87171;background:#f871711f}.online-banner-btn:active{transform:scale(.97)}.reconnect-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#080810;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.reconnect-card{width:min(420px,92vw);display:flex;flex-direction:column;gap:.55rem;background:#12121cf7;border:1px solid rgba(255,215,0,.35);border-radius:18px;padding:1.4rem;color:#fff;box-shadow:0 18px 50px #0009}.reconnect-title{margin:0;font-size:1.1rem;letter-spacing:.04em}.reconnect-lead{margin:0 0 .4rem;color:#ffffffbf;font-size:.84rem;line-height:1.5}@media(prefers-reduced-motion:reduce){.turn-timer.low{animation:none}}[data-motion=reduced] .turn-timer.low,[data-motion=off] .turn-timer.low{animation:none}.handoff-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#080810}.handoff-card{width:min(420px,92vw);display:flex;flex-direction:column;align-items:center;gap:.6rem;background:#12121cf7;border:1px solid rgba(255,215,0,.35);border-radius:18px;padding:1.6rem;color:#fff;text-align:center;box-shadow:0 18px 50px #0009}.handoff-icon{font-size:2.2rem}.handoff-title{font-size:1.3rem;color:gold;letter-spacing:.04em;margin:0}.handoff-sub{font-size:.85rem;color:#ffffffa6;margin:0 0 .4rem}.ruleset-intro-card{width:min(480px,92vw)}.ruleset-intro-card .handoff-sub{color:#fffc;line-height:1.55;margin:0}.ruleset-intro-note{font-size:.78rem;color:#ffffff8c;line-height:1.5;margin:0;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.12)}.manual-cluster .tool-btn{border-color:#0f8;color:#0f8}.sow-hint{font-size:.78rem;color:#0f8;font-weight:700;letter-spacing:.04em}.sow-error{font-size:.78rem;color:#f87171;font-weight:700}.manual-direction-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:5;display:flex;align-items:center;gap:.4rem;background:#0c0c14eb;border:1px solid #00ff88;color:#0f8;padding:.35rem .7rem;border-radius:20px;font-size:.8rem;font-weight:700;box-shadow:0 8px 20px #00ff8840}.manual-direction-marker .arrow{font-size:1.1rem;line-height:1}.sowing-hand-badge.p1{border-color:gold;color:gold}.sowing-hand-badge.p2{border-color:#4ecdc4;color:#4ecdc4}.opening-choice-card{width:min(480px,92vw)}.opening-choice-pits{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:.4rem 0}.opening-choice-btn{min-width:3.2rem;padding:.55rem .7rem;border-radius:12px;border:1px solid rgba(255,215,0,.35);background:#ffd70014;color:gold;font:inherit;font-weight:700;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s ease-out}.opening-choice-btn:hover:not(:disabled){background:#ffd7002e}.opening-choice-btn.selected{background:#ffd70047;border-color:gold;box-shadow:0 0 14px #ffd70073}.opening-choice-btn:disabled{opacity:.45;cursor:not-allowed}.opening-choice-btn:active:not(:disabled){transform:scale(.97)}.dialog-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none;color:#f3ead8}.dialog-root>*{pointer-events:auto}.dialog-root [role=dialog]{max-height:calc(100dvh - 32px);overflow-y:auto}.dialog-root .hint-modal-card{position:absolute;top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);animation:none}.dialog-root:has([aria-modal=true]){background:#100e0bb3;pointer-events:auto}.game-ui{z-index:50}.toast-notification{z-index:60}.invite-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#080810;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.invite-card{position:relative;width:min(460px,92vw);max-height:88vh;overflow-y:auto;background:#12121cf7;border:1px solid rgba(255,215,0,.35);border-radius:18px;padding:1.6rem 1.4rem 1.4rem;color:#fff;box-shadow:0 18px 50px #0009}.invite-close{position:absolute;top:.7rem;right:.8rem;background:none;border:none;color:#ffffff8c;font-size:1rem;cursor:pointer}.invite-close:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.invite-close:hover{color:#fff}.invite-kicker{display:block;font-size:.66rem;letter-spacing:.2em;color:gold;margin-bottom:.4rem}.invite-build-tag{margin-left:.5rem;color:#ffffff59;font-style:normal;font-size:.6rem;letter-spacing:.1em}.invite-title{margin:0 0 1rem;font-size:1.15rem;letter-spacing:.04em}.invite-progress{list-style:none;margin:0 0 1rem;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.45rem;background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:12px}.invite-progress li{display:flex;align-items:center;gap:.55rem;font-size:.76rem;color:#ffffff73;letter-spacing:.03em}.invite-progress li.current{color:gold;font-weight:700}.invite-progress li.done{color:#fff9}.invite-progress li.done .invite-progress-num{background:#4ade8033;border-color:#4ade8099;color:#4ade80}.invite-progress-num{flex:none;width:1.35rem;height:1.35rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.25);font-size:.66rem;font-weight:700}.invite-progress li.current .invite-progress-num{background:#ffd70026;border-color:gold;color:gold}.invite-step{display:flex;flex-direction:column;gap:.55rem}.invite-lead{margin:0;color:#fffc;font-size:.85rem;line-height:1.5}.invite-hint{margin:0;color:#ffffff73;font-size:.72rem;line-height:1.4}.invite-codebox{background:#00000080;border:1px dashed rgba(255,215,0,.4);border-radius:12px;padding:.7rem .8rem;font-family:ui-monospace,Consolas,monospace;font-size:.62rem;line-height:1.5;color:#ffd70099;max-height:130px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.invite-paste{width:100%;min-height:88px;resize:vertical;background:#00000073;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font:inherit;font-size:.75rem;padding:.6rem .7rem}.invite-paste:focus{outline:1px solid rgba(255,215,0,.6)}.invite-btn{padding:.7rem 1rem;border-radius:30px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fff;font:inherit;font-weight:700;font-size:.78rem;letter-spacing:.08em;cursor:pointer;transition:transform .16s cubic-bezier(.22,1,.36,1),background-color .16s ease-out,opacity .16s ease-out}.invite-btn.gold{border:none;background:linear-gradient(135deg,gold,#b8860b);color:#111}.invite-btn.ghost{background:none}.invite-btn:disabled{opacity:.4;cursor:default}.invite-btn:active:not(:disabled){transform:scale(.97)}.invite-connected{align-items:center;text-align:center}.invite-pulse{width:12px;height:12px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade8080;animation:invite-pulse 1.6s ease-out infinite}@keyframes invite-pulse{0%{box-shadow:0 0 #4ade8080}to{box-shadow:0 0 0 14px #4ade8000}}.invite-qr{align-self:center;width:180px;height:180px;border-radius:10px;border:4px solid #fff;background:#fff}.invite-scan-box{position:relative;align-self:center;width:200px;height:150px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,215,0,.4);background:#000}.invite-viewfinder{width:100%;height:100%;object-fit:cover}.invite-scan-hint{position:absolute;left:0;right:0;bottom:0;padding:.25rem .4rem;background:#000000a6;color:gold;font-size:.66rem;text-align:center}.invite-error{margin:.6rem 0 0;color:#f87171;font-size:.78rem;line-height:1.4}.invite-room-code{align-self:center;font-family:ui-monospace,Consolas,monospace;font-size:2.2rem;font-weight:800;letter-spacing:.45em;text-indent:.45em;color:gold;background:#00000080;border:1px solid rgba(255,215,0,.45);border-radius:14px;padding:.7rem 1rem;text-align:center;-webkit-user-select:all;user-select:all}.invite-code-inputs{display:flex;gap:.4rem;justify-content:center}.invite-code-input{width:2.6rem;height:3rem;text-align:center;font-family:ui-monospace,Consolas,monospace;font-size:1.3rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#00000073;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#fff}.invite-code-input:focus{outline:1px solid rgba(255,215,0,.7);border-color:#ffd70080}.invite-room-loading,.invite-waiting{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.6rem 0}.invite-disclosure{margin-top:.6rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.6rem .8rem;background:#00000040}.invite-disclosure summary{cursor:pointer;font-size:.78rem;color:#ffffffb3;list-style:none}.invite-disclosure summary::-webkit-details-marker{display:none}@media(max-width:520px){.invite-card{width:100%;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border-left:none;border-right:none;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));padding-top:max(1rem,env(safe-area-inset-top))}.invite-codebox{max-height:calc(9em + 1.4rem);overflow-y:auto}.invite-qr{width:min(60vw,260px);height:min(60vw,260px)}.invite-scan-box{width:min(80vw,320px);height:min(50vh,240px);max-height:50vh}.invite-viewfinder{max-height:50vh}.invite-btn{width:100%}.invite-code-inputs{gap:.3rem}.invite-code-input{width:2.2rem;height:2.7rem;font-size:1.15rem}.invite-room-code{font-size:1.8rem;letter-spacing:.35em;padding:.6rem .8rem}}@media(prefers-reduced-motion:reduce){.invite-pulse{animation:none}}[data-motion=reduced] .invite-pulse,[data-motion=off] .invite-pulse{animation:none}.tutorial-coach{position:absolute;left:50%;bottom:92px;transform:translate(-50%);z-index:40;width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;padding:14px 18px;border-radius:16px;background:#0c0805e0;border:1px solid rgba(255,200,120,.35);box-shadow:0 12px 40px #0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tutorial-coach-header{display:flex;align-items:baseline;gap:10px}.tutorial-progress{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d9a05b}.tutorial-title{font-size:15px;font-weight:700;color:#f7e7c9}.tutorial-bubble{font-size:15px;line-height:1.45;color:#fdf3df}.tutorial-actions{display:flex;flex-wrap:wrap;gap:8px}.tutorial-btn.primary{border-color:#ffb84d;color:#ffd28a}.tutorial-btn.ghost{opacity:.75}@media(max-width:640px){.tutorial-coach{bottom:76px;padding:10px 12px}.tutorial-bubble{font-size:13px}}@media(max-width:520px){.tutorial-coach{width:min(560px,calc(100vw - 16px));bottom:calc(72px + env(safe-area-inset-bottom))}}.game-hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;color:var(--ui-ink);font-family:Outfit,system-ui,sans-serif}.game-hud button,.game-hud select{min-height:44px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-panel);color:var(--ui-ink);padding:8px 14px;font:inherit;font-size:16px;cursor:pointer}.game-hud button:disabled{opacity:.45;cursor:default}.game-hud button:hover:enabled{background:#392f21}.game-hud button:active:enabled{transform:scale(.97)}.game-hud button:focus-visible,.game-hud select:focus-visible{outline:3px solid var(--ui-ink);outline-offset:2px}.tabletop-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));pointer-events:auto}.tabletop-scores{display:flex;gap:24px}.tabletop-score{display:flex;align-items:baseline;position:relative;gap:12px;padding:8px 4px;border-bottom:2px solid transparent;font-size:16px}.tabletop-score strong{font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.tabletop-score>span{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabletop-score.current{border-color:var(--ui-accent)}.tabletop-score.seat-2.current{border-color:#74c6bb}.tabletop-score small{position:absolute;top:100%;white-space:nowrap;font-size:14px;color:var(--ui-ink)}.tabletop-tools,.tabletop-playback{display:flex;gap:8px;align-items:center}.tabletop-options{position:relative}.tabletop-options-panel{position:absolute;right:0;top:52px;display:flex;flex-direction:column;gap:6px;min-width:230px;padding:10px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:12px;max-height:calc(100dvh - 100px);overflow-y:auto;box-shadow:0 8px 24px #0008}.tabletop-options-panel button{text-align:left;border-color:transparent}.tabletop-options-panel label{display:flex;align-items:center;justify-content:space-between;font-size:16px;padding-left:14px}.tabletop-tray{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:min(760px,100%);padding:8px 16px max(8px,env(safe-area-inset-bottom));text-align:center;pointer-events:auto;background:#100e0bf2;border-radius:12px 12px 0 0}.tabletop-instruction{font-size:16px;font-weight:600;color:#ecd29e}.tabletop-outcome{font-size:14px;line-height:1.4;margin-top:4px;color:#e2d6c0}.tabletop-commit{display:flex;justify-content:center;gap:8px;margin-top:8px}.tabletop-commit button:first-child{background:var(--ui-accent);color:var(--ui-background)}.board-region{position:absolute;top:var(--hud-top, 80px);bottom:var(--hud-bottom, 80px);left:0}.board-stage{width:100%;height:100%;position:relative}.scene-status{position:absolute;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--ui-background);color:var(--ui-ink);font-size:16px}.scene-status button{padding:12px}.pit-badge,.pit-badge.selectable,.pit-badge.hinted{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;animation:none;color:var(--ui-ink)}.count-plaque,.store-plaque{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:32px;min-height:28px;padding:2px 4px;gap:1px;border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-panel);color:var(--ui-ink);pointer-events:none}.pit-badge.selectable .count-plaque{border-bottom:3px solid var(--ui-accent)}.pit-badge.selectable:before,.pit-badge.hinted:before,.pit-badge.hinted .badge-count:before{display:none}.pit-badge.hinted .count-plaque,.store-badge.hinted .store-plaque{border-style:dashed;border-color:var(--ui-ink)}.pit-badge .badge-count{font-size:1.125rem;line-height:1.1;color:var(--ui-ink)}.pit-badge.active-sow,.pit-badge:focus-visible,.store-badge.active-sow,.store-badge:focus-visible{outline:3px solid var(--ui-ink);outline-offset:2px;box-shadow:0 0 0 2px var(--ui-background)}.store-badge{display:flex;align-items:center;justify-content:center;width:70px;min-height:52px;min-width:70px;padding:0;color:var(--ui-ink);border:0;background:transparent;box-shadow:none}.store-plaque{min-width:58px;min-height:40px}.store-badge-count{font-size:1.375rem;color:var(--ui-ink);text-shadow:none}.store-badge-label{font-size:.75rem;letter-spacing:0;white-space:nowrap;color:var(--ui-secondary)}button.store-badge{pointer-events:auto}.delta-chip{font-size:14px}.game-scene-container.camera-switching{filter:none}@media(max-width:520px){.tabletop-header{padding-inline:8px;gap:4px}.tabletop-scores{gap:12px}.tabletop-score{flex-direction:column;align-items:center;gap:3px;font-size:14px}.tabletop-score strong{font-size:24px}.tabletop-score small{font-size:14px}.game-hud button{padding-inline:9px;font-size:14px}.tabletop-playback{position:absolute;right:8px;top:80px;flex-direction:column}.tabletop-tools>button{position:absolute;right:8px;top:80px;max-width:64px}.tabletop-tray{padding:6px 8px max(6px,env(safe-area-inset-bottom))}}.pit-overlay>.delta-chip,.store-overlay>.delta-chip{display:none}@media(max-width:520px){.tabletop-score{flex-direction:row;align-items:baseline;gap:5px}.tabletop-scores{gap:10px}.tabletop-commit{position:absolute;bottom:80px;right:8px;flex-direction:column;max-width:80px}}.pit-badge.active-sow,.store-badge.active-sow,.pit-badge.selectable:hover,.pit-badge.selectable:active{transform:none}.pit-badge:after{top:0;right:0;bottom:0;left:0;pointer-events:none}.pit-badge.selectable:before{inset:auto;bottom:3px;left:50%;border:0}.pit-badge.highlight-user.active-sow,.store-badge.highlight-user.active-sow{outline-color:#22c55e}.pit-badge.highlight-opponent.active-sow,.store-badge.highlight-opponent.active-sow{outline-color:#ef4444}.pit-badge.highlight-user.hinted .count-plaque,.store-badge.highlight-user.hinted .store-plaque{border-color:#22c55e}.pit-badge.highlight-opponent.hinted .count-plaque,.store-badge.highlight-opponent.hinted .store-plaque{border-color:#ef4444}.pit-badge.selectable:hover .count-plaque{background:var(--ui-raised);color:var(--ui-ink)}.dialog-root .handoff-card,.dialog-root .reconnect-card,.dialog-root .hint-modal-card{background:var(--ui-panel);color:var(--ui-ink);border-color:var(--ui-border)}.dialog-root .handoff-title{color:var(--ui-ink);text-shadow:none}.dialog-root .handoff-sub,.dialog-root .ruleset-intro-note{font-size:16px;color:var(--ui-secondary)}.dialog-root .primary-btn{background:var(--ui-accent);color:var(--ui-background);box-shadow:none}.app-container{width:100%;height:100%;position:relative;overflow:hidden}.transition-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .3s var(--ease-out);z-index:1000;display:flex;align-items:center;justify-content:center}.transition-overlay.active{opacity:1;pointer-events:all}.transition-circle{width:10vmax;height:10vmax;border-radius:50%;background:radial-gradient(circle,gold,#b8860b,#8b4513);transform:scale(.05);transition:transform .8s var(--ease-out)}.transition-overlay.active .transition-circle{transform:scale(30)}@media(prefers-reduced-motion:reduce){.transition-circle{transition:none}}[data-motion=reduced] .transition-circle,[data-motion=off] .transition-circle{transition:none}.transition-overlay{z-index:2000;background:#100e0b;color:#f3ead8;transition:opacity .16s ease}:root{--ui-background: #100e0b;--ui-panel: #201c16;--ui-raised: #2a241b;--ui-ink: #f3ead8;--ui-secondary: #ded3bf;--ui-accent: #c9a76a;--ui-border: #85734f;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--focus-ring: 0 0 0 2px #0b0b12, 0 0 0 4px #ffffff}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.focus-ring-none:focus-visible{box-shadow:none}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;height:100dvh;overflow:hidden}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#0a0a0f,#1a1a2e,#16213e)}#root{position:relative}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
