:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
  color: #1b2939;
  background: #f4f6f8;
  font-synthesis: none;
  line-height: 1.6;
  --chrome: #101c2a;
  --chrome-line: #293b4c;
  --muted: #637084;
  --line: #dce2e9;
  --accent: #24695e;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 0; height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #26877a; outline-offset: 4px; }
.topbar :focus-visible, .tabbar :focus-visible { outline-color: #9cded3; outline-offset: -3px; }
.skip-link { position: fixed; top: 0.5rem; left: 1rem; transform: translateY(-180%); z-index: 5; background: white; padding: 0.5rem 1rem; }
.skip-link:focus { transform: none; }

/* Compact header and horizontal tabs adapted from the Welkin rank shell. */
.topbar { display: flex; align-items: center; gap: 1rem; min-height: 3.5rem; padding: 0.5rem 1.5rem; background: var(--chrome); color: #edf5ff; border-bottom: 1px solid var(--chrome-line); }
.brand { display: inline-flex; align-items: center; gap: 0.625rem; text-decoration: none; font-size: 1.125rem; font-weight: 750; letter-spacing: 0.055em; }
.brand-mark { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid #527c80; border-radius: 0.3rem; background: #213c46; color: #c5eee7; font-size: 1.4rem; line-height: 1; }
.brand-description { color: #aebdcf; font-size: 0.875rem; }
.version { margin-left: auto; color: #aebdcf; font-size: 0.875rem; }
.tabbar { padding: 0 1rem; background: var(--chrome); border-bottom: 1px solid var(--chrome-line); }
.tab-list { display: flex; flex-wrap: wrap; gap: 0.375rem; padding: 0.4375rem 0; }
.tab { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: 0.375rem 1rem; border: 1px solid transparent; border-radius: 0.3rem; color: #b0bfd0; text-decoration: none; font-size: 0.9375rem; }
.tab:hover { background: #1b2c3d; color: #edf5ff; }
.tab.active { border-color: #436872; background: #213c46; color: #c5eee7; font-weight: 650; }

.topbar, .tabbar { flex-shrink: 0; }
main { flex: 1; min-height: 0; overflow: hidden; }
main:focus { outline: none; }
.workspace { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.subtabbar { flex-shrink: 0; background: #fff; border-bottom: 1px solid var(--line); padding-inline: 1.5rem; }
.subtab-list { display: flex; gap: 1rem; }
.subtab { display: inline-flex; align-items: center; min-height: 3rem; padding: 0.625rem 1rem; border-bottom: 3px solid transparent; text-decoration: none; color: var(--muted); font-size: 0.9375rem; }
.subtab.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 650; }
.module-panel { display: flex; flex: 1; min-height: 0; overflow: hidden; }
.dashboard-frame { display: block; width: 100%; height: 100%; flex: 1; min-height: 0; border: 0; background: #fff; }
.empty-state { padding: clamp(1.5rem, 4vw, 3rem); overflow: auto; }
.empty-state h1 { margin: 0 0 0.75rem; font-size: 1.5rem; font-weight: 600; }
.empty-state p { margin: 0; color: var(--muted); font-size: 1rem; }

/* Information views share content helpers; the news view is a flat time stream. */
.information-scroll { flex: 1; min-height: 0; overflow: auto; background: #fff; padding: 0 clamp(1rem, 4vw, 4rem) 2rem; scrollbar-gutter: stable; }
.information-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 0 1rem; border-bottom: 1px solid var(--line); }
.information-toolbar h1 { font-size: 1.25rem; margin: 0 0 0.25rem; }
.information-toolbar p { margin: 0; color: var(--muted); font-size: 0.75rem; }
.refresh-button { flex-shrink: 0; color: var(--accent); background: #fff; border: 1px solid #b8ccc7; border-radius: 4px; padding: 0.4rem 0.9rem; cursor: pointer; font: inherit; font-size: 0.875rem; }
.refresh-button:disabled { opacity: 0.55; cursor: wait; }
.feed-date { margin: 0; padding: 0.75rem 0; color: var(--muted); font-size: 0.8rem; font-weight: 600; border-bottom: 1px solid var(--line); }
.news-row { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); padding: 0.875rem 0; border-bottom: 1px solid #edf0f3; }
.news-time { color: var(--accent); font-size: 0.9375rem; font-weight: 650; font-variant-numeric: tabular-nums; padding-top: 0.05rem; }
.feed-body { min-width: 0; }
.feed-title { font-size: 0.9375rem; margin: 0 0 0.3rem; }
.feed-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 0.9375rem; line-height: 1.75; }
.feed-text a, .feed-attachments a { color: var(--accent); text-underline-offset: 2px; }
.feed-meta { margin-top: 0.375rem; font-size: 0.75rem; color: var(--muted); overflow-wrap: anywhere; }
.feed-source-badge { margin-left: 0.5rem; color: var(--accent); }
.feed-missing { margin: 0; font-size: 0.875rem; color: var(--muted); }
.feed-expand summary { list-style: none; cursor: pointer; }
.feed-expand summary::-webkit-details-marker { display: none; }
.feed-excerpt { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.expand-label { font-size: 0.75rem; color: var(--accent); }
.feed-expand[open] .feed-excerpt { display: none; }
.feed-attachments { margin-top: 0.375rem; font-size: 0.75rem; color: var(--muted); overflow-wrap: anywhere; }
.feed-attachments summary { cursor: pointer; width: fit-content; }
.feed-attachments ul { margin: 0.375rem 0 0; padding-left: 1.25rem; }
.feed-attachments li + li { margin-top: 0.25rem; }
.feed-empty { padding: 2rem 0; color: var(--muted); }

.morning-workspace { display: flex; flex-direction: column; flex: 1; min-height: 0; background: #fff; }
.morning-header { margin-inline: clamp(1rem, 3vw, 2rem); flex-shrink: 0; }
.morning-header p + p { margin-top: 0.35rem; }
.morning-layout { display: grid; grid-template-columns: 16rem minmax(0, 1fr); flex: 1; min-height: 0; }
.morning-history { padding: 1.25rem; overflow: auto; border-right: 1px solid var(--line); background: #fafbfc; }
.morning-history h2 { margin: 1.25rem 0 0.5rem; color: var(--muted); font-size: 0.8rem; }
.morning-latest { display: block; padding: 0.65rem; color: var(--accent); background: #eaf3f0; border-radius: 4px; text-decoration: none; font-size: 0.875rem; font-weight: 600; }
.morning-list { list-style: none; margin: 0; padding: 0; }
.morning-list a { display: grid; gap: 0.1rem; padding: 0.75rem 0.625rem; border-bottom: 1px solid #edf0f3; text-decoration: none; }
.morning-list a:hover, .morning-list a[aria-current] { background: #eaf3f0; color: var(--accent); }
.morning-list time { font-weight: 600; font-size: 0.875rem; }
.morning-list span { color: var(--muted); font-size: 0.75rem; overflow-wrap: anywhere; }
.morning-reading { min-width: 0; overflow: auto; padding: 1.5rem clamp(1rem, 4vw, 3rem) 3rem; }
#morning-article, #daily-article { max-width: 58rem; margin-inline: auto; }
#morning-title, #daily-title { margin: 0 0 0.375rem; font-size: 1.5rem; }
.morning-meta { color: var(--muted); font-size: 0.8rem; margin: 0 0 1.75rem; }
.markdown-body { line-height: 1.9; font-size: 0.9375rem; overflow-wrap: anywhere; }
.markdown-body h1 { font-size: 1.5rem; }
.markdown-body h2 { font-size: 1.25rem; margin-top: 1.75rem; }
.markdown-body h3 { font-size: 1.1rem; }
.markdown-body a { color: var(--accent); }
.markdown-body blockquote { margin-inline: 0; padding-left: 1rem; border-left: 3px solid #b8ccc7; color: var(--muted); }
.markdown-body pre { padding: 1rem; background: #f4f6f8; overflow: auto; }
.markdown-body code { font-family: Consolas, monospace; }
.markdown-body table { display: block; width: 100%; overflow: auto; border-collapse: collapse; }
.markdown-body th, .markdown-body td { padding: 0.5rem 0.75rem; border: 1px solid var(--line); }
.markdown-body img { max-width: 100%; height: auto; }
.markdown-body hr { border: 0; border-top: 1px solid #edf0f3; margin-block: 1.25rem; }

@media (max-width: 48rem) {
  .morning-layout { display: flex; flex-direction: column; }
  .morning-history { flex-shrink: 0; max-height: 11rem; border-right: 0; border-bottom: 1px solid var(--line); padding: 0.75rem 1rem; }
  .morning-history h2 { margin-top: 0.625rem; }
  .morning-list { display: flex; gap: 0.5rem; overflow-x: auto; }
  .morning-list li { flex: 0 0 10rem; }
  .morning-reading { flex: 1; min-height: 0; }
  .morning-header { padding-block: 0.75rem; }
}

@media (max-width: 36rem) {
  .topbar { gap: 0.75rem; padding-inline: 1rem; flex-wrap: wrap; }
  .brand-description { font-size: 0.875rem; }
  .tabbar { padding-inline: 0.5rem; }
  .tab-list { flex-wrap: nowrap; gap: 0.125rem; }
  .tab { flex: 1; padding-inline: 0.25rem; white-space: nowrap; font-size: 0.875rem; }
  .subtabbar { padding-inline: 0.75rem; }
  .news-row { grid-template-columns: 3.5rem minmax(0, 1fr); }
  .information-toolbar { align-items: flex-start; }
}

/* Daily reuses the existing date/reading layout. */
.daily-views { display: flex; flex-wrap: wrap; gap: 0.5rem; max-width: 58rem; margin: 0 auto 1rem; }
.daily-views a { padding: 0.4rem 0.7rem; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; font-size: 0.875rem; }
.daily-views a[aria-current] { background: #eaf3f0; border-color: #b8ccc7; color: var(--accent); font-weight: 650; }
.daily-views a[aria-disabled] { color: var(--muted); background: #f4f6f8; }
.daily-notice { max-width: 58rem; margin: 0 auto 1rem; padding: 0.75rem; background: #fff8e8; font-size: 0.875rem; }

/* One-date review sample; sections share the existing Markdown reader. */
.food-sample-page { max-width: 58rem; margin-inline: auto; }
.food-item { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) 7rem; gap: 1rem; align-items: center; padding: 1.25rem .6rem; border-bottom: 1px solid #e8ebef; text-decoration: none; color: inherit; }
.food-item:hover, .food-item:focus-visible { background: #f3f7fc; }
.food-item strong { font-weight: 550; line-height: 1.65; overflow-wrap: anywhere; }
.food-kind { font-size: .8rem; color: #546780; }
.food-state { text-align: right; font-size: .8rem; color: #64748b; }
.food-back { display: inline-block; margin-bottom: 1.5rem; color: #486887; text-decoration: none; }
.food-notice { padding: .8rem 1rem; background: #fff7e4; color: #74561f; line-height: 1.6; }
@media (max-width: 48rem) {
  .food-item { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; padding: 1rem .15rem; }
  .food-item strong { grid-column: 1 / -1; grid-row: 2; }
  .food-state { grid-column: 2; grid-row: 1; }
}
#food-title { font-size: 1.5rem; margin: 1.5rem 0 0.5rem; }
#food-status { font-size: 0.8rem; color: var(--muted); }
#information-tabs { overflow-x: auto; }
#information-tabs .subtab { flex-shrink: 0; white-space: nowrap; }
.review-content { display: flex; flex-direction: column; flex: 1; min-height: 0; min-width: 0; }
.review-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.5rem; }
.review-history-heading h2 { margin: 0; }
.review-history-heading .refresh-button { padding: 0.35rem 0.6rem; font-size: 0.75rem; }
#review-status { font-size: 0.75rem; color: var(--muted); }
#review-status:empty { display: none; }
.review-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 1.25rem clamp(1rem, 3vw, 2rem) 0.75rem; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.review-tabs a { padding: 0.5rem 0.7rem; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; font-size: 0.875rem; white-space: nowrap; }
.review-tabs a[aria-selected="true"] { background: #eaf3f0; border-color: #b8ccc7; color: var(--accent); font-weight: 650; }
.review-reading { flex: 1; min-height: 0; }
#review-body, #review-message { max-width: 58rem; margin-inline: auto; }
#review-body > h2:first-child { margin-top: 0; }
@media (max-width: 48rem) {
  .review-tabs { flex-wrap: nowrap; overflow-x: auto; }
}

/* Research categories use the same frozen reading primitives. */
#research-tabs { flex-wrap: nowrap; overflow-x: auto; }
#research-tabs .subtab { flex-shrink: 0; white-space: nowrap; }
#institution-article, #institution-list { max-width: 58rem; margin-inline: auto; }
#institution-title { font-size: 1.5rem; margin: 1.5rem 0 .5rem; }
.institution-item { grid-template-columns: 12rem minmax(0, 1fr) 7rem; }
@media (max-width: 48rem) {
  .institution-item { grid-template-columns: minmax(0, 1fr) auto; }
}

/* Overseas electronics reuses the research list/reader layout. */
#electronics-article, #electronics-list { max-width: 58rem; margin-inline: auto; }
#electronics-title { font-size: 1.5rem; margin: 1.5rem 0 .5rem; }
#electronics-body pre { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Archive-week research uses the existing reading layout. */
#industry-article, #industry-list { max-width: 58rem; margin-inline: auto; }
#industry-title { font-size: 1.5rem; margin: 1.5rem 0 .5rem; }
#industry-body pre { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Bank report text retains the original extracted spacing without page overflow. */
#banks-body pre { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Equal Ice & Snow theme — isolated preview, 2026-10-11 */
:root { color-scheme:light; color:#263b53; background:#eaf4ff; --chrome:#eaf4ff; --chrome-line:#d4e7fa; --muted:#647f9b; --line:#d9e9f9; --accent:#347fca; }
body { background:#eaf4ff; color:#263b53; }
:focus-visible { outline-color:#347fca; }
.topbar { background:linear-gradient(110deg,#e5f2ff,#f2f9ff); color:#173a64; border-bottom-color:#d4e7fa; }
.brand { color:#174d8f; }
.brand-mark { color:#fff; background:#347fca; border-color:#347fca; box-shadow:0 2px 9px #8abcf062; }
.brand-description,.version { color:#6785a5; }
.tabbar { background:#eaf4ff; border-bottom-color:#d4e7fa; }
.tab { color:#526f8e; border-radius:9px; }
.tab:hover { color:#225e9d; background:#dceeff; }
.tab.active { color:#2168b3; background:#d3e9ff; border-color:#bfdcf9; }
.subtabbar { background:#f4f9ff; border-bottom-color:#d9e9f9; }
.subtab.active { color:#2473bf; border-bottom-color:#5ca7ed; }
main,.workspace,.module-panel { background:#eaf4ff; }
.information-scroll,.morning-workspace { background:#eaf4ff; }
.information-toolbar,.morning-header { color:#253e5b; }
.news-row,.feed-date { border-bottom-color:#dbe9f7; }
.refresh-button { color:#2874bd; background:#fff; border-color:#c4def5; border-radius:9px; }
button:hover { filter:brightness(.99); }
.dashboard-frame { background:#f7fbff; }
a { text-underline-offset:3px; }
table { border-color:#d9e9f9; }
th { background:#eaf4ff; color:#294e73; }
td { border-color:#e2eefb; }
:is(.information-toolbar,.morning-header,.daily-header,.review-header) h1 { color:#1e4876; }

/* ICE & SNOW v0.2 — header + sidebar + homepage shell */
body.ice-shell { display:grid; grid-template-columns:202px minmax(0,1fr); grid-template-rows:64px 54px minmax(0,1fr); background:#eaf4ff; }
.ice-shell .topbar {grid-column:1/-1;grid-row:1;min-height:64px;z-index:3;padding:0 26px;gap:14px;box-shadow:0 2px 16px #93bbe522}
.ice-shell .brand {font-size:23px;letter-spacing:0;font-weight:800}
.ice-shell .brand-mark {width:33px;height:33px;border-radius:10px}
.ice-shell .tabbar {grid-column:2;grid-row:2;border:0;background:#eaf4ff;padding-left:22px}
.ice-shell .tab-list {padding:6px 0}
.ice-shell .tab {border-radius:11px;min-height:39px}
.ice-shell .tab.active {background:#d7eaff;border-color:#c0dcfa;box-shadow:inset 0 -2px #4d98de}
.ice-shell .version {display:none}
.ice-head-tools {margin-left:auto;display:flex;align-items:center;gap:18px;color:#6884a1;font-size:12px}
.ice-avatar {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#c9e5ff;color:#2876bc;font-weight:800}
.ice-sidebar {grid-column:1;grid-row:2/4;background:linear-gradient(180deg,#f0f8ff,#e5f3ff);border-right:1px solid #d6e8f8;display:flex;flex-direction:column;padding:24px 12px 12px;gap:7px;min-height:0}
.ice-side-label {color:#89a2bf;font-size:11px;padding:0 15px 9px;letter-spacing:2px}
.ice-side-link {display:flex;align-items:center;gap:11px;padding:12px 15px;color:#446c94;text-decoration:none;border-radius:11px;font-size:14px;font-weight:540}
.ice-side-link:hover {background:#dceeff;color:#276bad}
.ice-side-link.active {background:#cfe6ff;color:#1e70ba;font-weight:700}
.ice-icon {width:20px;text-align:center;font-size:20px;line-height:1}
.ice-side-foot {margin-top:auto;display:flex;flex-direction:column;gap:3px;padding:10px 12px 15px;color:#366d9d}
.ice-side-foot span {color:#86a3c3;font-size:11px}
.ice-snow-mountain {height:80px;background:linear-gradient(145deg,#d2eaff,#f7fbff);clip-path:polygon(0 75%,24% 31%,43% 59%,71% 8%,100% 70%,100% 100%,0 100%);color:#8ebceb;text-align:center;padding-top:35px;font-size:25px}
.ice-shell main {grid-column:2;grid-row:3;min-width:0;margin:0 14px 14px 22px;border:1px solid #dcebf9;border-radius:14px;box-shadow:0 5px 24px #a7c9e624;overflow:hidden;background:white}
.ice-home {grid-column:2;grid-row:3;margin:0 14px 14px 22px;min-width:0;overflow:auto;padding:0 1px 22px}
.ice-show-home main,.ice-show-home .tabbar {display:none}
.ice-show-home .ice-sidebar {grid-row:2/4}
.ice-show-home .ice-home {grid-row:2/4;margin-top:14px}
.ice-hero {position:relative;overflow:hidden;min-height:210px;border-radius:16px;padding:30px 34px;background:linear-gradient(105deg,#e5f3ff 0%,#d5eafe 51%,#a8cdf4 100%);border:1px solid #d6e9fc;color:#1d4b80}
.ice-hero:after {content:'❄';position:absolute;right:8%;bottom:-70px;font-size:230px;line-height:1;color:#eaf6ff99;pointer-events:none}
.ice-hero h1 {font-size:34px;margin:15px 0 8px}
.ice-hero p {margin:0;color:#496f98}
.ice-eyebrow {font-size:11px;letter-spacing:2px;color:#497eae!important}
.ice-hero-tag {display:inline-block;margin-top:21px;padding:5px 11px;border:1px solid #b0d4f2;border-radius:100px;color:#357db8;font-size:11px}
.ice-home-section-heading {display:flex;align-items:center;justify-content:space-between;margin:24px 4px 14px}
.ice-home-section-heading h2 {margin:0;font-size:19px;color:#274b71}
.ice-home-section-heading span {font-size:12px;color:#819bb5}
.ice-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ice-tile {display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid #dfeefa;border-radius:14px;padding:22px 18px;text-decoration:none;box-shadow:0 6px 18px #bbd6ee35;min-height:183px;transition:transform .15s,box-shadow .15s}
.ice-tile:hover {transform:translateY(-2px);box-shadow:0 10px 24px #b6cfe85b}
.ice-tile-icon {display:grid;place-items:center;background:#e6f3ff;color:#3586cf;width:41px;height:41px;border-radius:11px;font-size:24px}
.ice-tile h3 {font-size:17px;margin:1px 0 0;color:#274e77}
.ice-tile p {font-size:12px;color:#7691ae;margin:0}
.ice-tile-action {font-size:12px;color:#287bc3;margin-top:auto}
.ice-home-bottom {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.ice-panel {padding:23px;border-radius:14px;background:#fff;border:1px solid #dfeefa;box-shadow:0 6px 18px #bbd6ee30}
.ice-panel-label {font-size:12px;color:#3985c5}
.ice-panel h3 {font-size:17px;color:#244b75;margin:8px 0}
.ice-panel p {font-size:13px;line-height:1.8;color:#64809e;margin:0}
@media(max-width:950px){body.ice-shell{grid-template-columns:58px minmax(0,1fr)}.ice-sidebar{padding:18px 5px}.ice-side-label,.ice-side-link{font-size:0}.ice-side-link{justify-content:center;padding:11px 4px}.ice-icon{font-size:21px}.ice-side-foot{display:none}.ice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ice-shell .topbar{padding:0 12px}.ice-head-tools .ice-top-note,.ice-shell .brand-description{display:none}.ice-shell .tabbar{overflow-x:auto;padding:0 6px}.ice-shell .tab-list{flex-wrap:nowrap}.ice-shell .tab{white-space:nowrap;padding:7px}.ice-cards,.ice-home-bottom{grid-template-columns:1fr}.ice-home,.ice-shell main{margin-right:7px;margin-left:7px}.ice-hero{padding:22px}.ice-hero h1{font-size:25px}}

/* v0.3 Information architecture: left categories, top context-specific modules */
.ice-shell .tabbar {display:flex;align-items:center;padding-left:26px;min-height:54px;}
.ice-shell .tabbar .tab-list {position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.ice-second-level {display:flex;align-items:center;gap:14px;width:100%;min-height:50px;}
.ice-breadcrumb {color:#7491af;font-size:12px;white-space:nowrap;}
.ice-subnav {color:#246eac;background:#d6eaff;border:1px solid #b9d9f5;border-radius:10px;padding:8px 17px;text-decoration:none;font-size:14px;font-weight:650;}
.ice-subnav:hover, .ice-subnav.active {background:#c6e2fc;}
.ice-side-separator {border-bottom:1px solid #d9e9f8;margin:8px 12px 12px;}
.ice-show-home .tabbar {display:flex!important;}
.ice-show-home .ice-home {grid-row:3;margin-top:0;}
.ice-shell .ice-sidebar {grid-row:2/4;}
@media(max-width:950px){.ice-side-separator{margin:8px 3px 12px}.ice-shell .tabbar{padding-left:10px}}

/* v0.4 Full-screen proportions: illustration-inspired 3:1 hero + companion */
body.ice-shell {grid-template-columns:clamp(176px,15vw,222px) minmax(0,1fr);grid-template-rows:clamp(56px,5.1vh,70px) 48px minmax(0,1fr);}
.ice-shell .topbar {min-height:0;}
.ice-shell .tabbar {min-height:48px;}
.ice-home,.ice-shell main {margin-left:clamp(14px,1.5vw,28px);margin-right:clamp(14px,1.5vw,28px);}
.ice-home {padding-bottom:18px;}
.ice-home-head {display:grid;grid-template-columns:minmax(0,3fr) minmax(216px,1fr);gap:16px;align-items:stretch;}
.ice-hero {min-height:0;height:clamp(174px,22vh,225px);padding:clamp(20px,2.2vw,31px);border-radius:14px;}
.ice-hero h1 {font-size:clamp(26px,2.25vw,33px);line-height:1.25;margin:10px 0 9px;}
.ice-hero-tag {margin-top:15px;}
.ice-hero:after {font-size:clamp(140px,15vw,210px);bottom:-58px;right:6%;}
.ice-home-aside {display:flex;flex-direction:column;min-width:0;padding:20px;background:#fff;border:1px solid #daeaf9;border-radius:14px;box-shadow:0 4px 18px #a7c9e622;color:#25517e;}
.ice-aside-top {display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;}
.ice-aside-symbol {background:#e3f2ff;color:#3789ce;padding:6px 9px;border-radius:9px;}
.ice-home-aside p {font-size:12px;color:#738ca7;line-height:1.6;margin:9px 0 10px;}
.ice-aside-links {display:grid;gap:5px;margin-top:auto;}
.ice-aside-links a {display:flex;justify-content:space-between;text-decoration:none;padding:7px 9px;border-radius:7px;background:#f2f8ff;color:#3375b4;font-size:12px;}
.ice-aside-links a:hover {background:#dfedff;}
.ice-aside-caption {font-size:9px;letter-spacing:.07em;margin-top:12px;color:#98b4cf;}
.ice-home-section-heading {margin:clamp(15px,2vh,23px) 4px 12px;}
.ice-tile {min-height:clamp(136px,18vh,177px);padding:clamp(14px,1.3vw,20px);}
.ice-tile h3 {font-size:16px;}
.ice-home-bottom {margin-top:15px;}
.ice-panel {padding:clamp(14px,1.5vw,22px);}
@media(max-width:1000px){.ice-home-head{grid-template-columns:minmax(0,2fr) minmax(190px,1fr);gap:10px}.ice-home-aside{padding:12px}}
@media(max-width:750px){.ice-home-head{grid-template-columns:1fr}.ice-home-aside{display:none}}
@media(max-width:950px){body.ice-shell{grid-template-columns:58px minmax(0,1fr)}}

/* Ice Snow v0.5: stable navigation and full-screen workplace layout. */
body.ice-shell {
  grid-template-columns:clamp(184px,15vw,218px) minmax(0,1fr);
  grid-template-rows:62px 49px minmax(0,1fr);
  background:#edf6ff;
}
.ice-shell .topbar {grid-column:1/-1;grid-row:1;padding:0 24px;background:#f5faff;box-shadow:none;border-bottom:1px solid #dbeafb;}
.ice-shell .brand-mark {border-radius:8px;box-shadow:none;}
.ice-shell .brand-description {font-size:12px;color:#7b94ae;letter-spacing:.025em;}
.ice-shell .ice-head-tools {margin-left:auto;font-size:11px;color:#7698b6;letter-spacing:.09em;}
.ice-shell .tabbar {grid-column:2;grid-row:2;min-height:49px;padding:0 18px;background:#edf6ff;border:0;display:flex;align-items:center;}
.ice-second-level {min-height:49px;align-items:center;}
.ice-context {font-size:12px;color:#809bb6;}
.ice-subnav {font-size:12px;border-radius:7px;padding:7px 13px;background:#e1f0ff;border-color:#cfe3fa;color:#2b6fa9;font-weight:600;}
.ice-shell .ice-sidebar {grid-column:1;grid-row:2/4;display:flex;gap:5px;padding:22px 12px 18px;background:#f5faff;border-right:1px solid #dbeafa;}
.ice-side-label {padding:1px 12px 12px;font-size:11px;letter-spacing:1.2px;}
.ice-side-link {display:block;padding:11px 14px;border-radius:9px;font-size:14px;line-height:1.4;color:#466783;transition:background .12s ease;}
.ice-side-link.active {color:#1e65aa;font-weight:700;background:#ddecfc;box-shadow:inset 3px 0 #78b6ee;}
.ice-side-foot {margin-top:auto;border-top:1px solid #e0edfa;padding:14px 12px 4px;gap:4px;}
.ice-side-foot strong {font-size:15px;font-weight:750;color:#497da8;}
.ice-side-foot span {font-size:10px;color:#9bb0c7;line-height:1.5;}
.ice-shell main {grid-column:2;grid-row:3;min-width:0;min-height:0;margin:0 17px 17px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden;}
.ice-shell main > .workspace:not(.ice-home) {height:100%;background:#fff;border:1px solid #dfebf8;border-radius:13px;box-shadow:0 5px 20px #abc9e322;overflow:hidden;}
.ice-shell main > .ice-home {display:block;overflow-y:auto;height:100%;padding:5px 1px 20px;background:transparent;border:0;box-shadow:none;scrollbar-gutter:stable;}
.ice-home-head {grid-template-columns:minmax(0,3fr) minmax(215px,1fr);gap:15px;}
.ice-hero {height:clamp(170px,22vh,220px);border-radius:13px;padding:clamp(22px,2.1vw,30px);background:linear-gradient(112deg,#e6f3ff 3%,#d3e9fc 60%,#bbdbf8 100%);}
.ice-hero:after {content:none;}
.ice-hero h1 {font-size:clamp(23px,2.05vw,32px);max-width:85%;margin:11px 0 9px;}
.ice-hero p {font-size:13px;max-width:80%;line-height:1.6;}
.ice-home-aside {border-radius:13px;box-shadow:none;padding:19px;}
.ice-aside-top {font-size:14px;}
.ice-cards {gap:13px;}
.ice-tile {min-height:clamp(145px,17vh,170px);gap:11px;padding:18px 17px;border-radius:12px;box-shadow:0 3px 16px #bdd7eb28;}
.ice-tile h3 {font-size:16px;margin:0;}
.ice-tile p {font-size:12px;line-height:1.6;}
.ice-tile-action {font-size:11px;}
.ice-home-bottom {gap:13px;margin-top:14px;}
.ice-panel {padding:18px;border-radius:12px;box-shadow:none;}
.ice-panel h3 {font-size:16px;}
.ice-shell .workspace > .subtabbar {display:none;}
.ice-shell .information-scroll {background:#fff;}
.ice-shell .information-toolbar {padding:18px 0 14px;}
.ice-shell .information-scroll h1 {font-size:21px;}
.ice-shell .empty-state {background:white;}
.ice-shell :focus-visible {outline:2px solid #599edb;outline-offset:2px;}
@media(max-width:1050px) {
  body.ice-shell {grid-template-columns:175px minmax(0,1fr);}
  .ice-home-head {grid-template-columns:minmax(0,2fr) minmax(185px,1fr);}
  .ice-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px) {
  body.ice-shell {grid-template-columns:1fr;grid-template-rows:54px auto 38px minmax(0,1fr);}
  .ice-shell .topbar {grid-column:1;grid-row:1;padding:0 12px;}
  .ice-shell .brand {font-size:19px;}
  .ice-shell .brand-description,.ice-shell .ice-top-note {display:none;}
  .ice-shell .ice-sidebar {grid-column:1;grid-row:2;flex-direction:row;align-items:center;gap:3px;padding:7px 8px;overflow-x:auto;border-right:0;border-bottom:1px solid #dbeafa;}
  .ice-side-label,.ice-side-foot {display:none;}
  .ice-side-link {flex:0 0 auto;white-space:nowrap;padding:8px 10px;font-size:12px;}
  .ice-shell .tabbar {grid-column:1;grid-row:3;min-height:38px;padding:0 10px;}
  .ice-second-level {min-height:38px;}
  .ice-subnav {padding:5px 11px;}
  .ice-shell main {grid-column:1;grid-row:4;margin:0 8px 8px;}
  .ice-home-head {grid-template-columns:1fr;}
  .ice-home-aside {display:none;}
  .ice-hero {height:auto;min-height:215px;padding:20px;}
  .ice-hero-tag {margin-top:15px;}
  .ice-hero h1 {max-width:100%;font-size:24px;}
  .ice-hero p {max-width:100%;}
  .ice-home-bottom {grid-template-columns:1fr;}
}


/* Compact modular home: no loose headings, no blank secondary toolbar. */
body.ice-shell.ice-no-subnav { grid-template-rows:62px 0 minmax(0,1fr); }
.ice-shell.ice-no-subnav .tabbar { display:none !important; }
.ice-shell.ice-no-subnav main { grid-row:3; }
.ice-shell main > .ice-home { padding:2px 1px 10px; }
.ice-home-head { gap:11px; }
.ice-hero { height:clamp(170px,20vh,195px); padding:19px 25px; }
.ice-hero h1 { font-size:clamp(29px,2.6vw,39px); margin:7px 0 3px; }
.ice-hero .ice-main-title { font-size:clamp(13px,1.1vw,16px); margin:3px 0 7px; font-weight:500; }
.ice-hero-tag { margin-top:10px; }
.ice-home-head .ice-hero { height:auto; min-height:190px; }
.ice-home-aside { padding:14px 16px; }
.ice-home-aside p { margin:6px 0 7px; line-height:1.5; }
.ice-aside-links { gap:4px; }
.ice-aside-links a { padding:5px 8px; }
.ice-aside-caption { margin-top:8px; }
.ice-cards { margin-top:11px; gap:11px; }
.ice-tile { min-height:136px; gap:7px; padding:15px 16px; }
.ice-home-bottom { margin-top:11px; gap:11px; }
.ice-panel { padding:15px 17px; }
.ice-panel h3 { margin:5px 0; }
.ice-shell .ice-sidebar { padding-top:17px; }
@media(max-width:720px) {
  body.ice-shell.ice-no-subnav { grid-template-rows:54px auto 0 minmax(0,1fr); }
  .ice-shell.ice-no-subnav main { grid-row:4; }
  .ice-hero { height:auto; min-height:190px; padding:18px 20px; }
  .ice-cards { margin-top:9px; gap:9px; }
  .ice-tile { min-height:120px; padding:14px; }
}

/* v0.5 fixed-order right-nav fit */
.ice-home-aside { padding:12px 15px; }
.ice-aside-links { gap:3px; }
.ice-aside-links a { padding:3px 8px; }
.ice-aside-caption { margin-top:6px; }


/* Buyer Vision five-card home */
.ice-shell .ice-cards {grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:1150px){.ice-shell .ice-cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:720px){.ice-shell .ice-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Prelaunch UI: one clear home hero, consistent market frame background. */
.ice-shell .ice-home-head{display:block;}
.ice-shell .ice-home-head .ice-hero{box-sizing:border-box;width:100%;}
.ice-shell #panel-erdaiji,.ice-shell #market-dashboard{background:#f3f8ff;}
