.limit-up-ladder-page { margin:0; background:var(--ui-canvas); color:var(--ui-text); font-family:"Inter","PingFang SC","Microsoft YaHei UI",sans-serif; font-size:13px; }
.limit-up-ladder-page * { box-sizing:border-box; }
.limit-up-ladder-page .container { width:100%; max-width:none; min-width:0; margin:0; padding:18px 24px; background:transparent; }
.limit-up-ladder-page [hidden] { display:none !important; }
.limit-up-ladder-page button,.limit-up-ladder-page input { font:inherit; }
.limit-up-ladder-page button { cursor:pointer; }
.limit-up-ladder-page button:disabled { cursor:default; color:var(--ui-text-muted); opacity:.55; }
.limit-up-ladder-page button:focus-visible,.limit-up-ladder-page input:focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
.limit-up-ladder-page .page-header-row { flex-wrap:nowrap; gap:16px; }
.limit-up-ladder-page .ui-page-heading,.limit-up-ladder-page .header-actions { flex:1; }
.limit-up-ladder-page .header-actions { justify-content:flex-end; }
.limit-up-ladder-page .ui-content-tabs { flex:none; }
.limit-up-ladder-page .ladder-button,.limit-up-ladder-page .header-actions .btn,.limit-up-ladder-page .range-toolbar .btn { min-height:32px; padding:5px 12px; border:1px solid var(--ui-border); border-radius:7px; color:var(--ui-text); background:var(--ui-surface); box-shadow:none; white-space:nowrap; }
.limit-up-ladder-page .ladder-button:hover:not(:disabled) { color:var(--ui-accent-strong); background:var(--ui-accent-soft); border-color:var(--ui-accent-border); }
.limit-up-ladder-page .header-actions .btn { color:var(--ui-on-accent); background:var(--ui-action-fill); border-color:var(--ui-action-fill); }
.limit-up-ladder-page .header-actions .btn:hover:not(:disabled) { background:var(--ui-action-fill-hover); }
.limit-up-ladder-page .range-toolbar,.limit-up-ladder-page .ladder-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.limit-up-ladder-page .range-toolbar { justify-content:flex-start; }
.limit-up-ladder-page .range-toolbar label,.limit-up-ladder-page .ladder-date-control { display:flex; align-items:center; gap:8px; color:var(--ui-text-muted); font-size:12px; }
.limit-up-ladder-page input[type="date"],.limit-up-ladder-page input[type="search"] { height:32px; min-width:0; padding:5px 9px; border:1px solid var(--ui-border); border-radius:7px; color:var(--ui-text); background:var(--ui-input); }
.limit-up-ladder-page input::placeholder { color:var(--ui-text-muted); }
.limit-up-ladder-page .ladder-date-nav { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.limit-up-ladder-page .ladder-date-nav > button:first-of-type,.limit-up-ladder-page .ladder-date-nav > button:nth-of-type(2) { padding-inline:10px; }
.limit-up-ladder-page .ladder-summary { display:flex; align-items:center; flex-wrap:wrap; gap:18px; color:var(--ui-text-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.limit-up-ladder-page .ladder-summary strong { margin-inline:3px; color:var(--ui-text-strong); font-size:18px; font-weight:750; }
.limit-up-ladder-page .ladder-topics { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.limit-up-ladder-page .ladder-topic { display:inline-flex; align-items:center; gap:8px; min-height:31px; padding:5px 11px; border:1px solid var(--ui-border); border-radius:7px; background:var(--ui-surface); color:var(--ui-text); font-size:12px; }
.limit-up-ladder-page .ladder-topic b { color:var(--ui-text-muted); font-size:11px; font-weight:550; font-variant-numeric:tabular-nums; }
.limit-up-ladder-page .ladder-topic:hover,.limit-up-ladder-page .ladder-topic[aria-pressed="true"] { border-color:var(--ui-accent-border); background:var(--ui-accent-soft); color:var(--ui-accent-strong); }
.limit-up-ladder-page .ladder-topic[aria-pressed="true"] b { color:var(--ui-accent-strong); }
.limit-up-ladder-page .ladder-filters { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; min-width:0; margin:0 0 12px; padding:0; border:0; }
.limit-up-ladder-page .ladder-filter-group { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.limit-up-ladder-page .ladder-filters label { display:flex; align-items:center; gap:6px; color:var(--ui-text-muted); font-size:12px; white-space:nowrap; }
.limit-up-ladder-page .ladder-filters input[type="checkbox"] { width:14px; height:14px; accent-color:var(--ui-accent); }
.limit-up-ladder-page .ladder-search input { width:165px; }
.limit-up-ladder-page .ladder-text-button { padding:3px 0; border:0; background:transparent; color:var(--ui-accent-strong); font-size:12px; }
.limit-up-ladder-page .ladder-legend { display:flex; align-items:center; gap:12px; color:var(--ui-text-muted); font-size:11px; }
.limit-up-ladder-page .ladder-legend > span { display:flex; align-items:center; gap:4px; }
.limit-up-ladder-page .ladder-badge { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:17px; padding:0 4px; border-radius:3px; font-size:10px; font-style:normal; font-weight:650; line-height:17px; white-space:nowrap; }
.limit-up-ladder-page .ladder-badge-up { color:var(--ui-up); background:var(--ui-up-soft); }
.limit-up-ladder-page .ladder-badge-warning { color:var(--ui-warning); background:var(--ui-warning-soft); }
.limit-up-ladder-page .ladder-sheet { border:1px solid var(--ui-border-strong); border-radius:10px; overflow:hidden; background:var(--ui-surface); }
.limit-up-ladder-page .ladder-sheet-header,.limit-up-ladder-page .ladder-rung { display:grid; grid-template-columns:76px minmax(0,1fr); }
.limit-up-ladder-page .ladder-sheet-header { min-height:42px; border-bottom:1px solid var(--ui-border-strong); color:var(--ui-text-strong); background:var(--ui-surface-muted); font-size:13px; font-weight:650; }
.limit-up-ladder-page .ladder-sheet-header > span { display:grid; place-items:center; border-right:1px solid var(--ui-border); }
.limit-up-ladder-page .ladder-sheet-header > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 16px; }
.limit-up-ladder-page .ladder-sheet-header small { font-size:11px; font-weight:400; color:var(--ui-text-muted); }
.limit-up-ladder-page .ladder-rung + .ladder-rung { border-top:1px solid var(--ui-border); }
.limit-up-ladder-page .ladder-level { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; padding:14px 4px; border-right:1px solid var(--ui-border); background:var(--ui-surface-muted); font-variant-numeric:tabular-nums; }
.limit-up-ladder-page .ladder-level > strong { color:var(--ui-text-strong); font-size:23px; font-weight:750; letter-spacing:-.5px; white-space:nowrap; }
.limit-up-ladder-page .ladder-level small { margin-left:3px; font-size:13px; font-weight:550; }
.limit-up-ladder-page .ladder-level > span { color:var(--ui-text-muted); font-size:11px; }
.limit-up-ladder-page .ladder-stock-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); align-items:start; gap:4px; min-width:0; min-height:94px; padding:8px; }
.limit-up-ladder-page .ladder-stock { display:flex; flex-direction:column; align-items:center; gap:3px; width:100%; min-width:0; min-height:76px; padding:6px; border:1px solid transparent; border-radius:6px; color:var(--ui-text); background:transparent; text-align:center; }
.limit-up-ladder-page .ladder-stock:hover { background:var(--ui-surface-active); border-color:var(--ui-stock-name-border); }
.limit-up-ladder-page .ladder-stock.is-sealed { border-color:var(--ui-up); box-shadow:inset 0 0 0 2px var(--ui-up); background:var(--ui-surface); }
.limit-up-ladder-page .ladder-stock.is-sealed:hover { border-color:var(--ui-up); background:var(--ui-up-soft); }
.limit-up-ladder-page .ladder-stock.is-sealed.is-first-board { border-color:var(--ui-warning); box-shadow:inset 0 0 0 2px var(--ui-warning); }
.limit-up-ladder-page .ladder-stock.is-sealed.is-first-board:hover { background:var(--ui-warning-soft); }
.limit-up-ladder-page .ladder-stock.is-contender { border-color:var(--ui-border-strong); background:color-mix(in srgb,var(--ui-surface-muted) 65%,var(--ui-border) 35%); }
.limit-up-ladder-page .ladder-stock.is-contender:hover { border-color:var(--ui-border-strong); background:color-mix(in srgb,var(--ui-surface-muted) 40%,var(--ui-border) 60%); }
.limit-up-ladder-page .ladder-stock-top { display:flex; align-items:center; justify-content:center; gap:5px; min-height:18px; font-size:11px; line-height:18px; font-variant-numeric:tabular-nums; }
.limit-up-ladder-page .ladder-time { color:var(--ui-text-muted); letter-spacing:.4px; }
.limit-up-ladder-page .ladder-stock-identity { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:3px; width:100%; min-width:0; }
.limit-up-ladder-page .ladder-stock-name { color:var(--ui-stock-name); font-size:16px; line-height:22px; font-weight:780; overflow-wrap:anywhere; }
.limit-up-ladder-page .ladder-stock-topic { display:block; width:100%; color:var(--ui-text-muted); font-size:11px; line-height:17px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.limit-up-ladder-page .ladder-status { color:var(--ui-text-muted); font-size:10px; }
.limit-up-ladder-page .ladder-up { color:var(--ui-up); }
.limit-up-ladder-page .ladder-down { color:var(--ui-down); }
.limit-up-ladder-page .ladder-muted { color:var(--ui-text-muted); }
.limit-up-ladder-page .ladder-rung-empty { grid-column:1/-1; align-self:center; padding:16px; color:var(--ui-text-muted); font-size:12px; }
.limit-up-ladder-page .ladder-state { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:220px; padding:28px 20px; color:var(--ui-text-muted); text-align:center; }
.limit-up-ladder-page .ladder-state > strong { color:var(--ui-text-strong); font-size:15px; }
.limit-up-ladder-page .ladder-state > span { font-size:12px; line-height:1.7; }
.limit-up-ladder-page .ladder-data-note { margin:10px 0 0; color:var(--ui-text-muted); font-size:11px; line-height:1.8; }
.limit-up-ladder-page .ladder-detail { width:calc(100% - 32px); max-width:520px; max-height:calc(100dvh - 48px); margin:auto; padding:22px; overflow:auto; border:1px solid var(--ui-border-strong); border-radius:12px; color:var(--ui-text); background:var(--ui-surface-raised); box-shadow:var(--ui-shadow-float); }
.limit-up-ladder-page .ladder-detail::backdrop { background:color-mix(in srgb,var(--ui-canvas-deep) 72%,transparent); }
.limit-up-ladder-page .ladder-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:20px; }
.limit-up-ladder-page .ladder-detail-header h2 { margin:0 0 3px; font-size:20px; color:var(--ui-stock-name); }
.limit-up-ladder-page .ladder-detail-header p { color:var(--ui-text-muted); font-size:12px; }
.limit-up-ladder-page .ladder-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.limit-up-ladder-page .ladder-detail-grid dt { margin-bottom:4px; color:var(--ui-text-muted); font-size:11px; }
.limit-up-ladder-page .ladder-detail-grid dd { margin:0; color:var(--ui-text-strong); overflow-wrap:anywhere; }
.limit-up-ladder-page .ladder-detail-reason { margin-top:20px; padding-top:16px; border-top:1px solid var(--ui-border); }
.limit-up-ladder-page .ladder-detail-reason h3 { margin:0 0 8px; font-size:12px; color:var(--ui-text-muted); font-weight:500; }
.limit-up-ladder-page .ladder-detail-reason p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; }
.limit-up-ladder-page .chart-container { border-color:var(--ui-border); background:var(--ui-surface); }
.limit-up-ladder-page .chart-title { color:var(--ui-text-strong); }
.limit-up-ladder-page .chart-title .btn { border:1px solid var(--ui-border); background:var(--ui-surface-raised); color:var(--ui-text); }
.limit-up-ladder-page .ladder-chart-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.limit-up-ladder-page .ladder-chart-toolbar label { display:flex; align-items:center; gap:8px; color:var(--ui-text-muted); font-size:12px; }
.limit-up-ladder-page .ladder-chart-toolbar select { height:32px; padding:5px 9px; border:1px solid var(--ui-border); border-radius:7px; background:var(--ui-input); color:var(--ui-text); font:inherit; }
.limit-up-ladder-page .ladder-chart-toolbar select:focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
.limit-up-ladder-page .ladder-chart-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin-bottom:16px; }
.limit-up-ladder-page .ladder-chart-heading h2 { margin:0; color:var(--ui-text-strong); font-size:14px; font-weight:650; }
.limit-up-ladder-page .ladder-chart-heading > span { color:var(--ui-text-muted); font-size:11px; }
.limit-up-ladder-page #heightChart { width:100%; height:300px; }
.limit-up-ladder-page .loading-overlay { background:color-mix(in srgb,var(--ui-canvas) 80%,transparent); }
.limit-up-ladder-page .loading-spinner { border-color:var(--ui-border); border-top-color:var(--ui-accent); }
@media (max-width:1200px) {
    .limit-up-ladder-page .ui-page-purpose,.limit-up-ladder-page .ui-page-title-divider { display:none; }
}
@media (max-width:768px) {
    .limit-up-ladder-page .container { padding:16px 12px; }
    .limit-up-ladder-page .page-header-row { flex-wrap:wrap; gap:12px; }
    .limit-up-ladder-page .ui-page-heading { flex:1; }
    .limit-up-ladder-page .header-actions { flex:0; }
    .limit-up-ladder-page .ui-content-tabs { order:3; }
    .limit-up-ladder-page .ladder-summary { gap:12px; }
    .limit-up-ladder-page .ladder-sheet-header,.limit-up-ladder-page .ladder-rung { grid-template-columns:56px minmax(0,1fr); }
    .limit-up-ladder-page .ladder-sheet-header > div { padding-inline:10px; flex-wrap:wrap; gap:3px; }
    .limit-up-ladder-page .ladder-sheet-header small { font-size:10px; }
    .limit-up-ladder-page .ladder-level > strong { font-size:19px; }
    .limit-up-ladder-page .ladder-stock-grid { grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:2px; padding:5px; }
    .limit-up-ladder-page .ladder-stock { padding:6px 3px; }
    .limit-up-ladder-page .ladder-stock-name { font-size:15px; }
    .limit-up-ladder-page .ladder-filter-group { gap:10px; }
    .limit-up-ladder-page .ladder-search { flex-basis:100%; }
    .limit-up-ladder-page .ladder-search input { flex:1; width:auto; }
    .limit-up-ladder-page .ladder-legend { gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
    .limit-up-ladder-page * { scroll-behavior:auto; transition:none !important; }
    .limit-up-ladder-page .loading-spinner { animation:none; }
}

/* 窄屏以小卡片扫描梯队，保留完整名称和点击后的详情。 */
@media (max-width:1200px) {
    .limit-up-ladder-page .ladder-toolbar,
    .limit-up-ladder-page .ladder-filters { gap:8px 12px; margin-bottom:8px; }
    .limit-up-ladder-page .ladder-topics { gap:5px; margin-bottom:8px; }
    .limit-up-ladder-page .ladder-topic { min-height:28px; padding:3px 8px; gap:5px; }
    .limit-up-ladder-page .ladder-sheet-header,
    .limit-up-ladder-page .ladder-rung { grid-template-columns:44px minmax(0,1fr); }
    .limit-up-ladder-page .ladder-sheet-header { min-height:34px; font-size:12px; }
    .limit-up-ladder-page .ladder-sheet-header > div { padding:5px 8px; }
    .limit-up-ladder-page .ladder-level { gap:1px; padding:6px 2px; }
    .limit-up-ladder-page .ladder-level > strong { font-size:18px; }
    .limit-up-ladder-page .ladder-level small { font-size:11px; margin-left:1px; }
    .limit-up-ladder-page .ladder-level > span { font-size:10px; }
    .limit-up-ladder-page .ladder-stock-grid {
        grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
        min-height:0;
        gap:4px;
        padding:4px;
    }
    .limit-up-ladder-page .ladder-stock { min-height:62px; padding:4px; gap:1px; border-radius:4px; }
    .limit-up-ladder-page .ladder-stock.is-sealed { box-shadow:inset 0 0 0 1px var(--ui-up); }
    .limit-up-ladder-page .ladder-stock.is-sealed.is-first-board { box-shadow:inset 0 0 0 1px var(--ui-warning); }
    .limit-up-ladder-page .ladder-stock-top { min-height:16px; line-height:16px; font-size:10px; gap:3px; }
    .limit-up-ladder-page .ladder-stock-identity { gap:0; }
    .limit-up-ladder-page .ladder-stock-name { font-size:13px; line-height:18px; }
    .limit-up-ladder-page .ladder-stock-topic { font-size:10px; line-height:15px; }
    .limit-up-ladder-page .ladder-stock .ladder-badge { min-height:14px; line-height:14px; font-size:9px; padding:0 3px; }
    .limit-up-ladder-page .ladder-rung-empty { padding:10px 8px; font-size:11px; }
}
@media (max-width:768px) {
    .limit-up-ladder-page .container { padding:12px 8px; }
    .limit-up-ladder-page .page-header-row { gap:8px; margin-bottom:10px; }
    .limit-up-ladder-page .ladder-stock-grid { grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); }
    .limit-up-ladder-page .ladder-summary { gap:10px; font-size:11px; }
    .limit-up-ladder-page .ladder-summary strong { font-size:16px; }
    .limit-up-ladder-page .ladder-topics {
        flex-wrap:nowrap;
        overflow-x:auto;
        overscroll-behavior-x:contain;
        padding-bottom:3px;
    }
    .limit-up-ladder-page .ladder-topic { flex:0 0 auto; white-space:nowrap; }
    .limit-up-ladder-page .ladder-filter-group { gap:6px 10px; }
}
