*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a6b3c;--bg-dark: #145230;--text: #fff;--text-muted: #b0c4b0;--btn-primary: #2563eb;--btn-primary-hover: #1d4ed8;--btn-danger: #dc2626;--btn-danger-hover: #b91c1c;--btn-secondary: #4b5563;--btn-secondary-hover: #374151;--btn-disabled: #6b7280;--tile-bg: #fffbe6;--tile-selected: #fbbf24;--tile-border: #a3a3a3;--input-bg: #1f2937;--input-border: #4b5563;--toast-bg: #991b1b}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font-family:inherit;font-size:1rem;font-weight:600;border:none;border-radius:8px;padding:12px 20px;cursor:pointer;color:var(--text);transition:background-color .15s}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--btn-primary)}button.primary:hover:not(:disabled){background:var(--btn-primary-hover)}button.danger{background:var(--btn-danger)}button.danger:hover:not(:disabled){background:var(--btn-danger-hover)}button.secondary{background:var(--btn-secondary)}button.secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}input{font-family:inherit;font-size:1rem;padding:12px 16px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);outline:none;width:100%}input:focus{border-color:var(--btn-primary)}.version-label{position:absolute;bottom:8px;right:12px;font-size:.7rem;color:var(--text-muted);opacity:.6;pointer-events:none}.password-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:24px;gap:32px;position:relative}.password-gate-title{font-size:3rem;font-weight:800;letter-spacing:2px}.password-gate-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:280px}.password-gate-error{background:var(--toast-bg);padding:12px 20px;border-radius:8px;font-size:.9rem}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:24px;gap:32px;position:relative}.landing-lang{position:absolute;top:16px;right:16px;display:flex;gap:4px}.landing-lang-btn{background:none;border:1px solid var(--input-border);color:var(--text-muted);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.landing-lang-btn:hover{color:var(--text-primary)}.landing-lang-active{background:var(--btn-primary);color:var(--text-primary);border-color:var(--btn-primary)}.landing-title{font-size:3rem;font-weight:800;letter-spacing:2px}.landing-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px}.landing-buttons{display:flex;gap:12px}.landing-buttons button{flex:1}.landing-join{display:flex;flex-direction:column;gap:12px}.landing-code-row{display:flex;gap:8px}.landing-code-row input{flex:1;min-width:0}.landing-code-row button{flex-shrink:0;padding-left:20px;padding-right:20px}.landing-room-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.landing-room-list-header{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:0 2px}.landing-refresh{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:2px 6px;border-radius:4px;text-decoration:underline}.landing-refresh:hover{color:var(--text-primary)}.landing-room-empty{text-align:center;color:var(--text-muted);font-size:.85rem;padding:16px 0}.landing-room-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--btn-secondary);border:1px solid var(--input-border);border-radius:8px;cursor:pointer;text-align:left;color:var(--text-primary);font-size:.9rem;transition:background .15s}.landing-room-item:hover:not(:disabled){background:var(--btn-primary)}.landing-room-item:disabled{opacity:.5;cursor:default}.landing-room-code{font-weight:800;font-family:monospace;font-size:1rem;min-width:52px}.landing-room-host{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-room-count{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.landing-error{background:var(--toast-bg);padding:12px 20px;border-radius:8px;font-size:.9rem}.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:24px;gap:20px}.lobby-code{font-size:3rem;font-weight:800;letter-spacing:8px;background:var(--bg-dark);padding:16px 32px;border-radius:12px;-webkit-user-select:all;user-select:all}.lobby-hint{color:var(--text-muted);font-size:.9rem}.lobby-players{width:100%;max-width:320px}.lobby-players h3{margin-bottom:8px}.lobby-players ul{list-style:none;display:flex;flex-direction:column;gap:8px}.lobby-players li{background:var(--bg-dark);padding:10px 16px;border-radius:8px;font-size:1rem}.lobby-player-me{border:2px solid var(--btn-primary)}.lobby-waiting{color:var(--text-muted);font-style:italic}.lobby-crown{color:gold;margin-right:6px}.lobby-score{margin-left:8px;font-weight:700;font-size:.9rem}.lobby-score-positive{color:#4caf50}.lobby-score-negative{color:#f44336}.lobby-leave{margin-top:8px}.lobby-error{background:var(--toast-bg);padding:12px 20px;border-radius:8px;font-size:.9rem}.tile{width:44px;height:62px;background:var(--tile-bg);border:2px solid var(--tile-border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:2.2rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;transition:transform .1s,border-color .1s}.tile:active{transform:scale(.95)}.tile-selected{border-color:var(--tile-selected);box-shadow:0 0 0 2px var(--tile-selected);transform:translateY(-4px)}.tile-facedown{background:repeating-linear-gradient(45deg,#2d5a3d,#2d5a3d 4px,#34664a 4px 8px);border-color:#1a4530;cursor:pointer}.tile-number{pointer-events:none}@media(orientation:portrait){.tile{width:34px;height:46px;font-size:1.6rem}}@media(orientation:landscape){.tile{width:32px;height:42px;font-size:1.4rem;border-radius:4px}}.options-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:60;animation:options-fade-in .2s ease-out}@keyframes options-fade-in{0%{opacity:0}to{opacity:1}}.options-modal{background:var(--input-bg);border:1px solid var(--input-border);border-radius:14px;padding:16px;width:280px;max-width:90vw;box-shadow:0 8px 32px #0009}.options-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.options-title{font-weight:700;font-size:1rem;color:var(--text)}.options-close{background:none;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;padding:4px 8px;line-height:1}.options-section{margin-bottom:12px}.options-section:last-child{margin-bottom:0}.options-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:6px;padding-left:4px}.options-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;font-size:.85rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;color:var(--text);background:var(--btn-secondary);margin-bottom:4px}.options-toggle:last-child{margin-bottom:0}.options-toggle:hover{background:var(--btn-secondary-hover)}.options-label{opacity:.9}.options-value{color:var(--tile-selected);font-weight:700}@media(orientation:landscape){.options-modal{padding:12px;width:260px}.options-header{margin-bottom:10px}.options-toggle{padding:7px 10px;font-size:.78rem}}.player-sections{display:grid;flex:1;overflow:hidden;min-height:0}.player-section{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(255,255,255,.1)}.player-section:last-child{border-right:none}.player-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;gap:6px;border-bottom:2px solid transparent;flex-shrink:0}.player-section-me .player-section-header{background:#ffffff26;border-left:3px solid var(--tile-selected)}.player-section-current .player-section-header{border-bottom-color:#fbbf2466}.player-section-disconnected{opacity:.5}.player-section-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-section-me .player-section-name{text-decoration:underline;text-decoration-color:var(--tile-selected);text-underline-offset:3px}.player-section-current .player-section-name:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--tile-selected);margin-right:5px;vertical-align:middle;animation:turn-dot-pulse 1.5s ease-in-out infinite}@keyframes turn-dot-pulse{0%,to{opacity:.5}50%{opacity:1}}.player-section-stats{display:flex;align-items:center;gap:4px;flex-shrink:0}.player-section-score{background:#ffd70033;color:gold;border-radius:10px;padding:2px 8px;font-weight:700;font-size:.8rem}.player-section-staged-pts{background:#ffd70040;color:gold;border-radius:10px;padding:2px 6px;font-weight:700;font-size:.7rem}.player-section-tiles{display:flex;align-items:center;gap:4px;background:#fff3;border-radius:10px;padding:2px 8px;font-weight:700;font-size:.8rem;flex-shrink:0}.player-section-tile-icon{display:inline-block;width:10px;height:14px;background:#ffffffb3;border-radius:2px;border:1px solid rgba(255,255,255,.3);flex-shrink:0}.player-section-crown{color:gold;margin-right:4px;font-size:.85em}.player-section-name-wrapper{position:relative;min-width:0}.player-section-name-clickable{cursor:pointer}.player-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:4px;z-index:20;min-width:120px;box-shadow:0 4px 12px #0006}.player-menu-item{display:block;width:100%;padding:8px 12px;font-size:.85rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;text-align:left;color:var(--text)}.player-menu-refresh{background:var(--btn-secondary)}.player-menu-refresh:hover{background:var(--btn-secondary-hover)}.player-menu-exit{background:var(--btn-danger)}.player-menu-exit:hover{background:var(--btn-danger-hover)}.player-menu-setting{background:var(--btn-secondary)}.player-menu-setting:hover{background:var(--btn-secondary-hover)}.player-section-melds{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:4px;-webkit-overflow-scrolling:touch}.player-section-melds-scroll{overflow:auto}.player-section-melds-scroll .player-meld{flex-wrap:nowrap;width:fit-content}.player-meld{display:flex;gap:2px;background:#00000026;padding:4px;border-radius:8px;border:2px solid transparent;cursor:pointer;flex-wrap:wrap}.player-meld-selected{border-color:var(--tile-selected)}.player-meld-staged{border-color:#ffd70080;border-style:dashed;position:relative;opacity:.85}.player-meld-staged-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:gold;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;pointer-events:none}.player-meld-layoff-target{border-color:#4fc3f7;box-shadow:0 0 8px #4fc3f799,inset 0 0 4px #4fc3f733;animation:layoff-pulse 1.2s ease-in-out infinite}@keyframes layoff-pulse{0%,to{box-shadow:0 0 8px #4fc3f799,inset 0 0 4px #4fc3f733}50%{box-shadow:0 0 16px #4fc3f7e6,inset 0 0 6px #4fc3f766}}.player-meld.drag-hover-target{border-color:#4fc3f7;box-shadow:0 0 8px #4fc3f799,inset 0 0 4px #4fc3f733}.meld-layoff-menu{position:fixed;transform:translate(-50%);margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:6px;z-index:30;box-shadow:0 4px 16px #00000080;max-width:260px}.meld-layoff-menu-item{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:.78rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;color:var(--text);background:var(--btn-secondary)}.meld-layoff-menu-item:hover{background:var(--btn-secondary-hover)}.meld-menu-tile-label{font-weight:800;font-size:.85rem}.meld-layoff-menu-text{font-size:.7rem;opacity:.85}@media(orientation:portrait){.player-sections[data-meld-size=small] .player-section-melds .tile{width:24px;height:34px;font-size:1.1rem}.player-sections[data-meld-size=large] .player-section-melds .tile{width:44px;height:62px;font-size:2.2rem}}@media(orientation:landscape){.player-section-header{padding:2px 8px;gap:4px;height:28px;box-sizing:border-box}.player-section-name{font-size:.75rem}.player-section-crown{font-size:.75em}.player-section-score,.player-section-tiles{font-size:.7rem;padding:1px 6px}.player-section-tile-icon{width:8px;height:11px}.player-section-staged-pts{font-size:.6rem;padding:1px 5px}.player-section-melds{padding:4px;gap:3px}.player-meld{padding:2px;gap:1px}.player-sections[data-meld-size=small] .player-section-melds .tile{width:22px;height:30px;font-size:1rem}.player-sections[data-meld-size=large] .player-section-melds .tile{width:40px;height:54px;font-size:1.8rem}}.piles{display:flex;align-items:center;gap:6px;padding:6px 8px;flex-shrink:0}.piles-pool{position:relative;flex-shrink:0;opacity:.7}.piles-pool-active{opacity:1;cursor:pointer;animation:pool-pulse 2s ease-in-out infinite}@keyframes pool-pulse{0%,to{transform:scale(1);filter:brightness(1);box-shadow:0 0 #fbbf2400}50%{transform:scale(1.08);filter:brightness(1.3);box-shadow:0 0 12px #fbbf2499}}.piles-pool-last-tile{position:absolute;top:-4px;left:-4px;transform:scale(.5);transform-origin:top left;pointer-events:none;opacity:.9}.piles-pool-count{position:absolute;bottom:-2px;right:-2px;background:#000000bf;color:#fff;font-size:.6rem;font-weight:700;padding:1px 4px;border-radius:4px;line-height:1.2;pointer-events:none}.piles-discard{display:flex;align-items:center;gap:4px;overflow-x:auto;flex:1;min-width:0;padding:2px 0;-webkit-overflow-scrolling:touch}.piles-discard-card{position:relative;flex-shrink:0}.piles-discard-locked{opacity:.6}.piles-discard-locked .tile{cursor:default}.piles-discard-drawable .tile{border-color:var(--tile-selected);box-shadow:0 0 0 1px var(--tile-selected);cursor:pointer}.piles-discard-pending{opacity:.4;pointer-events:none}.piles-lock-icon{position:absolute;top:2px;right:4px;font-size:.7rem;line-height:1;pointer-events:none;filter:grayscale(.5)}.piles-discard.drag-hover-target{background:#fbbf2426;border-radius:6px;box-shadow:0 0 8px #fbbf2466}.piles-empty{width:44px;height:62px;border:2px dashed var(--input-border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--text-muted);flex-shrink:0;text-align:center}@media(orientation:portrait){.game[data-discard-size=small] .piles .tile,.game[data-discard-size=small] .piles-empty{width:28px;height:38px;font-size:1.2rem}.game[data-discard-size=large] .piles .tile,.game[data-discard-size=large] .piles-empty{width:44px;height:62px;font-size:2.2rem}}@media(orientation:landscape){.piles{padding:4px 8px;gap:4px}.piles-discard{gap:3px}.piles-empty{width:32px;height:42px}.game[data-discard-size=small] .piles .tile,.game[data-discard-size=small] .piles-empty{width:24px;height:32px;font-size:1rem}.game[data-discard-size=large] .piles .tile,.game[data-discard-size=large] .piles-empty{width:40px;height:54px;font-size:1.8rem}}.rack{position:relative;padding:4px;touch-action:none}.rack-grid{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:3px}@media(orientation:portrait){.rack-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(4,1fr)}.rack-slot{aspect-ratio:44 / 52}.game[data-rack-size=small] .rack-slot{aspect-ratio:34 / 42}.game[data-rack-size=small] .rack-tile{font-size:clamp(1.6rem,6vw,2rem)}.game[data-rack-size=large] .rack-slot{aspect-ratio:44 / 62}}@media(orientation:portrait){.rack-slot:nth-child(7):before,.rack-slot:nth-child(21):before{content:"↩";position:absolute;right:-3px;bottom:-3px;transform:translate(50%,50%) scaleX(-1);font-size:.65rem;line-height:1;color:#ffffff73;pointer-events:none;z-index:1}}.rack-slot{aspect-ratio:44 / 62;border-radius:5px;border:2px solid transparent;display:flex;align-items:center;justify-content:center;position:relative;transition:border-color .1s,background-color .1s;min-width:0}.rack-slot-empty{border:2px dashed rgba(255,255,255,.1)}.rack-slot-droppable{border-color:#ffffff40}.rack-slot-highlight{border-color:var(--tile-selected)!important;background:#fbbf2426}.rack-slot-droppable:after{content:"";width:6px;height:6px;border-radius:50%;background:#ffffff4d;position:absolute}.rack-slot-highlight:after{background:var(--tile-selected)}.rack-slot-meld-first{border-top-left-radius:8px;border-bottom-left-radius:8px}.rack-slot-meld-last{border-top-right-radius:8px;border-bottom-right-radius:8px}.rack-meld-value{position:absolute;bottom:-2px;right:-2px;color:#fff;font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:4px;line-height:1.2;pointer-events:none;z-index:2}@media(orientation:portrait){.rack-slot-meld:nth-child(7n+1):not(.rack-slot-meld-first){border-top-left-radius:8px;border-bottom-left-radius:8px}.rack-slot-meld:nth-child(7n):not(.rack-slot-meld-last){border-top-right-radius:8px;border-bottom-right-radius:8px}}.rack-slot-stacked{box-shadow:3px 3px #ffffff26,6px 6px #ffffff14}.rack-stack-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:var(--tile-selected);color:#000;font-size:.6rem;font-weight:800;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none;z-index:3}.rack-tile{width:100%;height:100%;background:var(--tile-bg);border:2px solid var(--tile-border);border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(2.8rem,8vw,3rem);cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden}.rack-tile-selected{border-color:var(--tile-selected);box-shadow:0 0 0 2px var(--tile-selected)}.rack-tile-discard-drawn{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c99;animation:discard-drawn-pulse 2s ease-in-out infinite}@keyframes discard-drawn-pulse{0%,to{box-shadow:0 0 0 2px #e74c3c99}50%{box-shadow:0 0 0 3px #e74c3ce6}}.rack-tile-number{pointer-events:none}.rack-tile-menu{position:fixed;transform:translate(-50%,-100%);margin-top:-8px;display:flex;gap:4px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:4px;z-index:30;box-shadow:0 4px 16px #00000080}.rack-tile-menu-item{padding:8px 14px;font-size:.8rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;white-space:nowrap;color:var(--text)}.rack-tile-menu-discard{background:var(--btn-danger)}.rack-tile-menu-discard:hover{background:var(--btn-danger-hover)}.rack-tile-menu-placeMeld{background:var(--btn-primary)}.rack-tile-menu-placeMeld:hover{background:var(--btn-primary-hover)}.rack-tile-menu-layOff{background:var(--btn-secondary)}.rack-tile-menu-layOff:hover{background:var(--btn-secondary-hover)}.rack-tile-menu-returnToDiscard{background:var(--btn-danger)}.rack-tile-menu-returnToDiscard:hover{background:var(--btn-danger-hover)}.rack-tile-menu-returnToMeld{background:var(--btn-danger)}.rack-tile-menu-returnToMeld:hover{background:var(--btn-danger-hover)}.rack-tile-floating{position:fixed;background:var(--tile-bg);border:2px solid var(--tile-selected);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:2rem;pointer-events:none;z-index:50;box-shadow:0 4px 16px #0000004d;transform:scale(1.1)}@media(orientation:landscape){.rack{padding:2px 4px}.rack-grid{gap:2px}.rack-slot{aspect-ratio:34 / 42}.rack-tile{font-size:clamp(1rem,3.5vw,1.6rem)}.rack-tile-floating{font-size:3.4rem}.game[data-rack-size=small] .rack-slot{aspect-ratio:28 / 36}.game[data-rack-size=small] .rack-tile{font-size:clamp(.8rem,2.5vw,1.2rem)}.game[data-rack-size=large] .rack-slot{aspect-ratio:44 / 52}.game[data-rack-size=large] .rack-tile{font-size:clamp(1.2rem,4vw,2rem)}}.layoff-popup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.layoff-popup{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;padding:16px;min-width:200px;max-width:280px;box-shadow:0 8px 32px #0009;text-align:center}.layoff-popup-title{font-weight:700;font-size:.9rem;margin-bottom:12px;color:var(--text)}.layoff-popup-buttons{display:flex;gap:8px;justify-content:center;margin-bottom:10px}.layoff-popup-btn{flex:1;padding:10px 16px;font-size:.85rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;color:var(--text);background:var(--btn-primary)}.layoff-popup-btn:hover{background:var(--btn-primary-hover)}.layoff-popup-cancel{padding:6px 16px;font-size:.78rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;color:var(--text);background:var(--btn-secondary);opacity:.8}.layoff-popup-cancel:hover{background:var(--btn-secondary-hover);opacity:1}.game{display:flex;flex-direction:column;height:100dvh}.game-round-popup{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;animation:popup-fade-in .3s ease-out}@keyframes popup-fade-in{0%{opacity:0}to{opacity:1}}.game-round-popup-content{background:var(--bg-dark);border:2px solid var(--tile-selected);border-radius:16px;padding:32px 48px;text-align:center}.game-round-popup-content h2{font-size:2rem;margin-bottom:8px}.game-round-popup-content p{font-size:1.2rem;color:var(--text-muted)}.round-end{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100dvh;padding:24px;gap:24px}.round-end-table{width:100%;max-width:360px;display:flex;flex-direction:column;gap:4px}.round-end-header,.round-end-row{display:grid;grid-template-columns:1fr 80px 80px;padding:10px 16px;border-radius:8px}.round-end-header{font-weight:700;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.round-end-row{background:var(--bg-dark)}.round-end-winner{border:2px solid var(--tile-selected)}.round-end-positive{color:#4caf50}.round-end-negative{color:#f44336}.round-end-waiting{color:var(--text-muted);font-style:italic}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--text);padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;z-index:100;animation:toast-in .2s ease-out;max-width:90vw;text-align:center}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
