@font-face{font-family:Plex;src:url("./references/fonts/IBMPlexSans-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url("./references/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");font-weight:600 900;font-display:swap}
@font-face{font-family:PlexMono;src:url("./references/fonts/IBMPlexMono-Medium.woff2") format("woff2");font-weight:400 700;font-display:swap}
body.field-studio:not(.desktop-mode){
 --bg:#f7f4ec;--panel:#fff;--panel2:#f2eee3;--panel3:#e6e0d2;--text:#111;--muted:#3e434a;--line:#1a1a1a;
 --accent:#a33f00;--accent-dark:#fff;--blue:#064f83;--control-bg:#fff;--control-border:#1a1a1a;
 --warn:#744400;--danger:#a02121;--danger-bg:#fff0ef;--ok:#006747;--radius:5px;
 background:var(--bg);color:var(--text);font-family:Plex,Arial,sans-serif;font-size:1rem;
}
html[data-theme="dark"] body.field-studio:not(.desktop-mode){
 --bg:#111619;--panel:#1b2328;--panel2:#273239;--panel3:#344149;--text:#f4f5f6;--muted:#c4cdd2;--line:#a4b1ba;
 --accent:#ffb783;--accent-dark:#1b2328;--blue:#add6ff;--control-bg:#11191e;--control-border:#a4b1ba;
 --warn:#ffcf70;--danger:#ffb4aa;--danger-bg:#3b2020;--ok:#86dec4;
}
body.field-studio:not(.desktop-mode) :is(button,input,select,textarea){font:inherit;min-height:44px;border-width:2px;border-color:var(--control-border);border-radius:5px}
body.field-studio:not(.desktop-mode) :is(input,select,textarea){background:var(--control-bg);color:var(--text)}
body.field-studio:not(.desktop-mode) button{background:var(--panel);color:var(--text);font-weight:600}
body.field-studio:not(.desktop-mode) #mainContent :is(.sun-primary,#saveProject,#saveOutcrop,#saveManualMeasurement,#saveDiscontinuity,#captureSensor){background:#ff7a1a;color:#111;border:2px solid #111}
body.field-studio:not(.desktop-mode) :is(button,input,select,textarea):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
body.field-studio:not(.desktop-mode) :is(.help,.footnote,small,.sub){font-size:.875rem;color:var(--muted);line-height:1.5}
body.field-studio:not(.desktop-mode) :is(.eyebrow,.context-bar label,.tabbar button){font-size:.8125rem}
body.field-studio:not(.desktop-mode) .app-header{padding:10px 14px;border-top:0;box-shadow:none}
body.field-studio:not(.desktop-mode) .app-brand h1{font-family:Plex,Arial,sans-serif;font-size:1.2rem}
body.field-studio:not(.desktop-mode) .app-mark{height:32px;width:32px}
body.field-studio:not(.desktop-mode) .header-badges{display:none}
body.field-studio:not(.desktop-mode) .card{border:2px solid var(--line);box-shadow:none}
body.field-studio:not(.desktop-mode) .context-bar{position:relative;top:auto;gap:8px;padding:10px 12px;border-bottom:2px solid var(--line)}
body.field-studio:not(.desktop-mode) .context-bar select{max-width:100%;font-size:.875rem}
body.field-studio:not(.desktop-mode) .context-status{flex-wrap:wrap;gap:6px}
body.field-studio:not(.desktop-mode) #saveBadge{font-size:.8125rem;color:var(--text)}
body.field-studio:not(.desktop-mode) .sun-north{font:500 .8125rem PlexMono,monospace;display:block;grid-column:1/-1}
body.field-studio:not(.desktop-mode) .tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--line);gap:0}
body.field-studio:not(.desktop-mode) .tabbar .sun-legacy-tab{display:none}
body.field-studio:not(.desktop-mode) .tabbar button{border:0;border-radius:0;min-height:60px;background:var(--panel);color:var(--muted)}
body.field-studio:not(.desktop-mode) .tabbar button.active{background:var(--panel2);color:var(--text);box-shadow:inset 0 4px #ff7a1a}
.sun-nav-icon{font-size:1.5rem;line-height:1}
.sun-hub,.sun-chips,.sun-capture-context,.sun-help-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.sun-hub button,.sun-chips button{flex:0 1 auto}
.sun-chips button[aria-pressed="true"],.sun-pin[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--accent);background:var(--panel2)!important}
.sun-choice-group{min-width:0;margin:8px 0}
.sun-choice-group>.sun-chips{max-height:180px;overflow:auto;padding:3px}
.sun-pin{font-size:.8125rem!important;margin:4px 0}
.sun-group{padding:14px 0;border-top:2px solid var(--line);margin-top:12px}
.sun-group>summary{font-size:1.05rem;font-weight:600;cursor:pointer;min-height:44px;display:list-item;padding:8px}
.sun-group[open]>summary{margin-bottom:12px}
.sun-orientation,.sun-observations,.sun-rebound{padding:14px 0;border-top:2px solid var(--line)}
.sun-observations>label{margin:12px 0}
.sun-rebound{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sun-rebound :is(h4,p){grid-column:1/-1;margin:4px 0}
.sun-rebound input{font:500 1.3rem PlexMono,monospace!important}
.sun-quality-reading{font-size:.875rem;color:var(--muted);line-height:1.5}
.sun-outcrop-summary{font-size:.9rem;color:var(--muted)}
.sun-coverage{font-size:.875rem;line-height:1.5;padding:8px;border-left:4px solid var(--accent);background:var(--panel2)}
.sun-tool{border-top:1px solid var(--line);padding:14px 0}
.sun-tool>button{width:100%;text-align:left}
.sun-map{height:52dvh;min-height:280px;border:2px solid var(--line)}
.sun-map-list{display:grid;gap:8px;margin-top:14px}
body.field-studio:not(.desktop-mode) .orientation-display strong{font-family:PlexMono,monospace;font-size:clamp(1.25rem,5.8vw,2rem)}
body.field-studio:not(.desktop-mode) .sensor-capture-panel{border:0;padding:8px 0;background:transparent}
body.field-studio:not(.desktop-mode) .save-bar{padding:8px;background:var(--panel);border:2px solid var(--line);bottom:calc(64px + env(safe-area-inset-bottom));z-index:5}
body.field-studio:not(.desktop-mode) .measurement-save-bar{display:block}
body.field-studio:not(.desktop-mode) .save-bar button{width:100%;margin:0}
body.field-studio:not(.desktop-mode) :is(input,select,textarea){scroll-margin-top:30px;scroll-margin-bottom:160px}
body.field-studio:not(.desktop-mode) .toast.show{position:static;background:var(--panel2);color:var(--text);border:2px solid var(--line);padding:8px;font-size:.875rem;max-width:100%;transform:none}
body.field-studio:not(.desktop-mode) a{color:var(--accent)}
body.field-studio:not(.desktop-mode) .sensor-meta:has(span:empty){min-height:0}
body.field-studio:not(.desktop-mode) #contactOrientationCard>.sun-primary{width:100%;margin:8px 0}
body.field-studio:not(.desktop-mode) .sun-orientation #useLiveOrientation{width:100%;margin:10px 0}
body.field-studio:not(.desktop-mode) .notice{color:var(--text);border:2px solid var(--line);background:var(--panel2)}
body.field-studio:not(.desktop-mode) .quality{font-size:.8125rem}
body.field-studio:not(.desktop-mode) .action-error{position:static;background:var(--danger-bg);color:var(--danger);border-color:var(--danger);max-height:none}
body.field-studio:not(.desktop-mode) .action-error button{background:var(--panel);color:var(--text)}
body.field-studio:not(.desktop-mode) :is(#sensorCaptureFeedback,.sun-quality-reading):empty{display:none}
body.field-studio:not(.desktop-mode) label:has(>input[type="checkbox"]){min-height:44px;align-items:center}
body.field-studio:not(.desktop-mode) #networkBadge{font-size:.8125rem;color:var(--text);background:var(--panel2)}
body.desktop-mode :is(.sun-primary-tab,.sun-north,.sun-network){display:none}
@media(max-width:440px){.sun-rebound{grid-template-columns:1fr 1fr}.sun-chips button{font-size:.875rem!important}.sun-hub{display:grid;grid-template-columns:1fr 1fr}.sun-map{height:45dvh}}
@media print{.sun-hub,.sun-help-actions,.sun-capture-context{display:none}}

/* Header actions wrap before they can obscure enlarged labels. */
body.field-studio:not(.desktop-mode) .app-header{flex-wrap:wrap}
body.field-studio:not(.desktop-mode) .app-brand{flex:1 1 180px;min-width:0}
body.field-studio:not(.desktop-mode) .app-brand-copy{overflow-wrap:anywhere}
