:root{--ink:#111827;--muted:#667085;--line:#d9dee7;--paper:#f4f5f0;--card:#fff;--navy:#101c2c;--lime:#d8ff63;--mint:#83e7d2;--font-geist-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-geist-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif;margin:0}button,input{font:inherit}button{cursor:pointer}.auth-screen{background:radial-gradient(circle at 75% 20%,#23405b 0,transparent 32%),var(--navy);place-items:center;min-height:100vh;padding:30px;display:grid}.auth-card{color:#fff;background:#142338;border:1px solid #34475d;border-radius:24px;width:min(520px,100%);padding:44px;box-shadow:0 30px 80px #0004}.auth-card>.brand-mark{margin-bottom:30px}.auth-card .kicker{color:var(--lime);margin-bottom:14px;display:block}.auth-card h1{margin:0 0 20px;font-size:54px}.auth-card h1 em{color:#b9c6d4}.auth-card p{color:#a9b5c4;font-size:14px;line-height:1.65}.apple-signin{color:#050505;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:11px;height:50px;margin-top:28px;font-weight:730;text-decoration:none;display:flex}.apple-signin span{font-size:13px}.auth-card>small{text-align:center;color:#7f90a5;margin-top:18px;font-size:9px;display:block}.auth-setup{background:#2a2a24;border:1px solid #66552a;border-radius:10px;flex-direction:column;gap:6px;margin-top:25px;padding:15px;display:flex}.auth-setup b{color:#ffdb69;font-size:11px}.auth-setup span{color:#c8c1aa;font-size:10px;line-height:1.5}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#f4f5f0f0;border-bottom:1px solid #dfe2dc;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 max(24px,50vw - 640px);display:grid;position:sticky;top:0}.brand{color:var(--navy);letter-spacing:-.02em;align-items:center;gap:11px;font-weight:760;text-decoration:none;display:flex}.brand-mark{background:var(--navy);width:34px;height:34px;color:var(--lime);font:800 12px/1 var(--font-geist-mono);letter-spacing:.05em;border-radius:9px;place-items:center;display:grid}.main-nav{justify-self:center;gap:28px;display:flex}.main-nav a{color:#5e6979;font-size:12px;font-weight:650;text-decoration:none}.main-nav a:hover{color:var(--ink)}.paper-inline{color:#137a5c;font:750 9px/1 var(--font-geist-mono);letter-spacing:.08em;background:#d9f3e8;border-radius:999px;padding:6px 8px}.paper-dot{background:#15a273;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #15a2731c}.refresh-meta{font:600 12px/1 var(--font-geist-mono);justify-self:end;align-items:center;gap:10px;display:flex}.refresh-meta form{margin:0}.user-chip{text-overflow:ellipsis;white-space:nowrap;color:#566172;max-width:150px;font-size:10px;overflow:hidden}.muted{color:var(--muted);font-family:var(--font-geist-sans);font-weight:500}.icon-button{border:1px solid var(--line);background:#fff;border-radius:9px;width:34px;height:34px;font-size:18px}.icon-button:disabled{opacity:.45}.page-shell{width:min(1280px,100% - 48px);margin:0 auto}.hero-grid{grid-template-columns:1.3fr .7fr;align-items:center;gap:80px;min-height:340px;padding:56px 0 44px;display:grid}.eyebrow,.kicker{color:#4d596b;font:720 10px/1.3 var(--font-geist-mono);letter-spacing:.12em}.eyebrow{align-items:center;gap:8px;display:flex}.eyebrow span{background:#19a680;width:22px;height:2px}h1{letter-spacing:-.065em;margin:18px 0 22px;font-size:clamp(44px,6vw,78px);font-weight:760;line-height:.96}h1 em{color:#556172;font-family:Georgia,serif;font-weight:400}.intro{max-width:640px;color:var(--muted);margin:0;font-size:16px;line-height:1.65}.strategy-hero{min-height:400px}.hero-stat-grid{background:var(--navy);color:#fff;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px;display:grid;box-shadow:0 22px 50px #101c2c20}.hero-stat-grid div{flex-direction:column;gap:6px;display:flex}.hero-stat-grid strong{color:var(--lime);font:800 28px/1 var(--font-geist-mono)}.hero-stat-grid span{color:#a8b4c4;font-size:10px;line-height:1.35}.hero-stat-grid p{color:#a8b4c4;border-top:1px solid #304055;grid-column:1/-1;margin:2px 0 0;padding-top:18px;font-size:11px;line-height:1.55}.scanner-toolbar{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:22px;scroll-margin-top:90px;display:flex}.scanner-toolbar h2{margin-top:7px}.scan-form{align-items:flex-end;gap:9px;display:flex}.scan-form label{flex-direction:column;gap:7px;display:flex}.scan-form label>span{color:#667085;font:700 9px/1 var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase}.scan-form input,.scan-form select{min-width:170px;height:44px;color:var(--ink);background:#fff;border:1px solid #cbd1da;border-radius:9px;outline:none;padding:0 12px}.scan-form input{text-transform:uppercase;width:150px;min-width:150px;font:750 15px/1 var(--font-geist-mono)}.scan-form input:focus,.scan-form select:focus{border-color:#178d70;box-shadow:0 0 0 3px #178d7014}.scan-form button,.playbook-title button{background:var(--navy);color:#fff;border:0;border-radius:9px;height:44px;padding:0 18px;font-weight:700}.ticker-form{background:var(--navy);color:#fff;border-radius:18px;padding:26px;box-shadow:0 22px 50px #101c2c20}.ticker-form label{color:#9aa8bb;font:700 10px/1 var(--font-geist-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;display:block}.ticker-control{gap:8px;display:flex}.ticker-control input{color:#fff;text-transform:uppercase;min-width:0;font:700 19px/1 var(--font-geist-mono);background:#1a2b40;border:1px solid #34445a;border-radius:10px;outline:none;flex:1;padding:13px 14px}.ticker-control input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #d8ff631c}.ticker-control button{background:var(--lime);color:#152031;border:0;border-radius:10px;padding:0 18px;font-weight:750}.ticker-form p{color:#8997aa;margin:12px 0 0;font-size:11px}.notice{color:#69551e;background:#fff9dc;border:1px solid #e1c77b;border-radius:10px;margin:-20px 0 22px;padding:11px 14px;font-size:13px}.setup-card{background:var(--card);border:1px solid #d8dde5;border-radius:24px;overflow:hidden;box-shadow:0 26px 70px #2931440d}.setup-card[aria-busy=true]{opacity:.7}.setup-head{background:var(--navy);color:#fff;grid-template-columns:1fr 1fr;display:grid}.quote-block{padding:30px 34px}.ticker-line{align-items:center;gap:13px;display:flex}.ticker-symbol{font:800 17px/1 var(--font-geist-mono);letter-spacing:.04em}.strategy-tag{color:#d3dbe7;border-left:1px solid #4a5a6e;padding-left:13px;font-size:12px}.status-badge{color:#b7c2d1;font:700 9px/1 var(--font-geist-mono);letter-spacing:.09em;border:1px solid #536275;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;display:inline-flex}.status-badge i{background:#f2c14e;border-radius:50%;width:6px;height:6px}.status-badge.qualified i{background:#4ed1a1}.price-line{align-items:baseline;gap:14px;margin-top:17px;display:flex}.price-line strong{letter-spacing:-.05em;font-size:42px;line-height:1}.price-line span{font:700 12px/1 var(--font-geist-mono)}.up{color:#66dfb2}.down{color:#ff928c}.quote-block p,.signal-panel p{color:#9aa8ba;margin:9px 0 0;font-size:12px}.signal-panel{background:#17263a;border:1px solid #2c3c50;border-radius:14px;flex-direction:column;justify-content:center;margin:16px;padding:25px 28px;display:flex}.signal-label{color:var(--lime);font:720 9px/1 var(--font-geist-mono);letter-spacing:.12em;margin-bottom:10px}.signal-panel strong{font-size:18px}.signal-panel small{color:#dbe4ee;margin-top:13px;font-size:10px;line-height:1.45}.metrics-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.metric{border-right:1px solid var(--line);flex-direction:column;gap:7px;padding:24px 28px;display:flex}.metric:last-child{border:0}.metric>span{color:var(--muted);font-size:11px}.metric strong{letter-spacing:-.025em;font-size:20px}.metric small{color:#8a93a1;font-size:10px}.legs-section{padding:34px}.section-title-row{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}h2{letter-spacing:-.04em;margin:5px 0 0;font-size:28px}.legend{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.source-pill{color:#5c6878;font:700 9px/1 var(--font-geist-mono);letter-spacing:.08em;border:1px solid #bfc8d4;border-radius:999px;padding:7px 10px}.buy-key,.sell-key{background:var(--mint);border-radius:2px;width:8px;height:8px;margin-left:10px}.sell-key{background:#efad78}.legs-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.leg-row{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1fr .8fr 1.3fr 1fr .8fr .7fr;align-items:center;gap:12px;min-height:72px;padding:0 20px;display:grid}.leg-row:last-child{border:0}.table-head{color:#737d8c;min-height:38px;font:700 9px/1 var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;background:#f7f8f6}.leg-row>span{flex-direction:column;gap:5px;min-width:0;font-size:12px;display:flex}.leg-row small{color:#8b94a1;white-space:nowrap;font-size:9px}.action{width:54px;font:800 9px/1 var(--font-geist-mono);letter-spacing:.06em;border-radius:5px;justify-content:center;padding:6px 7px;display:inline-flex}.action.buy{color:#106d5b;background:#d8f5ee}.action.sell{color:#8d4b1d;background:#fff0e1}.number{font-family:var(--font-geist-mono);font-variant-numeric:tabular-nums}.emphasis{font-weight:800;font-size:14px!important}.risk-grid{border-top:1px solid var(--line);grid-template-columns:1.35fr .65fr;display:grid}.risk-main,.exit-card{padding:32px 34px}.risk-main h3{letter-spacing:-.035em;margin:8px 0;font-size:22px}.risk-main>p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.6}.risk-chips{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.risk-chips span{color:#546071;font:600 10px/1 var(--font-geist-mono);background:#f2f4ef;border-radius:7px;padding:8px 10px}.backtest-section{padding:86px 0 0;scroll-margin-top:90px}.backtest-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:22px;display:flex}.backtest-heading>div{max-width:760px}.backtest-heading h2{margin:8px 0 9px;font-size:36px}.backtest-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.history-badge{color:#596677;font:720 9px/1 var(--font-geist-mono);letter-spacing:.08em;border:1px solid #b9c3d0;border-radius:999px;padding:8px 11px}.backtest-form{background:var(--navy);border-radius:15px 15px 0 0;grid-template-columns:.6fr 2fr 1fr 1fr auto;gap:9px;padding:18px;display:grid}.backtest-form label{flex-direction:column;gap:7px;min-width:0;display:flex}.backtest-form label>span{color:#9aa8ba;font:700 8px/1 var(--font-geist-mono);letter-spacing:.09em;text-transform:uppercase}.backtest-form input,.backtest-form select{color:#fff;background:#192a3e;border:1px solid #35465c;border-radius:8px;outline:none;width:100%;min-width:0;height:42px;padding:0 11px}.backtest-form input:focus,.backtest-form select:focus{border-color:var(--lime)}.backtest-form input:first-of-type{text-transform:uppercase}.backtest-form button{background:var(--lime);color:#132035;border:0;border-radius:8px;align-self:end;height:42px;padding:0 16px;font-weight:750}.backtest-form button:disabled{opacity:.55}.backtest-results,.backtest-empty,.backtest-error{background:#fff;border:1px solid #d6dce4;border-top:0;border-radius:0 0 17px 17px}.backtest-empty{color:#687382;justify-content:center;align-items:center;gap:15px;min-height:180px;display:flex}.backtest-empty>span{color:#18a27b;font-size:28px}.backtest-empty b{color:var(--ink);font-size:13px}.backtest-empty p{margin:5px 0 0;font-size:10px}.backtest-error{color:#8d352d;background:#fff4f2;flex-direction:column;gap:5px;padding:22px;display:flex}.backtest-error b{font-size:12px}.backtest-error span{font-size:11px}.backtest-summary-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:25px 28px;display:flex}.backtest-summary-head h3{max-width:900px;margin:7px 0 0;font-size:22px}.fidelity{color:#137a5c;font:730 8px/1 var(--font-geist-mono);letter-spacing:.07em;white-space:nowrap;background:#d9f3e8;border-radius:999px;padding:7px 9px}.fidelity.mechanical-proxy{color:#735b10;background:#fff1c4}.backtest-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.equity-strip{border-bottom:1px solid var(--line);background:#fbfcf9;align-items:flex-end;gap:3px;height:94px;padding:20px 28px 16px;display:flex;overflow:hidden}.equity-strip i{opacity:.78;background:#1ca27c;border-radius:3px 3px 0 0;flex:1;min-width:2px;max-width:18px}.fidelity-note{border-bottom:1px solid var(--line);padding:20px 28px}.fidelity-note b{font-size:11px}.fidelity-note p{color:var(--muted);margin:6px 0;font-size:11px;line-height:1.55}.fidelity-note small{color:#8993a2;font-size:9px}.trade-log{padding:10px 28px 24px}.trade-log-head,.trade-log-row{border-bottom:1px solid #e5e8ec;grid-template-columns:1fr 1fr 1.5fr .5fr .8fr;align-items:center;gap:12px;min-height:42px;font-size:10px;display:grid}.trade-log-head{color:#7c8795;min-height:34px;font:700 8px/1 var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase}.trade-log-row b{text-align:right;font-family:var(--font-geist-mono)}.exit-card{border-left:1px solid var(--line);background:#fafbf8}.exit-card ol{margin:16px 0 0;padding:0;list-style:none}.exit-card li{border-bottom:1px solid #e5e8e1;justify-content:space-between;gap:20px;padding:12px 0;font-size:11px;display:flex}.exit-card li span{color:var(--muted);text-align:right}.brokers-section{padding:86px 0 0;scroll-margin-top:90px}.broker-heading{justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:22px;display:flex}.broker-heading>div:first-child{max-width:700px}.broker-heading h2{margin:8px 0 9px;font-size:36px}.broker-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.master-switch{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:14px;min-width:270px;padding:12px 14px;display:flex}.master-switch>span{flex-direction:column;flex:1;gap:4px;display:flex}.master-switch b{font-size:12px}.master-switch small{color:var(--muted);font-size:9px}.master-switch input,.broker-toggle input{opacity:0;pointer-events:none;position:absolute}.master-switch i,.broker-toggle i{background:#cbd2da;border-radius:999px;flex:none;width:42px;height:24px;transition:all .18s;position:relative}.master-switch i:after,.broker-toggle i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1018283b}.master-switch input:checked+i,.broker-toggle input:checked+i{background:#159a76}.master-switch input:checked+i:after,.broker-toggle input:checked+i:after{transform:translate(18px)}.broker-mode-banner{color:#586474;background:#eef0eb;border:1px solid #d9ded7;border-radius:11px;align-items:center;gap:13px;padding:13px 15px;font-size:11px;display:flex}.broker-mode-banner b{color:#536071;font:760 9px/1 var(--font-geist-mono);letter-spacing:.09em;white-space:nowrap}.broker-mode-banner.armed{color:#176a53;background:#e2f7ef;border-color:#bde8d9}.broker-mode-banner.armed b{color:#0f7859}.broker-notice{color:#6b571f;background:#fff9dc;border:1px solid #e0c87b;border-radius:10px;margin-top:12px;padding:11px 14px;font-size:12px}.broker-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.broker-grid[aria-busy=true]{opacity:.65}.broker-card{background:#fff;border:1px solid #d6dce4;border-radius:16px;padding:22px;transition:all .18s}.broker-card.active{border-color:#159a76;box-shadow:inset 0 0 0 1px #159a76,0 15px 35px #157c5f0d}.broker-card-head{align-items:center;gap:12px;display:flex}.broker-logo{color:#e37c3d;width:42px;height:42px;font:800 16px/1 var(--font-geist-mono);background:#fff0e7;border-radius:11px;place-items:center;display:grid}.broker-logo.webull{color:#376ed8;background:#e6eeff}.broker-card-head>div:nth-child(2){flex:1}.broker-card h3{margin:0 0 3px;font-size:16px}.broker-card-head p{color:var(--muted);margin:0;font-size:10px}.connection-badge{color:#687382;font:730 8px/1 var(--font-geist-mono);letter-spacing:.06em;background:#edf0eb;border-radius:999px;padding:6px 8px}.connection-badge.connected{color:#137a5c;background:#d9f3e8}.connection-badge.ready{color:#785d09;background:#fff2c7}.connection-badge.error{color:#9b3229;background:#ffe2df}.broker-detail{color:#626d7c;min-height:36px;margin:19px 0 14px;font-size:11px;line-height:1.55}.capability-list{flex-wrap:wrap;gap:7px;display:flex}.capability-list span{color:#5a6675;background:#f3f5f1;border-radius:7px;padding:7px 8px;font-size:9px}.account-row{color:var(--muted);border-top:1px solid #e3e7ec;justify-content:space-between;margin-top:16px;padding-top:14px;font-size:10px;display:flex}.account-row b{color:var(--ink);font-family:var(--font-geist-mono)}.broker-actions{border-top:1px solid #e3e7ec;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:17px;display:flex}.broker-toggle{cursor:pointer;color:#526071;align-items:center;gap:9px;font-size:10px;font-weight:700;display:flex}.broker-toggle i{width:36px;height:20px}.broker-toggle i:after{width:14px;height:14px}.broker-toggle input:checked+i:after{transform:translate(16px)}.broker-toggle:has(input:disabled){opacity:.42;cursor:not-allowed}.broker-actions button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 12px;font-size:10px;font-weight:700}.broker-actions button:disabled{opacity:.38;cursor:not-allowed}.secret-help{color:#8a94a1;margin-top:13px;font-size:9px;line-height:1.45;display:block}.automation-lock{background:var(--navy);color:#fff;border-radius:13px;gap:14px;margin-top:14px;padding:18px 20px;display:flex}.automation-lock>span{font-size:18px}.automation-lock b{font-size:12px}.automation-lock p{color:#a9b5c4;margin:5px 0 0;font-size:10px;line-height:1.55}.admin-section{padding:86px 0 0;scroll-margin-top:90px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:20px;display:flex}.admin-heading h2{margin:8px 0 9px;font-size:36px}.admin-heading p{color:var(--muted);margin:0;font-size:13px}.admin-heading button{background:var(--navy);color:#fff;border:0;border-radius:9px;padding:12px 15px;font-size:10px;font-weight:700}.scheduler-grid{grid-template-columns:.95fr 1.05fr;gap:14px;margin-bottom:38px;display:grid}.scheduler-control,.signal-history{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.scheduler-control{padding:21px}.scheduler-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.scheduler-title>div{grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;display:grid}.scheduler-title small{color:#7b8694;grid-column:2;font-size:9px}.scheduler-dot{background:#9aa3ad;border-radius:50%;grid-row:span 2;width:9px;height:9px}.scheduler-dot.on{background:#20a278;box-shadow:0 0 0 5px #dff5ec}.scheduler-form{grid-template-columns:1fr 140px;gap:10px;margin-top:18px;display:grid}.scheduler-form label{color:#6d7886;flex-direction:column;gap:7px;font-size:9px;font-weight:700;display:flex}.scheduler-form input{width:100%;color:var(--ink);font:600 11px var(--font-geist-mono);background:#fbfcfa;border:1px solid #cfd5dd;border-radius:8px;padding:11px}.scheduler-control fieldset{border:0;flex-wrap:wrap;gap:16px;margin:18px 0;padding:0;display:flex}.scheduler-control legend{color:#6d7886;width:100%;margin-bottom:9px;font-size:9px;font-weight:700}.scheduler-control fieldset label{color:#465365;align-items:center;gap:7px;font-size:10px;display:flex}.execution-mode{margin:18px 0}.execution-mode>span{color:#6d7886;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.execution-mode>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.execution-mode button{color:#455263;text-align:left;background:#fbfcfa;border:1px solid #d3d9e0;border-radius:9px;flex-direction:column;align-items:flex-start;gap:4px;padding:11px;display:flex}.execution-mode button.active{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:#f0f4ed}.execution-mode button:disabled{opacity:.42;cursor:not-allowed}.execution-mode button b{font-size:10px}.execution-mode button small{color:#7d8895;font-size:8px}.execution-mode>p{color:#87919d;margin:8px 0 0;font-size:8px;line-height:1.5}.scheduler-actions{gap:8px;display:flex}.scheduler-actions button,.admin-subheading button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 12px;font-size:10px;font-weight:700}.scheduler-actions button.secondary{color:#465365;background:#edf0eb}.scheduler-actions button:disabled{opacity:.4;cursor:not-allowed}.scheduler-notice,.scheduler-error{color:#176d55;background:#edf7f2;border-radius:8px;margin:14px 0 0;padding:10px;font-size:9px;line-height:1.5}.scheduler-error{color:#953d35;background:#fff0ee}.scheduler-meta{border-top:1px solid var(--line);color:#7a8592;justify-content:space-between;gap:15px;margin-top:17px;padding-top:14px;font-size:8px;display:flex}.scheduler-meta span{flex-direction:column;gap:4px;display:flex}.scheduler-meta b{color:#405064;font:650 9px var(--font-geist-mono)}.signal-history>div:first-child{border-bottom:1px solid var(--line);background:#f7f8f6;justify-content:space-between;align-items:center;min-height:51px;padding:0 17px;display:flex}.signal-history>div:first-child>b{color:#778290;font-size:9px}.signal-history>button{border:0;border-bottom:1px solid var(--line);text-align:left;color:#566273;background:#fff;grid-template-columns:.62fr 1.45fr .75fr;align-items:center;gap:12px;width:100%;padding:12px 17px;font-size:9px;display:grid}.signal-history>button:hover{background:#fbfcfa}.signal-history>button:last-child{border:0}.signal-history>button>span:first-child{flex-direction:column;gap:3px;display:flex}.signal-history>button strong{color:var(--ink);font-size:12px}.signal-history>button small,.signal-history time{color:#83909e;font-size:8px}.signal-empty{color:#7b8694;padding:32px 20px;font-size:10px;line-height:1.6}.admin-subheading{justify-content:space-between;align-items:flex-end;margin:0 0 15px;display:flex}.admin-subheading h3{margin:6px 0;font-size:22px}.admin-subheading p{color:var(--muted);margin:0;font-size:11px}.environment-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 15px;display:flex}.environment-heading h3{margin:6px 0;font-size:22px}.environment-heading p{color:var(--muted);margin:0;font-size:11px}.environment-heading button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 12px;font-size:10px;font-weight:700}.environment-warning,.environment-notice{color:#765c16;background:#fff4d7;border-radius:10px;flex-direction:column;gap:5px;margin-bottom:12px;padding:13px 15px;font-size:10px;display:flex}.environment-warning code{font-family:var(--font-geist-mono)}.environment-notice{color:#176d55;background:#e8f6f0}.environment-groups{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:38px;display:grid}.environment-groups article{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.environment-group-title{border-bottom:1px solid var(--line);background:#f7f8f6;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.environment-group-title b{font-size:12px}.environment-group-title span{color:#7e8996;font-size:8px}.environment-row{border-bottom:1px solid var(--line);grid-template-columns:1.15fr .9fr auto;align-items:center;gap:12px;min-height:91px;padding:13px 15px;display:grid}.environment-row:last-child{border:0}.environment-row>div:first-child{flex-direction:column;gap:4px;display:flex}.environment-row>div:first-child b{font-size:10px}.environment-row code{color:#687586;font-size:8px}.environment-row small{color:#8b95a1;font-size:8px;line-height:1.4}.environment-field{position:relative}.environment-field input,.environment-field select{color:#435164;width:100%;font:600 9px var(--font-geist-mono);background:#fbfcfa;border:1px solid #d1d7de;border-radius:7px;padding:9px 48px 9px 9px}.environment-field select{padding-right:9px}.setting-source{color:#7b8591;font:700 6px var(--font-geist-mono);background:#ecefeb;border-radius:999px;padding:4px 5px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.setting-source.admin{color:#147457;background:#dcf2e9}.setting-source.server{color:#47627f;background:#e6edf7}.environment-actions{flex-direction:column;gap:5px;display:flex}.environment-actions button{background:var(--navy);color:#fff;border:0;border-radius:6px;min-width:48px;padding:7px;font-size:8px;font-weight:700}.environment-actions button:last-child{color:#66717e;background:#eef0ed}.environment-actions button:disabled{opacity:.35;cursor:not-allowed}.admin-table{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.admin-row{border-bottom:1px solid var(--line);grid-template-columns:1.5fr .55fr .65fr .75fr 1.25fr;align-items:center;gap:15px;min-height:62px;padding:0 18px;font-size:10px;display:grid}.admin-row:last-child{border:0}.admin-head{color:#75808e;min-height:36px;font:700 8px/1 var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;background:#f7f8f6}.admin-row>span:first-child{flex-direction:column;gap:4px;display:flex}.admin-row small{color:#818b99;font-size:9px}.admin-row>span:nth-child(3){text-transform:capitalize;align-items:center;gap:6px;display:flex}.admin-row i{background:#20a278;border-radius:50%;width:7px;height:7px}.admin-row i.suspended{background:#d85a50}.admin-actions{gap:6px;display:flex}.admin-actions button{color:#485566;background:#fff;border:1px solid #cfd5dd;border-radius:7px;padding:7px 8px;font-size:9px}.admin-actions button:last-child{color:#9a392f}.admin-actions button:disabled{opacity:.35;cursor:not-allowed}.admin-empty{color:#7b8694;padding:30px;font-size:11px}.rules-section{grid-template-columns:.32fr .68fr;gap:60px;padding:82px 0 62px;display:grid}.rules-heading h2{margin:9px 0 12px;font-size:35px}.rules-heading p{color:var(--muted);font-size:13px;line-height:1.6}.rule-grid{border-top:1px solid #ccd2dc;grid-template-columns:repeat(2,1fr);display:grid}.rule-card{border-bottom:1px solid #ccd2dc;padding:28px 22px 28px 52px;position:relative}.rule-card:nth-child(odd){border-right:1px solid #ccd2dc}.rule-card>span{color:#8a94a3;font:650 10px/1 var(--font-geist-mono);position:absolute;top:30px;left:2px}.rule-card h3{margin:0 0 8px;font-size:15px}.rule-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.library-section{padding:86px 0 72px;scroll-margin-top:90px}.library-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px;display:flex}.library-heading>div:first-child{max-width:720px}.library-heading h2{margin:8px 0 10px;font-size:36px}.library-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.filter-tabs{background:#e6e9e2;border-radius:10px;gap:4px;padding:4px;display:flex}.filter-tabs button{color:#657080;background:0 0;border:0;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:650}.filter-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #11182714}.catalog-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.catalog-card{text-align:left;background:#fff;border:1px solid #d5dae2;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:190px;padding:19px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.catalog-card:hover{border-color:#9da8b6;transform:translateY(-2px);box-shadow:0 10px 26px #2230480b}.catalog-card.selected{border-color:#17263a;box-shadow:inset 0 0 0 1px #17263a}.catalog-card>div:first-child{gap:6px;display:flex}.family-tag,.live-tag,.template-badge{color:#647080;font:720 8px/1 var(--font-geist-mono);letter-spacing:.07em;text-transform:uppercase;background:#edf0eb;border-radius:999px;padding:6px 8px;display:inline-flex}.live-tag{color:#0d7659;background:#d7f4e9}.catalog-card h3{letter-spacing:-.025em;margin:20px 0 6px;font-size:17px}.catalog-card p{color:var(--muted);margin:0;font-size:11px}.card-meta{gap:8px;margin-top:auto;padding-top:18px;display:flex}.card-meta span{color:#7b8592;font:600 9px/1 var(--font-geist-mono)}.catalog-card>strong{color:#4c5868;margin-top:12px;font-size:10px}.playbook-detail{background:var(--navy);color:#fff;border-radius:18px;margin-top:16px;padding:30px}.playbook-title{border-bottom:1px solid #304055;justify-content:space-between;align-items:center;padding-bottom:25px;display:flex}.playbook-title h2{margin:10px 0 5px;font-size:30px}.playbook-title p{color:#a8b4c4;margin:0;font-size:12px}.playbook-title button{background:var(--lime);color:#132035}.template-badge{color:#b9c6d6;background:#27384d}.playbook-columns{grid-template-columns:1fr 1fr 1fr;gap:40px;padding-top:27px;display:grid}.playbook-columns .kicker{color:#8fa0b4}.playbook-columns ol,.playbook-columns ul{margin:15px 0 0;padding-left:20px}.playbook-columns li{color:#d3dbe6;margin-bottom:9px;font-size:12px;line-height:1.55}.playbook-columns strong{margin:15px 0 8px;font-size:13px;display:block}.playbook-columns p{color:#a8b4c4;margin:0;font-size:12px;line-height:1.6}.source-line{color:#8495aa;border-top:1px solid #304055;margin:20px 0 0;padding-top:18px;font-size:10px}.source-line a{color:var(--lime);text-decoration:none}.source-line a:hover{text-decoration:underline}footer{color:#77808d;border-top:1px solid #cfd4dc;justify-content:space-between;gap:30px;padding:26px 0 44px;font-size:10px;line-height:1.5;display:flex}footer p{max-width:620px;margin:0}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px;padding:44px 0 34px}.metrics-row{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.risk-grid,.rules-section{grid-template-columns:1fr}.rules-section{gap:32px}.exit-card{border-left:0;border-top:1px solid var(--line)}.table-head{display:none}.leg-row{grid-template-columns:repeat(4,1fr);gap:16px;padding:18px 20px}.leg-row>span:before{content:attr(data-label);color:#8a94a3;font:700 8px/1 var(--font-geist-mono);letter-spacing:.06em;text-transform:uppercase}.scanner-toolbar,.library-heading,.broker-heading,.backtest-heading,.admin-heading{flex-direction:column;align-items:flex-start}.backtest-form{grid-template-columns:1fr 1fr}.backtest-form label:nth-child(2){grid-column:span 2}.backtest-form button{height:42px}.master-switch,.scan-form{width:100%}.scan-form label{flex:1}.scan-form input,.scan-form select{width:100%}.catalog-grid{grid-template-columns:repeat(2,1fr)}.playbook-columns{grid-template-columns:1fr;gap:28px}.broker-grid,.scheduler-grid,.environment-groups{grid-template-columns:1fr}}@media (max-width:640px){.topbar{grid-template-columns:1fr auto;padding:0 16px}.main-nav,.paper-inline,.refresh-meta .muted{display:none}.page-shell{width:min(100% - 28px,1280px)}h1{font-size:43px}.setup-head{grid-template-columns:1fr}.signal-panel{margin:0 14px 14px}.metric{padding:20px 18px}.legs-section{padding:26px 16px}.section-title-row{flex-direction:column;align-items:flex-start}.legend{flex-wrap:wrap}.leg-row{grid-template-columns:repeat(2,1fr)}.risk-main,.exit-card{padding:28px 20px}.rule-grid{grid-template-columns:1fr}.rule-card:nth-child(odd){border-right:0}footer{flex-direction:column}.hero-stat-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;padding:20px}.scan-form{flex-direction:column;align-items:stretch}.scan-form button{height:44px}.catalog-grid{grid-template-columns:1fr}.library-heading h2{font-size:30px}.filter-tabs{width:100%;overflow:auto}.filter-tabs button{flex:1}.playbook-title{flex-direction:column;align-items:flex-start;gap:18px}.broker-mode-banner,.broker-actions{flex-direction:column;align-items:flex-start}.backtest-form{grid-template-columns:1fr}.backtest-form label:nth-child(2){grid-column:auto}.backtest-summary-head{flex-direction:column;align-items:flex-start;gap:15px}.backtest-metrics{grid-template-columns:1fr 1fr}.trade-log-head{display:none}.trade-log-row{grid-template-columns:1fr 1fr;padding:10px 0}.auth-card{padding:30px 24px}.auth-card h1{font-size:42px}.admin-head{display:none}.admin-row{grid-template-columns:1fr 1fr;padding:15px}.scheduler-form{grid-template-columns:1fr}.signal-history>button{grid-template-columns:.7fr 1.3fr}.signal-history time{display:none}.admin-subheading{flex-direction:column;align-items:flex-start;gap:14px}.environment-heading{flex-direction:column;align-items:flex-start}.environment-row{grid-template-columns:1fr}.environment-actions{flex-direction:row}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
