:root {
  --pico-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pico-font-size: 100%; --pico-line-height: 1.45; --pico-border-radius: .15rem;
  --pico-background-color: #f5f7f3; --pico-color: #17221e; --pico-muted-color: #53635b;
  --pico-primary: #175e4d; --pico-primary-hover: #0f493c; --pico-primary-focus: rgba(23,94,77,.16);
  --pico-primary-background: var(--green); --pico-primary-border: var(--green); --pico-primary-inverse: var(--bright);
  --pico-primary-hover-background: var(--deep); --pico-primary-hover-border: var(--deep);
  --pico-form-element-active-border-color: var(--green); --pico-form-element-focus-color: var(--pico-primary-focus); --pico-form-element-selected-background-color: var(--green);
  --paper: #f5f7f3; --bright: #fbfcf9; --ink: #17221e; --muted: #53635b;
  --line: #ccd5cf; --line-dark: #9baaa1; --green: #175e4d; --deep: #0d4135;
  --water: #5e8790; --sun: #e8b45f; --favorable: #dceade; --mixed: #efe4c7; --unfavorable: #eadbd5;
  --amber: #b87520; --favorable-end: #edf4ed; --mixed-end: #f7f1e2; --unfavorable-end: #f3e9e5;
  --unavailable: #f1eee7; --orientation: #e8f0eb;
  --secondary-ink: #405049; --atmosphere: rgba(184,213,208,.25);
  --mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
}

:root[data-palette="signal"] {
  --pico-background-color: #f8f1df; --pico-color: #102e2a; --pico-muted-color: #52665e;
  --pico-primary: #007a5e; --pico-primary-hover: #005f49; --pico-primary-focus: rgba(0,122,94,.2);
  --paper: #f8f1df; --bright: #fffaf0; --ink: #102e2a; --muted: #52665e;
  --line: #b8c9be; --line-dark: #7f9a8e; --green: #007a5e; --deep: #005a46;
  --water: #147f9a; --sun: #ffad1f; --favorable: #cfeedd; --mixed: #ffe4a3; --unfavorable: #f5c7ba;
  --secondary-ink: #294c44; --atmosphere: rgba(20,127,154,.2);
}

:root[data-palette="channel"] {
  --pico-background-color: #edf8f6; --pico-color: #0b2933; --pico-muted-color: #46656a;
  --pico-primary: #00766d; --pico-primary-hover: #005a54; --pico-primary-focus: rgba(0,118,109,.22);
  --paper: #edf8f6; --bright: #fffdf8; --ink: #0b2933; --muted: #46656a;
  --line: #b8d9d6; --line-dark: #72aaa7; --green: #007d63; --deep: #00594f;
  --water: #1689ad; --sun: #f47b35; --favorable: #c8f1dc; --mixed: #ffe09a; --unfavorable: #ffcfc4;
  --amber: #b85b18; --favorable-end: #e5f8e9; --mixed-end: #fff2c9; --unfavorable-end: #ffebe5;
  --unavailable: #e9f0ed; --orientation: #d7f0ec;
  --secondary-ink: #294f58; --atmosphere: rgba(22,137,173,.28);
}

/*
 * Pico repeats its light-theme defaults with a more-specific selector. Match
 * that level once so every present and future primary control uses Ketron's
 * palette instead of quietly reverting to Pico blue.
 */
:root:not([data-theme="dark"]) {
  --pico-primary: var(--green);
  --pico-primary-hover: var(--deep);
  --pico-primary-focus: color-mix(in srgb, var(--green) 22%, transparent);
  --pico-primary-background: var(--green);
  --pico-primary-border: var(--green);
  --pico-primary-inverse: var(--bright);
  --pico-primary-hover-background: var(--deep);
  --pico-primary-hover-border: var(--deep);
  --pico-form-element-active-border-color: var(--green);
  --pico-form-element-focus-color: var(--pico-primary-focus);
  --pico-form-element-selected-background-color: var(--green);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 92% 3%,var(--atmosphere),transparent 25rem),var(--paper); }
:root[data-palette="channel"] body { background:radial-gradient(circle at 92% 3%,rgba(22,137,173,.3),transparent 27rem),radial-gradient(circle at 4% 72%,rgba(244,123,53,.13),transparent 24rem),var(--paper); }
a { text-underline-offset: .2em; }
.skip-link { background:var(--ink); color:var(--bright); left:.75rem; padding:.6rem .85rem; position:fixed; top:.75rem; transform:translateY(-200%); z-index:1000; }
.skip-link:focus { transform:none; }
.container { width: min(1160px,calc(100% - 2.5rem)); margin-inline: auto; }

.site-header { display:flex; align-items:center; justify-content:space-between; min-height:5.25rem; border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; align-items:baseline; gap:.24rem; color:var(--ink); font-size:1.22rem; letter-spacing:-.045em; text-decoration:none; }
.wordmark span { font-weight:500; }
.wordmark-heart { color:var(--sun); font-family:var(--serif); font-size:.7em; font-style:normal; letter-spacing:0; margin-left:.04em; position:relative; top:-.08em; }
.site-header nav { display:flex; gap:clamp(1rem,3vw,2.4rem); }
.site-header nav a { border-bottom:1px solid transparent; color:var(--muted); font-size:.78rem; font-weight:600; letter-spacing:.08em; padding:.4rem 0; text-decoration:none; text-transform:uppercase; }
.site-header nav a:hover,.site-header nav a[aria-current="page"] { border-color:var(--green); color:var(--ink); }

.day-navigation { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; min-height:4rem; }
.day-navigation nav { display:flex; }
.day-sections { gap:clamp(.9rem,2.5vw,1.8rem); }
.day-sections a { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.day-sections a:hover { color:var(--green); text-decoration:underline; }
.day-heading { display:flex; align-items:end; justify-content:space-between; padding-block:clamp(3rem,8vw,6.75rem) clamp(2.5rem,6vw,4.5rem); }
.day-heading hgroup,.field-notes-heading hgroup { margin:0; }
.day-switch { gap:1.4rem; justify-content:flex-start; width:max-content; }
.day-switch a { border-bottom:1px solid transparent; color:var(--muted); font-family:var(--mono); font-size:.66rem; font-weight:600; letter-spacing:.1em; padding-bottom:.25rem; text-decoration:none; text-transform:uppercase; }
.day-switch a:hover,.day-switch a[aria-current="page"] { border-color:var(--green); color:var(--green); }
.eyebrow,.section-label p,.source-note { color:var(--muted); font-family:var(--mono); font-size:.66rem; font-weight:500; letter-spacing:.12em; margin:0 0 .55rem; text-transform:uppercase; }
.day-heading h1 { color:var(--ink); font-family:var(--serif); font-size:clamp(4.5rem,12vw,9rem); font-weight:400; letter-spacing:-.065em; line-height:.75; margin:0; }
.conditions { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.2rem,2.5vw,1.65rem); margin:1.65rem 0 0; }
.context-tools { align-items:flex-end; display:flex; flex-direction:column; gap:.65rem; }
.context-switch { align-items:center; border:1px solid var(--line); display:flex; font-size:.7rem; margin-bottom:.25rem; }
.context-switch span,.context-switch a { padding:.55rem .7rem; }
.context-switch span,.context-switch a[aria-current="page"] { background:var(--ink); color:var(--bright); }
.context-switch a { color:var(--muted); text-decoration:none; }
.live-freshness { color:var(--muted); font-family:var(--mono); font-size:.58rem; letter-spacing:.06em; margin:0; text-transform:uppercase; }
.live-freshness time { color:var(--ink); }

