/* Mobile follow-up: page scrolling, no nested history/hand scrollers. */
#mm-history{max-height:none;overflow:visible}
.dice-summary{position:sticky;top:0;z-index:3;background:#183d54;color:white;border-radius:12px;padding:10px 12px;display:grid;gap:3px;font-size:.88rem;box-shadow:0 3px 8px #0002;overflow-wrap:anywhere}
.purple-status{display:grid;gap:5px;background:#492765;color:white;border-radius:14px;padding:14px}.purple-status strong{font-size:1.2rem}.purple-card{width:132px;min-height:175px;background:#fff;border:2px solid #ded5e6;border-radius:15px;box-shadow:0 3px 8px #39235022;margin:12px auto;padding:12px;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.purple-card strong{font-size:2.4rem}.purple-card.red{color:#ab2336}.purple-card.black{color:#182432}.purple-back{background:#492765;color:white;font-size:4rem}.purple-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.purple-controls button{background:#633580;min-height:54px;padding:10px}.purple-history{display:grid;grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:5px}.purple-history .purple-card{width:100%;min-height:90px;margin:0;padding:5px;font-size:.7rem}.purple-history strong{font-size:1.3rem}.purple-result,.purple-risk{background:#f0e8f6;border-radius:10px;padding:10px}.purple-players{font-size:.9rem;overflow-wrap:anywhere}
:root{--surface:#fff;--paper:#f3f1eb;--ink:#183d54;--muted:#536777;--accent:#ad4229;--success:#146443;--danger:#ae283e;--radius:18px;--gap:1rem}
body{background:var(--paper);color:var(--ink);font-family:system-ui,sans-serif;line-height:1.45;margin:0;padding:16px 12px 30px}
body main{max-width:36rem;margin:auto;min-width:0;padding:0;background:transparent;box-shadow:none}
*,*:before,*:after{box-sizing:border-box} [hidden]{display:none!important}
h1,h2,h3{line-height:1.2;letter-spacing:-.025em} h1{font-size:1.7rem} a{color:var(--ink)}
button,input,select{font:inherit}button{min-height:44px;border-radius:12px;font-weight:650;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #d78329;outline-offset:3px}
.secondary,details summary{background:transparent;color:var(--ink)}.danger{color:var(--danger)}
.room-header{padding:4px 4px 12px}.brand{font-weight:750;text-decoration:none;font-size:.85rem;letter-spacing:.06em}.room-header h1{margin:6px 0 12px}
.share-actions{display:flex;gap:8px;align-items:start}.share-actions button,.share-actions summary{padding:8px 14px;border:1px solid #c2ccd0;border-radius:10px;min-height:44px}.share-actions details{position:relative}.share-actions img{display:block;max-width:65vw;margin-top:10px}.share-actions details[open]{z-index:2}.share-actions details[open] img{position:absolute;right:0;background:white;box-shadow:0 8px 30px #183d5433;padding:0;width:259px;height:auto;max-width:calc(100vw - 48px);image-rendering:pixelated}
#share-status{font-size:.85rem;margin:4px 0;min-height:1.2em}#share-link{width:100%}
#game-panel,#start-game,#room-info{background:var(--surface);border:1px solid #dce1e2;border-radius:var(--radius);padding:14px;margin:12px 0;min-width:0;box-shadow:0 3px 14px #183d5408}
#connection-status{font-size:.85rem;color:var(--muted);margin:4px 0}#connection-retry{font-size:.85rem}#duel-score{padding:6px 10px;background:#e8edeb;border-radius:10px;font-size:.95rem}#duel-score h2{font-size:.8rem;margin:0}#duel-result{margin:4px 0}
#participants{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}#participants li{background:#edf1f2;padding:5px 9px;border-radius:20px;font-size:.9rem;overflow-wrap:anywhere}
.game-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.game-card{display:flex;flex-direction:column;text-align:left;padding:12px;background:#f7f8f6;color:var(--ink);border:2px solid transparent;gap:5px;min-width:0}.game-card[aria-pressed=true]{border-color:var(--accent);background:#fff2e8}.game-card:disabled{opacity:.65}.game-card small{font-weight:400;font-size:.75rem}.game-mark{font-size:1.6rem;line-height:1.2}.game-card strong{font-size:.95rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#start-game>button{width:100%;background:var(--accent);color:white;border:0;padding:12px}#game-title{margin:4px 0 10px;font-size:1.35rem}#game-status,.uno-status{background:#eaf0f2;padding:12px;border-radius:12px;font-weight:700}#board{gap:7px}#board:not(.four) button{font-size:2.5rem;border:1px solid #c8d6da;border-radius:14px;background:#f1f6f5;color:var(--ink);aspect-ratio:1}
#board.four{background:#204f76;border-radius:16px;padding:8px;gap:3px}#board.four button{padding:3px;min-width:0;background:transparent;border:0;color:white}#board .disc{box-shadow:inset 0 2px 5px #0004;border:2px solid #163a56}
.uno-counts{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none;font-size:.8rem}.uno-counts li{padding:6px 9px;background:#edf1f2;border-radius:12px}.uno-table{display:flex;justify-content:center;align-items:center;gap:20px;padding:12px;background:#edf1ef;border-radius:16px}.uno-pile{padding:18px 12px;background:#183d54;color:white;border-radius:12px;box-shadow:4px 4px 0 #fff,6px 6px 0 #bbc8ce}
#uno .uno-card{border:3px solid #fff;border-radius:12px;box-shadow:0 2px 6px #183d5433;min-height:112px;min-width:78px;max-width:100px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;text-align:center;color:white}.uno-card strong{font-size:1.65rem;line-height:1.1}.uno-card small{font-size:.7rem}.uno-card.red{background:#a52f36}.uno-card.blue{background:#205ca5}.uno-card.green{background:#196743}.uno-card.yellow{background:#f1c841;color:#24313d}.uno-card.wild{background:#283546}#uno .uno-hand{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:6px;overflow:visible;max-width:100%;padding:10px 4px 14px}#uno .uno-hand .uno-card{width:100%;min-width:0;max-width:none;min-height:104px;padding:6px}.uno-hand .uno-card:disabled{opacity:.65}.uno-hand .uno-card[aria-pressed=true]{outline:3px solid var(--accent);transform:translateY(-4px)}.uno-actions{display:flex;flex-wrap:wrap;gap:8px}.uno-actions button{flex:1 1 100px;min-height:48px}.uno-color-active{font-weight:650;text-align:center}.uno-notice{font-size:.9rem}
.mm-slot,.mm-palette button{touch-action:manipulation}.bs-tabs button[aria-pressed=true]{outline:2px solid var(--accent)}.dice421-player,.roulette-player{border-radius:12px}#leave-room{margin-top:16px}#leave-room button{background:transparent;color:var(--muted);border:1px solid #bdc8cc}
body[data-room-code] main{display:flex;flex-direction:column;width:100%;margin:auto;padding:0}
body[data-room-code] #game-panel{order:1}body[data-room-code] #duel-score{order:2}body[data-room-code] #room-info{order:3}body[data-room-code] #leave-room{order:4}body[data-room-code] main>p{order:5}
body[data-room-code] #connection-status,body[data-room-code] #connection-retry{order:0}
@media(max-width:380px){#game-panel,#start-game{padding:10px}.game-card{padding:10px}.share-actions{gap:6px}}
