:root{--bg: #0b0f1a;--bg-2: #131a2a;--card: rgba(255, 255, 255, .08);--card-strong: rgba(255, 255, 255, .14);--ink: #f5f5f0;--ink-muted: rgba(245, 245, 240, .65);--accent: #ff9f1c;--accent-2: #2ec4b6;--danger: #ff5d5d;--shadow: 0 20px 60px rgba(0, 0, 0, .35);--radius: 18px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 20%,rgba(46,196,182,.12),transparent 55%),radial-gradient(circle at 90% 0%,rgba(255,159,28,.18),transparent 45%),linear-gradient(140deg,#0a0f1f,#161f35 60%,#111824);min-height:100vh}a{color:inherit}.page{padding:40px 6vw 80px}.hero{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.hero h1{font-family:Fraunces,serif;font-size:clamp(2.4rem,4vw,3.5rem);margin:0}.hero p{margin:0;max-width:720px;color:var(--ink-muted)}.panel{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.label{font-size:.85rem;color:var(--ink-muted);margin-bottom:6px}.ticker-manager{display:grid;gap:10px}.ticker-input-row{display:grid;grid-template-columns:1fr auto;gap:10px}.ticker-actions{display:flex;gap:10px}.ticker-count{font-size:.82rem;color:var(--ink-muted)}.ticker-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}.ticker-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.12);font-size:.82rem}.ticker-chip button{width:20px;height:20px;border-radius:50%;border:none;padding:0;font-size:14px;line-height:1;color:var(--ink);background:#ff5d5d2e}input,select,textarea,button{font-family:inherit}input,select,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#070a1299;color:var(--ink)}textarea{min-height:80px}button{border:none;padding:12px 18px;border-radius:12px;cursor:pointer;font-weight:600;background:linear-gradient(120deg,var(--accent),#ffc463);color:#10131d;transition:transform .15s ease,box-shadow .15s ease}button.secondary{background:#ffffff1f;color:var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:12px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#ffffff1f;font-size:.85rem}.drawing-wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px}.canvas-shell{border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#0a0e1899;padding:14px;display:grid;gap:8px}.canvas-shell canvas{display:block;touch-action:none}.canvas-axes{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:stretch}.canvas-frame{border:2px solid rgba(255,255,255,.25);border-radius:12px;background:#06091099;overflow:hidden}.y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.8rem;color:#fff9;padding:4px 0}.x-axis{display:flex;justify-content:space-between;font-size:.8rem;color:#fff9;margin-left:64px}.span-track{position:relative;height:8px;margin-left:64px;border-radius:999px;background:#ffffff14;overflow:hidden}.span-chip{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#ff9f1c33,#ff9f1c99)}.pattern-preview{width:100%;height:120px;border-radius:14px;border:1px dashed rgba(255,255,255,.2);background:#0003}.matches{margin-top:24px;display:grid;gap:16px}.match-card{background:var(--card-strong);border-radius:var(--radius);padding:16px;display:grid;gap:12px}.match-header{display:flex;align-items:center;justify-content:space-between}.score{color:var(--accent-2);font-weight:600}.chart-wrap{background:#070a1299;border-radius:12px;padding:8px;position:relative}.chart-badge{position:absolute;top:10px;right:12px;background:#0a0e18e6;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 10px;font-size:.8rem;color:var(--ink)}.muted{color:var(--ink-muted)}.notice{padding:12px 16px;border-radius:14px;background:#ff9f1c1f;color:var(--ink)}@media (max-width: 900px){.drawing-wrap{grid-template-columns:1fr}}
