@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800;1,900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#082841;--blue:#006ac8;--green:#00955a;--lime:#c9f76a;--ink:#102a3a;--muted:#647c87;--paper:#eff4f6;--line:#d7e4e9;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:1rem/1.5 var(--body);color:var(--ink);-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #69baff;outline-offset:4px}[hidden]{display:none!important}a{text-decoration:none;color:inherit}.topbar{height:76px;padding:0 max(20px,calc((100vw - 1000px)/2));display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px}.logo{width:110px;height:50px;overflow:hidden;display:block}.logo img{width:116px;height:116px;display:block;max-width:none;margin-top:-30px;margin-left:-3px}.brand-number{border-left:1px solid var(--line);padding-left:17px;font:900 italic 1.9rem var(--display)}.top-actions{display:flex;align-items:center;gap:10px}.sound{background:none;color:var(--muted);font-size:.8125rem;padding:10px 3px}.roster-button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-size:.875rem;font-weight:700}.roster-button span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7f3ed;color:#007748;font-size:.75rem}.shell{max-width:1000px;width:calc(100% - 40px);margin:auto}.hero{background:var(--navy);color:#fff;border-radius:20px;padding:32px 35px;margin-top:26px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-60px;top:-65px;width:310px;height:310px;border:50px solid #0a395b;border-radius:50%;pointer-events:none}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;margin:0;color:var(--muted)}.hero .eyebrow{color:#aacadc;position:relative;z-index:1}h1{font:900 italic 4.5rem/.94 var(--display);letter-spacing:-.01em;margin:14px 0 0}.hero h1{position:relative;z-index:1}.hero h1 span{color:var(--lime)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;position:relative;z-index:1}.hero-bottom p{font-size:.9375rem;color:#b4d0e1;margin:16px 0 0}.hero-badge{text-align:center;font:900 italic 4.5rem/.8 var(--display);color:var(--lime);padding-right:10px}.hero-badge span{display:block;font:700 .75rem/1.5 var(--body);letter-spacing:.13em;margin-top:13px;color:#d9e9f4}.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 13px}.selection-heading h2{font:800 1.9rem var(--display);margin:0}.text-button{background:transparent;color:var(--muted);font-size:.875rem;padding:8px 0}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.game-tile{border:1px solid var(--line);background:#fff;padding:21px;text-align:left;border-radius:14px;transition:transform .15s,border-color .15s;min-width:0}.game-tile:hover{transform:translateY(-3px);border-color:var(--blue)}.tile-top{display:flex;justify-content:space-between;align-items:start}.tile-icon{width:49px;height:49px;border-radius:12px;background:#e3f1ff;color:var(--blue);display:grid;place-items:center;font-size:2rem;line-height:1}.game-tile:nth-child(even) .tile-icon{background:#e4f3eb;color:#008550}.tile-index{color:#849ba7;font-size:.75rem;font-weight:700;letter-spacing:.08em}.game-tile h3{font:800 1.8rem/1.1 var(--display);margin:17px 0 5px}.game-tile p{font-size:.875rem;line-height:1.4;color:var(--muted);margin:0}.home-note{display:flex;justify-content:space-between;gap:12px;padding:24px 1px 0;font-size:.75rem;font-weight:700;color:#78909c;letter-spacing:.045em}footer{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem;padding:24px 1px}footer b{color:#94aab5;margin:0 5px}#game{max-width:760px;margin:auto;padding-bottom:130px}.game-nav{display:flex;justify-content:space-between;margin-top:12px}.game-heading{display:flex;align-items:center;justify-content:space-between;margin:15px 0 20px;gap:20px}.game-heading h1{font-size:3.5rem;margin:6px 0 0}.game-number{font:800 2rem var(--display);color:#b6cbd5;border-left:1px solid #cddfe6;padding-left:20px}.turnbar{display:flex;align-items:center;gap:11px;background:#fff;padding:13px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#e1f1e9;color:#007b49;font-size:.875rem;font-weight:700}.turn-info{min-width:0;flex:1}.turn-info span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.09em;color:var(--muted)}.turn-info b{display:block;font-size:1.125rem;line-height:1.3;overflow-wrap:anywhere}.round{color:#7b949f;font-size:.75rem;white-space:nowrap}.arena{border-radius:18px;overflow:hidden;background:var(--navy);color:#fff;box-shadow:0 10px 26px #143b5118}.stage{min-height:368px;text-align:center;padding:23px 24px 25px}.stage-intro{font-size:1rem;color:#bdd5e4;margin:0 0 23px}.stage-foot{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:#aac6d9;margin:23px 0 0}.stage-foot span{color:#557c97}.arena-bottom{padding:14px 20px;display:flex;justify-content:space-between;gap:10px;background:#0b304c;border-top:1px solid #ffffff14;font-size:.75rem;color:#9dbfd5}.arena-bottom>span:first-child{color:#c0e9da;letter-spacing:.09em;font-weight:700}.dock{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(800px,100%);padding:13px 20px max(12px,env(safe-area-inset-bottom));background:#eff4f6f5;backdrop-filter:blur(12px);z-index:20;border-top:1px solid #d7e4e999}.controls{display:flex;gap:9px}.primary,.control{display:flex;align-items:center;justify-content:center;width:100%;min-height:57px;border-radius:10px;background:var(--lime);color:var(--navy);font:800 1.35rem/1.25 var(--display);letter-spacing:.04em;padding:12px 15px;box-shadow:0 3px 0 #85ad3e}.control.secondary{background:var(--blue);color:white;box-shadow:0 3px 0 #004e9a}.controls:empty{display:none}.dock-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:30px;margin-top:5px;font-size:.75rem;color:var(--muted)}.skip{background:transparent;color:var(--muted);font-size:.8125rem;padding:7px 0;white-space:nowrap}.dock-meta>span{text-align:right;overflow-wrap:anywhere}.wheel-wrap{width:250px;max-width:72vw;aspect-ratio:1;position:relative;margin:5px auto 0}.wheel-wrap svg{display:block;width:100%;height:100%;transition:transform 1.8s cubic-bezier(.12,.67,.13,1);filter:drop-shadow(0 7px 10px #0004)}.pointer{position:absolute;left:calc(50% - 12px);top:-11px;width:24px;height:31px;background:var(--lime);clip-path:polygon(0 0,100% 0,50% 100%);z-index:3}.hub{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:#fff;border:6px solid var(--navy);border-radius:50%;width:65px;height:65px;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 1px #fff7}.hub b{font:900 italic 1.3rem/1 var(--display)}.hub span{font-size:.75rem;color:var(--green);line-height:1;margin-top:5px}.pitch{height:238px;max-width:380px;margin:10px auto 0;position:relative;border-bottom:3px solid #218364;background:linear-gradient(0deg,#075345,transparent);border-radius:0 0 16px 16px;overflow:hidden}.goal{position:absolute;top:10px;width:270px;height:116px;left:calc(50% - 135px);border:6px solid #e7f5fb;border-bottom:0}.net{height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 17px,#b5dfe233 17px,#b5dfe233 18px),repeating-linear-gradient(90deg,transparent,transparent 20px,#b5dfe233 20px,#b5dfe233 21px)}.keeper{position:absolute;bottom:0;left:calc(50% - 21px);font-size:2.4rem;transition:transform .5s}.ball{position:absolute;bottom:20px;left:calc(50% - 18px);font-size:2.25rem;line-height:1;transition:transform .55s}.spot{position:absolute;bottom:14px;left:calc(50% - 5px);width:10px;height:3px;background:#8ecbba}.pitch-message{position:absolute;top:50px;left:0;right:0;font:900 italic 3.2rem var(--display);color:var(--lime);text-shadow:0 3px 0 var(--navy)}.stake-row{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#abc9db;font-size:.875rem}.stake-row b{background:#c9f76a;color:var(--navy);padding:6px 11px;border-radius:6px;font-size:.8125rem}.playing-card{width:145px;height:194px;border-radius:14px;position:relative;margin:22px auto 17px;background:#fff;color:#132f43;box-shadow:0 8px 0 #0003;display:flex;flex-direction:column;align-items:center;justify-content:center}.playing-card.red{color:#c73842}.card-corner{position:absolute;top:10px;left:12px;font-size:1rem;font-weight:700}.playing-card>b{font:800 4.5rem/1 var(--display)}.playing-card>span:last-child{font-size:2.3rem;line-height:1.2}.game-note{min-height:24px;font-size:.9375rem;color:#c5dce9;margin:0}.bomb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;width:min(285px,100%);margin:auto}.bomb-cell{aspect-ratio:1;border-radius:11px;min-height:64px;background:#174768;border:1px solid #3b6480;color:#aac8db;font:800 1.8rem var(--display);box-shadow:0 4px 0 #041e31}.bomb-cell:hover:not(:disabled){border-color:var(--lime);background:#205779}.bomb-cell.selected{outline:3px solid var(--lime);outline-offset:2px}.bomb-cell.bomb{background:#8f4037;color:#ffe0d6}.bomb-cell.safe{background:#086a50;color:var(--lime)}.reaction-message{font:900 italic 2.1rem/1 var(--display);margin:7px 0 10px;color:#dbeaf3}.reaction-note{font-size:.875rem;color:#afccdd;margin:0 0 22px;min-height:21px}.reaction-pads{display:flex;gap:13px;touch-action:none}.reaction-pad{width:50%;min-height:191px;padding:15px 11px;background:#0968b7;border:2px solid #2b8dd8;border-radius:15px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.reaction-pad:nth-child(2){background:#078059;border-color:#25a174}.reaction-pad.held{border-color:var(--lime);box-shadow:inset 0 0 0 3px #c9f76a35}.reaction-pad>span{font:800 1.4rem var(--display);opacity:.6}.reaction-pad b{font-size:1.125rem;line-height:1.2;overflow-wrap:anywhere;max-width:100%}.reaction-pad small{font-size:.75rem;letter-spacing:.06em}.arena.green{background:#bdf564;color:#0b3525}.arena.green .reaction-message,.arena.green .reaction-note,.arena.green .stage-foot{color:#0b3525}.arena.green .reaction-pad{background:#0b4939;border-color:#ecffcd;color:#e7ffbd}.keyboard-hint{font-size:.75rem;color:#a2bfd2;margin:12px 0 0}.dice-duel{display:flex;align-items:center;justify-content:center;gap:25px;margin:41px 0 38px}.dice-duel>div{width:140px;min-width:0}.dice-duel>div>span{display:block;overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;margin-bottom:16px;color:#c6dce9}.die{height:110px;width:110px;display:grid;place-items:center;border-radius:19px;background:white;color:var(--navy);font:700 5.2rem/1 Arial,sans-serif;margin:auto;box-shadow:0 7px 0 #0003}.versus{font:700 1.1rem var(--display);color:#7299b4}.result-stage{text-align:center;min-height:365px;padding:32px 25px}.result-who{font-size:.875rem;letter-spacing:.1em;font-weight:700;color:#afcbdd;margin:0;overflow-wrap:anywhere}.result-number{font:900 italic 8.5rem/1 var(--display);color:var(--lime);margin:7px 0 0}.result-number.free{font-size:5.6rem;margin:25px 0 15px}.result-stage h2{font:800 2.2rem/1 var(--display);margin:0}.result-stage h3{font:800 1.85rem/1.15 var(--display);margin:24px 0 8px;overflow-wrap:anywhere}.result-stage>p:last-of-type{font-size:.9375rem;color:#aac9dc;margin:0 auto;max-width:430px}.result-extra{font-size:.875rem;color:#a7c6d9;margin-top:18px}.mini-bombs{display:flex;gap:5px;justify-content:center}.mini-bombs i{display:block;width:19px;height:19px;border-radius:4px;background:#167254}.mini-bombs i.hit{background:#db715e}.mini-bombs i.chosen{outline:2px solid var(--lime);outline-offset:1px}.pop{animation:pop .33s both}.shake{animation:shake .4s infinite}.flipping{animation:flip .45s}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:40}.confetti i{position:absolute;top:-20px;width:8px;height:13px;animation:fall 1.5s ease-in forwards}dialog{border:0;border-radius:19px;width:min(440px,calc(100% - 28px));padding:25px;max-height:calc(100svh - 28px);overflow:auto;color:var(--ink);background:#fff}dialog::backdrop{background:#051e34c9;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.close{height:34px;width:34px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:1.3rem}dialog h2{font:900 italic 2.8rem/.98 var(--display);color:var(--blue);margin:21px 0 15px}dialog>p{font-size:.9375rem;color:var(--muted);line-height:1.55}#player-form{display:flex;gap:8px;margin-top:17px}#player-input{min-width:0;flex:1;font-size:1rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px}#player-form button{width:47px;background:var(--green);color:#fff;border-radius:8px;font-size:1.5rem}.player-list{padding:0;list-style:none;margin:15px 0;max-height:240px;overflow:auto}.player-list li{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;margin-bottom:7px}.player-list li span{font-size:.75rem;color:var(--green);font-weight:700}.player-list li b{flex:1;min-width:0;font-size:.9375rem;overflow-wrap:anywhere}.player-list li button{width:33px;height:33px;font-size:1.2rem;background:none;color:var(--muted)}.quick-start{display:block;width:100%;margin-top:14px;min-height:37px;font-size:.8125rem;color:var(--muted);background:none}.error{font-size:.875rem;color:#ad3e2e}.error:empty{display:none}.toast{position:fixed;bottom:130px;left:50%;transform:translateX(-50%);background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 4px 20px #0003;padding:12px 18px;max-width:calc(100% - 30px);font-size:.875rem;z-index:50}.toast:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes pop{from{transform:scale(.93);opacity:.3}to{transform:none;opacity:1}}@keyframes shake{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes flip{50%{transform:rotateY(90deg)}}@keyframes fall{to{transform:translateY(105vh) rotate(400deg);opacity:0}}
@media(min-width:750px){.hero{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:30px 38px}.hero .eyebrow{grid-column:1}.hero h1{grid-column:1;font-size:5rem}.hero-bottom{grid-column:2;grid-row:1/3;align-items:end}.hero-badge{font-size:6rem}.hero-bottom p{font-size:1rem}.stage{min-height:410px;padding-top:30px}.result-stage{min-height:410px}.wheel-wrap{width:275px}}
@media(max-width:600px){.topbar{height:68px;padding:0 15px}.brand{gap:10px}.logo{width:91px;height:45px}.logo img{width:100px;height:100px;margin-top:-25px}.brand-number{padding-left:10px;font-size:1.6rem}.top-actions{gap:8px}.sound{font-size:.75rem}.roster-button{padding:7px 9px;font-size:.8125rem;gap:5px}.shell{width:calc(100% - 28px)}.hero{margin-top:17px;padding:23px 23px 21px;border-radius:16px}.hero h1{font-size:3.75rem;line-height:.94;margin-top:13px}.hero:after{width:230px;height:230px;border-width:36px;right:-75px;top:-44px}.hero-bottom p{font-size:.875rem;margin-top:13px}.hero-badge{font-size:4rem;padding-right:1px}.hero-badge span{font-size:.75rem}.eyebrow{font-size:.75rem;letter-spacing:.09em}.selection-heading{margin-top:20px}.selection-heading h2{font-size:1.7rem}.text-button{font-size:.8125rem}.game-grid{grid-template-columns:repeat(2,1fr);gap:10px}.game-tile{padding:15px 14px;min-height:142px;border-radius:12px}.tile-icon{width:37px;height:37px;font-size:1.7rem;border-radius:9px}.game-tile h3{font-size:1.55rem;margin-top:13px}.game-tile p{font-size:.8125rem}.tile-index{font-size:.75rem}.home-note{display:none}footer{font-size:.75rem;flex-wrap:wrap;padding-top:22px;gap:5px}.game-nav{margin-top:8px}.game-heading{margin:12px 2px 16px;gap:12px}.game-heading h1{font-size:2.65rem;margin-top:5px}.game-heading .eyebrow{font-size:.75rem}.game-number{font-size:1.55rem;padding-left:14px}.turnbar{padding:10px 12px;gap:9px}.avatar{width:35px;height:35px;font-size:.8125rem}.turn-info span{font-size:.75rem}.turn-info b{font-size:1rem}.round{font-size:.75rem}.arena{border-radius:14px}.stage{min-height:337px;padding:21px 18px 23px}.stage-intro{font-size:.9375rem;margin-bottom:21px}.wheel-wrap{width:215px}.stage-foot{font-size:.75rem;gap:6px;margin-top:22px;letter-spacing:0}.arena-bottom{padding:12px 16px;font-size:.75rem;flex-wrap:wrap;gap:4px}.dock{padding:11px 15px max(10px,env(safe-area-inset-bottom))}.primary,.control{min-height:55px;font-size:1.25rem;padding:11px 12px}.dock-meta{font-size:.75rem}.skip{font-size:.8125rem}.pitch{height:213px;max-width:320px}.goal{width:238px;left:calc(50% - 119px);height:105px}.stake-row{font-size:.8125rem}.playing-card{height:175px;width:132px;margin-top:20px;margin-bottom:18px}.playing-card>b{font-size:4rem}.game-note{font-size:.875rem}.bomb-grid{width:245px;gap:10px}.bomb-cell{font-size:1.5rem}.reaction-message{font-size:1.75rem;margin-top:5px}.reaction-note{font-size:.8125rem;margin-bottom:18px}.reaction-pads{gap:10px}.reaction-pad{min-height:178px;padding:13px 7px;gap:14px}.reaction-pad b{font-size:1rem}.reaction-pad small{font-size:.75rem;letter-spacing:0}.keyboard-hint{display:none}.dice-duel{gap:15px;margin-top:36px;margin-bottom:34px}.dice-duel>div{width:105px}.die{width:90px;height:90px;font-size:4.4rem;border-radius:15px}.dice-duel>div>span{font-size:.875rem}.result-stage{min-height:340px;padding:25px 20px}.result-who{font-size:.8125rem}.result-number{font-size:7rem;margin-top:9px}.result-number.free{font-size:4.6rem;margin-top:28px;margin-bottom:15px}.result-stage h2{font-size:1.9rem}.result-stage h3{font-size:1.6rem;margin-top:23px}.result-stage>p:last-of-type{font-size:.875rem}.result-extra{font-size:.8125rem}dialog{padding:22px}dialog h2{font-size:2.6rem}.game-tile:active{transform:scale(.97)}}
@media(max-width:360px){.top-actions{gap:5px}.logo{width:79px}.brand-number{font-size:1.45rem}.sound{padding:7px 0}.roster-button{padding:7px;font-size:.75rem}.game-tile{padding:13px 11px}.game-tile h3{font-size:1.4rem}.hero h1{font-size:3.5rem}.game-heading h1{font-size:2.4rem}.reaction-pad b{font-size:.9375rem}.stage{padding-left:14px;padding-right:14px}.wheel-wrap{width:200px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 2026 game-night refresh */
:root{--navy:#061f35;--blue:#147bd1;--green:#00a66a;--lime:#d5ff63;--paper:#edf3f5;--ink:#0b2639}
body{background:radial-gradient(circle at 50% 0,#fff 0,#edf3f5 42rem)}
.topbar{position:sticky;top:0;z-index:25;box-shadow:0 1px 16px #061f3510}
.hero{background:linear-gradient(135deg,#061f35,#0a385b);box-shadow:0 13px 30px #061f3528;border:1px solid #ffffff12}
.hero:after{border-color:#147bd126}.hero-ball{position:absolute;right:24%;top:18px;width:72px;height:72px;border:2px solid #ffffff16;border-radius:50%;display:grid;place-items:center;font:900 italic 1.9rem var(--display);color:#ffffff13;transform:rotate(-12deg)}
.game-grid{grid-template-columns:repeat(2,1fr)}
.game-tile{position:relative;overflow:hidden;min-height:164px;box-shadow:0 5px 18px #0828410c;border-color:#d2e0e6}
.game-tile:after{content:'';position:absolute;inset:auto 0 0;height:4px;background:var(--blue)}
.game-tile:nth-child(even):after{background:var(--green)}
.game-thirty{background:linear-gradient(145deg,#082d49,#0b4264);color:white;border-color:#0b4264}.game-thirty p,.game-thirty .tile-index{color:#bad3e1}.game-thirty .tile-icon{background:var(--lime);color:var(--navy)}.game-thirty:after{background:var(--lime)}
.rules-button{color:var(--blue);font-weight:700;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px}
.turnbar{box-shadow:0 4px 14px #0828410b}.arena{background:linear-gradient(155deg,#061f35,#092c47);box-shadow:0 15px 35px #08284125}.arena-bottom{background:#051a2d}
.wheel-wrap svg{transition:transform 3.6s cubic-bezier(.08,.62,.08,1)}
.playing-card{box-shadow:0 10px 0 #0004,0 18px 30px #0004}.stake-row b{font-size:.9rem;box-shadow:0 3px 0 #7da332}
.bomb-config{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 auto 13px;max-width:340px}.bomb-config label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #365a73;border-radius:10px;color:#a9c8da;font-size:.72rem;font-weight:800;letter-spacing:.08em;background:#0b304c}.bomb-config select{min-width:65px;border:0;border-radius:7px;background:#fff;color:var(--navy);font-weight:800;padding:7px 8px}.bomb-grid{grid-template-columns:repeat(var(--bomb-cols,3),1fr);width:min(360px,100%);gap:8px}.bomb-cell{min-height:0;font-size:1.25rem;border-radius:9px}.mini-bombs{flex-wrap:wrap;max-width:290px;margin:auto}
.thirty-stage{padding-top:18px}.thirty-score{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 auto 16px;max-width:390px}.thirty-score>div{background:#0c3553;border:1px solid #315873;border-radius:10px;padding:8px 4px}.thirty-score span{display:block;color:#94b9ce;font-size:.65rem;font-weight:800;letter-spacing:.1em}.thirty-score b{display:block;color:var(--lime);font:900 italic 1.9rem/1.1 var(--display);margin-top:3px}.thirty-note{min-height:43px;max-width:430px;margin:0 auto 10px;color:#c7dce8}.kept-row{min-height:36px;display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-bottom:9px}.six-dice{display:grid;grid-template-columns:repeat(3,74px);justify-content:center;gap:11px;min-height:160px;align-content:center}.thirty-die{width:74px;height:74px;border-radius:14px;background:#fff;color:var(--navy);font:700 3.5rem/1 Arial,sans-serif;box-shadow:0 6px 0 #0004;transition:transform .15s,background .15s,box-shadow .15s}.thirty-die.selected{background:var(--lime);transform:translateY(-5px);box-shadow:0 11px 0 #58812d}.thirty-die.blocked{opacity:.3;filter:grayscale(1)}.six-dice.rolling{animation:shake .35s 2}.result-number.special{font-size:5.3rem;line-height:1.05;margin:23px 0 8px}.result-stage h2{letter-spacing:.04em}
@media(min-width:750px){.game-grid{grid-template-columns:repeat(3,1fr)}.game-thirty{grid-column:2}.stage-thirty{min-height:430px}}
@media(max-width:600px){.hero-ball{display:none}.game-grid{grid-template-columns:repeat(2,1fr)}.game-tile{min-height:151px}.game-thirty{grid-column:1/-1;min-height:132px}.game-thirty .tile-top{position:absolute;right:15px;top:15px;left:15px}.game-thirty h3,.game-thirty p{max-width:65%}.bomb-config{margin-top:-5px}.bomb-grid{width:min(315px,100%)}.thirty-stage{padding:15px 12px 21px}.six-dice{grid-template-columns:repeat(3,minmax(62px,74px));gap:10px}.thirty-die{width:100%;height:auto;aspect-ratio:1;font-size:3.25rem}.result-number.special{font-size:4.4rem}.controls{gap:7px}}
@media(max-width:360px){.six-dice{grid-template-columns:repeat(3,60px)}.thirty-score b{font-size:1.6rem}.bomb-grid{gap:6px}.bomb-cell{font-size:1.05rem}}

/* Play-table edition: physical controls, readable reveals, eleven games. */
.hero{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.hero .eyebrow{width:100%}.hero h1{font-size:3.5rem;margin:0}.hero-bottom{gap:30px}.hero-bottom p{margin:0}.hero-badge{font-size:3.5rem}.hero-badge span{margin-top:7px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-thirty{grid-column:auto}.game-thirty .tile-top{position:static}.game-thirty h3,.game-thirty p{max-width:none}.stage-intro,.game-note{font-size:1rem}.eyebrow,.stage-foot,.dock-meta,.turn-info span{font-size:.875rem}.topbar{position:relative}.beer-icon{display:inline-block;font-size:1.65rem;filter:drop-shadow(0 3px 2px #0003);transform:rotate(-8deg)}.beer-row{display:flex;justify-content:center;gap:7px;margin-top:15px}.beer-row .beer-icon{animation:beer-arrive .4s both}.beer-row .beer-icon:nth-child(2n){transform:rotate(8deg)}
.card-pair{display:flex;align-items:center;justify-content:center;gap:22px;perspective:900px;min-height:237px}.card-pair .playing-card{margin:20px 0;transform-origin:center;backface-visibility:hidden}.previous-card:empty{display:none}.previous-card{opacity:.65;transform:rotate(-7deg);position:relative}.previous-card:before{content:'VORIGE';display:block;font-size:.75rem;font-weight:700;margin-bottom:8px;color:#b1cbdc}.table-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:175px;flex-shrink:0;background:linear-gradient(130deg,#fff,#e3eaf0);color:#102c43;border:1px solid #fff;border-radius:12px;box-shadow:2px 4px 0 #9aabb8,5px 9px 15px #0005}.table-card.red{color:#c43246}.table-card>span{position:absolute;top:7px;left:8px;font-size:.85rem;font-weight:700}.table-card>b{font:800 3.3rem/1 var(--display)}.table-card>i{font-style:normal;font-size:2rem}.table-card.small{width:85px;height:118px}.table-card.small>b{font-size:2.6rem}.table-card.small>i{font-size:1.7rem}.table-card.small>span{font-size:.75rem}.card-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0}.bank-hand{width:100%;border-top:1px solid #47687e}.card-out{animation:card-out .34s both}.card-in{animation:card-in .4s both}.selection-summary{margin:0 0 12px;color:#d5ff63;font-size:.875rem;font-weight:700;min-height:21px}.thirty-score span{font-size:.75rem}.thirty-score b{font-size:2.15rem}.thirty-note{min-height:44px}.six-dice{gap:20px 14px;padding:14px 0;min-height:206px}.thirty-die,.dice-placeholder{display:grid;place-items:center;width:74px;height:80px;background:transparent;border-radius:14px;border:2px solid transparent;box-shadow:none;perspective:600px}.thirty-die{touch-action:manipulation;transition:transform .16s,border-color .16s}.thirty-die.selected{background:#d5ff631c;border:2px solid var(--lime);box-shadow:0 0 24px #c9f76a25;transform:translateY(-6px)}.thirty-die.blocked{opacity:.28}.die{width:110px;height:125px;background:none;box-shadow:none;perspective:600px}.dice-scene{--size:52px;--half:26px;position:relative;display:block;width:var(--size);height:var(--size);perspective:600px;flex-shrink:0}.dice-cube{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-17deg) rotateY(-24deg);transition:transform .2s}.cube-face{position:absolute;inset:0;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:3px;padding:8px;border:1px solid #ccd6df;border-radius:8px;background:linear-gradient(145deg,#fff,#dfe7ef);backface-visibility:hidden;box-shadow:inset 0 0 9px #b9c8d780}.cube-face .pip{display:block;background:#15374e;border-radius:50%;box-shadow:inset 1px 2px 2px #001324,0 1px 0 #fff}.cube-face .empty{visibility:hidden}.face-0{transform:translateZ(var(--half))}.face-1{transform:rotateY(180deg) translateZ(var(--half))}.face-2{transform:rotateY(90deg) translateZ(var(--half))}.face-3{transform:rotateY(-90deg) translateZ(var(--half))}.face-4{transform:rotateX(90deg) translateZ(var(--half))}.face-5{transform:rotateX(-90deg) translateZ(var(--half))}.die .dice-scene{--size:68px;--half:34px}.is-rolling{animation:dice-hop 1.1s cubic-bezier(.2,.7,.25,1) both}.is-rolling .dice-cube{animation:cube-roll 1.1s cubic-bezier(.18,.75,.28,1) both}.dice-placeholder:nth-child(2n) .is-rolling{animation-delay:.05s}.result-dice{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;padding:20px 8px}.result-dice .dice-scene{--size:38px;--half:19px}.result-dice .cube-face{padding:5px;gap:2px}
.race-tracks{display:grid;gap:10px;max-height:450px;overflow:auto;padding:5px 6px 15px;text-align:left}.race-lane{border-radius:10px;background:#ffffff08;padding:8px 10px;border:1px solid #ffffff13}.race-label{font-size:.875rem;color:var(--lane-color);display:block;overflow-wrap:anywhere;margin-bottom:3px}.track{position:relative;height:42px;border-bottom:3px solid #74a288;background:repeating-linear-gradient(90deg,transparent 0 29px,#ffffff0a 30px 31px);transform:perspective(700px) rotateX(8deg);box-shadow:0 4px 0 #052d2a}.horse{position:absolute;left:0;bottom:0;font-size:2.65rem;line-height:1;color:var(--lane-color);text-shadow:1px 1px #537572,2px 2px #092719,3px 4px 3px #0009;transition:left .6s linear;z-index:1}.horse.gallop{animation:gallop .25s infinite alternate}.finish-flag{position:absolute;right:0;top:0;font-size:2rem;color:#fff7}.score-list{padding:0;list-style:none;margin:14px auto 0;max-width:410px;max-height:340px;overflow:auto}.score-list li{display:flex;justify-content:space-between;gap:14px;text-align:left;padding:8px 11px;margin-bottom:6px;background:#ffffff0b;border-radius:7px;color:#cce1ed;font-size:.9rem;overflow-wrap:anywhere}.score-list li b{white-space:nowrap;color:var(--lime)}.score-list .score-list{margin:0}
.traffic-light{position:relative;display:flex;flex-direction:column;gap:13px;width:105px;padding:18px;margin:20px auto 25px;background:linear-gradient(110deg,#324a59,#10202c 60%);border:2px solid #516371;border-radius:26px;box-shadow:8px 7px 0 #020f18,16px 18px 28px #0007,inset 2px 2px 4px #ffffff30;transform:perspective(700px) rotateY(-10deg)}.traffic-light i{display:block;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#3f5564,#132534 65%);box-shadow:inset 3px 5px 10px #000b,0 2px 1px #69808f;border:3px solid #0b1520}.traffic-light.ready .amber-light{background:radial-gradient(circle at 30% 25%,#fff9bc,#eaa32c 70%);box-shadow:0 0 14px #eaa32c66}.traffic-light.red .red-light{background:radial-gradient(circle at 30% 25%,#ffd2cc,#f04b4b 65%);box-shadow:0 0 25px #ff525299}.traffic-light.green .green-light{background:radial-gradient(circle at 30% 25%,#efffb9,#97ed49 65%);box-shadow:0 0 32px #c6ff7da0}.signal-status{font:800 1.65rem var(--display);letter-spacing:.04em;color:var(--lime);margin:12px 0;min-height:32px}.traffic-tap{min-height:70px;touch-action:manipulation}.bomb-object{display:flex;flex-direction:column;align-items:center;justify-content:center;width:210px;min-height:215px;margin:15px auto;background:radial-gradient(ellipse,#25506c 0,transparent 70%);color:var(--lime);border-radius:50%;perspective:650px;touch-action:manipulation}.bomb-object>span{display:block;font-size:8rem;line-height:1.2;filter:drop-shadow(9px 15px 7px #0008);transform:rotateY(-16deg) rotateZ(-10deg)}.bomb-object b{font:800 1.8rem var(--display);margin-top:10px}.bomb-object.running>span,.bomb-object.handoff>span{animation:bomb-breathe .8s ease-in-out infinite alternate}.bomb-object:disabled{opacity:1;cursor:default}.bomb-object:active:not(:disabled)>span{transform:scale(.92)}.bomb-object.paused>span{filter:grayscale(.8) drop-shadow(9px 15px 7px #0008)}
@keyframes card-out{to{transform:rotateY(90deg)}}@keyframes card-in{from{transform:rotateY(-90deg)}to{transform:rotateY(0)}}@keyframes cube-roll{0%{transform:rotateX(0) rotateY(0) rotateZ(0)}35%{transform:rotateX(350deg) rotateY(420deg) rotateZ(70deg)}100%{transform:rotateX(703deg) rotateY(696deg) rotateZ(0)}}@keyframes dice-hop{0%{transform:translateY(0)}22%{transform:translateY(-35px) scale(1.12)}52%{transform:translateY(0)}70%{transform:translateY(-13px)}100%{transform:translateY(0)}}@keyframes gallop{to{transform:translateY(-5px) rotate(-5deg)}}@keyframes bomb-breathe{to{transform:rotateY(16deg) rotateZ(7deg) scale(1.035)}}@keyframes beer-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.hero{padding:20px;gap:14px}.hero h1{font-size:2.8rem}.hero-bottom{width:100%;align-items:center;justify-content:space-between}.hero-bottom p{font-size:.875rem}.hero-badge{font-size:2.5rem;display:flex;align-items:center;gap:8px}.hero-badge span{margin:0}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-thirty{grid-column:auto;min-height:151px}.game-tile h3{font-size:1.55rem}.game-tile p{font-size:.875rem}.card-pair{gap:19px;min-height:228px}.table-card.small{width:75px;height:105px}.card-pair .playing-card{width:123px;height:171px}.dice-duel{gap:14px}.die{width:100px;height:110px}.die .dice-scene{--size:60px;--half:30px}.thirty-stage{padding-inline:14px}.thirty-score span{font-size:.75rem;letter-spacing:.025em}.thirty-score b{font-size:1.9rem}.six-dice{grid-template-columns:repeat(3,74px);gap:16px 12px}.result-number{font-size:clamp(3.5rem,22vw,7rem);overflow-wrap:anywhere}.race-tracks{max-height:390px}.traffic-light{width:95px;padding:14px;margin:12px auto 18px}.signal-status{font-size:1.5rem}.stage-foot{font-size:.75rem}.dock-meta{font-size:.8rem}}
@media(max-width:360px){.six-dice{grid-template-columns:repeat(3,65px);gap:18px 10px}.thirty-die,.dice-placeholder{width:65px}.dice-scene{--size:46px;--half:23px}.hero h1{font-size:2.35rem}.card-pair{gap:14px}.stage{padding-inline:13px}.thirty-score b{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.beer-icon{width:29px;height:33px;background:var(--lime);mask:url('beer.svg') center/contain no-repeat;-webkit-mask:url('beer.svg') center/contain no-repeat}.horse{scale:-1 1}
