@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,700;0,800;1,800&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f7f8;background:#050b10;font-synthesis:none}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-height:100%;background:#050b10;overflow:hidden}button,input{font:inherit}button{color:inherit}.app-shell{height:100dvh;min-height:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at top,#16222c,#050b10 45%)}.screen{width:min(100%,430px);height:100dvh;min-height:0;position:relative;background:linear-gradient(180deg,#0c141b,#071017 70%,#050b10);overflow:hidden}.home-screen{background:#071017}.home-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0;filter:saturate(1.05) contrast(1.05)}.home-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,#03080c08,#03080c1a 45%,#03080c7a 74%,#03080cb8);pointer-events:none}.home-content{position:relative;z-index:1;height:100%;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 22px calc(54px + env(safe-area-inset-bottom))}.brand-row{margin-bottom:42px;display:flex;align-items:center;gap:16px}.brand-mark{width:54px;height:54px;border:8px solid #ff3b30;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 30px #ff3b302e}.brand-mark span{width:16px;height:16px;border-radius:50%;background:#111b23}.brand-row h1{margin:0;font-family:Montserrat,sans-serif;font-size:54px;font-style:normal;font-weight:800;line-height:.9;letter-spacing:-2px;text-shadow:0 2px 10px rgba(0,0,0,.55)}.brand-row p{margin:12px 0 0;font-family:"Source Sans 3",sans-serif;font-size:20px;font-weight:500;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.75)}.home-actions{display:grid;gap:14px}.primary-card,.dark-card{min-height:104px;border-radius:22px;padding:0 20px;display:grid;grid-template-columns:48px 1fr 28px;align-items:center;text-align:left;border:1px solid #2d3b46;background:#0b141beb}.primary-card{background:linear-gradient(135deg,#145b31,#2aa856);border-color:#39e678;box-shadow:0 12px 32px #00000040}.primary-card strong,.dark-card strong{display:block;font-size:22px}.primary-card small,.dark-card small{display:block;color:#c7d0d6;font-size:15px;margin-top:4px}.icon{font-size:30px}.chevron{font-size:38px;color:#d8e1e5}.topbar,.game-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:20px 18px 10px}.topbar h2,.game-header h2{margin:0;text-align:center;font-size:24px}.game-header div{text-align:center}.game-header p{margin:4px 0 0;color:#b8c2c8;font-size:13px}.back,.settings-mini{background:none;border:0;font-size:36px;padding:0}.settings-mini{font-size:22px}.topbar-spacer{width:44px}.content-scroll{padding:12px 20px 120px;overflow:auto;max-height:calc(100vh - 78px)}h3{font-size:20px;margin:24px 0 12px}.segmented{display:grid;gap:10px}.segmented.four{grid-template-columns:repeat(4,1fr)}.segmented button{padding:16px 4px;border-radius:14px;border:1px solid #26333c;background:#151f26;font-size:18px}.segmented button.active{background:linear-gradient(180deg,#1d9c4e,#16743d);border-color:#41e57d}.segmented button:disabled{opacity:.45}.player-card{height:70px;border:1px solid #26333c;background:#121b22;border-radius:16px;display:flex;align-items:center;gap:14px;padding:0 16px;margin-bottom:10px}.player-index{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#2a353d}.player-card input{flex:1;background:transparent;border:0;outline:0;color:#fff;font-size:19px}.outline-button{width:100%;padding:14px;border-radius:14px;border:1px solid #34434e;background:transparent;color:#42df78}.options-card{border:1px solid #26333c;background:#121b22;border-radius:16px;overflow:hidden}.option-row{min-height:68px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #23303a}.option-row:last-child{border-bottom:0}.switch{width:58px;height:34px;border-radius:999px;border:0;background:#334049;padding:3px}.switch span{display:block;width:28px;height:28px;border-radius:50%;background:#fff;transition:.2s}.switch.on{background:#23bf5f}.switch.on span{transform:translate(24px)}.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:40px;height:40px;border:0;border-radius:10px;background:#26343e;font-size:22px}.bottom-cta{position:absolute;left:0;right:0;bottom:0;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,#071017 28%)}.primary-button,.secondary-button{border:0;border-radius:16px;padding:16px 20px;font-size:18px;font-weight:700}.primary-button{background:linear-gradient(135deg,#35d86d,#26b95b);color:#04130a}.secondary-button{background:#1b2730;border:1px solid #30404b}.bottom-cta .primary-button{width:100%}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px}.score-card{border:1px solid #26333c;border-radius:16px;padding:14px;text-align:center;background:#111920}.score-card.active{border-color:#34dd72;background:linear-gradient(180deg,#0c3b22,#10221a)}.player-label{font-size:16px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34dd72;margin-right:6px}.score{font-size:52px;font-weight:800;line-height:1.1;margin:10px 0 2px}.legs{color:#b6c0c6}.dartboard-shell{display:grid;place-items:center;padding:6px 18px 12px}.dartboard{width:min(78vw,320px);aspect-ratio:1;border-radius:50%;position:relative;background:repeating-conic-gradient(#e8dfcc,#e8dfcc 9deg,#111 9deg,#111 18deg);border:14px solid #111;box-shadow:0 12px 28px #0000006b,inset 0 0 0 2px #69747c}.ring,.bull{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.ring-outer{width:82%;height:82%;background:conic-gradient(#d62420 0,#d62420 18deg,#138445 18deg,#138445 36deg,#d62420 36deg,#d62420 54deg,#138445 54deg,#138445 72deg,#d62420 72deg,#d62420 90deg,#138445 90deg,#138445 108deg,#d62420 108deg,#d62420 126deg,#138445 126deg,#138445 144deg,#d62420 144deg,#d62420 162deg,#138445 162deg,#138445 180deg,#d62420 180deg,#d62420 198deg,#138445 198deg,#138445 216deg,#d62420 216deg,#d62420 234deg,#138445 234deg,#138445 252deg,#d62420 252deg,#d62420 270deg,#138445 270deg,#138445 288deg,#d62420 288deg,#d62420 306deg,#138445 306deg,#138445 324deg,#d62420 324deg,#d62420 342deg,#138445 342deg,#138445 360deg);mask:radial-gradient(circle,transparent 61%,#000 62% 72%,transparent 73%)}.ring-triple{width:54%;height:54%;background:inherit;mask:radial-gradient(circle,transparent 62%,#000 63% 78%,transparent 79%)}.ring-inner{width:20%;height:20%;border:1px solid #999}.bull-outer{width:42px;height:42px;background:#148d49}.bull-inner{width:20px;height:20px;background:#d72d27;border:2px solid #111}.turn-panel{margin:0 16px 18px;border:1px solid #26333c;background:#101820;border-radius:18px;padding:14px}.turn-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.turn-title span{color:#c0cad0}.dart-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dart-slot{min-height:64px;display:grid;place-items:center;background:#1b252d;border:1px solid #303e48;border-radius:12px;font-size:20px;font-weight:700}.quick-throws{display:flex;gap:6px;overflow-x:auto;padding:12px 0 4px}.quick-throws button{flex:0 0 auto;padding:9px 10px;border:0;border-radius:10px;background:#1d2830}.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.handsfree-note{font-size:12px;color:#83919a;text-align:center;margin:12px 0 0}@media (min-width:700px){.screen{min-height:900px;border-radius:30px;margin:24px;box-shadow:0 24px 70px #00000073}}@media (max-height:760px){.home-content{padding-top:16px}.brand-block{margin-bottom:12px}.brand-title{font-size:58px}.brand-subtitle{font-size:20px}.home-actions{gap:10px}.menu-card{min-height:104px}}.checkout-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid rgba(91,222,126,.35);border-radius:14px;background:#197a3d29}.checkout-suggestion span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#91e3a7}.checkout-suggestion strong{font-size:18px;letter-spacing:.02em;color:#f5f7f8}.camera-panel{margin:10px 16px;border:1px solid #2b3943;border-radius:16px;overflow:hidden;background:#0b1319}.camera-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 12px}.camera-toolbar button{border:0;border-radius:10px;background:#1f2c35;padding:8px 12px}.camera-view{position:relative;aspect-ratio:16/9;background:#020405}.camera-view video{width:100%;height:100%;object-fit:cover;display:block}.camera-guide,.camera-ok{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:10px;background:#000000b8;font-size:13px}.camera-ok{color:#7df2a0}.camera-status{color:#91a0a9;font-size:12px;margin:4px 20px}.option-row select,.correction-row select,.correction-row input{background:#1b2730;color:#fff;border:1px solid #34434e;border-radius:10px;padding:9px}.correction-row{display:grid;grid-template-columns:1fr 70px 1.3fr;gap:8px;margin-top:12px}.correction-row input{width:100%}.celebrate-180:after{content:"180!";position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;font-size:110px;font-weight:900;color:#fff;background:radial-gradient(circle,#21dc68b8,#050b10e6);animation:pop180 1.8s ease both;pointer-events:none}@keyframes pop180{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1.15)}}.camera-hit{position:absolute;transform:translate(-50%,-50%);z-index:3;pointer-events:none}.camera-hit span{display:block;width:18px;height:18px;border:3px solid #58f58a;border-radius:50%;box-shadow:0 0 0 5px #58f58a2e}.camera-hit b{position:absolute;left:14px;top:-12px;white-space:nowrap;padding:3px 6px;border-radius:6px;background:#000c;font-size:11px}.settings-content{padding-bottom:40px}.account-card{border:1px solid #26333c;background:#121b22;border-radius:18px;padding:18px}.account-card.compact{padding:16px}.account-state{display:flex;align-items:center;gap:12px}.account-state strong{display:block;font-size:18px}.account-state small{display:block;color:#aebbc3;margin-top:4px}.account-dot{width:11px;height:11px;border-radius:50%;background:#66737b}.account-dot.signed{background:#35d86d;box-shadow:0 0 0 4px #35d86d1f}.account-card p{color:#c7d0d6;line-height:1.45}.account-label{display:grid;gap:7px;font-size:13px;color:#aebbc3}.account-label input{width:100%;border:1px solid #34434e;border-radius:12px;background:#0b1319;color:#fff;padding:13px 14px;font-size:16px;outline:none}.account-label input:focus{border-color:#35d86d}.account-button{width:100%;margin-top:12px}.account-help{font-size:12px!important;color:#8998a1!important}.account-message{padding:10px 12px;border-radius:10px;font-size:13px}.account-message.success{background:#35d86d1f;color:#94f0ae}.account-message.error{background:#ff4f4f1f;color:#ff9b9b}.guest-id{display:block;color:#70808a;overflow-wrap:anywhere}.home-login-status{position:absolute;z-index:2;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center;font-size:13px;color:#d5dde2;text-shadow:0 1px 3px rgba(0,0,0,.85);pointer-events:none}.home-login-status strong{color:#fff}@supports not (height:100dvh){.app-shell,.screen,.home-content{height:100vh}}@media (max-height:760px){.home-content{padding-top:10px;padding-bottom:calc(44px + env(safe-area-inset-bottom))}.brand-row{margin-bottom:18px}.brand-row h1{font-size:46px}.brand-row p{font-size:17px;margin-top:8px}.home-actions{gap:9px}.primary-card,.dark-card{min-height:88px;border-radius:18px}.primary-card strong,.dark-card strong{font-size:19px}.primary-card small,.dark-card small{font-size:13px}}.dev-login-button{border-style:dashed;border-color:#5d7280}.dev-note{padding:8px 10px;border-radius:10px;background:#52778f1f;color:#9fb5c2!important}.home-login-status span{color:#90a7b4;font-size:11px;font-weight:700;letter-spacing:.08em}.dark-card.disabled,.dark-card:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.55)}.dark-card:disabled .chevron{opacity:.35}.setup-with-bg{background:#071017}.setup-bg{position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;width:106%;height:106%;object-fit:cover;object-position:center;filter:blur(14px) brightness(.68) saturate(.96);transform:scale(1.03);z-index:0}.setup-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#04090d57,#04090d85 48%,#04090dad);z-index:0;pointer-events:none}.setup-layer{position:relative;z-index:1;height:100%;min-height:0}.setup-with-bg .topbar,.setup-with-bg .content-scroll,.setup-with-bg .bottom-cta{position:relative;z-index:1}.setup-with-bg .content-scroll{background:transparent}.setup-with-bg .bottom-cta{background:linear-gradient(180deg,transparent,rgba(7,16,23,.92) 28%)}.home-actions,.home-login-status{font-family:"Source Sans 3",sans-serif}.brand-highlight{display:inline-block;padding:14px 18px 13px;border-radius:20px;background:#04080c6b;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 28px #00000038,inset 0 0 0 1px #ffffff0d}.brand-highlight h1,.brand-highlight p{position:relative;z-index:1}@media (max-height:760px){.brand-highlight{padding:11px 14px 10px;border-radius:16px}}.brand-row h1{font-family:Montserrat,sans-serif;font-style:normal;font-weight:800;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.78),0 1px 2px rgba(0,0,0,.95)}.brand-row p{font-family:"Source Sans 3",sans-serif;font-weight:500;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.95)}.brand-copy{position:relative;display:inline-block;padding:10px 14px 12px;margin:-10px -14px -12px;isolation:isolate}.brand-copy .brand-mist{position:absolute;z-index:-1;left:-22%;right:-22%;top:-35%;bottom:-45%;background:radial-gradient(ellipse at center,rgba(0,0,0,.6) 0%,rgba(0,0,0,.46) 34%,rgba(0,0,0,.24) 58%,rgba(0,0,0,.08) 74%,transparent 88%);filter:blur(10px);pointer-events:none}.brand-copy h1,.brand-copy p{position:relative;z-index:1}.history-content{padding-top:20px}.history-content h3{margin-top:0}
