.subtitle-bubble{z-index:4;color:#f5f7fb;-webkit-backdrop-filter:blur(8px);text-align:center;pointer-events:none;opacity:0;background:#101114c7;border:1px solid #57d3c252;border-radius:14px;flex-direction:column;gap:6px;max-width:min(640px,86%);padding:14px 22px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:6%;left:50%;transform:translate(-50%,8px);box-shadow:0 12px 32px #0000006b}.subtitle-bubble--visible{opacity:1;transform:translate(-50%)}.subtitle-bubble__primary{letter-spacing:.02em;white-space:pre-wrap;color:#f5f7fb;font-size:1.18rem;font-weight:500;line-height:1.45}.subtitle-bubble__secondary{white-space:pre-wrap;color:#f5f7fb9e;font-size:.92rem;line-height:1.5}:root{color:#f5f7fb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--panel:#191c22;--panel-strong:#20242c;--line:#303641;--text-muted:#a7b0bf;--accent:#57d3c2;--accent-strong:#f2b84b;--danger:#ff7b7b;background:#101114;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}button,input,textarea{font:inherit}button{border:1px solid var(--line);color:#f5f7fb;cursor:pointer;background:#252a33;border-radius:6px;min-height:40px;transition:border-color .16s,background .16s,transform .16s}button:hover{border-color:var(--accent);background:#2b333d;transform:translateY(-1px)}code{color:#dce3ed;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem}.app-shell{background:radial-gradient(circle at 18% 18%,#57d3c229,#0000 26rem),linear-gradient(135deg,#101114 0%,#151821 52%,#171516 100%);grid-template-columns:minmax(0,1fr) minmax(340px,410px);width:100%;height:100%;min-height:100vh;display:grid;overflow:hidden}.stage-section{flex-direction:column;min-width:0;min-height:100vh;padding:28px;display:flex;position:relative}.stage-header{z-index:2;justify-content:space-between;align-items:flex-start;gap:18px;display:flex;position:relative}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(1.75rem,3vw,3rem);line-height:1.05}h2{font-size:1rem}.status-pill{color:#dffbf6;text-align:center;background:#112123cc;border:1px solid #57d3c26b;border-radius:999px;flex:none;max-width:210px;min-height:34px;padding:8px 12px;font-size:.88rem}.avatar-stage{width:100%;height:100%;position:absolute;inset:0}.avatar-stage canvas{width:100%;height:100%;display:block}.stage-alert{z-index:3;color:#ffe2e2;background:#41181ed1;border:1px solid #ff7b7b80;border-radius:8px;max-width:720px;margin-top:auto;padding:14px 16px;position:relative}.debug-panel{border-left:1px solid var(--line);background:#191c22f5;flex-direction:column;gap:20px;height:100vh;padding:24px;display:flex;overflow-y:auto;box-shadow:-22px 0 44px #00000038}.panel-group{border-bottom:1px solid var(--line);flex-direction:column;gap:14px;padding-bottom:20px;display:flex}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ghost-button{background:0 0;min-width:74px;min-height:34px;padding:6px 10px}.wide-button{white-space:normal;max-width:178px;line-height:1.15}.slider-list{gap:16px;display:grid}.compact-slider-list{gap:14px}.slider-row{gap:8px;display:grid}.slider-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}input[type=range]{width:100%;accent-color:var(--accent)}.calibration-row{min-width:0}.parameter-title{flex-direction:column;gap:3px;min-width:0;display:flex}.parameter-label{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.parameter-display-name{color:#cdd5e0;font-size:.84rem}.parameter-description{color:#7f8998;font-size:.78rem}.panel-description{color:var(--text-muted);margin:-4px 0 0;font-size:.82rem;line-height:1.4}.preset-warning{color:#f0d28a;background:#ffc45714;border:1px solid #ffc45759;border-radius:6px;padding:8px 10px}.preset-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.preset-action-grid button{text-transform:none;min-height:36px;font-size:.82rem}.preset-button.active{border-color:var(--accent);color:#ddfdf7;background:#57d3c22e}.preset-subgroup{flex-direction:column;gap:8px;display:flex}.preset-subgroup h3{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.snapshot-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.slider-control-line{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.mini-button{background:0 0;min-width:58px;min-height:30px;padding:4px 8px;font-size:.78rem}.expression-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.expression-grid button{text-transform:capitalize}.command-panel{border-bottom:0;min-height:260px}.snapshot-output{border:1px solid var(--line);color:#edf2f8;white-space:pre-wrap;background:#111419;border-radius:8px;min-height:110px;max-height:220px;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.5;overflow:auto}textarea{resize:vertical;border:1px solid var(--line);color:#edf2f8;background:#111419;border-radius:8px;width:100%;min-height:132px;padding:12px;line-height:1.5}textarea:focus,button:focus-visible,input:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.primary-button{color:#17100a;background:var(--accent-strong);border-color:#f2b84b85;font-weight:800}.primary-button:hover{color:#17100a;background:#ffd37c;border-color:#ffd37c}.bridge-field{flex-direction:column;gap:6px;display:flex}.bridge-field-label{color:var(--text-muted);font-size:.82rem}.bridge-url-input{border:1px solid var(--line);color:#f5f7fb;background:#14171c;border-radius:6px;width:100%;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.bridge-url-input:disabled{opacity:.6}.bridge-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.bridge-status-label{color:var(--text-muted);font-size:.85rem}.bridge-status-pill{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:#14171c;border-radius:999px;padding:4px 10px;font-size:.78rem}.bridge-status-pill.bridge-status-connected{color:var(--accent);border-color:#57d3c280}.bridge-status-pill.bridge-status-connecting{color:var(--accent-strong);border-color:#f2b84b80}.bridge-status-pill.bridge-status-error{color:var(--danger);border-color:#ff7b7b8c}.bridge-detail{color:var(--text-muted);word-break:break-word;margin:0;font-size:.78rem}.bridge-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=920px){.app-shell{grid-template-columns:1fr;min-height:100%;overflow:auto}.stage-section{min-height:58vh;padding:20px}.debug-panel{border-top:1px solid var(--line);height:auto;box-shadow:none;border-left:0}}@media (width<=560px){.stage-header{flex-direction:column}.status-pill{width:100%;max-width:none}.expression-grid{grid-template-columns:1fr}}
