:root{--ink:#101828;--sub:#475467;--faint:#98A2B3;--line:rgba(16,24,40,.08);--accent:#4F46E5;--accent-soft:rgba(79,70,229,.1);--accent-line:rgba(79,70,229,.22);--ok:#12824E;--ok-bg:#EFF9F3;--wait:#5D6B82;--wait-bg:#EEF1F5;--paid:#B54708;--paid-bg:#FBEEE0;--danger:#B42318;--danger-bg:#FDECEA;--glass:rgba(255,255,255,.72);--glass-line:rgba(255,255,255,.6);--blur:blur(16px) saturate(1.5);--sh:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.07);--cta:linear-gradient(180deg,#5B54EC 0%,#4F46E5 55%,#4338CA 100%);--cta-sh:inset 0 1px 0 rgba(255,255,255,.35),0 2px 8px rgba(79,70,229,.35);--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",Meiryo,system-ui,sans-serif;--disp:"Space Grotesk","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0}body{color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;background:radial-gradient(900px 480px at 85% -10%,rgba(79,70,229,.14),transparent 60%),radial-gradient(700px 420px at -10% 30%,rgba(18,130,78,.1),transparent 55%),linear-gradient(135deg,#eef0fa,#f7f8fc 45%,#e9eff8);background-attachment:fixed}a{color:var(--accent);text-decoration:none}a:hover{color:#3730a3;text-decoration:underline}@keyframes fadeup{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@media(max-width:640px){.hide-sm{display:none!important}}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.status-strip{font-size:.9rem;color:#9aa4b2;margin:0}.status-strip--paused{color:#f0c96b}.status-strip--error,.error-line{color:#e08585}.spinner{display:inline-block;width:.8em;height:.8em;border:2px solid #3a4048;border-top-color:#9aa4b2;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-.15em}@keyframes spin{to{transform:rotate(360deg)}}button{background:#1f2937;color:#e6e6e6;border:1px solid #3a4048;border-radius:6px;padding:.4rem .9rem;font-size:.9rem;cursor:pointer}button:disabled{opacity:.5;cursor:default}.glass-panel{background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:16px;padding:20px;box-shadow:var(--sh)}@supports not (backdrop-filter: blur(1px)){.glass-panel{background:#ffffffed}}.btn-cta{background:var(--cta);color:#fff;border:1px solid #4338CA;padding:9px 15px;font:600 13px/1 var(--sans);border-radius:11px;cursor:pointer;box-shadow:var(--cta-sh)}.btn-cta:disabled{background:#e4e7ec;color:#98a2b3;border-color:#e4e7ec;box-shadow:none;cursor:not-allowed}.btn-ghost{background:#ffffffb3;color:var(--ink);border:1px solid rgba(16,24,40,.14);padding:8px 14px;font:600 13px/1 var(--sans);border-radius:11px;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--sans);padding:5px 9px;border-radius:999px}.chip--ok{color:var(--ok);background:var(--ok-bg)}.chip--paid{color:var(--paid);background:var(--paid-bg)}.chip--danger{color:var(--danger);background:var(--danger-bg)}.chip--wait{color:var(--wait);background:var(--wait-bg)}.chip--accent{color:var(--accent);background:var(--accent-soft)}.input-glass{background:#ffffffb3;border:1px solid rgba(16,24,40,.14);border-radius:11px;padding:9px 12px;font:400 13px/1.4 var(--sans);color:var(--ink)}.tab-pill{appearance:none;border:1px solid transparent;background:none;color:var(--sub);font:600 13px/1 var(--sans);padding:9px 15px;border-radius:999px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.tab-pill--on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.fadeup{animation:fadeup .4s ease}.floaty{animation:floaty 4s ease-in-out infinite}.pulse{animation:pulse 2s infinite}.mono-num{font-family:var(--mono);font-variant-numeric:tabular-nums}.glass-panel .status-strip{color:var(--sub)}.glass-panel .status-strip--error,.glass-panel .error-line{color:var(--danger)}.glass-panel .status-strip--paused{color:var(--paid)}
