:root{--xara-primary: #0d6efd;--xara-primary-dark: #0a58ca;--xara-accent: #17a8ab;--xara-danger: #dc3545;--xara-bg: #ffffff;--xara-surface: #eef3f9;--xara-ink: #21272f;--xara-muted: #5f6873;--xara-test: #ef5350}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--xara-ink);background:var(--xara-bg);overflow:hidden}#app{height:100dvh;display:flex;flex-direction:column}.app-header{height:56px;display:flex;align-items:center;gap:12px;padding:0 12px;flex:none}.app-header.test{background:var(--xara-test);color:#fff}.app-header .brand{font-weight:700;font-size:1.05rem}.app-header .version{font-size:.65rem;color:#c3c3c3}.app-header .spacer{flex:1;text-align:center;font-weight:700;color:#fff}.icon-btn{display:inline-flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:0;width:76px}.icon-btn .circle{width:42px;height:42px;border-radius:50%;background:var(--xara-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.icon-btn.danger .circle{background:var(--xara-danger)}.icon-btn.secondary .circle{background:#6c757d}.icon-btn .label{font-size:9px;line-height:11px;padding:2px 6px;border-radius:6px;background:var(--xara-primary);color:#fff;white-space:nowrap}.icon-btn.danger .label{background:var(--xara-danger)}.icon-btn.secondary .label{background:#6c757d}.icon-btn.pulse .circle{animation:pulse-blue 2s infinite}@keyframes pulse-blue{0%{box-shadow:0 0 #0d6efd99}70%{box-shadow:0 0 0 14px #0d6efd00}to{box-shadow:0 0 #0d6efd00}}.catalog{flex:1;overflow-y:auto;padding:10px}.catalog .panel{background:var(--xara-surface);border-radius:8px;padding:10px}.catalog h2{font-size:1rem;margin:4px 6px 10px}.catalog .empty{color:var(--xara-danger);font-weight:700;margin:6px}.scenario-card{background:#fff;border-radius:10px;padding:12px;margin-bottom:10px}.scenario-card .name{font-weight:700;font-size:1.05rem;margin-bottom:8px}.scenario-card .start-btn{background:var(--xara-primary);color:#fff;border:none;border-radius:20px;padding:6px 16px;font-size:.9rem;cursor:pointer}.scenario-card .start-btn:hover{background:var(--xara-primary-dark)}.scenario-card details{margin-top:10px;font-size:.85rem}.scenario-card details summary{cursor:pointer;font-weight:600}.scenario-card .detail-label{color:var(--xara-muted);font-size:.78rem;margin-top:8px}.scenario-card .detail-value{font-weight:600}.scenario-card img.avatar{border-radius:6px;height:100px;margin-top:4px}.scenario{flex:1;display:flex;flex-direction:column;min-height:0}.stage{position:relative;height:60vh;flex:none}#renderCanvas{width:100%;height:100%;display:block;outline:none;touch-action:none}.stage .toolbar{position:absolute;top:7px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#ffffffbf;border-radius:8px;padding:5px 10px}.stage .actions{position:absolute;bottom:0;width:100%;height:78px;display:flex;align-items:center;justify-content:center;gap:6px}.lds-ring{width:42px;height:42px;position:relative}.lds-ring div{box-sizing:border-box;position:absolute;width:34px;height:34px;margin:4px;border:4px solid var(--xara-primary);border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--xara-primary) transparent transparent transparent}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.soundwave{display:flex;align-items:center;gap:3px;height:30px}.soundwave span{width:4px;border-radius:2px;background:var(--xara-primary);animation:wave 1s ease-in-out infinite}.soundwave span:nth-child(1){height:10px;animation-delay:0s}.soundwave span:nth-child(2){height:18px;animation-delay:.15s}.soundwave span:nth-child(3){height:26px;animation-delay:.3s}.soundwave span:nth-child(4){height:18px;animation-delay:.45s}.soundwave span:nth-child(5){height:10px;animation-delay:.6s}@keyframes wave{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1.4)}}.text-input{display:flex;align-items:center;gap:8px;padding:8px 10px;flex:none}.text-input textarea{flex:1;resize:none;height:9vh;border-radius:8px;border:1px solid #ccc;padding:8px;font-family:inherit;font-size:.95rem}.protocol{flex:1;min-height:0;overflow-y:auto;background:#ced4da;padding:8px;font-size:.85rem}.protocol .bubble{border-radius:10px;padding:8px 10px;margin:4px 0;max-width:82%;width:fit-content}.protocol .bubble.user{background:#fff;margin-right:auto}.protocol .bubble.avatar{background:var(--xara-primary);color:#fff;margin-left:auto}.protocol .meta{text-align:center;font-family:Courier New,monospace;font-weight:700;color:var(--xara-ink);margin:6px 0}.protocol .pdf,.protocol .end{text-align:center;margin:10px 0}.protocol .pdf a,.protocol .end button{background:var(--xara-primary);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:.85rem;text-decoration:none;cursor:pointer}.recognizing{text-align:center;font-style:italic;color:var(--xara-muted);padding:2px 8px;min-height:1.2em;flex:none;background:#ced4da}.turns-left{position:absolute;top:7px;right:7px;background:#ffffffbf;border-radius:8px;padding:4px 10px;font-size:.75rem}dialog{border:none;border-radius:10px;box-shadow:0 8px 30px #00000040;padding:18px;max-width:420px;width:90%}dialog::backdrop{background:#0006}dialog h3{margin-top:0}dialog .row{display:flex;align-items:center;gap:8px;margin:10px 0}dialog .buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}dialog button{border:none;border-radius:6px;padding:7px 14px;cursor:pointer;background:#6c757d;color:#fff}dialog button.primary{background:var(--xara-primary)}.error-page{margin:auto;text-align:center;color:var(--xara-danger);font-weight:700;padding:30px}.login-page{margin:auto;text-align:center;padding:40px}.login-page .login-btn{background:var(--xara-primary);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;cursor:pointer}.login-page .login-btn:hover{background:var(--xara-primary-dark)}.login-page .login-btn:disabled{background:#6c757d;cursor:default}.login-divider{color:var(--xara-muted);margin:24px 0 8px;font-size:.85rem}.otp-row{display:flex;justify-content:center;gap:8px}.otp-input{width:110px;text-align:center;font-size:1.2rem;letter-spacing:.3em;border:1px solid #ccc;border-radius:8px;padding:10px}.otp-error{color:var(--xara-danger);font-size:.85rem;font-weight:600}#debug-hud{position:fixed;top:63px;left:7px;z-index:9999;max-width:min(46vw,440px);padding:6px 8px;border-radius:6px;background:#000000b8;color:#a8f0e0;font:11px/1.35 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;pointer-events:none}
