/* Desktop reading scale. Keep mobile composition and controls unchanged. */
@media(min-width:1001px){
  :root{--desktop-caption:12px;--desktop-text:14px;--desktop-section:20px;--desktop-title:28px;--muted:#65756a}
  body{font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:var(--desktop-text);line-height:1.7}
  h1,h2,h3,h4{font-weight:600;letter-spacing:0;line-height:1.45}
  h2{font-size:var(--desktop-section)}h3{font-size:16px}h4{font-size:14px}
  p{line-height:1.75}small,.tiny{font-size:var(--desktop-caption)}
  .main{padding:28px 32px 40px;max-width:1440px}
  .page-heading,.main:has(.exchange-layout)>.page-heading,.main:has(>.scene-hero)>.page-heading{margin-bottom:24px;gap:24px;align-items:center}
  .page-heading h1,.main:has(.exchange-layout)>.page-heading h1,.main:has(>.scene-hero)>.page-heading h1{font-size:var(--desktop-title);font-weight:600;letter-spacing:0}
  .page-heading .muted,.main:has(.exchange-layout)>.page-heading .muted{font-size:14px;margin-top:6px}
  .eyebrow,.page-heading .eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:6px}
  .panel{padding:24px;margin-bottom:24px}.cards{gap:24px}.two-column,.dashboard-columns{gap:24px}
  .section-title{margin:28px 0 16px;gap:16px;align-items:center}.section-title:first-child{margin-top:0}.section-title h2{font-size:20px;letter-spacing:0}
  .btn,.btn.small,.action-row .btn,.business-actions .btn{font-size:13px;font-weight:600;line-height:1.45;min-height:38px;padding:9px 14px}
  .btn:not(.small){min-height:40px}.text-link{font-size:13px;line-height:1.6}.tag,.quality,.count-badge{font-size:12px;line-height:1.6}
  .button-row{gap:10px}.toolbar{gap:16px;margin-bottom:20px}.tabs button,.town-tabs a{font-size:14px;padding:12px 16px;line-height:1.5}
  .economy-tabs{max-width:none;width:fit-content;min-width:380px;margin-bottom:24px}.town-tabs{gap:8px}
  .field>span,.inline-label,.people-filters label{font-size:13px;color:var(--muted);font-weight:500}
  .field input,.field select,.inline-label select,.people-filters select{font-size:14px;min-height:40px;padding:9px 12px}
  .toolbar>label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
  .toolbar>label>select{font:inherit;font-size:14px;min-height:40px;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}
  .notice,.small-notice{font-size:13px;line-height:1.75;padding:14px 18px}.notice p,.notice .tiny{font-size:13px}
  .nav-item{font-size:14px;gap:12px;padding:11px 14px}.sidebar-bottom .nav-item{font-size:13px}.nav-label,.settlement,.settlement small{font-size:11px}
  .citizen strong{font-size:13px}.citizen small{font-size:11px}.breadcrumb,.location,.top-resources,.money small,.stamina-pill>span{font-size:12px}.money strong{font-size:17px}.stamina-pill strong{font-size:14px}
  .footer{font-size:11px;color:var(--muted)}.version{color:var(--muted)}

  /* Landscape headings use the same family as all other interface headings. */
  .scene-identity h2,.civic-scene .scene-identity h2{font-family:inherit;font-size:34px;font-weight:600;letter-spacing:1px;line-height:1.4}
  .scene-identity .eyebrow{font-size:11px;letter-spacing:1.8px}.scene-identity>p:last-child{font-size:14px;line-height:1.7}
  .scene-topline{padding:24px 28px}.scene-chip{font-size:12px;padding:6px 12px}
  .scene-bottom{padding:28px;margin-top:92px}.scene-identity-row{gap:24px;margin-bottom:24px}.scene-actions{max-width:360px;gap:10px}
  .scene-actions .btn.light-button{font-size:13px;padding:9px 14px;min-height:40px}
  .scene-stats{gap:20px;padding-top:20px}.scene-stat+ .scene-stat{padding-left:20px}
  .scene-stat>span{font-size:12px;line-height:1.6;color:#f0e6ce}.scene-stat h2,.scene-stat h3{font-size:30px;font-weight:600;letter-spacing:0;line-height:1.4;margin:6px 0 8px}
  .scene-stat h2 small,.scene-stat h3 small{font-size:12px;white-space:nowrap;color:#eee5d1}
  .scene-stat>p{font-size:12px;line-height:1.75;margin:10px 0 14px;color:#f1f0df}.scene-stat>.text-link{font-size:13px}
  .scene-hero:before{background:linear-gradient(180deg,#173c3735 0%,transparent 25%,#163a3640 42%,#163a36e6 74%,#163a36fa 100%)}
  .civic-scene .scene-bottom{margin-top:132px}.scene-stat>.progress{height:5px}

  .attention-row{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:14px;padding:18px 0}
  .attention-row h3,.calm-state h3,.action-row h3,.schedule-row h3,.brief-message h3,.news h3{font-size:15px;line-height:1.5;font-weight:600}
  .attention-row p,.calm-state p,.action-row p,.schedule-row p,.brief-message p,.news p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:5px}
  .news time,.brief-message time,.personal-skill small,.storage-row small,.buff-row small{font-size:12px;color:var(--muted)}
  .personal-skill .split,.storage-row .split,.buff-row strong{font-size:13px}.quiet-empty{font-size:14px;padding:16px 0}
  .shortcut-grid a{font-size:13px;line-height:1.6;padding:11px 12px;gap:10px;min-height:44px}.schedule-row>strong{font-size:13px}
  .news{margin:24px 0}.two-column>.panel>p,.prose p,.prose li{font-size:14px;line-height:1.8}.two-column>.panel>h3{margin-top:24px;margin-bottom:12px}
  .personal-stat>span{font-size:12px}.personal-stat h2{font-size:30px}.personal-stat h2 small,.personal-stat p{font-size:12px}.personal-stat>.text-link{font-size:13px}

  /* Separate commodity identity, actions, filters and quotes into clear rows. */
  .exchange-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}.item-browser-heading{padding:18px 16px 0}.item-browser-heading h2{font-size:16px}
  .market-search input{font-size:14px;min-height:40px}.item-tree-row{font-size:14px;line-height:1.5;padding:10px 14px;gap:10px;min-height:44px}
  .item-tree-row small,.item-category>summary span{font-size:12px;color:var(--muted)}.item-category>summary{font-size:13px;padding:12px 16px;color:#536c5e}
  .item-browser-tip{font-size:12px!important;color:var(--muted)}.watch-list>h3{font-size:12px}
  .commodity-header{padding:20px!important}.commodity-title{gap:10px}.commodity-title h2{font-size:24px;line-height:1.4}.commodity-title .eyebrow{font-size:12px;letter-spacing:0;color:var(--muted)}
  .watch-button{font-size:13px;margin-left:auto}.commodity-actions{flex-basis:100%;margin-left:0;margin-top:6px;gap:8px;flex-wrap:wrap}.commodity-actions .btn{font-size:13px;min-height:36px;padding:8px 12px}
  .exchange-filters{margin-top:14px;gap:14px}.exchange-filters .field>span{font-size:12px;margin-bottom:0}.exchange-filters>.field{min-width:140px;max-width:210px}.exchange-filters>.field select{font-size:14px;min-height:40px}
  .mine-filter,.exchange-filters>.text-link{font-size:12px;line-height:1.5}.exchange-filters>.text-link{margin-left:auto}
  .quote-summary{margin-top:16px;padding-top:14px;gap:16px;grid-template-columns:1fr 1fr 1.2fr 1.6fr}.quote-summary span{font-size:12px;line-height:1.6}.quote-summary strong{font-size:24px;line-height:1.5;margin-top:4px}.quote-summary small{font-size:12px}
  .delivery-hint,.commodity-benefit{font-size:12px;line-height:1.75;margin-top:12px;color:#566d5b}
  .book-title{padding:16px 20px}.book-title h2{font-size:18px}.book-title .tiny{font-size:12px}.book-title>div{gap:10px}
  .order-book th,.order-book td{padding:11px 14px;font-size:13px;line-height:1.6}.order-book th,.sort-price{font-size:12px;color:#566d60}.order-book .price-cell{font-size:16px}.order-book .price-cell>small{font-size:12px}.order-book .btn.small{font-size:13px;min-height:32px;padding:6px 12px}
  .order-source,.best-tag,.delivery-note{font-size:11px;line-height:1.6}.order-source{margin-left:5px}.best-tag{color:#517344}.delivery-note{color:var(--muted)}
  .recent-trades{padding:24px!important}.recent-trades th,.recent-trades td{font-size:13px;padding:12px 14px}
  .ledger-table th,.ledger-table td,.ledger-table td:first-child{font-size:13px;line-height:1.6}.ledger-table small{font-size:12px;line-height:1.6}
  .rule-balances span,.rule-terms small,.civic-material small{font-size:12px}.rule-balances strong{font-size:24px}.civic-project>.muted,.civic-material strong{font-size:14px}
  .rule-fieldset legend{font-size:14px}.rule-terms{font-size:14px}.locked-project .action-row{font-size:13px}

  .job-card>p,.mini-facts>div,.business-heading p,.recipe-preview strong,.availability,.staff-plan>p,.inventory-card>p{font-size:13px}
  .recipe-preview div>span,.recipe-preview small,.recipe-preview p,.recipe-guide-card p{font-size:12px;line-height:1.7}
  .business-actions{gap:10px}.business-controls{gap:12px}.business-body{gap:24px}.production{padding-right:24px}
  .inventory-card .quantity{font-size:28px}.inventory-card h3{font-size:18px}.inventory-card .button-row{gap:6px}
  .vessel>p,.fleet-legs p,.fleet-log p,.voyage-middle p{font-size:13px!important;line-height:1.75}.fleet-stats span{font-size:12px}.fleet-stats strong{font-size:26px}.voyage-middle small,.port-photo strong{font-size:12px}
  .commission-item{font-size:16px}.commission .tiny,.commission-offer .tiny,.meter-key{font-size:12px}.commission-toolbar h2{font-size:20px}
  .district-columns{font-size:12px}.district-building h2{font-size:16px}.district-building p,.district-building .text-link,.district-product,.district-level{font-size:12px}.district-owner strong{font-size:14px}
  .region>p,.expedition p,.person-heading p,.resident>p{font-size:13px}.region-bonuses span{font-size:12px}.region-bonuses strong{font-size:18px}
  .dialog-heading h2{font-size:20px}.dialog-body>form>p,.dialog-body>section p,.trade-item p,.trade-facts,.build-option p{font-size:14px;line-height:1.75}.build-option small,.journal time{font-size:12px}.journal p{font-size:14px}
}
@media(min-width:1001px) and (max-width:1399px){
  .dashboard-columns{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr)}.shortcut-grid{grid-template-columns:1fr}
  .exchange-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}
  .scene-stats{gap:14px}.scene-stat+ .scene-stat{padding-left:14px}.scene-bottom{padding:24px}.scene-stat>p{font-size:12px}
}
@media(min-width:1001px) and (max-width:1150px){
  .dashboard-columns{grid-template-columns:1fr}.dashboard-columns>aside{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
  .attention-row{grid-template-columns:6px minmax(0,1fr) auto}.scene-stats.personal-scene-stats{grid-template-columns:1fr 1fr}.personal-scene .scene-bottom{margin-top:72px}
  .personal-scene .scene-stat:nth-child(3){border-left:0;padding-left:0}.scene-actions{max-width:180px}
}
@media(min-width:1001px) and (max-width:1200px){.quote-summary{grid-template-columns:1fr 1fr;gap:14px 20px}}
