html{scrollbar-width:thin;scrollbar-color:#405777 #0b0f17}
:root{color-scheme:dark;--bg:#080d16;--panel:#101a29;--input:#0a1220;--border:#29384f;--text:#edf3ff;--muted:#96a8c1;--blue:#8ab8ff;--green:#7ee0bb;--red:#ff9b9f;font-family:'DM Sans','Inter',sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,rgba(58,101,171,.1),transparent 35%)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}button{border:0}button,summary{transition:background .16s,border-color .16s}p{color:var(--muted);font-size:13px;line-height:1.7;margin:8px 0}h1,h2,h3{margin:0;letter-spacing:-.04em}h2{font-size:27px;font-weight:600}h3{font-size:18px}em{font-style:normal}small{color:var(--muted)}[hidden]{display:none!important}/* .scanner-shell sizing from ui.css shared chrome *//* .topbar legacy — use .app-header from ui.css *//* .brand legacy — use .brand-lockup from ui.css *//* .brand-mark from ui.css *//* .brand small legacy unused */.back-link{font-size:12px;color:var(--muted)}.back-link span{color:var(--blue);padding-left:10px}.scanner-hero{display:flex;justify-content:space-between;align-items:center;padding:48px 0 38px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;color:#84a7d7;margin:0 0 12px}.beta{font-size:8px;color:#96aecf;border:1px solid #2c3c55;border-radius:4px;padding:3px 5px;margin-left:8px;letter-spacing:.07em}h1{font-size:clamp(38px,4.1vw,53px);line-height:1.14;font-weight:600}h1 em{color:var(--blue)}.intro{font-size:14px;line-height:1.8;margin:18px 0}.text-button{padding:0;background:none;color:var(--blue);font-size:12px;line-height:1.8}.text-button:hover{color:#c8ddff}.hero-graphic{position:relative;width:300px;height:250px;display:grid;place-items:center;flex-shrink:0}.orbit{width:230px;height:230px;position:absolute;border:1px solid #1c2b43;border-radius:50%;box-shadow:0 0 0 26px #10203c30,0 0 0 52px #10203c19}.scan-art{width:220px;transform:rotate(-7deg);filter:drop-shadow(0 18px 30px #345b9640)}.graphic-label{position:absolute;bottom:0;font-size:8px;letter-spacing:.2em;color:#6485b3}.steps{padding:17px 0;margin:0 0 34px;list-style:none;display:flex;gap:42px;border-top:1px solid #1c2a3e;border-bottom:1px solid #1c2a3e;color:#879cb9;font-size:11px}.steps li{display:flex;align-items:center;gap:10px}.steps li.active{color:#d8e8ff}.steps li span{font-size:10px;color:#6886ae;display:grid;place-items:center;border:1px solid #2c405e;width:24px;height:24px;border-radius:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.budget-field{width:220px}.budget-field label{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.budget-field>div{display:flex;align-items:center;border:1px solid #456a9b;border-radius:10px;background:#122139;padding:0 14px}.budget-field span{color:var(--blue);font-size:20px}.budget-field input{border:0;background:none;width:100%;padding:12px 9px;color:var(--text);font-size:21px;font-weight:600;outline:none}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.book-card{padding:25px;background:linear-gradient(145deg,#142033,#0e1826);border:1px solid var(--border);border-radius:18px;min-width:0}.book-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}.book-letter{display:grid;place-items:center;border:1px solid #3c5781;background:#1b3050;color:#a9cfff;width:36px;height:36px;border-radius:10px;font-size:12px}.book-top input{width:100%;min-width:0;background:none;color:var(--text);border:0;font-size:18px;font-weight:600;letter-spacing:-.03em;padding:5px 0}.book-top small{font-size:9px;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:158px;border:1px dashed #3b5477;border-radius:12px;background:#0a1423;position:relative;overflow:hidden;cursor:pointer;padding:21px;color:var(--text);text-align:center}.dropzone:hover,.dropzone:focus-within,.dropzone.selected{border-color:#8ab8ff;background:#11233b}.dropzone svg{color:#8ab8ff;width:28px;height:28px;margin-bottom:3px}.dropzone strong{font-size:13px;font-weight:500}.dropzone small{font-size:10px}.dropzone input{position:absolute;width:100%;height:100%;opacity:0;inset:0;cursor:pointer}.preview{display:flex;align-items:center;gap:12px;margin-top:10px;min-width:0}.preview img{width:72px;height:44px;object-fit:contain;border:1px solid #324761;border-radius:5px}.preview a{display:block;max-width:100%;font-size:11px;color:var(--blue);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preview>div{min-width:0;flex:1}.preview small{font-size:10px}.clear-image{background:none;color:#9cadc5;font-size:20px;padding:4px}.layout-options{margin-top:15px}.layout-options summary,.limits summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-size:11px;color:var(--muted);padding:8px 0}.layout-options summary::-webkit-details-marker,.limits summary::-webkit-details-marker{display:none}.layout-options summary:after,.limits summary:after{content:'+';display:grid;place-items:center;width:19px;height:19px;border:1px solid #314662;border-radius:5px;color:var(--blue)}details[open]>summary:after{content:'−'}.layout-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.layout-fields .capture{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:10px;color:var(--muted)}input,select{border:1px solid #2c3d57;background:var(--input);color:var(--text);border-radius:8px;padding:11px 12px;width:100%;min-width:0}input[type=checkbox]{width:16px;height:16px;accent-color:#80aeff;flex-shrink:0;padding:0}input::placeholder{color:#72839b}.rates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #27384f}.limits{margin-top:10px}.limits p{font-size:10px;line-height:1.7;margin:12px 0 0}.terms-note{display:flex;align-items:flex-start;gap:9px;margin:14px 0 22px}.terms-note p{font-size:11px;line-height:1.7;margin:0;max-width:890px}.tiny-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#7997be;margin-top:7px}.scan-actions{display:flex;justify-content:space-between;align-items:center;gap:20px}.scan-actions>div{display:flex;align-items:center;gap:20px}.scan-actions>span{font-size:10px;color:#7186a4}.primary,.secondary{padding:13px 19px;border-radius:9px;font-size:12px;font-weight:600;white-space:nowrap}.primary{background:linear-gradient(110deg,#b2d1ff,#78a8f4);color:#0b1a30;box-shadow:0 4px 20px #3c73cd18}.primary:hover{background:#b6d4ff}.primary span{margin-left:16px}.secondary{background:#142237;border:1px solid #354b6b;color:#cbdbf2}.secondary:hover{background:#1b3050}.status-box{padding:16px 20px;background:#122139;border:1px solid #304b72;border-radius:10px;margin-top:22px;font-size:12px;color:#c2d8f9}.status-box.is-error{border-color:#784952;color:#ffb1b6}progress{display:block;width:100%;height:4px;margin-top:12px;accent-color:var(--blue)}.review-section,.results-section{margin-top:55px;padding-top:35px;border-top:1px solid #26364e;scroll-margin-top:24px}.pill{font-size:10px;color:#95b8e9;background:#13233b;border:1px solid #314b70;border-radius:50px;padding:7px 11px;white-space:nowrap}.review-book{margin-bottom:20px;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:#0e1725}.review-book-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}.review-book-header h3{font-size:16px}.table-scroll{overflow:auto}.review-table{width:100%;border-collapse:collapse;min-width:875px}.review-table th{text-align:left;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#879fbe;font-weight:500;padding:12px 10px;background:#0c1523}.review-table td{padding:10px 8px;border-top:1px solid #203047;vertical-align:top}.review-table td:first-child{width:40px;text-align:center}.review-table input:not([type=checkbox]),.review-table select{font-size:11px;padding:9px;border-radius:6px;min-width:90px}.review-table .team-input{min-width:175px}.review-table .odds-input{width:85px;min-width:70px!important}.review-table .time-input{min-width:175px!important}.review-table td:nth-child(7){min-width:190px}.row-warning{max-width:200px;font-size:9px;color:#c9aa78;margin-top:4px;line-height:1.4}.row-source{font-size:9px;color:#89a3c8;margin-top:6px;max-width:220px}.row-source summary{cursor:pointer}.row-source pre{white-space:pre-wrap;max-height:200px;overflow:auto;font:10px/1.6 monospace}.review-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;color:#bacce5}.help-note{font-size:11px;margin-top:14px}.error{color:var(--red);font-size:12px}.empty-review{padding:20px;color:#9aacbf;font-size:12px}.match-notes{color:#c6ad88;font-size:11px;line-height:1.7;margin:18px 0}.result-card{border:1px solid var(--border);background:linear-gradient(120deg,#132137,#0d1726);border-radius:15px;margin:14px 0;padding:24px}.result-card.best{border-color:#466c9c;box-shadow:inset 3px 0 #8ab8ff}.result-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.result-head h3{font-size:17px}.result-head p{font-size:10px;margin:8px 0}.rank{font-size:9px;letter-spacing:.14em;color:#8eb7ee;margin-bottom:10px}.profit{text-align:right;flex-shrink:0}.profit small{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px}.profit strong{font-size:28px;font-weight:600;letter-spacing:-.04em;color:var(--green)}.profit.negative strong{color:var(--red)}.profit p{font-size:10px;color:#a1b7d1}.legs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.leg{background:#091322;border:1px solid #283c57;border-radius:10px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.leg small{display:block;font-size:10px;margin-bottom:7px;color:#8eacd4}.leg strong{font-size:12px;font-weight:500}.leg-amount{text-align:right}.leg-amount strong{font-size:18px;font-weight:600}.leg-amount small{margin:5px 0 0}.breakdown{margin-top:15px}.breakdown summary{cursor:pointer;color:var(--blue);font-size:11px;padding:10px 0}.breakdown table{width:100%;font-size:11px;border-collapse:collapse;margin:10px 0}.breakdown th,.breakdown td{padding:10px;text-align:right;border-bottom:1px solid #27384f;color:#b5c8e2;font-weight:400}.breakdown th:first-child,.breakdown td:first-child{text-align:left}.breakdown tr:last-child td{font-weight:600;color:#e4efff}.breakdown p{font-size:10px}.alternative{padding:13px 0 0;border-top:1px solid #283c57;font-size:11px;color:#9eafc8}.alternative strong{color:#cbdbf2;font-weight:500}/* footer chrome from ui.css .app-footer / shell > footer */
@media(min-width:1500px){/* .scanner-shell sizing from ui.css shared chrome */.scanner-hero{padding-top:58px}}@media(max-width:800px){/* .scanner-shell sizing from ui.css shared chrome */.hero-graphic{width:220px}.orbit{width:170px;height:170px}.scan-art{width:180px}.scan-actions{align-items:flex-start;flex-direction:column;gap:12px}.book-card{padding:19px}.scan-actions>span{font-size:9px}.steps{gap:26px}.review-footer{align-items:flex-start;flex-direction:column}.legs{grid-template-columns:1fr}}@media(max-width:600px){/* .scanner-shell sizing from ui.css shared chrome *//* .topbar legacy — use .app-header from ui.css *//* .brand legacy — use .brand-lockup from ui.css *//* .brand small legacy unused *//* .brand-mark from ui.css */.back-link{font-size:10px}.scanner-hero{padding:34px 0 29px}.hero-graphic{display:none}h1{font-size:39px}.intro{font-size:12px}.steps{gap:0;justify-content:space-between;font-size:9px}.steps li{gap:5px}.steps li span{width:19px;height:19px;font-size:8px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:18px}h2{font-size:24px}.budget-field{width:100%}.budget-field>div{max-width:none}.book-grid{grid-template-columns:1fr}.book-card{padding:22px}.scan-actions>div{gap:14px;flex-wrap:wrap}.review-section,.results-section{margin-top:40px}.result-card{padding:19px}.result-head{align-items:flex-start;gap:10px}.result-head h3{font-size:14px}.profit strong{font-size:22px}.profit small{font-size:8px}.breakdown{overflow:auto}.breakdown table{min-width:350px}}
:root .paste-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 4px}.paste-row span{font-size:9px;color:#788fae}.paste-row button{font-size:11px}
.line-field{display:flex;align-items:center;gap:10px;margin-top:9px;color:var(--blue);font-size:10px}.line-field span{flex:1;white-space:nowrap}.review-table .line-field input{width:90px;min-width:65px}.push-setting{margin-top:16px;font-size:11px}.market-selections{color:var(--blue)!important}.review-tools{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.source-tabs{display:flex;gap:6px;margin:0 0 26px;padding:5px;border:1px solid var(--border);border-radius:12px;width:fit-content;background:#0c1421}.source-tabs button{background:transparent;color:var(--muted);padding:12px 18px;border-radius:8px;font-size:12px}.source-tabs button[aria-pressed=true]{background:#213653;color:#eaf3ff}.source-tabs small{font-size:9px;margin-left:8px;color:#9fc5ff}.league-panel{border:1px solid #375276;background:linear-gradient(120deg,#14243b,#0c1421);padding:26px;border-radius:16px;margin-bottom:28px}.league-panel .section-heading{margin:0 0 20px}.league-panel h2{font-size:24px}.league-sources{display:grid;grid-template-columns:1fr 1fr;gap:14px}.league-sources a{background:#0a1423;border:1px solid #2d4360;border-radius:10px;padding:18px}.league-sources strong,.league-sources span,.league-sources small{display:block}.league-sources span{font-size:12px;margin:8px 0;color:#b2c8e6}.league-sources small{font-size:10px;color:var(--blue)}.league-status{padding:12px 0;border-bottom:1px solid #293d57}.league-status strong{color:var(--text)}.league-status[data-status=unavailable]{color:#e1b87a}.league-status[data-status=ready]{color:var(--green)}.league-mode.gamba-feed-ready #book-1 .dropzone,.league-mode.gamba-feed-ready #book-1 .paste-row,.league-mode.gamba-feed-ready #book-1 .layout-options{display:none}.league-mode #book-1 .rates{margin-top:25px}.league-mode .book-card{align-self:stretch}.league-mode #book-0 .dropzone strong:after{content:' (fallback)'}.league-mode .scanner-hero .intro:after{content:' Stake uses public odds-data when available; screenshots are fallback only.';display:block;margin-top:8px;color:var(--blue);font-size:12px}@media(max-width:600px){.league-sources{grid-template-columns:1fr}.league-panel{padding:20px}.source-tabs button{padding:11px 12px}.source-tabs small{display:block;margin:4px 0 0}}

.league-source{min-width:0;background:#0a1423;border:1px solid #2d4360;border-radius:10px;padding:18px}.league-sources .league-source a{display:block;background:transparent;border:0;padding:0;margin-top:12px}.league-source select{width:100%}.league-mode .book-card.feed-ready .dropzone,.league-mode .book-card.feed-ready .paste-row,.league-mode .book-card.feed-ready .layout-options{display:none}.league-mode .book-card .dropzone strong:after{content:' (fallback)'}.league-mode .scanner-hero .intro:after{content:' Choose a league and two sportsbooks. Screenshots are fallback only when a book fails.'}

.league-picker{display:flex;flex-direction:column;gap:6px;max-width:220px;margin:0 0 16px}
.league-picker span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.league-picker select{background:#0a1423;border:1px solid #2d4360;color:var(--text);border-radius:8px;padding:10px 12px}
.odds-controls{margin-top:28px;padding:18px 20px;border:1px solid #273b56;border-radius:12px;background:#0e1725}.odds-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.odds-controls-heading h2{font-size:15px;margin:0 0 6px}.odds-controls-heading p{font-size:11px;margin:0;color:#94aaca}.odds-controls .review-tools{gap:10px}.odds-editor{margin-top:16px;border-top:1px solid #273b56}.odds-editor>summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:15px 0 0;color:#a5c9ff;font-size:11px;list-style:none}.odds-editor>summary::-webkit-details-marker{display:none}.odds-editor>summary::before{content:'+';display:inline-grid;place-items:center;border:1px solid #354e6f;border-radius:5px;width:19px;height:19px;font-size:15px;color:#b2d1ff}.odds-editor[open]>summary::before{content:'−'}.odds-editor>summary>span{font-size:9px;color:#8097b5}.editor-actions{display:flex;justify-content:flex-end;margin:18px 0}.odds-controls .error{margin-top:15px}@media(max-width:600px){.odds-controls{margin-top:24px;padding:16px}.odds-controls-heading{align-items:flex-start;flex-direction:column;gap:14px}.odds-controls .review-tools{width:100%;justify-content:space-between}.odds-controls .review-tools .pill{font-size:9px}}
/* Multi-image queues share the same workflow in screenshots and league fallback. */
.screenshot-queue{margin-top:16px;border:1px solid #2d435f;border-radius:12px;background:linear-gradient(140deg,#16253b80,#0a1423);overflow:hidden;min-width:0}
.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #2b3d56}
.queue-heading strong{font-size:12px;font-weight:600;color:#d4e4fa}
.queue-list{list-style:none;margin:0;padding:4px 12px;max-height:270px;overflow:auto;overscroll-behavior:contain}
.queue-image{display:grid;grid-template-columns:64px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #25354a}
.queue-image:last-child{border-bottom:0}.queue-image img{display:block;width:64px;height:46px;object-fit:contain;border:1px solid #3a4e69;border-radius:6px;background:#07101d}
.queue-image a{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#abcfff}.queue-image small{display:block;font-size:10px;margin-top:4px;color:#91a8c6}
.queue-image[data-state="Scanning"] small{color:#a9ccff}.queue-image[data-state^="Failed"] small{color:#ffb1b6}
.queue-image .clear-image{min-height:36px;border-radius:7px}.queue-image .clear-image:hover{background:#23354e;color:#fff}.queue-note{padding:10px 14px;margin:0;border-top:1px solid #25354a;font-size:10px}
.league-mode .book-card.feed-ready .screenshot-queue{display:none}
@media(max-width:480px){.queue-image{grid-template-columns:48px minmax(0,1fr) 30px;gap:8px}.queue-image img{width:48px;height:38px}.queue-heading{padding:12px}.queue-heading .text-button{min-height:32px}}

/* Scanner composition: frosted blue surfaces, readable controls and a clearer scan flow. */
.scanner-shell .scanner-hero { gap: 36px; padding: 38px 0 28px; }
.scanner-shell .scanner-hero h1 { font-size: clamp(36px, 4.3vw, 54px); font-weight: 600; line-height: 1.08; letter-spacing: -.05em; }
.scanner-shell .scanner-hero .eyebrow { color: #90acd2; font-size: 10px; letter-spacing: .14em; }
.scanner-shell .scanner-hero .intro { margin: 18px 0 15px; color: #9baec6; font-size: 14px; line-height: 1.8; }
.scanner-shell .beta { padding: 4px 6px; color: #aac0dd; font-size: 9px; background: #1e2d422e; }
.scanner-shell .hero-graphic { width: 245px; height: 213px; }
.scanner-shell .orbit { width: 172px; height: 172px; border-color: #344c6d70; box-shadow: 0 0 0 22px #648dc806; background: radial-gradient(ellipse, #46658e12, transparent 75%); }
.scanner-shell .scan-art { width: 193px; transform: rotate(-4deg); filter: drop-shadow(0 15px 20px #0004); }
.scanner-shell .graphic-label { font-size: 9px; color: #849ebf; letter-spacing: .15em; }
.scanner-shell > main > .help-note { display: inline-block; margin: 0 22px 15px 0; color: #8fa6c4; font-size: 12px; }
.scanner-shell > main > .help-note a { padding-bottom: 3px; border-bottom: 1px solid #708bae3b; }
.scanner-shell > main > .help-note a:hover { color: #d3e4fc; border-color: #aac9f5; }
.scanner-shell .steps { gap: 38px; margin: 7px 0 24px; padding: 17px 0; border-color: #2a384c; color: #8197b4; font-size: 12px; }
.scanner-shell .steps li { gap: 10px; }
.scanner-shell .steps li span { width: 27px; height: 27px; font-size: 10px; border-color: #33455f; color: #8da9ce; }
.scanner-shell .steps li.active { color: #d7e4f7; }
.scanner-shell .steps li.active span { border-color: #5b7da9; background: linear-gradient(140deg, #2c4667, #1b2d46); color: #c2dbfc; box-shadow: inset 0 1px #d5e8ff19; }
.scanner-shell .source-tabs { margin-bottom: 29px; padding: 4px; border-color: #2e3f56; border-radius: 11px; background: #0e1724; }
.scanner-shell .source-tabs button { min-height: 43px; padding: 10px 18px; border: 1px solid transparent; color: #9eb0c9; font-size: 13px; }
.scanner-shell .source-tabs button[aria-pressed=true] { color: #e4eefa; border-color: #4d6486; background: linear-gradient(180deg, #48698f, #2d486a 48%, #243d5c 50%, #1d314c); box-shadow: inset 0 1px #d3e4ff55, 0 3px 9px #0002; }
.scanner-shell .source-tabs button:hover:not([aria-pressed=true]) { background: #1c293b; color: #d6e5fb; }
.scanner-shell .source-tabs small { color: #a2b9da; font-size: 10px; }
.scanner-shell .section-heading { align-items: flex-end; gap: 24px; margin-bottom: 21px; }
.scanner-shell .section-heading h2 { font-size: 26px; letter-spacing: -.04em; }
.scanner-shell .budget-field { flex: none; width: 210px; }
.scanner-shell .budget-field label { color: #a4b6ce; font-size: 11px; }
.scanner-shell .budget-field > div { background: linear-gradient(160deg, #29405e, #172a43); border-color: #6688b25c; box-shadow: inset 0 1px #cbe1ff33; }
.scanner-shell .budget-field input { min-height: 48px; font-size: 22px; font-weight: 500; font-variant-numeric: tabular-nums; }
.scanner-shell .book-grid { gap: 20px; }
.scanner-shell .book-card { padding: 25px; border: 1px solid #344359; border-radius: 18px; background: radial-gradient(ellipse at 0 0, #a3c7f516, transparent 66%), linear-gradient(145deg, #263c59, #15253b 76%); box-shadow: inset 0 1px #d8e7ff3b, inset 0 -1px #06142766, 0 12px 32px #00000026; }
.scanner-shell .book-top { gap: 12px; margin-bottom: 22px; }
.scanner-shell .book-letter { flex: none; width: 38px; height: 38px; border-color: #4b6487; border-radius: 11px; background: radial-gradient(ellipse at 25% 0, #def0ff30, transparent 70%), linear-gradient(145deg, #46688f, #263f60); color: #d3e7ff; box-shadow: inset 0 1px #d3e5ff55, 0 3px 9px #0002; }
.scanner-shell .book-top input { padding: 5px 0; color: #edf3fc; font-size: 20px; font-weight: 600; letter-spacing: -.03em; }
.scanner-shell .book-top small { color: #93aac9; font-size: 10px; letter-spacing: .05em; }
.scanner-shell .dropzone { min-height: 162px; padding: 22px; gap: 9px; border-color: #536c8c; border-radius: 12px; background: linear-gradient(140deg, #21395299, #0e1c2e); box-shadow: inset 0 1px #bed9ff1f, inset 0 3px 10px #07142544; }
.scanner-shell .dropzone svg { width: 30px; height: 30px; margin-bottom: 4px; color: #b0d0fc; }
.scanner-shell .dropzone strong { color: #dce9fa; font-size: 14px; font-weight: 500; }
.scanner-shell .dropzone small { color: #92a9c6; font-size: 11px; line-height: 1.6; }
.scanner-shell .dropzone:hover, .scanner-shell .dropzone:focus-within, .scanner-shell .dropzone.selected { border-color: #a2c4f4; background: #182b43; }
.scanner-shell .paste-row { margin-top: 13px; }
.scanner-shell .paste-row span, .scanner-shell .paste-row button { font-size: 11px; color: #9db2cf; }
.scanner-shell .layout-options summary, .scanner-shell .limits summary { min-height: 39px; padding: 9px 0; color: #b0c3dd; font-size: 12px; }
.scanner-shell .layout-options summary:hover, .scanner-shell .limits summary:hover { color: #e3edfb; }
.scanner-shell .field > span, .scanner-shell .league-picker span { color: #a0b4d0; font-size: 11px; line-height: 1.6; }
.scanner-shell .field input, .scanner-shell .field select, .scanner-shell .league-source select { min-height: 44px; border-color: #3a4e6a; border-radius: 9px; background: #0d1726; color: #dce7f8; font-size: 13px; box-shadow: inset 0 1px 4px #0002; }
.scanner-shell .rates { gap: 14px; margin-top: 20px; padding-top: 21px; border-color: #304157; }
.scanner-shell .limits p, .scanner-shell .terms-note p, .scanner-shell .help-note { color: #91a7c4; font-size: 12px; line-height: 1.8; }
.scanner-shell .terms-note { margin: 17px 0 24px; }
.scanner-shell .scan-actions { align-items: center; gap: 24px; padding: 4px 0; }
.scanner-shell .scan-actions > div { gap: 18px; flex-wrap: wrap; }
.scanner-shell .scan-actions > span { max-width: 240px; color: #8299b8; font-size: 11px; line-height: 1.7; text-align: right; }
.scanner-shell .primary, .scanner-shell .secondary { min-height: 44px; padding: 12px 18px; border-radius: 10px; font-size: 13px; }
.scanner-shell .primary { color: #14243c; border: 1px solid #bfd7f9; background: linear-gradient(180deg, #d7e8ff, #afcffb 48%, #9ec2f3 50%, #83ade5); box-shadow: inset 0 1px #ffffffbb, inset 0 -1px #375b8d55, 0 5px 20px #5185d32b; }
.scanner-shell .primary:hover:not(:disabled) { background: linear-gradient(180deg, #edf5ff, #c5deff 48%, #b4d3fa 50%, #9ac0ee); }
.scanner-shell .secondary { color: #ccdef5; border: 1px solid #789cc54d; background: linear-gradient(180deg, #344e70, #263e5b 48%, #213750 50%, #1c2e47); box-shadow: inset 0 1px #dbeaff2f; }
.scanner-shell .secondary:hover:not(:disabled) { border-color: #718db3; background: #273b56; }
.scanner-shell .status-box { border-color: #3c577e; border-radius: 12px; background: #182940; font-size: 13px; line-height: 1.7; }
.scanner-shell .status-box.is-error { background: #30232b; border-color: #704752; }
.scanner-shell .league-panel { padding: 26px; border-color: #3e5575; border-radius: 18px; background: radial-gradient(ellipse at 0 0, #92b4e516, transparent 70%), linear-gradient(135deg, #29405f, #15273e 75%); box-shadow: inset 0 1px #d4e6ff3b, 0 9px 26px #0002; }
.scanner-shell .league-panel .section-heading { align-items: flex-start; }
.scanner-shell .league-panel .section-heading > div { min-width: 0; max-width: 720px; }
.scanner-shell .league-panel h2 { font-size: 25px; }
.scanner-shell .league-panel .section-heading p:not(.eyebrow) { color: #9bafca; font-size: 12px; line-height: 1.8; }
.scanner-shell .league-source { padding: 18px; border-color: #344a68; border-radius: 12px; background: #0f1c2d; }
.scanner-shell .league-sources strong { font-size: 13px; color: #d8e7fb; }
.scanner-shell .league-sources small { font-size: 11px; line-height: 1.65; color: #aac5e8; }
.scanner-shell .league-status { padding: 13px 0; font-size: 12px; line-height: 1.7; }
.scanner-shell .odds-controls { padding: 23px; border-radius: 16px; border-color: #34475f; background: linear-gradient(145deg, #283c56, #182a40); box-shadow: inset 0 1px #d7e9ff30; }
.scanner-shell .odds-controls-heading h2 { font-size: 19px; font-weight: 600; }
.scanner-shell .odds-controls-heading p { font-size: 12px; line-height: 1.7; }
.scanner-shell .odds-editor > summary { font-size: 12px; }
.scanner-shell .odds-editor > summary > span { font-size: 10px; }
.scanner-shell .table-scroll, .scanner-shell .queue-list { scrollbar-width: thin; scrollbar-color: #4b6180 transparent; overscroll-behavior: contain; }
.scanner-shell .review-table th { color: #a1b6d2; font-size: 10px; }
.scanner-shell .review-table tbody tr:hover { background: #213a571c; }
.scanner-shell .review-section, .scanner-shell .results-section { margin-top: 42px; }
.scanner-shell .result-card { padding: 26px; margin: 17px 0; border: 1px solid #354962; border-radius: 17px; background: radial-gradient(ellipse at 0 0, #91b8ec12, transparent 70%), linear-gradient(130deg, #233952, #13233a 72%); box-shadow: inset 0 1px #dfedff30, 0 8px 30px #0002; }
.scanner-shell .result-card.best { border-color: #6383ae; box-shadow: inset 0 1px #d7e9ff4a, inset 3px 0 #a5c7f8, 0 10px 28px #0002; }
.scanner-shell .result-head { align-items: flex-start; gap: 26px; }
.scanner-shell .result-head > div:first-child { min-width: 0; }
.scanner-shell .result-head h3 { font-size: 20px; line-height: 1.35; letter-spacing: -.03em; }
.scanner-shell .result-head p { color: #a0b5d1; font-size: 12px; line-height: 1.7; }
.scanner-shell .rank { margin-bottom: 10px; color: #94b6e4; font-size: 10px; letter-spacing: .11em; }
.scanner-shell .profit { min-width: 158px; padding-left: 25px; border-left: 1px solid #3a4b62; }
.scanner-shell .profit small { color: #a3b7d3; font-size: 10px; line-height: 1.6; letter-spacing: .02em; }
.scanner-shell .profit strong { font-size: 31px; font-weight: 500; font-variant-numeric: tabular-nums; }
.scanner-shell .profit p { margin: 5px 0 0; font-size: 11px; }
.scanner-shell .legs { gap: 14px; margin-top: 22px; }
.scanner-shell .leg { padding: 18px; border-color: #324862; border-radius: 12px; background: linear-gradient(145deg, #192d44, #0e1c2f); box-shadow: inset 0 1px #cce3ff17; }
.scanner-shell .leg > div { min-width: 0; }
.scanner-shell .leg small { color: #96b2d7; font-size: 11px; }
.scanner-shell .leg strong { color: #e0eaf8; font-size: 14px; line-height: 1.5; }
.scanner-shell .leg-amount { flex: none; }
.scanner-shell .leg-amount strong { font-size: 21px; font-weight: 600; font-variant-numeric: tabular-nums; }
.scanner-shell .breakdown { margin-top: 20px; border-top: 1px solid #2e4058; }
.scanner-shell .breakdown summary { padding: 17px 0 8px; color: #acc8ec; font-size: 12px; }
.scanner-shell .breakdown table { font-size: 12px; }
.scanner-shell .breakdown td { font-variant-numeric: tabular-nums; }
.scanner-shell .screenshot-queue { border-color: #354b67; background: #101e30; }
.scanner-shell .queue-heading { padding: 13px 14px; background: #1a2c43; }
.scanner-shell .queue-image small, .scanner-shell .queue-note { color: #9aafcd; font-size: 11px; }
@media (max-width: 850px) {
  .scanner-shell .hero-graphic { width: 205px; }
  .scanner-shell .book-grid { grid-template-columns: 1fr; }
  .scanner-shell .scan-actions { align-items: flex-start; }
  .scanner-shell .scan-actions > span { max-width: none; text-align: left; }
  .scanner-shell .league-panel .section-heading { flex-wrap: wrap; }
  .scanner-shell .legs { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .scanner-shell .scanner-hero { padding: 29px 0 22px; }
  .scanner-shell .scanner-hero h1 { font-size: 39px; }
  .scanner-shell .scanner-hero .intro { font-size: 13px; }
  .scanner-shell .hero-graphic { display: none; }
  .scanner-shell > main > .help-note { display: block; margin: 0 0 12px; font-size: 11px; line-height: 1.8; }
  .scanner-shell .steps { justify-content: space-between; gap: 14px; margin-top: 20px; font-size: 11px; }
  .scanner-shell .steps li { gap: 7px; }
  .scanner-shell .steps li span { flex: none; width: 24px; height: 24px; }
  .scanner-shell .source-tabs { width: 100%; }
  .scanner-shell .source-tabs button { flex: 1; padding: 10px; font-size: 12px; }
  .scanner-shell .section-heading { align-items: flex-start; gap: 18px; }
  .scanner-shell .section-heading h2 { font-size: 24px; }
  .scanner-shell .budget-field { width: 100%; }
  .scanner-shell .book-card, .scanner-shell .league-panel { padding: 21px; }
  .scanner-shell .book-top input { font-size: 18px; }
  .scanner-shell .scan-actions { flex-direction: column; }
  .scanner-shell .scan-actions > div { gap: 12px; }
  .scanner-shell .scan-actions .primary { flex: 1; }
  .scanner-shell .result-card { padding: 20px; }
  .scanner-shell .result-head { flex-direction: column; gap: 17px; }
  .scanner-shell .result-head h3 { font-size: 19px; }
  .scanner-shell .profit { width: 100%; padding: 14px 0 0; border-left: 0; border-top: 1px solid #344861; text-align: left; }
  .scanner-shell .profit strong { font-size: 29px; }
  .scanner-shell .leg { padding: 16px; }
  .scanner-shell .leg strong { font-size: 13px; }
  .scanner-shell .leg-amount strong { font-size: 20px; }
  .scanner-shell .odds-controls { padding: 19px; }
}
