.device{--well:#0c0c0b;--raise2:#1b1b19;--raise1:#2a2a28;--ink:#ece8df;--ink2:#8d897f;--ink3:#57544e;--ink4:#383633;--led:#ff5320;--paper:#ebe4d4;--rust:#a4472a;--stone:#8f8a80;--soot:#141312;--sans:-apple-system, "SF Pro Text", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--ease:cubic-bezier(.22, .8, .16, 1)}*{box-sizing:border-box}.device{isolation:isolate;--top:hsl(var(--hue) 30% 13%);--bottom:hsl(var(--hue) 30% 5%);background:radial-gradient(90% 50% at 12% 4%, hsl(var(--hue) 60% 60% / .12), transparent 70%), linear-gradient(var(--top), var(--bottom));border-radius:55px;flex:none;width:393px;height:852px;transition:--top 1.4s,--bottom 1.4s;position:relative;overflow:hidden;box-shadow:0 0 0 11px #1a1a19,0 0 0 12px #2c2c2a,0 40px 120px #000000b3}@property --top{syntax:"<color>";inherits:true;initial-value:#1c1c1a}@property --bottom{syntax:"<color>";inherits:true;initial-value:#121211}@property --hue{syntax:"<number>";inherits:true;initial-value:30}.device{transition:--hue 1.4s ease-in-out}.device:after{content:"";z-index:100;background:#000;border-radius:20px;width:124px;height:36px;position:absolute;top:11px;left:50%;translate:-50%}.statusbar{z-index:90;height:54px;font:600 16px/1 var(--sans);justify-content:space-between;align-items:center;padding:6px 34px 0 46px;display:flex;position:absolute;inset:0 0 auto}.home-ind{background:var(--ink);opacity:.85;z-index:90;border-radius:3px;width:136px;height:5px;position:absolute;bottom:8px;left:50%;translate:-50%}.grain{pointer-events:none;z-index:80;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.app{flex-direction:column;display:flex;position:absolute;inset:54px 24px 30px}.hd{height:40px;font:11px var(--mono);align-items:center;gap:6px;display:flex}.hd b{letter-spacing:.26em;font-weight:500}.hd span{color:var(--ink2);letter-spacing:.12em}.hd .onair{letter-spacing:.2em;color:var(--ink2);align-items:center;gap:9px;margin-left:auto;font-size:10px;transition:color .5s;display:flex}.hd .gear{width:32px;color:var(--ink2);place-items:end center;display:grid}.led{width:7px;height:7px;box-shadow:0 0 0 1.5px var(--well);background:radial-gradient(circle at 40% 35%,#5a2a1a,#2a120b);border-radius:50%;flex:none;transition:all .4s}.lit .led,.led.on{background:radial-gradient(circle at 40% 35%, #ffd2b8, var(--led) 45%, #c2300c);box-shadow:0 0 0 1.5px var(--well), 0 0 4px #ff5320d9, 0 0 12px #ff532059}.hd .onair.lit{color:var(--ink)}.ro{align-items:baseline;gap:9px;margin-top:4px;display:flex}.ro .fm{font:10px var(--mono);letter-spacing:.2em;color:var(--ink2)}.ro .f{font:200 40px/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.ro .mhz{font:10px var(--mono);letter-spacing:.18em;color:var(--ink2);margin-left:-4px}.ro .q{font:500 8px var(--mono);letter-spacing:.16em;color:var(--ink2);border:1px solid var(--ink2);border-radius:2px;align-self:center;margin-left:auto;padding:3px 4px}.st{align-items:baseline;gap:10px;margin-top:6px;font-size:13px;display:flex}.st b{letter-spacing:.06em;font-weight:500}.st span{color:var(--ink2);font-size:11px}.win{background:#0d0c0b;border-radius:20px;flex:none;height:290px;margin-top:14px;position:relative;overflow:hidden;box-shadow:0 0 0 5px #0b0b0a,0 0 0 6px #ffffff12,0 24px 50px #0000008c,inset 0 0 0 1px #0009;container-type:size}.win .scene{position:absolute;inset:0}.win .scene svg{width:100%;height:100%;display:block}.win .glass{pointer-events:none;z-index:20;border-radius:inherit;background:linear-gradient(115deg,#0000 18%,#ffffff13 19%,#ffffff08 27%,#0000 28% 33%,#ffffff0d 34%,#0000 37%),linear-gradient(#ffffff0d,#0000 30%);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 10px 24px #0000008c,inset 0 -6px 18px #0006}.win .snow{z-index:19;pointer-events:none;opacity:0;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");transition:opacity .4s;animation:.18s steps(3,end) infinite snow;position:absolute;inset:-40px}@keyframes snow{33%{translate:17px -9px}66%{translate:-12px 14px}}.win[data-state=failed] .snow{opacity:.32}.win[data-state=tuning] .snow{opacity:.22}.scope{width:100%;height:26px;margin-top:14px}.info{height:86px;margin-top:6px;position:relative}.info>div{flex-direction:column;display:flex;position:absolute;inset:0}.lab{font:10px var(--mono);letter-spacing:.2em;color:var(--ink2);white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.lab.hot{color:#ff5320d9}.lab i{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.lab.hot i{box-shadow:0 0 6px var(--led)}.ttl{font:500 21px/1.25 var(--sans);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:10px;overflow:hidden}.sub{color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:13px;overflow:hidden}.tx{font:300 13px/1.65 var(--mono);color:var(--ink);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;display:-webkit-box;overflow:hidden}.tx .rest{color:var(--ink3)}.row{align-items:flex-end;gap:10px;display:flex}.row>div{flex:1;min-width:0}.hearts{color:var(--ink2);gap:14px;padding-bottom:2px;font-size:16px;display:flex}.prog{margin-top:2px}.prog .bar{height:13px;position:relative}.prog .bar:before{content:"";background:#ece8df1a;height:1px;position:absolute;top:6px;left:0;right:0}.prog .fill{background:var(--ink);height:1px;position:absolute;top:6px;left:0}.prog .fill:after{content:"";background:inherit;width:1px;height:9px;position:absolute;top:-4px;right:-.5px}.prog.talk .fill{background:var(--led)}.prog .t{font:10px var(--mono);color:var(--ink2);letter-spacing:.06em;font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.prog .t span:last-child{color:var(--ink3)}.face{background:linear-gradient(hsl(var(--hue) 14% 15%), hsl(var(--hue) 16% 10%));border-radius:22px;margin:auto -12px 0;padding:14px 14px 12px;box-shadow:inset 0 1px #ffffff12,0 10px 30px #0006}.dial{background:var(--well);border-radius:10px;height:50px;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #000c}.dial .ticks{background:repeating-linear-gradient(90deg, var(--ink4) 0 1px, transparent 1px 9px);height:16px;position:absolute;inset:10px 0 auto;-webkit-mask:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.dial .nums{font:9px var(--mono);color:var(--ink3);justify-content:space-around;display:flex;position:absolute;inset:auto 0 8px}.dial .needle{background:var(--led);width:1.5px;box-shadow:0 0 6px var(--led);position:absolute;top:4px;bottom:4px;left:50%}.keys{gap:12px;margin-top:14px;display:flex}.keys .sp{flex:1}.key{all:unset;cursor:pointer;flex-direction:column;align-items:center;gap:7px;display:flex}.key .cap{width:var(--w,64px);color:#dcd7cd;background:linear-gradient(#34332f,#24231f);border-radius:11px;place-items:center;height:50px;font-size:15px;transition:transform 80ms,box-shadow 80ms;display:grid;box-shadow:inset 0 1px #ffffff1a,0 3px #0e0e0d,0 6px 10px #0006}.key:active .cap,.key.down .cap{transform:translateY(2px);box-shadow:inset 0 1px #ffffff0f,0 1px #0e0e0d}.key small{letter-spacing:.14em;color:var(--ink3);font-size:10px}.key.rec .cap{color:var(--led)}.key.rec small{color:#ff5320cc}.key:focus-visible .cap{outline:2px solid var(--led);outline-offset:3px}.key svg{fill:currentColor;width:16px;height:16px}.device{color:var(--ink);font-family:var(--sans);text-align:left;-webkit-font-smoothing:antialiased}.device button{font:inherit;color:inherit}.win{cursor:pointer}.win .room-tag{z-index:21;font:9px var(--mono);letter-spacing:.18em;color:#ece8dfbf;backdrop-filter:blur(6px);pointer-events:none;background:#0a0a098c;border-radius:99px;padding:4px 7px;position:absolute;bottom:10px;left:10px}@media (prefers-reduced-motion:reduce){.device *,.device :before,.device :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.win{--dark:.1;--beam:1}.win[data-time=day]{--dark:0}.win[data-time=dusk]{--dark:.06}.win[data-time=night]{--dark:.22}.win[data-state=standby]{--dark:.5;--beam:0}.win[data-state=sleep]{--dark:.7;--beam:0}.win[data-state=failed]{--dark:.45;--beam:0}.win[data-state=paused]{--beam:.35}.win[data-state=talking]{--beam:calc(.55 + var(--lvl) * .45)}.plate{opacity:0;transition:opacity 1.4s}.win[data-time=day]:not([data-state=sleep]) .plate.day,.win[data-time=dusk]:not([data-state=sleep]) .plate.dusk,.win[data-time=night] .plate.night,.win[data-state=sleep] .plate.night{opacity:1}.tint{fill:hsl(var(--hue) 70% 50%);mix-blend-mode:soft-light;opacity:.35}.ambient{fill:#05070d;opacity:var(--dark);transition:opacity 1.2s}.sign rect{fill:#2a1610;transition:fill .4s}.sign text{fill:#5a2a1a;transition:fill .4s}.win:is([data-state=talking],[data-state=recording]) .sign rect{fill:var(--led)}.win:is([data-state=talking],[data-state=recording]) .sign text{fill:#2a0d04}.sign .halo{fill:var(--led);opacity:0;filter:blur(22px);transition:opacity .4s}.win:is([data-state=talking],[data-state=recording]) .sign .halo{opacity:.55}.win:is([data-state=playing],[data-state=answering],[data-state=recording]) .disc{animation-play-state:running}@keyframes spin{to{transform:rotate(360deg)}}.label-a{fill:var(--c1);transition:fill 1s}.label-b{fill:var(--c2);transition:fill 1s}#lamp{--flip:1;--a1:0;--a2:0;--a3:0;transform-origin:190px 0;transform:scaleX(var(--flip));transition:transform 1s var(--ease)}#arm1{transform-origin:190px 206px;transform:rotate(calc(var(--a1) * 1deg));transition:transform 1.1s var(--ease)}#arm2{transform-origin:190px 138px;transform:rotate(calc(var(--a2) * 1deg));transition:transform 1.1s var(--ease) 50ms}#head{transform-origin:240px 138px;transform:rotate(calc(var(--a3) * 1deg));transition:transform 1s var(--ease) .1s}#bob{transform-origin:240px 138px}.win[data-state=standby] #lamp{--a1:-4;--a2:8;--a3:6}.win[data-state=preparing] #lamp{--flip:1;--a1:30;--a2:-16;--a3:-14}.win[data-state=preparing] #bob{animation:.7s ease-in-out infinite alternate dig}.win[data-state=playing] #lamp,.win[data-state=tuning] #lamp{--flip:-1;--a1:-10;--a2:-6;--a3:-30}.win[data-state=playing] #bob{animation:nod var(--beat) ease-in-out infinite alternate}.win[data-state=talking] #lamp{--flip:1;--a1:14;--a2:4;--a3:-82}.win[data-state=talking] #bob{animation:2.2s ease-in-out infinite alternate speak}.win[data-state=recording] #lamp{--flip:1;--a1:2;--a2:-14;--a3:0}.win[data-state=answering] #lamp{--flip:1;--a1:18;--a2:30;--a3:-18}.win[data-state=answering] #bob{animation:.5s ease-in-out infinite alternate write}.win[data-state=paused] #lamp{--flip:-1;--a1:-10;--a2:34;--a3:18}.win[data-state=sleep] #lamp{--flip:1;--a1:-10;--a2:56;--a3:34}.win[data-state=failed] #lamp{--flip:1;--a1:4;--a2:12;--a3:20}@keyframes nod{0%{transform:rotate(-3deg)}to{transform:rotate(5deg)}}@keyframes dig{0%{transform:rotate(-10deg)translate(-4px)}50%{transform:rotate(6deg)translate(3px,4px)}to{transform:rotate(12deg)translate(6px,1px)}}@keyframes speak{0%{transform:rotate(-4deg)}to{transform:rotate(3deg)}}@keyframes write{0%{transform:rotate(-3deg)translateY(-1px)}to{transform:rotate(3deg)translateY(1px)}}.beam{mix-blend-mode:screen;opacity:var(--beam);transition:opacity .6s}.win[data-state=tuning] .beam,.win[data-state=failed] .bulb{animation:.9s step-end infinite flicker}@keyframes flicker{0%{opacity:.9}12%{opacity:.1}20%{opacity:.7}44%{opacity:.2}60%{opacity:1}80%{opacity:.3}}.bulb{fill:#fff3d6;opacity:var(--beam);transition:opacity .6s}.win[data-state=standby] .bulb,.win[data-state=sleep] .bulb{opacity:0}.side{transition:opacity .35s .35s}.front{opacity:0;transition:opacity .35s}.win[data-state=recording] .side{opacity:0;transition-delay:0s}.win[data-state=recording] .front{opacity:1;transition-delay:.35s}.front .rim{transform-origin:240px 140px;animation:1.6s ease-in-out infinite alternate listen}@keyframes listen{0%{transform:scaleY(.96)rotate(-3deg)}to{transform:scaleX(.96)rotate(3deg)}}.warm{z-index:18;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(42% 50% at 62% 42%,#ffe2aa61,#ffb46e14 60%,#0000 75%);transition:opacity .8s;position:absolute;inset:0}.win[data-state=recording] .warm{opacity:1}.popglow{fill:#fff2d8;opacity:0;filter:blur(30px);mix-blend-mode:screen}.win[data-state=talking] .popglow{opacity:calc(.15 + var(--lvl) * .75)}.pophot{fill:#fffaf0;opacity:0;mix-blend-mode:screen}.win[data-state=talking] .pophot{opacity:calc(var(--lvl) * .35)}.pull{opacity:0;transform:translateY(150px)}.win[data-state=preparing] .pull{opacity:1;animation:pull 2.2s var(--ease) infinite}.win[data-state=preparing] .pull.b{animation-delay:1.1s}@keyframes pull{0%{transform:translateY(150px)rotate(0)}30%{transform:translateY(-120px)rotate(-7deg)}70%{transform:translateY(-112px)rotate(-4deg)}to{transform:translateY(150px)rotate(0)}}.scrib{stroke-dasharray:120;stroke-dashoffset:120px}.win[data-state=answering] .scrib{animation:1.3s linear forwards scrib}.win[data-state=answering] .scrib:nth-of-type(2){animation-delay:1.4s}.win[data-state=answering] .scrib:nth-of-type(3){animation-delay:2.8s}@keyframes scrib{to{stroke-dashoffset:0}}.mixer .f{fill:#cfc8b8;transition:transform .8s var(--ease)}.mixer .f.mic{fill:var(--led)}.win:is([data-state=playing],[data-state=answering],[data-state=recording]) .mixer .f:not(.mic){animation:ride calc(var(--beat) * 4) ease-in-out infinite alternate}.mixer .f:nth-child(2n){animation-delay:-.7s!important}.mixer .f:nth-child(3n){animation-duration:calc(var(--beat) * 6)!important}@keyframes ride{0%{transform:translateY(-6px)}to{transform:translateY(2px)}}.win:is([data-state=talking],[data-state=recording]) .mixer .f.mic{transform:translateY(-14px)}.win[data-state=talking] .mixer .f:not(.mic){transform:translateY(6px)}.vu-bar{fill:#3a3632;transform:scaleY(.08)}.win:is([data-state=playing],[data-state=answering]) .vu-bar{fill:#8f8a80;animation:vu var(--beat) ease-out infinite}.win[data-state=talking] .vu-bar{fill:var(--led);transform:scaleY(calc(.1 + var(--lvl) * .9))}@keyframes vu{0%{transform:scaleY(.85)}to{transform:scaleY(.35)}}.standby-led{fill:#2a120b}.win[data-state=sleep] .standby-led{fill:#7ee08a;filter:drop-shadow(0 0 3px #7ee08a);animation:3s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.3}}.phone-fit{--s:1;width:calc(393px * var(--s));height:calc(852px * var(--s));flex:none}.phone-fit .device{transform:scale(var(--s));transform-origin:0 0}.statusbar .sb-icons{align-items:flex-end;gap:2px;height:11px;display:flex}.statusbar .sb-icons i{background:var(--ink);border-radius:1px;width:3px}.statusbar .sb-icons i:first-child{height:4px}.statusbar .sb-icons i:nth-child(2){height:6px}.statusbar .sb-icons i:nth-child(3){height:8px}.statusbar .sb-icons i:nth-child(4){height:11px}
