.chat{z-index:5;padding:76px var(--gutter) 20px;backdrop-filter:blur(6px);background:#05040799;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;display:grid;position:absolute;inset:0}.chat[hidden],.phone [hidden]{display:none!important}.phone{background:radial-gradient(70% 45% at 85% 12%, #ef9bdc4d, transparent 70%), radial-gradient(120% 60% at 10% 0%, color-mix(in srgb, var(--accent) 70%, transparent), transparent 62%), radial-gradient(90% 55% at 100% 100%, color-mix(in srgb, var(--accent) 45%, transparent), transparent 60%), radial-gradient(circle, #ffffff0f 1px, transparent 1.6px) 0 0 / 14px 14px, #0e0b14;width:min(100%,380px);height:min(100%,680px);box-shadow:0 0 0 10px #040306, 0 0 0 11.5px #4a4456, 0 0 0 13px #211d28, 0 0 0 13.5px #5c566a, 0 50px 100px -30px #000, 0 0 60px -10px color-mix(in srgb, var(--accent) 40%, transparent);animation:pick-up .5s var(--ease);border-radius:44px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative}.phone:before,.phone:after{content:"";pointer-events:none;background:linear-gradient(90deg,#2a2631,#5c566a);border-radius:2px;width:3.5px;position:absolute}.phone:before{height:44px;top:132px;left:-17px;box-shadow:0 58px #3f3a4a}.phone:after{background:linear-gradient(90deg,#5c566a,#2a2631);height:72px;top:170px;right:-17px}.phone:has(.view:not(.home):not([hidden])){background:var(--surface)}@keyframes pick-up{0%{opacity:0;translate:0 24px;scale:.97}}.chat-close{z-index:2;background:var(--surface-2);width:40px;height:40px;color:var(--fg);cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 14%, transparent), 0 10px 20px -8px #000;transition:transform .3s var(--ease);border:0;border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;top:-14px;right:-14px}.status-bar{font:600 15px/1 var(--sans);justify-content:space-between;align-items:center;padding:19px 30px 8px;display:flex;position:relative}.island{background:radial-gradient(circle at calc(100% - 15px),#2d2440 0 2.5px,#0c0a10 3.5px 5px,#000 5.5px);border-radius:20px;width:98px;height:29px;position:absolute;top:11px;left:50%;translate:-50%}.status-icons{align-items:center;gap:6px;font-size:12px;display:flex}.status-icons svg{fill:currentColor;height:12px}.signal{width:18px}.signal rect:not(:first-child),.wifi{opacity:.3}.battery{width:27px;height:13px!important}.battery .case{fill:none;stroke:currentColor;stroke-opacity:.45}.battery .nub{opacity:.45}.battery .charge{fill:#ff4d5e}@media (width<=400px){.status-bar{padding-inline:24px}.island{width:80px}.status-icons{gap:4px}}.view{flex-direction:column;grid-row:2;min-height:0;display:flex}.home{padding:6px 18px 0}.clock{text-align:center;font:500 68px/1 var(--paper);letter-spacing:-.04em;margin-top:22px}.clock span{font:500 14px/1 var(--sans);letter-spacing:0;color:color-mix(in srgb, var(--fg) 72%, transparent);margin-top:10px;display:block}.notice{text-align:left;cursor:pointer;color:var(--fg);font:400 14px/1.35 var(--sans);background:color-mix(in srgb, var(--fg) 12%, transparent);backdrop-filter:blur(16px)saturate(1.4);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 16%, transparent), 0 12px 30px -16px #000;animation:rise .7s var(--ease) .2s backwards;transition:transform .25s var(--ease);border:0;border-radius:22px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;margin-top:26px;padding:12px 14px;display:grid}.notice-body{gap:2px;min-width:0;display:grid}.notice-app{font:500 12px/1.2 var(--sans);color:color-mix(in srgb, var(--fg) 62%, transparent);justify-content:space-between;display:flex}.notice b{font-weight:700}.apps{background:color-mix(in srgb, var(--fg) 9%, transparent);backdrop-filter:blur(20px)saturate(1.4);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 12%, transparent);border-radius:30px;grid-template-columns:repeat(5,1fr);gap:4px;margin:auto -8px 8px;padding:14px 8px 12px;list-style:none;display:grid}.apps button{width:100%;color:var(--fg);font:500 11px/1 var(--sans);cursor:pointer;background:0 0;border:0;justify-items:center;gap:7px;padding:0;display:grid}.app-icon{width:52px;height:52px;transition:transform .3s var(--ease);border-radius:13px;flex:none;position:relative;box-shadow:0 8px 16px -8px #000c}.app-icon .art{clip-path:inset(0 round 13px);width:100%;height:100%;display:block}.app-icon:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff59,inset 0 0 0 .5px #ffffff24}.app-icon.mini{border-radius:10px;width:38px;height:38px}.app-icon.mini .art{clip-path:inset(0 round 10px)}.badge{z-index:1;min-width:20px;height:20px;font:700 11px/1 var(--sans);color:#1a1721;background:var(--accent-ink);border-radius:999px;place-items:center;padding:0 6px;display:grid;position:absolute;top:-5px;right:-5px}.bar{border-bottom:1px solid color-mix(in srgb, var(--fg) 8%, transparent);align-items:center;gap:10px;padding:6px 14px 12px;display:flex}.bar p{min-width:0;font:700 16px/1.1 var(--sans);flex:1;gap:4px;display:grid}.bar p span{font:400 12px/1 var(--mono);color:var(--muted)}.back{background:var(--surface-2);width:36px;height:36px;color:var(--fg);cursor:pointer;transition:transform .25s var(--ease);border:0;border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.avatar{border:1.5px dashed color-mix(in srgb, var(--fg) 35%, transparent);border-radius:50%;flex:none;width:44px;height:44px}.avatar.letter{font:700 14px/1 var(--sans);background:color-mix(in srgb, var(--accent) 40%, var(--surface-2));border:0;place-items:center;display:grid}.bar .avatar{width:36px;height:36px}.chats{padding:6px 8px;list-style:none;overflow-y:auto}.chats button{width:100%;color:var(--fg);text-align:left;cursor:pointer;transition:background-color .2s var(--ease);background:0 0;border:0;border-radius:16px;align-items:center;gap:12px;padding:10px;display:flex}.who{flex:1;gap:5px;min-width:0;display:grid}.who b{font:700 15px/1.1 var(--sans)}.who span{text-overflow:ellipsis;white-space:nowrap;font:400 13px/1.2 var(--sans);color:var(--muted);overflow:hidden}.when{font:400 12px/1 var(--mono);color:var(--muted);justify-items:end;gap:6px;display:grid}.when .badge{position:static}.no-reply{text-align:center;font:400 12px/1.4 var(--mono);color:var(--muted);padding:12px 16px 18px}.notes-list{padding:4px 18px;list-style:none;overflow-y:auto}.notes-list li{border-bottom:1px solid color-mix(in srgb, var(--fg) 8%, transparent);font:400 15px/1.4 var(--sans);padding:15px 2px}.notes-list li:last-child{color:var(--accent-ink)}.pay{padding:30px 20px}.balance{font:500 60px/1 var(--paper);letter-spacing:-.04em}.balance span{font:400 13px/1 var(--mono);letter-spacing:0;color:var(--muted);margin-top:10px;display:block}.pay dl{gap:8px;margin-top:28px;display:grid}.pay dl div{background:color-mix(in srgb, var(--fg) 5%, transparent);font:400 14px/1 var(--sans);border-radius:14px;justify-content:space-between;padding:14px 16px;display:flex}.pay dt{color:var(--muted)}.pay dd{font-weight:600}.cam-view{align-items:center}.viewfinder{border:1.5px dashed color-mix(in srgb, var(--fg) 16%, transparent);font:400 13px/1.4 var(--mono);color:var(--muted);background:#000;border-radius:20px;flex:1;align-self:stretch;place-items:center;margin:12px;display:grid}.viewfinder.flash{animation:flash .6s var(--ease)}@keyframes flash{0%{background:#fff}}.shutter{border:4px solid var(--fg);background:color-mix(in srgb, var(--fg) 85%, transparent);width:64px;height:64px;box-shadow:inset 0 0 0 3px var(--surface);cursor:pointer;transition:transform .2s var(--ease);border-radius:50%;flex:none;margin:4px 0 10px}.home-bar{cursor:pointer;background:0 0;border:0;grid-row:3;justify-self:center;width:150px;height:26px;padding:0}.home-bar:before{content:"";background:color-mix(in srgb, var(--fg) 55%, transparent);border-radius:3px;width:120px;height:5px;margin:0 auto;display:block}@media (hover:hover){.apps button:hover .app-icon,.notice:hover{transform:translateY(-3px)}.chats button:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.back:hover,.chat-close:hover{transform:translateY(-2px)}}.apps button:active .app-icon,.back:active,.chat-close:active,.shutter:active,.notice:active{transform:scale(.94)}.phone button{-webkit-tap-highlight-color:transparent}.phone button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.apps button:focus-visible{outline:0}.apps button:focus-visible .app-icon{outline:2px solid var(--accent-ink);outline-offset:3px}.log li b{font:700 12px/1.2 var(--sans);color:var(--accent-ink);margin-bottom:3px;display:block}.convo .log{flex:1;min-height:0}.log{overscroll-behavior:contain;flex-direction:column;gap:8px;padding:18px 16px;list-style:none;display:flex;overflow-y:auto}.log li{max-width:82%;font:400 15px/1.45 var(--sans);text-wrap:pretty;animation:rise .35s var(--ease);border-radius:20px;padding:10px 14px}.log .them,.log .typing{background:color-mix(in srgb, var(--fg) 10%, var(--surface));border-bottom-left-radius:6px;align-self:flex-start}.log .me{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:6px;align-self:flex-end}.log .typing:before{content:"• • •";color:var(--muted);animation:1s step-end infinite blink}.replies{gap:8px;padding:10px 16px 18px;display:grid}.replies button{border:1.5px solid color-mix(in srgb, var(--accent-ink) 55%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);max-width:90%;color:var(--fg);font:500 15px/1.3 var(--sans);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease), background-color .25s var(--ease);animation:rise .4s var(--ease);border-radius:18px 18px 6px;justify-self:end;padding:11px 16px}@media (hover:hover){.replies button:hover{background:color-mix(in srgb, var(--accent) 28%, transparent);transform:translateY(-2px)}}.replies button:active{transform:scale(.97)}.replies button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){.phone,.notice,.viewfinder.flash,.log li,.log .typing:before,.replies button{animation:none!important}}.player{flex-direction:column;flex:1;min-height:0;padding:16px 20px 8px;display:flex;overflow-y:auto}.viz{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent) 45%, transparent), transparent 70%), #0c0a10;width:100%;height:clamp(96px,18vh,220px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 10%, transparent), 0 20px 40px -26px var(--accent-ink);border-radius:24px;flex:none}.now{gap:5px;margin-top:16px;display:grid}.now b{font:700 18px/1.2 var(--sans)}.now span{font:400 12px/1 var(--mono);color:var(--muted)}.now a{color:var(--accent-ink);text-underline-offset:3px}.now a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:3px}.seek{background:color-mix(in srgb, var(--fg) 12%, transparent);border-radius:2px;height:4px;margin-top:16px;overflow:hidden}.seek span{background:var(--accent-ink);width:0;height:100%;display:block}.times{font:400 11px/1 var(--mono);color:var(--muted);justify-content:space-between;margin-top:8px;display:flex}.controls{justify-content:center;align-items:center;gap:22px;margin-top:6px;display:flex}.controls button{width:48px;height:48px;color:var(--fg);cursor:pointer;transition:transform .25s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;font-size:24px;display:grid}.controls .toggle{color:#141219;background:var(--fg);width:64px;height:64px;box-shadow:0 12px 26px -12px var(--accent-ink);font-size:26px}.toggle .i-pause,.toggle[aria-pressed=true] .i-play{display:none}.toggle[aria-pressed=true] .i-pause{display:block}.tracklist{gap:2px;margin-top:10px;list-style:none;display:grid}.tracklist button{width:100%;color:var(--fg);font:500 14px/1.2 var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.tracklist button[aria-current=true]{color:var(--accent-ink);background:color-mix(in srgb, var(--fg) 6%, transparent)}.tracklist span{font:400 12px/1 var(--mono);color:var(--muted);flex:none}.controls button:active{transform:scale(.92)}.game{color-scheme:dark;--bg:#09080b;--fg:#eeecf2;--muted:#8f8a99;--accent-ink:#b7a1e8;--surface:#141219;--surface-2:#1a1721;--shadow:#000000b3;--void:#050407;background:var(--void);height:100svh;min-height:540px;color:var(--fg);position:relative;overflow:hidden}.game>canvas,.spots{touch-action:none;width:100%;height:100%;transition:opacity .6s var(--ease);position:absolute;inset:0}.game.dark>canvas,.game.dark .spots{opacity:0}.spots{z-index:1}.spots button{cursor:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;padding:0;position:absolute}.spots button:focus-visible{outline:2px dashed var(--accent-ink);outline-offset:4px}@media (hover:hover) and (pointer:fine){.game:has(.intro[hidden]):has(.end[hidden]) .spots{cursor:none}}.game-hud{z-index:3;padding:22px var(--gutter);position:absolute;inset:0 0 auto}.count .count-n{color:var(--fg);font-weight:500}.count.pop{animation:pop .7s var(--ease)}@keyframes pop{40%{color:var(--accent-ink);scale:1.12}}.room-title{z-index:2;pointer-events:none;font:500 clamp(40px, 7vw, 104px)/1 var(--paper);letter-spacing:-.04em;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.room-title.show{animation:title-card 2.4s var(--ease)}@keyframes title-card{18%,55%{opacity:.92}0%{opacity:0;translate:0 10px}to{opacity:0}}.game-foot{z-index:3;padding:56px var(--gutter) max(24px, env(safe-area-inset-bottom));background:linear-gradient(transparent, color-mix(in srgb, var(--void) 88%, transparent) 60%);pointer-events:none;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute;inset:auto 0 0}.caption{max-width:58ch;min-height:3.2em;font:400 clamp(14px, 1.15vw, 16px)/1.6 var(--mono);text-wrap:pretty}.kit{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px 16px;min-width:0;display:flex}.items{flex-wrap:wrap;justify-content:flex-end;gap:8px;list-style:none;display:flex}.items li{animation:rise .6s var(--ease)}.item{font:500 13px/1 var(--sans);color:var(--on-accent);background:var(--accent);box-shadow:inset 0 1px 0 #ffffff2e, 0 10px 22px -12px var(--accent);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:transform .3s var(--ease), box-shadow .3s var(--ease);border:0;border-radius:999px;padding:8px 14px}@media (hover:hover){.item:hover{transform:translateY(-2px)}}.item:active{transform:scale(.95)}.item:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.item[aria-pressed=true]{outline:2px dashed var(--fg);outline-offset:3px}.item.dragging{z-index:5;cursor:grabbing;box-shadow:inset 0 1px 0 #ffffff2e, 0 18px 30px -12px var(--accent);transition:none;position:relative;transform:scale(1.06)}@media (width<=640px){.game-foot{flex-direction:column-reverse;align-items:flex-start}.kit{justify-content:space-between;width:100%}.items{justify-content:flex-start}}.card{z-index:4;padding:88px var(--gutter) 24px;background:radial-gradient(closest-side,#0000,#0504078c);place-items:center;display:grid;position:absolute;inset:0}.card[hidden]{display:none}.game:has(.end:not([hidden])) .game-foot{visibility:hidden}.panel{width:min(100%,520px);animation:rise .8s var(--ease);background:color-mix(in srgb, var(--surface) 80%, transparent);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 10%, transparent), 0 40px 80px -40px var(--shadow), 0 0 0 1px color-mix(in srgb, var(--fg) 6%, transparent);border-radius:28px;padding:clamp(28px,4vw,44px)}.panel h1,.panel h2{font:500 clamp(38px, 5vw, 58px)/1.04 var(--paper);letter-spacing:-.04em}.panel p{font:400 17px/1.6 var(--sans);color:color-mix(in srgb, var(--fg) 80%, transparent);text-wrap:pretty;margin-top:16px}.panel p a{color:var(--accent-ink);text-underline-offset:3px}.panel .how{font:400 13px/1.6 var(--mono);color:var(--muted)}.how .touch{display:none}@media (hover:none),(pointer:coarse){.how .fine{display:none}.how .touch{display:inline}}.panel .cta{margin-top:28px}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.stats div{background:color-mix(in srgb, var(--fg) 5%, transparent);border-radius:16px;padding:14px 16px}.stats dt{font:400 12px/1.3 var(--mono);color:var(--muted)}.stats dd{font:500 26px/1 var(--paper);letter-spacing:-.02em;margin-top:6px}.end-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px;display:flex}.end-actions .cta{margin-top:0}.end-back{font:500 15px/1 var(--sans);color:var(--fg);text-underline-offset:4px}.end-back:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px;border-radius:4px}.game.caught:after{content:"";z-index:9;pointer-events:none;animation:caught-flash .9s var(--ease) forwards;background:radial-gradient(circle,#ff2a3a 0%,#7a0610 70%,#2a0005 100%);position:absolute;inset:0}.game.caught>canvas,.game.caught>.spots,.game.caught>.game-hud,.game.caught>.game-foot{animation:.5s linear caught-shake}@keyframes caught-flash{0%{opacity:.95}to{opacity:0}}@keyframes caught-shake{0%,to{translate:0}12%{translate:-12px 5px}28%{translate:10px -6px}44%{translate:-8px -3px}60%{translate:6px 4px}78%{translate:-3px 2px}}@media (prefers-reduced-motion:reduce){.game.caught:after,.game.caught>canvas,.game.caught>.spots,.game.caught>.game-hud,.game.caught>.game-foot{animation:none}.game.caught:after{opacity:.35;animation:none}.room-title.show,.count.pop,.items li,.item,.panel{animation:none!important}.item{transition:none}}.pad{width:min(100%,300px);animation:rise .6s var(--ease);background:radial-gradient(circle at 12px 12px,#15131a 0 2.5px,#6c667a 3px 4.5px,#0000 5px),radial-gradient(circle at calc(100% - 12px) 12px,#15131a 0 2.5px,#6c667a 3px 4.5px,#0000 5px),radial-gradient(circle at 12px calc(100% - 12px),#15131a 0 2.5px,#6c667a 3px 4.5px,#0000 5px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#15131a 0 2.5px,#6c667a 3px 4.5px,#0000 5px),linear-gradient(160deg,#3b3744,#26232d 55%,#2f2b38);border-radius:22px;padding:28px 24px 26px;position:relative;box-shadow:inset 0 1px #ffffff2e,inset 0 0 0 1px #ffffff0d,0 0 0 1px #0b0a0e,0 40px 80px -30px #000}.pad-close{z-index:1;background:var(--surface-2);width:40px;height:40px;color:var(--fg);cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 1px color-mix(in srgb, var(--fg) 14%, transparent), 0 10px 20px -8px #000;transition:transform .3s var(--ease);border:0;border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;top:-14px;right:-14px}@media (hover:hover){.pad-close:hover{transform:translateY(-2px)}}.pad-close:active{transform:scale(.94)}.pad-close:focus-visible,.pad-keys button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.pad-led{width:10px;height:10px;transition:background-color .2s var(--ease), box-shadow .2s var(--ease);background:#3a3642;border-radius:50%;margin:0 0 12px 4px;display:block;box-shadow:inset 0 1px 2px #000000b3,0 1px #ffffff1a}.pad-led.ok{background:#5be3a0;box-shadow:0 0 12px 2px #5be3a099}.pad-led.no{background:#ff4d5e;animation:.5s step-end 2 pad-no;box-shadow:0 0 12px 2px #ff4d5e99}@keyframes pad-no{50%{box-shadow:none;background:#3a3642}}.pad-screen{text-align:right;white-space:nowrap;min-height:58px;font:500 28px/1 var(--paper);letter-spacing:.18em;font-variant-numeric:tabular-nums;color:#c4f5da;text-shadow:0 0 10px #5be3a08c;background:#0c1410;border-radius:10px;padding:16px 16px 14px;display:block;overflow:hidden;box-shadow:inset 0 2px 6px #000c,0 1px #ffffff1a}.pad-keys{grid-template-columns:repeat(3,64px);justify-content:center;gap:12px;margin-top:20px;display:grid}.pad-keys button{cursor:pointer;-webkit-tap-highlight-color:transparent;height:64px;font:600 24px/1 var(--paper);color:var(--fg);transition:transform .2s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease);background:#4a4553;border:0;border-radius:16px;padding:0;box-shadow:inset 0 1px #ffffff29,inset 0 -3px #00000059,0 8px 10px -6px #000}.pad-keys .soft{font:500 14px/1 var(--sans);color:var(--accent-ink);background:#2f2b38}@media (hover:hover){.pad-keys button:hover{background-color:#58525f;transform:translateY(-2px)}.pad-keys .soft:hover{background-color:#3a3544}}.pad-keys button:active{transform:translateY(1px)scale(.96);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000059,0 3px 4px -3px #000}@media (prefers-reduced-motion:reduce){.pad,.pad-led.no{animation:none!important}.pad-keys button,.pad-close,.pad-led{transition:none}}.torch{--charge:1;pointer-events:auto;flex:none;align-items:center;gap:14px;display:flex}.torch[hidden]{display:none}.torch-switch,.crank{-webkit-tap-highlight-color:transparent;cursor:pointer;transition:transform .3s var(--ease), background-color .3s var(--ease), color .3s var(--ease)}@media (hover:hover){.torch-switch:hover,.crank:hover{transform:translateY(-2px)}}.torch-switch:active,.crank:active{transform:scale(.95)}.torch-switch:focus-visible,.crank:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.torch-switch{height:44px;color:var(--muted);background:var(--surface-2);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 10%, transparent), 0 0 0 1px color-mix(in srgb, var(--fg) 8%, transparent), 0 12px 24px -14px #000;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 16px 0 14px;font-size:20px;display:inline-flex}.torch-switch[aria-pressed=true]{color:var(--accent-ink);background:color-mix(in srgb, var(--accent) 28%, var(--surface-2));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--fg) 14%, transparent), 0 0 0 1px color-mix(in srgb, var(--accent-ink) 40%, transparent), 0 12px 24px -12px var(--accent)}.torch-switch>i{display:grid}.cell{border:1.5px solid;border-radius:4px;flex:none;width:30px;height:14px;position:relative}.cell:after{content:"";background:currentColor;border-radius:0 2px 2px 0;width:2.5px;height:5px;position:absolute;top:3px;right:-4.5px}.cell i{transform-origin:0;transform:scaleX(var(--charge));transition:transform .4s var(--ease), background-color .3s var(--ease);background:currentColor;border-radius:2px;position:absolute;inset:1.5px}.torch.low .cell{color:#ff4d5e}.torch.low .torch-switch[aria-pressed=true] .cell{animation:1.2s step-end infinite cell-low}@keyframes cell-low{50%{opacity:.35}}.crank{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 35% 30%,#5a5466,#2b2833 70%);border:0;border-radius:50%;flex:none;width:44px;height:44px;padding:0;position:relative;box-shadow:inset 0 1px #fff3,0 0 0 1px #0b0a0e,0 10px 18px -8px #000}.crank-arm{pointer-events:none;display:block;position:absolute;inset:0}.crank-arm:before{content:"";background:var(--fg);border-radius:2px;width:4px;height:15px;position:absolute;top:7px;left:calc(50% - 2px)}.crank-arm:after{content:"";background:var(--fg);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:calc(50% - 5px);box-shadow:0 1px 3px #00000080}.crank:after{content:"";border:1.5px dashed var(--accent-ink);opacity:0;transition:opacity .4s var(--ease);pointer-events:none;border-radius:50%;position:absolute;inset:-7px}.torch.low .crank:after{opacity:1;animation:14s linear infinite ring-turn}@keyframes ring-turn{to{rotate:360deg}}.torch.dead .torch-switch{color:var(--muted)}@media (prefers-reduced-motion:reduce){.torch.low .cell,.torch.low .torch-switch .cell,.torch.low .crank:after{animation:none!important}.torch-switch,.crank,.cell i,.crank:after{transition:none}}