.island-day { background:var(--bright); border-block:1px solid var(--line); padding-block:1.5rem 1.1rem; }
.section-label { align-items:baseline; display:flex; justify-content:space-between; }
.section-label h2 { font-size:.9rem; font-weight:650; letter-spacing:-.01em; margin:0; }
.section-label p { margin:0; }
.timeline { height:9.75rem; margin-top:2.5rem; position:relative; }
.timeline::before { background:var(--line-dark); content:""; height:1px; left:0; position:absolute; right:0; top:3.25rem; }
.daylight-band { background:linear-gradient(90deg,rgba(232,180,95,.15),rgba(232,180,95,.42),rgba(232,180,95,.12)); height:1rem; left:var(--daylight-left,8%); position:absolute; right:var(--daylight-right,11%); top:2.75rem; }
.timeline-event { display:flex; flex-direction:column; left:var(--position); position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
.timeline-event .event-mark { background:var(--bright); border:2px solid var(--water); border-radius:50%; height:.75rem; margin:.85rem auto .9rem; order:2; width:.75rem; z-index:1; }
.timeline-event time { font-family:var(--mono); font-size:.72rem; font-weight:500; order:1; text-align:center; }
.timeline-event small { color:var(--muted); font-size:.68rem; order:3; text-align:center; }
.timeline-event.crossing .event-mark,.timeline-event.return .event-mark { background:var(--green); border-color:var(--green); border-radius:1px; transform:rotate(45deg); }
.timeline-event.emphasized time { color:var(--green); font-weight:700; }
.timeline-event.now { color:var(--green); z-index:2; }
.timeline-event.now::after { border-left:1px solid var(--green); content:""; height:3.7rem; left:50%; opacity:.38; position:absolute; top:3.25rem; }
.timeline-event.now .event-mark { display:none; }
.timeline-event.now time { clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.timeline-event.now small { background:var(--bright); color:var(--green); font-family:var(--mono); font-size:.58rem; font-weight:700; left:50%; letter-spacing:.08em; padding:.08rem .25rem; position:absolute; text-transform:uppercase; top:7.05rem; transform:translateX(-50%); }
.timeline-event.sunrise .event-mark,.timeline-event.sunset .event-mark { background:var(--sun); border-color:var(--sun); }
.timeline-legend { display:flex; gap:1.2rem; justify-content:flex-end; }
.timeline-legend span { color:var(--muted); font-family:var(--mono); font-size:.61rem; text-transform:uppercase; }
.timeline-legend i { display:inline-block; height:.45rem; margin-right:.3rem; width:.45rem; }
.widget-unavailable { border-block:1px solid var(--line); color:var(--muted); font-family:var(--serif); font-size:1.08rem; line-height:1.45; margin:1.5rem 0 0; padding:1.5rem 0; }
.outlook.unavailable { background:var(--unavailable); }
.outlook.unavailable .assessment { border-color:var(--muted); color:var(--muted); }
.outlook.orientation { background:var(--orientation); }
.legend-crossing { background:var(--green); transform:rotate(45deg); }
.legend-tide { border:1px solid var(--water); border-radius:50%; }
.legend-daylight { background:var(--sun); border-radius:50%; }

.dashboard { display:grid; grid-template-columns:1.35fr 1fr; margin-block:3rem 5rem; }
.dashboard>* { border:1px solid var(--line); margin:-1px 0 0 -1px; padding:clamp(1.35rem,3.5vw,2.4rem); }
.dashboard article { border-radius:0; box-shadow:none; }
.outlook { background:linear-gradient(145deg,var(--favorable),var(--favorable-end) 75%); }
.outlook.mixed { background:linear-gradient(145deg,var(--mixed),var(--mixed-end) 75%); }
.outlook.unfavorable { background:linear-gradient(145deg,var(--unfavorable),var(--unfavorable-end) 75%); }
.outlook-lead { margin-bottom:3rem; }
.outlook-lead .outlook { border:1px solid var(--line); border-radius:0; box-shadow:none; display:grid; gap:0 clamp(2rem,6vw,6rem); grid-template-columns:minmax(15rem,.8fr) minmax(20rem,1.2fr); margin:0; padding:clamp(1.5rem,4vw,3rem); }
.outlook-lead .outlook header { grid-column:1/-1; }
.outlook-lead .outlook h2 { grid-row:2/span 3; }
.outlook-lead .outlook .lede { margin-top:0; }
.outlook-lead .outlook .reasons { margin-top:1rem; }
.outlook header,.field-note header { align-items:center; background:none; display:flex; justify-content:space-between; margin:0 0 2.3rem; padding:0; }
.outlook header { border-bottom:0; }
.outlook .eyebrow,.field-note .eyebrow { margin:0; }
.assessment { border:1px solid currentColor; color:var(--deep); font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; padding:.35rem .5rem; text-transform:uppercase; }
.mixed .assessment { color:#795f25; }
.unfavorable .assessment { color:#84483f; }
.outlook h2 { font-family:var(--serif); font-size:clamp(2.2rem,5vw,3.7rem); font-weight:400; letter-spacing:-.04em; line-height:1; margin:0; max-width:10ch; }
.lede { color:var(--secondary-ink); font-family:var(--serif); font-size:1.23rem; line-height:1.45; max-width:40rem; }
.reasons { border-top:1px solid rgba(23,34,30,.16); list-style:none; margin:2rem 0 0; padding:1.25rem 0 0; }
.reasons li { list-style:none; margin:.5rem 0; padding-left:1.25rem; position:relative; }
.reasons li::marker { content:""; }
.reasons li::before { color:var(--green); content:"—"; left:0; position:absolute; }
.best-window { align-items:baseline; background:none; border-top:1px solid rgba(23,34,30,.16); display:grid; grid-template-columns:1fr auto; margin:2.25rem 0 0; padding:1.25rem 0 0; }
.best-window span,.best-window small { color:var(--muted); font-family:var(--mono); font-size:.64rem; letter-spacing:.06em; text-transform:uppercase; }
.best-window strong { font-family:var(--mono); font-size:.95rem; }
.best-window small { grid-column:2; margin-top:.25rem; }
.best-window.unavailable strong { color:var(--muted); font-size:.78rem; }

.compact { border-bottom:1px solid var(--line); margin-bottom:1.4rem; padding-bottom:.8rem; }
.weather-reading { align-items:center; display:grid; gap:2rem; grid-template-columns:auto 1fr; }
.temperature { font-family:var(--serif); font-size:4.25rem; letter-spacing:-.07em; line-height:1; }
.temperature-range { color:var(--muted); font-family:var(--mono); }
.weather-reading p { font-family:var(--serif); font-size:1.15rem; line-height:1.3; margin:0; }
.condition-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:1.75rem 0; }
.condition-facts div { border-left:1px solid var(--line); padding-left:.75rem; }
.condition-facts dt,.hour-strip time { color:var(--muted); font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; }
.condition-facts dd { font-size:.8rem; margin:.3rem 0 0; }
.hour-strip { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); padding-top:1rem; }
.hour-strip div { display:flex; flex-direction:column; gap:.2rem; }
.hour-strip b { font-family:var(--mono); font-size:.82rem; }
.hour-strip span { color:var(--muted); font-size:.65rem; }

.crossing-list,.tide-list { list-style:none; margin:0; padding:0; }
.ferry-service-day { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:.75rem; margin-bottom:.75rem; padding:0 0 .7rem; }
.ferry-service-day strong,.ferry-service-day small { display:block; }
.ferry-service-day strong { font-size:.77rem; }
.ferry-service-day small { color:var(--muted); font-size:.67rem; margin-top:.15rem; }
.ferry-service-day.extra-service { border-left:3px solid var(--sun); padding-left:.75rem; }
.service-day-glyph { font-size:1.25rem; line-height:1; }
.ferry-approach { background:color-mix(in srgb,var(--water) 8%,transparent); border:1px solid var(--line); margin:0 0 1rem; padding:1rem; }
.ferry-approach figcaption { display:grid; gap:.12rem; }
.ferry-approach figcaption .eyebrow { margin-bottom:.2rem; }
.ferry-approach figcaption strong { font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.ferry-approach figcaption>span:last-child { color:var(--muted); font-size:.72rem; }
.ferry-route { height:6.3rem; margin:.8rem .25rem .55rem; position:relative; }
.ferry-route-lines { height:100%; inset:0; overflow:visible; position:absolute; width:100%; }
.ferry-route-lines path { fill:none; opacity:.55; stroke:var(--water); stroke-width:.45; vector-effect:non-scaling-stroke; }
.ferry-marker { height:1.15rem; left:var(--vessel-x); position:absolute; top:var(--vessel-y); transform:translate(-50%,-58%); width:1.45rem; z-index:2; }
.ferry-marker-icon { display:block; height:100%; overflow:visible; width:100%; }
.ferry-marker-icon .ferry-cabin,.ferry-marker-icon .ferry-hull { fill:var(--ink); }
.ferry-marker-icon .ferry-windows { fill:var(--orientation); }
.ferry-marker-icon .ferry-wake { fill:none; stroke:var(--water); stroke-linecap:round; stroke-width:1.25; }
.ferry-route ol { height:100%; list-style:none; margin:0; padding:0; position:relative; }
.ferry-route li { position:absolute; transform:translate(-50%,-.325rem); }
.ferry-route li.anderson { left:8%; top:12%; }
.ferry-route li.ketron { left:62%; top:76%; }
.ferry-route li.steilacoom { left:92%; top:33%; }
.ferry-route li>span { background:var(--paper); border:1px solid var(--water); border-radius:50%; display:block; height:.65rem; margin-bottom:.35rem; width:.65rem; }
.ferry-route li>span { margin-inline:auto; }
.ferry-route small { color:var(--muted); font-family:var(--mono); font-size:.55rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.ferry-approach-facts { align-items:baseline; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; font-size:.7rem; gap:.4rem 1rem; margin:0; padding-top:.7rem; }
.ferry-approach-facts data { font-weight:600; }
.ferry-approach-facts a { margin-left:auto; }
.ferry-approach .source-note { font-size:.56rem; margin-top:.55rem; }
.ferry-location-idle { background:color-mix(in srgb,var(--water) 5%,transparent); border-bottom:1px solid var(--line); border-left:3px solid var(--water); margin:0 0 1rem; padding:.72rem .7rem; }
.ferry-location-idle .eyebrow { margin-bottom:.2rem; }
.ferry-location-idle strong,.ferry-location-idle>span { display:block; }
.ferry-location-idle strong { font-size:.77rem; font-weight:650; }
.ferry-location-idle>span { color:var(--muted); font-size:.67rem; margin-top:.1rem; }
.next-day-crossing { background:rgba(232,180,95,.12); border-left:3px solid var(--sun); margin:0 0 1rem; padding:.75rem 1rem; }
.next-day-crossing p { margin:0 0 .25rem; }
.next-day-crossing strong,.next-day-crossing small { display:block; }
.next-day-crossing small { color:var(--muted); font-size:.67rem; margin-top:.15rem; }
.crossing-list li,.tide-list li { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:1rem; grid-template-columns:5rem 1fr auto; padding:.72rem 0; }
.crossing-list li.next-crossing { background:rgba(232,180,95,.12); box-shadow:inset 3px 0 var(--sun); padding-inline:.7rem; }
.crossing-list time,.tide-list time { font-family:var(--mono); font-size:.78rem; font-weight:500; }
.crossing-list b,.tide-list b { display:block; font-size:.77rem; }
.crossing-list small,.tide-list small { color:var(--muted); display:block; font-size:.67rem; }
.crossing-tide { margin-top:.2rem; }
.crossing-tide.trailer-caution { color:#9b3d32; font-weight:600; }
.crossing-status { display:flex; flex-direction:column; text-align:right; }
.crossing-status small { margin-top:.2rem; }
.status-dot { color:var(--muted); font-size:.62rem; }
.status-dot::before { background:#4d8b5c; border-radius:50%; content:""; display:inline-block; height:.42rem; margin-right:.35rem; width:.42rem; }
.status-delayed::before,.status-advisory::before { background:var(--amber); }
.status-cancelled { color:#9b3d32; }
.status-cancelled::before { background:#9b3d32; }
.source-note { margin:1rem 0 0; text-transform:none; }
.ferry-panel-footer { align-items:baseline; background:none; display:flex; flex-wrap:wrap; gap:.65rem 1.5rem; justify-content:space-between; margin-top:1rem; padding:0; }
.ferry-panel-footer .source-note { margin:0; }
.ferry-panel-footer>a { font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; white-space:nowrap; }
.ferry-alert { border-left:2px solid var(--amber); margin-top:1rem; padding:.2rem 0 .2rem .8rem; }
.ferry-alert strong { font-size:.74rem; }
.ferry-alert p { color:var(--muted); font-size:.72rem; margin:.25rem 0 0; }
.tide-list li { grid-template-columns:2rem 1fr auto; }
.tide-direction { color:var(--water); font-family:var(--serif); font-size:1.6rem; }
.tide-advisory { border-left:2px solid var(--amber); color:var(--muted); font-size:.72rem; margin:1rem 0 0; padding:.25rem 0 .25rem .8rem; }
.crossing-tide-advisory strong { color:var(--ink); }
.crossing-tide-clear { border-left:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:.56rem; letter-spacing:.035em; margin:1rem 0 0; padding:.2rem 0 .2rem .8rem; }
.crossing-tide-clear strong { color:var(--ink); font-weight:500; text-transform:uppercase; }

.camera-panel { grid-column:1/-1; }
.camera-grid { display:grid; gap:1px; grid-template-columns:repeat(4,1fr); }
.camera { background:var(--ink); color:var(--bright); overflow:hidden; text-decoration:none; }
.camera figure { margin:0; }
.camera img { aspect-ratio:16/9; display:block; filter:saturate(.72) contrast(1.04); height:auto; object-fit:cover; transition:filter .18s ease,opacity .18s ease; width:100%; }
.camera:hover img { filter:saturate(1) contrast(1.04); opacity:.9; }
.camera figcaption { align-items:baseline; display:flex; justify-content:space-between; padding:.75rem .8rem .85rem; }
.camera figcaption strong { color:var(--bright); font-size:.72rem; font-weight:600; }
.camera figcaption small { color:#a8b6af; font-family:var(--mono); font-size:.58rem; letter-spacing:.04em; text-transform:uppercase; }
.camera-source { margin-bottom:0; text-align:right; }
.camera-source a { color:inherit; }

.field-note { background:var(--ink); color:var(--bright); display:grid; grid-column:1/-1; grid-template-columns:minmax(16rem,.9fr) 1.1fr; padding:0; }
.field-note figure { margin:0; min-height:22rem; overflow:hidden; }
.field-note figure a { display:block; height:100%; }
.field-note figure picture { display:block; height:100%; }
.field-note figure img { display:block; filter:saturate(.78); height:100%; object-fit:cover; width:100%; }
.field-note-summary { align-self:stretch; display:flex; flex-direction:column; padding:clamp(1.75rem,4vw,3.5rem); }
.field-note .eyebrow,.field-note time { color:#c1ccc6; }
.field-note time { font-family:var(--mono); font-size:.62rem; text-transform:uppercase; }
.field-note h2 { color:var(--bright); font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:400; letter-spacing:-.035em; line-height:1; margin:0 0 1rem; }
.field-note .field-note-excerpt { color:var(--bright); font-family:var(--serif); font-size:clamp(1.25rem,2.5vw,1.75rem); line-height:1.35; margin:0; max-width:30ch; }
.field-note footer { background:none; margin:auto 0 0; padding:2rem 0 0; }
.field-note a { color:#cce3da; font-size:.75rem; }
.site-footer { border-top:1px solid var(--line); padding-block:2rem 4rem; }
.site-footer p { color:var(--muted); font-size:.72rem; line-height:1.6; margin:0; }
.site-footer a { color:inherit; }
.site-footer .site-footer-links { align-items:baseline; display:flex; flex-wrap:wrap; gap:.25rem 1rem; margin-bottom:.2rem; }
.footer-wordmark { align-items:baseline; display:inline-flex; font-size:.86rem; font-weight:600; gap:.18rem; letter-spacing:-.025em; text-decoration:none; }
.footer-wordmark i { color:var(--sun); font-family:var(--serif); font-size:.7em; font-style:normal; position:relative; top:-.08em; }

.about-shell { padding-block:clamp(4rem,10vw,8rem); }
.about-heading { max-width:54rem; }
.about-heading h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 2rem; }
.about-heading .lede { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.35rem,3vw,2rem); line-height:1.4; max-width:32ch; }
.about-record { border-left:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(4rem,8vw,7rem); }
.about-record>* { border-bottom:1px solid var(--line); border-right:1px solid var(--line); margin:0; padding:clamp(1.5rem,4vw,3rem); }
.about-record section { padding:0; }
.about-record section>a { color:var(--ink); display:grid; grid-template-rows:auto auto 1fr auto; height:100%; padding:clamp(1.5rem,4vw,3rem); text-decoration:none; }
.about-record section>a:hover { background:var(--bright); }
.about-record section>a:focus-visible { outline:2px solid var(--green); outline-offset:-.4rem; }
.about-record section i { color:var(--green); font-style:normal; justify-self:end; margin-top:2rem; }
.about-record h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); font-weight:400; letter-spacing:-.035em; margin:.5rem 0 1.25rem; }
.about-record section>a>p:nth-of-type(2),.about-record aside>p:last-child { color:var(--secondary-ink); max-width:34rem; }
.about-record aside { background:var(--bright); grid-column:1/-1; }
.about-position { border-top:1px solid var(--line); display:grid; gap:clamp(2rem,6vw,6rem); grid-template-columns:minmax(17rem,.75fr) minmax(20rem,1.25fr); margin-top:clamp(4rem,8vw,7rem); padding-block:clamp(3rem,7vw,6rem); }
.about-position h2 { font-family:var(--serif); font-size:clamp(2.75rem,6vw,5.5rem); font-weight:400; letter-spacing:-.05em; line-height:.9; margin:.7rem 0 0; }
.about-position>div>p { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.2rem,2.3vw,1.6rem); line-height:1.5; }
.about-position>div>p:first-child { margin-top:0; }
.about-position aside { background:var(--bright); border-left:2px solid var(--sun); grid-column:2; margin:1rem 0 0; padding:1.4rem; }
.about-position aside p:last-child { color:var(--secondary-ink); font-size:.82rem; line-height:1.6; margin:0; max-width:42rem; }

.administrivia-shell { padding-block:clamp(4rem,10vw,8rem); }
.administrivia-heading { max-width:62rem; }
.administrivia-heading h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 2rem; }
.administrivia-heading .lede { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.35rem,3vw,2rem); line-height:1.4; max-width:34ch; }
.effective-date { color:var(--muted); font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; margin-top:2rem; text-transform:uppercase; }
.effective-date strong { color:var(--ink); font-weight:600; }
.administrivia-record { background:none; border-left:1px solid var(--line); border-top:1px solid var(--line); box-shadow:none; display:grid; grid-template-columns:repeat(2,1fr); margin:clamp(4rem,8vw,7rem) 0 0; padding:0; }
.administrivia-record>section { border-bottom:1px solid var(--line); border-right:1px solid var(--line); margin:0; padding:clamp(1.5rem,4vw,3rem); }
.administrivia-record h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); font-weight:400; letter-spacing:-.035em; line-height:1; margin:.5rem 0 1.25rem; }
.administrivia-record section>p:not(.eyebrow) { color:var(--secondary-ink); line-height:1.65; max-width:44rem; }
.administrivia-record aside { background:var(--bright); border-bottom:1px solid var(--line); border-right:1px solid var(--line); grid-column:1/-1; margin:0; padding:clamp(1.5rem,4vw,3rem); }
.administrivia-record aside p:last-child { color:var(--secondary-ink); line-height:1.65; margin-bottom:0; max-width:54rem; }

.error-shell { min-height:calc(100vh - 14rem); padding-block:clamp(4rem,10vw,8rem); }
.error-heading { max-width:58rem; }
.error-heading h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 2rem; }
.error-heading .lede { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.35rem,3vw,2rem); line-height:1.4; max-width:34ch; }
.error-instrument { border:1px solid var(--line); margin:clamp(4rem,8vw,7rem) 0 0; }
.error-route { align-items:center; display:grid; grid-template-columns:auto 1fr auto; min-height:11rem; padding:clamp(1.5rem,4vw,3rem); }
.error-course { border-top:1px dashed var(--water); display:block; margin-inline:1.25rem; }
.error-instrument-interrupted .error-course { border-color:var(--sun); mask:linear-gradient(90deg,#000 0 42%,transparent 42% 58%,#000 58%); }
.error-position { align-items:center; display:flex; flex-direction:column; gap:.65rem; }
.error-position i { align-items:center; background:var(--green); border-radius:50%; color:var(--bright); display:flex; font-family:var(--mono); font-size:.72rem; font-style:normal; height:1.65rem; justify-content:center; width:1.65rem; }
.error-position-missing i { background:var(--paper); border:1px solid var(--sun); color:var(--amber); }
.error-position b { color:var(--muted); font-family:var(--mono); font-size:.6rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.error-instrument figcaption { background:var(--bright); border-top:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; padding:.85rem 1rem; text-transform:uppercase; }
.error-paths { border-left:1px solid var(--line); display:grid; grid-template-columns:repeat(2,1fr); margin-top:clamp(2rem,5vw,4rem); }
.error-paths a { border-bottom:1px solid var(--line); border-right:1px solid var(--line); color:var(--ink); display:grid; min-height:11rem; padding:1.4rem; text-decoration:none; }
.error-paths a:hover { background:var(--bright); }
.error-paths span { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }
.error-paths strong { align-self:end; font-family:var(--serif); font-size:clamp(1.45rem,3vw,2.1rem); font-weight:400; line-height:1; }
.error-paths i { color:var(--green); font-style:normal; justify-self:end; }

.island-shell { padding-block:clamp(4rem,10vw,8rem); }
.island-heading { max-width:58rem; }
.island-heading h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 2rem; }
.island-heading .lede { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.35rem,3vw,2rem); line-height:1.4; max-width:30ch; }
.island-facts { border-left:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); margin:clamp(4rem,8vw,7rem) 0 0; }
.island-facts div { border-bottom:1px solid var(--line); border-right:1px solid var(--line); padding:1.25rem; }
.island-facts dt { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; margin-bottom:1rem; text-transform:uppercase; }
.island-facts dd { color:var(--ink); font-family:var(--serif); font-size:1.15rem; line-height:1.3; margin:0; }
.island-map { border:1px solid var(--line); margin:clamp(4rem,8vw,7rem) 0 0; overflow:hidden; }
.island-map iframe { border:0; display:block; filter:grayscale(.72) saturate(.65) sepia(.08) contrast(.92); height:clamp(24rem,55vw,38rem); width:100%; }
.island-map figcaption { background:var(--bright); border-top:1px solid var(--line); color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; padding:.85rem 1rem; text-transform:uppercase; }
.island-outlook { border-bottom:1px solid var(--line); padding-top:clamp(4rem,8vw,7rem); }
.island-outlook .outlook-lead { padding-inline:0; }
.island-reading { border-bottom:1px solid var(--line); display:grid; gap:clamp(2rem,6vw,7rem); grid-template-columns:minmax(17rem,.8fr) minmax(20rem,1.2fr); padding-block:clamp(4rem,9vw,8rem); }
.island-reading h2 { font-family:var(--serif); font-size:clamp(2.3rem,5vw,4.5rem); font-weight:400; letter-spacing:-.045em; line-height:.96; margin:.7rem 0 0; }
.island-reading>div { align-self:end; }
.island-reading>div p { color:var(--secondary-ink); font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.55; }
.island-paths { border-left:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(4rem,8vw,7rem); }
.island-paths a { border-bottom:1px solid var(--line); border-right:1px solid var(--line); color:var(--ink); display:grid; min-height:13rem; padding:1.4rem; text-decoration:none; }
.island-paths a:hover { background:var(--bright); }
.island-paths span { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }
.island-paths strong { align-self:end; font-family:var(--serif); font-size:clamp(1.45rem,3vw,2.1rem); font-weight:400; line-height:1; }
.island-paths i { color:var(--green); font-style:normal; justify-self:end; }

