/* Latest user layout. Scientific world/audio state is not changed by these rules. */
#settingsPanel .settings-card-menu{font:11px/1.4 var(--mono)}
#settingsPanel .settings-card-menu :is(button,a,summary,select,label,span,strong,b,small,.section-heading){font-family:var(--mono);font-size:11px;line-height:1.4}
#settingsPanel .settings-card-menu #exploreForestPlot{justify-content:flex-start;min-height:44px;margin:14px 0 0;padding:12px 0;border:0;border-top:1px solid #64857666;border-radius:0;background:none;color:#d9f0e4;letter-spacing:normal;text-transform:none}
:root{--live-left:12px;--live-col:220px;--live-gap:10px;--live-bottom:8px;--live-trans:88px;--live-species:124px;--live-plot:206px;--live-hawk:80px}
#app .forest-stage::before{background:radial-gradient(ellipse at 50% 42%,#0b2031,#020911 80%)!important;background-size:100% 100%!important}
#app .hud-footer,.hud-footer{display:none!important}
#app #speciesCard{position:fixed!important;left:var(--live-left)!important;right:auto!important;top:auto!important;bottom:calc(var(--live-bottom) + var(--live-trans) + var(--live-gap))!important;width:var(--live-col)!important;height:var(--live-species)!important;min-height:0!important;margin:0!important;padding:8px 10px!important;gap:3px!important;overflow:hidden!important}
#app #speciesCard .eyebrow{font-size:8px!important}#app #speciesCard #speciesCommonPrefix{font-size:10px!important}#app #speciesCard #speciesCommonGroup{font-size:18px!important}#app #speciesCard #speciesScientific{font-size:10px!important}#app #speciesCard #speciesIcon{width:38px!important;height:42px!important}
#app #speciesCard #previewBtn{height:44px!important;min-height:44px!important;margin:1px 0 0!important;font-size:9px!important}
#app .side-control-bar{position:fixed!important;left:var(--live-left)!important;right:auto!important;top:auto!important;bottom:var(--live-bottom)!important;width:var(--live-col)!important;height:var(--live-trans)!important;margin:0!important;padding:5px 8px!important;display:grid!important;grid-template-rows:17px 31px 22px!important;gap:3px!important}
#app .side-control-bar .transport{height:auto!important;min-height:0!important;gap:4px!important}#app .side-control-bar .transport button{min-height:30px!important;padding:3px!important;font-size:9px!important}
#app .spectrogram-card{position:fixed!important;left:calc(var(--live-left) + var(--live-col) + var(--live-gap))!important;right:var(--live-left)!important;top:auto!important;bottom:var(--live-bottom)!important;height:var(--live-effective-plot,var(--live-plot))!important;width:auto!important;margin:0!important;grid-template-rows:18px minmax(0,1fr) 22px 22px auto!important}
#app #hawkAlertFrame{position:fixed!important;right:var(--live-left)!important;left:auto!important;top:auto!important;bottom:calc(var(--live-bottom) + var(--live-effective-plot,var(--live-plot)) + 30px)!important;width:var(--live-hawk)!important;height:var(--live-hawk)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:none!important;box-shadow:none!important;aspect-ratio:1!important;border-radius:50%!important}
#app #hawkAlertFrame::before,#app #hawkAlertFrame::after{display:none!important;content:none!important;background:none!important}
#app #hawkAlertFrame #hawkAlertBtn{inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;max-height:none!important;border-radius:50%!important;clip-path:circle(50%)!important;background:rgba(103,17,31,.92)!important;border:1px solid #f18b8b9c!important;padding:8px 4px!important;gap:3px!important;box-shadow:inset 0 0 18px #28030c!important}
#app #hawkAlertFrame #hawkAlertBtn b{font-size:9px!important}#app #hawkAlertFrame #hawkAlertBtn img{width:55%!important;height:36%!important}.hawk-key{display:none!important}
#app #hawkTimer{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 4px)!important;bottom:auto!important;width:100%!important;height:20px!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;pointer-events:none!important}
#app #hawkTimer .timer-caption{display:none!important}#app #hawkTimer output{font-size:16px!important}#app #hawkTimer .timer-unit{font-size:7px!important;align-self:center!important;padding:0!important}
#app #flockHealthPanel{position:fixed!important;left:var(--live-left)!important;right:auto!important;top:98px!important;bottom:auto!important;width:184px!important;max-width:calc(100vw - 24px)!important;height:auto!important;min-height:0!important;display:block!important;padding:9px 10px!important;margin:0!important;gap:0!important;border:0!important;outline:0!important;border-radius:7px!important;background:rgba(3,15,21,.66)!important;box-shadow:none!important;overflow:hidden!important;z-index:35!important}
#app #flockHealthPanel[hidden]{display:none!important}
#app #flockHealthPanel #flockDisplay{display:none!important}
#app #flockHealthPanel #fieldMeterOverlay{position:static!important;inset:auto!important;display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;outline:0!important;background:none!important;box-shadow:none!important}
#app #flockHealthPanel .field-status-line{display:flex!important;order:2;justify-content:space-between;gap:4px;margin:6px 0 0!important;font-size:8px!important;line-height:10px;min-width:0}
#app #flockHealthPanel .field-status-line:has(#fieldStatusText:empty):has(#attackTimer:empty){display:none!important}
#app #flockHealthPanel .field-mini-meters{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin:0!important}
#app #flockHealthPanel .field-mini-meter{display:grid!important;grid-template-rows:auto 6px!important;gap:4px!important;min-width:0!important;margin:0!important}
#app #flockHealthPanel .field-mini-head{display:flex!important;justify-content:space-between!important;gap:5px!important;min-width:0!important;margin:0!important;font-size:9px!important;line-height:12px!important}
#app #flockHealthPanel .mini-track{position:relative!important;width:100%!important;height:6px!important;min-width:0!important;margin:0!important;overflow:hidden!important;box-sizing:border-box!important}
#app #flockHealthPanel .mini-track i{max-width:100%!important;height:100%!important}
.settings-card-menu>.fallback-controls-toggle{position:static;display:block;width:100%;min-height:44px;margin:12px 0}
#forestAppearanceStatus{position:static!important;display:block!important;transform:none!important;inset:auto!important;white-space:normal!important;border:0!important;padding:3px 0 10px!important;font:9px var(--mono)!important;background:none!important;letter-spacing:.02em!important;color:#adc4ba!important}
#spectrogramViewParameters{margin:14px 0;padding:0;border:0;border-top:1px solid #64857666}
#spectrogramViewParameters>summary{min-height:44px;display:list-item;cursor:pointer;padding:12px 0;font:11px var(--mono);color:#d9f0e4}
.spectrogram-parameter-grid{display:grid;gap:9px;padding:6px 0 14px}.spectrogram-parameter-grid .view-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(90px,1fr);align-items:center;gap:9px;min-height:44px;font:11px var(--mono)}
.spectrogram-parameter-grid input,.spectrogram-parameter-grid select,.spectrogram-parameter-grid button{min-height:36px;min-width:0;width:100%;padding:5px;font:11px var(--mono)}
.spectrogram-parameter-grid input[type=checkbox]{width:20px;height:20px;min-height:20px;justify-self:end}.spectrogram-parameter-grid input[type=color]{padding:2px}.spectrogram-parameter-grid small{font:10px/1.4 sans-serif;color:#a9beb6}.spectrogram-view-status{font:10px/1.4 var(--mono);white-space:normal;color:#bdd7ca}
#macroBoard .station-tag{position:absolute;left:var(--tag-left,0px)!important;top:var(--tag-top,100%)!important;width:var(--tag-width,164px)!important;transform:none!important;display:flex;flex-direction:column;align-items:flex-start;text-align:left!important;line-height:1.2;letter-spacing:0;background:rgba(2,12,19,.58);padding:3px 4px;border:0;pointer-events:none;white-space:normal}
#macroBoard .station-tag .node-scientific{font:italic 11px/1.2 Georgia,serif;color:#d7e8dc}#macroBoard .station-tag .node-common{font:10px/1.2 var(--display,var(--mono));color:#c5d6d7}#macroBoard .station-tag .node-code{font:9px/1.2 var(--mono);color:#9fb4bf;align-self:flex-start;text-align:left}
@media(max-width:900px){
 :root{--live-left:10px;--live-col:140px;--live-gap:8px;--live-trans:54px;--live-species:112px;--live-plot:150px;--live-hawk:66px}
 #app .spectrogram-card{left:var(--live-left)!important;right:var(--live-left)!important;grid-template-rows:15px minmax(0,1fr) 19px 20px auto!important}
 #app .side-control-bar{bottom:calc(var(--live-bottom) + var(--live-effective-plot,var(--live-plot)) + var(--live-gap))!important;grid-template-rows:1fr!important;padding:4px!important}
 #app .side-control-bar .transport button{min-height:44px!important;font-size:9px!important}#app .side-control-bar .volume-cluster{display:none!important}
 #app #speciesCard{bottom:calc(var(--live-bottom) + var(--live-effective-plot,var(--live-plot)) + var(--live-gap) * 2 + var(--live-trans))!important;padding:5px 7px!important}
 #app #speciesCard #speciesCommonGroup{font-size:15px!important}#app #speciesCard #speciesCommonPrefix{font-size:8px!important}#app #speciesCard #speciesScientific{font-size:9px!important}#app #speciesCard .eyebrow{font-size:7px!important}#app #speciesCard #previewBtn{height:44px!important;min-height:44px!important;font-size:8px!important}#app #speciesCard #speciesIcon{width:28px!important;height:34px!important}
 #app #flockHealthPanel{left:10px!important;top:84px!important;width:140px!important;padding:7px 8px!important;border-radius:6px!important}#app #flockHealthPanel .field-mini-head{font-size:8px!important;line-height:11px!important}#app #flockHealthPanel .field-mini-meters{gap:8px!important}
 #app #hawkAlertFrame #hawkAlertBtn b{font-size:8px!important}#app #hawkTimer output{font-size:13px!important}
 #macroBoard .station-tag .node-scientific{font-size:9px}#macroBoard .station-tag .node-common{font-size:8px}#macroBoard .station-tag .node-code{font-size:8px}
 .spectrogram-parameter-grid input,.spectrogram-parameter-grid select,.spectrogram-parameter-grid button{min-height:44px}
}
@media(max-width:900px) and (orientation:landscape){
 :root{--live-col:148px;--live-species:112px;--live-trans:52px;--live-plot:116px;--live-hawk:56px}
 #app .side-control-bar{bottom:8px!important}#app #speciesCard{bottom:calc(8px + var(--live-trans) + var(--live-gap))!important}
 #app .spectrogram-card{left:calc(var(--live-left) + var(--live-col) + var(--live-gap))!important}
 #app #speciesCard #previewBtn{height:44px!important;min-height:44px!important;margin:0!important}#app #speciesCard #speciesCommonGroup{font-size:13px!important}#app #speciesCard .eyebrow{display:none!important}
 #app #flockHealthPanel{top:58px!important;left:8px!important;width:138px!important;padding:6px 8px!important}
}

/* dev.9: circle centers remain exact projected nodes; code stays inside. */
#macroBoard .central-orb{width:64%;height:64%}
#macroBoard .station-playable .central-orb{pointer-events:auto;cursor:pointer}
#macroBoard:not([data-phase="arrived"]) .central-orb{pointer-events:none}
#macroBoard .central-orb .station-art{width:56%;height:56%;left:50%;top:50%}
#macroBoard .central-orb .node-code{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);font:var(--code-font,8px)/1 var(--mono);font-weight:500;color:#c2d4db;white-space:nowrap;text-align:center}

@media(min-width:901px){
 #app #speciesCard{top:var(--field-metrics-bottom,202px)!important;bottom:auto!important;width:184px!important;height:112px!important;padding:6px 8px!important}
 #app #speciesCard #speciesCommonGroup{font-size:15px!important}#app #speciesCard #speciesCommonPrefix{font-size:9px!important}#app #speciesCard #speciesScientific{font-size:9px!important}
 #app .spectrogram-card{left:var(--live-left)!important}
 #app .side-control-bar{bottom:calc(var(--live-bottom) + var(--live-effective-plot,var(--live-plot)) + var(--live-gap))!important}
}

#macroBoard .bird-station:not(.station-playable) .wedge-button{display:none!important;pointer-events:none!important}
@media(min-width:901px){
 #app #speciesCard{background:rgba(3,15,21,.66)!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:7px!important}
 #app #speciesCard .species-title-row{padding-right:34px!important}
 #app #speciesCard #speciesCommonGroup{font-size:13px!important;white-space:nowrap!important;letter-spacing:.01em!important;margin:2px 0!important;line-height:1.04!important}
}
#settingsDismissLayer{position:fixed;inset:0;z-index:80;pointer-events:auto;background:transparent}
#settingsDismissLayer[hidden]{display:none}
#settingsPanel{z-index:90}
.settings-card-menu>a.settings-menu-button{display:flex;align-items:center;justify-content:center;text-align:center;font:inherit;font-family:var(--mono);font-size:11px;letter-spacing:.08em;min-height:38px;text-decoration:none}

/* User-requested restrained side contrast. No input interception. */
#app .forest-stage::after{pointer-events:none!important;background:linear-gradient(90deg,rgba(1,5,10,.24),transparent 17%,transparent 83%,rgba(1,5,10,.24)),linear-gradient(#020911d9,transparent 20%,transparent 75%,#020911e8)!important}
/* Field pair controls: 300 degree health arc, 60 degree bottom code gap. */
.individual-health,.individual-sex{display:none}
.field-pair-layout .individual-health{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:3}
.individual-health path{fill:none;stroke:#58ceff;stroke-width:3.8;stroke-linecap:butt}
.field-pair-layout .individual-sex{display:block;position:absolute;right:8%;top:42%;font:700 9px/1 monospace;color:#ccefff;z-index:4;pointer-events:none}
#app .field-pair-layout .central-orb .node-code{bottom:7%!important}
.field-pair-layout .station-art{border-radius:50%}
.field-pair-layout .station-locked .individual-health{display:none}
/* Latest live-call entry: art first, then continuous layout and information fade. */
#macroBoard.dynamic-hud .station-tag{display:none!important}
#macroBoard.dynamic-hud .central-orb{background:rgba(2,10,18,calc(.5 * var(--entry-info-opacity,0)))!important;border-color:rgba(255,255,255,calc(.4 * var(--entry-info-opacity,0)))!important;box-shadow:none!important}
#macroBoard.dynamic-hud .node-code,#macroBoard.dynamic-hud .individual-health,#macroBoard.dynamic-hud .individual-sex{opacity:var(--entry-info-opacity,0)!important}
#macroBoard.dynamic-hud .individual-sex{right:17%;top:41%;font-size:clamp(11px,1.2vw,14px)}
#macroBoard.dynamic-hud[data-phase="entering"] .station-playable .wedge-button{display:block!important;opacity:var(--entry-info-opacity,0)!important;pointer-events:none!important}
#macroBoard.dynamic-hud[data-phase="intro"] .station-art{filter:url(#bird-visibility-alpha) drop-shadow(0 1px 2px #000)}
#app #speciesCard{display:none!important}
.species-card-stack{position:fixed;z-index:24;display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.species-card-stack[hidden],.species-cards-expand[hidden]{display:none!important}
.species-info-card{position:relative;flex:none;min-height:82px;padding:8px 42px 7px 8px;background:rgba(3,15,21,.66);border:0;border-radius:7px;color:#d3eaf0;font-family:var(--mono);box-sizing:border-box}
.species-info-card>strong{display:block;font-size:12px;line-height:1.2;font-weight:500;overflow-wrap:normal}
.species-info-card>em{display:block;font-size:9px;line-height:1.2;margin:3px 0}
.species-info-card>img{position:absolute;right:4px;top:16px;width:37px;height:42px;object-fit:contain}
.species-info-card>button{font:10px/1.2 var(--mono);padding:5px 7px;min-height:26px;border:1px solid #5892a344;background:#081d2a88;border-radius:4px;color:#cde8f3}
.species-info-card>.species-cards-hide{display:block;margin:0 -34px 7px 0;min-height:28px;text-align:left;font-size:10px}
.species-cards-expand{position:fixed;z-index:24;font:10px/1.2 var(--mono);padding:8px;border:0;border-radius:5px;background:rgba(3,15,21,.8);color:#d3eaf0}
.compact-cards .species-info-card{min-height:72px;padding-top:6px;padding-bottom:5px}
.compact-cards .species-info-card>strong{font-size:11px}
@media(max-width:900px){.species-info-card{padding-right:8px;min-height:76px}.species-info-card>img{display:none}.species-info-card>strong,.compact-cards .species-info-card>strong{font-size:10px}.species-info-card>em{font-size:8px}.species-info-card>.species-cards-hide{margin-right:0;font-size:9px;padding:5px}.species-info-card>button{min-height:28px}}

#app #hawkAlertBtn.hawk-v03-button{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}#hawkAlertBtn.hawk-v03-button:focus-visible{outline:2px solid #8be8ff;outline-offset:4px}

#app .spectrogram-card{min-height:0!important;max-height:var(--live-effective-plot,var(--live-plot))!important}
@media(max-width:900px) and (orientation:landscape){:root{--hud-top:58px}}

:root{--live-hawk:160px}
@media(max-width:900px){:root{--live-hawk:132px}}
@media(max-width:900px) and (orientation:landscape){:root{--live-hawk:112px}}
#app #hawkAlertFrame #hawkAlertBtn.hawk-v04-button{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;clip-path:none!important;padding:0!important}
#hawkAlertBtn.hawk-v04-button:focus-visible{outline:2px solid #8be8ff;outline-offset:4px}
#app #hawkTimer[data-status="protected"] .timer-unit{display:none!important}
#app #hawkTimer output{text-align:center}
.species-info-card img{filter:url(#bird-visibility-alpha) drop-shadow(0 1px 2px #000);opacity:1}

#macroBoard.dynamic-hud .central-orb.community-glowing{box-shadow:0 0 20px 7px var(--community-glow)!important}

#macroBoard .bird-station::before{content:"";position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,5,9,.55) 0%,rgba(0,5,9,.28) 36%,rgba(0,5,9,0) 74%);pointer-events:none;z-index:-1;opacity:var(--entry-info-opacity,0)}

@media(max-width:900px){:root{--live-effective-plot:min(var(--live-plot),150px)}}
@media(max-width:900px) and (orientation:landscape){:root{--live-effective-plot:min(var(--live-plot),116px)}}

.understory-setting{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:center;min-height:44px;margin:10px 0}.understory-setting input{width:20px;height:20px}.understory-setting small{grid-column:2;font:10px/1.4 sans-serif;color:#acc1b8}
