
/* v1.7 · Lotto Lab desktop monitor. The supplied reference establishes colour
   roles, not this grid or timing. Geometry and motion below are local design.
   A compact research dock + a large ledger; no new decorative hero or GPU loop. */
.desk{--appbar-height:48px;--dock-width:310px}
body.desk{font-size:13px;line-height:1.4}
.desk .appbar{height:48px;min-height:48px;padding:0 14px;gap:18px}
.desk .brand-text{font-size:20px;letter-spacing:-.6px}
.desk .edition-label{display:none}.desk .desk-nav{gap:20px}
.desk .page-heading{min-height:32px;padding:4px 3px;margin:0;gap:8px}
.desk .page-heading h1{font-size:13px;letter-spacing:-.2px}
.desk .instrument-dot{width:6px;height:6px}
.desk .instrument-label{font-size:11px;color:#687382}
.desk .shell{width:100%;padding:0 10px 0}
.desk .workspace{grid-template-columns:var(--dock-width) minmax(0,1fr);gap:10px;align-items:stretch}
.desk .sidebar{display:flex;flex-direction:column;gap:0;position:static;padding:0;max-height:none;min-height:0;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid #e5e8eb;border-radius:12px;scrollbar-width:thin;scroll-padding-top:4px}
.desk .sidebar>.panel,.desk .sidebar-comparison>.panel{border:0;border-radius:0;box-shadow:none}
.desk .sidebar>.panel+.panel{border-top:1px solid #eef0f3}
.desk .sidebar .sidebar-comparison{display:flex;flex-direction:column;gap:0;flex:none}
.desk .sidebar .run-panel{position:relative;flex:none;padding:8px 10px 0;border:0;border-radius:0;background:#fff}
.desk .sidebar .run-top{display:flex;flex-wrap:nowrap;gap:4px;max-width:none;min-height:22px}
.desk .sidebar .run-label{gap:5px;flex-wrap:nowrap}.desk .sidebar .run-label h2{font-size:12px;white-space:nowrap}
.desk .sidebar #runMode{font-size:11px;background:none;padding:0;color:#687382}
.desk .sidebar #runCount{margin-left:auto;line-height:1.3}
.desk .sidebar #runCount strong{font-size:17px;font-weight:700;letter-spacing:-.3px}
.desk .sidebar #runCount>span{font-size:11px;white-space:normal;margin-left:2px}
.desk .sidebar progress{margin-top:4px;height:2px}
.desk .sidebar .current-formula{margin:5px 0 0;padding:4px 6px;border-radius:6px;background:#f7f9fc;min-height:0}
.desk .current-formula-top{display:flex;gap:4px;min-height:22px;margin:0}
.desk .current-formula-caption{gap:4px;min-width:0}
.desk #currentFormulaPhase{font-size:11px;white-space:nowrap}
.desk #currentFormulaStep{font-size:11px;white-space:nowrap}
.desk .current-formula-name{font-size:12px;line-height:17px;margin-left:26px;min-height:17px}
.desk .sidebar .run-actions{padding:5px 0 0;gap:5px;grid-template-columns:1fr 1fr 32px!important}
.desk .sidebar .run-actions .button{min-height:30px;height:30px;font-size:12px}
.run-info{font-size:11px;color:#687382;position:relative;margin:2px 0}
.run-info>summary{cursor:pointer;padding:2px 0;text-align:right;list-style:none;font-size:11px}
.run-info>summary::after{content:' ⌄'}.run-info[open]>summary::after{content:' ⌃'}
.desk .run-info-content{padding:4px 0 7px;display:grid;gap:4px}
.desk .run-message.has-error{color:#b4233d}
.desk .compact-comparison{display:flex;flex-wrap:nowrap;padding:5px 8px;gap:4px;border-top:1px solid #eef0f3;border-bottom:1px solid #eef0f3}
.desk .compact-comparison>select{flex:1;min-width:0;width:0;min-height:27px;font-size:11px;border:0;background:#f4f5f8;padding:3px 6px;border-radius:6px}
.desk .compact-comparison>a{min-height:27px;padding:3px 6px;font-size:11px}
/* Watchlist-like formula ranking; old full detail remains available via +. */
.desk .ranking-panel .section-heading{display:flex;padding:8px 9px 3px;gap:5px;align-items:center;min-height:35px}
.desk .ranking-panel .section-heading>div{min-width:0}
.desk #rankingTitle{font-size:13px;white-space:nowrap}.desk .ranking-stamp{margin-left:auto;white-space:nowrap;font-size:11px}
.desk .ranking-scroll{max-height:196px;min-height:70px;overflow:auto;scrollbar-width:thin}
.desk .ranking-table{min-width:0;width:100%;table-layout:fixed}
.desk .ranking-table th{font-size:11px;padding:0 3px;background:#fff;line-height:1.2;height:24px;top:0;position:sticky;z-index:2}
.desk .ranking-table th:nth-child(1){width:49%;padding-left:8px}.desk .ranking-table th:nth-child(2){width:15%}.desk .ranking-table th:nth-child(3){width:29%}.desk .ranking-table th:nth-child(4){width:7%;color:transparent}
.desk .ranking-table .sort-header{font-size:11px;min-height:24px;gap:1px;padding:1px 0}.desk .ranking-table .sort-arrow{font-size:11px}
.desk .ranking-table td{height:34px;padding:3px;border-bottom:1px solid #f0f2f5;font-size:12px;vertical-align:middle}
.desk .ranking-table td:first-child{padding-left:7px}
.desk .ranking-table .method-cell{display:flex;align-items:center;gap:5px;min-width:0}
.rank-position{display:flex;align-items:center;flex-direction:column;flex:none;width:17px;line-height:1.1}
.desk .ranking-table .rank-number{font-size:12px;width:auto;min-width:0;line-height:1.15;padding:0}
.desk .rank-move{font-size:11px;color:#9aa3ad;font-weight:400;line-height:1.1;min-height:12px;letter-spacing:-.7px}
.desk .rank-move.up{color:#d33d4f}.desk .rank-move.down{color:#2877e4}
.rank-chart-link{border:0;background:none;padding:0;min-width:0;text-align:left;display:block;width:100%;color:#333d4b;font-family:inherit}
.desk .rank-chart-link .method-name{display:block;font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none;line-height:15px}
.desk .rank-chart-link .method-meta{display:block;font-size:11px;line-height:12px;margin:1px 0 0;color:#687382;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .ranking-table .chart-selected-row>td{background:#f0f6ff}
.desk .ranking-table .rank-chart-link:hover{color:#1b64da}
.desk .ranking-table .detail-button{border:0;background:none;font-size:15px;min-width:18px;min-height:28px;padding:0;color:#7b8795}
.desk .ranking-table .compact-prizes{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:0;min-width:0;line-height:15px}
.desk .best-prize{font-size:11px;font-weight:650;color:#4e5968}.desk .best-prize-count{font-size:11px;color:#687382;font-variant-numeric:tabular-nums}
.desk .best-prize.grade-1{color:#88600e}.desk .best-prize.grade-2{color:#3265b4}.desk .best-prize.grade-3{color:#956145}.desk .best-prize.grade-4{color:#087c60}.desk .best-prize.grade-5{color:#bb465a}
.desk .rank-options{border-bottom:1px solid #e5e8eb;padding:0 9px 3px;min-width:0;font-size:11px}
.desk .rank-options>summary{font-size:11px;color:#687382;cursor:pointer;min-height:21px;padding:3px 0;list-style:revert}
.desk .rank-options .rank-filters{padding:4px 0;border:0}
.desk .rank-options .rank-filters input,.desk .rank-options .rank-filters select{font-size:11px;min-height:28px}
.desk .rank-options #groupTag{margin:3px 0}.desk .rank-options .table-note{border:0;padding:4px 0}
.desk .ranking-table .detail-grid{grid-template-columns:1fr}.desk .ranking-table .detail-row>td{height:auto;padding:8px;background:#f7f9fc}.desk .detail-row .detail-metrics{flex-wrap:wrap;gap:4px}
/* Keep the chart visible in the initial viewport rather than under settings. */
.desk .sidebar .research-heading{padding:7px 9px 3px;gap:4px;min-height:33px;display:flex;flex-wrap:wrap}
.desk .sidebar #researchTitle{font-size:13px;flex:1;white-space:nowrap}
.desk .sidebar .research-heading .button{font-size:11px;padding:3px 5px;min-height:26px}
.desk .sidebar .research-caption{display:none}
.desk .desk-chart{margin:0;padding:2px 9px 4px;border:0}
.desk .chart-heading{display:flex;min-height:20px;margin:0 0 3px;gap:4px}
.desk .chart-heading h3{font-size:12px;flex:1}.desk .chart-heading #chartStamp{display:none}
.desk .follow-leader{font-size:11px;font-family:inherit;border:0;border-radius:4px;color:#687382;background:transparent;padding:2px 3px;min-height:22px}
.desk .follow-leader[aria-pressed=true]{color:#1b64da;background:#e8f3ff}
.desk #chartMethod{min-height:28px;height:28px;font-size:12px;font-weight:600;background:#f4f5f8;border-radius:6px;padding:3px 7px}
.desk .chart-toolbar{margin:4px 0 2px;gap:2px}
.desk .chart-tabs{padding:1px;gap:0;background:#f2f4f6;border-radius:5px}
.desk .chart-tabs button{padding:3px 5px;font-size:11px;min-height:24px}
.desk #chartWindow{width:76px;max-width:76px;min-height:24px;padding:1px 0;font-size:11px}
.desk .chart-value{min-height:24px;gap:6px;align-items:baseline}
.desk .chart-value strong{font-size:21px;letter-spacing:-.6px;line-height:1.2}
.desk .chart-value #chartDelta{font-size:11px;white-space:nowrap}
.desk .chart-stage{height:130px;aspect-ratio:auto;margin-top:2px;max-height:none}
.desk .chart-stage svg{height:100%;width:100%;display:block}
.desk .chart-grid{stroke:#e9edf2}.desk .chart-formula{stroke-width:2.1}
.desk .chart-legend{margin:0;gap:8px;min-height:16px;font-size:11px}
.desk .legend-rank::before{display:none}.desk .chart-readout{margin:2px 0 0;min-height:15px;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk #chartDescription{font-size:11px;line-height:1.3;margin:2px 0;color:#687382}
.desk .chart-records{padding:1px 0;font-size:11px;min-height:23px}
.desk .comparison-more{border-top:1px solid #eef0f3;font-size:11px}.desk .comparison-more>summary{cursor:pointer;padding:6px 9px;min-height:27px;color:#687382;font-size:11px}
.desk #researchDetails>summary{padding:5px 9px;font-size:11px;min-height:27px}.desk #researchDetails>summary>.micro{display:none}
.desk .sidebar .metrics{margin:0 8px 6px;border-radius:6px;grid-template-columns:1fr 1fr}
.desk .sidebar .metric{padding:6px}.desk .sidebar .metric>strong{font-size:17px}
.desk .sidebar .research-brief{padding:0 9px 8px;grid-template-columns:1fr;gap:6px}
.desk .sidebar .research-brief>div{border:0;padding:0}
.desk .sidebar .panel-heading{min-height:34px;padding:7px 9px;font-size:12px}
/* Most of the available height is ledger data, not duplicate headings. */
.desk .results{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;scrollbar-width:thin}
.desk .records-panel{display:flex;flex-direction:column;border-radius:12px;min-height:300px;flex:1}
.desk .records-panel>.section-heading{display:flex;flex-wrap:nowrap;align-items:center;padding:7px 10px 4px;min-height:37px;flex:none}
.desk .records-panel .section-heading h2{font-size:14px;line-height:22px}
.desk .records-panel .follow-control{font-size:11px;white-space:nowrap}
.desk .prize-ribbon{display:flex;align-items:stretch;padding:0 9px 5px;gap:0;flex:none;background:#fff;min-height:43px}
.desk .prize-quote{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex:1;min-width:0;background:transparent;border:0;border-right:1px solid #edf0f3;border-radius:0;padding:5px 9px;gap:5px;text-align:left}
.desk .prize-quote:last-child{border:0}.desk .prize-quote.all{flex:1.4}
.desk .prize-quote>span:first-child{font-size:11px;white-space:nowrap}
.desk .prize-quote>strong{font-size:18px;line-height:1.35;font-weight:650;letter-spacing:-.4px;white-space:nowrap;overflow-wrap:normal}
.desk .prize-quote>strong>small{font-size:11px;margin-left:2px}
.desk .prize-quote.active{background:#f0f6ff;border-radius:6px;box-shadow:inset 0 -2px 0 #3182f6}
.desk .prize-quote:hover{background:#f5f8fc}
.desk .record-filters{padding:5px 10px 6px;gap:5px;display:flex;flex-wrap:wrap;flex:none;border-top:1px solid #edf0f3}
.desk .record-filters select,.desk .record-filters input{min-height:28px;height:28px;font-size:11px;padding:3px 5px;border:1px solid transparent;border-radius:6px;background:#f4f5f8}
.desk .record-filters #recordMethod{flex:1 1 125px;max-width:180px}
.desk .record-filters #recordRound{width:76px}.desk .record-filters #recordPrize{max-width:85px}.desk .record-filters #recordMatches{max-width:98px}.desk .record-filters #recordSort{max-width:135px}
.desk .record-filters .button{font-size:11px;min-height:28px;height:28px;padding:3px 6px}
.desk .records-scroll{height:auto;flex:1;min-height:180px;max-height:none;overflow:auto;container-type:inline-size;scrollbar-width:thin;overflow-anchor:none}
.desk .records-table{width:100%;min-width:748px;table-layout:fixed}
.desk .records-table th{height:27px;font-size:11px;padding:0 6px;position:sticky;top:0;z-index:3;background:#fafbfc}
.desk .records-table th:nth-child(1){width:10%}.desk .records-table th:nth-child(2){width:9%}.desk .records-table th:nth-child(3){width:19%}.desk .records-table th:nth-child(4){width:24%}.desk .records-table th:nth-child(5){width:28%}.desk .records-table th:nth-child(6){width:10%}
.desk .records-table .sort-header{min-height:27px;padding:2px 0;font-size:11px;font-weight:500}
.desk .records-table td{height:39px;padding:4px 6px;vertical-align:middle;min-width:0;width:auto;font-size:12px;border-bottom:1px solid #edf0f3}
.desk .records-table td:nth-child(3){min-width:0}.desk .records-table tbody tr:hover>td{background:#f7f9fc}
.desk .records-table .record-name{font-size:12px;line-height:17px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}
.desk .records-table .formula-avatar{width:22px;height:22px;font-size:11px;border-radius:7px;flex:none}
.desk .record-method{gap:6px;min-width:0}.desk .record-method>div{min-width:0}
.desk .records-table .record-time{font-size:11px;line-height:12px;margin:0}
.desk .records-table .record-version,.desk .records-table .record-cutoff{display:none}
.desk .records-table .record-open{min-height:16px;font-size:12px;line-height:17px;padding:0}
.desk .records-table .record-round{font-size:12px}
.desk .records-table .balls{gap:3px;white-space:nowrap}
.desk .records-table .ball{width:22px;height:22px;font-size:11px;line-height:1;font-weight:600}
.desk .records-table .result-badge{padding:2px 5px;font-size:11px;line-height:16px}.desk .records-table .result-small{display:none}
.desk .record-footer{padding:3px 9px;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;min-height:32px;flex:none;gap:4px}
.desk .record-footer .button{font-size:11px;min-height:25px;padding:3px 5px}
.desk .record-footer #recordPageInfo{font-size:11px;min-width:0}
.desk .records-table .empty{height:auto;min-height:130px;padding:15px 8px}
/* Small live results viewport: current step is always available above the dock. */
.desk .live-panel{flex:none;border-radius:12px}
.desk .live-panel .panel-heading{padding:5px 10px;min-height:30px;font-size:12px}
.desk .live-draw-line{padding:0 10px 4px;gap:6px;min-height:25px}
.desk .live-draw-line .ball{width:20px;height:20px;font-size:11px}
.desk .live-activity-bar{padding:3px 10px;min-height:26px;gap:6px}
.desk .live-activity-bar strong{font-size:12px}
.desk .live-scroll{max-height:102px;min-height:0}
.desk .live-table{min-width:640px;width:100%}
.desk .live-table th{padding:0 8px;height:23px;background:#fafbfc}.desk .live-table .sort-header{min-height:23px;font-size:11px;padding:0}
.desk .live-table td{height:31px;padding:3px 8px;font-size:12px}.desk .live-table .result-small{display:none}
.desk .live-table .ball{width:20px;height:20px;font-size:11px}.desk .live-explanation{font-size:11px;border-top:1px solid #eef0f3}
.desk .live-explanation>summary{cursor:pointer;min-height:23px;padding:3px 10px;color:#687382;font-size:11px}
.desk .live-explanation .live-sort-tools{padding:4px 10px}.desk .live-explanation .table-note{font-size:11px}
.desk .desk-footer{min-height:24px;padding:3px 4px;font-size:11px;gap:8px}
.desk .desk-footer>*{font-size:11px}
.desk .collapsed-run{margin-bottom:5px;padding:4px 8px;border-radius:7px;min-height:33px}
.desk .notice{padding:5px 8px;margin:0 0 5px;font-size:11px}
/* Interactive feedback is on by default; OS reduced-motion stays authoritative. */
@keyframes rank-row-update{from{background-color:#e8f3ff}to{background-color:transparent}}
.desk .rank-changed .rank-chart-link{animation:rank-row-update .55s ease-out}
@media(min-width:1001px){
 html:has(body.desk),body.desk{height:100%;height:100dvh;overflow:hidden}
 .desk .appbar{flex:none;position:relative}.desk .shell{height:calc(100dvh - 48px);display:flex;flex-direction:column;min-height:0}
 .desk .workspace{flex:1;min-height:0}.desk .page-heading,.desk .notice,.desk .collapsed-run,.desk .desk-footer{flex:none}
 .desk .sidebar{max-height:100%;min-height:0}.desk .results{min-height:0}
 .desk .results>.run-history-panel{display:none}
}
@media(min-width:1600px){.desk{--dock-width:340px}.desk .ranking-scroll{max-height:230px}.desk .chart-stage{height:156px}.desk .records-table td{height:41px}}
@media(max-width:1220px) and (min-width:1001px){.desk{--dock-width:288px}.desk .appbar{gap:12px}.desk .instrument-label{display:none}.desk .record-filters #recordMethod{max-width:148px}.desk .record-filters #recordMatches{max-width:82px}.desk .prize-quote{padding:4px 6px;gap:3px}.desk .prize-quote>strong{font-size:16px}.desk .prize-quote>strong>small{display:none}.desk .ranking-table th:nth-child(1){width:47%}.desk .ranking-table th:nth-child(3){width:31%}.desk .chart-tabs button{padding:3px 4px}}
@media(max-width:1000px){
 .desk .workspace{grid-template-columns:280px minmax(0,1fr);align-items:start}
 .desk .sidebar{position:sticky;top:52px;max-height:calc(100dvh - 64px)}
 .desk .results{overflow:visible}.desk .records-panel{height:550px;min-height:0}.desk .records-scroll{min-height:180px;height:auto;max-height:none}
 .desk .appbar{position:sticky;top:0;gap:8px}.desk .header-actions .connection{display:none}.desk .instrument-label{display:none}
 .desk .record-filters #recordMethod{max-width:none}.desk .record-filters #recordPrize,.desk .record-filters #recordMatches{flex:1}
 .desk .prize-ribbon{flex-wrap:wrap}.desk .prize-quote,.desk .prize-quote.all{flex:1 0 30%;padding:3px 6px;min-height:32px}
 .desk .prize-quote>strong{font-size:16px}.desk .record-footer{flex-wrap:wrap}.desk .record-footer>div{margin-left:auto}
 .desk .desk-nav{display:none}.desk .edition-label{display:inline}
}
@media(max-width:820px){
 .desk .workspace{grid-template-columns:1fr;gap:8px}.desk .results{order:-1}.desk .sidebar{position:static;max-height:none;order:1}
 .desk .sidebar .sidebar-comparison{display:flex;grid-template-columns:none}.desk .sidebar .sidebar-comparison>.ranking-panel,.desk .sidebar .sidebar-comparison>.research-panel{grid-row:auto;grid-column:auto}
 .desk .records-panel{height:570px}.desk .prize-ribbon{flex-wrap:nowrap}.desk .prize-quote,.desk .prize-quote.all{flex:1 1 0;min-height:35px}
 .desk .ranking-scroll{max-height:248px}.desk .chart-stage{height:170px}.desk .sidebar .run-actions{grid-template-columns:1fr 1fr 32px!important}
 .desk .sidebar .metrics{grid-template-columns:1fr 1fr}.desk .record-filters #recordMethod{min-width:130px;flex:1}
}
@media(max-width:650px){
 .desk .appbar{height:auto;min-height:82px;padding:5px 8px;gap:2px;flex-wrap:wrap}.desk .header-actions{width:100%;gap:3px}.desk .header-update{margin-right:auto;max-width:200px}
 .desk .brand{height:29px}.desk .header-actions .button{min-height:27px;font-size:11px;padding:3px 5px}
 .desk .page-heading{min-height:45px;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 1px}
 .desk .shell{padding:0 6px}.desk .page-heading h1{font-size:13px}.desk .instrument-meta{font-size:11px}
 .desk .records-panel{height:600px}.desk .records-panel>.section-heading{padding:6px 7px;gap:4px;flex-wrap:wrap;min-height:37px}
 .desk .records-panel .section-heading h2{font-size:13px}.desk .records-panel .follow-control{font-size:11px;margin-left:auto}
 .desk .prize-ribbon{flex-wrap:wrap;padding:0 6px 4px}.desk .prize-quote,.desk .prize-quote.all{flex:1 0 30%;min-height:33px;padding:3px 6px}
 .desk .prize-quote>strong{font-size:17px}.desk .record-filters{padding:5px 7px;gap:4px}.desk .record-filters #recordMethod{flex:1 1 60%;min-width:0;width:0;max-width:none}
 .desk .record-filters #recordRound{flex:none;width:76px}.desk .record-filters #recordPrize,.desk .record-filters #recordMatches{max-width:none;flex:1 1 40%}
 .desk .record-filters #recordSort{flex:1;min-width:0;max-width:none}.desk .record-footer{padding:4px 7px}.desk .record-footer #recordLatest{max-width:none}
 .desk .live-panel .panel-heading{padding:5px 8px}.desk .live-activity-bar{flex-wrap:wrap;gap:3px;padding:3px 8px}.desk .live-draw-line{padding:0 8px 3px}
 .desk .live-scroll{max-height:102px}.desk .live-draw-line #livePhase{width:auto;margin-left:0}.desk .live-panel #liveMeta{font-size:11px}
 .desk .desk-footer{flex-wrap:wrap}.desk .edition-label{font-size:11px}.desk .chart-stage{height:154px}
}
@media(prefers-reduced-motion:reduce){.desk *, .desk *::before, .desk *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Override earlier sidebar-only declarations explicitly, not with smaller text. */
.desk .compact-comparison{position:relative}.desk .compact-comparison>.sr-only{top:0;left:0}
.desk .sidebar .ranking-panel .section-heading{padding:6px 9px 2px;min-height:31px}
.desk .sidebar .ranking-scroll{max-height:184px;min-height:60px}
.desk .sidebar .ranking-table th{height:24px;padding:0 3px}
.desk .sidebar .ranking-table th:first-child{width:49%;padding-left:8px}
.desk .sidebar .ranking-table th:nth-child(2){width:15%}
.desk .sidebar .ranking-table th:nth-child(3){width:29%}
.desk .sidebar .ranking-table th:nth-child(4){width:7%}
.desk .sidebar .ranking-table td{height:34px;padding:2px 3px}
.desk .sidebar .ranking-table td:first-child{padding-left:7px}
.desk .sidebar .ranking-table .detail-row>td{height:auto;padding:7px}
.desk .sidebar .current-formula{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:5px;padding:3px 5px;margin-top:4px}
.desk .sidebar .current-formula #labScene{grid-column:1;grid-row:1}
.desk .sidebar .current-formula-name{grid-column:2;grid-row:1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:20px;min-height:20px}
.desk .sidebar #currentFormulaStep{grid-column:3;grid-row:1;font-size:11px}
.desk .sidebar .run-info{margin:0}.desk .sidebar .run-info>summary{padding:1px 0;line-height:15px;min-height:15px}
.desk .sidebar .runs-panel{border-top:1px solid #e5e8eb}.desk .sidebar .runs-panel summary{padding:7px 9px;font-size:12px;min-height:31px}
.desk .sidebar .runs-list{padding:3px 9px}
.desk .live-panel .panel-heading{display:flex;gap:10px;align-items:center;padding:4px 9px;min-height:32px;flex-wrap:nowrap}
.desk .inline-live-draw{margin:0 0 0 auto;padding:0;min-height:22px}
.desk .inline-live-draw .balls{gap:3px}.desk .inline-live-draw .ball{width:20px;height:20px;font-size:11px}
.desk .live-panel #liveTitle{order:-2;white-space:nowrap;font-size:12px}
.desk .live-panel .panel-heading .inline-live-draw{order:-1}
.desk .live-panel #liveMeta{font-size:11px;white-space:nowrap;background:none;padding:0}
.desk .live-panel .live-scroll{max-height:94px}
.desk .live-panel .live-table td{height:30px;padding:3px 8px}.desk .live-panel .live-table th{height:22px;padding:0 8px}
.desk .live-panel .live-table .sort-header{min-height:22px}
.desk .desk-footer{overflow:hidden;white-space:nowrap}
.desk #deskTicker{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(min-width:1600px){.desk .sidebar .ranking-scroll{max-height:220px}}
@media(max-width:820px){.desk .sidebar .ranking-scroll{max-height:230px}.desk .live-panel .panel-heading{flex-wrap:wrap;gap:3px 8px}.desk .live-panel .inline-live-draw{margin-left:auto}.desk .live-panel #liveMeta{flex-basis:100%}.desk .desk-footer{white-space:normal}}
/* One hierarchy: avoid repeating the same chart title on three lines. */
.desk .sidebar .desk-chart{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 4px}
.desk .sidebar .chart-heading{display:contents}.desk .sidebar .chart-heading h3{display:none}
.desk .sidebar #chartMethod{grid-column:1;grid-row:1}.desk .sidebar #chartFollowLeader{grid-column:2;grid-row:1}
.desk .sidebar .desk-chart>label{grid-column:1/-1;position:relative}
.desk .sidebar .chart-toolbar,.desk .sidebar .chart-value,.desk .sidebar .chart-stage,.desk .sidebar .chart-legend,.desk .sidebar .chart-readout,.desk .sidebar #chartDescription,.desk .sidebar .chart-records{grid-column:1/-1}
.desk .sidebar #chartDescription{display:none}
.desk .sidebar .chart-stage{height:120px}
@media(min-width:1001px) and (max-height:820px){
 .desk .sidebar .ranking-scroll{max-height:158px}
 .desk .sidebar .run-panel{padding-top:5px}
 .desk .sidebar .run-info>summary{height:12px;min-height:12px;line-height:12px;padding:0}
 .desk .sidebar .run-top{min-height:20px}.desk .sidebar .run-actions{padding-top:3px}
 .desk .sidebar .ranking-panel .section-heading{padding-top:4px;min-height:28px}
 .desk .sidebar .research-heading{min-height:30px;padding-top:4px}
}
@media(max-width:820px){.desk .sidebar .chart-stage{height:175px}}
.desk .ranking-table tr.formula-working .rank-chart-link{position:relative}
.desk .ranking-table tr.formula-working .rank-chart-link .method-name::after{content:' · 계산 중';font-size:11px;font-weight:400;color:#1b64da}
.desk .ranking-table tr.formula-working>td:first-child{box-shadow:inset 2px 0 #3182f6}
@media(min-width:1001px){.desk .live-panel .live-scroll{max-height:82px}.desk .records-table td{height:38px}}
/* Sidebar modules scroll together; never shrink disclosures over their siblings. */
.desk .sidebar>*{flex-shrink:0}
.desk .sidebar-comparison>*{flex-shrink:0}
/* Offscreen accessible labels must not enlarge the page from their static origin. */
.desk .sr-only{position:absolute;left:0;top:0}
.desk .shell{max-width:none}
@media(max-width:1000px){.desk .records-panel{flex:none}}
@media(max-width:650px){.desk .record-filters #recordSort{flex:1 1 150px;min-width:150px;max-width:none}}
@media(min-width:1001px){.desk .records-table td{height:36px;padding:3px 6px}}

