.unplugged-root{--font-sans:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:var(--font-geist-mono), "SF Mono", ui-monospace, Menlo, Consolas, monospace;--up-page-height:100dvh;--up-code-size:clamp(96px, min(21vw, 24vh), 216px);--up-rig-height:clamp(190px, 34vh, 250px);--accent-primary:#0f172a;--accent-hover:#1e293b;--text-on-accent:#fff;--bg-canvas:#f8fafc;--bg-elevated-1:#fff;--border-default:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--up-dim:.28;--up-bg-off:#f1f5f9;--up-tube:#0f172a8c;--up-glow-rgb:255, 255, 255;--up-glow-strength:.7;--up-code-glow:none;--up-light-rgb:37, 99, 235;--up-wall:#e2e8f0;--up-wall-line:#cbd5e1;--up-desk:#cbd5e1;--up-desk-edge:#fff;--up-cable:#f8fafc;--up-cable-shine:#fff;--up-cable-edge:#94a3b8;--up-plug-hi:#fff;--up-plug-lo:#e2e8f0;--up-plug-edge:#94a3b8;--up-plug-groove:#cbd5e1;--up-plug-sheen:#ffffffe6;--up-plug-face:#e2e8f0;--up-pin-hi:#e2e8f0;--up-pin-lo:#64748b;--up-shadow:.14;--up-socket-hi:#fff;--up-socket-lo:#e2e8f0;--up-socket-face:#fff;--up-socket-edge:#94a3b8;--up-plate:#f8fafc;--up-recess:#e2e8f0;--up-hole:#1e293b;--up-near:#2563eb80;--up-led-off:#cbd5e1;--up-led-on:#2563eb;--shadow-focus-ring:0 0 0 3px #2563eb40;--radius-pill:999px;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--tr-display:-.025em;--tr-tight:-.015em;--tr-base:-.005em}[data-theme=dark] .unplugged-root,.dark .unplugged-root{--accent-primary:#3b82f6;--accent-hover:#2563eb;--text-on-accent:#fff;--bg-canvas:#030712;--bg-elevated-1:#0f172a;--border-default:#ffffff1a;--border-strong:#fff3;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--up-dim:.22;--up-bg-off:#02040a;--up-tube:#94a3b873;--up-glow-rgb:59, 130, 246;--up-glow-strength:.12;--up-code-glow:0 0 40px #3b82f666, 0 0 4px #8b5cf699;--up-light-rgb:96, 165, 250;--up-wall:#090d16;--up-wall-line:#ffffff1a;--up-desk:#0e1526;--up-desk-edge:#ffffff24;--up-cable:#1e293b;--up-cable-shine:#475569;--up-cable-edge:transparent;--up-plug-hi:#334155;--up-plug-lo:#1e293b;--up-plug-edge:#ffffff2e;--up-plug-groove:#0006;--up-plug-sheen:#ffffff40;--up-plug-face:#1e293b;--up-pin-hi:#e2e8f0;--up-pin-lo:#64748b;--up-shadow:.6;--up-socket-hi:#334155;--up-socket-lo:#0f172a;--up-socket-face:#1e293b;--up-socket-edge:#ffffff29;--up-plate:#0f172a;--up-recess:#1e293b;--up-hole:#020617;--up-near:#60a5fab3;--up-led-off:#1e293b;--up-led-on:#38bdf8;--shadow-focus-ring:0 0 0 3px #3b82f659}
:where(.unplugged-root,.unplugged-root *){box-sizing:border-box}:where(.unplugged-root) :where(button,a){font:inherit;color:inherit}:where(.unplugged-root) :where(h1,p){margin:0}.unplugged-root{isolation:isolate;width:100%;min-height:var(--up-page-height);overscroll-behavior:contain;color:var(--text-primary);background-color:var(--up-bg-off);font-family:var(--font-sans);letter-spacing:var(--tr-base);-webkit-font-smoothing:antialiased;transition:background-color .5s var(--ease-out-quart);flex-direction:column;align-items:center;padding:0 clamp(16px,4vw,40px);display:flex;position:relative;overflow:hidden}.unplugged-root[data-power=on]{background-color:var(--bg-canvas)}.unplugged-root:before{content:"";z-index:-1;background:radial-gradient(60% 55% at 50% 32%, rgba(var(--up-glow-rgb), var(--up-glow-strength)), transparent 72%);opacity:0;transition:opacity .7s var(--ease-out-quart);pointer-events:none;position:absolute;inset:0}.unplugged-root[data-power=on]:before{opacity:1}.up-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.up-status{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;transition:color .3s var(--ease-out-quart);align-items:center;gap:10px;margin-top:28px;font-size:11.5px;font-weight:500;line-height:1;display:flex}.up-status-dot{border:1.5px solid;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite up-blink}[data-power=on] .up-status{color:var(--text-secondary)}[data-power=on] .up-status-dot{border-color:var(--text-primary);background:var(--text-primary);box-shadow:0 0 10px rgba(var(--up-glow-rgb), .6);animation:none}.up-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:640px;padding:28px 0 12px;display:flex}[data-power=off] .up-screen{opacity:var(--up-dim);animation:6.4s linear infinite up-dead}[data-power=off] .up-screen:has(:focus-visible){opacity:1;animation:none}.up-code{font-size:var(--up-code-size);letter-spacing:-.065em;font-variant-numeric:tabular-nums;color:var(--text-primary);text-shadow:var(--up-code-glow);-webkit-user-select:none;user-select:none;padding-right:.065em;font-weight:650;line-height:.84}[data-power=off] .up-code{color:#0000;-webkit-text-stroke:max(1.5px, .008em) var(--up-tube);text-shadow:none;animation:6.4s linear infinite up-strike}.up-title{letter-spacing:var(--tr-display);text-wrap:balance;margin-top:26px;font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.15}.up-message{max-width:440px;color:var(--text-secondary);text-wrap:pretty;margin-top:12px;font-size:16px;line-height:1.55}.up-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;margin-top:28px;display:flex}.up-home{border-radius:var(--radius-pill);background:var(--accent-primary);height:44px;color:var(--text-on-accent);letter-spacing:var(--tr-tight);cursor:pointer;transition:background .16s var(--ease-out-quart), transform .16s var(--ease-out-quart), box-shadow .2s var(--ease-out-quart);border:0;align-items:center;gap:8px;padding:0 22px 0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.up-home:hover{background:var(--accent-hover);transform:translateY(-1px)}.up-home:active{transform:translateY(0)scale(.98)}.up-home svg{transition:transform .2s var(--ease-out-quart)}.up-home:hover svg{transform:translate(-2px)}.up-secondary{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:4px;transition:color .16s var(--ease-out-quart), text-decoration-color .16s var(--ease-out-quart);padding:6px 2px;font-size:15px;font-weight:500}.up-secondary:hover{color:var(--text-primary);text-decoration-color:currentColor}.up-rig{flex:none;width:100%;max-width:760px;position:relative}.up-stage{height:var(--up-rig-height);-webkit-tap-highlight-color:transparent;position:relative}.up-scene,.up-socket,.up-cable,.up-fx{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.up-scene{z-index:0}.up-socket{z-index:1}.up-cable{z-index:2}.up-plug{z-index:3}.up-fx{z-index:4}.up-controls{z-index:1;flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:absolute;top:22px;left:0}.up-hint{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;transition:opacity .3s var(--ease-out-quart);font-size:11px}[data-power=on] .up-hint{opacity:0}.up-fallback{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elevated-1);height:40px;color:var(--text-primary);cursor:pointer;transition:border-color .16s var(--ease-out-quart), background .16s var(--ease-out-quart), color .16s var(--ease-out-quart), transform .16s var(--ease-out-quart);align-items:center;gap:8px;padding:0 16px 0 13px;font-size:14px;font-weight:500;display:inline-flex}.up-fallback:hover{border-color:var(--text-tertiary)}.up-fallback:active{transform:scale(.97)}[data-power=on] .up-fallback{border-color:var(--border-default);color:var(--text-tertiary);background:0 0}[data-power=on] .up-fallback:hover{color:var(--text-primary);border-color:var(--border-strong)}.up-home:focus-visible,.up-secondary:focus-visible,.up-fallback:focus-visible{box-shadow:var(--shadow-focus-ring);outline:0}.up-secondary:focus-visible{border-radius:4px}.up-stop-wall{stop-color:var(--up-wall)}.up-wall-line{fill:var(--up-wall-line)}.up-desk{fill:var(--up-desk)}.up-desk-edge{fill:var(--up-desk-edge)}.up-cable path{fill:none;stroke-linecap:round;stroke-linejoin:round}.up-cable-edge{stroke:var(--up-cable-edge)}.up-cable-body{stroke:var(--up-cable)}.up-cable-shine{stroke:var(--up-cable-shine)}.up-plug{width:calc(62px * var(--up-k));height:calc(32px * var(--up-k));margin:calc(-16px * var(--up-k)) 0 0 calc(-62px * var(--up-k));border-radius:calc(8px * var(--up-k));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;position:absolute;top:0;left:0}.up-plug:before{content:"";position:absolute;inset:-10px -6px}.up-plug svg{width:calc(82px * var(--up-k));height:100%;filter:drop-shadow(0 6px 8px rgba(0, 0, 0, var(--up-shadow)));position:absolute;top:0;left:0;overflow:visible}.unplugged-root.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.is-dragging .up-plug{cursor:grabbing}.up-plug:focus-visible{outline:2px solid var(--accent-primary);outline-offset:5px}.up-stop-plug-hi{stop-color:var(--up-plug-hi)}.up-stop-plug-lo{stop-color:var(--up-plug-lo)}.up-stop-pin-hi{stop-color:var(--up-pin-hi)}.up-stop-pin-lo{stop-color:var(--up-pin-lo)}.up-body{stroke:var(--up-plug-edge);stroke-width:1px}.up-boot{fill:var(--up-plug-lo);stroke:var(--up-plug-edge);stroke-width:1px}.up-groove{fill:none;stroke:var(--up-plug-groove);stroke-width:1.4px;stroke-linecap:round}.up-sheen{fill:none;stroke:var(--up-plug-sheen);stroke-width:1.2px;stroke-linecap:round}.up-face{fill:var(--up-plug-face)}.up-stop-socket-hi{stop-color:var(--up-socket-hi)}.up-stop-socket-lo{stop-color:var(--up-socket-lo)}.up-barrel{stroke:var(--up-socket-edge);stroke-width:1px}.up-plate{fill:var(--up-plate);stroke:var(--up-socket-edge);stroke-width:1px}.up-socket-face{fill:var(--up-socket-face);stroke:var(--up-socket-edge);stroke-width:1px}.up-recess{fill:var(--up-recess);stroke:#0000;stroke-width:1.5px;transition:stroke .2s var(--ease-out-quart)}.is-near .up-recess{stroke:var(--up-near)}.up-hole{fill:var(--up-hole)}.up-led{fill:var(--up-led-off);transition:fill .2s var(--ease-out-quart), filter .2s var(--ease-out-quart)}[data-power=on] .up-led{fill:var(--up-led-on);filter:drop-shadow(0 0 3px rgba(var(--up-light-rgb), .9))}.up-flash{fill:rgba(var(--up-light-rgb), .5);opacity:0;transform-box:fill-box;transform-origin:50%;filter:blur(4px);animation:.34s ease-out forwards up-flash}.up-ray{fill:none;stroke:rgb(var(--up-light-rgb));stroke-width:calc(1.6px * var(--up-k));stroke-linecap:round;stroke-dasharray:.45 1.2;stroke-dashoffset:.45px;animation:.3s cubic-bezier(.2,.7,.3,1) both up-ray}@keyframes up-dead{0%,13%,16.5%,19%,64%,66.5%,to{opacity:var(--up-dim)}14%{opacity:calc(var(--up-dim) * 1.45)}15.5%{opacity:calc(var(--up-dim) * .8)}17.5%{opacity:calc(var(--up-dim) * 1.25)}65.2%{opacity:calc(var(--up-dim) * 1.3)}}@keyframes up-strike{0%,13%,16.5%,19%,64%,66.5%,to{color:#0000}14%{color:rgba(var(--up-light-rgb), .16)}17.5%{color:rgba(var(--up-light-rgb), .08)}65.2%{color:rgba(var(--up-light-rgb), .1)}}.is-booting .up-screen{animation:.76s linear .11s both up-boot}@keyframes up-boot{0%{opacity:var(--up-dim)}7%{opacity:.9}15%{opacity:.32}25%{opacity:1}33%{opacity:.7}45%,to{opacity:1}}.is-dying .up-screen{animation:.46s linear both up-die}@keyframes up-die{0%{opacity:1}28%{opacity:.42}42%{opacity:.66}to{opacity:var(--up-dim)}}@keyframes up-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes up-flash{0%{opacity:0;transform:scale(.3)}18%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes up-ray{0%{stroke-dashoffset:.45px;opacity:1}80%{opacity:1}to{stroke-dashoffset:-1px;opacity:0}}@media (prefers-reduced-motion:reduce){.unplugged-root,.unplugged-root:before,.up-status,.up-hint,.up-led,.up-recess,.up-home,.up-home svg,.up-fallback{transition:none!important}.up-screen,.up-code,.up-status-dot{animation:none!important}.up-spark{display:none}}@media (max-width:560px){.unplugged-root{--up-code-size:clamp(96px, 31vw, 150px);--up-rig-height:184px}.up-status{margin-top:20px}.up-screen{padding-top:22px}.up-title{margin-top:20px;font-size:25px}.up-message{font-size:15px}.up-actions{margin-top:24px}.up-rig{margin-top:14px}.up-controls{align-items:center;gap:10px;max-width:340px;margin:0 auto;position:static}.up-fallback{justify-content:center;width:100%;height:46px;font-size:15px}[data-power=on] .up-fallback{width:auto}}