.prototype-page main { padding-block:clamp(3rem,10vw,8rem); }
.prototype-page .eyebrow { margin-top:5rem; }
.prototype-page h1 { font-family:var(--serif); font-size:clamp(3rem,8vw,6rem); font-weight:400; letter-spacing:-.055em; line-height:.95; margin:0; max-width:12ch; }
.prototype-page .lede { max-width:38rem; }
.prototype-grid { border-left:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(2,1fr); margin-top:4rem; }
.prototype-grid>* { border-bottom:1px solid var(--line); border-right:1px solid var(--line); display:grid; gap:.45rem; min-height:12rem; padding:1.5rem; text-decoration:none; }
.prototype-grid a { color:var(--ink); }
.prototype-grid a:hover { background:var(--bright); }
.prototype-grid strong { align-self:end; font-family:var(--serif); font-size:2rem; font-weight:400; }
.prototype-grid small,.prototype-number { color:var(--muted); font-family:var(--mono); font-size:.68rem; }
.prototype-coming { opacity:.5; }

.field-notes-heading { padding-block:clamp(4rem,10vw,8.5rem) clamp(3rem,7vw,5.5rem); }
.field-notes-heading h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.6rem 0 2rem; }
.field-notes-heading .lede { color:var(--muted); max-width:36rem; }
.field-notes-record-nav { border-block:1px solid var(--line); display:flex; gap:clamp(1.5rem,5vw,4rem); margin-bottom:2rem; padding-block:.9rem; }
.field-notes-record-nav a { color:var(--muted); font-family:var(--mono); font-size:.65rem; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.field-notes-record-nav a[aria-current="page"] { color:var(--green); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.45rem; }
.field-notes-record-nav .reader-circle-link { color:var(--green); margin-left:auto; white-space:nowrap; }
.field-note-interval { align-items:baseline; border-top:1px solid var(--line); display:flex; justify-content:space-between; padding-block:1.1rem 1.25rem; }
.field-note-interval .eyebrow { margin:0; }
.field-note-interval .eyebrow a { color:var(--green); }
.field-note-interval>p:last-child { color:var(--secondary-ink); font-family:var(--serif); margin:0; }
.field-notes-index { border-left:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(2,1fr); margin-bottom:clamp(4rem,10vw,8rem); padding:0; }
.field-note-card { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; border-right:1px solid var(--line); box-shadow:none; margin:0; padding:0; }
.field-note-card>a { color:var(--ink); display:block; height:100%; text-decoration:none; }
.field-note-card>a>div { display:flex; flex-direction:column; min-height:25rem; padding:clamp(1.5rem,4vw,3rem); }
.field-note-card figure { margin:0; }
.field-note-card picture,.field-note-image picture,.current-field-note-image picture,.operator-note picture { display:block; }
.field-note-card img { aspect-ratio:3/2; display:block; filter:saturate(.72); height:auto; object-fit:cover; width:100%; }
.field-note-card time,.field-note-entry time { color:var(--muted); font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }
.field-note-card h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:400; letter-spacing:-.04em; line-height:.98; margin:auto 0 1.2rem; max-width:11ch; }
.field-note-excerpt { color:var(--secondary-ink); font-family:var(--serif); font-size:1.18rem; line-height:1.45; margin:0; max-width:32rem; }
.field-note-card .field-note-excerpt p { margin:0; }
.field-note-card .field-note-excerpt p+p { margin-top:.75rem; }
.field-note-link { color:var(--green); font-size:.72rem; font-weight:600; margin-top:2.25rem; text-transform:uppercase; }
.field-note-link i { font-style:normal; margin-left:.35rem; }
.field-note-card a:hover { background:var(--bright); }
.field-note-card.veiled { background:color-mix(in srgb,var(--orientation) 68%,transparent); }
.field-note-veil-mark { display:block; height:7rem; margin:auto 0 1.5rem; overflow:hidden; position:relative; width:min(100%,18rem); }
.field-note-veil-mark i { background:linear-gradient(100deg,var(--green),var(--water) 42%,var(--mixed) 76%,var(--orange)); filter:blur(18px); inset:.8rem; opacity:.62; position:absolute; transform:scale(1.18); }
.veiled-field-note h2 { margin:0 0 1.2rem; }
.field-notes-empty { color:var(--muted); font-family:var(--serif); font-size:1.5rem; grid-column:1/-1; margin:0; padding:4rem; }
.elsewhere-index { border-top:1px solid var(--line-dark); margin-bottom:clamp(4rem,10vw,8rem); padding:0; }
.elsewhere-card { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; display:grid; gap:.8rem; grid-template-columns:minmax(10rem,.35fr) minmax(18rem,1fr) auto; margin:0; padding:clamp(1.5rem,4vw,2.75rem) 0; }
.elsewhere-card header { align-self:start; background:none; margin:0; padding:0; }
.elsewhere-card header .eyebrow { margin:0; }
.elsewhere-card .field-note-disposition { display:block; margin-top:.6rem; }
.elsewhere-card .elsewhere-source { align-self:start; grid-column:1; grid-row:2; }
.elsewhere-card h2 { font-family:var(--serif); font-size:clamp(1.75rem,3.5vw,3rem); font-weight:400; grid-column:2; grid-row:1/3; letter-spacing:-.035em; line-height:1; margin:0; }
.elsewhere-card h2 a { color:var(--ink); text-decoration:none; }
.elsewhere-card>p:not(.elsewhere-source) { color:var(--muted); font-size:.82rem; grid-column:2; margin:1rem 0 0; max-width:42rem; }
.elsewhere-card footer { align-self:start; background:none; grid-column:3; grid-row:1/3; margin:0; padding:0; }
.elsewhere-card footer a { font-family:var(--mono); font-size:.62rem; letter-spacing:.05em; text-transform:uppercase; }
.elsewhere-source { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; margin:0; text-transform:uppercase; }
.elsewhere-entry { padding-block:clamp(3rem,8vw,7rem); }
.elsewhere-entry>article { margin:0 auto; max-width:58rem; }
.elsewhere-entry>article>header { background:none; margin:0; padding:0; }
.elsewhere-entry h1 { font-family:var(--serif); font-size:clamp(3.5rem,8vw,7rem); font-weight:400; letter-spacing:-.06em; line-height:.88; margin:1.5rem 0 clamp(3rem,7vw,5rem); }
.elsewhere-entry .elsewhere-source { margin-top:1rem; }
.elsewhere-annotation { border-block:1px solid var(--line); padding:clamp(2rem,5vw,4rem) 0; }
.elsewhere-annotation p { font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.15rem); line-height:1.5; margin:0; max-width:32ch; }
.elsewhere-entry>article>footer { align-items:baseline; background:none; display:flex; justify-content:space-between; margin:0; padding:1.5rem 0 0; }
.elsewhere-original { font-family:var(--serif); font-size:1.25rem; }
.elsewhere-entry>article>footer small { color:var(--muted); font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase; }

