#scene-three { position: absolute; inset: 0; z-index: 2; }
#scene-three[hidden], #environment-panel[hidden], #environment-hud[hidden] { display: none; }
#scene-three canvas { display: block; width: 100%; height: 100%; touch-action: none; }
#environment-panel { position: fixed; right: 12px; top: 112px; bottom: 40px; width: min(345px, calc(100vw - 24px)); overflow-y: auto; background: var(--bg2); color: var(--text); border: 1px solid var(--border2); box-shadow: 0 12px 48px #0002; border-radius: 14px; padding: 20px; z-index: 40; font-size: 12px; }
.env-heading { display: flex; align-items: center; justify-content: space-between; }
.env-heading small { color: #35926d; letter-spacing: 2px; font-size: 10px; }
.env-heading h2 { font-size: 21px; margin: 7px 0; font-weight: 600; }
#environment-panel button, .env-file, #environment-hud button { border: 1px solid var(--border2); color: var(--text); background: var(--bg2); padding: 8px 10px; border-radius: 6px; font: inherit; cursor: pointer; display: inline-block; text-align: center; }
#environment-panel button:hover, .env-file:hover { background: var(--bg3); }
#env-close { font-size: 21px !important; border: 0 !important; }
#environment-panel p { color: var(--text2); line-height: 1.7; margin: 8px 0 12px; }
.env-section { border-top: 1px solid var(--border); padding-top: 16px; margin-top: 16px; }
.env-section h3 { font-size: 13px; margin-bottom: 12px; }
.env-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 16px 0; }
#environment-panel .env-methods [aria-selected="true"] { color: #fff; background: #23805e; border-color: #23805e; }
.env-methods button:focus-visible { outline: 2px solid #23805e; outline-offset: 3px; }
.env-method-note { padding: 10px; background: var(--bg3); border-radius: 7px; }
.env-data-tools summary { cursor: pointer; font-weight: 600; }
#environment-panel label { display: block; margin: 8px 0; color: var(--text2); }
#environment-panel input[type=number], #environment-panel textarea { width: 100%; border: 1px solid var(--border2); border-radius: 5px; padding: 7px; background: var(--bg); color: var(--text); font: inherit; margin-top: 5px; }
#environment-panel select { display: block; width: 100%; padding: 7px; margin-top: 5px; border: 1px solid var(--border2); border-radius: 5px; background: var(--bg); color: var(--text); }
#environment-panel button:disabled, #environment-panel input:disabled, #environment-panel select:disabled, #environment-panel textarea:disabled { opacity: .5; cursor: default; }
#environment-panel textarea { resize: vertical; }
#environment-panel input[type=color] { display: block; width: 100%; height: 32px; background: transparent; border: 0; margin-top: 5px; }
.env-row { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.env-row > * { flex: 1; min-width: 0; }
#environment-panel .env-file { color: var(--text); }
#environment-panel .env-check { display: flex; gap: 8px; align-items: center; }
.env-object { display: flex; margin: 6px 0; gap: 4px; }
.env-object button:first-child { flex: 1; text-align: left !important; }
#env-object-list { max-height: 210px; overflow-y: auto; }
#env-object-editor { background: var(--bg3); padding: 10px; border-radius: 6px; }
.env-photo { display: grid; grid-template-columns: 62px 1fr; gap: 6px; margin: 10px 0; }
.env-photo img { width: 62px; height: 62px; border-radius: 4px; object-fit: cover; }
.env-photo button { grid-column: 2; justify-self: end; }
.env-photo textarea { margin: 0 !important; }
.env-photo-title, .env-photo-pose, .env-photo-actions { grid-column: 1 / -1; }
.env-photo-title { overflow-wrap: anywhere; color: var(--text); font-size: 11px; }
.env-photo-pose { color: var(--text2); font-size: 11px; line-height: 1.6; }
.env-photo-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.env-photo-actions button { font-size: 11px !important; padding: 6px 8px !important; }
#environment-hud [hidden] { display: none !important; }
.env-footer { display: flex; gap: 5px; position: static; background: var(--bg2); padding: 12px 0; border-top: 1px solid var(--border); margin-top: 16px; }
.env-footer button { flex: 1; }
#environment-panel #env-message { color: #35926d; }
#environment-hud { position: absolute; top: 18px; left: 18px; z-index: 3; padding: 12px 15px; border-radius: 9px; background: #fffffff0; color: #30473d; font-size: 12px; box-shadow: 0 3px 20px #0001; max-width: calc(100% - 36px); }
#environment-hud strong { display: block; font-size: 14px; margin-bottom: 6px; }
#environment-hud span { display: block; margin-bottom: 8px; }
#environment-hud button { color: #30473d; background: #fff; }
@media (max-width: 700px) { #environment-panel { top: 110px; width: 290px; } #environment-hud { max-width: 190px; } }
#topbar { max-width: 100vw; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
#topbar::-webkit-scrollbar { display: none; }
#topbar > * { flex-shrink: 0; }
#environment-panel [hidden] { display: none !important; }
#environment-panel input[type=text] { width:100%; padding:7px; color:var(--text); background:var(--bg); border:1px solid var(--border2); border-radius:5px; }
.env-methods { grid-template-columns:repeat(4,1fr); gap:4px; }
.env-methods button { padding:8px 3px !important; font-size:11px !important; }
.env-methods small { display:block; margin-bottom:5px; opacity:.65; }
.env-view-switch { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--border); }
.env-view-switch span { width:100%; color:var(--text2); margin-top:4px; }
#environment-panel [aria-pressed=true] { border-color:#23805e; color:#23805e; }
.env-source-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.env-source-grid small { display:block; font-size:10px; margin-top:6px; color:var(--text2); }
.env-component-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
#environment-panel details { margin-top:14px; }
#environment-panel summary { cursor:pointer; line-height:1.6; }
#environment-panel { width:min(375px,calc(100vw - 24px)); }
@media (max-width:700px) { #environment-panel { width:min(330px,calc(100vw - 24px)); top:110px; } }

.env-methods { position:sticky; top:-20px; z-index:2; background:var(--bg2); padding:10px 0; }
#environment-panel [data-env-add] { min-width:82px; white-space:nowrap; }

.env-methods { grid-template-columns:repeat(3,1fr); }
.env-context { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; padding:10px; background:var(--bg3); border-radius:7px; color:var(--text2); }
.env-context button { white-space:nowrap; }
#env-continue { width:100%; background:#23805e !important; color:#fff !important; }
.env-save-note { border-top:1px solid var(--border); padding-top:12px; font-size:11px; }

.env-methods { grid-template-columns:repeat(2,1fr); }
