:root{color:#f4f0df;background:#07100e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--mint: #43e2b6;--mint-bright: #8affd9;--gold: #edc85f;--red: #ec5261;--panel: rgba(7, 17, 15, .78);--line: rgba(215, 255, 238, .13)}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:manipulation;user-select:none;-webkit-user-select:none;background:#07100e;overscroll-behavior:none}button,input{font:inherit}button{color:inherit}.game-shell{position:relative;width:100%;height:100%;min-height:360px;overflow:hidden;background:radial-gradient(circle at 58% 42%,#153328,#07100e 65%)}.canvas-host,.canvas-host canvas,.dart-overlay,.dart-overlay canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.canvas-host{opacity:.58;transition:opacity .5s ease,filter .5s ease}.playing .canvas-host{opacity:1}.dart-overlay{z-index:3;pointer-events:none}.scene-grade{pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at 58% 38%,transparent 25%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.58) 100%),linear-gradient(90deg,rgba(3,9,8,.62),transparent 40%,rgba(3,9,8,.15))}.screen{display:none;position:absolute;inset:0;z-index:2}.screen.active{display:flex}.game-screen.solo-mode #player-card-1{visibility:hidden}.game-screen{touch-action:none}.cinematic-frame{pointer-events:none;position:absolute;inset:0;z-index:3;opacity:0;background:linear-gradient(#020504 0 5.5%,transparent 5.5% 94.5%,#020504 94.5%),radial-gradient(circle at 50% 45%,transparent 42%,rgba(0,0,0,.34) 100%);transition:opacity .18s ease}.cinematic-frame.visible{opacity:1}.cinematic-frame span{position:absolute;left:24px;bottom:2%;color:var(--gold);font-size:8px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{color:var(--mint);font-size:clamp(9px,.75vw,12px);font-weight:800;letter-spacing:.22em;text-transform:uppercase}.menu-screen{align-items:stretch;justify-content:stretch;padding:max(22px,env(safe-area-inset-top)) max(4vw,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(4vw,env(safe-area-inset-left))}.menu-backdrop{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.002)}.brand-block{position:relative;width:45%;align-self:center;z-index:1}.brand-block h1{margin:.55rem 0 0;font-size:clamp(50px,7.6vw,126px);line-height:.72;letter-spacing:-.07em;font-style:italic;transform:skew(-4deg);text-shadow:0 10px 40px rgba(0,0,0,.44)}.brand-block h1 span,.brand-block h1 strong{display:block}.brand-block h1 span{color:#f5f1e4;font-weight:350}.brand-block h1 strong{color:var(--mint);font-weight:950}.brand-subtitle{margin:1.2rem 0 .25rem;color:var(--gold);font-size:clamp(13px,1.3vw,22px);letter-spacing:.32em;text-transform:uppercase;font-weight:800}.tagline{max-width:430px;margin-top:1.6rem;color:#f4f0dfb3;font-size:clamp(13px,1.05vw,18px);line-height:1.55}.main-nav{position:absolute;left:64%;top:51.5%;transform:translate(-50%);z-index:2;width:min(31vw,430px);padding:clamp(10px,1.2vw,18px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(7px,1vh,12px);border:1px solid rgba(215,255,238,.16);border-radius:20px;background:linear-gradient(145deg,#06110fd6,#040c0bad);box-shadow:0 28px 80px #00000061;backdrop-filter:blur(18px)}.menu-nav-label{grid-column:span 2;margin:0 4px 4px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.menu-button{min-height:clamp(48px,8vh,72px);border:1px solid var(--line);border-radius:12px;padding:0 clamp(12px,1.6vw,22px);display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;background:linear-gradient(110deg,#122520de,#081311c2);box-shadow:0 12px 35px #0000002e;backdrop-filter:blur(18px);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.menu-button:hover:not(:disabled),.menu-button:focus-visible{transform:translateY(-2px);border-color:#47e8ba8c;background:linear-gradient(110deg,#1b3a30f0,#081814e6);outline:none}.menu-button.primary{grid-column:span 2;min-height:clamp(58px,10vh,88px);color:#062019;background:linear-gradient(110deg,#82f5d1,#34cfa6);border:0;box-shadow:0 14px 38px #2bd2a538}.menu-button.primary:hover{background:linear-gradient(110deg,#a0ffe0,#42dfb6)}.menu-button.versus{grid-column:span 2;min-height:clamp(54px,8.5vh,76px);border-color:#f0c963ad;color:#fff9df;background:linear-gradient(110deg,#6c3b17f5,#2d183aeb);box-shadow:0 14px 34px #bf7e293b,inset 0 1px #ffffff1f}.menu-button.versus:hover:not(:disabled),.menu-button.versus:focus-visible{border-color:var(--gold);background:linear-gradient(110deg,#91521bfa,#422258f5)}.menu-button.versus .button-icon{color:var(--gold);font-size:22px;opacity:1}.menu-button.versus small{color:#ffe29a;opacity:.92}.menu-button>span:not(.button-icon){font-weight:800;font-size:clamp(13px,1.05vw,17px);letter-spacing:.02em}.menu-button small{opacity:.62;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.button-icon{font-size:18px;opacity:.8}.menu-button.locked{grid-column:span 2;opacity:.5;cursor:default}.menu-button.compact{min-height:clamp(42px,6.5vh,58px)}.menu-footer{position:absolute;right:4vw;left:auto;bottom:3vh;margin:0;color:#f4f0df59;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.room-screen .panel-header{margin-bottom:2vh}.panel-header p{margin:5px 0 0;color:#f4f0df94;font-size:clamp(11px,.9vw,14px)}.room-grid{width:min(1180px,100%);min-height:0;flex:1;align-self:center;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,22px)}.room-card{position:relative;min-height:0;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:18px;background:#07110f;color:inherit;text-align:left;cursor:pointer;box-shadow:0 24px 55px #00000047;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.room-card:hover,.room-card:focus-visible{transform:translateY(-7px);border-color:#5dffd0b8;box-shadow:0 30px 70px #0000006b;outline:none}.room-image,.room-overlay{position:absolute;inset:0}.room-image{background-position:center 42%;background-size:cover;transition:transform .5s ease}.room-card:hover .room-image{transform:scale(1.045)}.room-overlay{background:linear-gradient(180deg,#030a0914 22%,#030a09f0 88%)}.room-content{position:absolute;z-index:1;inset:auto clamp(16px,2vw,28px) clamp(17px,2.3vw,32px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.room-content>strong{font-size:clamp(20px,2.2vw,36px);letter-spacing:-.04em}.room-content>span{min-height:3em;color:#f4f0dfab;font-size:clamp(10px,.86vw,13px);line-height:1.45}.room-content>b{color:var(--mint-bright);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.difficulty-badge{padding:5px 9px;border:1px solid currentColor;border-radius:999px;background:#030c0ab8;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.difficulty-easy{color:#85f4c6}.difficulty-medium{color:#f0ca66}.difficulty-hard{color:#ff7c86}.panel-screen{flex-direction:column;padding:max(4vh,env(safe-area-inset-top)) max(6vw,env(safe-area-inset-right)) max(4vh,env(safe-area-inset-bottom)) max(6vw,env(safe-area-inset-left));background:linear-gradient(90deg,#050c0bf0,#050c0bb3 55%,#050c0b80);backdrop-filter:blur(10px)}.panel-header{display:flex;align-items:center;gap:22px;margin-bottom:3vh}.panel-header h2{margin:4px 0 0;font-size:clamp(26px,3.4vw,52px);letter-spacing:-.04em}.icon-button{width:clamp(36px,3.4vw,50px);height:clamp(36px,3.4vw,50px);padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#06120fb3;cursor:pointer;backdrop-filter:blur(10px)}.icon-button:hover{border-color:var(--mint);color:var(--mint)}.mode-layout{display:grid;grid-template-columns:1fr minmax(190px,22vw);gap:2vw;min-height:0;flex:1}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.2vw,16px);align-content:start}.mode-card{min-height:clamp(72px,11.5vh,98px);display:grid;grid-template-columns:clamp(64px,6.8vw,96px) 1fr 24px;align-items:center;gap:16px;padding:clamp(10px,1.25vw,17px);text-align:left;border:1px solid var(--line);border-radius:14px;background:linear-gradient(120deg,#152a24eb,#07110fe0);cursor:pointer;transition:transform .2s,border-color .2s}.mode-card:hover{transform:translateY(-3px);border-color:#43e2b6a6}.mode-card.featured{background:linear-gradient(120deg,#205444f5,#0d2a22e6)}.mode-icon{color:var(--gold);font-size:clamp(24px,3vw,44px);font-weight:900}.mode-copy{display:flex;flex-direction:column;gap:7px}.mode-copy strong{font-size:clamp(14px,1.35vw,21px)}.mode-copy small{color:#f4f0df8c;font-size:clamp(9px,.8vw,12px);line-height:1.4}.mode-copy em{color:var(--mint);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.mode-arrow{color:var(--mint);font-size:22px}.rules-layout{width:min(1120px,100%);display:grid;grid-template-columns:1fr minmax(240px,27vw);gap:clamp(14px,2.5vw,34px);min-height:0}.rules-screen{align-items:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y}.rules-screen .rules-layout{flex:0 0 auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}.rules-card,.rules-start-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,#10241ef0,#050f0de6);box-shadow:0 24px 60px #00000047}.rules-card{position:relative;padding:clamp(18px,2.5vw,34px);overflow:hidden}.rules-icon{position:absolute;right:24px;top:14px;color:#eac65b29;font-size:clamp(70px,11vw,150px);font-weight:950;line-height:1}.rules-card ol{position:relative;margin:0;padding-left:1.5rem;display:grid;gap:clamp(12px,2vh,22px)}.rules-card li{padding-left:8px;color:#f4f0dfd1;font-size:clamp(13px,1.15vw,17px);line-height:1.55}.rules-card li::marker{color:var(--mint);font-weight:900}.flow-card{position:relative;margin-top:clamp(18px,3vh,32px);padding:16px 18px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:#e4c35c14}.flow-card small,.x01-choice-group>small{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.flow-card p{margin:7px 0 0;line-height:1.5}.rules-start-card{padding:clamp(16px,2vw,26px);display:flex;flex-direction:column;gap:10px}.rules-start-card h3{margin:2px 0 0}.rules-start-card>strong{align-self:flex-start;color:var(--mint);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.rules-start-card .cta{margin-top:auto}.x01-choice{display:none;margin-top:8px}.x01-choice.visible{display:grid;gap:12px}.x01-choice-group>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.x01-choice-group>.x01-set-options{grid-template-columns:repeat(2,1fr)}.x01-choice button{min-width:0;padding:9px 6px;border:1px solid var(--line);border-radius:8px;background:#040e0cd9;cursor:pointer}.x01-choice button.active{color:#052018;background:var(--mint);border-color:var(--mint);font-weight:900}.scorecard-note{padding-top:8px;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.12em;text-align:right;text-transform:uppercase}.difficulty-card{align-self:start;padding:24px;border:1px solid var(--line);border-radius:14px;background:#07120fd1}.difficulty-card h3{margin:5px 0 18px}.room-summary{display:flex;flex-direction:column;gap:10px}.room-summary-image{width:100%;aspect-ratio:16 / 9;margin-top:4px;border:1px solid var(--line);border-radius:10px;background-position:center;background-size:cover;box-shadow:inset 0 -35px 45px #00000047}.room-summary h3{margin:2px 0 0;font-size:clamp(18px,1.8vw,28px)}.room-summary>strong{align-self:flex-start;padding:5px 9px;border:1px solid rgba(67,226,182,.45);border-radius:999px;color:var(--mint-bright);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.room-summary .text-button{margin-top:5px;align-self:flex-start}.difficulty-options{display:grid;gap:7px}.difficulty-options input{position:absolute;opacity:0}.difficulty-options span{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:8px;color:#f4f0dfa6;cursor:pointer}.difficulty-options input:checked+span{color:#061b15;background:var(--mint);border-color:var(--mint);font-weight:800}.stats-grid{width:min(900px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats-grid article{min-height:130px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:14px;background:#0b1b17d1}.stats-grid small,.result-summary small{color:#f4f0df7a;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.stats-grid strong{color:var(--mint);font-size:clamp(30px,4vw,58px)}.settings-list{width:min(720px,100%);display:grid;gap:10px}.setting-row{width:100%;min-height:74px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;background:#0b1b17d1;text-align:left;cursor:pointer}.setting-row>span:first-child{display:flex;flex-direction:column;gap:5px}.setting-row small{color:var(--mint);font-size:9px;letter-spacing:.15em}.setting-row.danger{color:#ff9d9d}.game-screen{pointer-events:none;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.photo-arm{--arm-motion-duration: .2s;position:absolute;z-index:1;right:clamp(-95px,-5vw,-28px);bottom:clamp(-125px,-9vh,-55px);width:min(68vh,48vw);aspect-ratio:1;pointer-events:none;filter:drop-shadow(-18px 24px 30px rgba(0,0,0,.48));transform-origin:86% 88%;transition:transform var(--arm-motion-duration) cubic-bezier(.33,1,.68,1),opacity var(--arm-motion-duration) ease;transform-origin:88% 94%}.photo-arm[data-pose=draw]{--arm-motion-duration: .32s;transform:translate(2.5%,-1.5%) rotate(6deg)}.photo-arm[data-pose=forward]{--arm-motion-duration: .135s;transform:translate(-3.5%,-2%) rotate(-3.5deg)}.photo-arm[data-pose=followthrough]{--arm-motion-duration: .22s;transform:translate(-2%,-1%) rotate(-2deg)}.dart-grip-anchor{position:absolute;z-index:2;left:33.5%;top:24%;width:1px;height:1px;pointer-events:none;transition:left var(--arm-motion-duration) cubic-bezier(.33,1,.68,1),top var(--arm-motion-duration) cubic-bezier(.33,1,.68,1)}.photo-arm[data-pose=draw] .dart-grip-anchor{left:33%;top:16%}.photo-arm[data-pose=forward] .dart-grip-anchor,.photo-arm[data-pose=followthrough] .dart-grip-anchor{left:32%;top:24%}.photo-arm img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .1s ease-in-out}.photo-arm img.active{opacity:1}.game-screen button,.pause-overlay{pointer-events:auto}.hud-top{position:relative;z-index:4;display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) minmax(180px,1fr) auto;align-items:start;gap:10px}.player-card,.round-card{min-height:clamp(56px,9vh,82px);padding:10px clamp(12px,1.4vw,20px);border:1px solid var(--line);border-radius:12px;background:#050e0cbd;backdrop-filter:blur(15px)}.player-card{position:relative;display:flex;align-items:center;gap:12px;opacity:.58;transition:opacity .25s,border-color .25s}.player-card.opponent{justify-content:flex-end;text-align:right}.player-card.active{opacity:1;border-color:#43e2b68c}.player-turn-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#52625d;box-shadow:none}.player-card.active .player-turn-dot{background:var(--mint);box-shadow:0 0 15px var(--mint)}.player-card small,.round-card small{display:block;color:#f4f0df8c;font-size:clamp(8px,.75vw,11px);text-transform:uppercase;letter-spacing:.13em}.player-card strong{display:block;margin-top:1px;font-size:clamp(22px,2.4vw,38px);line-height:1}.dart-slots{display:flex;gap:4px;margin-left:auto}.opponent .dart-slots{order:-1;margin:0 auto 0 0}.dart-slots i{display:block;width:4px;height:19px;border:1px solid rgba(244,240,223,.35);border-radius:3px;transform:rotate(14deg)}.dart-slots i.used{background:var(--gold);border-color:var(--gold)}.round-card{text-align:center}.round-card strong{display:block;color:var(--mint);font-size:clamp(11px,1vw,15px);margin-top:6px;text-transform:uppercase;letter-spacing:.08em}.round-card span{color:var(--gold);font-size:13px;font-weight:800}.hud-actions{display:flex;gap:7px}.checkout-pill{position:relative;z-index:4;align-self:center;margin-top:10px;padding:7px 15px;border:1px solid rgba(237,200,95,.35);border-radius:30px;color:var(--gold);background:#1e1808b8;font-size:11px;font-weight:800;letter-spacing:.08em;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s}.checkout-pill.visible{opacity:1;transform:none}.mode-scorecard{position:absolute;left:18px;top:25%;z-index:4;width:clamp(176px,15vw,226px);padding:12px;display:none;border:1px solid rgba(67,226,182,.24);border-radius:12px;color:#f4f0dfd1;background:linear-gradient(145deg,#05100de8,#030a09c9);box-shadow:0 18px 45px #0000004d;backdrop-filter:blur(14px)}.mode-scorecard.visible{display:block}.mode-scorecard header{padding:0 3px 8px;border-bottom:1px solid var(--line)}.mode-scorecard header>small{display:block;overflow:hidden;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.mode-scorecard header>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:7px 0 0 42%;color:#f4f0df6b;font-size:7px;font-weight:800;text-align:center;text-transform:uppercase}.scorecard-row{min-height:27px;display:grid;grid-template-columns:42% 1fr 1fr;align-items:center;border-bottom:1px solid rgba(222,255,243,.08);text-align:center}.scorecard-row:last-child{border-bottom:0}.scorecard-row b{color:#f4f0dfb8;font-size:10px;letter-spacing:.05em;text-align:left}.scorecard-row span{color:#fff;font-size:12px;font-weight:900}.cricket-table .scorecard-row span{color:var(--mint-bright);font-size:17px;line-height:1}.cricket-table .scorecard-row:last-child span{color:var(--gold);font-size:12px}.scorecard-note{padding-top:9px;color:var(--mint);font-size:9px;font-weight:800;letter-spacing:.1em;text-align:center;text-transform:uppercase}.target-route,.bobs-route{display:grid;gap:4px;margin-top:10px}.target-route{grid-template-columns:repeat(4,1fr)}.bobs-route{grid-template-columns:repeat(5,1fr)}.target-route span,.bobs-route span{min-height:24px;display:grid;place-items:center;border:1px solid rgba(222,255,243,.11);border-radius:5px;color:#f4f0df6b;font-size:8px;font-weight:800}.target-route span.done,.bobs-route span.done{color:#43e2b68c;background:#43e2b614}.target-route span.active,.bobs-route span.active{color:#062019;background:var(--mint);border-color:var(--mint);box-shadow:0 0 14px #43e2b647}.solo-score{padding:14px 4px 4px;display:grid;text-align:center}.solo-score small{color:#f4f0df7a;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.solo-score strong{color:var(--mint-bright);font-size:34px}.solo-score span{color:var(--gold);font-size:9px;font-weight:800;text-transform:uppercase}.solo-score.compact{padding-block:8px 0}.solo-score.compact strong{font-size:25px}.throw-history{position:absolute;left:clamp(205px,17vw,255px);top:50%;display:grid;gap:7px}.throw-history span{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#050e0cc7;font-weight:900}.throw-history .zone-triple,.throw-history .zone-bull{color:var(--mint);border-color:#43e2b680}.throw-history .zone-double,.throw-history .zone-outerBull{color:var(--gold)}.training-readout{position:absolute;left:18px;bottom:18px;display:flex;gap:8px;opacity:0;transform:translateY(8px);transition:.2s}.training-readout.visible{opacity:1;transform:none}.training-readout span{padding:8px 10px;display:grid;gap:3px;border:1px solid var(--line);border-radius:8px;background:#050e0cc7;font-size:8px;color:#f4f0df80;text-transform:uppercase}.training-readout strong{color:#fff;font-size:11px}.floating-score{position:absolute;left:63%;top:36%;text-align:center;opacity:0;transform:translateY(30px) scale(.8);text-shadow:0 5px 25px #000}.floating-score.show{animation:score-pop 1.35s ease both}.floating-score small{display:block;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.18em}.floating-score strong{display:block;font-size:clamp(50px,7vw,100px);line-height:.9;font-style:italic}.impact-flash{position:absolute;z-index:3;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0}.impact-flash span{position:absolute;width:min(45vw,560px);aspect-ratio:1;border:5px solid rgba(237,200,95,.9);border-radius:50%;background:radial-gradient(circle,rgba(255,249,208,.48),transparent 58%);box-shadow:0 0 35px #edc85fbf,inset 0 0 45px #43e2b673}.impact-flash strong{margin-top:-7vh;color:#fff4bd;font-size:clamp(38px,7vw,108px);font-style:italic;letter-spacing:.04em;text-shadow:0 4px 0 #513711,0 0 24px #edc85f,0 12px 35px #000}.impact-flash.show{animation:impact-flash .82s ease-out both}.impact-flash.show span{animation:impact-ring .72s ease-out both}.impact-shake .canvas-host{animation:impact-camera-shake .44s cubic-bezier(.22,.75,.3,1)}.impact-shake .photo-arm{animation:impact-arm-kick .44s cubic-bezier(.22,.75,.3,1)}@keyframes score-pop{0%{opacity:0;transform:translateY(30px) scale(.72)}20%,70%{opacity:1;transform:none}to{opacity:0;transform:translateY(-35px) scale(1.08)}}@keyframes impact-flash{0%{opacity:0;transform:scale(.72)}12%,48%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes impact-ring{0%{transform:scale(.3)}to{transform:scale(1.55);opacity:0}}@keyframes impact-camera-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px,4px) scale(1.012)}42%{transform:translate(7px,-3px) scale(1.01)}64%{transform:translate(-4px,2px) scale(1.006)}82%{transform:translate(3px,-1px)}}@keyframes impact-arm-kick{0%,to{filter:drop-shadow(-18px 24px 30px rgba(0,0,0,.48))}25%{filter:brightness(1.3) drop-shadow(-24px 20px 34px rgba(237,200,95,.5))}}.throw-controls{position:relative;z-index:5;margin-top:auto;align-self:center;width:min(620px,56vw);display:grid;gap:8px}.power-wrap{padding:10px 15px 8px;border:1px solid var(--line);border-radius:12px;background:#050e0cc7;backdrop-filter:blur(15px);opacity:.42;transition:opacity .2s,border-color .2s}.power-wrap.active{opacity:1;border-color:#43e2b666}.power-label,.power-scale{display:flex;justify-content:space-between;align-items:center}.power-label span{font-size:9px;font-weight:900;letter-spacing:.16em}.power-label strong{color:var(--mint);font-size:13px}.power-track{position:relative;height:10px;margin-top:7px;border-radius:10px;background:linear-gradient(90deg,#c3484f,#dfb64f 32%,#2ed0a4 47% 57%,#dfb64f 68%,#c3484f);box-shadow:inset 0 2px 3px #0000004d}.power-optimal{position:absolute;left:47%;width:10%;inset-block:-3px;border:1px solid rgba(255,255,255,.8);border-radius:5px}.power-marker{position:absolute;top:-6px;left:52%;width:4px;height:22px;margin-left:-2px;border-radius:3px;background:#fff;box-shadow:0 0 10px #fff}.power-scale{margin-top:5px;color:#f4f0df61;font-size:8px}.power-scale small{color:#43e2b6b8;text-transform:uppercase;letter-spacing:.1em}.throw-prompt{min-height:clamp(50px,8vh,66px);display:grid;grid-template-columns:20px 1fr;grid-template-rows:1fr 1fr;align-items:end;column-gap:9px;padding:8px 20px;border:0;border-radius:12px;color:#041611;background:linear-gradient(100deg,#87f7d5,#38d6ac);text-align:left;cursor:pointer;box-shadow:0 12px 30px #18b88c33}.throw-prompt:disabled{filter:saturate(.2);opacity:.65}.throw-prompt strong{align-self:end;font-size:clamp(12px,1.15vw,17px);letter-spacing:.12em}.throw-prompt small{align-self:start;font-size:9px;opacity:.55}.prompt-pulse{grid-row:span 2;width:10px;height:10px;align-self:center;border-radius:50%;background:#071d17;box-shadow:0 0 #061d1759;animation:pulse 1.5s infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px #061d1700}}.pause-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#020807a3;backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .2s}.pause-overlay.visible{opacity:1;visibility:visible}.modal-card,.result-card{width:min(390px,80vw);padding:35px;text-align:center;border:1px solid var(--line);border-radius:18px;background:#071410f0;box-shadow:0 25px 80px #00000080}.modal-card h2{font-size:38px;margin:10px 0 24px}.cta,.text-button{width:100%;min-height:48px;border-radius:9px;cursor:pointer}.cta{border:0;color:#061913;background:var(--mint);font-weight:900}.text-button{margin-top:8px;border:1px solid var(--line);background:transparent}.result-screen{align-items:center;justify-content:center;background:radial-gradient(circle,#1e785c61,#020907db);backdrop-filter:blur(7px)}.result-rays{position:absolute;width:90vmax;height:90vmax;background:repeating-conic-gradient(from 0deg,rgba(67,226,182,.035) 0 6deg,transparent 6deg 14deg);animation:rays 28s linear infinite}@keyframes rays{to{transform:rotate(1turn)}}.result-card{position:relative}.result-card h2{margin:9px 0 0;font-size:clamp(40px,6vw,72px);color:var(--mint);font-style:italic;letter-spacing:-.05em}.result-score{display:block;margin:10px 0 20px;color:var(--gold);font-size:26px}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:22px}.result-summary span{padding:10px 5px;display:grid;gap:4px;border:1px solid var(--line);border-radius:8px}.result-summary strong{font-size:17px}.rotate-overlay{display:none}@media(max-width:900px){.menu-screen{padding-inline:4vw}.brand-block{width:43%}.main-nav{width:min(50vw,440px);padding:12px}.tagline,.menu-footer{display:none}.mode-card{min-height:72px;padding:11px;gap:8px}.mode-copy small{display:none}.difficulty-card{padding:15px}.difficulty-options span{padding:8px;font-size:11px}.room-grid{gap:9px}.room-content{inset-inline:13px;bottom:15px}.room-content>span{display:none}.hud-top{grid-template-columns:1fr .72fr 1fr auto}.player-card{min-width:0;padding:8px}.dart-slots{display:none}.throw-controls{width:min(500px,62vw)}.photo-arm{right:-7vw;bottom:-13vh;width:min(72vh,52vw);opacity:.92}.training-readout{display:none}.mode-scorecard{top:28%;width:166px;padding:9px}.throw-history{left:190px}}@media(max-height:800px){.panel-screen:not(.room-screen):not(.rules-screen) .panel-header{margin-bottom:1.5vh}.mode-card{min-height:72px;padding-block:8px}.mode-copy{gap:4px}.mode-copy small{display:none}.rules-screen{padding-block:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-bottom))}.rules-screen .panel-header{margin-bottom:10px}.rules-screen .panel-header h2{font-size:clamp(24px,3vw,38px)}.rules-card{padding:16px 20px}.rules-card ol{gap:8px}.rules-card li{line-height:1.4}.flow-card{margin-top:12px;padding:11px 14px}.rules-start-card{gap:7px;padding:14px}.rules-start-card .room-summary-image{aspect-ratio:2.35 / 1}.x01-choice{margin-top:2px}.x01-choice.visible{gap:8px}.x01-choice-group>div{margin-top:5px}.x01-choice button{padding-block:7px}}@media(max-height:540px){.brand-subtitle{margin-top:.8rem}.main-nav{gap:6px}.menu-button{min-height:44px}.menu-button.primary{min-height:55px}.main-nav{padding:10px}.panel-screen{padding-block:3vh}.panel-header{margin-bottom:2vh}.room-content{gap:5px;bottom:12px}.room-content>span{display:none}.power-wrap{padding-block:6px}.throw-controls{gap:5px}}@media(orientation:portrait)and (max-width:700px){.rotate-overlay{position:absolute;inset:0;z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;background:#07110f}.rotate-overlay span{max-width:270px;color:#f4f0df8c;font-size:13px}.rotate-phone{color:var(--mint);font-size:56px;transform:rotate(90deg)}}.online-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(250px,.8fr);gap:20px;width:min(760px,100%);margin:0 auto}.player-selector{display:grid;grid-template-columns:48px minmax(240px,320px) 48px;align-items:center;gap:12px}.player-selector-menu{position:absolute;z-index:3;left:clamp(20px,5vw,92px);bottom:clamp(44px,7vh,92px);padding:10px 14px;border:1px solid rgba(117,244,203,.42);border-radius:20px;background:linear-gradient(115deg,#03100de6,#0d2e25cc);box-shadow:0 18px 42px #0000006b,inset 0 1px #ffffff17;backdrop-filter:blur(14px)}.player-profile{display:grid;grid-template-columns:92px 1fr;grid-template-rows:auto auto;column-gap:13px;align-items:center}.player-profile img{grid-row:span 2;width:92px;height:92px;object-fit:cover;border:3px solid var(--mint);border-radius:14px;box-shadow:0 0 25px #5be8b980}.player-profile strong{color:var(--cream);font-size:clamp(17px,1.45vw,23px);line-height:1.05;text-shadow:0 2px 10px #000}.player-profile small{color:var(--mint);font-size:10px;font-weight:900;letter-spacing:.2em}.player-selector .icon-button{width:46px;height:46px;padding:0;font-size:23px;border-color:#75f4cb6b}.player-selector-online{grid-template-columns:40px minmax(190px,1fr) 40px;margin-bottom:2px}.player-selector-online .player-profile{grid-template-columns:70px 1fr}.player-selector-online .player-profile img{width:70px;height:70px}.player-selector-online .icon-button{width:38px;height:38px;font-size:18px}.online-card{display:grid;align-content:start;gap:14px;padding:24px;border:1px solid rgba(105,237,195,.35);border-radius:18px;background:#05100dd6;box-shadow:0 18px 50px #0000004d}.online-card label{display:grid;gap:6px;color:var(--cream);font-size:13px;font-weight:700}.online-card input,.online-card select{min-height:42px;padding:0 12px;color:var(--cream);border:1px solid rgba(255,255,255,.2);border-radius:9px;background:#0000004d;font:inherit}.online-card select option{color:#111}#online-host-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.online-join{display:grid;gap:9px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.online-join>span{color:#ffffff94;text-align:center;font-size:12px}.online-status{min-height:22px;margin:0;color:var(--mint);font-size:13px}.online-room-card{border-color:#f0cb669e;background:linear-gradient(145deg,#211c0cf0,#05130fe0)}.room-code-display{display:grid;gap:6px;padding:17px 18px;border:1px solid rgba(246,211,112,.54);border-radius:14px;background:#0000004d;text-align:center;box-shadow:inset 0 0 26px #e4b43c14}.room-code-display>span{color:var(--mint);font-size:10px;font-weight:900;letter-spacing:.24em}.online-room-card strong{color:var(--gold);font-size:clamp(42px,7vw,64px);letter-spacing:.16em;line-height:1;text-shadow:0 3px 16px rgba(239,189,63,.36)}.online-room-card p{color:#ffffffc2;line-height:1.55}.online-room-card .room-link-hint{margin:-2px 0 0;color:#ffffff8f;font-size:12px}.room-link-button{border:1px solid rgba(255,255,255,.34);background:linear-gradient(110deg,#e9c766,#af7d26);color:#1b1304}@media(max-width:720px){.online-layout{grid-template-columns:1fr}}@media(max-width:1500px),(max-height:800px){.main-nav{left:68%;top:48%;width:min(39vw,450px);padding:10px;gap:8px}.player-selector-menu{left:18px;bottom:18px;padding:9px 11px;grid-template-columns:40px minmax(200px,260px) 40px;gap:9px;border-radius:16px}.player-selector-menu .player-profile{grid-template-columns:72px 1fr;column-gap:10px}.player-selector-menu .player-profile img{width:72px;height:72px;border-radius:12px}.player-selector-menu .player-profile strong{font-size:17px}.player-selector-menu .icon-button{width:40px;height:40px;font-size:20px}.menu-footer{display:none}}@media(max-width:700px),(max-height:620px){.player-selector-menu{transform:scale(.8);transform-origin:left bottom}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.leaderboard-screen{overflow:auto}.leaderboard-status{width:min(1120px,100%);margin:0 auto 18px;color:var(--mint);font-size:13px;letter-spacing:.05em}.leaderboard-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px;width:min(1120px,100%);margin:0 auto}.leaderboard-card{min-height:230px;padding:20px;border:1px solid rgba(117,244,203,.28);border-radius:18px;background:linear-gradient(145deg,#081c17ed,#020c0af0);box-shadow:inset 0 1px #ffffff0f,0 18px 42px #00000038}.leaderboard-card>small{color:#f4f0df8f;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.leaderboard-card h3{margin:5px 0 13px;color:var(--cream);font-size:21px}.leaderboard-winner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:82px;padding:12px 15px;border:1px solid rgba(239,203,102,.55);border-radius:13px;background:linear-gradient(110deg,#7c590f6b,#173c2b85)}.leaderboard-winner span{color:var(--gold);font-size:27px;font-weight:950;letter-spacing:-.04em}.leaderboard-winner strong{overflow:hidden;color:var(--cream);font-size:24px;text-overflow:ellipsis;white-space:nowrap}.leaderboard-winner b{color:var(--gold);font-size:18px;white-space:nowrap}.leaderboard-rows{display:grid;gap:0;margin:10px 0 0;padding:0;list-style:none}.leaderboard-rows li{display:flex;justify-content:space-between;gap:12px;padding:7px 3px;border-bottom:1px solid rgba(255,255,255,.08);color:#f4f0dfc7;font-size:13px}.leaderboard-rows strong{color:var(--mint);white-space:nowrap}.leaderboard-empty{margin:20px 0;color:#f4f0df94}.leaderboard-submit{display:grid;gap:8px;margin:17px 0 5px;padding:14px;border:1px solid rgba(239,203,102,.44);border-radius:13px;background:#15281cc2;text-align:left}.leaderboard-submit strong{color:var(--gold)}.leaderboard-submit small,.leaderboard-submit label{color:#f4f0dfb8;font-size:12px}.leaderboard-submit label{display:grid;gap:5px}.leaderboard-submit input{min-height:36px;padding:0 10px;color:var(--cream);border:1px solid rgba(255,255,255,.24);border-radius:8px;background:#00000038;font:inherit}.leaderboard-submit .text-button{justify-self:start}.leaderboard-submit-status{min-height:16px;color:var(--mint);font-size:12px}@media(max-width:720px),(max-height:620px){.leaderboard-grid{grid-template-columns:1fr}.leaderboard-card{min-height:0;padding:15px}.leaderboard-winner strong{font-size:20px}}
