*{box-sizing:border-box}
:root{--w3-yellow:#ffeb3b;--w3-dark-yellow:#d6b600;--w3-deep-yellow:#8a6f00;--w3-yellow-soft:#fff8b3;--w3-panel:rgba(214,182,0,.92);--w3-text:#1f1a00;--w3-border:#5f4b00;--w3-white:#fffdf0}
html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#2b2400;color:var(--w3-text)}
#app{position:relative;width:100vw;height:100vh}#scene{width:100%;height:100%;display:block}
#status{position:absolute;top:16px;left:16px;max-width:min(740px,calc(100vw - 32px));padding:10px 14px;border-radius:12px;background:var(--w3-dark-yellow);color:var(--w3-text);border:2px solid var(--w3-border);box-shadow:0 6px 18px rgba(0,0,0,.35);z-index:20}
#topButtons{position:absolute;right:16px;top:16px;z-index:35;display:flex;gap:8px}
.studio-panel{position:absolute;top:64px;bottom:16px;overflow:auto;padding:12px;border-radius:18px;background:var(--w3-panel);color:var(--w3-text);border:3px solid var(--w3-border);box-shadow:0 12px 32px rgba(0,0,0,.42);z-index:15}
#panel{right:16px;width:min(610px,calc(100vw - 32px))}#animationPanel{left:16px;width:min(560px,calc(100vw - 32px))}.panel-hidden{display:none}
.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px;border-radius:14px;background:var(--w3-deep-yellow);color:var(--w3-white)}
.panel-header h1,.panel-header h2{margin:0;font-size:1.15rem}
details{border:2px solid var(--w3-border);border-radius:14px;margin-bottom:10px;padding:10px;background:var(--w3-yellow);color:var(--w3-text)}
summary{cursor:pointer;font-weight:800;margin-bottom:10px;color:#000}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar-second-row{margin-top:8px}.speech-toolbar{align-items:stretch}
button,.button-like,input,select,textarea{border:2px solid var(--w3-border);border-radius:10px;padding:10px 12px;font:inherit}
button,.button-like{background:var(--w3-deep-yellow);color:var(--w3-white);font-weight:800;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 0 #4a3900}
button:hover,.button-like:hover{background:#6f5900}button:active,.button-like:active{transform:translateY(2px);box-shadow:0 1px 0 #4a3900}button.active{background:#000;color:var(--w3-yellow);outline:3px solid var(--w3-yellow-soft)}
input,select,textarea{background:var(--w3-white);color:var(--w3-text)}input:focus,select:focus,textarea:focus{outline:3px solid #000;border-color:#000}
#vrmFile,#floorFile,#backdropFile,#settingsFile,#sequenceFile{display:none}
#speechText,#elizaInput,#vrmPath,#floorPath,#backdropPath,#newAnimationName{flex:1 1 260px;min-width:180px}textarea{width:100%;min-height:90px;resize:vertical}#animationSource{min-height:380px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
.hint{margin:0 0 10px;font-size:.9rem;color:#2a2100;line-height:1.35}
.calibration-grid,.form-grid{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,1.2fr) 56px;gap:8px;align-items:center}.form-grid{grid-template-columns:minmax(130px,.75fr) minmax(180px,1.5fr)}.calibration-grid input[type=range]{width:100%;padding-left:0;padding-right:0;accent-color:var(--w3-deep-yellow)}.calibration-grid span{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.checkbox-row{display:inline-flex;align-items:center;gap:8px;font-weight:700}
#dialogLog{margin-top:10px;max-height:180px;overflow:auto;padding:10px;border-radius:12px;background:var(--w3-yellow-soft);border:2px solid var(--w3-border)}.dialog-message{margin-bottom:8px;line-height:1.35}.dialog-message.user strong{color:#000}.dialog-message.eliza strong{color:var(--w3-deep-yellow)}
#voiceDialog,#sequenceInfoDialog{width:min(720px,calc(100vw - 32px));border:3px solid var(--w3-border);border-radius:18px;padding:20px;color:var(--w3-text);background:var(--w3-yellow)}#voiceDialog::backdrop,#sequenceInfoDialog::backdrop{background:rgba(0,0,0,.55)}
#voiceForm{display:grid;gap:10px}#voiceForm h2{margin:0 0 8px}#voiceForm menu,.info-dialog menu{display:flex;justify-content:flex-end;gap:8px;padding:0;margin:16px 0 0}.info-dialog pre{overflow:auto;padding:12px;border-radius:12px;background:var(--w3-white);border:2px solid var(--w3-border)}.info-dialog code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
@media(max-width:820px){.studio-panel{left:16px!important;right:16px!important;top:auto;max-height:60vh;width:auto!important}#status{right:16px}#topButtons{top:58px;left:16px;right:auto}}
@media(max-width:620px){.calibration-grid,.form-grid{grid-template-columns:1fr}.calibration-grid span{text-align:left}}

#aimlFile{display:none}
#aimlTemplate{min-height:130px}
