:root{--bg:#050304;--red:#ff3b3b;--text:#f5eded;--muted:#b9a9ab;--r:clamp(130px, 34vmin, 300px);--ring:84px;--core:clamp(120px, 26vmin, 220px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif}@media (width<=700px){:root{--ring:62px}}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text)}#field{width:100%;height:100%;display:block;position:fixed;inset:0}.stage{position:fixed;inset:0}.core{width:var(--core);aspect-ratio:1;box-shadow:0 0 0 2px var(--red), 0 0 40px #ff3b3b99, 0 0 120px #ff3b3b44, inset 0 0 40px #ff3b3b33;background:radial-gradient(circle,#1c0a0c 0%,#080405 70%);border-radius:50%;place-items:center;animation:4.5s ease-in-out infinite breathe;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.core h1{text-align:center;line-height:1.05;font-size:calc(var(--core) * .16);letter-spacing:.22em;color:#fff;text-shadow:0 0 8px var(--red), 0 0 22px var(--red), 0 0 48px #ff3b3b88;margin:0;font-weight:800}.core h1 span{color:var(--red);display:block}@keyframes breathe{50%{box-shadow:0 0 0 2px var(--red), 0 0 60px #ff3b3bcc, 0 0 160px #ff3b3b66, inset 0 0 60px #ff3b3b55}}.app{--a:calc(var(--i) / var(--n) * 1turn - .25turn);transform:translate(-50%, -50%) translate(calc(cos(var(--a)) * var(--r)), calc(sin(var(--a)) * var(--r)));color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;will-change:transform;flex-direction:column;align-items:center;gap:10px;text-decoration:none;display:flex;position:absolute;top:50%;left:50%}.app-ring{width:var(--ring);aspect-ratio:1;color:var(--c);border:1.5px solid color-mix(in srgb, var(--c) 45%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--c) 14%, #0b0708) 0%, #070405 75%);box-shadow:0 0 18px color-mix(in srgb, var(--c) 18%, transparent);border-radius:50%;place-items:center;transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s,border-color .25s;display:grid;position:relative}.app-ring svg{width:42%;height:42%}.app-name{letter-spacing:.02em;color:color-mix(in srgb, var(--text) 85%, transparent);text-shadow:0 1px 6px #000;font-size:14px;font-weight:600}.app.is-hot .app-ring,.app:focus-visible .app-ring{border-color:var(--c);box-shadow:0 0 0 1px var(--c), 0 0 28px var(--c), 0 0 70px color-mix(in srgb, var(--c) 45%, transparent);transform:scale(1.08)}.app:focus-visible{outline:none}.app:focus-visible .app-name{text-underline-offset:4px;text-decoration:underline}.app.is-dragging{cursor:grabbing;z-index:2}.app[data-status=offline] .app-ring{filter:grayscale(.85)brightness(.7)}.app[data-status=offline] .app-ring:after{content:"";background:var(--red);width:12px;height:12px;box-shadow:0 0 8px var(--red);border-radius:50%;position:absolute;top:6%;right:6%}.tip{z-index:5;pointer-events:none;border:1px solid color-mix(in srgb, var(--c,var(--red)) 55%, transparent);max-width:240px;box-shadow:0 0 24px color-mix(in srgb, var(--c,var(--red)) 25%, transparent);background:#0c0709eb;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45;position:fixed;top:0;left:0}.tip strong{color:var(--c,var(--text));font-size:14px;display:block}.tip .desc{color:var(--muted)}.tip .state{align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.tip .state:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px}.tip .state.online{color:#4ade80}.tip .state.offline{color:var(--red)}.warp{z-index:10;pointer-events:none;background:radial-gradient(circle at var(--x,50%) var(--y,50%), var(--c,var(--red)) 0%, color-mix(in srgb, var(--c,var(--red)) 30%, var(--bg)) 35%, var(--bg) 75%);clip-path:circle(0);position:fixed;inset:0}.gate{flex-direction:column;align-items:center;gap:18px;width:min(320px,100vw - 32px);transition:opacity .45s,transform .45s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#field{transition:opacity .4s .5s}.leaving .gate{opacity:0;transform:translate(-50%,-50%)scale(.92)}.leaving #field{opacity:0}.entering{animation:.6s ease-out enter}@keyframes enter{0%{opacity:0}}.gate .core{margin-bottom:18px;position:relative;top:auto;left:auto;transform:none}.gate input,.gate button{width:100%;font:inherit;text-align:center;color:var(--text);border-radius:999px;padding:14px 20px;font-size:16px}.gate input{background:#0a0608cc;border:1px solid #ff3b3b66;outline:none;transition:border-color .2s,box-shadow .2s}.gate input:focus{border-color:var(--red);box-shadow:0 0 0 1px var(--red), 0 0 24px #ff3b3b66}.gate button{cursor:pointer;letter-spacing:.06em;background:var(--red);border:0;font-weight:700;box-shadow:0 0 24px #ff3b3b88}.gate button:disabled{opacity:.6;cursor:wait}.gate button:focus-visible{outline-offset:3px;outline:2px solid #fff}.msg{color:#ff8a8a;min-height:1.4em;margin:0;font-size:14px}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.core{animation:none}.app-ring{transition:none}.shake{animation:none}}
