/* Clear graphite — approved round 4 A. Final shared reading layer.
   Keep navigation/guide topology and semantic state colors; remove nested texture.
   Small map attribution is the sole exception to the 12px metadata floor. */
:root{
  --cg-body:18px;--cg-compact:16px;--cg-control:14px;--cg-meta:12px;
  --cg-leading:1.65;--cg-measure:62ch;--cg-section:28px;
  --cg-display:"Brand Slab",Georgia,serif;--cg-prose:"Spectral",Georgia,serif;
  --cg-interface:"IBM Plex Mono",ui-monospace,monospace;--cg-number:"DM Mono",monospace;
  --cg-bg:var(--folio-abyss,#070A0A);--cg-surface:var(--folio-graphite,#101312);
  --cg-ink:var(--folio-cream,#D8D2C3);--cg-bright:var(--folio-field-white,#F5F0E4);
  --cg-muted:var(--folio-muted,#AAA393);--cg-rule:var(--folio-rule,rgba(216,210,195,.21));
  --cg-focus:var(--accent-ink,#C9E891);
  --read-body:var(--cg-body);--read-control:var(--cg-control);--read-label:var(--cg-control);
  --read-meta:var(--cg-control);--read-micro:var(--cg-meta);
}
[data-pali-surface]{scrollbar-color:var(--cg-muted) var(--cg-bg);caret-color:var(--cg-focus)}
[data-pali-surface] ::selection{color:var(--cg-bg);background:var(--cg-focus)}
[data-pali-surface] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cg-focus);outline-offset:3px}
[data-pali-surface] a{text-underline-offset:4px}
/* Reading is continuous; stitch and grain stay on the outer shell. */
body[data-pali-surface="atlas"] .view.scroll,body[data-pali-surface="atlas"] #view-detail,body.beachFull #view-beaches{background-color:var(--cg-bg);background-image:none}
.guideContent,.guideSummary{background-color:var(--cg-bg)}
.guideContent .card,.guideContent .detailOverview,.view.scroll .colHead,
.settingsFieldCard,.setList .si{background-image:none;box-shadow:none}
.guideContent .card{padding:0 0 var(--cg-section);border:0;border-bottom:1px solid var(--cg-rule);border-radius:0;background-color:transparent}
.guideContent .card:last-child{margin-bottom:0}
.guideContent .card .card{padding:20px 0 0;border:0}
.guideContent :is(.desc,.card p,.card li,.secTl .s,.pageSub .subDesc,.wreckStory,.wreckNote p),
.guideContent .detailOverviewCopy .desc,body.beachFull .guideContent p{
  max-width:var(--cg-measure);font:400 var(--cg-body)/var(--cg-leading) var(--cg-prose);color:var(--cg-ink)
}
.guideContent .detailOverviewCopy{max-width:var(--cg-measure)}
.guideContent :is(.card h5,.accessGroup h3){margin:24px 0 14px;color:var(--cg-bright);font:400 24px/1.25 var(--cg-display);letter-spacing:0;text-transform:none}
.guideContent .card>h5:first-child{margin-top:0}
.guideContent .detailPanelIntro{margin-bottom:28px}
.guideContent .detailPanelIntro p{max-width:var(--cg-measure);font:var(--cg-body)/var(--cg-leading) var(--cg-prose)}
.guideSummary h1{margin-bottom:24px}
.guideBack,.guideConditionsLink,.guideActionStack .btn,#folioLedger #detailPanel #panelGuideActions .btn,
.guideContent .detailTabs>[role="tab"],.guideContent .detailSubTabs>[role="tab"]{font-size:var(--cg-control);letter-spacing:0}
.guideFact dt,.guideConditions p,.guideContent .dFoot,.guideContent .dFoot .right span,
.guideContent .chipWrap .chip,.guideSummary .atlasAccessNotice{font-size:var(--cg-meta);line-height:1.5}
.guideFact dd{font-weight:400}
.guideContent .dFoot{overflow-wrap:anywhere}
.guideContent .detailSubTabs{flex-wrap:wrap;gap:12px;overflow:visible}
.guideContent .detailSubTabs>[role="tab"]{min-width:44px;min-height:44px;padding-inline:8px}
.guideContent .accessReading{padding-bottom:0;border:0}
.guideContent .accessGroup{margin:0;padding:0 0 24px;border-bottom:1px solid var(--cg-rule)}
.guideContent .accessGroup+.accessGroup{padding-top:24px}
.guideContent .accessGroup h3{margin:0 0 12px;font-size:22px}
.guideContent .copyRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin:0;min-width:0}
.guideContent .copyRow span{min-width:0;padding:9px 0;overflow-wrap:anywhere;font:var(--cg-body)/1.6 var(--cg-prose);color:var(--cg-ink)}
.guideContent .copyBtn{min-width:64px;min-height:44px;margin:0;padding:8px 10px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--cg-bright);font:var(--cg-control)/1.4 var(--cg-interface);text-transform:none;letter-spacing:0}
.guideContent .copyBtn:hover{border-color:var(--cg-rule);background:var(--cg-surface)}
.guideContent .secTl .s{margin-bottom:22px}
.guideContent .secTl .s b{font-size:20px;line-height:1.4}
.guideContent .subLead,.guideContent .researchCard p{font-size:var(--cg-body);line-height:var(--cg-leading)}
.guideContent :is(.linkRow,.subRow){min-height:48px;white-space:normal}
.guideContent :is(.linkRow .pl,.subRow small,.trailMapPreview figcaption){font-size:var(--cg-meta);line-height:1.5;letter-spacing:.02em}
.trailMapPreview{box-shadow:none}
.guideContent details summary,body.beachFull .guideContent details summary{min-height:44px;padding:10px 0;font:var(--cg-control)/1.5 var(--cg-interface);cursor:pointer}
/* Shared operation labels, without altering the accepted five-destination shell. */
#rail .navChild span{font-size:var(--cg-control)}
.navGroupLabel,#rankProgress,.rankName small,.accountSyncStatus{font-size:var(--cg-meta);line-height:1.5}
#view-map .topbar button{font-size:var(--cg-meta)}
.rankSummary,.rankUnavailable p{font:var(--cg-compact)/1.6 var(--cg-prose)}
.rankName small{white-space:normal}
#detailBody .desc{font:var(--cg-body)/var(--cg-leading) var(--cg-prose)}
.selectedConditions span,.selectedAccessNotice{font-size:var(--cg-control);line-height:1.6}
#detailPanel .detailMore summary{font-size:var(--cg-control);min-height:44px}
.view.scroll :is(.bcard,.entry){background-image:none;box-shadow:none}
.setList .si{padding-block:22px;border-width:0 0 1px;border-radius:0;background-color:transparent}
.setList .si b{font:400 22px/1.25 var(--cg-display)}
.setList .si span,.settingsFieldCard p,.empty p,.bookPage>p{max-width:var(--cg-measure);font:var(--cg-body)/var(--cg-leading) var(--cg-prose)}
.setList .ctl{font-size:var(--cg-control);white-space:normal}
.setList .si :is(small,summary),.bookPage>a span{font-size:var(--cg-meta);line-height:1.5}
.weatherScope,.weatherOverviewNote,.weatherOverview p{max-width:var(--cg-measure);font:var(--cg-body)/var(--cg-leading) var(--cg-prose)}
.weatherTabs button,.weatherPageLink{font-size:var(--cg-control)}
.weatherReading :is(.wxkv .t,.wxUpdated,.wxWhere),#weatherStatus{font-size:var(--cg-meta);line-height:1.5}
.weatherReading .wxkv .v{font-weight:400}
.weatherReading .wxh{font-size:var(--cg-control);letter-spacing:0}
.wxFeeds,.wxStale,.wxNoAlert,.wxAlert .until{font-size:var(--cg-meta);line-height:1.6}
.wxAlert span{font:var(--cg-compact)/1.6 var(--cg-prose)}
/* Trail Studio: real labels replace the miniature instrument text. */
/* Model labels and warnings stay beside their values. Only reading styles change. */
.trailConditions{--tc-muted:var(--cg-muted)}
.trailConditions :is(.trailConditions__badge,.trailConditions__sectionHead span,.trailConditions__sectionHead b,
.trailConditions__dayName,.trailConditions__dayMark,.trailConditions__dayRain,.trailConditions__metricLabel,
.trailConditions__metricNote,.trailConditions__microcopy,.trailConditions__stateCopy small){font:var(--cg-meta)/1.5 var(--cg-interface);letter-spacing:.02em}
.trailConditions__stateCopy strong{font:500 var(--cg-control)/1.5 var(--cg-interface);letter-spacing:0}
.trailConditions__stateCopy p,.trailConditions__limitations,.trailConditions__mudCopy p,.trailConditions__alert p{font:var(--cg-compact)/1.6 var(--cg-prose)}
.trailConditions__metricValue,.trailConditions__dayTemps{font:400 18px/1.4 var(--cg-number)}
.trailConditions__currentCopy>strong,.trailConditions__mudScore strong{font-family:var(--cg-number);font-weight:400}
.trailConditions__currentCopy :is(p,small),.trailConditions__mudScore span{font:var(--cg-meta)/1.5 var(--cg-interface);letter-spacing:0}
.trailConditions__sourceLedger{font:var(--cg-meta)/1.6 var(--cg-interface)}
.trailConditions__sourceLedger :is(dt,dd,small,span,p){font-size:var(--cg-meta);line-height:1.6;letter-spacing:0;overflow-wrap:anywhere}
.trailConditions__sourceLedger a,.trailConditions__alert :is(strong,a){font:var(--cg-control)/1.5 var(--cg-interface);letter-spacing:0}
.trailConditions__dayButton{min-height:76px;padding:10px 4px}
.trailConditions__metric{background:none;box-shadow:none}
/* Standalone account, Field Desk, policy, media and recovery use the same rhythm. */
body[data-pali-surface]:not([data-pali-surface="atlas"]){background-color:var(--cg-bg);background-image:none;color:var(--cg-ink)}
body:is([data-pali-surface="account"],[data-pali-surface="field"],[data-pali-surface="policy"]){font:var(--cg-body)/var(--cg-leading) var(--cg-prose)}
body:is([data-pali-surface="account"],[data-pali-surface="field"],[data-pali-surface="policy"]) :is(p,li){font-size:var(--cg-body);line-height:var(--cg-leading);max-width:var(--cg-measure)}
body:is([data-pali-surface="account"],[data-pali-surface="field"],[data-pali-surface="policy"]) :is(button,.button,.quiet-button,.toc a,summary,label){font-size:var(--cg-control);line-height:1.5;letter-spacing:0}
body:is([data-pali-surface="account"],[data-pali-surface="field"],[data-pali-surface="policy"]) :is(input,select,textarea){font-size:16px;line-height:1.5}
body:is([data-pali-surface="account"],[data-pali-surface="field"],[data-pali-surface="policy"]) :is(small,footer,.effective,.form-note){font-size:var(--cg-meta);line-height:1.6}
[data-pali-surface="account"] :is(.account-panel,.plan-card),[data-pali-surface="field"] :is(.panel,.card){background-image:none;box-shadow:none}
[data-pali-surface="account"] .account-panel{background:var(--cg-surface)}
[data-pali-surface="account"] .site-header{font-size:var(--cg-meta);line-height:1.5;letter-spacing:.04em}
[data-pali-surface="account"] :is(.checkout-policies a,.purchase-meta,.status-line){font-size:var(--cg-meta);line-height:1.6}
[data-pali-surface="policy"] .layout>[data-content]{max-width:var(--cg-measure)}
[data-pali-surface="policy"] .support-form{padding:0 0 28px;border-width:0 0 1px;background:transparent}
[data-pali-surface="media"] :is(.film-register,.film-ledger){background-image:none}
[data-pali-surface="media"] :is(.film-mast span,.film-mast b,.film-status,.film-tile small,.film-caption,.film-meta){font-size:var(--cg-meta);line-height:1.5;letter-spacing:0}
[data-pali-surface="media"] :is(.film-mast>a:last-child,.film-filters button,.film-tile b,.film-controls button){font-size:var(--cg-control);line-height:1.5;letter-spacing:0}
[data-pali-surface="media"] .film-filters{flex-wrap:wrap;overflow:visible}
[data-pali-surface="media"] .film-tile b{white-space:normal;overflow:visible;text-overflow:clip}
[data-pali-surface="media"] :is(.film-register__intro p,.film-ledger p){font:var(--cg-body)/var(--cg-leading) var(--cg-prose);max-width:var(--cg-measure)}
[data-pali-surface="recovery"] p{font-size:var(--cg-body);line-height:var(--cg-leading);color:var(--cg-ink)}
[data-pali-surface="recovery"] a{font-size:var(--cg-control)}
[data-pali-surface="recovery"] .coordinates{font-size:var(--cg-meta);color:var(--cg-muted)}
@media(max-width:760px){
  :root{--cg-leading:1.6;--cg-section:24px}
  #mobileNav button span{font-size:var(--cg-meta)}
  .guideContent .detailTabs>[role="tab"]{padding:9px 4px;font-size:var(--cg-meta)}
  .guideContent .detailOverviewCopy .desc{font-size:var(--cg-body);line-height:var(--cg-leading)}
  .guideContent .copyRow{gap:10px}
  .guideContent .copyRow span{font-size:var(--cg-compact)}
  .guideContent .detailPanelIntro{margin-bottom:24px}
  .guideContent .detailOverviewCopy .chipWrap .chip{font-size:var(--cg-meta)}
  [data-pali-surface="media"] .film-filters{gap:8px}
  [data-pali-surface="media"] .film-filters button{flex:1 1 40%;min-height:44px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.guideContent .detailTabPanel{animation:none}}

[data-pali-surface="access"] :is(.accessIntro,.accessLedger,.accessWorkbench){background-image:none;box-shadow:none}
[data-pali-surface="access"] :is(.accessLead,.accessLedger p,.accessCaveat){font:var(--cg-body)/var(--cg-leading) var(--cg-prose);max-width:var(--cg-measure)}
[data-pali-surface="access"] :is(.accessHeader nav a,.accessGate__submit){font-size:var(--cg-control);line-height:1.5}
[data-pali-surface="access"] :is(.accessSystemNote,.accessFooter,.accessFacts dd){font-size:var(--cg-meta);line-height:1.5}
[data-pali-surface="recovery"] main{background:var(--cg-surface);box-shadow:none}
[data-pali-surface="recovery"] h1{font-family:var(--cg-display);font-weight:400;line-height:1.1}
[data-pali-surface="recovery"] p{font-family:var(--cg-prose)}
[data-pali-surface="recovery"] a{font-family:var(--cg-interface);letter-spacing:0}

/* Inspection fixes: later V7 selectors and long phone metadata. */
.guideContent .detailPanelIntro h2,.setList .si b{text-transform:none}
body[data-pali-surface="atlas"] .view.scroll .colHead{min-height:0;padding:0 0 22px;border-width:0 0 1px;border-radius:0;background:transparent}
.fieldSymbolKey{background-image:none;box-shadow:none}
.fieldSymbolKey__item>span{font-size:var(--cg-meta);line-height:1.5;letter-spacing:0}
body>.atlasSyncStatus,body[data-view="map"]>.atlasSyncStatus{font-size:var(--cg-meta);line-height:1.5}
/* MapLibre loads its positioning rule after the application cascade. */
.trailConditions__dayDetail strong,.trailConditions__sourceLedger strong,.trailConditions__limitations summary{font:var(--cg-control)/1.5 var(--cg-interface);letter-spacing:0}
.trailConditions__dayDetail span,.trailConditions__mudCopy small,.trailConditions__currentMark,.trailConditions__alert span{font:var(--cg-meta)/1.5 var(--cg-interface);letter-spacing:0}
.trailConditions__currentCopy span{font-size:var(--cg-control);line-height:1.5}
.trailConditions__limitations li{font:var(--cg-compact)/1.6 var(--cg-prose)}
.trailConditions__dayDetail{border-left-width:1px}
.trailConditions__days{grid-template-columns:repeat(3,minmax(0,1fr))}
.trailConditions__dayTemps{font-size:var(--cg-control)}
body.beachFull #view-beaches .beachBrowser .beachListHeader{display:none}
.beachMapTools button,#beachSheetToggle,.beachGuideLink{font-size:var(--cg-control)}
#view-beaches .beachBrowser:not(.expanded) #beachSheetToggle,#view-beaches .beachBrowser:not(.expanded) #beachLoadStatus{font-size:var(--cg-meta);line-height:1.5}
[data-pali-surface="field"] :is(.primary-link,.secondary-link,.field-header nav a){font-size:var(--cg-control);line-height:1.5;letter-spacing:0}
[data-pali-surface="field"] :is(.header-state,.header-state strong){font-size:var(--cg-meta);line-height:1.5}
[data-pali-surface="field"] .state-code{font-size:var(--cg-meta);line-height:1.5}
[data-pali-surface="field"] .access-state h1{max-width:24ch;font-size:40px;line-height:1.15;margin-bottom:20px}
[data-pali-surface="media"] :is(.film-ledger>div,.film-ledger>span,.film-register>header span,.film-register__intro dd,.film-tile__copy>span,.film-rights){font-size:var(--cg-meta);line-height:1.5;letter-spacing:0}
[data-pali-surface="media"] .film-register>header a{font-size:var(--cg-control);line-height:1.5;letter-spacing:0}
[data-pali-surface="media"] .film-ledger>div{flex-wrap:wrap}
[data-pali-surface="media"] .film-ledger p{white-space:normal;overflow:visible;text-overflow:clip}
@media(max-width:920px){[data-pali-surface="media"] .film-viewer{height:auto;grid-template-rows:auto minmax(200px,34svh) auto}}
@media(max-width:760px){
 [data-pali-surface="field"] .access-state h1{font-size:32px}
 .trailConditions__mudCard{grid-template-columns:1fr}
}

/* Finish review: keep coordinates and catalog counts in the measured-data face. */
.guideContent .copyRow .copyCoordinate{font-family:var(--cg-number);font-weight:400;font-variant-numeric:tabular-nums lining-nums}
[data-pali-surface="media"] .film-register__intro dt{font-family:var(--cg-number);font-weight:400;font-variant-numeric:tabular-nums lining-nums}