.field-note-entry { padding-block:clamp(3rem,8vw,7rem); }
.field-note-entry>header { background:none; margin:0 auto clamp(2.5rem,6vw,5rem); max-width:54rem; padding:0; }
.field-note-back { color:var(--muted); display:inline-block; font-family:var(--mono); font-size:.66rem; letter-spacing:.07em; margin-bottom:clamp(3rem,8vw,7rem); text-decoration:none; text-transform:uppercase; }
.field-note-entry>header .eyebrow { margin-bottom:.5rem; }
.field-note-entry h1 { font-family:var(--serif); font-size:clamp(3.5rem,9vw,7.5rem); font-weight:400; letter-spacing:-.06em; line-height:.85; margin:1.5rem 0 0; max-width:11ch; }
.field-note-position { border-block:1px solid var(--line); margin:0 auto clamp(2.5rem,6vw,5rem); max-width:54rem; padding:.9rem 0; }
.field-note-position>div { align-items:baseline; display:grid; gap:1rem; grid-template-columns:5rem 1fr; }
.field-note-position dt { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }
.field-note-position dd { margin:0; }
.field-note-position dd>a { font-family:var(--mono); font-size:.7rem; letter-spacing:.035em; }
.field-note-position dd small { color:var(--muted); display:block; font-family:var(--mono); font-size:.56rem; letter-spacing:.06em; margin-top:.25rem; text-transform:uppercase; }
.field-note-image { margin:0 auto clamp(3rem,7vw,6rem); max-width:72rem; }
.field-note-image img { display:block; filter:saturate(.78) contrast(1.02); height:auto; width:100%; }
.field-note-body { margin:0 auto; max-width:46rem; }
.field-note-body p { font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.15rem); line-height:1.5; }
.field-note-entry>footer { align-items:center; background:none; border-top:1px solid var(--line); display:flex; justify-content:space-between; margin:clamp(3rem,7vw,6rem) auto 0; max-width:46rem; padding:1.25rem 0 0; }
.field-note-entry>footer span { color:var(--muted); font-family:var(--mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.field-note-entry>footer a { font-size:.75rem; }
.veiled-entry-notice { border-block:1px solid var(--line); margin:0 auto; max-width:46rem; padding:clamp(2rem,5vw,4rem) 0; }
.veiled-entry-notice>p:last-child { font-family:var(--serif); font-size:clamp(1.5rem,3vw,2.15rem); line-height:1.45; margin:0; max-width:30rem; }
.veiled-entry-notice .operator-sign-in { margin-top:2rem; }
.field-note-disposition { color:var(--water); font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; margin:.55rem 0 0; text-transform:uppercase; }
.circle-status { align-items:center; background:var(--orientation); border:1px solid var(--line); display:flex; gap:1rem; justify-content:space-between; margin-bottom:2rem; padding:1rem 1.2rem; }
.circle-status p { margin:0; }
.circle-status p+p { margin-top:.35rem; }
.circle-status p { font-size:.78rem; }
.circle-status>a { flex:none; font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.circle-invitation { min-height:calc(100vh - 15rem); padding-block:clamp(4rem,10vw,8rem); }
.circle-invitation h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 3rem; }
.circle-invitation-copy { border-top:1px solid var(--line-dark); max-width:42rem; padding-top:1.5rem; }
.circle-invitation-copy>p { color:var(--secondary-ink); font-family:var(--serif); font-size:1.25rem; max-width:34rem; }
.circle-invitation-copy .operator-sign-in { margin-top:1rem; }
.circle-account { padding-block:clamp(4rem,10vw,8rem); }
.circle-account>header { margin-bottom:clamp(4rem,9vw,7rem); }
.circle-account h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 2rem; }
.circle-account .lede { color:var(--muted); }
.circle-account>section { border-top:1px solid var(--line-dark); display:grid; gap:clamp(2rem,7vw,6rem); grid-template-columns:minmax(14rem,.8fr) minmax(18rem,1.2fr); padding-block:clamp(2rem,5vw,4rem); }
.circle-account h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,3.25rem); font-weight:400; letter-spacing:-.035em; line-height:1; margin:.5rem 0 1rem; }
.circle-account section p:not(.eyebrow) { color:var(--secondary-ink); max-width:34rem; }
.circle-account-facts { margin:0; }
.circle-account-facts>div { align-items:baseline; border-bottom:1px solid var(--line); display:grid; gap:1rem; grid-template-columns:7rem 1fr; padding:.85rem 0; }
.circle-account-facts dt { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; }
.circle-account-facts dd { margin:0; overflow-wrap:anywhere; }
.circle-account-session form { align-self:end; justify-self:start; margin:0; }
.circle-account-session button { margin:0; width:auto; }
.circle-account-return { border-top:1px solid var(--line); margin:0; padding-top:1.25rem; }
.circle-account-return a { font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; }

