@charset "UTF-8";*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;--bg: #040804;--surface: #081008;--surface2: #0c180c;--border: #16301a;--border-hi: #285c34;--text: #5cff8f;--text2: #37b35f;--text3: #236e3d;--accent: #57ff8a;--accent-ink: #041007;--accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);--grad: linear-gradient(180deg, #8dffb4 0%, #35e06e 100%);--ok: #57ff8a;--danger: #ff6b6b;--danger-soft: color-mix(in srgb, var(--danger) 16%, transparent);--glow: 0 0 12px color-mix(in srgb, var(--accent) 55%, transparent);background:var(--bg);color:var(--text);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:-20vmax;z-index:-2;pointer-events:none;background:radial-gradient(48vmax 40vmax at 50% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%);opacity:.5}body:after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--accent) 5%,transparent) 0px,color-mix(in srgb,var(--accent) 5%,transparent) 1px,transparent 1px,transparent 3px);mix-blend-mode:overlay;opacity:.4}::selection{background:var(--accent);color:var(--accent-ink)}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:var(--glow)}a{color:var(--accent);text-decoration:none}a:hover{text-shadow:var(--glow)}.container{max-width:900px;margin:0 auto;padding:0 clamp(18px,4vw,36px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:14px;border-radius:8px;text-decoration:none;cursor:pointer;border:1px solid transparent;padding:11px 18px;transition:transform .15s,box-shadow .2s,border-color .15s,background .15s,color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 16px -3px color-mix(in srgb,var(--accent) 50%,transparent)}.btn--primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 0 24px -2px color-mix(in srgb,var(--accent) 65%,transparent)}.btn--ghost{background:transparent;color:var(--accent);border-color:var(--border-hi)}.btn--ghost:not(:disabled):hover{border-color:var(--accent);box-shadow:inset 0 0 16px -6px color-mix(in srgb,var(--accent) 60%,transparent)}.btn--danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn--danger:not(:disabled):hover{background:var(--danger-soft)}.btn--sm{padding:7px 12px;font-size:12.5px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field__label{font-size:12px;color:var(--text2)}.field__label:before{content:"> ";color:var(--text3)}.field__hint{font-size:11.5px;color:var(--text3)}.input,.textarea,.select{width:100%;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--text3)}.textarea{resize:vertical;min-height:90px;line-height:1.55}.select{appearance:none;cursor:pointer}.field--invalid .input,.field--invalid .textarea,.field--invalid .select{border-color:var(--danger)}.field__error{font-size:11.5px;color:var(--danger)}.panel{background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--border);border-radius:12px;padding:clamp(18px,3vw,26px)}.panel__title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text);text-shadow:var(--glow)}.panel__title:before{content:"## ";color:var(--text3);text-shadow:none}.panel__sub{margin:0 0 18px;font-size:12.5px;color:var(--text3)}.note{font-size:12.5px;color:var(--text3)}.note--ok{color:var(--ok)}.note--err{color:var(--danger)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row--between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 620px){.grid-2{grid-template-columns:1fr}}.stack-v{display:flex;flex-direction:column;gap:12px}.spinner{display:inline-block;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.25}}
