:root{--bg:#0f172a;--surface:#1e293b;--surface-2:#334155;--text:#f1f5f9;--muted:#94a3b8;--primary:#6366f1;--primary-press:#4f46e5;--warn-bg:#422006;--warn-border:#a16207;--warn-text:#fde68a;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);-webkit-font-smoothing:antialiased}main{max-width:640px;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;min-height:100dvh;margin:0 auto;display:flex}.input-screen{justify-content:center}.hero{text-align:center;margin-bottom:8px}.logo-mark{width:56px;height:56px;color:var(--primary);margin:0 auto 10px;display:block}.tagline{color:var(--text);text-wrap:balance;margin:2px 0 0;font-size:1.05rem;font-weight:500}.scope-note{color:var(--muted);text-align:center;opacity:.85;text-wrap:balance;margin:20px 0 0;font-size:.8rem}.hero h1{margin:0 0 6px;font-size:2rem}.sub{color:var(--muted);margin:0}.btn{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;min-height:56px;padding:0 20px;font-size:1.05rem;font-weight:600;transition:background .15s,transform 50ms;display:flex}.btn:active{transform:scale(.985)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:active{background:var(--primary-press)}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--surface-2)}.btn:disabled,.btn.is-disabled{opacity:.5;pointer-events:none}.divider{color:var(--muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--surface-2);flex:1;height:1px}.paste{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--surface-2);border-radius:var(--radius);resize:vertical;padding:14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem}.paste:focus{outline:2px solid var(--primary);outline-offset:1px}.chart-loading{justify-content:center;align-items:center;min-height:240px;display:flex}.access-screen{justify-content:center}.access-form{flex-direction:column;gap:12px;display:flex}.access-input{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--surface-2);border-radius:var(--radius);text-align:center;letter-spacing:.08em;padding:14px 16px;font-size:1rem}.access-input:focus{outline:2px solid var(--primary);outline-offset:1px}.loading,.error-screen{text-align:center;justify-content:center;align-items:center}.loading p{color:var(--muted);font-size:1.1rem}.spinner{border:3px solid var(--surface-2);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result{justify-content:flex-start}.title{margin:4px 0;font-size:1.4rem}.link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:.95rem}.back{margin-bottom:-4px}.result-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.link.save{color:var(--primary);align-self:center;font-weight:600}.link.save:disabled{color:var(--muted);opacity:.5;cursor:default}.chart-wrap{border-radius:var(--radius);background:#fff;padding:16px 12px;position:relative}.chart{width:100%;min-height:300px}.chart-wrap.switching .chart{opacity:.4;transition:opacity .15s}.overlay{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chip{border:1px solid var(--surface-2);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:10px 16px;font-size:.95rem;font-weight:600;display:inline-block}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.chip:disabled{opacity:.5;pointer-events:none}.chip.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text);cursor:default;align-self:flex-start}.banner{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius);padding:12px 14px;font-size:.9rem}.banner p{margin:0}.banner p+p{margin-top:6px}.alternates{flex-direction:column;gap:10px;display:flex}.alternates .label{color:var(--muted);font-size:.85rem}.chips{flex-wrap:wrap;gap:10px;display:flex}.error-msg{color:var(--text);font-size:1.1rem}.error-screen .btn.primary{min-width:200px}
