.encounter{position:relative;background:#17151c;border:1px solid #35303e;border-radius:22px;overflow:hidden;color:#f5f0f6}.encounter-scene{position:relative;height:480px;min-height:320px;isolation:isolate}.encounter-scene canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.encounter-heading{position:absolute;top:22px;left:24px;display:flex;align-items:center;gap:9px;color:#38303e;pointer-events:none}.encounter-heading>span:last-child{margin-left:8px;font-size:11px;opacity:.65}.encounter-dot{width:6px;height:6px;border-radius:50%;background:#6e7860;box-shadow:0 0 0 5px #6e786015}.encounter-hint{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#524553;font-size:11px;pointer-events:none}.encounter-loading{position:absolute;inset:0;display:grid;place-items:center;color:#3d3542;background:#d0c8d1;z-index:2;font-size:13px}.encounter-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px 8px}.encounter-controls label{display:flex;gap:10px;align-items:center;font-size:12px;color:#b6a9be}.encounter-controls select{max-width:250px;background:#25202b;border:1px solid #45394e;border-radius:8px;padding:9px;color:#eadfeb;font:inherit}.encounter-objects{display:flex;gap:7px}.encounter-event{padding:6px 22px 14px;font-size:12px;color:#cdb9da;min-height:32px}.body-credit{font-size:10px;color:#8a7b92;padding:0 22px 12px}.body-credit summary{cursor:pointer}.body-credit small{display:block;margin-top:7px;line-height:1.7}.meet-stage:has(.encounter){padding:0;background:transparent;display:block;min-height:0}.meet-stage:has(.encounter) .meet-dialogue{position:relative;inset:auto;padding:26px;background:#19161f;border:1px solid #39303f;border-radius:22px;margin-top:18px}.meet-stage:has(.encounter) .meet-dialogue h2{font-size:23px;line-height:1.65;margin:0 0 18px}.meet-stage:has(.encounter) .meet-identity,.meet-stage:has(.encounter) .meet-shade{display:none}.meet-stage:has(.encounter) .gesture{display:none}.meet-stage:has(.encounter) .meet-intent{display:none}.canvas-viewport:has(.encounter){padding:18px;overflow:auto;display:block}.canvas-viewport .encounter{width:100%;max-width:900px;margin:auto}.compact .encounter-scene{height:420px}.atelier-talk{border-top:1px solid #3a303f;padding:16px 22px}.atelier-talk p{font-size:15px;line-height:1.7;margin:0 0 13px}.atelier-talk form{display:flex;gap:8px}.atelier-talk input{flex:1;min-width:0;padding:12px;background:#23202a;border:1px solid #453a51;border-radius:10px;color:#eee}.atelier-structure{margin:12px 0;color:#a79ab2;font-size:12px}.atelier-structure summary{cursor:pointer;padding:8px}.atelier-structure .canvas-objects{transform:none!important;margin:20px 0}.studio-grid .work-canvas{min-width:0}.meet-layout{align-items:start!important}@media(max-width:700px){.encounter-scene,.compact .encounter-scene{height:390px}.encounter-controls{flex-wrap:wrap;padding:14px}.encounter-controls select{max-width:230px}.encounter-objects{width:100%}.encounter-objects button{flex:1}.meet-stage:has(.encounter) .meet-dialogue{padding:18px}.meet-stage:has(.encounter) .meet-dialogue h2{font-size:19px}.canvas-viewport:has(.encounter){padding:8px}.encounter-heading{left:17px;top:18px}}
.world-window{margin:8px 0 34px;border:1px solid #43374f;border-radius:24px;overflow:hidden;background:#201a28}.world-window-stage{position:relative;height:430px;overflow:hidden}.world-window-stage canvas{position:absolute;inset:0;width:100%;height:100%}.world-window-loading{position:absolute;inset:0;display:grid;place-items:center;color:#c7b4d5;z-index:2}.world-window-caption{padding:24px 28px 16px;display:flex;justify-content:space-between;align-items:center;gap:20px}.world-window-caption h2{font-size:29px;margin:8px 0 12px;font-weight:500;letter-spacing:-1px}.world-window-caption p{color:#b7a7c3;font-size:13px}.world-window-trace{padding:12px 28px 22px;color:#cab8d4;border-top:1px solid #352a3f;font-size:12px}.world-window .street-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.world-window .street-person{position:absolute;display:flex;flex-direction:column;align-items:center;background:none;border:0;pointer-events:auto;color:#2e2734;font:11px system-ui;gap:4px}.world-window .street-name{padding:4px 8px;background:#f8eef7ce;border:1px solid #fff7;border-radius:20px}.world-window .street-bubble{max-width:180px;background:#fffc;padding:8px;border-radius:12px;font-size:11px;line-height:1.5}.world-window [hidden]{display:none!important}@media(max-width:700px){.world-window-stage{height:360px}.world-window-caption{align-items:start;flex-direction:column;padding:20px}.world-window-caption h2{font-size:23px}.world-window-caption .button{width:100%}.world-window-trace{padding:12px 20px 20px}}
.encounter-controls label{white-space:nowrap}.encounter-controls select{min-width:0}.encounter-heading{z-index:1}.atelier-talk input{font-size:14px}@media(max-width:700px){.studio-grid .work-canvas:has(.encounter){height:auto;overflow:visible}.canvas-viewport:has(.encounter){flex:none;min-height:0;overflow:visible}.studio-grid .canvas-bottom{flex:none}.compact .encounter-scene{height:360px}.encounter-controls label{width:100%}.encounter-controls select{max-width:none;flex:1}.atelier-talk{padding:14px}.meet-page .page-heading{margin-bottom:20px}}
.world-window{position:relative}.world-window-caption{position:absolute;bottom:42px;left:0;right:0;padding:60px 28px 20px;background:linear-gradient(transparent,#201a28ed 60%);pointer-events:none}.world-window-caption a{pointer-events:auto}.world-window-caption h2{font-size:26px}.world-window-caption p{margin:0}.world-window-trace{position:relative;height:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:15px 28px;background:#201a28}.world-window-stage{height:450px}@media(max-width:700px){.world-window-stage{height:440px}.world-window-caption{padding:45px 20px 18px;bottom:48px;gap:12px}.world-window-caption h2{font-size:22px}.world-window-caption .eyebrow{font-size:8px}.world-window-trace{padding:15px 20px}}
.body-portrait{background:#d0c8d1;overflow:hidden}.body-portrait .encounter-scene{height:100%;min-height:520px}.life-portrait-wrap:has(.body-portrait) .portrait-signature{display:none}.conversation-portrait:has(.body-portrait) .conversation-identity{background:linear-gradient(transparent,#1b1626dc);padding:45px 24px 24px;bottom:0;left:0;right:0}.conversation-portrait .body-portrait .encounter-scene{min-height:580px}@media(max-width:700px){.body-portrait .encounter-scene{min-height:390px}.conversation-portrait .body-portrait .encounter-scene{min-height:330px}.conversation-portrait:has(.body-portrait) .conversation-identity{padding:20px 18px 12px}.conversation-portrait:has(.body-portrait) .conversation-identity h1{font-size:24px}.conversation-portrait:has(.body-portrait) .conversation-identity p{display:none}}
.body-listen{position:absolute;right:18px;top:18px;z-index:3;background:#fcf5ffdc!important;color:#3c2948!important;border-color:#c5b4d0!important}

.body-library{display:grid;gap:8px;max-height:240px;overflow:auto;margin:20px 0}.body-asset-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal;text-align:left}.body-asset-choice small{color:var(--muted)}.body-import-status{min-height:1.5em;margin:14px 0;color:var(--accent)}
.body-cover-preview{display:block;width:min(100%,360px);aspect-ratio:1;object-fit:cover;border-radius:18px;margin:8px auto 20px;}

.voice-feedback{position:absolute;z-index:4;left:18px;right:18px;bottom:46px;padding:11px 13px;margin:0;border-radius:10px;background:#201927e8;color:#eee6f5;font-size:12px;line-height:1.7;pointer-events:none}.voice-feedback[data-error="true"]{border:1px solid #ddabc65c}.voice-feedback[hidden]{display:none}
.studio-grid .canvas-bottom{padding:10px 14px;max-height:55%;overflow:auto}
.studio-grid .assistant-label{align-items:center;margin-bottom:6px;min-height:26px}
.studio-grid .assistant-label .edit-scope{display:flex;align-items:center;gap:8px;margin:0;font-size:10px}
.studio-grid .assistant-label .edit-scope select{width:auto;padding:4px 24px 4px 8px;font-size:11px}
.studio-grid .quick-actions{margin-top:6px;gap:14px}
.studio-grid .canvas-viewport:has(.encounter){padding:10px 14px}
.studio-grid .compact .encounter-scene{height:clamp(200px,calc(100dvh - 488px),440px);min-height:200px}
.compact .encounter-heading{top:13px;left:16px;font-size:12px}
.compact .encounter-hint{bottom:10px;font-size:10px}
.atelier-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;flex-wrap:wrap}
.atelier-tools .encounter-objects{width:auto;flex-wrap:wrap}
.atelier-tools .button{padding:6px 10px;font-size:11px}
.atelier-appearance{font-size:11px;color:#c4b8cf}
.atelier-appearance summary{cursor:pointer;padding:6px 0}
.atelier-appearance[open]{flex-basis:100%}
.atelier-appearance .encounter-controls{padding:10px 0 0;flex-wrap:wrap;justify-content:flex-start}
.atelier-appearance .encounter-controls label{flex:1 1 220px;min-width:0}
.atelier-appearance .encounter-controls select{max-width:none;flex:1;width:0}
.compact .atelier-talk{padding:10px 14px}
.compact .atelier-talk p{font-size:13px;line-height:1.7;margin-bottom:8px}
.compact .atelier-talk input{padding:9px 11px;font-size:12px}
.compact .body-credit{padding:0 14px 10px}
.compact .encounter-event{padding:0 14px 8px;min-height:0}
@media(max-width:700px){
 .studio-header{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;min-height:90px;padding:9px 12px;gap:8px}
 .studio-header>.row:first-child{grid-column:1 / 3;grid-row:1;min-width:0}
 .studio-header>.row:last-child{display:contents}
 .studio-header>.row:last-child>:not([data-action="release"]):not([data-action="undo"]){grid-row:2;justify-content:center;text-align:center}
 .studio-header [data-action="release"]{grid-column:3;grid-row:1;justify-self:end}
 .studio-header b{font-size:12px;max-width:210px}
 .studio-grid .compact .encounter-scene{height:280px;min-height:240px}
 .studio-grid .canvas-viewport:has(.encounter){padding:8px}
 .studio-grid .canvas-bottom{max-height:none}
 .compact .atelier-talk input{font-size:16px}
 .atelier-tools .encounter-objects button{flex:none}
 .atelier-appearance .encounter-controls label{flex-basis:100%;width:100%}
}
