:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e7edf6;background:#0b1018;color-scheme:dark}*{box-sizing:border-box}body{margin:0}header{max-width:1220px;margin:auto;display:flex;align-items:center;gap:16px;padding:26px 24px;border-bottom:1px solid #242d3d}h1{font-size:20px;margin:0 0 4px}header p{margin:0;color:#98a7bd;font-size:13px}.brand{display:grid;place-items:center;width:44px;height:44px;background:#baff6c;color:#15220a;text-decoration:none;border-radius:13px;font-weight:800;font-size:24px;position:relative}.brand span{font-size:15px;position:absolute;right:3px;top:1px}.badge{margin-left:auto;border:1px solid #384251;border-radius:24px;padding:7px 12px;font-size:12px;color:#c1d3e9}main{max-width:1220px;margin:auto;padding:26px 24px;display:grid;grid-template-columns:minmax(300px,1fr) 350px;gap:28px}.viewer{min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.toolbar label{font-size:13px;color:#9faec2;display:flex;align-items:center;gap:12px}select{max-width:150px;padding:10px;border:1px solid #39465c;border-radius:9px;background:#161f2e;color:white;font-size:14px}.screen{position:relative;display:flex;align-items:center;justify-content:center;background:#06090f;border:1px solid #293344;border-radius:18px;overflow:hidden;min-height:400px}.screen img{display:block;max-width:100%;max-height:calc(100vh - 240px);object-fit:contain}.screen img[hidden]{display:none}.screen #placeholder{padding:40px;text-align:center;color:#96a4b8}.caption{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;font-size:12px;color:#99a8bd}.card{background:#121a27;border:1px solid #293344;border-radius:16px;padding:23px;margin-bottom:18px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#9fb1cc}h2{font-size:26px;margin:12px 0}h3{font-size:15px;margin:0 0 12px}p{color:#a5b2c6;line-height:1.6;font-size:14px}.mode{display:inline-block;font-size:12px;color:#c9d8ee;background:#202d42;padding:7px 10px;border-radius:7px;margin:8px 0 22px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}button{border:1px solid #354258;background:#202c3f;color:#e6edf8;border-radius:9px;padding:12px 15px;font:inherit;font-size:13px;cursor:pointer;min-height:43px}button:hover{filter:brightness(1.18)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #baff6c;outline-offset:3px}button:disabled{opacity:.45;cursor:wait}.primary{background:#baff6c;color:#16200d;border-color:#baff6c;font-weight:700}.danger{background:#37202a;color:#ffb0ba;border-color:#613443}.subtle{background:transparent;color:#9daec5}#result{margin-bottom:0;overflow-wrap:anywhere}.stale{color:#ffc077!important}dialog{color:#e7edf6;background:#151f2e;border:1px solid #39465c;border-radius:18px;width:min(430px,92vw);padding:28px}dialog::backdrop{background:#060a12dd}dialog label{display:block;font-size:13px}input{display:block;width:100%;margin:10px 0 20px;padding:13px;background:#0b111c;color:white;border:1px solid #45556f;border-radius:8px}dialog button{width:100%}#loginError{color:#ffb0ba}@media(max-width:800px){main{grid-template-columns:1fr;padding:18px 14px;gap:12px}header{padding:18px 14px;gap:10px}h1{font-size:17px}.badge{font-size:10px;padding:6px 8px}aside{display:grid;grid-template-columns:1fr;gap:0}.screen img{max-height:65vh}.screen{min-height:280px}.toolbar button{font-size:11px;padding:9px}.card{padding:20px}.caption{font-size:11px}}

