/* Phase 2B presentation layer. No engine selectors or storage keys changed. */
:root,body{color-scheme:light;--bg:#f4f6f8;--card:#fff;--ivory:#17232d;--gold:#536b7a;--sage:#536b61;--line:#e1e6eb;--on-accent:#fff}
body{background:#f4f6f8!important;color:#17232d!important;max-width:1040px!important;padding:14px!important;margin:auto!important;font-family:system-ui,-apple-system,sans-serif!important;box-sizing:border-box}
*{box-sizing:border-box}body>header{padding:4px 0 12px;margin:0;border-bottom:0}.bname .c,.bname{color:#253b46!important}.tag{letter-spacing:.15em}.montbadge{font-size:10px!important}
button,input,select,summary{font:inherit}button,select,summary{min-height:44px;touch-action:manipulation}button{cursor:pointer}button:focus-visible{outline:3px solid #4e8cc4;outline-offset:2px}button:disabled{opacity:.45;cursor:default}
#padrow,#track,#radialAuto{display:none!important}
#dashboard{display:grid;gap:10px;min-width:0}#dashboard .panel{background:#fff;border:1px solid #e1e6eb;border-radius:15px;padding:13px;min-width:0;box-shadow:0 2px 8px #17232d03}
#dashboard h2{font-size:12px;font-weight:700;letter-spacing:.06em;margin:0 0 10px;color:#64727d;text-transform:uppercase}
#dashboard .headrow{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}#dashboard .sub{font-size:11px;color:#667784;line-height:1.45}#dashboard .plain{background:#f4f6f8;border:1px solid #e1e6eb;color:#334c5c;border-radius:9px;padding:6px 10px}
#detectBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:center}#detectState{font-size:12px;font-weight:650;overflow-wrap:anywhere}#detectState:before{content:'●';color:#8a98a2;margin-right:6px}#detectBar[data-state=active] #detectState:before{color:#168363}#detectBar[data-state=verify] #detectState:before{color:#bc7912}#detectMeta{font-size:11px;color:#64727d;font-variant-numeric:tabular-nums}#detectActions{grid-row:1/3;grid-column:2;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}#detectActions button{font-size:11px;padding:5px 8px}
#recentNumbers{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin:9px 0 5px}.ball{display:flex;justify-content:center;align-items:center;border-radius:8px;min-height:34px;font-size:14px;font-weight:720;color:#fff;font-variant-numeric:tabular-nums;background:#e9edf1}.ball.red{background:#bf3c3b}.ball.black{background:#2c333a}.ball.green{background:#218363}.ball.placeholder{color:#a0acb4}#recentNumbers .ball:first-child{box-shadow:0 0 0 2px #cbd8e0}
#recommendations{display:grid;gap:8px}.recommend{background:#f1f6f5;border:1px solid #d7e6e0;border-radius:12px;padding:12px 14px}.recommend strong{display:block;font-size:24px;line-height:1.3;font-weight:750}.recommend .stake{font-size:32px;font-weight:750;letter-spacing:-.03em}.recommend .red{color:#b52f35}.recommend small{color:#607470;font-size:11px}.waiting{color:#657480!important}
#sessionMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 6px}.metric label{display:block;font-size:10px;color:#73818b;margin-bottom:3px}.metric b{font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums}.positive{color:#167b60}.negative{color:#bc3c3c}#sessionFoot{margin-top:10px;padding-top:8px;border-top:1px solid #eef0f2}
#sessionCurve svg{display:block;width:100%;height:155px;overflow:visible}#sessionCurve text{font:10px system-ui;fill:#72808a}#sessionCurve path.line{transition:stroke .3s;stroke:#3b7890;stroke-width:2.3;fill:none;stroke-linejoin:round;stroke-linecap:round}#curveValue{font-weight:650;font-size:15px}
#dashboard #mini{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0}#dashboard #mini .mcell{min-width:0;padding:10px 7px;border:1px solid #e2e7eb;background:#f9fbfc;color:#17232d;border-radius:11px}#dashboard #mini .mname{font-size:10px;letter-spacing:0;display:flex;gap:3px;flex-wrap:wrap;justify-content:center}#dashboard #mini .mscore{font-size:21px;margin:7px 0}#dashboard #mini .mstrip{display:flex!important;gap:2px;justify-content:center;flex-wrap:wrap}#dashboard #mini .mcell.play{border-color:#73a99c;background:#f0f8f4}#dashboard #mini .par-badge{font-size:9px}.strategy-extra{font-size:10px;line-height:1.65;margin-top:8px;border-top:1px solid #dfe7ec;padding-top:6px;color:#5c707d}.strategy-extra b{color:#253f4c;font-weight:650}
#frequencyGrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin-top:8px}.freq{border:0;min-height:44px;border-radius:8px;padding:4px 0;color:white;font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1px #ffffff22}.freq small{display:block;font-size:9px;opacity:.85;font-weight:400}.freq.red{background:#b83b3c}.freq.black{background:#303841}.freq.green{background:#228262}.freq .level{display:block;margin:3px 5px 0;height:3px;background:#ffffff35;border-radius:2px}.freq .level i{display:block;background:#fff;height:3px;border-radius:2px}#freqPeriod{font-size:11px;border:1px solid #e1e6eb;background:#fff;border-radius:8px;max-width:150px;padding:4px}#manualActions{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap;font-size:11px}
#allHistory{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;max-height:240px;overflow:auto;margin-top:8px}#allHistory button{border:0;min-width:0;padding:0}.history-hint{font-size:11px;color:#64727d}.auxiliary{margin-top:12px}#histSection{margin-top:16px}dialog{max-width:calc(100vw - 24px);border:1px solid #d8e1e7;color:#17232d;background:white;border-radius:15px}dialog::backdrop{background:#24313b55}#autoDialog button{padding:6px 10px}#autoDialog{font-size:13px}#autoDialog canvas{border-radius:8px}#autoDialog p{line-height:1.45}#askModal{z-index:10000}#dashboard [hidden]{display:none!important}
@media(max-width:520px){body{padding:9px!important}#dashboard .panel{padding:11px}#detectBar{grid-template-columns:1fr}#detectActions{grid-row:auto;grid-column:1;justify-content:flex-start}#recentNumbers{gap:3px}.ball{font-size:12px;min-height:31px;border-radius:6px}#frequencyGrid{grid-template-columns:repeat(8,minmax(0,1fr))}.metric b{font-size:16px}#dashboard #mini .mname{font-size:9px}.recommend strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
body{--felt:#f4f6f8;--felt2:#edf1f4;--card2:#f7f9fa;--sage-dim:#667782;--ivory-2:#40515b;--scrim:#24313b66;--wash:#142e4510;--gold-soft:#58768c12;--line-soft:#162c3d0d;--shadow-card:0 1px 3px #142e4508}body>.set,body>section{min-width:0}#autoDialog [hidden]{display:none!important}#autoDialog input{max-width:100%}
#detectBar{position:sticky;top:6px;z-index:20;box-shadow:0 4px 14px #17232d0c}.brand{flex-wrap:wrap;justify-content:flex-start}#dashboard #mini .mcell{animation:none;transform:none;transition:background .2s,border-color .2s}#dashboard #mini .mcell.ended{opacity:.75}.freq{transition:background-image .25s}#detectActions video{align-self:center}
@media(max-width:600px){#frequencyGrid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:400px){#frequencyGrid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:360px){#frequencyGrid{grid-template-columns:repeat(5,minmax(0,1fr))}}


/* Phase 2C — compact live cockpit for the right-hand iPad Split View pane.
   Scoped to presentation only: the historic engine, OCR, storage and DOM IDs are unchanged. */
body{max-width:none!important;width:100%;padding:10px 11px!important;overflow-x:hidden}
body>header{padding:0 2px 7px!important}
body>header .bname{font-size:19px!important}
body>header .tag{font-size:10px!important}
#dashboard{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:'ocr ocr' 'recent recent' 'session recommend' 'curve strategies' 'frequency frequency';gap:9px;align-items:stretch}
#dashboard>.panel{margin:0!important;padding:10px 12px;border-radius:14px;min-width:0}
#dashboard .dashboard-ocr{grid-area:ocr}
#dashboard .dashboard-recent{grid-area:recent}
#dashboard .dashboard-session{grid-area:session}
#dashboard .dashboard-recommend{grid-area:recommend}
#dashboard .dashboard-curve{grid-area:curve}
#dashboard .dashboard-strategies{grid-area:strategies}
#dashboard .dashboard-frequency{grid-area:frequency}
#dashboard h2{font-size:11px!important;letter-spacing:.045em!important;margin-bottom:7px!important}
#detectBar{top:0;grid-template-columns:minmax(130px,1fr) auto;min-height:55px;padding:8px 11px!important}
#detectMeta{font-size:10px;overflow-wrap:anywhere;line-height:1.25}
#detectActions{align-items:center;gap:4px;flex-wrap:nowrap}
#detectActions button{min-height:34px!important;font-size:10px;padding:5px 6px;white-space:nowrap}
#detectActions video{max-height:30px!important;max-width:55px!important;object-fit:cover;border-radius:5px}
#recentNumbers{margin:3px 0 2px;gap:3px}
#recentNumbers .ball{min-height:31px;border-radius:7px;font-size:13px}
#dashboard .dashboard-recent details{margin-top:2px}
#dashboard .dashboard-recent summary{min-height:28px;font-size:10px;padding-top:3px}
#sessionMetrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 5px}
#sessionMetrics .metric label{font-size:9.5px}
#sessionMetrics .metric b{font-size:clamp(13px,1.7vw,19px);line-height:1.25}
#sessionFoot{margin-top:8px;padding-top:6px;font-size:10px!important}
#recommendations{gap:5px}
#recommendations .recommend{padding:8px 10px;border-radius:9px;min-height:80px}
#recommendations .recommend strong{font-size:clamp(21px,2.8vw,33px);line-height:1.06}
#recommendations .recommend .stake{font-size:clamp(25px,3.5vw,38px);line-height:1.2;margin-top:3px;color:#172b39}
#recommendations .recommend small{display:block;margin-top:2px;font-size:10px}
#recommendations .recommend.waiting{min-height:90px;display:flex;flex-direction:column;justify-content:center}
#dashboard .dashboard-virtual{margin-top:5px;font-size:10px!important}
#sessionCurve svg{height:215px}
#dashboard .dashboard-curve{min-height:267px}
#dashboard #mini{display:grid!important;grid-template-columns:1fr!important;gap:5px;margin:0}
#dashboard #mini .mcell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:repeat(3,auto) auto;gap:0 9px;align-items:center;text-align:left;padding:6px 8px;border-radius:9px;min-height:83px}
#dashboard #mini .mname{grid-column:1;grid-row:1;justify-content:flex-start;font-size:10px;line-height:1.15}
#dashboard #mini .mscore{grid-column:1;grid-row:2;justify-content:flex-start;text-align:left;font-size:18px;margin:3px 0}
#dashboard #mini .par-badge{grid-column:1;grid-row:3}
#dashboard #mini .mstrip{grid-column:1/3;grid-row:4;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));margin:4px 0 0;gap:2px}
#dashboard #mini .mdot{height:5px}
#dashboard #mini .strategy-extra{grid-column:2;grid-row:1/4;margin:0;padding:0 0 0 8px;border:0;border-left:1px solid #e1e6eb;font-size:9px;line-height:1.27;overflow-wrap:anywhere}
#dashboard #mini .strategy-extra div:first-child{font-weight:750;color:#344956}
#dashboard #mini .mcell.play{transform:none;box-shadow:none}
#frequencyGrid{grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;margin-top:5px}
#frequencyGrid .freq{min-height:38px;border-radius:6px;padding:3px 0;font-size:13px}
#frequencyGrid .freq small{font-size:8px;line-height:1.2}
#frequencyGrid .freq .level{height:2px;margin:2px 5px 0}
#frequencyGrid .freq .level i{height:2px}
#freqHint{font-size:9px!important}
#manualActions{margin-top:5px;gap:5px}
#manualActions .plain{min-height:34px;font-size:10px}
#dashboard #detectBar [hidden],.radial-secondary .secondary-view[hidden]{display:none!important}
.radial-secondary{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 16px));max-width:unset;max-height:calc(100dvh - 24px);border:1px solid #d7e1e8;border-radius:18px;background:#f4f6f8;color:#17232d;box-shadow:0 18px 60px #1e2d3d50;padding:12px;overflow:auto}
.radial-secondary::backdrop{background:#1e2d3d94}
.radial-secondary .secondary-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 5px 8px}
.radial-secondary .secondary-header strong{font-size:17px}
.radial-secondary .secondary-header button{border:1px solid #d5e0e6;border-radius:8px;background:white;color:#334655;padding:5px 10px;min-height:35px}
.radial-secondary .secondary-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 9px}
.radial-secondary .secondary-tabs button{flex:1 1 auto;border:1px solid #d9e1e7;border-radius:9px;background:#fff;color:#3b5364;padding:7px 8px;min-height:38px;font-size:12px}
.radial-secondary .secondary-tabs button.selected{background:#dfeaf0;border-color:#89a3b4;color:#162f3f;font-weight:700}
.radial-secondary .secondary-view{margin:0!important;min-width:0}
.radial-secondary .secondary-view[hidden]{display:none!important}
.radial-secondary details.set{display:block}
.radial-secondary details.set>summary{display:none}
body>footer{margin:9px 0 0;padding:2px 8px 8px;font-size:10px;line-height:1.3;color:#74828d}
body>#goalBanner{margin:0 0 8px;padding:7px 12px}
@media(max-width:760px){#frequencyGrid{grid-template-columns:repeat(10,minmax(0,1fr))}#dashboard #mini .strategy-extra{font-size:8.6px}#detectActions button{padding:4px 5px;font-size:9px}#sessionMetrics .metric b{font-size:15px}}
@media(max-width:590px){#dashboard{grid-template-columns:1fr;grid-template-areas:'ocr' 'recent' 'recommend' 'session' 'curve' 'strategies' 'frequency'}#dashboard .dashboard-curve{min-height:230px}#sessionCurve svg{height:190px}#dashboard #mini{grid-template-columns:repeat(3,minmax(0,1fr))!important}#dashboard #mini .mcell{display:block;text-align:center;min-height:0}#dashboard #mini .mname,#dashboard #mini .mscore{justify-content:center}#dashboard #mini .strategy-extra{border-left:0;border-top:1px solid #e1e6eb;margin-top:5px;padding:5px 0 0;font-size:9px}#frequencyGrid{grid-template-columns:repeat(8,minmax(0,1fr))}#detectBar{grid-template-columns:1fr}#detectActions{grid-column:1;grid-row:3;justify-content:flex-start;flex-wrap:wrap}#recentNumbers .ball{font-size:11px;min-height:29px}}
@media(max-width:375px){#dashboard #mini{grid-template-columns:1fr!important}#dashboard #mini .mcell{display:grid}#frequencyGrid{grid-template-columns:repeat(7,minmax(0,1fr))}}
