:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html,body,#root{margin:0;padding:0;height:100%;width:100%;background:#0b0b12;color:#e8e8ef;overflow:hidden;overscroll-behavior:none}button{font:inherit;color:inherit;background:#1c1c27;border:1px solid #2d2d3e;border-radius:12px;padding:14px 22px;cursor:pointer;touch-action:manipulation}button:active{background:#2d2d3e}button.primary{background:#4c6ef5;border-color:#4c6ef5;color:#fff;font-weight:600}button.primary:active{background:#3b5bdb}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.stage-canvas{flex:1;position:relative;touch-action:none;background:#0b0b12}.stage-canvas canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.stage-toolbar{display:flex;gap:12px;padding:16px;justify-content:center;align-items:center;background:#0b0b12d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #1c1c27}.intro{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.intro h1{font-size:28px;margin:0;font-weight:700}.intro p{margin:0;opacity:.75;max-width:480px;line-height:1.55}.intro-hint{opacity:.45!important;font-size:13px}.voice-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:560px;width:100%}.voice-chip{background:#12121a;border:1px solid #22222f;border-radius:10px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px}.voice-chip-key{font-size:22px;line-height:1;font-weight:700;color:#c7c7d1}.voice-chip-note{font-size:12px;opacity:.55;font-variant-numeric:tabular-nums}.voice-chip-obj{font-size:11px;opacity:.5;text-align:center;line-height:1.3}.meter{position:absolute;top:14px;left:14px;right:14px;display:flex;flex-direction:column;gap:5px;pointer-events:none;font-variant-numeric:tabular-nums}.meter-row{display:flex;align-items:center;gap:8px}.meter-label{font-size:11px;opacity:.55;width:14px;text-align:center}.meter-track{flex:1;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.meter-fill{height:100%;transition:width 40ms linear;box-shadow:0 0 8px currentColor}.meter-count{position:absolute;top:0;right:0;font-size:10px;opacity:.35;padding:2px 6px}
