:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",sans-serif;background:#080b0d;color:#f4f6f5;--bg:#080b0d;--panel:#0c1011;--panel2:#101516;--muted:#7f8588;--soft:#b4bab8;--line:#252b2d;--line2:#32393b;--green:#00ef9f;--green2:#00d98f;--red:#ff5e68;--amber:#e8bc52}*{box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);min-height:100vh;touch-action:manipulation;color:#f4f6f5}main{width:min(900px,100%);margin:auto;padding:28px 16px calc(72px + env(safe-area-inset-bottom))}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding:4px 2px}h1{margin:0;font-size:40px;line-height:.98;font-weight:850;letter-spacing:-.045em}h2{margin:5px 0 0;font-size:25px;line-height:1.1;font-weight:800;letter-spacing:-.03em}.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--muted);font-weight:850}.badge{font-size:11px;font-weight:850;letter-spacing:.04em;color:#04130d;background:var(--green);border:1px solid var(--green);border-radius:999px;padding:10px 14px}
.flow{display:flex;align-items:center;justify-content:flex-start;gap:7px;overflow:auto;margin:0 -2px 16px;padding:0 2px 2px;color:#5f6668;font-size:10px;font-weight:850;letter-spacing:.08em;scrollbar-width:none}.flow::-webkit-scrollbar{display:none}.flow span{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#0b0f10}.flow i{font-style:normal;color:#3d4446}
.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:19px;margin-bottom:14px;box-shadow:none}.scanner{border-color:#2a3433;background:linear-gradient(180deg,#0e1514 0%,#0c1011 60%)}.statusline{display:flex;align-items:center;gap:11px}.statusline>div:nth-child(2){flex:1}.statusword{font-size:27px;font-weight:850;letter-spacing:-.025em;margin-top:2px}#dot{width:11px;height:11px;border-radius:50%;background:#4b5052;border:1px solid #646a6d}#dot.on{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px #00ef9f16,0 0 18px #00ef9f66}.stream{font-size:10px;font-weight:850;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:8px 10px;background:#0a0e0f}.stream.live{color:var(--green);border-color:#145d48;background:#0a1713}
.messageplain{color:#949a9c;margin:13px 0 17px;font-size:14px;line-height:1.45}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stats>div{background:#090d0e;border:1px solid var(--line);border-radius:16px;padding:14px 8px;text-align:center}.stats b{display:block;font-size:27px;line-height:1;font-weight:800;letter-spacing:-.03em}.stats span{display:block;font-size:9px;color:#737a7d;font-weight:850;letter-spacing:.08em;margin-top:6px}
.actions,.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions{margin-top:14px}button{border:0;border-radius:999px;padding:15px 18px;font:inherit;font-weight:800;letter-spacing:-.01em;cursor:pointer}.go{background:var(--green);color:#04130d}.go:active{background:var(--green2)}.go.on{background:#202627;color:#d7dbda;border:1px solid #303638}.stop{background:#151a1b;color:#ff777f;border:1px solid #3d282b}.save{width:100%;background:#202627;color:#f4f6f5;border:1px solid #303638}.save:active{background:#2a3132}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:12px}.muted,.meta{color:var(--muted);font-size:12px}
.list{margin-top:13px;display:grid;gap:9px}.empty{border:1px solid var(--line);border-radius:16px;padding:20px;color:#747b7d;text-align:center;background:#090d0e}.marketrow,.trade{display:grid;align-items:center;gap:12px;background:#090d0e;border:1px solid var(--line);border-radius:17px;padding:14px}.marketrow{grid-template-columns:minmax(0,1fr) auto auto}.trade{grid-template-columns:minmax(0,1fr) auto}.marketmain,.trade>div{min-width:0}.marketmain b,.trade b{display:block;font-weight:750}.marketmain small,.trade small{display:block;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marketquote{display:flex;gap:12px}.marketquote span{font-weight:800}.marketquote small{color:#737a7d;font-size:9px}.marketend{text-align:right}.marketend>b{display:block;font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}
.state{display:inline-block;margin-top:5px;padding:5px 8px;border-radius:999px;background:#1d2324;color:#c5cac9;font-size:9px;font-weight:850}.state.hot,.state.watching{background:#2a2414;color:#e7c55f}.state.armed,.state.monitoring{background:#103c2d;color:#67efb9}.state.exited{background:#242025;color:#cabcc7}.state.cap-reached{background:#351d21;color:#ff8b92}
details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:800;list-style:none}details summary::-webkit-details-marker{display:none}details[open] summary{margin-bottom:18px}label{display:block;color:#8a9193;font-size:12px;font-weight:750;margin-bottom:13px}input,select,textarea{width:100%;margin-top:7px;padding:14px 13px;background:#090d0e;color:#fff;border:1px solid var(--line2);border-radius:14px;font:inherit;font-size:16px;line-height:1.2;outline:none}input:focus,select:focus,textarea:focus{border-color:#1f8d6a;box-shadow:0 0 0 3px #00ef9f12}textarea{min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.accountstate{font-size:24px;font-weight:850;letter-spacing:-.025em;margin:7px 0}.hidden{display:none}
.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{text-align:right;padding:12px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}th{font-size:11px;letter-spacing:.08em;color:var(--muted)}td{font-size:14px}.pos{color:#58e8ad}.neg{color:#ff8088}.caveat{color:var(--muted);line-height:1.5;padding:5px 0}
@media(max-width:640px){main{padding:22px 14px 54px}header{margin-bottom:16px}h1{font-size:36px}.card{border-radius:20px;padding:17px}.stats{grid-template-columns:1fr 1fr}.marketrow{grid-template-columns:1fr auto}.marketquote{grid-column:1/2}.marketend{grid-column:2;grid-row:1/3}.sectionhead{align-items:start}.sectionhead>.muted{max-width:145px;text-align:right}.two{grid-template-columns:1fr 1fr}}
@media(max-width:390px){main{padding-left:12px;padding-right:12px}.actions{grid-template-columns:1fr}.marketquote{gap:7px}.stats b{font-size:24px}h1{font-size:34px}.badge{padding:9px 12px}}.paper-note{color:var(--muted);font-size:11px;text-align:center;padding:12px 8px 4px;line-height:1.45}.login{position:fixed;inset:0;background:#070a0ced;z-index:20;display:grid;place-items:center;padding:20px}.login.hidden{display:none}.loginbox{width:min(390px,100%);background:#0c1011;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:none}.loginbox h1{font-size:38px;margin-top:4px}.loginbox p{color:var(--muted);margin:10px 0 14px}.loginbox input{margin-top:0}.loginbox button{width:100%;margin-top:10px;background:var(--green);color:#04130d;border-radius:999px}.err{color:#ff8088;font-size:12px;margin-top:10px}.state.awaiting-settlement{background:#162d36;color:#9edbed}

.trade-summary{font-size:13px;font-weight:850;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.trade-result{text-align:right}.trade-result b{font-size:15px}.resulttag{display:inline-block;margin-right:4px;padding:4px 7px;border-radius:999px;background:currentColor;color:#08100d;font-size:9px;line-height:1;font-weight:900;letter-spacing:.05em}.trade-result.neg .resulttag{color:#0b0d0e;background:#ff8088}.trade-result.pos .resulttag{color:#07100c;background:#58e8ad}.trade-result.flat .resulttag{color:#cbd0cf;background:#2a3031}.flat{color:#a7adaf}@media(max-width:640px){.trade-summary{font-size:12px;max-width:165px;white-space:normal;line-height:1.35}}

.api-card{background:linear-gradient(180deg,#0d1412,#0c1011)}.api-copy{color:var(--muted);font-size:13px;line-height:1.5;margin:12px 0 16px}.api-state{font-size:10px;font-weight:900;letter-spacing:.08em;color:#ff9aa0;border:1px solid #4a2a2d;border-radius:999px;padding:7px 9px;background:#171011}.api-state.ready{color:var(--green);border-color:#185a48;background:#0a1713}.api-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.api-meta{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.4}.api-card button:disabled{opacity:.6;cursor:wait}@media(max-width:390px){.api-actions{grid-template-columns:1fr}}

.automation{background:linear-gradient(180deg,#0d1714 0%,#0b1110 62%,#0c1011 100%);border-color:#183b31}.auto-flow{display:flex;align-items:center;gap:8px;overflow:auto;margin:2px 0 16px;padding:2px 0 1px;scrollbar-width:none}.auto-flow::-webkit-scrollbar{display:none}.auto-flow span{white-space:nowrap;border:1px solid #214139;background:#0a1411;border-radius:999px;padding:8px 11px;color:#aab1af;font-size:10px;font-weight:850;letter-spacing:.05em}.auto-flow span b{color:var(--green);font-weight:900}.auto-flow i{font-style:normal;color:#42504c}
.rules-card h2{margin-bottom:15px}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rule-grid>div{background:#090d0e;border:1px solid var(--line);border-radius:16px;padding:14px}.rule-grid b{display:block;font-size:14px;margin-bottom:5px}.rule-grid span{display:block;color:var(--muted);font-size:12px;line-height:1.45}.rule-grid strong{color:#d7dcda}.bonus summary em{font-style:normal;color:var(--green);font-size:10px;letter-spacing:.08em}.bonus[open] summary,.api-card[open] summary{margin-bottom:16px}.bonus-head{margin-bottom:4px}.api-card summary .api-state{margin-left:auto}.api-card textarea{min-height:132px}.settings summary span:first-child,.bonus summary span:first-child,.api-card summary span:first-child{letter-spacing:.02em}
@media(max-width:640px){.rule-grid{grid-template-columns:1fr}.auto-flow{margin-left:-1px;margin-right:-1px}.rules-card h2{font-size:23px}.bonus summary .muted{max-width:125px;text-align:right;font-size:10px}}

.auto-exit-note{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:2px 0 14px;padding:13px 14px;border:1px solid #1e4a3c;border-radius:15px;background:#0a1512}.auto-exit-note b{color:var(--green);font-size:11px;letter-spacing:.06em;white-space:nowrap}.auto-exit-note span{color:var(--muted);font-size:11px;line-height:1.4;text-align:right}@media(max-width:520px){.auto-exit-note{display:block}.auto-exit-note span{display:block;text-align:left;margin-top:5px}}

.search-card{background:linear-gradient(180deg,#0e1314,#0c1011)}.search-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-title-row h2{min-width:0}.search-toggle{flex:0 0 auto;background:#171c1d;color:#cfd4d2;border:1px solid var(--line2);border-radius:999px;padding:9px 13px;font-size:10px;font-weight:900;letter-spacing:.07em;line-height:1}.search-toggle:active{background:#242b2c}.search-copy{color:var(--muted);font-size:13px;line-height:1.5;margin:10px 0 14px}.search-copy b{color:#d8dddb}.searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.searchbar input{margin:0}.searchbar button{padding:14px 18px}.search-results{margin-top:10px}.searchrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:#090d0e;border:1px solid var(--line);border-radius:17px;padding:13px}.searchmain{min-width:0}.searchtitle{font-weight:800;line-height:1.25}.searchmain>small{display:block;color:var(--muted);font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchmain .marketquote{margin-top:9px}.watchbtn,.unwatch{padding:10px 13px;font-size:11px;font-weight:900;letter-spacing:.04em}.watchbtn{background:var(--green);color:#04130d}.watchbtn.watching{background:#132d25;color:var(--green);border:1px solid #20503f}.unwatch{background:#171c1d;color:#aeb4b2;border:1px solid #2c3335}.fifteen{display:inline-block;margin-left:7px;padding:4px 6px;border-radius:999px;background:#12392d;color:var(--green);font-size:8px;font-weight:900;letter-spacing:.06em;vertical-align:2px}.selected-head{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 8px;padding-top:17px;border-top:1px solid var(--line)}.watchedrow{border-color:#1c4136}.search-card .api-meta{min-height:16px;margin-top:7px}@media(max-width:520px){.searchbar{grid-template-columns:1fr}.searchbar button{width:100%}.searchrow{grid-template-columns:minmax(0,1fr) auto}.watchbtn,.unwatch{padding:10px 11px}}

.marketrow.selectable{grid-template-columns:minmax(0,1fr) auto auto auto}.marketrow.selectable .watchbtn{align-self:center;white-space:nowrap}@media(max-width:640px){.marketrow.selectable{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main end" "quote select"}.marketrow.selectable .marketmain{grid-area:main}.marketrow.selectable .marketquote{grid-area:quote;grid-column:auto}.marketrow.selectable .marketend{grid-area:end;grid-column:auto;grid-row:auto}.marketrow.selectable .watchbtn{grid-area:select;justify-self:end;align-self:end}}

.buybtn{background:var(--green);color:#04130d;padding:10px 15px;font-size:11px;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.buy-sheet{position:fixed;inset:0;z-index:40;background:#000a;display:flex;align-items:flex-end;justify-content:center;padding:18px}
.buy-sheet.hidden{display:none}
.buy-panel{width:min(520px,100%);background:#0c1011;border:1px solid var(--line2);border-radius:24px;padding:20px;box-shadow:0 18px 60px #0008}
.buy-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.buy-head h2{margin-top:4px}.buy-close{width:38px;height:38px;border-radius:50%;padding:0;background:#171c1d;color:#cfd4d2;border:1px solid var(--line2);font-size:24px;line-height:1}
.buy-sides,.buy-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px}.buy-sides{margin:18px 0 10px}.side-choice,.mode-choice{border:1px solid var(--line2);background:#0a0e0f;color:#d8dcdb}.side-choice{border-radius:16px;padding:14px}.side-choice b{display:block;margin-top:4px;font-size:18px}.side-choice.on{border-color:#1f8d6a;background:#0c1a16;color:var(--green)}.mode-choice{padding:10px;border-radius:12px;font-size:11px;letter-spacing:.05em}.mode-choice.on{border-color:#52605c;background:#171d1b;color:#fff}
.buy-panel label{margin-top:14px}.buy-summary{min-height:53px;margin:12px 0 4px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#090d0e;color:#b8bfbd;font-size:13px;line-height:1.5}.buy-summary b{color:#fff}.buy-submit{width:100%;margin-top:12px}.buy-submit:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:640px){.buy-sheet{padding:0;align-items:flex-end}.buy-panel{border-radius:22px 22px 0 0;padding:19px 16px calc(19px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}.marketrow.selectable .buybtn{grid-area:select;justify-self:end;align-self:end}}

#clearApi.danger-confirm{background:#351d21;color:#ff9aa0;border-color:#6a3038}

.market-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.market-actions .buybtn,.market-actions .watchbtn,.market-actions .unwatch{min-width:72px}@media(max-width:520px){.searchrow{align-items:start}.market-actions{flex-direction:column;align-items:stretch}.market-actions button{width:100%}}

/* Integrity pass: rule controls, accessible feedback, research notes */
.err.info{color:#8fcfb7}.stop.confirming{background:#351d21;color:#ff9aa0;border-color:#6a3038}.results-note{margin-top:11px;color:var(--muted);font-size:10px;line-height:1.45}.rule-subsection{margin:5px 0 14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#090d0e}.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 13px;color:#dce0df}.setting-toggle>span{min-width:0}.setting-toggle b{display:block;font-size:12px;letter-spacing:.05em;color:var(--green)}.setting-toggle small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4}.setting-toggle input[type=checkbox]{width:24px;height:24px;min-width:24px;margin:0;accent-color:var(--green);padding:0}.disabled-fields{opacity:.45}.settings-help{color:var(--muted);font-size:10px;line-height:1.5;margin-top:-2px}.research-use p{color:var(--muted);font-size:13px;line-height:1.55}.research-points{display:grid;gap:8px;margin-top:13px}.research-points>div{padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#090d0e}.research-points b{display:block;font-size:12px;margin-bottom:4px}.research-points span{display:block;color:var(--muted);font-size:11px;line-height:1.45}.terms-note{margin-top:11px;color:#8f9694;font-size:10px;line-height:1.45}

/* UI polish: passive status labels are rectangular; only real controls look like buttons. */
.badge{
  color:var(--green);background:#0a1411;border-color:#1b5d49;
  border-radius:7px;padding:8px 10px;letter-spacing:.08em
}
.stream{
  border-radius:7px;background:#0a0e0f;padding:8px 10px
}
.auto-flow span,.flow span{
  border-radius:8px;background:#0a1110;padding:8px 11px
}
.state{border-radius:6px;padding:5px 8px}
.resulttag{border-radius:5px;padding:4px 7px}
.fifteen{border-radius:5px}
.api-state{border-radius:6px}

/* Explicit disclosure controls for collapsed information sections. */
.section-summary{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  list-style:none;cursor:pointer;margin:0
}
.section-summary::-webkit-details-marker{display:none}
.section-summary .summary-copy{min-width:0;flex:1}
.section-summary .summary-copy h2{margin-top:5px}
.compact-summary{font-size:18px;letter-spacing:.01em}
.disclosure-btn{
  flex:0 0 auto;background:#202728;color:#f3f6f5;border:1px solid #394143;
  border-radius:999px;padding:10px 14px;font-size:10px;font-weight:900;
  letter-spacing:.07em;line-height:1;white-space:nowrap
}
.disclosure-btn:active{background:#2b3334}
.details-body{margin-top:18px}
details[open]>.section-summary{margin-bottom:0}

/* Results summary stays compact when collapsed. */
.results-card .trade-summary{
  margin-top:9px;text-align:left;max-width:none;white-space:normal;
  font-size:12px;line-height:1.35
}
.results-card .details-body>.list{margin-top:0}

/* The formerly button-like research/status labels are now clearly informational. */
.research-points>div{border-radius:10px}
.rule-subsection{border-radius:10px}
.empty,.trade,.marketrow,.searchrow{border-radius:12px}

@media(max-width:640px){
  .section-summary{align-items:center;gap:12px}
  .disclosure-btn{padding:10px 12px;font-size:9px}
  .results-card .section-summary{align-items:flex-start}
  .results-card .trade-summary{font-size:11px;margin-top:7px}
  .compact-summary{font-size:17px}
}
.searchlabel{margin-top:4px;color:#c8cfcc;font-size:12px;font-weight:800;letter-spacing:.01em}