.toolbar{flex-wrap:wrap}.toolbar label{margin-right:auto}
#logs{height:380px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,Consolas,monospace;color:#e7edf6;background:#0b111c;border:1px solid #293344;border-radius:9px;padding:12px;margin:12px 0 18px}#logsState{font-size:12px;margin:0}aside{min-width:0}
main{grid-template-columns:minmax(300px,1fr) minmax(350px,480px)}
#logs{position:relative;height:560px;padding:0 4px 0 0;white-space:normal;font:12px/1.5 system-ui,sans-serif;background:transparent;border:0;border-radius:0;overflow-anchor:none}
.journal-filter{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:12px;color:#c9d6e9}.journal-filter input{display:inline-block;width:15px;height:15px;margin:0;padding:0;accent-color:#48d597}
.bettor-log-entry{padding:12px;border:1px solid #293344;border-left:3px solid #67aaff;border-radius:9px;background:rgba(3,6,11,.2);margin-bottom:8px;overflow-wrap:anywhere}
.bettor-log-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:11px}.bettor-log-head span{font-weight:800;text-transform:uppercase;letter-spacing:.5px}.bettor-log-head time,.meta{color:#9aaac0;font-size:11px}.meta{margin:3px 0 8px}
.bettor-log-entry.hedged,.bettor-log-entry.value_placed{border-color:#48d597b3;box-shadow:inset 0 0 0 1px #48d59729}.hedged .bettor-log-head span,.value_placed .bettor-log-head span{color:#48d597}
.bettor-log-entry.cancelled,.bettor-log-entry.failed{border-left-color:#ff6d82}.cancelled .bettor-log-head span,.failed .bettor-log-head span{color:#ff6d82}
.bettor-log-entry:is(.manual_action,.first_shoulder_sending,.first_shoulder_placing,.first_shoulder_accepted,.hedging,.unknown,.quote_recheck,.blocked,.value_placed_unverified){border-color:#ffb546b8}.bettor-log-entry:is(.manual_action,.first_shoulder_sending,.first_shoulder_placing,.first_shoulder_accepted,.hedging,.unknown,.quote_recheck,.blocked,.value_placed_unverified) .bettor-log-head span{color:#ffb546}
.bettor-leg{background:#0b111c;border:1px solid #293344;padding:8px;border-radius:7px;margin:6px 0}.bettor-reason,.bookmaker-error-summary{margin-top:8px;color:#ffb6c1}.hedged .bettor-reason,.value_placed .bettor-reason{color:#a6efd0}.bettor-log-entry details{margin-top:7px;font-size:11px}.bettor-log-entry summary{cursor:pointer;color:#c9d6e9}.bettor-log-entry pre{max-height:190px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#ffd4da;font:11px/1.4 ui-monospace,monospace}
.compact-legs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bettor-leg.compact-leg{display:grid;gap:4px;margin:0;min-width:0}.compact-leg>div{display:flex;justify-content:space-between;gap:8px;color:#9aaac0;font-size:10px}.compact-leg>strong{font-size:12px;overflow-wrap:anywhere}.compact-leg>small{color:#dce6f5;font-variant-numeric:tabular-nums}.compact-leg.placed,.compact-leg.accepted{border-color:#48d59766}.compact-leg.failed,.compact-leg.rejected{border-color:#ff6d8266}.bettor-reason{display:grid;gap:3px;padding:8px 10px;border-radius:7px;background:rgba(255,181,70,.07);font-size:11px}.bettor-reason b{color:#9aaac0;font-size:9px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:430px){.compact-legs{grid-template-columns:1fr}}
@media(max-width:800px){main{grid-template-columns:1fr}#logs{height:65vh;min-height:350px}.journal-card{padding:16px}}

.manual-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px}.manual-tools[hidden],#textForm[hidden]{display:none}.manual-tools span{font-size:12px;color:#a5b2c6}#touchStatus{font-size:12px;min-height:18px;margin:4px 0 8px}#textForm{display:flex;gap:8px;margin-bottom:8px}#remoteText{margin:0;min-width:0}#manual[aria-pressed="true"]{background:#baff6c;color:#16200d}.viewer.controlling #frame{touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.viewer.expanded{position:fixed;inset:0;z-index:1000;background:#080d15;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.viewer.expanded .toolbar{flex-shrink:0;margin:0 0 6px;gap:6px}.viewer.expanded .toolbar button{padding:7px 10px;min-height:36px;font-size:12px}.viewer.expanded .screen{flex:1;min-height:0;border-radius:6px}.viewer.expanded .screen img{width:100%;height:100%;max-height:100%;object-fit:contain}.viewer.expanded .caption{padding:6px 0;flex-shrink:0}.viewer.expanded #touchStatus{margin:0 0 5px;min-height:16px}.viewer.expanded .manual-tools{margin-bottom:5px}.viewer.expanded #textForm{flex-shrink:0}body.profile-expanded{overflow:hidden}

#touchStatus:not(:empty){padding:8px 10px;background:#1b2c42;border:1px solid #47618a;border-radius:8px;color:#e7edf6;line-height:1.35}#manual{font-weight:700}

.settings-card>summary{font-size:17px;font-weight:700;cursor:pointer;min-height:30px}.settings-card fieldset{border:0;padding:0;margin:0;min-width:0}.market-section{border-top:1px solid #293344;padding:14px 0}.market-section h3{color:#c1e6a0}.market-section label{display:flex;align-items:center;gap:10px;font-size:14px;min-height:40px;cursor:pointer}.market-section input{display:inline-block;width:19px;height:19px;margin:0;flex-shrink:0;accent-color:#baff6c}.settings-card button{margin-top:10px}.settings-card #settingsStatus{font-size:13px}.settings-card fieldset:disabled{opacity:.6}

/* Keep the image stationary while status text changes. */
#touchStatus,#touchStatus:not(:empty){height:54px;min-height:54px;margin:4px 0 8px;padding:8px 10px;overflow:auto}
#frame{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#tapMarker{position:fixed;width:28px;height:28px;transform:translate(-50%,-50%);border:2px solid #baff6c;border-radius:50%;background:#baff6c33;pointer-events:none;z-index:1010}
#tapMarker[hidden]{display:none}
#viewerMenu{display:none}
.viewer.expanded{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.viewer.expanded .screen{border:0;border-radius:0;position:relative;flex:1;min-height:0;min-width:0}
.viewer.expanded .screen img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none}
.viewer.expanded>.toolbar,.viewer.expanded>.manual-tools,.viewer.expanded>#textForm,.viewer.expanded>.caption,.viewer.expanded>#touchStatus{display:none}
.viewer.expanded>#viewerMenu{display:block;position:absolute;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:5;background:#182438cc;min-width:44px}
.viewer.expanded.tools-open>.toolbar{display:flex;position:absolute;top:max(56px,env(safe-area-inset-top));left:8px;right:8px;z-index:4;padding:10px;background:#101b2ff5;border-radius:10px}
.viewer.expanded.tools-open>.manual-tools:not([hidden]){display:flex;position:absolute;bottom:max(100px,env(safe-area-inset-bottom));left:8px;right:8px;z-index:4;padding:8px;background:#101b2ff5}
.viewer.expanded.tools-open>#textForm:not([hidden]){display:flex;position:absolute;bottom:max(160px,env(safe-area-inset-bottom));left:8px;right:8px;z-index:4;background:#101b2ff5}
.viewer.expanded.tools-open>#touchStatus,.viewer.expanded.input-message>#touchStatus{display:block;position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:8px;right:8px;z-index:4;height:auto;max-height:70px;pointer-events:none;background:#101b2fee}

.market-directions{margin:0 0 12px 28px;padding-left:16px;border-left:2px solid #45556f}.market-directions label{font-size:13px}

.execution-profit>label{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:13px}.execution-profit>label input[type="checkbox"]{width:19px;height:19px;margin:0;flex-shrink:0}.execution-profit>label select,.execution-profit>label input[type="number"]{margin-left:auto;max-width:55%;min-width:100px}

.profit-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.execution-profit .profit-inputs label{display:block;font-size:13px}.execution-profit .profit-inputs input{display:block;width:100%;height:auto;margin:8px 0 16px;padding:12px;font-size:16px}.execution-profit{padding:14px 0}
.mobile-live-row{padding:13px 0;border-bottom:1px solid #293344}.mobile-live-row h4{margin:0 0 9px;font-size:15px}.mobile-live-row label{min-height:34px!important}.mobile-live-value{max-width:170px;margin:7px 0 0 29px}.mobile-live-value input{width:92px!important;height:auto!important;padding:8px!important;border:1px solid #45556f;border-radius:8px;background:#0b111c;color:#fff}.live-time-mobile>p{font-size:12px}
.live-time-mobile .mobile-live-row:has([data-mobile-live-basketball], [data-mobile-live-af]){display:grid;gap:10px}
.live-time-mobile .mobile-live-row:has([data-mobile-live-basketball], [data-mobile-live-af]) label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;line-height:1.4}
.live-time-mobile .mobile-live-row input[type="number"]{flex:0 0 84px;width:84px;height:auto;padding:8px;border:1px solid #45556f;border-radius:8px;background:#0b111c;color:#fff;font-size:16px;text-align:center}
.live-time-mobile .mobile-live-row:has([data-mobile-live-basketball], [data-mobile-live-af]) p{margin:2px 0 0;font-size:12px;line-height:1.5}
.live-time-mobile>label{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #293344;font-size:14px;line-height:1.4}
@media(min-width:680px){.live-time-mobile .mobile-live-row:has([data-mobile-live-basketball], [data-mobile-live-af]){grid-template-columns:repeat(2,minmax(0,1fr))}.live-time-mobile .mobile-live-row:has([data-mobile-live-basketball], [data-mobile-live-af]) p{grid-column:1/-1}}
