.edition-actions{display:flex;gap:8px;align-items:center}
/* Reading-first layout for phones, small tablets and touch-screen landscape. */
@media screen and (max-width:900px), screen and (pointer:coarse) and (max-width:1200px) {
  html{font-size:18px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{font-size:1rem;line-height:1.7;--muted:#adbed5}
  main{min-width:0;padding:24px max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left))}
  p,li,h1,h2,h3,button,a,small,time,blockquote{overflow-wrap:anywhere}
  .shell{margin-left:0;min-width:0}
  .sidebar{width:min(88vw,340px);padding:28px 20px;transform:translateX(-100%);visibility:hidden;box-shadow:20px 0 80px #0009}
  .sidebar.open{transform:translateX(0);visibility:visible}
  .brand{margin-bottom:30px}.brand strong{font-size:36px}.brand small{font-size:12px;letter-spacing:1px}
  .rail-label{font-size:12px;line-height:1.6;letter-spacing:.7px;margin:20px 0 10px}
  .sidebar nav a{font-size:17px;line-height:1.5;min-height:50px;padding:12px 14px}
  nav a i{font-size:13px}.frontier{font-size:16px;line-height:1.5;min-height:48px;padding:11px 14px}
  .schedule-card{padding:18px 14px}.schedule-card strong,.schedule-card p{font-size:16px;line-height:1.65}
  .schedule-card .text-button,.about-link{font-size:14px;line-height:1.6;min-height:44px}
  .topbar{padding:env(safe-area-inset-top) 16px 0;height:calc(72px + env(safe-area-inset-top));gap:8px}
  .date{font-size:14px;line-height:1.4;min-width:0;flex:1}
  .topbar-line,.top-label{display:none}.menu{display:grid;margin:0;place-items:center}
  .search-button,.menu,.icon-button,.mini-action,.bookmark{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}
  .menu{font-size:24px}.search-button{margin-left:0}.icon-button{font-size:28px}.mini-action{font-size:18px}
  .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.7px}
  .hero{min-height:0;padding:22px 20px;margin-bottom:24px;display:block}
  .hero .eyebrow,.orbital{display:none}
  .hero h1{font-size:clamp(34px,8.5vw,42px);line-height:1.15;letter-spacing:-1.2px;margin:0 0 14px}
  .hero h1 br{display:none}.hero h1 em{letter-spacing:-1px;margin-left:.12em}
  .hero p.tagline{font-size:18px;line-height:1.55;max-width:none;margin:12px 0}
  .hero p{font-size:16px;line-height:1.7;max-width:none;margin:12px 0}
  .hero .independent{font-size:12px;line-height:1.6;letter-spacing:0;padding:7px 9px;margin-top:14px}
  .edition-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;padding-bottom:18px;margin-bottom:18px}.edition-bar strong{grid-column:1;grid-row:1}.edition-bar .edition-type{grid-column:2;grid-row:1;justify-self:end}.edition-actions{grid-column:2;grid-row:2;align-self:center}.edition-actions .mini-action:first-of-type{margin-left:0}
  .edition-bar strong{font-size:13px;line-height:1.5;letter-spacing:.6px}
  .edition-bar .edition-type{font-size:12px;line-height:1.5;padding:5px 8px}
  .edition-bar .updated{font-size:14px;line-height:1.7;max-width:none;width:100%;margin:0;text-align:left;order:initial;grid-column:1;grid-row:2}
  .sample-banner,.error-banner{font-size:16px;line-height:1.7;padding:16px;gap:10px}
  .sample-banner button{font-size:15px;min-height:44px;white-space:normal}
  /* Put the briefing ahead of the eight-topic grid on the morning screen. */
  #app[data-view="daily"]{display:flex;flex-direction:column}
  #app[data-view="daily"]>.hero{order:0}
  #app[data-view="daily"]>.edition-bar{order:1}
  #app[data-view="daily"]>.sample-banner,#app[data-view="daily"]>.error-banner{order:2}
  #app[data-view="daily"]>.reading-grid{order:3}
  #app[data-view="daily"]>#top-posts{order:4}
  #app[data-view="daily"]>.your-frontiers{order:5}
  #app[data-view="daily"]>.content-section{order:6}
  #app[data-view="daily"]>.takeaway{order:7}
  .reading-grid,.brief-sidebar,.signal-grid,.conversations,.method-grid,.topic-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .reading-grid>*,.post-body{min-width:0}
  .summary-top{padding:24px 20px}.summary-points{padding:0 20px}.summary-top:after{display:none}
  .summary .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.6px}
  .summary h2{font-size:30px;line-height:1.3;letter-spacing:-.7px;margin:16px 0}
  .summary-top>p,.summary-point p,.post p,.post .why,.signal-card p,.conversation p,.takeaway p,
  .frontier-detail-head>p,.frontier-assessment p,.frontier-source p,.page-intro p,.topic-card p,
  .method-card p,.method-card li,.empty p,.archive-card p{font-size:18px;line-height:1.75;color:#b9c9df}
  .summary-point{grid-template-columns:minmax(0,1fr);gap:8px;padding:24px 0}
  .summary-point .num{font-size:14px;line-height:1.5}
  .summary-point h3{font-size:20px;line-height:1.45;margin-bottom:10px}
  .summary-bottom{flex-wrap:wrap;gap:10px;font-size:12px;line-height:1.6;padding:16px 20px;letter-spacing:0}
  .sidebar-card{padding:22px 20px}.sidebar-card .small-heading{font-size:13px;line-height:1.6;letter-spacing:.5px}
  .activity-grid{gap:24px}.activity-grid strong{font-size:34px;line-height:1.2}.activity-grid small{font-size:16px;line-height:1.6}
  .note{font-size:15px;line-height:1.75}.topic-row{font-size:17px;line-height:1.5;min-height:48px;padding:10px 0}
  .topic-row span:last-child{font-size:14px;line-height:1.5;white-space:normal;text-align:right}
  .brief-sidebar .quote-card{display:none}
  .content-section{margin-top:36px}.section-head{gap:10px;flex-wrap:wrap}
  .section-head h2{font-size:24px;line-height:1.35;letter-spacing:-.4px}.section-head .index{font-size:13px}
  .section-head .aux{display:none}
  .filters{gap:8px}.chip{font-size:15px;line-height:1.5;min-height:44px;padding:10px 13px;white-space:normal}
  .saved-filter{margin-left:0}
  .post{grid-template-columns:minmax(0,1fr) 44px;gap:12px 8px;padding:26px 0}
  .post-number{grid-column:1;grid-row:1;font-size:16px;line-height:44px}
  .post-body{grid-column:1/-1;grid-row:2}
  .bookmark{grid-column:2;grid-row:1;font-size:24px}
  .post h3{font-size:24px;line-height:1.4;letter-spacing:-.3px;margin:12px 0}
  .post-meta,.frontier-source .post-meta{font-size:13px;line-height:1.6;flex-wrap:wrap;gap:8px}
  .post-kind,.topic-tag{font-size:12px;line-height:1.5;letter-spacing:.3px}.post-kind{padding:4px 7px}
  .post .why{padding:16px;border-left-width:3px;margin:18px 0}
  .post-actions{font-size:14px;line-height:1.7;gap:12px;align-items:flex-start}
  .post-actions button{font-size:16px;line-height:1.5;min-height:44px;padding:9px 0}
  .post-actions time{font-size:14px;line-height:1.7;margin-left:0;flex-basis:100%}
  .text-button,.back-button,.source-inline,.primary-button{font-size:16px;line-height:1.5;min-height:44px;padding-top:10px;padding-bottom:10px}
  .source-inline{white-space:normal}
  .ranking-bar{flex-direction:column;align-items:stretch;gap:10px}
  .ranking-switch{width:100%}.ranking-switch button{font-size:15px;line-height:1.5;min-height:48px;padding:10px 8px;white-space:normal;flex:1}
  .ranking-help{font-size:15px;line-height:1.5;min-height:44px;text-align:left}
  .ranking-note{font-size:16px;line-height:1.75;color:#aebfd8}
  .post-metrics{padding:18px 16px;margin:20px 0}
  .metrics-heading{font-size:12px;line-height:1.6;letter-spacing:.3px;flex-wrap:wrap;gap:10px}
  .spread-badge{font-size:12px;line-height:1.6;padding:4px 7px}
  .metrics-grid,.expanded-metrics .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .metric strong{font-size:30px;line-height:1.25}
  .expanded-metrics .metrics-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .expanded-metrics .metric{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:14px 0;border-bottom:1px solid #263f5c}
  .expanded-metrics .metric strong{font-size:26px;line-height:1.3;white-space:nowrap;order:2}
  .expanded-metrics .metric>span{font-size:16px;line-height:1.5;margin:0;order:1}
  .metric>span{font-size:15px;line-height:1.6;margin-top:5px;color:#b2c6df}
  .metric strong.metric-missing,.expanded-metrics .metric strong.metric-missing{font-size:16px;line-height:2.3}
  .metrics-bottom{font-size:13px;line-height:1.8;flex-direction:column;gap:6px;color:#a8bed9}
  .metrics-bottom button{font-size:16px;line-height:1.5;min-height:44px;padding:10px 0}
  .post-metrics .metrics-attribution,.post-metrics .metrics-explainer{font-size:16px!important;line-height:1.75!important}
  .frontier-tags{gap:8px}.frontier-tags button{font-size:14px;line-height:1.5;min-height:44px;padding:10px;white-space:normal;text-align:left}
  .priority-grid,.compact-frontiers .priority-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .priority-card,.compact-frontiers .priority-card{padding:22px 20px}
  .priority-label,.compact-frontiers .priority-label{font-size:13px;line-height:1.5;gap:8px;flex-wrap:wrap}
  .priority-status,.compact-frontiers .priority-status{font-size:12px;line-height:1.5}
  .priority-card h3,.compact-frontiers .priority-card h3{font-size:23px;line-height:1.35;min-height:0;margin:14px 0 10px}
  .priority-card p,.compact-frontiers .priority-card p,.frontiers-intro{font-size:18px;line-height:1.75}
  .priority-link,.compact-frontiers .priority-link{font-size:16px;line-height:1.5;padding-top:6px}
  .frontier-detail-head h1,.page-intro h1{font-size:34px;line-height:1.25;letter-spacing:-.8px}
  .frontier-parent-tags{flex-wrap:wrap}.frontier-parent-tags span{font-size:13px;line-height:1.5;padding:7px 9px}
  .frontier-assessment{padding:24px 20px}.frontier-assessment h2{font-size:26px;line-height:1.35}
  .frontier-source h3{font-size:23px;line-height:1.45}
  .coverage-count{font-size:15px;line-height:1.6}
  .signal-card,.conversation{padding:24px 20px}.signal-card .signal-type{font-size:13px;line-height:1.6;letter-spacing:.5px}
  .signal-card h3,.conversation h3{font-size:22px;line-height:1.4;margin:14px 0 10px}
  .signal-card .signal-foot{font-size:14px;line-height:1.7}
  .takeaway{grid-template-columns:1fr;padding:24px 20px;gap:16px}.takeaway>div{font-size:28px;line-height:1.25}
  .takeaway>div br{display:none}.takeaway>div{word-spacing:3px}
  .archive-controls,.archive-controls.frontier-archive-controls{grid-template-columns:minmax(0,1fr);gap:18px}
  .archive-controls label,.archive-controls label span{font-size:13px;line-height:1.6;letter-spacing:.4px}
  .archive-controls input,.archive-controls select{font-size:18px;line-height:1.5;min-height:52px;min-width:0;padding:12px}
  .archive-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:22px 20px}
  .archive-card h3{font-size:25px;line-height:1.4}.archive-card time,.archive-card small{font-size:15px;line-height:1.6}
  .topic-card{padding:24px 20px}.topic-card h2{font-size:28px;line-height:1.3}.topic-card small{font-size:15px;line-height:1.6}
  .source-row{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 0}
  .source-row div{flex-basis:auto;min-width:0}.source-row h3{font-size:20px;line-height:1.5}
  .source-row p,.source-row a{font-size:16px;line-height:1.7}
  .source-note,.source-note[style]{font-size:16px!important;line-height:1.75;padding:20px}
  .method-card h2,.empty h3{font-size:27px;line-height:1.35}
  .status-list li{font-size:17px;line-height:1.6;flex-wrap:wrap}.status-pill{font-size:13px;line-height:1.5;padding:6px 9px;white-space:normal}
  dialog{padding:22px 20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}
  .dialog-top{gap:12px}.dialog-top .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.5px}
  #dialog-content h2{font-size:29px;line-height:1.3}#dialog-content h3{font-size:20px;line-height:1.5}
  #dialog-content p,#dialog-content p[style],#dialog-content li{font-size:18px!important;line-height:1.75}
  #dialog-content blockquote{font-size:20px;line-height:1.7;padding:18px 16px;white-space:pre-wrap}
  #dialog-content a{font-size:16px;line-height:1.7}.phone-guide .muted{font-size:16px}
  .phone-card small{font-size:12px;line-height:1.6}.phone-card .apk-download{font-size:16px;line-height:1.5;min-height:44px;padding:10px 0}
  .phone-card button{font-size:14px;line-height:1.5;min-height:44px}
  footer{padding:28px 20px;flex-direction:column;align-items:flex-start;gap:18px}
  footer>div b{font-size:30px}footer>div span,footer p{font-size:14px;line-height:1.75}
  footer .text-button{font-size:16px;white-space:normal}
  #toast{font-size:16px;line-height:1.5;max-width:calc(100% - 32px);width:max-content;bottom:max(20px,env(safe-area-inset-bottom))}
}
