:root{--app-paper:#fffcf0;--app-ink:#4c4330;--app-muted:#797058;--app-border:#ded5b2;--app-accent:#b64932;--app-font:Manrope,sans-serif;--app-heading:Fraunces,Georgia,serif}
#library{width:620px;max-width:calc(100vw - 24px);max-height:85dvh;overflow:auto;background:var(--app-paper);color:var(--app-ink);border:1px solid var(--app-border);border-radius:18px;padding:22px}#library::backdrop{background:#27251b66;backdrop-filter:blur(3px)}.library-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.library-heading h2{margin:0;font-size:25px}.library-heading button{font-size:20px;border:0}.search-label{font-size:11px;display:grid;gap:6px}.search-label input{width:100%;padding:10px;border:1px solid var(--app-border);border-radius:9px;background:transparent}.library-tabs{display:flex;gap:6px;margin:14px 0}.library-tabs button{font-size:11px}.simulation-card{display:grid;grid-template-columns:106px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--app-border)}.simulation-card img{width:106px;height:100px;object-fit:cover;border-radius:10px}.simulation-card h3{margin:0 0 6px;font-size:20px}.simulation-card p{font-size:11px;line-height:1.5;color:var(--app-muted);margin:0 0 10px}.simulation-actions{display:flex;gap:6px;flex-wrap:wrap}.simulation-actions button{font-size:11px}.simulation-actions button:first-child{background:var(--app-accent);color:var(--app-paper);border-color:var(--app-accent)}.instance-picker{width:100%;font-size:11px;padding:6px;background:transparent;border:1px solid var(--app-border);border-radius:6px;margin-bottom:8px}#error{z-index:8;top:60px;max-width:calc(100vw - 24px)}#app-settings-toggle{position:static!important;width:36px!important;height:36px!important;min-height:36px!important;flex-shrink:0;margin:0!important;border-radius:8px!important}
/* Compact character card: identity and live activity remain visible, details unfold. */
body.simulation-workspace #inspection .inspect-summary{display:flex;align-items:flex-start;gap:10px}
body.simulation-workspace #inspection #inspect-hero{flex:0 0 64px;width:64px;height:72px;max-width:64px;border:3px solid #fffaf0;border-radius:5px;box-shadow:0 1px 4px #24352a24;overflow:hidden}
body.simulation-workspace #inspection #inspect-hero canvas{width:64px;height:64px;display:block}
.inspect-summary-copy{flex:1;min-width:0}body.simulation-workspace #inspection #inspect-name{font-size:17px;line-height:1.2;margin:0 0 7px}
#inspect-status{border-left:3px solid #478c69;background:#e2f1e6;color:#24583e;border-radius:6px;padding:7px 8px;font-size:11px;line-height:1.35}#inspect-status-label{font-weight:750;font-size:10px}body.simulation-workspace #inspection #inspect-doing{font-size:11px;margin:3px 0 0;color:inherit;line-height:1.4}
#inspect-status[data-status=travelling]{background:#e0eff8;border-color:#3983b0;color:#24516f}#inspect-status[data-status=resting]{background:#eee7f7;border-color:#9471b3;color:#654c7c}#inspect-status[data-status=paused]{background:#f4ebd6;border-color:#b18a3c;color:#705b30}#inspect-status[data-status=blocked]{background:#fbe4df;border-color:#c65942;color:#8c3827}#inspect-status[data-status=arriving]{background:#e0f3f0;border-color:#3f9c91;color:#28685f}
body.simulation-workspace #inspection #inspect-more{display:inline-block}body.simulation-workspace #inspection #inspect-details[hidden]{display:none}body.simulation-workspace #inspection #inspect-details:not([hidden]){display:block}.inspect-actions{margin-top:7px}


[hidden]{display:none!important}body #world,body:has(#panel:not([hidden])) #world{inset:0!important}
body.simulation-workspace header{position:absolute;inset:10px 10px auto auto;width:auto;max-width:calc(100vw - 20px);height:42px;padding:5px 8px;gap:5px;background:#fff9ed;border:1px solid #d5ceb9;border-radius:18px;z-index:5}
header .back-link,#current-preset,.toolbar-spacer,#fit,.button-label{display:none!important}header button{min-height:28px;padding:3px 6px;font-size:11px}#library-open{border:0;background:none;font:600 14px Fraunces,Georgia;padding:3px 5px}#lighting{margin:0!important;min-width:110px;min-height:30px}header #pause,header #generate,header #settings{width:28px;height:30px;border:0;background:transparent;font-size:16px;padding:3px}header #settings{font-size:0}header #settings::after{content:'☷';font-size:20px}#app-settings-toggle{width:28px!important;height:28px!important;min-height:28px!important}
body.simulation-workspace #panel{position:absolute;inset:auto 10px 10px;display:flex;flex-direction:column;align-items:stretch;justify-content:start;width:calc(100% - 20px);height:auto;max-height:38dvh;overflow:auto;gap:5px;padding:8px 12px;border:1px solid #d5ceb9;border-radius:16px;background:#fff9ed;z-index:3}
#panel .panel-heading,#configuration>h3,#preset-description,.control-note,.baseline-note,#save-status,#presentation,#help{display:none!important}#configuration,#preset-slot,#configuration-slot{display:contents}#panel .profiles{display:flex;order:2;width:100%;gap:6px}#panel .profile{position:relative;flex:1;width:0;height:48px;min-height:48px;border-radius:9px;padding:0;overflow:hidden}#panel .profile svg{position:absolute;display:block;width:100%;height:100%;inset:0;fill:#b4be95;stroke:#71815b;stroke-width:1.5}#panel .profile[aria-pressed=true] svg{fill:#d78f60;stroke:#f5c38e}#panel .profile span{font-size:11px;position:relative;font-weight:700;text-shadow:none}#panel .sliders{display:flex;gap:12px;margin:0;width:100%;order:3}#panel .sliders label{display:flex;align-items:center;gap:5px;flex:1;min-width:0;font-size:11px}#panel .sliders input{flex:1;width:0;min-width:30px;height:26px;accent-color:#b44b32}#panel .sliders output{width:36px;font-size:10px}#panel .animal-controls{order:1;margin:0;border:0;padding:0}#panel summary{font-size:10px;text-align:right;padding:0 3px;cursor:pointer;color:#65705d}#panel .animal-controls[open]{border-bottom:1px solid #d5ceb9;padding-bottom:6px}#panel .arrival-controls{margin:5px 0;font-size:10px;gap:5px;flex-wrap:wrap}#panel .arrival-controls select{max-width:160px;width:auto;font-size:10px}#panel .arrival-controls button{font-size:10px;padding:4px 7px}#panel .arrival-controls label{font-size:10px;min-width:0}#panel .animal-controls .sliders{margin:5px 0}#panel #activity-section{margin:0}#activity-section h3{display:none}#activity-list{display:flex;gap:4px;margin-top:4px}.activity-row{font-size:10px;flex:1;display:flex;gap:5px;text-align:left;padding:5px}.activity-row small{display:block}#care-readout{font-size:9px}#panel .animal-controls details{margin-top:5px}
body.simulation-workspace>.live-status{position:absolute;top:62px;left:14px;max-width:calc(100vw - 28px);background:none;padding:0;margin:0;pointer-events:none;text-align:left;z-index:2}.live-status b{font-size:14px}.live-status small{font-size:10px}.live-status #save-status{display:none}
body.simulation-workspace #inspection{position:absolute!important;top:62px;right:10px;left:auto;bottom:auto;width:280px;max-width:calc(100vw - 20px);max-height:calc(62dvh - 75px);overflow:auto;margin:0;padding:23px 10px 10px;background:#fff9ed;border:1px solid #d5ceb9;border-radius:13px;z-index:4}body.simulation-workspace #inspection #close-inspection{position:absolute;top:0;left:50%;transform:translateX(-50%);width:52px;height:22px}
@media(min-width:900px){body.simulation-workspace>.live-status{top:18px;max-width:calc(100vw - 460px)}body.simulation-workspace #panel{width:760px;max-width:calc(100vw - 20px);left:50%;right:auto;transform:translateX(-50%)}}
@media(max-width:420px){#library-open{font-size:12px}#lighting{min-width:98px;font-size:10px}body.simulation-workspace header{padding:4px;gap:3px}#panel .profile span{font-size:10px}}

body.simulation-workspace>header{min-height:42px!important;height:42px!important;padding:5px 8px!important}body.simulation-workspace>header #settings{font-size:0!important}body.simulation-workspace>header #settings::after{content:none}body.simulation-workspace>header button svg{width:18px;height:18px}body.simulation-workspace>header #generate{font-size:0}

/* Original inset tools: one lighting pill and a consistent Ionicons family. */
body.simulation-workspace>header{align-items:center;flex-wrap:nowrap;border-radius:18px;gap:5px}
header #library-open{order:0}header #lighting{order:1}header #generate{order:2}header #pause{order:3}header #settings{order:4}header #app-settings-toggle{order:5}
body.simulation-workspace>header #pause,body.simulation-workspace>header #generate,body.simulation-workspace>header #settings{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#415443}
body.simulation-workspace>header button svg{display:block;width:19px;height:19px}
#panel .profile span{--label-outline:#fff9ed;text-shadow:-.7px -.7px 0 var(--label-outline),0 -.7px 0 var(--label-outline),.7px -.7px 0 var(--label-outline),.7px 0 0 var(--label-outline),.7px .7px 0 var(--label-outline),0 .7px 0 var(--label-outline),-.7px .7px 0 var(--label-outline),-.7px 0 0 var(--label-outline)}
#panel .profile[aria-pressed=true] span{--label-outline:#a5422d}
/* Keep the primary controls in one compact row; advanced controls unfold above. */
body.simulation-workspace>header #settings{display:none!important}
body.simulation-workspace>header #app-settings-toggle{display:grid!important;place-items:center;padding:0!important;line-height:1!important;font-family:Arial,sans-serif;font-size:19px;box-sizing:border-box}
body.simulation-workspace #panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:10px;row-gap:5px}
#panel .animal-controls{grid-column:1/-1;grid-row:1}
#panel .profiles{grid-column:1;grid-row:2;gap:4px}
#panel .profile{height:40px;min-height:40px;border-radius:9px}
#panel .profile span{font-size:10px;white-space:nowrap;letter-spacing:-.2px}
#configuration-slot>.sliders{grid-column:2;grid-row:2;align-self:center;gap:8px}
#configuration-slot>.sliders label{gap:3px;font-size:10px;white-space:nowrap}
#configuration-slot>.sliders input{min-width:22px}
#configuration-slot>.sliders output{width:auto;flex:none;font-size:10px}
@media(max-width:400px){body.simulation-workspace #panel{grid-template-columns:1fr}#configuration-slot>.sliders{grid-column:1;grid-row:3}#panel .profile span{font-size:10px}}
@media(min-width:401px){body.simulation-workspace #panel{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}#configuration-slot>.sliders label:first-child{flex:1.3}#configuration-slot>.sliders label:last-child{flex:1}}
/* Scene readout and inset tools share the same top row. */
body.simulation-workspace>.live-status{top:14px;left:14px;max-width:calc(100vw - 310px)}
body.simulation-workspace>.live-status b{font-size:12px;line-height:16px}
body.simulation-workspace>.live-status small{font-size:9px;line-height:12px;max-width:100%;white-space:normal}
body.simulation-workspace>header{gap:3px;padding:5px 6px!important}
body.simulation-workspace>header #library-open{font-size:12px;padding:3px}
body.simulation-workspace>header #lighting{min-width:94px;padding:3px 7px;font-size:10px;gap:7px}
@media(min-width:700px){body.simulation-workspace>.live-status{max-width:calc(100vw - 340px)}body.simulation-workspace>.live-status b{font-size:14px}body.simulation-workspace>.live-status small{font-size:10px}}
@media(max-width:400px){body.simulation-workspace>.live-status{max-width:calc(100vw - 265px);left:10px}body.simulation-workspace>header #library-open{font-size:11px}body.simulation-workspace>header #lighting{min-width:80px;padding:3px 5px;gap:4px}body.simulation-workspace>header #pause,body.simulation-workspace>header #generate{width:25px}}
body.simulation-workspace #panel{grid-template-columns:105px minmax(0,1fr)}
#panel #shape-open{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:4px 8px;border-radius:12px;background:#eee9d3;color:#3d4c3d;border:1px solid #d5ceb9;font-size:11px;font-weight:700}
#shape-open svg{width:30px;height:28px;flex-shrink:0}
#shape-open svg,#shape-dialog svg{fill:#b5c397;stroke:#71825b;stroke-width:.075}
#shape-dialog{position:fixed;inset:auto 10px 85px auto;margin:0;width:350px;max-width:calc(100vw - 20px);max-height:65dvh;overflow:auto;padding:14px;border:1px solid #d5ceb9;border-radius:16px;background:#fff9ed;color:#415443;box-shadow:0 12px 40px #27332030}
#shape-dialog::backdrop{background:#27332022}.shape-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px}.shape-heading button{font-size:11px;padding:4px 8px}
.shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.shape-grid button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:10px;font-size:11px;background:#eee9d3;color:#415443}.shape-grid svg{height:44px;width:65px}.shape-grid small{font-size:9px;opacity:.7}.shape-grid button[aria-pressed=true]{border-color:#b64932;background:#f6dfcc}
@media(max-width:400px){#configuration-slot>.sliders{grid-column:2;grid-row:2}body.simulation-workspace #panel{grid-template-columns:90px minmax(0,1fr)}}
/* Silhouettes carry the choice; names remain accessible through labels/tooltips. */
body.simulation-workspace #panel{grid-template-columns:44px minmax(0,1fr)}
#panel #shape-open{width:44px;height:34px;padding:5px;justify-content:center;border-radius:9px}
#shape-open svg{width:32px;height:24px}
#shape-dialog{width:246px;padding:10px}
.shape-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.shape-grid button{height:44px;min-height:44px;padding:5px;justify-content:center;border-radius:8px}
.shape-grid svg{width:100%;height:32px;display:block}
/* A light-dismiss icon list anchored to its trigger, with no modal chrome. */
#shape-dialog{inset:auto;margin:0;width:44px;max-width:44px;padding:3px;box-sizing:content-box;border-radius:11px;overflow-y:auto;scrollbar-width:none;box-shadow:0 4px 16px #27332025}
#shape-dialog::backdrop{background:transparent}
#shape-dialog [data-shape]{display:flex;align-items:center;justify-content:center;width:44px;height:40px;min-height:40px;padding:6px;margin:0;border:0;border-radius:8px;background:transparent;color:#415443}
#shape-dialog [data-shape] svg{display:block;width:32px;height:28px}
#shape-dialog [data-shape][aria-selected=true]{background:#b64932}
#shape-dialog [data-shape][aria-selected=true] svg{fill:#edcb9b;stroke:#fff1cf}
#shape-dialog [data-shape]:hover{background:#e7dfc6}
#shape-dialog [data-shape]:focus-visible{outline:2px solid #b64932;outline-offset:-2px}


/* Paired controls share identical label, track, and value columns. */
#configuration-slot>.sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center}
#configuration-slot>.sliders label{display:grid;grid-template-columns:58px minmax(24px,1fr) 34px;gap:5px;align-items:center;margin:0;min-width:0;height:44px}
#configuration-slot>.sliders input{width:100%;min-width:0;height:44px;margin:0;box-sizing:border-box;cursor:pointer}
#configuration-slot>.sliders output{width:34px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#panel #shape-open{height:44px;min-height:44px}
@media(max-width:420px){#configuration-slot>.sliders{gap:8px}#configuration-slot>.sliders label{grid-template-columns:52px minmax(24px,1fr) 30px;gap:3px;font-size:9px}#configuration-slot>.sliders output{width:30px;font-size:9px}}
/* Narrow phones keep usable travel by stacking the two single-line controls. */
@media(max-width:420px){#configuration-slot>.sliders{grid-template-columns:minmax(0,1fr);gap:0}#configuration-slot>.sliders label{grid-template-columns:58px minmax(60px,1fr) 34px;font-size:10px;height:36px}#configuration-slot>.sliders input{height:36px}#configuration-slot>.sliders output{width:34px;font-size:10px}#panel .profiles{align-self:center}}
body.simulation-workspace>header #lighting{min-width:0;min-height:30px;padding:4px 12px;border-radius:999px;justify-content:center;white-space:nowrap}
body.simulation-workspace>header #lighting[aria-checked=true]{background:#f5e4cb;border-color:#d6a976}
body.simulation-workspace>header #lighting[aria-checked=false]{background:#eeecd9;border-color:#cec7a8}
#simulator-menu{position:fixed;inset:auto;margin:0;width:180px;box-sizing:border-box;padding:6px;border:1px solid #d5ceb9;border-radius:12px;background:#fff9ed;color:#415443;box-shadow:0 6px 20px #27332024}
#simulator-menu::backdrop{background:transparent}
#simulator-menu .sim-facet{padding:7px 9px 3px;font-size:9px;color:#737d69;text-transform:uppercase;letter-spacing:.08em}
#simulator-menu a,#simulator-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:7px 9px;margin:0;border:0;border-radius:7px;background:transparent;color:inherit;text-decoration:none;font:500 12px Manrope,sans-serif;text-align:left}
#simulator-menu [aria-current=page]{background:#eee8d4;font-weight:700}#simulator-menu a:hover,#simulator-menu button:hover{background:#f2dfcc}#simulator-menu span{font-size:11px;opacity:.75}
#simulator-menu button,#simulator-menu [aria-current=page]{background:transparent;border:0;border-radius:0;font-weight:500;box-shadow:none}
#simulator-menu button:hover{background:transparent}
#simulator-menu button:disabled{color:#99998d;opacity:1;cursor:default}
#simulator-menu button:focus-visible{outline:1px solid #79816c;outline-offset:-3px}
body.simulation-workspace>header #library-open:disabled{opacity:1;color:inherit;cursor:default;background:transparent}

/* Primary controls stay in one row; detailed parameters live beside the preview. */
body.simulation-workspace #panel{display:grid!important;grid-template-columns:44px minmax(0,1fr) 66px!important;align-items:center;gap:10px;padding:10px 12px!important;overflow:visible}
#panel .profiles{grid-column:1;grid-row:1;margin:0}
#configuration-slot>.sliders{grid-column:2!important;grid-row:1!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#configuration-slot>.sliders label{grid-template-columns:auto minmax(20px,1fr) 34px;height:44px;gap:6px}
#advanced-open{grid-column:3;grid-row:1;height:44px;padding:0 6px;font-size:11px;border:1px solid #d5ceb9;border-radius:10px;background:#eee9d3;color:inherit}
#advanced-panel[hidden]{display:none!important}
#advanced-panel{position:fixed;z-index:40;right:10px;top:64px;bottom:86px;width:300px;box-sizing:border-box;border:1px solid #d5ceb9;border-radius:16px;background:var(--surface,#fff9ed);color:var(--text,#415443);display:flex;flex-direction:column;box-shadow:0 5px 20px #27332015}
.advanced-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #d5ceb9;font-size:14px}
.advanced-heading button{background:transparent;border:0;color:inherit;font-size:11px;padding:6px}
.advanced-content{overflow:auto;min-height:0;padding:14px}
#advanced-panel .animal-controls{padding:0;border:0;margin:0}
#advanced-panel .sliders{display:grid;grid-template-columns:1fr;gap:14px;margin:20px 0}
#advanced-panel .sliders label{display:grid;grid-template-columns:78px minmax(0,1fr) 24px;align-items:center;gap:8px;font-size:12px}
#advanced-panel input[type=range]{width:100%;min-width:0;accent-color:#b64932}
#advanced-panel output{text-align:right;font-size:12px}
#advanced-panel .arrival-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
#advanced-panel .arrival-controls label{display:flex;align-items:center;gap:6px;font-size:12px;margin:0}
#advanced-panel select{width:150px;max-width:100%;font-size:12px;padding:8px}
#advanced-panel #effect-time{width:52px;font-size:12px;padding:8px;box-sizing:border-box}
#tune-arrival,#replay-arrival{display:none!important}
body.advanced-open #world{right:320px;width:calc(100% - 320px)}
@media(max-width:600px){body.simulation-workspace #panel{gap:6px;padding:8px!important;grid-template-columns:40px minmax(0,1fr) 58px!important}#panel #shape-open{width:40px}#configuration-slot>.sliders{gap:6px}#configuration-slot>.sliders label{grid-template-columns:auto minmax(16px,1fr) 27px;font-size:9px;gap:3px;height:44px}#configuration-slot>.sliders output{width:27px;font-size:9px}#advanced-open{font-size:10px}#advanced-panel{top:auto;bottom:80px;left:10px;right:10px;width:auto;height:43dvh}body.advanced-open #world{right:0;bottom:calc(43dvh + 80px);height:calc(57dvh - 80px);width:100%}}
#configuration-slot>.sliders label{grid-template-columns:58px minmax(20px,1fr) 34px}
@media(max-width:600px){#configuration-slot>.sliders label{grid-template-columns:48px minmax(16px,1fr) 27px}}

/* Endpoint pictograms replace visible names and values, retaining accessible names. */
#configuration-slot>.sliders label{grid-template-columns:28px minmax(20px,1fr) 28px;gap:5px}
#configuration-slot>.sliders label>span:not(.slider-endpoint),#configuration-slot>.sliders output{display:none}
#configuration-slot .slider-endpoint{display:flex;align-items:center;justify-content:center;width:28px;height:32px}
#configuration-slot .slider-endpoint svg{display:block;width:28px;height:28px}
@media(max-width:600px){#configuration-slot>.sliders label{grid-template-columns:24px minmax(16px,1fr) 24px;gap:3px}#configuration-slot .slider-endpoint{width:24px}#configuration-slot .slider-endpoint svg{width:24px;height:24px}}

body.simulation-workspace #panel{grid-template-columns:44px minmax(0,1fr) 44px!important}
#advanced-open{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px}
#advanced-open svg{display:block;width:22px;height:22px}
@media(max-width:600px){body.simulation-workspace #panel{grid-template-columns:40px minmax(0,1fr) 40px!important}#advanced-open{width:40px;padding:9px}}

/* Shared SVG icons replace font glyphs and mixed filled/outline controls. */
body.simulation-workspace>header #app-settings-toggle{display:flex!important;align-items:center!important;justify-content:center!important;position:static!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;margin:0!important;line-height:0!important;box-sizing:border-box!important;transform:none!important}
body.simulation-workspace>header #app-settings-toggle::before,body.simulation-workspace>header #app-settings-toggle::after{content:none!important;display:none!important}
body.simulation-workspace>header button .ui-icon{display:block!important;position:static!important;width:20px!important;height:20px!important;margin:0!important;flex:none;transform:none!important}
#advanced-open .ui-icon{width:20px;height:20px}
#configuration-slot .slider-endpoint{color:var(--app-ink,#415443)}
#shape-open svg,#shape-dialog svg{fill:var(--app-ink,#415443);fill-opacity:.12;stroke:var(--app-ink,#415443)}
#shape-dialog [data-shape][aria-selected=true] svg{fill:#fff9ed;stroke:#fff9ed;fill-opacity:.3}

.season-controls{border-top:1px solid var(--app-border,#d5ceb9);padding-top:14px;margin-top:16px}.season-controls label{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0}.season-controls input{width:50px}#season-readout{font-size:11px;line-height:1.6;color:var(--app-muted,#65705d)}

/* Compact single-choice facets, aligned with the shared icon system. */
body.simulation-workspace>header #lighting,body.simulation-workspace>header #season-toggle{display:flex;align-items:center;justify-content:center;flex:none;min-width:30px;width:30px;height:30px;padding:5px!important;border:0;background:transparent;border-radius:8px;color:inherit}
body.simulation-workspace>header #season-toggle{order:1}body.simulation-workspace>header .facet-trigger[aria-expanded=true]{background:var(--app-selection,#eee6cf)!important}
.facet-picker{position:fixed;inset:auto;margin:0;padding:5px;width:130px;box-sizing:border-box;border:1px solid var(--app-border,#d5ceb9);border-radius:12px;background:var(--app-paper,#fff9ed);color:var(--app-ink,#415443);box-shadow:0 5px 18px #27332022}
.facet-picker::backdrop{background:transparent}.facet-picker button{display:block;width:100%;min-height:36px;text-align:left;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;font:500 12px Manrope,sans-serif}.facet-picker button[aria-selected=true]{background:var(--app-accent,#b64932);color:var(--app-paper,#fff9ed)}.facet-picker button:focus-visible{outline:2px solid var(--app-accent,#b64932);outline-offset:-2px}
.biodiversity-controls{padding:0 0 14px;border-bottom:1px solid var(--app-border,#d5ceb9)}.biodiversity-controls label{display:flex;justify-content:space-between;font-size:12px}.biodiversity-controls input{width:100%;height:32px;accent-color:var(--app-accent,#b64932)}.regional-inventory{border-top:1px solid var(--app-border,#d5ceb9);margin-top:20px;padding-top:10px}.regional-inventory h3{font-size:13px}.regional-inventory p,.regional-inventory li{font-size:11px;line-height:1.6}.regional-inventory ul{columns:2;padding-left:14px}

body[data-time=night]>.live-status,body[data-time=night]>.live-status small{color:#dce6ed!important}

.season-controls label[hidden]{display:none}#season-cycle{padding:7px 12px;font-size:12px;border:1px solid var(--app-border,#d5ceb9);border-radius:9px;background:transparent;color:inherit}#season-cycle[aria-pressed=true]{background:var(--app-accent,#b64932);color:var(--app-paper,#fff9ed)}
/* One compact, unlabelled toolbar; related actions share separators. */
body.simulation-workspace>header.grouped-toolbar{inset:8px 12px auto!important;height:52px!important;max-width:none!important;width:auto!important;padding:6px 10px!important;display:flex!important;gap:10px!important;border-radius:16px!important;box-sizing:border-box}
.grouped-toolbar #library-open{display:none!important}
body.simulation-workspace .grouped-toolbar .live-status{position:static!important;inset:auto!important;flex:1;min-width:0;max-width:none!important;margin:0!important;padding:0!important;color:var(--app-ink)!important}
.grouped-toolbar .live-status b{display:block;font-size:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grouped-toolbar .live-status small{font-size:10px!important;display:block;color:var(--app-muted)!important;white-space:nowrap}
.toolbar-group{display:flex;align-items:center;gap:6px;flex:none}
.toolbar-group+.toolbar-group{border-left:1px solid var(--app-border);padding-left:10px}
body.simulation-workspace>header.grouped-toolbar .toolbar-group button{display:flex!important;align-items:center;justify-content:center;gap:7px;width:auto!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:6px 9px!important;border:1px solid var(--app-border)!important;border-radius:10px!important;background:transparent;font-size:12px;line-height:1.1;order:0!important}
body.simulation-workspace>header.grouped-toolbar .button-label{display:inline!important}
.grouped-toolbar #pause{background:var(--app-accent)!important;color:var(--app-paper)!important;border-color:var(--app-accent)!important}
.grouped-toolbar .clock-copy{display:flex;flex-direction:column;align-items:start;gap:2px}
.grouped-toolbar .clock-copy small{font-size:9px;color:var(--app-muted)}
body.simulation-workspace>header.grouped-toolbar #app-settings-toggle{padding:7px!important;line-height:0!important}
@media(max-width:850px){body.simulation-workspace>header.grouped-toolbar{gap:6px!important}.toolbar-group+.toolbar-group{padding-left:6px}.grouped-toolbar .live-status small{white-space:normal;line-height:1.2}.grouped-toolbar .live-status b{font-size:13px!important}body.simulation-workspace>header.grouped-toolbar .toolbar-group button{padding:6px!important;gap:4px;font-size:11px}}
@media(max-width:600px){body.simulation-workspace>header.grouped-toolbar{inset:6px 8px auto!important;height:auto!important;flex-wrap:wrap!important;gap:6px!important}.grouped-toolbar .live-status{flex-basis:100%!important}.grouped-toolbar .live-status small{display:none!important}.toolbar-group{flex:1;justify-content:center;gap:4px}.toolbar-group+.toolbar-group{padding-left:4px}body.simulation-workspace>header.grouped-toolbar #generate .button-label{display:none!important}body.simulation-workspace>header.grouped-toolbar .toolbar-group button{min-width:32px!important;padding:5px!important;font-size:10px}}
#notice-toggle{position:relative}#notice-toggle.has-notices::after{content:'';position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--app-accent)}
#ranch-notices{position:fixed;inset:66px 12px auto auto;margin:0;max-width:min(280px,calc(100vw - 32px));max-height:220px;overflow:auto;background:var(--app-paper);color:var(--app-ink);border:1px solid var(--app-border);border-radius:12px;padding:10px 14px;box-shadow:0 8px 24px #0002;font:12px/1.5 var(--app-font)}#ranch-notices p{margin:6px 0}@media(max-width:600px){#ranch-notices{top:88px}}

.tile-motion-controls label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.tile-motion-controls select{max-width:65%}.motion-actions{display:flex;flex-wrap:wrap;gap:6px}.motion-actions button{padding:8px 12px;min-height:40px}.tile-motion-controls p{font-size:12px;line-height:1.5}
/* One compact phone toolbar; names remain accessible through button labels/titles. */
@media(max-width:600px){
 body.simulation-workspace>header.grouped-toolbar{height:56px!important;flex-wrap:nowrap!important;inset:6px 6px auto!important;padding:6px!important;gap:3px!important}
 body.simulation-workspace>header.grouped-toolbar .live-status{flex:1 1 0!important;min-width:18px!important;flex-basis:0!important}
 .grouped-toolbar .live-status b{font-size:11px!important}
 .grouped-toolbar .toolbar-group{flex:0 0 auto;gap:2px;justify-content:center}
 .grouped-toolbar .toolbar-group+.toolbar-group{border:0;padding-left:0}
 body.simulation-workspace>header.grouped-toolbar .toolbar-group button,body.simulation-workspace>header.grouped-toolbar #app-settings-toggle{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:7px!important;gap:0!important}
 body.simulation-workspace>header.grouped-toolbar .button-label,.grouped-toolbar .clock-copy,.grouped-toolbar #season-toggle>span{display:none!important}
 .grouped-toolbar button svg{width:22px!important;height:22px!important}
 #ranch-notices{top:66px}
}
@media(max-width:360px){body.simulation-workspace>header.grouped-toolbar .toolbar-group button,body.simulation-workspace>header.grouped-toolbar #app-settings-toggle{width:36px!important;min-width:36px!important;padding:6px!important}}
/* Weather stays in the existing bar; the choices scroll within short screens. */
#weather-toggle-choices{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:360px){body.simulation-workspace>header.grouped-toolbar .toolbar-group button,body.simulation-workspace>header.grouped-toolbar #app-settings-toggle{width:32px!important;min-width:32px!important;padding:5px!important}}
/* One lower-left tile tool, with a bounded preview above it. */
#tile-chooser-toggle{position:fixed;left:14px;bottom:14px;width:46px;height:46px;padding:10px;display:grid;place-items:center;border:1px solid var(--app-border,#d8cfb5);border-radius:12px;background:var(--app-paper,#fff9ed);color:var(--app-ink,#43513d);z-index:35}#tile-chooser-toggle svg{width:24px;height:24px}#tile-chooser{position:fixed;inset:auto auto 70px 14px;margin:0;width:min(310px,calc(100vw - 28px));max-height:calc(100dvh - 140px);overflow:auto;border:1px solid var(--app-border,#d8cfb5);border-radius:16px;padding:10px;background:var(--app-paper,#fff9ed);color:var(--app-ink,#43513d);box-shadow:0 6px 22px #0002}#tile-chooser::backdrop{background:transparent}.tile-options{display:flex;gap:4px}.tile-options button{flex:1;font:12px Manrope,sans-serif;min-height:40px;padding:5px}.tile-options button[aria-pressed=true]{background:var(--app-accent,#b84931);color:var(--app-paper,#fff9ed)}.tile-preview{height:210px;margin-top:8px;border-radius:10px;overflow:hidden}.tile-preview canvas{display:block;touch-action:none}.tile-preview-status{font:12px/1.5 Manrope,sans-serif;margin:8px 0}.tile-preview-actions{display:flex;align-items:center;gap:5px;font-size:11px}.tile-preview-actions button{min-height:40px}.tile-preview-actions .add-tile{margin-left:auto;background:var(--app-accent,#b84931);color:var(--app-paper,#fff9ed)}body[data-family=moon] #tile-chooser-toggle{display:none!important}@media(max-width:700px){#tile-chooser-toggle{bottom:94px}#tile-chooser{bottom:148px;max-height:calc(100dvh - 215px)}.tile-preview{height:170px}}

#tile-chooser-toggle{bottom:94px}#tile-chooser{bottom:148px;max-height:calc(100dvh - 215px)}
/* Expansion is a bounded palette over the working surface, not a second viewer. */
#tile-chooser:not([hidden]){display:block;position:fixed;inset:auto auto 148px 14px;margin:0;z-index:36;padding:12px;border:1px solid var(--app-border,#d9cfb0);border-radius:18px;background:var(--app-paper,#fff9ed);box-shadow:0 8px 28px #343a2420;width:min(310px,calc(100vw - 28px));max-height:calc(100dvh - 220px);overflow:auto}
#tile-chooser[hidden],#tile-chooser [hidden]{display:none!important}
.tile-expand-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.tile-expand-heading button{min-width:40px;min-height:40px;font-size:24px}.tile-options button{touch-action:none;min-height:44px;cursor:grab}.tile-options button:active{cursor:grabbing}#tile-chooser>.add-tile{width:100%;min-height:44px}#tile-chooser-toggle[aria-expanded=true]{background:var(--app-accent,#b84931);color:#fff}

.place-name-row{display:flex;align-items:center;gap:4px;min-width:0}.place-name-row #label{min-width:0;flex:0 1 auto}header.grouped-toolbar #site-warning{flex:0 0 28px;display:grid;place-items:center;min-width:28px;width:28px;height:28px;padding:5px!important;border:0;background:transparent;color:var(--app-accent,#b84931);border-radius:8px}header.grouped-toolbar #site-warning[hidden]{display:none!important}#site-warning svg{width:16px;height:16px}#site-warning:focus-visible{outline:2px solid currentColor;outline-offset:1px}#site-warning-details{position:fixed;inset:70px auto auto 16px;margin:0;width:min(300px,calc(100vw - 32px));box-sizing:border-box;padding:12px 14px;border:1px solid var(--app-border,#d8cfb5);border-radius:12px;background:var(--app-paper,#fff9ed);color:var(--app-ink,#43513d);font:12px/1.5 Manrope,sans-serif;box-shadow:0 6px 22px #0002}#site-warning-details::backdrop{background:transparent}

/* Generator selection owns the single lower tray while placing tiles. */
#tile-chooser-toggle svg{width:34px;height:30px}#tile-chooser-toggle{padding:5px}
#scene-generator-picker{position:fixed;left:14px;bottom:148px;z-index:40;width:190px;max-height:45dvh;overflow:auto;padding:8px;border:1px solid var(--app-border);border-radius:14px;background:var(--app-paper);box-shadow:0 8px 28px #0002}#scene-generator-picker button{display:block;width:100%;min-height:44px;text-align:left;border:0;background:transparent;padding:10px 12px;color:var(--app-ink);font:13px var(--app-font)}#scene-generator-picker button[aria-pressed=true]{color:var(--app-accent);font-weight:700}body[data-tile-tray=open] #panel{visibility:hidden;pointer-events:none}
#tile-chooser:not([hidden]){inset:auto auto 10px 50%;transform:translateX(-50%);width:min(760px,calc(100vw - 20px));box-sizing:border-box;max-height:160px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;overflow:visible}
#tile-chooser .tile-expand-heading{position:absolute;right:4px;top:-40px;margin:0}#tile-chooser .tile-expand-heading span{display:none}#tile-chooser .tile-expand-heading button{background:var(--app-paper);border:1px solid var(--app-border);border-radius:10px;min-height:32px;height:32px;min-width:32px;font-size:20px}
#tile-chooser .tile-options{grid-column:1;overflow-x:auto;overscroll-behavior:contain;min-width:0;gap:8px}#tile-chooser .tile-options button{flex:1 0 82px;min-height:48px;border-radius:10px;border:1px solid var(--app-border);background:transparent;color:var(--app-ink);font:12px var(--app-font)}#tile-chooser .tile-options button[aria-pressed=true]{background:var(--app-accent);color:var(--app-paper)}#tile-chooser>.add-tile{grid-column:2;grid-row:1;min-height:44px;width:auto}#tile-chooser .tile-preview-status{grid-column:1/-1;margin:0;font-size:11px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#current-scene-type{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);width:min(736px,calc(100vw - 44px));font:600 13px var(--app-font);color:var(--app-ink);pointer-events:none;z-index:34}body[data-tile-tray=open] #current-scene-type{bottom:104px}body[data-family=moon] #current-scene-type{display:none}

/* The scene-generator control belongs to the bottom bar in both modes. */
body.simulation-workspace #panel{grid-template-columns:44px 44px minmax(0,1fr) 44px!important}
#panel #tile-chooser-toggle{grid-column:1;grid-row:1}#panel #shape-open{grid-column:2;grid-row:1}#panel #configuration-slot>.sliders{grid-column:3;grid-row:1}#panel #advanced-open{grid-column:4;grid-row:1}
#panel #tile-chooser-toggle,#tile-chooser #tile-chooser-toggle{position:static;inset:auto;transform:none;width:44px;height:44px;min-width:44px;margin:0;padding:5px;border-radius:10px;align-self:center}
#tile-chooser:not([hidden]){grid-template-columns:44px minmax(0,1fr) auto}#tile-chooser #tile-chooser-toggle{grid-column:1;grid-row:1}#tile-chooser .tile-options{grid-column:2}#tile-chooser>.add-tile{grid-column:3}#tile-chooser .tile-preview-status{grid-column:2/-1}
@media(max-width:600px){body.simulation-workspace #panel{grid-template-columns:40px 40px minmax(0,1fr) 40px!important;gap:5px}#panel #tile-chooser-toggle{width:40px;min-width:40px}#configuration-slot>.sliders{gap:4px}}

/* Icon-only weather facets retain names for assistive tech and hover. */
#weather-toggle-choices.iconic-picker{width:200px;min-width:0;box-sizing:border-box;padding:8px;grid-template-columns:repeat(4,1fr);gap:4px}#weather-toggle-choices.iconic-picker:popover-open{display:grid}#weather-toggle-choices button{width:42px;min-width:42px;height:44px;min-height:44px;padding:9px;display:grid;place-items:center}#weather-toggle-choices svg{width:24px;height:24px}
#simulation-speed{position:relative;display:grid!important;place-items:center;min-width:44px!important;width:44px;height:44px;padding:6px!important}#simulation-speed>.ui-icon{width:25px;height:25px;margin-top:-5px}#simulation-speed .pace-badge{position:absolute;bottom:2px;left:0;width:100%;text-align:center;font:700 9px/11px var(--app-font);font-variant-numeric:tabular-nums}#simulation-speed-choices button{display:flex;align-items:center;gap:10px;min-height:44px}#simulation-speed-choices .ui-icon{width:22px;height:22px;flex:none}

/* Garden controls stay within the existing bounded placement tray. */
#tile-chooser .tile-options button{flex:0 0 132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:76px;padding:4px}#tile-chooser .tile-options img{width:120px;height:64px;object-fit:contain;pointer-events:none}#tile-chooser .garden-facets{grid-column:2/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}#tile-chooser .garden-facets label{display:grid;gap:3px;font:11px var(--app-font);min-width:0}#tile-chooser .garden-facets select{width:100%;min-height:36px;font:12px var(--app-font)}#tile-chooser .garden-facets input{width:100%;min-width:0;accent-color:var(--app-accent)}#tile-chooser:not([hidden]){max-height:min(240px,40dvh);overflow:auto}#tile-chooser .tile-expand-heading{position:fixed;right:4px;top:4px}#tile-chooser>.add-tile{align-self:center;margin-right:26px}#tile-chooser .tile-preview-status{white-space:normal;max-height:32px;overflow:auto}@media(max-width:600px){#tile-chooser .garden-facets{gap:8px;grid-column:1/-1}#tile-chooser .tile-options button{flex-basis:116px}#tile-chooser .tile-options img{width:108px;height:60px}#tile-chooser>.add-tile{font-size:12px;padding:5px;margin-right:24px}}

/* The shape picker is inside .profiles; the sliders must occupy the flexible track. */
body[data-family=ranch] #panel .profiles{grid-column:2!important;grid-row:1!important;min-width:0}
body[data-family=ranch] #panel #configuration-slot>.sliders{grid-column:3!important;grid-row:1!important;min-width:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-family=ranch] #panel #configuration-slot>.sliders input{width:100%;min-width:0;max-width:100%;height:44px}
@media(max-width:380px){body[data-family=ranch] #panel #configuration-slot>.sliders label{grid-template-columns:12px minmax(0,1fr) 12px;gap:2px}body[data-family=ranch] #configuration-slot .slider-endpoint,body[data-family=ranch] #configuration-slot .slider-endpoint svg{width:12px;height:20px}}
/* Passive information is inset into the scene; actions retain one compact bar. */
body[data-family=ranch] header.grouped-toolbar{left:auto!important;right:12px!important;top:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;min-height:48px!important;padding:5px!important;gap:4px!important;border-radius:18px!important;display:flex!important;flex-wrap:nowrap!important}
body[data-family=ranch] header.grouped-toolbar .toolbar-group{gap:3px!important;padding:0 4px!important;min-width:0!important}
body[data-family=ranch] header.grouped-toolbar button{width:40px!important;height:40px!important;min-width:40px!important;padding:8px!important;border-radius:12px!important}
body[data-family=ranch] header #playback-label,body[data-family=ranch] header .button-label,body[data-family=ranch] header .clock-copy,body[data-family=ranch] header #season-toggle>span{display:none!important}
body[data-family=ranch] header #simulation-speed{position:relative}
body[data-family=ranch] header #simulation-speed .pace-badge{position:absolute;bottom:1px;right:2px;font-size:9px;line-height:11px;background:var(--app-paper,#fff9ec);padding:0 2px;border-radius:3px}
#scene-readouts{position:fixed;z-index:12;left:22px;top:18px;pointer-events:none;max-width:min(460px,calc(100vw - 460px));color:var(--app-ink,#433c2b);text-shadow:0 1px 3px var(--app-paper,#fff9ec)}
#scene-readouts .live-status{position:static!important;display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:100%!important;color:inherit!important}
#scene-readouts #label{font-size:24px!important;line-height:1.15!important;margin:0 0 4px!important;white-space:normal!important}
#scene-readouts .live-status button{pointer-events:auto}
.scene-widgets{display:flex;gap:24px;margin-top:14px;align-items:center}
.scene-clock,.scene-weather{display:flex;gap:9px;align-items:center}
.scene-widgets strong,.scene-widgets small{display:block;font-size:15px;line-height:1.5}
.scene-widgets small{font-size:12px;opacity:.8}
.scene-clock>svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.weather-symbol svg{width:38px;height:38px}
#scene-readouts .live-status #summary{font-size:12px!important}
body:not([data-family=ranch]) #scene-readouts .scene-widgets{display:none}
body:not([data-family=ranch]) #scene-readouts{top:80px;max-width:320px}
#scene-build-progress{position:fixed;z-index:35;left:50%;bottom:122px;transform:translateX(-50%);width:min(300px,calc(100vw - 36px));padding:10px 14px;border-radius:12px;background:var(--app-paper,#fff9ec);color:var(--app-ink,#433c2b);box-shadow:0 4px 20px #0002;pointer-events:none}
#scene-build-progress[hidden]{display:none!important}
#scene-build-progress span{display:block;font-size:12px;margin-bottom:5px}
#scene-build-progress progress{display:block;width:100%;height:6px;accent-color:var(--app-accent,#b84c30)}
@media(max-width:760px){
 body[data-family=ranch] header.grouped-toolbar{right:8px!important;top:8px!important;padding:3px!important;gap:1px!important}
 body[data-family=ranch] header.grouped-toolbar .toolbar-group{gap:1px!important;padding:0 2px!important}
 body[data-family=ranch] header.grouped-toolbar button{width:36px!important;min-width:36px!important;height:40px!important;padding:8px!important}
 #scene-readouts{left:16px;top:76px;max-width:calc(100vw - 32px)}
 #scene-readouts #label{font-size:21px!important}
 .scene-widgets{margin-top:10px;gap:22px}
 #scene-build-progress{bottom:108px}
}
@media(max-width:360px){body[data-family=ranch] header.grouped-toolbar button{width:32px!important;min-width:32px!important;padding:6px!important}.scene-widgets{gap:16px}}
#scene-readouts #label{font-family:var(--app-heading,serif)!important}
.scene-widgets{font-family:var(--app-font,sans-serif)}
/* Append to the current workspace stylesheet; preserve layout and saved theme. */
body.simulation-workspace :is(button,select,input,textarea){font-family:var(--app-font);accent-color:var(--app-accent)}
body.simulation-workspace :is(select,input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea){background:var(--app-paper);color:var(--app-ink);border-color:var(--app-border)}
body.simulation-workspace select option{background:var(--app-paper);color:var(--app-ink)}
body.simulation-workspace :is(button,select,input,textarea):focus-visible{outline:2px solid var(--app-accent);outline-offset:3px}
body.simulation-workspace :is(button,select,input):disabled{opacity:.5;cursor:not-allowed}
body.simulation-workspace>header :is(#pause,#generate,#settings){color:var(--app-ink)}
body.simulation-workspace #library-open{font-family:var(--app-heading)}
body.simulation-workspace #panel .sliders input{accent-color:var(--app-accent)}
body.simulation-workspace #panel summary{color:var(--app-muted)}
body.simulation-workspace #panel .animal-controls[open]{border-color:var(--app-border)}
body.simulation-workspace #panel .profile span{--label-outline:var(--app-paper)}
body.simulation-workspace #panel .profile svg{fill:var(--app-paper);stroke:var(--app-muted)}
body.simulation-workspace #panel .profile[aria-pressed=true] svg{fill:var(--app-accent);stroke:var(--app-ink)}
body.simulation-workspace #shape-dialog [data-shape][aria-selected=true]{background:var(--app-accent);color:var(--app-paper)}
body.simulation-workspace #shape-dialog [data-shape][aria-selected=true] svg{fill:var(--app-paper);stroke:var(--app-paper)}
body.simulation-workspace :is(.tile-options button,.tile-preview-status,.tile-preview-actions,#site-warning-details){font-family:var(--app-font)}
body.simulation-workspace>header #pause{color:var(--app-on-accent,#fffdf4)}
/* One Ranch-style placement bar; additional settings rise from its right edge. */
#tile-chooser:not([hidden]){width:min(900px,calc(100vw - 20px));max-height:none;overflow:visible;grid-template-columns:44px 44px minmax(160px,1fr) 88px 44px 44px;align-items:center;gap:6px;padding:10px 12px}
#tile-chooser #tile-chooser-toggle{grid-column:1;grid-row:1}
#tile-chooser .placement-facet{grid-column:2;grid-row:1;position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-paper)}
.placement-facet>svg{width:28px;height:28px;color:var(--app-ink)}
#tile-chooser .placement-facet select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.placement-facet:focus-within{outline:2px solid var(--app-accent);outline-offset:2px}
#tile-chooser .placement-axes{grid-column:3;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.placement-axes label{display:grid;grid-template-columns:22px minmax(0,1fr) 26px;align-items:center;gap:5px;min-width:0}
.placement-axes input{width:100%;min-width:0;height:44px;accent-color:var(--app-accent)}
.placement-axes svg{width:100%;height:28px;color:var(--app-ink)}
#tile-chooser .tile-options{grid-column:4;grid-row:1;overflow:visible}
#tile-chooser .tile-options button{flex:0 0 88px;width:88px;min-height:48px;height:48px;padding:2px;background:var(--app-paper);color:var(--app-ink);border-color:var(--app-border)}
#tile-chooser .tile-options img{width:80px;height:40px}
#tile-chooser .tile-options img:not([hidden])+span{display:none}
#tile-chooser>.add-tile{grid-column:5;grid-row:1;width:44px;height:44px;margin:0;padding:8px;background:var(--app-accent);color:var(--app-on-accent);border-radius:10px;border:1px solid var(--app-border)}
#tile-chooser>.add-tile svg{width:25px;height:25px}
#tile-chooser .placement-advanced{grid-column:6;grid-row:1;width:44px;height:44px;padding:8px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-paper);color:var(--app-ink)}
.placement-advanced svg{width:26px;height:26px}
#tile-chooser .tile-preview-status{grid-column:1/-1;grid-row:2;font-size:11px;max-height:30px;line-height:15px;margin:0}
#tile-chooser .tile-expand-heading{position:absolute;top:-39px;right:0}
#tile-chooser .placement-details{position:absolute;bottom:calc(100% + 8px);right:42px;width:280px;max-width:calc(100vw - 42px);max-height:min(400px,55dvh);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:16px;border:1px solid var(--app-border);border-radius:16px;background:var(--app-paper);color:var(--app-ink);box-shadow:0 6px 24px #0002;font-family:var(--app-font)}
.placement-details strong{display:block;font:600 17px var(--app-heading)}
.placement-details p{font-size:12px;line-height:1.5}
.placement-details label{display:grid;gap:4px;margin-top:12px;font-size:12px}
.placement-details input{width:100%;height:44px;accent-color:var(--app-accent)}
@media(max-width:650px){
 #tile-chooser:not([hidden]){grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;gap:6px;padding:8px 10px}
 #tile-chooser .placement-axes{grid-column:1/-1;grid-row:2;gap:12px}
 #tile-chooser .tile-options{grid-column:3;justify-content:center}
 #tile-chooser>.add-tile{grid-column:4}
 #tile-chooser .placement-advanced{grid-column:5}
 #tile-chooser .tile-preview-status{grid-row:3;max-height:30px}
 #tile-chooser .placement-details{right:0;max-height:min(360px,45dvh);width:min(300px,calc(100vw - 20px))}
}

/* Scene selection stays in the tray; only a deliberate drag/drop places it. */
#tile-chooser:not([hidden]){grid-template-columns:44px 44px minmax(160px,1fr) 160px 44px}
#tile-chooser>.add-tile{display:none!important}
#tile-chooser .placement-advanced{grid-column:5}
#tile-chooser .tile-options button{width:160px;flex-basis:160px;height:96px;min-height:96px;cursor:grab;touch-action:none;user-select:none}
#tile-chooser .tile-options button:active{cursor:grabbing}
#tile-chooser .tile-options button:disabled{cursor:progress;opacity:.55}
#tile-chooser .tile-options img{width:152px;height:86px;pointer-events:none;-webkit-user-drag:none}
#scene-drag-ghost{position:fixed;width:144px;height:81px;object-fit:contain;transform:translate(-50%,-72%);pointer-events:none;z-index:110;background:var(--app-paper);border:2px solid var(--app-accent);border-radius:12px;opacity:.85;box-shadow:0 4px 16px #0003}
#scene-tray-tooltip{position:fixed;z-index:120;max-width:min(280px,calc(100vw - 16px));padding:7px 10px;border-radius:8px;border:1px solid var(--app-border);background:var(--app-ink);color:var(--app-paper);font:12px/1.4 var(--app-font);pointer-events:none;box-shadow:0 3px 12px #0002}
@media(max-width:600px){
 #tile-chooser:not([hidden]){grid-template-columns:40px 40px minmax(0,1fr) 40px;gap:6px}
 #tile-chooser .tile-options{grid-column:3}
 #tile-chooser .tile-options button{width:132px;flex-basis:132px;height:80px;min-height:80px;max-width:100%}
 #tile-chooser .tile-options img{width:124px;height:70px;max-width:100%}
 #tile-chooser .placement-advanced{grid-column:4;width:40px}
}


/* Keep control surfaces and their currentColor icons on the same theme. */
body.simulation-workspace #panel,
body.simulation-workspace #advanced-panel,
body.simulation-workspace #shape-dialog{background:var(--app-paper);color:var(--app-ink);border-color:var(--app-border)}
body.simulation-workspace #panel #shape-open,
body.simulation-workspace #panel #advanced-open{background:var(--app-paper);color:var(--app-ink);border-color:var(--app-border)}
body.simulation-workspace #panel #shape-open:hover,
body.simulation-workspace #panel #advanced-open:hover{background:var(--app-canvas)}
body.simulation-workspace #panel .sliders input,
body.simulation-workspace #advanced-panel input[type=range]{accent-color:var(--app-accent)}

/* Readable scene annotations and one shared card palette. */
body[data-family=ranch] #toolbar-calendar,body[data-family=ranch] #generate,body[data-family=ranch] #notice-toggle,body[data-family=ranch] #ranch-notices{display:none!important}
body.simulation-workspace #scene-readouts{color:var(--app-ink)!important;text-shadow:none!important;background:color-mix(in srgb,var(--app-paper) 96%,transparent);border:1px solid var(--app-border);border-radius:16px;padding:12px 16px;max-width:min(460px,calc(100vw - 260px));box-shadow:0 3px 18px #00000012}
body.simulation-workspace #scene-readouts *{text-shadow:none!important;filter:none!important}
body.simulation-workspace #scene-readouts :is(#stats,#summary,small){color:var(--app-ink)!important;opacity:1}
body.simulation-workspace #scene-readouts .scene-widgets{gap:20px;margin-top:10px}
body.simulation-workspace #scene-readouts button{pointer-events:auto;border:0;background:transparent;color:inherit;box-shadow:none;padding:0;text-align:left;font-family:var(--app-font);cursor:pointer;min-height:44px;border-radius:6px}
body.simulation-workspace #scene-readouts button:hover{background:color-mix(in srgb,var(--app-ink) 7%,transparent)}
body.simulation-workspace #scene-readouts strong{font:600 15px var(--app-font)}
body.simulation-workspace #scene-readouts .scene-weather{position:relative;display:grid;gap:0;padding-left:42px}
body.simulation-workspace #scene-readouts #scene-weather-control{min-height:24px}
body.simulation-workspace #scene-readouts .weather-symbol{position:absolute;left:0;top:4px;pointer-events:none}
body.simulation-workspace #scene-readouts #scene-season-control{font-size:12px;min-height:24px}
body.simulation-workspace #inspection{background:var(--app-paper)!important;color:var(--app-ink)!important;border:1px solid var(--app-border)!important;border-radius:16px!important;box-shadow:0 4px 18px #0002!important;font-family:var(--app-font)!important}
body.simulation-workspace #inspection #inspect-name{font-family:var(--app-heading)!important;color:var(--app-ink)!important}
body.simulation-workspace #inspection #inspect-status{border:0!important;border-left:2px solid var(--app-accent)!important;background:color-mix(in srgb,var(--app-accent) 8%,var(--app-paper))!important;color:var(--app-ink)!important;border-radius:6px}
body.simulation-workspace #inspection #inspect-hero{border:1px solid var(--app-border)!important;box-shadow:none!important;border-radius:8px!important;background:var(--app-paper)!important}
body.simulation-workspace #inspection .inspect-actions{border-top:1px solid var(--app-border);padding-top:6px;gap:6px}
body.simulation-workspace #inspection .inspect-actions button{color:var(--app-ink)!important;font-family:var(--app-font);min-height:36px;padding:4px 8px;border-radius:8px}
body.simulation-workspace #inspection :is(#inspect-details,#inspect-live){border-color:var(--app-border);color:var(--app-ink)}
body.simulation-workspace #inspection #close-inspection span{background:var(--app-border)}
@media(max-width:760px){body.simulation-workspace #scene-readouts{left:10px;top:64px;max-width:calc(100vw - 20px);padding:9px 12px}body.simulation-workspace #scene-readouts #label{font-size:18px!important}body.simulation-workspace #scene-readouts .scene-widgets{margin-top:6px;gap:18px}}
@media(max-width:760px){body.simulation-workspace #inspection{top:auto!important;bottom:104px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;max-height:35dvh!important;overflow:auto!important}body.simulation-workspace #scene-readouts #scene-weather-control,body.simulation-workspace #scene-readouts #scene-season-control{min-height:32px}}

/* Generator-owned hero cards form the Sandbox shelf, matching the control-bar height. */
#current-scene-type{display:flex;align-items:stretch;gap:5px;pointer-events:auto;height:var(--hero-height,66px);max-height:100px;font:600 12px var(--app-font);z-index:36}
.generator-hero-track{display:flex;flex:1;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}
.generator-hero-track::-webkit-scrollbar{display:none}
#current-scene-type .generator-hero{position:relative;flex:0 0 calc(var(--hero-height,66px)*2.1);height:100%;min-height:0;display:flex;align-items:center;gap:9px;padding:9px 12px;box-sizing:border-box;border:1px solid var(--app-border,#d8cfb5);border-radius:15px;background:var(--app-paper,#fff9ed);color:var(--app-ink,#43513d);scroll-snap-align:start;touch-action:pan-x;user-select:none;cursor:grab;overflow:hidden;text-align:left}
#current-scene-type .generator-hero[aria-pressed=true]{border:2px solid var(--app-accent,#b84931);background:#f5efda;color:var(--app-ink,#43513d)}
.generator-hero-art{flex:0 0 44px;height:44px;display:grid;place-items:center}.generator-hero-art svg{width:44px;height:42px}.generator-hero-name{position:relative;z-index:2;line-height:1.2;font-size:12px;pointer-events:none}
#current-scene-type .generator-carousel-arrow{flex:0 0 28px;padding:0;border:0;border-radius:10px;background:var(--app-paper,#fff9ed);color:var(--app-ink,#43513d);font-size:24px;min-width:28px;min-height:44px}
#current-scene-type .generator-hero .live-tray-canvas{width:65%;height:100%;position:absolute;left:0;top:0;pointer-events:none;background:transparent}
#current-scene-type .generator-hero:has(.live-tray-canvas) .generator-hero-art{visibility:hidden;flex-basis:52%}
#current-scene-type .generator-hero[aria-busy=true]:after{content:'Preparing…';position:absolute;bottom:2px;left:10px;font-size:9px;background:var(--app-paper,#fff9ed);padding:1px 4px;border-radius:4px}
body.scene-dropper-hidden #current-scene-type{display:none!important}
#tile-chooser:not([hidden]){width:min(760px,calc(100vw - 20px));height:66px;min-height:66px;padding:10px 12px;grid-template-columns:44px 44px minmax(0,1fr) 44px;gap:8px}
#tile-chooser .tile-options,#tile-chooser .tile-expand-heading{display:none!important}
#tile-chooser .placement-axes{grid-column:3;grid-row:1;gap:8px}#tile-chooser .placement-advanced{grid-column:4;grid-row:1}
#tile-chooser .tile-preview-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){#tile-chooser:not([hidden]){grid-template-columns:40px 40px minmax(0,1fr) 40px;padding:10px;gap:5px}#tile-chooser .placement-axes{grid-column:3;grid-row:1;gap:4px}#tile-chooser .placement-facet{width:40px;height:40px}.generator-hero-name{font-size:11px}}

#current-scene-type .generator-hero[aria-pressed=true]{background:#f5efda!important;color:var(--app-ink,#43513d)!important}
#current-scene-type .generator-hero .live-tray-canvas{display:none}
#current-scene-type .generator-hero:has(.live-tray-canvas) .generator-hero-art{visibility:visible;flex-basis:44px}
