:root{--bg:#0d0d10;--panel:#16151c;--border:#2a2833;--text:#ece8f5;--muted:#9b93b0;--accent:#9d5cff;--danger:#ff5c7a;--bar-h:56px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 Geist,system-ui,-apple-system,Segoe UI,sans-serif}body.locked{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;position:fixed;inset:0;overflow:hidden}.muted{color:var(--muted)}.small{font-size:13px}button,.btn{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);cursor:pointer;white-space:nowrap;touch-action:manipulation;border-radius:10px;align-items:center;gap:2px;padding:8px 14px;font-weight:500;text-decoration:none;display:inline-flex}button:active,.btn:active{transform:translateY(1px)}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.on{background:color-mix(in srgb, var(--accent) 28%, var(--panel));border-color:var(--accent)}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.page{justify-content:center;align-items:center;min-height:100%;padding:32px 20px;display:flex}.hero{max-width:560px}.hero h1{letter-spacing:-.02em;margin:20px 0 12px;font-size:clamp(26px,5vw,38px);line-height:1.15}.hero p{margin:0 0 24px;font-size:16px}.logo{align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.btn.big{border-radius:14px;padding:14px 22px;font-size:18px}.hero .hint{margin:16px 0 0}.hero .hint b{color:var(--text);font-weight:500}.dl{max-width:1280px;min-height:100%;margin:0 auto;padding:clamp(20px,4vw,56px) clamp(16px,5vw,72px) 64px}.dl-head .logo{color:var(--text);font-size:22px;text-decoration:none}.dl-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,80px);margin-top:clamp(28px,6vh,72px);display:grid}.dl-hero h1{letter-spacing:-.025em;margin:0 0 16px;font-size:clamp(34px,4.4vw,60px);line-height:1.08}.dl-hero>p{max-width:36em;margin:0 0 32px;font-size:clamp(17px,1.5vw,21px)}.dl-btn{background:var(--accent);color:#fff;letter-spacing:-.01em;width:100%;max-width:620px;min-height:96px;box-shadow:0 12px 40px -12px color-mix(in srgb, var(--accent) 70%, transparent);touch-action:manipulation;border-radius:22px;justify-content:center;align-items:center;gap:16px;padding:20px 32px;font-size:clamp(22px,2.2vw,30px);font-weight:600;text-decoration:none;transition:filter .15s,transform 80ms;display:flex}.dl-btn:hover{filter:brightness(1.08)}.dl-btn:active{transform:translateY(2px)}.dl-btn:focus-visible{outline:4px solid color-mix(in srgb, var(--accent) 55%, #fff);outline-offset:4px}.dl-btn.disabled{background:var(--panel);color:var(--muted);box-shadow:none;pointer-events:none;border:1px solid var(--border)}.dl-meta{flex-wrap:wrap;gap:8px;margin-top:18px;font-size:16px;display:flex}.dl-meta span{background:var(--panel);border:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:6px 14px}.dl-meta span.bad{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.dl-hero>.dl-note{max-width:36em;margin:28px 0 0;font-size:16px}.dl-steps{background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:clamp(22px,3vw,40px)}.dl-steps h2{letter-spacing:-.01em;margin:0 0 20px;font-size:clamp(22px,2vw,28px)}.dl-steps ol{flex-direction:column;gap:20px;margin:0 0 20px;padding:0;list-style:none;display:flex}.dl-steps li{align-items:flex-start;gap:16px;display:flex}.dl-steps .num{width:40px;height:40px;color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.dl-steps h3{margin:6px 0 4px;font-size:clamp(18px,1.5vw,21px);font-weight:600}.dl-steps p{color:var(--muted);margin:0;font-size:clamp(16px,1.25vw,18px);line-height:1.5}.dl-steps p b{color:var(--text);font-weight:500}@media (width<=900px){.dl-main{grid-template-columns:1fr}}@media (width>=2400px){.dl{zoom:1.5}}@media (width>=3200px){.dl{zoom:2}}.viewer{position:fixed;inset:0}.stage{top:0;left:0;right:0;bottom:calc(var(--bar-h) + var(--safe-b));touch-action:none;background:#000;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.screen{touch-action:none;-webkit-user-drag:none;image-rendering:auto;display:block}.bar{height:calc(var(--bar-h) + var(--safe-b));padding:0 max(12px, env(safe-area-inset-right)) var(--safe-b) max(12px, env(safe-area-inset-left));background:var(--panel);border-top:1px solid var(--border);align-items:center;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.status{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.status>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status .board{font-size:14px;font-weight:600}.status .sub{color:var(--muted);font-size:13px}.status b{color:var(--text);font-weight:500}.fps{font-family:Geist Mono,ui-monospace,monospace;font-size:11px}.badge{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px}.overlay{top:0;left:0;right:0;bottom:calc(var(--bar-h) + var(--safe-b));z-index:5;background:#0d0d108c;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute}.overlay.solid{background:var(--bg)}.card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:18px;width:100%;max-width:440px;padding:28px 32px}.card h1{letter-spacing:-.01em;margin:0 0 8px;font-size:22px}.card p{margin:0 0 16px}.code{letter-spacing:.12em;color:var(--accent);margin:8px 0 12px;font-family:Geist Mono,ui-monospace,monospace;font-size:clamp(56px,16vw,96px);font-weight:700}.veil{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:10px 20px}.veil.big{color:var(--text);padding:16px 32px;font-size:22px;font-weight:600}.kbd-sink{opacity:0;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;bottom:0;left:0}@media (width<=720px){.bar .lbl{display:none}.bar button{padding:8px 11px;font-size:17px}.badge{display:none}}
