:root{--bg:#0c0f0d;--ivory:#f4efe4;--ivory-dim:#f4efe4ad;--gold:#d4b36a;--gold-bright:#f0d7a2;--ink:#1a140f;--felt:#0e4a36;--red:#8d3333;--black:#15181c;--danger:#e7b2a8;--serif:"Iowan Old Style", "Palatino Linotype", "Songti SC", "Hiragino Mincho ProN", "Yu Mincho", "Batang", "Times New Roman", serif;--sans:"Segoe UI", "PingFang SC", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans CJK SC", "Noto Sans CJK JP", "Noto Sans CJK KR", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ivory);font-family:var(--sans);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-weight:400;overflow:hidden}body{background:radial-gradient(ellipse 70% 40% at 50% -10%, #d4b36a14, transparent 55%), radial-gradient(ellipse 50% 30% at 80% 110%, #10463259, transparent 50%), var(--bg)}button,input,textarea{touch-action:manipulation;font-family:inherit}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{padding:calc(14px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) 10px calc(22px + env(safe-area-inset-left));border-bottom:1px solid #d4b36a2e;grid-template-columns:auto auto 1fr auto;grid-template-areas:"home brand meters settings";align-items:center;gap:12px 28px;display:grid}.home-link{min-width:44px;min-height:40px;color:var(--gold-bright);border:1px solid #e0c98a66;border-radius:999px;grid-area:home;justify-content:center;align-items:center;gap:2px;padding:0 12px;font-size:14px;line-height:1;text-decoration:none;display:inline-flex}.home-link:hover{background:#e0c98a1a}.brand{grid-area:brand;align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:conic-gradient(#8d3333 0 22%, #171a1e 0 44%, #8d3333 0 58%, #0f6b45 0 70%, #171a1e 0 86%, #8d3333 0 100%);border-radius:50%;flex:none;width:38px;height:38px;box-shadow:inset 0 0 0 3px #d4b36a,inset 0 0 0 9px #12382c}.brand h1{font-family:var(--serif);letter-spacing:.08em;margin:0;font-size:28px;font-weight:600;line-height:1.1}.brand p{color:var(--ivory-dim);letter-spacing:.08em;margin:2px 0 0;font-size:13px}.meters{grid-area:meters;justify-content:flex-end;gap:32px;display:flex}.meter{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.meter .k{letter-spacing:.16em;color:var(--ivory-dim);font-size:12px}.meter .v{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:1}.meter.stake .v{color:var(--gold-bright);font-size:28px}.meter .v.bump{color:var(--gold-bright)}#open-settings{grid-area:settings}.stage{flex:1;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:8px 18px;min-height:0;padding:12px 18px 8px;display:grid;overflow:auto}.wheel-panel{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;min-width:0;display:flex}#wheel-root,.history-block{width:min(100%,380px)}.wheel-stage{width:100%;position:relative}.wheel-anchor{aspect-ratio:1;width:100%;position:relative}.wheel-zoom{z-index:46;pointer-events:none;transform-origin:50%;will-change:transform;transition:transform .52s ease-in-out;position:fixed;top:0;left:0}.wheel-backdrop{z-index:40;opacity:0;pointer-events:none;background:#0608079e;transition:opacity .52s ease-in-out;position:fixed;inset:0}.wheel-backdrop.is-on{opacity:1;pointer-events:auto}.pointer{z-index:5;border-left:18px solid #0000;border-right:18px solid #0000;border-top:32px solid var(--gold-bright);filter:drop-shadow(0 2px 1px #00000080);width:0;height:0;position:absolute;top:3.2%;left:50%;transform:translate(-50%)}.wheel-disc{aspect-ratio:1;border-radius:50%;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000073}.wheel-rotor,.ball-orbit{transform-origin:50%;position:absolute;inset:0}.wheel-rotor{z-index:1}.ball-orbit{z-index:3;pointer-events:none}.wheel-rotor svg{width:100%;height:100%;display:block}.wheel-wood{fill:#3a2618}.wheel-brass{fill:none;stroke:#d4b36a;stroke-width:2.4px}.wheel-felt{fill:#0c3328}.wheel-groove{fill:none;stroke:#00000059;stroke-width:10px}.pocket-path{stroke:#d4b36a52;stroke-width:.7px}.pocket[data-color=red] .pocket-path{fill:#8d3333}.pocket[data-color=black] .pocket-path{fill:#15181c}.pocket[data-color=green] .pocket-path{fill:#0e6a43}.pocket-num{fill:#f6f1e6;font-size:15px;font-family:var(--serif);text-rendering:geometricprecision;font-weight:600}.pocket[data-pocket="00"] .pocket-num{font-size:13px}.pocket.win .pocket-path{stroke:#f0d7a2;stroke-width:2px;filter:brightness(1.28);animation:.7s ease-in-out 3 pocketPulse}.ball{aspect-ratio:1;background:radial-gradient(circle at 35% 32%,#fff,#f4efe4 42%,#c9bda4 78%,#8d8068);border-radius:50%;width:3.8%;position:absolute;top:14.5%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0000008c}.hub{z-index:4;pointer-events:none;background:radial-gradient(circle at 40% 35%,#4a3422,#1a120c 64%);border:2px solid #d4b36a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:38%;height:38%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 14px #00000073,0 0 0 5px #0c3328f0}.hub-k{letter-spacing:.22em;color:#f0d7a2d1;font-size:24px}.hub-num{font-family:var(--serif);color:var(--ivory);font-variant-numeric:tabular-nums;font-size:96px;font-weight:600;line-height:.95}.hub[data-color=red] .hub-num{color:#f0c7c1}.hub[data-color=black] .hub-num{color:#f7f3ea}.hub[data-color=green] .hub-num{color:#b7e2c8}.history-block{width:min(100%,380px)}.history-block h2{letter-spacing:.16em;color:var(--ivory-dim);margin:0 0 8px;font-size:13px;font-weight:400}.history{flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;display:flex}.history-empty{color:var(--ivory-dim);margin:0;font-size:14px}.pill{width:34px;height:34px;font-family:var(--serif);color:var(--ivory);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.pill.red{background:var(--red)}.pill.black{background:#1c2026;box-shadow:inset 0 0 0 1px #f4efe429}.pill.green{background:#0e6a43}.pill.latest,.pill.black.latest{box-shadow:0 0 0 2px var(--gold-bright)}.table-panel{align-items:safe center;min-width:0;min-height:0;padding:4px 4px 12px;display:flex;overflow:auto}#table-root{width:100%}.felt{background:radial-gradient(at 50% 0,#fff4dc0d,#0000 46%),linear-gradient(#14664a 0%,#0e4a36 48%,#0c3f2e 100%);border-radius:18px;margin:6px;padding:16px 16px 18px;position:relative;box-shadow:inset 0 0 0 1px #e0c98a47,inset 0 0 48px #00000029,0 0 0 8px #3a2618,0 0 0 10px #c4a46ad9,0 16px 36px #00000059}.felt-head{justify-content:space-between;align-items:baseline;gap:12px;min-height:24px;margin-bottom:12px;display:flex}.felt-title{font-family:var(--serif);letter-spacing:.18em;color:var(--gold-bright);margin:0}.felt-note{color:#f4efe4b8;margin:0;font-size:12px}.lock-banner{color:var(--gold-bright);letter-spacing:.12em;background:#1012108c;border:1px solid #f0d7a273;border-radius:999px;margin:0;padding:3px 10px;font-size:12px;position:absolute;top:14px;right:16px}.felt-scroll{overflow-x:auto}.table-board{min-width:640px}.number-grid,.dozen-grid,.outside-grid{grid-template-columns:68px repeat(12,minmax(36px,1fr)) 62px;gap:3px;display:grid}.number-grid{grid-template-rows:repeat(6,28px)}.dozen-grid,.outside-grid{margin-top:3px}.cell{min-width:0;min-height:0;color:var(--ivory);cursor:pointer;appearance:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#12382c;border:1px solid #d4b36a52;border-radius:4px;padding:0;position:relative}.cell:hover:not(:disabled){filter:brightness(1.08);z-index:3;border-color:#f0d7a2e6}.cell:disabled{opacity:1;cursor:default}.cell.red{background:linear-gradient(#9a3a3a,#732828)}.cell.black{background:linear-gradient(#2a2e34,#14171b)}.cell.green{background:linear-gradient(#1a7a50,#0d5a3a)}.cell.outside{background:linear-gradient(#167053,#0e4a36)}.cell.red-bet{background:linear-gradient(#9a3a3a,#732828)}.cell.black-bet{background:linear-gradient(#2a2e34,#121417)}.cell.zero .face-label,.cell.num .face-label{font-family:var(--serif);font-weight:600}.cell.zero .face-label{font-size:28px}.cell.num .face-label{font-size:18px}.face-label{z-index:0;letter-spacing:.04em;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;line-height:1.15;display:flex;position:relative}.face-label small{letter-spacing:0;opacity:.82;font-size:11px}.cell.column .face-label{font-size:13px}.cell.dozen .face-label,.cell.even-money .face-label{font-size:15px}.cell.has-bet .face-label{opacity:.3}.cell.has-bet{z-index:1}.cell.win{z-index:2;animation:.7s ease-in-out 3 winpulse}.cell.last-hit{box-shadow:inset 0 0 0 2px var(--gold-bright)}.dozen-grid .cell,.outside-grid .cell{min-height:48px}.stack{pointer-events:none;position:absolute;inset:0}.chip-face{cursor:pointer;background:repeating-conic-gradient(from -8deg, var(--edge) 0 14deg, var(--face) 14deg 45deg);touch-action:manipulation;-webkit-user-select:none;user-select:none;border:none;border-radius:50%;place-items:center;width:56px;height:56px;padding:0;display:grid;box-shadow:0 4px 8px #00000059,inset 0 0 0 2px #00000038}.chip-label{background:var(--face);width:66%;height:66%;color:var(--ink);font-family:var(--serif);pointer-events:none;border-radius:50%;place-items:center;font-size:15px;font-weight:600;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff47}.chip-face.stack-chip{left:50%;top:calc(46% - var(--lift,0px));width:24px;height:24px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 2px #00000073}.chip-face.stack-chip .chip-label{font-size:8px}.stack-total{z-index:8;color:var(--gold-bright);font-variant-numeric:tabular-nums;background:#0c0a08bf;border-radius:999px;padding:0 4px;font-size:10px;line-height:1.35;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.stack.win .stack-chip{animation:.6s ease-in-out 2 chipWin}.stack.lose .stack-chip{animation:.52s forwards chipLose}.tray-chip{flex:none}.tray-chip:hover{transform:translateY(-2px)}.tray-chip.selected{transform:translateY(-3px);box-shadow:0 0 0 2px #14110c,0 0 0 5px #e0c98a,0 8px 14px #00000059}.tray-chip.unaffordable{filter:saturate(.4)brightness(.72)}.tray-chip.unaffordable.selected{filter:saturate(.75)brightness(.9)}.chip-face.flying{z-index:80;pointer-events:none;width:34px;height:34px;position:fixed;top:0;left:0}.dock{padding:10px calc(18px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));background:linear-gradient(#161310,#0e0c0a);border-top:1px solid #d4b36a38}.dock-main{align-items:center;gap:14px;display:flex}.chip-row{align-items:center;gap:10px;min-width:0;padding:4px 2px 2px;display:flex;overflow-x:auto}.side-actions{gap:8px;display:flex}.btn-spin{margin-left:auto}.btn-ghost,.btn-danger,.btn-spin{touch-action:manipulation;-webkit-user-select:none;user-select:none}.btn-ghost{height:40px;color:var(--ivory);cursor:pointer;background:0 0;border:1px solid #e0c98a66;border-radius:999px;padding:0 16px}.btn-ghost:hover:not(:disabled){background:#e0c98a1a}.btn-ghost:disabled,.btn-spin:disabled,.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-spin{cursor:pointer;min-width:148px;height:64px;font-family:var(--serif);letter-spacing:.14em;color:#2b2112;background:linear-gradient(#f0d7a2 0%,#d4b36a 48%,#b8923f 100%);border:none;border-radius:999px;padding:0 28px;font-size:22px;font-weight:600;box-shadow:inset 0 1px #ffffffa6,0 8px 18px #00000059}.btn-spin:hover:not(:disabled){filter:brightness(1.05)}.btn-danger{color:#f6f1e6;cursor:pointer;background:#7a3330;border:1px solid #f0c8a040;border-radius:999px;height:40px;padding:0 16px}.status{min-height:1.5em;color:var(--ivory-dim);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;margin:8px 0 0;padding:4px 10px;overflow:hidden}.status.alert{color:var(--danger)}.tooltip{z-index:40;pointer-events:none;max-width:240px;color:var(--ivory);background:#1a1612;border:1px solid #e0c98a73;border-radius:10px;padding:8px 10px;font-size:13px;position:fixed;box-shadow:0 10px 24px #0006}.tooltip[hidden]{display:none}.tooltip strong{font-weight:700;display:block}.tooltip .odds{color:var(--gold-bright);margin-top:2px;display:block}dialog{width:min(520px,100vw - 32px);max-height:min(80dvh,720px);color:var(--ivory);background:#141a17;border:1px solid #e0c98a59;border-radius:16px;padding:22px 24px 20px;overflow:auto;box-shadow:0 24px 60px #00000080}dialog::backdrop{background:#060807b8}.dialog-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.dialog-head h2{font-family:var(--serif);margin:0;font-size:26px;font-weight:600}.switch{border-bottom:1px solid #e0c98a24;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.switch strong{font-weight:700;display:block}.switch small{color:var(--ivory-dim);margin-top:4px;line-height:1.5;display:block}.switch input{appearance:none;cursor:pointer;background:#2a3330;border:1px solid #e0c98a66;border-radius:999px;flex:none;width:44px;height:26px;margin:2px 0 0;position:relative}.switch input:after{content:"";background:var(--ivory);border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px}.switch input:checked{background:#8a6a32}.switch input:checked:after{transform:translate(18px)}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.rules h3{font-family:var(--serif);color:var(--gold-bright);margin:16px 0 6px;font-size:18px;font-weight:600}.rules p,.rules li,.confirm-copy{color:#f4efe4e6;line-height:1.65}.rules ul{margin:8px 0;padding-left:1.2em}.confirm-copy{margin:8px 0 0}button:focus-visible,.switch input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}@keyframes winpulse{0%,to{box-shadow:inset 0 0 0 1px #f0d7a259}50%{box-shadow:inset 0 0 0 2px #f0d7a2,0 0 16px #e0c98a59}}@keyframes pocketPulse{50%{filter:brightness(1.55)}}@keyframes chipWin{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.1)}}@keyframes chipLose{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:.12;transform:translate(-50%,-30%)scale(.86)}}@keyframes hubPop{0%{opacity:.25;transform:scale(.62)}to{opacity:1;transform:scale(1)}}.hub-num.pop{animation:.42s cubic-bezier(.2,.8,.2,1) hubPop}@keyframes statusFlash{0%,to{background:0 0}35%{background:#a83e3652}}.status.flash{animation:.7s statusFlash}.legal{text-align:center;color:#f4efe494;margin:8px 0 0;font-size:11px;line-height:1.45}.legal span{display:block}.confetti,.win-banner{z-index:58;pointer-events:none;position:fixed;inset:0}.win-banner{z-index:59;font-family:var(--serif);color:var(--gold-bright);text-shadow:0 2px 16px #000000bf;justify-content:center;align-items:flex-start;margin:0;padding-top:18vh;font-size:clamp(28px,8vw,64px);font-weight:600;display:flex}.lang-picker{color:var(--ivory-dim);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.lang-button{min-height:40px;color:var(--ivory);background:#14110c;border:1px solid #e0c98a73;border-radius:999px;padding:0 12px;font-size:16px}.lang-list{z-index:70;background:#141a17;border:1px solid #e0c98a66;border-radius:12px;min-width:180px;margin:6px 0 0;padding:6px;list-style:none;position:absolute;left:0;box-shadow:0 16px 40px #00000073}.lang-list button{width:100%;min-height:40px;color:var(--ivory);text-align:left;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:16px;display:block}.lang-list button[aria-pressed=true]{color:var(--gold-bright)}.lang-menu{position:relative}.dialog-lang{margin:14px 0 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lobby-head{position:relative}.save-code{border-top:1px solid #e0c98a24;margin-top:16px;padding-top:12px}.save-code h3{font-family:var(--serif);color:var(--gold-bright);margin:0 0 6px;font-size:18px;font-weight:600}.save-code-help,.save-feedback{color:var(--ivory-dim);margin:0;font-size:14px;line-height:1.55}.save-code-actions{justify-content:flex-start}.save-label{margin-top:10px;font-size:13px;display:block}.save-text{width:100%;min-height:76px;color:var(--ivory);resize:vertical;background:#0e1412;border:1px solid #e0c98a66;border-radius:10px;margin-top:6px;padding:10px 12px;font-family:ui-monospace,Cascadia Mono,Noto Sans Mono,monospace;font-size:16px;line-height:1.45}.save-actions{background:#141a17;margin-top:8px;padding-top:8px;position:sticky;bottom:0}.save-feedback{min-height:1.4em;margin-top:8px}.save-feedback.ok{color:#b7e2c8}.save-feedback.bad{color:var(--danger)}.save-panel[hidden]{display:none}.age-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0;font-size:12px}.age-dialog h2{margin:6px 0 10px}.age-dialog p{margin:0 0 10px;line-height:1.6}.btn-age{cursor:pointer;width:100%;min-height:52px;font-family:var(--serif);color:#2b2112;background:linear-gradient(#f0d7a2 0%,#d4b36a 48%,#b8923f 100%);border:none;border-radius:999px;margin-top:6px;padding:12px 16px;font-size:16px;font-weight:600;line-height:1.3;box-shadow:inset 0 1px #ffffffa6}.btn-age:hover{filter:brightness(1.05)}.cell:active:not(:disabled){filter:brightness(1.12)}html.reduce-motion .pocket.win .pocket-path,html.reduce-motion .cell.win,html.reduce-motion .stack.win .stack-chip,html.reduce-motion .hub-num.pop,html.reduce-motion .status.flash,html.reduce-motion .switch input:after,html.reduce-motion .wheel-zoom,html.reduce-motion .wheel-backdrop{transition:none;animation:none}html.reduce-motion .stack.lose .stack-chip{opacity:.2}@media (width<=980px){.topbar{padding:calc(12px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) 8px calc(14px + env(safe-area-inset-left));grid-template-columns:auto 1fr auto;grid-template-areas:"home brand settings""meters meters meters"}.meters{justify-content:space-between}.meter:first-child{align-items:flex-start}.meter .v{font-size:32px}.brand h1{font-size:24px}.stage{flex-direction:column;padding:8px 12px;display:flex;overflow:auto}.wheel-panel,.table-panel{flex:none;min-height:auto;overflow:visible}.wheel-stage{width:min(340px,88vw)}}@media (width<=720px){.app{height:100dvh;overflow:hidden}.topbar{padding:calc(2px + env(safe-area-inset-top)) calc(4px + env(safe-area-inset-right)) 2px calc(4px + env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"home brand meters settings";align-items:center;gap:4px}.home-link{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;font-size:22px}.home-text{display:none}.brand{gap:6px;overflow:hidden}.brand-mark{width:22px;height:22px;box-shadow:inset 0 0 0 2px #d4b36a,inset 0 0 0 5px #12382c}.brand h1{letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.brand p{display:none}.meters{justify-content:flex-end;gap:8px;min-width:0}.meter{flex-direction:row;align-items:baseline;gap:3px;min-width:0}.meter .k{letter-spacing:.04em;font-size:9px}.meter .v{font-size:16px}.meter.stake .v{font-size:14px}#open-settings{white-space:nowrap;min-width:40px;height:40px;min-height:40px;padding:0 8px;font-size:13px}.stage{flex-direction:column;flex:1;gap:2px;min-height:0;padding:2px 4px 0;display:flex;overflow:hidden}.wheel-panel,.table-panel{min-height:0;overflow:hidden}.wheel-panel{flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:6px;width:100%;height:clamp(102px,16.5dvh,156px)}#wheel-root{flex:none;width:clamp(102px,16.5dvh,156px);height:100%}.history-block{flex-direction:column;flex:auto;justify-content:center;align-self:stretch;width:auto;min-width:0;display:flex}.history-block h2{letter-spacing:.08em;margin:0 0 3px;font-size:10px}.wheel-stage{width:100%;height:100%}.history{flex-wrap:wrap;align-content:center;gap:3px;min-height:0;overflow:hidden}.pill{flex:none;width:18px;height:18px;font-size:9px}.history-empty{font-size:12px}.hub{gap:0;width:46%;height:46%}.hub-k{display:none}.hub-num{font-size:clamp(28px,6.8dvh,52px)}.pointer{border-top-width:20px;border-left-width:12px;border-right-width:12px}.wheel-disc{box-shadow:0 6px 14px #00000059}.table-panel{flex-direction:column;flex:auto;align-items:stretch;padding:0;display:flex}#table-root{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.felt{border-radius:10px;flex-direction:column;flex:auto;width:100%;min-height:0;margin:0;padding:2px;display:flex;box-shadow:inset 0 0 0 1px #e0c98a59,inset 0 0 0 3px #3a2618}.felt-head{z-index:3;pointer-events:none;min-height:0;margin:0;position:absolute;top:2px;right:4px}.felt-title,.felt-note{display:none}.lock-banner{padding:1px 6px;font-size:10px;position:static}.felt-scroll{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;overflow:hidden}.table-board{flex-direction:column;flex:auto;gap:1px;width:100%;min-width:0;min-height:0;display:flex}.number-grid{flex:8 1 0;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;min-height:0}.dozen-grid,.outside-grid{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;min-height:0;margin-top:0}.cell{border-radius:4px;min-height:0}.cell.zero .face-label{font-size:clamp(14px,4vw,20px)}.cell.num .face-label{font-size:clamp(12px,3.4vw,16px)}.cell.column .face-label,.cell.dozen .face-label,.cell.even-money .face-label{font-size:11px;line-height:1.05}.face-label small{font-size:9px}.dozen-grid .cell,.outside-grid .cell{min-height:0}.chip-face.stack-chip{width:16px;height:16px}.chip-face.stack-chip .chip-label{font-size:7px}.stack-total{font-size:9px}.dock{padding:3px calc(2px + env(safe-area-inset-right)) calc(2px + env(safe-area-inset-bottom)) calc(2px + env(safe-area-inset-left));flex:none}.dock-main{align-items:center;gap:3px;display:flex}.chip-row{flex:none;gap:2px;padding:0;overflow:visible}.side-actions{gap:4px}.side-actions .btn-ghost,#open-settings,.home-link,.btn-spin,.tray-chip.chip-face{min-height:40px}.side-actions .btn-ghost{min-width:40px;height:40px;padding:0 4px;font-size:12px}.btn-spin{letter-spacing:.02em;flex:auto;min-width:48px;height:40px;margin-left:0;padding:0 6px;font-size:15px}.tray-chip.chip-face{flex:0 0 40px;width:40px;height:40px}.tray-chip .chip-label{font-size:12px}.status{white-space:nowrap;min-height:0;margin:2px 0 0;padding:0 4px;font-size:12px;line-height:1.2}.legal{margin:1px 0 0;font-size:9px;line-height:1.25}.switch{padding:8px 0}dialog{width:min(520px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:min(78dvh,720px);padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.dialog-head h2{font-size:22px}.dialog-actions .btn-ghost,.dialog-actions .btn-danger{min-height:40px}}@media (width<=720px) and (width>=390px){.tray-chip.chip-face{flex-basis:44px;width:44px;height:44px}.btn-spin,.side-actions .btn-ghost,.home-link,#open-settings{min-height:44px}.btn-spin,.side-actions .btn-ghost,#open-settings,.home-link{height:44px}}body.lobby-body{height:auto;min-height:100%;overflow:auto}.lobby{min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));flex-direction:column;display:flex}.lobby-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.lobby-kicker{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:11px}.lobby-head h1{font-family:var(--serif);letter-spacing:.03em;margin:2px 0 0;font-size:clamp(26px,7vw,40px);font-weight:600;line-height:1.05}.lobby-tagline{color:var(--ivory-dim);margin:4px 0 0;font-size:13px;line-height:1.4}.lobby-main{flex:1}.game-grid{grid-template-columns:1fr;gap:10px;display:grid}.game-card{background:linear-gradient(#14664a 0%,#0e4a36 70%);border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px #e0c98a47,0 0 0 3px #3a2618,0 0 0 4px #c4a46ad9}.game-card-soon{filter:saturate(.7)}.game-link{color:inherit;flex-direction:column;min-height:100%;text-decoration:none;display:flex}.game-cover{background:#0c3328;height:72px;position:relative;overflow:hidden}.game-cover img,.soon-art{object-fit:cover;object-position:18% center;width:100%;height:100%;display:block}.soon-badge{color:var(--gold-bright);letter-spacing:.04em;background:#0c0a08c7;border:1px solid #f0d7a28c;border-radius:999px;padding:3px 8px;font-size:11px;position:absolute;top:8px;left:8px}.game-body{padding:8px 10px 10px}.game-body h2{font-family:var(--serif);margin:0;font-size:18px;font-weight:600;line-height:1.2}.game-body h2 span,.game-body p span{color:var(--ivory-dim);font-family:var(--sans);letter-spacing:0;margin-top:2px;font-size:12px;font-weight:400;display:block}.game-body p{color:#f4efe4e6;margin:4px 0 8px;font-size:13px;line-height:1.35}.btn-play{width:100%;min-height:44px;font-family:var(--serif);letter-spacing:.04em;color:#2b2112;background:linear-gradient(#f0d7a2 0%,#d4b36a 48%,#b8923f 100%);border:none;border-radius:999px;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}button.btn-play:disabled{opacity:.55;color:var(--ivory);cursor:default;background:0 0;border:1px solid #e0c98a59}.lobby-foot{margin-top:12px}@media (width>=800px){.lobby{padding:28px 32px 20px}.lobby-head{margin-bottom:22px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px}.game-cover{height:150px}}@media (width<=720px){.lobby-head{flex-wrap:wrap;align-items:flex-start}.lang-picker{margin-left:0}}@media (width<=720px) and (height<=700px){.lobby{padding-top:calc(8px + env(safe-area-inset-top))}.lobby-head{gap:8px;margin-bottom:8px}.lobby-head .brand-mark{width:28px;height:28px}.lobby-head h1{font-size:22px}.lobby-tagline{font-size:12px}.game-grid{gap:8px}.game-cover{height:52px}.game-body{padding:6px 8px 8px}.game-body p{margin:2px 0 6px}.game-body p span,.lobby-kicker{display:none}.btn-play{min-height:40px;font-size:15px}.lobby-foot{margin-top:8px}}
