
    :host{display:block;width:100%;height:100%;color-scheme:light dark;--page:#f1eee5;--surface:#fffdf7;--surface-2:#e7e2d6;--ink:#172019;--muted:#5b645c;--line:rgba(23,32,25,.14);--felt:#145b3e;--felt-deep:#0d3d2b;--gold:#a77212;--gold-bright:#d5a73f;--button-ink:#17130a;--red:#bd2636;--black:#171a19;--green:#177a50;--shadow:0 24px 70px rgba(22,31,24,.18);font-family:"DM Sans",sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
    @media(prefers-color-scheme:dark){:host{--page:#07110d;--surface:#0d1c15;--surface-2:#13251c;--ink:#f6f1e5;--muted:#b3b9ae;--line:rgba(246,241,229,.13);--felt:#10603d;--felt-deep:#0a3826;--gold:#d4a440;--gold-bright:#f0c968;--button-ink:#16120a;--red:#d93547;--black:#121515;--green:#188a58;--shadow:0 26px 80px rgba(0,0,0,.42)}}
    *{box-sizing:border-box}button{font:inherit}
    .game-shell{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;background:radial-gradient(circle at 50% -20%,rgba(32,131,85,.25),transparent 42%),var(--page);color:var(--ink)}
    .app{width:min(100%,560px);min-height:100%;margin:0 auto;padding:max(22px,env(safe-area-inset-top)) 18px calc(max(24px,env(safe-area-inset-bottom)) + 64px);display:flex;flex-direction:column}
    .intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:10px 4px 20px}
    .icon-button{width:44px;height:44px;flex:none;align-self:flex-start;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);box-shadow:0 2px 10px rgba(0,0,0,.1);cursor:pointer;touch-action:manipulation}
    .icon-button svg{width:20px;height:20px;fill:currentColor}
    .icon-button:active{transform:translateY(1px)}
    .icon-button:focus-visible{outline:3px solid var(--gold-bright);outline-offset:2px}
    h1{margin:0;max-width:350px;font-family:"Libre Baskerville",serif;font-size:clamp(28px,8vw,40px);line-height:1.12;letter-spacing:-.035em}
    .odds{flex:0 0 auto;color:var(--muted);font-size:12px;line-height:1.25;text-align:right}
    .wheel-picker{border:0;padding:0;margin:0 0 16px}
    .wheel-picker legend{padding:0 3px;margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:700}
    .segments{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px}
    .segment-button{min-height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:14px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
    .segment-button[aria-checked="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.12)}
    .segment-button:focus-visible{outline:3px solid var(--gold-bright);outline-offset:2px}
    .slip{position:relative;overflow:hidden;flex:1 0 auto;padding:24px 20px 22px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(rgba(255,255,255,.025),rgba(255,255,255,0)),var(--felt-deep);color:#fffaf0;border:1px solid rgba(245,210,126,.28);border-radius:28px 28px 18px 18px;box-shadow:var(--shadow)}
    .slip::before{content:"";position:absolute;inset:10px;pointer-events:none;border:1px solid rgba(238,201,105,.16);border-radius:20px 20px 11px 11px}
    .result-label{position:relative;margin:2px 0 16px;color:rgba(255,250,240,.72);font-size:13px;font-weight:700}
    .number-disc{position:relative;width:154px;height:154px;margin-bottom:20px;display:grid;place-items:center;border:8px solid #e3b953;border-radius:50%;background:#133c2e;box-shadow:inset 0 0 0 3px rgba(0,0,0,.35),0 14px 30px rgba(0,0,0,.28);transition:background-color .2s ease,transform .2s ease}
    .number-disc::after{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,255,255,.4);border-radius:50%}
    .number-disc.red{background:var(--red)}
    .number-disc.black{background:var(--black)}
    .number-disc.green{background:var(--green)}
    .number-disc.bump{animation:rb-bump .32s ease both}
    .number{font-family:"Libre Baskerville",serif;font-size:64px;font-weight:700;line-height:1;letter-spacing:-.055em;text-shadow:0 3px 0 rgba(0,0,0,.25)}
    .number.double-zero{font-size:54px}
    .number.waiting{font-size:40px;letter-spacing:0;opacity:.55}
    .pick-button{position:relative;z-index:1;width:100%;min-height:62px;border:0;border-radius:16px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--button-ink);box-shadow:0 9px 0 #76510e,0 16px 28px rgba(0,0,0,.3);font-size:19px;font-weight:800;cursor:pointer;touch-action:manipulation;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
    .pick-button:active{transform:translateY(6px);box-shadow:0 3px 0 #76510e,0 8px 18px rgba(0,0,0,.28)}
    .pick-button:focus-visible{outline:3px solid #fff6d4;outline-offset:3px}
    .zero-note{position:relative;min-height:20px;margin:22px 0 4px;color:rgba(255,250,240,.72);font-size:12px;line-height:1.45;text-align:center}
    .bet-groups{position:relative;width:100%;margin-top:22px;display:grid;gap:24px}
    .bet-group-heading{margin:0 0 8px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
    .bet-group-heading h2{margin:0;font-family:"Libre Baskerville",serif;font-size:17px;letter-spacing:-.015em}
    .bet-group-heading span{color:rgba(255,250,240,.58);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .bet-list{margin:0;border-top:1px solid rgba(255,255,255,.18)}
    .bet-row{min-height:49px;padding:10px 0;display:grid;grid-template-columns:minmax(82px,.7fr) minmax(0,1.35fr) auto;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.13)}
    .bet-row dt,.bet-row dd{margin:0}
    .bet-name{color:rgba(255,250,240,.65);font-size:12px;font-weight:700}
    .bet-value{min-width:0;color:#fffaf0;font-size:14px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
    .payout{min-width:36px;padding:4px 6px;border:1px solid rgba(227,185,83,.35);border-radius:999px;color:#f0cc72;font-size:10px;font-weight:700;text-align:center}
    .payout-note{margin:10px 0 0;color:rgba(255,250,240,.55);font-size:10px;line-height:1.4}
    .fine-print{margin:20px 5px 0;display:grid;gap:9px;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}
    .fine-print p{margin:0}
    .fine-print strong{color:var(--ink)}
    @keyframes rb-bump{0%{transform:scale(.86) rotate(-2deg)}65%{transform:scale(1.04) rotate(1deg)}100%{transform:scale(1) rotate(0)}}
    @media(max-width:360px){.app{padding-left:12px;padding-right:12px}.intro{margin-top:4px}h1{font-size:27px}.odds{display:none}.slip{padding-left:14px;padding-right:14px}.number-disc{width:142px;height:142px}.number{font-size:58px}.number.double-zero{font-size:49px}.bet-row{grid-template-columns:76px minmax(0,1fr) auto;gap:7px}.bet-value{font-size:13px}}
    @media(prefers-reduced-motion:reduce){.number-disc.bump{animation:none}.segment-button,.pick-button,.number-disc{transition:none}}
    