.operator-shell { min-height:calc(100vh - 15rem); padding-block:clamp(4rem,10vw,8rem); }
.operator-shell h1 { font-family:var(--serif); font-size:clamp(4rem,10vw,8rem); font-weight:400; letter-spacing:-.065em; line-height:.82; margin:.7rem 0 2rem; }
.operator-shell .lede { color:var(--muted); margin-bottom:3rem; }
.operator-sign-in { border:1px solid var(--green); display:inline-flex; gap:2rem; justify-content:space-between; min-width:min(100%,22rem); padding:1rem 1.15rem; text-decoration:none; }
.operator-account-choice { font-family:var(--mono); font-size:.62rem; letter-spacing:.05em; margin:.8rem 0 0; text-transform:uppercase; }
.operator-unconfigured { background:var(--mixed); border:1px solid #d9c99e; max-width:36rem; padding:1.25rem; }
.operator-unconfigured p { color:var(--muted); font-size:.78rem; margin:.5rem 0 0; }
.operator-logout { margin:0; }
.operator-logout button { background:none; border:0; color:var(--muted); font-size:.7rem; letter-spacing:.08em; margin:0; padding:.4rem 0; text-transform:uppercase; }
.operator-return { color:var(--muted); font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.operator-instrument { align-items:center; border-block:1px solid var(--line); color:var(--ink); display:grid; gap:1.5rem; grid-template-columns:3rem 1fr auto; margin-top:5rem; max-width:46rem; padding:1.5rem 0; text-decoration:none; }
.operator-instrument:hover { background:var(--bright); }
.operator-instrument-secondary { border-top:0; margin-top:0; }
.operator-instrument strong,.operator-instrument small { display:block; }
.operator-instrument strong { font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.operator-instrument small,.operator-instrument>span:last-child { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; }
.operator-authoring { display:grid; gap:clamp(3rem,8vw,7rem); grid-template-columns:minmax(15rem,.72fr) minmax(22rem,1.28fr); padding-block:clamp(4rem,9vw,8rem); }
.operator-authoring>header { position:sticky; top:2rem; align-self:start; }
.operator-authoring h1 { font-family:var(--serif); font-size:clamp(3.5rem,7vw,6.5rem); font-weight:400; letter-spacing:-.06em; line-height:.84; margin:.7rem 0 2rem; }
.field-note-form { border-top:1px solid var(--line-dark); margin:0; }
.field-note-form>label,.field-note-form>.form-pair,.field-note-form>.visibility-fields { border-bottom:1px solid var(--line); margin:0; padding:1.4rem 0; }
.field-note-form label { font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }
.field-note-form label>small,.field-note-form label>span small { color:var(--muted); display:inline; font-family:var(--mono); font-size:.58rem; font-weight:400; letter-spacing:.04em; }
.field-note-form input,.field-note-form select,.field-note-form textarea { background:var(--bright); border-color:var(--line); font-family:var(--serif); font-size:1.05rem; font-weight:400; letter-spacing:0; margin:.55rem 0 0; text-transform:none; }
.field-note-form input::placeholder,.field-note-form textarea::placeholder { color:var(--muted); opacity:.48; }
.photo-drop-instruction { color:var(--secondary-ink); display:block; font-family:var(--serif); font-size:1.15rem; font-weight:400; letter-spacing:0; margin:.85rem 0 .15rem; text-transform:none; }
.field-note-form input[type="file"] { border:1px dashed var(--line-dark); color:var(--muted); cursor:copy; font-family:var(--mono); font-size:.72rem; min-height:5.25rem; padding:.65rem; transition:background-color .16s ease,border-color .16s ease; width:100%; }
.field-note-form input[type="file"]:hover { background:var(--orientation); border-color:var(--green); }
.field-note-form input[type="file"]:focus-visible { border-color:var(--green); box-shadow:0 0 0 .2rem var(--pico-primary-focus); outline:0; }
.field-note-form input[type="file"]::file-selector-button { background:var(--ink); border:1px solid var(--ink); border-radius:var(--pico-border-radius); color:var(--bright); cursor:pointer; font-family:var(--mono); font-size:.68rem; letter-spacing:.05em; margin:.15rem 1rem .15rem .15rem; padding:.85rem 1rem; text-transform:uppercase; }
.field-note-form input[type="file"]::file-selector-button:hover { background:var(--green); border-color:var(--green); }
.current-field-note-image { margin:.8rem 0 1rem; max-width:20rem; }
.current-field-note-image img { display:block; filter:saturate(.78); height:auto; width:100%; }
.form-pair { display:grid; gap:1.5rem; grid-template-columns:1fr 1fr; }
.form-pair label { margin:0; }
.position-fields { border:0; border-top:1px solid var(--line); display:grid; gap:1.5rem; grid-column:1/-1; grid-template-columns:1fr 1fr; margin:.25rem 0 0; padding:1.4rem 0 0; }
.position-fields legend { color:var(--ink); font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; margin:0 0 1rem; padding:0; text-transform:uppercase; }
.position-fields legend small { color:var(--muted); font-size:.58rem; font-weight:400; }
.position-fields .position-publication { grid-column:1/-1; }
.visibility-fields { border:0; display:grid; gap:.65rem; }
.visibility-fields legend { color:var(--ink); font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; margin-bottom:.85rem; text-transform:uppercase; }
.visibility-fields legend small { color:var(--muted); font-size:.58rem; font-weight:400; }
.visibility-fields label { align-items:flex-start; background:var(--bright); border:1px solid var(--line); box-sizing:border-box; display:grid; gap:.85rem; grid-template-columns:auto 1fr; margin:0; padding:1rem; text-transform:none; width:100%; }
.visibility-fields label:has(input:checked) { border-color:var(--green); }
.visibility-fields input { margin:.2rem 0 0; }
.visibility-fields strong,.visibility-fields small { display:block; }
.visibility-fields strong { color:var(--ink); font-family:var(--serif); font-size:1.05rem; font-weight:500; letter-spacing:0; }
.visibility-fields label span small { line-height:1.45; margin-top:.2rem; text-transform:none; }
.photo-capture-reading { background:var(--orientation); border-left:2px solid var(--water); grid-column:1/-1; margin:0; padding:1rem; }
.photo-capture-reading .eyebrow { margin-bottom:.35rem; }
.photo-capture-reading strong,.photo-capture-reading small { display:block; }
.photo-capture-reading strong { color:var(--ink); font-family:var(--serif); font-size:1.15rem; font-weight:500; }
.photo-capture-reading small { color:var(--muted); font-family:var(--mono); font-size:.62rem; margin-top:.25rem; }
.field-note-form footer { align-items:center; background:none; display:flex; justify-content:space-between; margin:0; padding:1.5rem 0 0; }
.field-note-form footer p { color:var(--muted); font-size:.72rem; margin:0; }
.field-note-form footer button { margin:0; width:auto; }
.form-errors { background:var(--mixed); border:1px solid #d9c99e; margin:1.4rem 0 0; padding:1.1rem; }
.form-errors ul { margin:.5rem 0 0; padding-left:1.2rem; }
.form-errors li { font-size:.75rem; margin:.2rem 0; }
.field-note-filed { background:var(--favorable); border:1px solid #bed1c1; font-family:var(--mono); font-size:.68rem; letter-spacing:.05em; margin:0 auto 3rem; max-width:54rem; padding:.85rem 1rem; text-transform:uppercase; }
.operator-desk { padding-block:clamp(4rem,9vw,8rem) 0; }
.operator-desk-heading { align-items:end; background:none; display:flex; justify-content:space-between; margin:0 0 clamp(3rem,7vw,5rem); padding:0; }
.operator-desk-heading h1 { font-family:var(--serif); font-size:clamp(4rem,9vw,7rem); font-weight:400; letter-spacing:-.06em; line-height:.82; margin:.7rem 0 2rem; }
.operator-desk-heading .lede { color:var(--muted); margin-bottom:0; }
.operator-desk-heading>a { margin-bottom:.35rem; width:auto; }
.operator-notice { background:var(--favorable); border:1px solid #bed1c1; font-family:var(--mono); font-size:.68rem; letter-spacing:.05em; margin:0 0 1.5rem; padding:.85rem 1rem; text-transform:uppercase; }
.operator-note-list { border-top:1px solid var(--line-dark); }
.operator-note { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; display:grid; gap:clamp(1.25rem,3vw,2.5rem); grid-template-columns:minmax(8rem,14rem) 1fr auto; margin:0; padding:1.5rem 0; }
.operator-note.withdrawn { opacity:.62; }
.operator-note figure { margin:0; }
.operator-note figure img { aspect-ratio:3/2; display:block; filter:saturate(.72); height:auto; object-fit:cover; width:100%; }
.operator-note-record { min-width:0; }
.operator-note.no-image .operator-note-record { grid-column:1/3; }
.operator-note-status { align-items:baseline; display:flex; flex-wrap:wrap; gap:.45rem 1rem; justify-content:flex-start; }
.operator-note-status span,.operator-note-status strong,.operator-note time { color:var(--muted); font-family:var(--mono); font-size:.62rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }
.operator-note-status strong { color:var(--green); }
.operator-note.withdrawn .operator-note-status strong { color:#84483f; }
.operator-note.veiled:not(.withdrawn) .operator-note-status strong { color:var(--water); }
.operator-note.circle:not(.withdrawn) .operator-note-status strong { color:var(--secondary-ink); }
.operator-note.desk:not(.withdrawn) .operator-note-status strong { color:var(--orange); }
.operator-note time { display:block; margin-top:1rem; }
.operator-note h2 { font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.5rem); font-weight:400; letter-spacing:-.035em; line-height:1; margin:.5rem 0 .8rem; }
.operator-note-record>p { color:var(--muted); font-size:.78rem; margin:0; max-width:42rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.operator-note-actions { align-items:flex-end; background:none; display:flex; flex-direction:column; gap:.6rem; justify-content:center; margin:0; padding:0; }
.operator-note-actions a,.operator-note-actions button { background:none; border:0; color:var(--green); font-family:var(--mono); font-size:.62rem; letter-spacing:.05em; margin:0; padding:.15rem 0; text-decoration:underline; text-transform:uppercase; width:auto; }
.operator-note-actions form { margin:0; }
.operator-note-actions .quiet-danger { color:#84483f; }
.operator-note-actions .quiet-restore { color:var(--green); }
.operator-desk+.site-footer { border-top:0; }
.reader-desk { padding-block:clamp(4rem,9vw,8rem) 0; }
.reader-desk-heading { align-items:end; display:grid; gap:clamp(2rem,7vw,7rem); grid-template-columns:.85fr 1.15fr; margin-bottom:clamp(3rem,7vw,5rem); }
.reader-desk-heading h1 { font-family:var(--serif); font-size:clamp(4rem,9vw,7rem); font-weight:400; letter-spacing:-.06em; line-height:.82; margin:.7rem 0 0; }
.reader-desk-heading .lede { margin:0; }
.operator-error { background:var(--unfavorable); border:1px solid #d5aaa0; font-family:var(--mono); font-size:.68rem; letter-spacing:.05em; margin:0 0 1.5rem; padding:.85rem 1rem; text-transform:uppercase; }
.reader-invitation { border-block:1px solid var(--line-dark); display:grid; gap:clamp(2rem,6vw,6rem); grid-template-columns:.8fr 1.2fr; padding:clamp(2rem,5vw,4rem) 0; }
.reader-invitation h2,.issued-invitation h2,.reader-roster h2 { font-family:var(--serif); font-size:clamp(2rem,4vw,3.25rem); font-weight:400; letter-spacing:-.04em; margin:.4rem 0 1rem; }
.reader-invitation p { color:var(--muted); max-width:28rem; }
.reader-invitation form { margin:0; }
.reader-invitation form label,.issued-invitation label { font-family:var(--mono); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }
.reader-invitation form button { width:auto; }
.mail-route { border-block:1px solid var(--line); margin:0 0 1.25rem; }
.mail-route>div { display:grid; gap:1rem; grid-template-columns:5rem 1fr; padding:.65rem 0; }
.mail-route>div+div { border-top:1px solid var(--line); }
.mail-route dt,.mail-route dd { margin:0; }
.mail-route dt { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; }
.mail-route dd { color:var(--ink); font-family:var(--mono); font-size:.72rem; overflow-wrap:anywhere; }
.mail-test form>small { color:var(--muted); display:block; font-family:var(--mono); font-size:.6rem; letter-spacing:.04em; margin-top:.75rem; text-transform:uppercase; }
.issued-invitation { background:var(--favorable); border:1px solid var(--line); margin:2rem 0; padding:clamp(1.5rem,4vw,3rem); }
.issued-invitation input { background:var(--bright); font-family:var(--mono); font-size:.72rem; }
.invitation-link-row { align-items:center; display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) auto; }
.invitation-link-row input { margin:0; }
.invitation-link-row a { white-space:nowrap; }
.issued-invitation>small { color:var(--muted); display:block; font-family:var(--mono); font-size:.6rem; letter-spacing:.04em; margin-top:.55rem; text-transform:uppercase; }
.reader-roster { border-top:1px solid var(--line-dark); margin-top:clamp(3rem,7vw,5rem); }
.reader-roster>header { padding:2rem 0 1rem; }
.reader-roster article { align-items:center; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; display:flex; justify-content:space-between; margin:0; padding:1.2rem 0; }
.reader-roster article>div { display:flex; flex-direction:column; }
.reader-roster article>div:last-child { align-items:flex-end; }
.reader-roster article strong { font-family:var(--serif); font-size:1.2rem; font-weight:500; }
.reader-roster article span { color:var(--muted); font-family:var(--mono); font-size:.62rem; letter-spacing:.05em; text-transform:uppercase; }
.reader-roster article form,.reader-roster article button { margin:.4rem 0 0; }
.reader-roster article button { font-size:.62rem; padding:.35rem .6rem; width:auto; }
.reader-roster article.revoked { opacity:.55; }
.reader-roster article.resolved { opacity:.62; }
.access-request-actions { align-items:center; display:flex!important; flex-direction:row!important; gap:.6rem; }
.access-request-actions form,.access-request-actions button { margin:0!important; }
.invitation-ledger { margin-top:3rem; }
.reader-security-note { background:var(--orientation); border-left:2px solid var(--water); margin:3rem 0 0; max-width:48rem; padding:1.25rem; }
.reader-security-note>p:last-child { color:var(--muted); font-size:.75rem; margin:0; }

@media (max-width:800px) {
  .site-header { align-items:flex-start; flex-direction:column; gap:1rem; padding-block:1.25rem; }
  .site-header nav { gap:1.2rem; max-width:100%; overflow-x:auto; }
  .day-navigation { align-items:flex-start; flex-direction:column; gap:.9rem; padding-block:1rem; }
  .day-sections { max-width:100%; overflow-x:auto; padding-bottom:.2rem; width:100%; }
  .day-heading { align-items:flex-start; flex-direction:column; gap:2.5rem; }
  .context-tools { align-items:flex-start; }
  .day-heading h1 { font-size:clamp(3.5rem,16vw,4.5rem); line-height:.82; max-width:100%; }
  .timeline { height:auto; margin-block:1.5rem; }
  .timeline::before,.daylight-band { display:none; }
  .timeline-event { align-items:center; border-bottom:1px solid var(--line); display:grid; grid-template-columns:.8rem 5rem 1fr; left:auto; padding:.65rem 0; position:relative; top:auto; transform:none; }
  .timeline-event .event-mark,.timeline-event time,.timeline-event small { margin:0; order:initial; text-align:left; }
  .timeline-event .event-mark { height:.55rem; width:.55rem; }
  .timeline-event.now { background:rgba(23,94,77,.06); box-shadow:inset 2px 0 var(--green); padding-inline:.7rem; }
  .timeline-event.now::after { display:none; }
  .timeline-event.now .event-mark { display:block; height:.7rem; width:.7rem; }
  .timeline-event.now time { clip-path:none; height:auto; overflow:visible; position:static; white-space:nowrap; width:auto; }
  .timeline-event.now small { background:none; left:auto; padding:0; position:static; transform:none; }
  .timeline-legend { justify-content:flex-start; }
  .dashboard { grid-template-columns:1fr; }
  .outlook-lead .outlook { grid-template-columns:1fr; }
  .outlook-lead .outlook header,.outlook-lead .outlook h2,.outlook-lead .outlook .lede,.outlook-lead .outlook .reasons,.outlook-lead .outlook .best-window { grid-column:1; grid-row:auto; }
  .field-note { grid-column:auto; }
  .field-note { grid-template-columns:1fr; }
  .field-note figure { min-height:0; }
  .field-note figure img { aspect-ratio:3/2; height:auto; }
  .camera-panel { grid-column:auto; }
  .camera-grid { grid-template-columns:repeat(2,1fr); }
  .prototype-grid { grid-template-columns:1fr; }
  .about-record { grid-template-columns:1fr; }
  .about-record aside { grid-column:auto; }
  .about-position { grid-template-columns:1fr; }
  .about-position aside { grid-column:auto; }
  .administrivia-record { grid-template-columns:1fr; }
  .administrivia-record aside { grid-column:auto; }
  .error-paths { grid-template-columns:1fr; }
  .island-facts { grid-template-columns:repeat(2,1fr); }
  .island-map iframe { height:18rem; }
  .island-reading { grid-template-columns:1fr; }
  .island-paths { grid-template-columns:1fr; }
  .island-paths a { min-height:10rem; }
  .field-notes-index { grid-template-columns:1fr; }
  .elsewhere-card { grid-template-columns:1fr auto; }
  .elsewhere-card .elsewhere-source { grid-column:1; grid-row:auto; }
  .elsewhere-card h2 { grid-column:1; grid-row:auto; }
  .elsewhere-card>p:not(.elsewhere-source) { grid-column:1/-1; }
  .elsewhere-card footer { grid-column:2; grid-row:1/3; }
  .operator-authoring { grid-template-columns:1fr; }
  .operator-authoring>header { position:static; }
  .operator-desk-heading { align-items:flex-start; flex-direction:column; gap:2rem; }
  .operator-note { grid-template-columns:9rem 1fr; }
  .operator-note.no-image .operator-note-record { grid-column:1/3; }
  .operator-note-actions { align-items:flex-start; flex-direction:row; flex-wrap:wrap; grid-column:2; justify-content:flex-start; }
}

@media (max-width:520px) {
  .container { width:min(100% - 1.5rem,1160px); }
  .site-header nav { width:100%; }
  .site-header nav a { font-size:.68rem; }
  .day-heading { gap:1.75rem; padding-block:2.75rem 2.25rem; }
  .conditions { font-size:1.12rem; }
  .context-switch { width:100%; }
  .context-tools { width:100%; }
  .context-switch span,.context-switch a[aria-current="page"] { flex:1; }
  .section-label { align-items:flex-start; flex-direction:column; gap:.25rem; }
  .dashboard { margin-top:1.5rem; }
  .dashboard>* { padding:1.3rem; }
  .outlook header,.field-note header { align-items:flex-start; flex-direction:column; gap:.75rem; }
  .best-window { grid-template-columns:1fr; }
  .best-window strong,.best-window small { grid-column:1; margin-top:.4rem; }
  .weather-reading { gap:1rem; }
  .condition-facts { gap:.7rem; }
  .hour-strip { gap:.75rem; grid-template-columns:repeat(2,1fr); row-gap:1rem; }
  .crossing-list li { gap:.5rem; grid-template-columns:4.25rem 1fr auto; }
  .camera-grid { grid-template-columns:1fr; }
  .camera-source { text-align:left; }
  .field-notes-heading h1 { font-size:clamp(3.25rem,14vw,4.5rem); }
  .field-note-interval { align-items:flex-start; flex-direction:column; gap:.55rem; }
  .field-note-card>a>div { min-height:22rem; }
  .field-notes-record-nav { gap:1.5rem; overflow-x:auto; }
  .elsewhere-card { display:block; }
  .elsewhere-card>*+* { margin-top:1rem; }
  .elsewhere-card footer { margin-top:1.5rem; }
  .elsewhere-entry>article>footer { align-items:flex-start; flex-direction:column; gap:1rem; }
  .field-note-entry>footer { align-items:flex-start; flex-direction:column; gap:1rem; }
  .error-heading h1 { font-size:clamp(3.25rem,14vw,4.5rem); }
  .error-route { min-height:9rem; padding-inline:1rem; }
  .error-course { margin-inline:.65rem; }
  .error-position b { font-size:.52rem; }
  .operator-shell h1 { font-size:clamp(3.25rem,14vw,4.5rem); }
  .operator-instrument { grid-template-columns:2rem 1fr; }
  .operator-instrument>span:last-child { grid-column:2; }
  .form-pair { grid-template-columns:1fr; }
  .position-fields { grid-template-columns:1fr; }
  .position-fields .position-publication { grid-column:auto; }
  .field-note-form footer { align-items:stretch; flex-direction:column; gap:1.25rem; }
  .field-note-form footer button { width:100%; }
  .operator-note { grid-template-columns:1fr; }
  .operator-note.no-image .operator-note-record { grid-column:1; }
  .operator-note figure { max-width:14rem; }
  .operator-note-actions { grid-column:1; }
  .circle-status { align-items:flex-start; flex-direction:column; }
  .circle-account>section { grid-template-columns:1fr; }
  .invitation-link-row { align-items:stretch; grid-template-columns:1fr; }
  .invitation-link-row a { justify-self:start; }
  .reader-desk-heading,.reader-invitation { grid-template-columns:1fr; }
  .reader-roster article { align-items:flex-start; gap:1rem; }
  .reader-roster article>div:last-child { align-items:flex-start; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
