:root{--bg: #0b0f1a;--surface: #121828;--surface-solid: #121828;--raised: #1a2338;--field: #0b0f1a;--accent: #4f46e5;--accent-hover: #4338ca;--glow: #818cf8;--accent-soft: rgba(79, 70, 229, .14);--accent-ink: #ffffff;--profit: #1baf7a;--loss: #e66767;--danger: var(--loss);--warn: #f5c76a;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--benchmark: #9aa3b8;--text: #f4f6fb;--text-strong: #f4f6fb;--text-muted: #9aa3b8;--text-faint: #5c6784;--border: #232d45;--border-strong: #2e3a58;--hairline: rgba(255, 255, 255, .05);--shadow: 0 8px 24px rgba(0, 0, 0, .35);--gutter: 20px;--radius: 12px;--radius-card: 16px;--radius-button: 10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:dark}:root[data-theme=light]{--bg: #fafbfd;--surface: #ffffff;--surface-solid: #ffffff;--raised: #f1f4fa;--field: #fafbfd;--accent-soft: rgba(79, 70, 229, .1);--profit: #008300;--loss: #e34948;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--text: #0b0f1a;--text-strong: #0b0f1a;--text-muted: #4a5468;--text-faint: #8a94a8;--border: #e5e9f2;--border-strong: #d5dbe8;--hairline: rgba(11, 15, 26, .05);--shadow: 0 8px 24px rgba(11, 15, 26, .08);color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,textarea,select{font:inherit}h1,h2,p,ul,dl{margin:0}ul{padding-left:1.1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% -8%,rgba(79,70,229,.14),transparent 42rem)}main{position:relative;width:min(1180px,calc(100% - (var(--gutter) * 2)));margin:0 auto;padding-bottom:80px;display:grid;gap:24px;align-content:start}header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.brand{color:var(--text-strong);text-decoration:none;font-weight:700;letter-spacing:-.04em;font-size:1.25rem}.brand span,.eyebrow{color:var(--accent)}.session{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.tagline{color:var(--text-faint);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.identity{color:var(--text-muted);font-size:.84rem;max-width:15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:24px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-title h2{margin:0;font-size:1rem;letter-spacing:-.02em}.hint{color:var(--text-faint);font-size:.76rem}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.18em}h1{max-width:700px;margin:18px 0 24px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.12;font-weight:700;letter-spacing:-.02em}.lede{max-width:590px;color:var(--text-muted);font-size:1.06rem;line-height:1.65}.lede a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.missing{color:var(--warn)}.empty{color:var(--text-muted);padding:32px 0}.empty-state h2{margin-bottom:10px;font-size:1rem}.empty-state p{color:var(--text-muted);line-height:1.6;max-width:60ch}.panel:not(.clerk-host) label:not(.preset){display:block;margin:0 0 9px;color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel:not(.clerk-host) :is(textarea,input[type=text],input[type=email],input:not([type])){width:100%;border:1px solid var(--border-strong);background:var(--field);color:var(--text);border-radius:var(--radius);padding:14px;outline:none;margin-bottom:20px}.panel:not(.clerk-host) textarea{resize:vertical;line-height:1.55}.panel:not(.clerk-host) :is(textarea,input):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.panel:not(.clerk-host) button[type=submit],.button-link{display:block;width:100%;border:0;background:linear-gradient(180deg,var(--accent),var(--accent-hover));color:var(--accent-ink);font-weight:600;border-radius:var(--radius-button);padding:14px 20px;cursor:pointer;text-align:center;text-decoration:none;transition:transform .15s ease-out,box-shadow .2s ease-out}.panel:not(.clerk-host) button[type=submit]:not(:disabled):hover,.button-link:hover{transform:translateY(-1px);box-shadow:0 0 24px #818cf859}.panel:not(.clerk-host) button[type=submit]:not(:disabled):active,.button-link:active{transform:scale(.98)}.panel:not(.clerk-host) button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.ghost{border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);border-radius:var(--radius-button);padding:7px 14px;cursor:pointer;transition:color .2s ease-out,border-color .2s ease-out,transform .15s ease-out}.ghost:hover{color:var(--text);border-color:var(--accent)}.error{color:var(--danger);line-height:1.45;margin-top:12px}.badge{display:inline-block;margin:0 0 18px;padding:5px 12px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-faint);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.hero,.sign-in{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:64px;align-items:center;min-height:560px}.sign-in{min-height:70vh}.clerk-host{display:grid;justify-items:center;padding:12px;min-width:0}.clerk-host>*{max-width:100%}.presets{border:0;padding:0;margin:0 0 22px;display:grid;gap:10px}.presets legend{padding:0;margin-bottom:10px;color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.preset{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"radio title" "radio summary" "radio rule";gap:2px 12px;margin:0;padding:12px 14px;border:1px solid var(--border);background:var(--field);cursor:pointer;text-transform:none;letter-spacing:normal}.preset.is-selected{border-color:var(--accent);background:var(--accent-soft)}.preset input{grid-area:radio;align-self:center;margin:0;accent-color:var(--accent)}.preset-title{grid-area:title;color:var(--text);font-weight:700;font-size:.92rem}.preset-summary{grid-area:summary;color:var(--text-muted);font-size:.82rem;line-height:1.45}.preset-rule{grid-area:rule;margin-top:6px;color:var(--text-muted);font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.74rem;line-height:1.5;opacity:.85}.progress.is-failed{border-color:#ff8d9166}.stages{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 18px;flex-wrap:wrap}.stages li{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);color:var(--text-faint);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.stages .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.stages .done{color:var(--accent);border-color:#1baf7a66}.stages .current{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.progress-headline{color:var(--text);line-height:1.5}.progress-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:16px;margin-top:18px}.progress-meta dt{color:#7f918a;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.progress-meta dd{margin:6px 0 0;font-variant-numeric:tabular-nums}.notice.is-clarify{border-color:#f5c76a66}.notice.is-rejected{border-color:#ff8d9166}.notice p{color:var(--text-muted);line-height:1.6;max-width:70ch}.notice ul{margin-top:12px;color:var(--text);line-height:1.6}.notice .issues{color:var(--danger)}.notice .ghost{margin-top:16px}.results{display:grid;gap:24px;min-width:0}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.metrics article{background:var(--surface-solid);padding:20px;min-width:0}.metrics span{display:block;color:#7f918a;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.metrics strong{display:block;margin-top:10px;font-size:clamp(1.1rem,2.2vw,1.5rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.chart-canvas{height:360px;width:100%}.chart-title code,.panel-title code{color:var(--text-faint)}.chart-frame{position:relative}.chart-tooltip{position:absolute;top:0;left:0;pointer-events:none;white-space:pre-line;max-width:22rem;margin:12px 0 0 12px;padding:8px 10px;background:var(--surface-solid);border:1px solid var(--border);color:var(--text);font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums;z-index:2}.chart-tooltip[hidden]{display:none}.chart-note{margin:12px 0 0;color:var(--text-faint);font-size:12px;line-height:1.5}.chart-note.is-mismatch{color:var(--warn)}.trade-table-scroll{overflow-x:auto}.trade-table{width:100%;border-collapse:collapse;font-size:13px}.trade-table caption{caption-side:bottom;text-align:left;padding-top:12px;line-height:1.5}.trade-table th,.trade-table td{text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--hairline);white-space:nowrap;font-variant-numeric:tabular-nums}.trade-table th{color:var(--text-faint);font-weight:600}.trade-table .direction.is-long{color:var(--profit)}.trade-table .direction.is-short{color:var(--loss)}.trade-table .direction.is-unknown{color:var(--text-faint)}.nav-link{color:var(--text-muted);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}.nav-link:hover{color:var(--text);border-bottom-color:var(--accent)}.markets-hero{grid-template-columns:minmax(0,1fr)}.market-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.market-toolbar input{flex:0 1 20rem;min-width:12rem}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.market-card{font-family:inherit;text-align:left;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:16px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:12px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.market-card:hover{transform:translateY(-2px);border-color:var(--text-faint);box-shadow:var(--shadow)}.market-card:active{transform:scale(.99)}.market-card-head{display:flex;align-items:center;gap:10px}.market-initial{width:32px;height:32px;border-radius:50%;background:var(--raised);border:1px solid var(--border);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text-muted);flex-shrink:0}.market-initial.is-large{width:44px;height:44px;font-size:14px}.market-card-id{flex:1;min-width:0;display:flex;flex-direction:column}.market-card-id strong{font-size:14px;font-variant-numeric:tabular-nums}.market-card-id small{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-spark{width:72px;height:26px;flex-shrink:0}.market-spark path{stroke:var(--series-1)}.market-card-foot{display:flex;justify-content:space-between;align-items:baseline}.market-price{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.market-change{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.market-change.is-profit{color:var(--profit)}.market-change.is-loss{color:var(--loss)}.market-back{margin-bottom:14px}.market-detail-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}.market-detail-id{display:flex;align-items:center;gap:14px}.market-detail-id h2{margin:0;font-size:1.4rem;font-variant-numeric:tabular-nums}.market-detail-id h2 small{color:var(--text-faint);font-size:.8rem;font-weight:500}.market-detail-id p{margin:2px 0 0}.market-detail-id p strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.market-detail-id .is-profit{color:var(--profit)}.market-detail-id .is-loss{color:var(--loss)}.market-chart-canvas{height:320px}.mode-toggle{display:flex;gap:4px;background:var(--field);border:1px solid var(--border);border-radius:10px;padding:3px}.mode-chip{font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-radius:8px;padding:5px 14px;cursor:pointer}.mode-chip.is-active{color:var(--text);background:var(--raised);font-weight:600}.market-cta{display:inline-block;font-size:.9rem;font-weight:600;color:var(--accent-ink);background:linear-gradient(180deg,var(--accent),var(--accent-hover));border-radius:10px;padding:12px 24px;text-decoration:none;transition:transform .12s ease}.market-cta:hover{transform:translateY(-1px)}.lineage dl{display:grid;gap:12px;margin:0}.lineage-row{display:grid;grid-template-columns:minmax(8rem,.3fr) minmax(0,1fr);gap:6px 18px;align-items:baseline}.lineage dt{color:#7f918a;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.lineage dd{margin:0;min-width:0}.lineage code{color:var(--text-muted)}.lineage summary{cursor:pointer;color:var(--text-muted)}.accessions{display:grid;gap:.35rem;margin-top:.75rem;max-height:12rem;overflow:auto}.trades p{color:var(--text-muted)}.candidates-header p{color:var(--text-muted);line-height:1.6;max-width:70ch}.candidates-single{margin-top:14px;color:var(--warn);line-height:1.6}.candidates{display:grid;gap:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.candidate{border:1px solid var(--border);background:var(--surface);padding:20px;min-width:0;display:grid;gap:14px}.candidate.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.candidate-choose{display:flex;align-items:baseline;gap:10px}.candidate-name{font-weight:700;color:var(--text-strong);letter-spacing:-.01em}.candidate-rule{color:var(--text);line-height:1.65}.candidate-badge{color:var(--warn);font-size:.82rem;line-height:1.55}.candidate-facts{display:grid;gap:10px;font-size:.84rem}.candidate-facts dt{color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.candidate-facts dd{margin:2px 0 0;color:var(--text);line-height:1.5}.candidate-hash code{font-size:.72rem;color:var(--text-muted)}.signal-preview{border:1px dashed rgba(245,199,106,.45);background:#f5c76a0d;padding:12px 14px}.signal-preview-label{color:var(--warn);font-size:.8rem;line-height:1.55}.signal-preview-empty{margin-top:8px;color:var(--text-muted);font-size:.8rem;line-height:1.55}.signal-preview-dates{margin-top:8px;font-size:.8rem}.signal-preview-dates dt{color:var(--text-strong);font-weight:700;margin-top:6px}.signal-preview-dates dd{margin:2px 0 0;color:var(--text-muted)}.signal-preview-kind{color:var(--text-faint);text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.candidate-defaults summary{cursor:pointer;color:var(--accent);font-size:.82rem}.candidate-defaults ul{margin-top:10px;display:grid;gap:12px;padding-left:0;list-style:none}.candidate-defaults li{display:grid;gap:2px;border-left:2px solid var(--border-strong);padding-left:10px}.candidate-default-field{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;color:var(--text-faint)}.candidate-default-value{color:var(--text-strong);font-size:.84rem;font-weight:700}.candidate-default-reason{color:var(--text-muted);font-size:.82rem;line-height:1.5}.candidate-confirm{display:grid;gap:12px;border-top:1px solid var(--border);padding-top:14px}.candidate-confirm button{width:100%;border:0;padding:13px 16px;background:var(--accent);color:var(--accent-ink);font-weight:800;letter-spacing:.02em;cursor:pointer}.candidate-confirm button:disabled{opacity:.45;cursor:not-allowed}.bound-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hash-verdict h2{margin-bottom:10px;font-size:1rem}.hash-verdict p{color:var(--text-muted);line-height:1.6;max-width:70ch}.hash-verdict.is-match{border-color:#1baf7a66}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.candidates{grid-template-columns:1fr}}@media(max-width:840px){.tagline{display:none}.hero,.sign-in{grid-template-columns:1fr;gap:30px;min-height:0;padding:48px 0}h1{margin:14px 0 18px}}@media(max-width:620px){:root{--gutter: 14px}main{gap:18px}.panel{padding:18px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lineage-row{grid-template-columns:1fr}.chart-canvas{height:280px}.identity{max-width:9rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.transcript{list-style:none;margin:var(--gutter) 0 0;padding:0;display:grid;gap:12px}.transcript-turn{border:1px solid var(--border);padding:14px 16px;background:var(--surface)}.transcript-turn.is-user{border-left:3px solid var(--accent)}.transcript-turn.is-provest{border-left:3px solid var(--border-strong)}.transcript-who{margin:0 0 6px;color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.transcript-who .hint{text-transform:none;letter-spacing:0;font-weight:500}.transcript-text{margin:0;color:var(--text);line-height:1.6;max-width:70ch;white-space:pre-wrap}.transcript-questions{margin:10px 0 0;padding-left:18px;color:var(--text-muted);line-height:1.6}.composer{margin-top:var(--gutter)}.composer textarea{width:100%;border:1px solid var(--border-strong);background:var(--field);color:#eef7f4;padding:10px;outline:none;font:inherit;resize:vertical}.composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer textarea[aria-invalid=true]{border-color:var(--danger)}.composer-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px}.composer-actions .hint{margin:0}.session-status{margin-top:var(--gutter)}.session-slots{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);margin-top:12px}.session-slots-title{margin:0 0 6px;color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.session-slots ul{margin:0;padding-left:18px;line-height:1.7}.session-established ul{color:var(--text)}.session-missing ul{color:var(--warn)}.session-contradiction{margin-top:12px;border:1px solid var(--danger);padding:12px 14px}.session-contradiction p{margin:0 0 8px;color:var(--danger);line-height:1.6;max-width:70ch}.session-contradiction ul{margin:0;padding-left:18px;color:var(--danger);line-height:1.7}.candidates.is-single{grid-template-columns:minmax(0,1fr)}.candidates.is-single .candidate{max-width:760px}.hero.is-conversing{grid-template-columns:minmax(0,1fr);min-height:0;padding-bottom:8px}.conversation-abandon{margin-top:var(--gutter);display:flex;gap:14px;align-items:center;flex-wrap:wrap}.conversation-abandon .hint{margin:0}@media(max-width:900px){.session-slots{grid-template-columns:1fr}}.app-nav{display:flex;gap:4px;align-items:center}.nav-link{color:var(--text-muted);text-decoration:none;font-size:.86rem;font-weight:500;padding:7px 13px;border-radius:var(--radius-button);transition:color .2s ease-out,background-color .2s ease-out}.nav-link:hover{color:var(--text);background:var(--raised)}.builder{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}.builder-step-head{display:flex;align-items:baseline;gap:12px}.builder-step-head h2{font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.builder-step-head.is-secondary{justify-content:space-between}.builder-step-head.is-secondary h2{font-size:1.05rem}.builder-step-no{color:var(--glow);font-weight:600;font-size:.8rem}.builder-step-sub{margin:6px 0 14px 22px;color:var(--text-muted);font-size:.88rem}.builder-card{padding:20px}.builder-card textarea{width:100%;border:1px solid var(--border);background:var(--field);color:var(--text);border-radius:var(--radius);padding:16px 18px;font-size:1.05rem;line-height:1.6;outline:none;resize:none;margin-bottom:14px}.builder-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{font:inherit;font-size:.84rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;padding:7px 14px;cursor:pointer;transition:color .2s ease-out,border-color .2s ease-out,background-color .2s ease-out,transform .15s ease-out}.chip:hover:not(:disabled){color:var(--text);border-color:var(--glow);transform:translateY(-1px)}.chip:active:not(:disabled){transform:scale(.98)}.chip:disabled{opacity:.55;cursor:not-allowed}.chip.is-on{color:var(--glow);font-weight:600;background:var(--accent-soft);border-color:var(--accent)}.chip.is-dashed{border-style:dashed}.chip.is-dashed kbd{font-family:inherit;font-size:.7rem;color:var(--text-faint);border:1px solid var(--border);border-radius:5px;padding:1px 5px;margin-left:4px}.chip.is-locked{color:var(--text);background:var(--raised);cursor:default}.chip.is-selected-chip{display:inline-flex;align-items:center;gap:4px;color:var(--text);background:var(--raised);font-variant-numeric:tabular-nums}.chip.is-selected-chip button{font:inherit;background:none;border:0;color:var(--text-faint);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.chip.is-selected-chip button:hover{color:var(--loss)}.link-button{font:inherit;font-size:.84rem;font-weight:500;color:var(--glow);background:none;border:0;cursor:pointer;padding:6px 10px;border-radius:var(--radius-button)}.link-button:hover{background:var(--raised)}.symbol-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.selected-row{flex:1}.range-label{margin-left:8px;font-variant-numeric:tabular-nums}.range-picker .bound-dates{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.preset-rail{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.preset-card{font:inherit;flex-shrink:0;width:216px;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .15s ease-out,border-color .2s ease-out,box-shadow .2s ease-out}.preset-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--text-faint);box-shadow:var(--shadow)}.preset-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.preset-card-title{font-size:.9rem;font-weight:600;letter-spacing:-.01em}.preset-card-desc{font-size:.78rem;line-height:1.5;color:var(--text-muted);flex:1}.demo-badge{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:500;color:var(--text-muted);border:1px dashed var(--text-faint);border-radius:999px;padding:3px 10px;width:fit-content}.demo-badge i{width:5px;height:5px;border-radius:50%;border:1.5px solid var(--text-faint)}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#05081099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;padding-top:14vh}.palette{width:min(520px,calc(100vw - 32px));height:fit-content;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 24px 64px #00000080;overflow:hidden}.palette-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-faint)}.palette-head input{flex:1;font:inherit;color:var(--text);background:transparent;border:0;outline:none}.palette-esc{font:inherit;font-size:.7rem;color:var(--text-faint);background:var(--raised);border:1px solid var(--border);border-radius:6px;padding:3px 8px;cursor:pointer}.palette-body{max-height:320px;overflow-y:auto;padding:8px}.palette-row{display:flex;align-items:center;gap:12px;width:100%;font:inherit;color:var(--text);background:transparent;border:0;border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left}.palette-row:hover{background:var(--raised)}.palette-sym{font-weight:600;font-size:.9rem;width:72px;font-variant-numeric:tabular-nums}.palette-name{flex:1;font-size:.84rem;color:var(--text-muted)}.palette-mark{font-size:.76rem;font-weight:600;color:var(--text-faint)}.palette-mark.is-on{color:var(--glow)}.palette-empty{padding:24px;text-align:center;font-size:.84rem;color:var(--text-faint)}.builder-submit{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.builder-submit button[type=submit]{font:inherit;font-size:1rem;font-weight:600;color:var(--accent-ink);background:linear-gradient(180deg,var(--accent),var(--accent-hover));border:0;border-radius:var(--radius-button);padding:14px 28px;cursor:pointer;transition:transform .15s ease-out,box-shadow .2s ease-out}.builder-submit button[type=submit]:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 28px #818cf866}.builder-submit button[type=submit]:not(:disabled):active{transform:scale(.98)}.builder-submit button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.metrics strong.is-profit{color:var(--profit)}.metrics strong.is-loss{color:var(--loss)}.chart-controls{display:flex;align-items:center;gap:14px;margin-bottom:12px;font-size:12px;color:var(--text-muted)}.chart-legend{display:inline-flex;align-items:center;gap:8px}.chart-legend-swatch{width:20px;height:2px;background:var(--series-1);display:inline-block}.chart-hint{color:var(--text-faint)}.chart-ranges{margin-left:auto;display:flex;gap:6px}.range-chip{font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;padding:4px 13px;cursor:pointer;transition:transform .12s ease,color .12s ease}.range-chip:hover{color:var(--text);transform:translateY(-1px)}.range-chip.is-active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}.chart-frame{cursor:crosshair;-webkit-user-select:none;user-select:none}.chart-selection{position:absolute;top:0;bottom:0;background:#4f46e51f;border-left:1px solid var(--accent);border-right:1px solid var(--accent);pointer-events:none;z-index:1}.trade-pager{display:flex;justify-content:center;align-items:center;gap:14px;padding:14px 0 2px;border-top:1px solid var(--hairline);font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.trade-pager button{font-family:inherit;font-size:14px;color:var(--text-muted);background:var(--raised);border:1px solid var(--border);border-radius:8px;width:30px;height:30px;cursor:pointer}.trade-pager button:hover:not(:disabled){color:var(--text)}.trade-pager button:disabled{opacity:.35;cursor:default}.avatar{width:34px;height:34px;border-radius:50%;background:var(--raised);border:1px solid var(--border);color:var(--glow);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;display:grid;place-items:center;transition:transform .12s ease,border-color .12s ease}.avatar:hover{transform:translateY(-1px);border-color:var(--accent)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.account-menu{position:absolute;top:62px;right:28px;width:260px;background:var(--surface-solid);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:8px}.account-menu-id{padding:12px 14px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.account-menu-id strong{font-size:.86rem;font-weight:600}.account-menu-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:.84rem;color:var(--text-muted)}.account-menu-signout{display:block;width:100%;font-family:inherit;font-size:.84rem;font-weight:500;color:var(--loss);background:transparent;border:none;border-top:1px solid var(--border);padding:12px 14px;cursor:pointer;text-align:left;border-radius:0 0 12px 12px}.account-menu-signout:hover{background:var(--raised)}.panel-page{display:flex;flex-direction:column;gap:24px;padding:8px 0 48px}.panel-title-lg{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.quota-bar{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.quota-meter{flex:1;min-width:220px;max-width:420px}.quota-meter-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:.84rem}.quota-meter-row span{color:var(--text-muted)}.quota-meter-row strong{font-variant-numeric:tabular-nums}.quota-track{height:6px;border-radius:999px;background:var(--raised);overflow:hidden}.quota-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--glow))}.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.test-card{font-family:inherit;text-align:left;color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:16px;padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:14px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.test-card:not(:disabled):hover{transform:translateY(-2px);border-color:var(--text-faint);box-shadow:var(--shadow)}.test-card:disabled{cursor:default}.test-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.test-card-head strong{display:block;font-size:.94rem;letter-spacing:-.01em}.test-card-head small{color:var(--text-faint);font-size:.76rem;font-variant-numeric:tabular-nums}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:500;border:1px solid var(--border);border-radius:999px;padding:3px 10px;white-space:nowrap;flex-shrink:0;color:var(--text-muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.is-succeeded{color:var(--profit)}.status-pill.is-failed{color:var(--loss)}.status-pill.is-running .status-dot{animation:quota-pulse 1.6s ease-out infinite}@keyframes quota-pulse{0%{box-shadow:0 0 #4f46e573}70%{box-shadow:0 0 0 6px #4f46e500}to{box-shadow:0 0 #4f46e500}}.test-card-result{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.test-card-result small{display:block;color:var(--text-faint);font-size:.72rem;margin-bottom:2px}.test-card-return{font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.test-card-return.is-profit{color:var(--profit)}.test-card-return.is-loss{color:var(--loss)}.test-spark{width:120px;height:40px;flex-shrink:0}.test-spark path{stroke:var(--series-1)}.test-card-running small{display:block;color:var(--text-faint);margin-bottom:8px}.slide-track{height:4px;border-radius:999px;background:var(--raised);overflow:hidden;position:relative}.slide-bar{position:absolute;top:0;bottom:0;width:40%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--glow));animation:slide 1.6s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(240%)}}.test-card-error{margin:0;font-size:.8rem;line-height:1.5;color:var(--text-muted)}.panel-empty{display:grid;place-items:center;text-align:center;padding:72px 0;gap:12px}.panel-empty h1{margin:0;font-size:1.6rem;letter-spacing:-.02em}.panel-empty p{margin:0;max-width:42ch;color:var(--text-muted);line-height:1.65}.landing{display:flex;flex-direction:column;gap:72px;padding-bottom:64px}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.landing-badge{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:500;color:var(--text-muted);border:1px solid var(--border);background:var(--surface-solid);border-radius:999px;padding:5px 14px;margin-bottom:20px}.landing-badge span{width:6px;height:6px;border-radius:50%;background:var(--glow)}.landing-gradient{background:linear-gradient(90deg,var(--glow),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.landing-cta-row{display:flex;align-items:center;gap:14px;margin:28px 0 16px}.landing-secondary{color:var(--text-muted);font-size:.9rem;font-weight:500;text-decoration:none;padding:12px 16px}.landing-secondary:hover{color:var(--text)}.hero-demo{display:flex;flex-direction:column;gap:14px}.hero-typed{background:var(--field);border:1px solid var(--border);border-radius:12px;padding:14px 16px;min-height:48px;font-size:.92rem;line-height:1.5}.hero-caret{display:inline-block;width:2px;height:18px;background:var(--glow);vertical-align:-3px;margin-left:1px;animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;opacity:0;transform:translateY(6px);transition:opacity .35s ease-out,transform .35s ease-out}.hero-chips.is-on{opacity:1;transform:none}.hero-chart{display:block;width:100%;height:auto}.hero-chart line{stroke:var(--hairline);stroke-width:1}.hero-bench{fill:none;stroke:var(--benchmark);stroke-width:2;stroke-dasharray:6 6;opacity:.55}.hero-line{fill:none;stroke:var(--series-1);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s ease-out}.hero-line.is-drawn{stroke-dashoffset:0}.hero-markers{opacity:0;transition:opacity .4s ease-out}.hero-markers.is-on{opacity:1}.hero-markers polygon{fill:var(--surface-solid);stroke:var(--accent);stroke-width:2}.hero-markers circle{stroke:var(--surface-solid);stroke-width:2}.hero-markers circle.is-profit{fill:var(--profit)}.hero-markers circle.is-loss{fill:var(--loss)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;opacity:0;transform:translateY(6px);transition:opacity .45s ease-out,transform .45s ease-out}.hero-stats.is-on{opacity:1;transform:none}.hero-stats>div{background:var(--raised);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.hero-stats small{display:block;color:var(--text-faint);font-size:.7rem;margin-bottom:4px}.hero-stats strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.hero-stats strong.is-profit{color:var(--profit)}.hero-disclaimer{margin:0;font-size:.72rem;color:var(--text-faint)}.landing-steps{text-align:center}.landing-steps h2{margin:0 0 8px;font-size:1.8rem;letter-spacing:-.02em}.landing-sub{margin:0 0 32px;color:var(--text-muted)}.landing-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;text-align:left}.landing-step small{display:block;color:var(--glow);font-weight:600;font-size:.72rem;margin-bottom:10px;font-variant-numeric:tabular-nums}.landing-step h3{margin:0 0 6px;font-size:1.05rem;letter-spacing:-.02em}.landing-step p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.6}.landing-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.landing-fact h3{margin:0 0 6px;font-size:1rem;letter-spacing:-.02em}.landing-fact p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.6}.landing-legal{text-align:center}@media(max-width:860px){.landing-hero{grid-template-columns:minmax(0,1fr)}}.review-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.8rem}.review-legend li{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.review-legend small{color:var(--text-faint);font-size:.72rem}.review-swatch{width:18px;height:0;border-top-width:2px;border-top-style:solid}.review-swatch.is-color-0{border-top-color:var(--series-1)}.review-swatch.is-color-1{border-top-color:var(--benchmark)}.review-swatch.is-color-2{border-top-color:var(--text-faint)}.review-swatch.is-style-0{border-top-style:solid}.review-swatch.is-style-1{border-top-style:dashed}.review-swatch.is-style-2{border-top-style:dotted}.trade-table tr.is-selected{background:var(--accent-soft)}.trade-table .pnl{font-variant-numeric:tabular-nums}.trade-table .pnl.is-profit{color:var(--profit)}.trade-table .pnl.is-loss{color:var(--loss)}.rule-trace{display:flex;flex-direction:column;gap:16px}.rule-trace h3{margin:0 0 8px;font-size:13px;font-weight:600}.rule-trace ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.rule-trace li{font-size:13px;line-height:1.6}.rule-trace code{font-size:12px}.rule-trace .is-pass{color:var(--profit)}.rule-trace .is-fail{color:var(--text-faint)}.rule-trace .hint{color:var(--text-faint);font-size:12px}.note-editor{display:flex;flex-direction:column;gap:8px}.note-editor label{font-size:13px;color:var(--text-faint)}.note-editor textarea{width:100%;resize:vertical;font:inherit;font-size:13px;line-height:1.6;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.note-editor textarea[aria-invalid=true]{border-color:var(--loss)}.note-editor p{margin:0;font-size:12px}.note-editor-actions{display:flex;align-items:center;gap:12px}
