@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#f7f5ef;--surface:#fff;--surface-alt:#fbfaf6;--surface-warm:#f3efe5;--ink:#191b1f;--ink-soft:#34373d;--muted:#63676e;--muted-light:#6b6f76;--line:#e6e1d7;--line-strong:#d6d0c2;--accent:#2f5bea;--accent-strong:#2244c4;--accent-soft:#edf1ff;--green:#0f9d76;--green-soft:#e9f8f2;--amber:#d97706;--amber-soft:#fff6e8;--danger:#cf3f3f;--danger-soft:#fdf0f0;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1a18120a, 0 8px 24px #1a18120b;--shadow-pop:0 24px 80px #14120c2e;--font-sans:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 540px at 50% -240px,#ffffffe6,transparent 70%),var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::selection{background:#dfe6ff}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.rotate{transform:rotate(180deg)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f5efe6;border-bottom:1px solid #e6e1d7cc;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;gap:16px;max-width:1460px;margin:0 auto;padding:14px 24px 10px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 6px 18px #191b1f38}.brand-text{align-items:center;gap:8px;min-width:0;display:flex}.brand-text strong{letter-spacing:-.03em;font-size:19px;font-weight:900}.brand-badge{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border:1px solid #cdd7ff;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:800}.header-actions{align-items:center;gap:8px;min-width:0;display:flex}.chip{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;background:#fff9;border-radius:9px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:650;display:inline-flex}.chip-soft{color:var(--accent-strong);background:var(--accent-soft);border-color:#d2dcff}.chip-muted{color:var(--muted)}.ghost-button,.icon-button,.mini-button,.tool-button,.control-icon,.rate-button,.pill-toggle,.presentation-icon,.presentation-nav{border:1px solid var(--line);color:var(--ink-soft);background:#ffffffb3;border-radius:9px;justify-content:center;align-items:center;gap:6px;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.ghost-button{padding:8px 11px;font-size:12px;font-weight:650}.ghost-button:hover,.icon-button:hover,.mini-button:hover,.tool-button:hover,.control-icon:hover,.pill-toggle:hover{border-color:var(--line-strong);background:#fff}.icon-button{width:36px;height:36px;padding:0}.project-menu{position:relative}.project-dropdown{border:1px solid var(--line);width:292px;box-shadow:var(--shadow-pop);z-index:50;background:#fff;border-radius:12px;padding:6px;animation:.16s both pop-in;position:absolute;top:calc(100% + 8px);right:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.project-dropdown button{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;display:flex}.project-dropdown button:hover{background:var(--surface-alt)}.project-dropdown svg{color:var(--accent);flex-shrink:0;margin-top:2px}.project-dropdown strong{font-size:13px;display:block}.project-dropdown small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.tab-bar{border:1px solid var(--line);background:#eeeae1;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;width:calc(100% - 48px);max-width:1460px;margin:0 auto 10px;padding:4px;display:grid}.tab-button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:700;transition:all .16s;display:inline-flex}.tab-button:hover{color:var(--ink)}.tab-button.is-active{color:var(--ink);border-color:var(--line);background:#fff;box-shadow:0 1px 3px #191b1f0f}.tab-count{background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent-strong);border-radius:9px;place-items:center;padding:0 5px;font-size:10px;font-weight:800;display:inline-grid}.studio-layout{flex:1;grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);align-items:start;gap:20px;width:100%;max-width:1460px;margin:14px auto 28px;padding:0 24px;display:grid}.settings-column,.monitor-column{min-width:0}.settings-panel,.monitor-panel{flex-direction:column;gap:14px;display:flex}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:17px 18px}.panel-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.panel-heading-actions{align-items:center;gap:8px;display:flex}.panel-label{letter-spacing:.07em;text-transform:uppercase;color:#55585f;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.panel-label svg{color:var(--ink)}.panel-hint{color:var(--muted-light);font-size:11px;font-weight:500}.text-link{color:var(--accent-strong);white-space:nowrap;font-size:11px;font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link-button{color:var(--accent-strong);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:11px;font-weight:750;display:inline-flex}.text-link-button svg{transition:transform .16s}.key-input-wrap{position:relative}.text-input,.text-area{border:1px solid var(--line);background:var(--surface-alt);width:100%;color:var(--ink);border-radius:9px;outline:none;padding:10px 12px;font-size:13px;transition:border-color .16s,box-shadow .16s,background .16s}.text-input::placeholder,.text-area::placeholder{color:#9b9a95}.text-input:focus,.text-area:focus{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px #2f5bea1a}.key-input{font-family:var(--font-mono);letter-spacing:.01em;padding-right:42px}.input-icon-button{color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-icon-button:hover{background:var(--surface-warm);color:var(--ink)}.key-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.checkbox-row{color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;font-size:11px;display:inline-flex}.checkbox-row input{width:14px;height:14px;accent-color:var(--accent)}.security-note{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.inline-note{background:var(--surface-alt);color:var(--muted);border-radius:8px;margin:9px 0 0;padding:8px 10px;font-size:11px}.inline-note.is-error{background:var(--danger-soft);color:#a32f2f}.inline-note.is-ok{background:var(--green-soft);color:#087356}.text-area{resize:vertical;min-height:80px;line-height:1.65}.template-block{margin-top:12px}.small-label{color:var(--muted);margin-bottom:7px;font-size:10px;font-weight:700;display:block}.template-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.template-button{text-align:left;border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;align-items:flex-start;gap:8px;padding:8px 9px;transition:background .16s,border-color .16s;display:flex}.template-button:hover{border-color:var(--line-strong);background:#fff}.template-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.template-button strong{color:var(--ink-soft);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:11px;font-weight:700;line-height:1.38;display:-webkit-box;overflow:hidden}.template-button small{color:var(--muted-light);margin-top:2px;font-size:9.5px;display:block}.option-grid{gap:7px;display:grid}.option-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.option-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.option-card{border:1.5px solid var(--line);text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;min-height:62px;padding:11px 12px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex;position:relative}.option-card:hover{border-color:var(--line-strong);background:var(--surface-alt)}.option-card.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:#fff}.option-card.compact{min-height:54px}.option-top{flex-direction:column;gap:3px;min-width:0;display:flex}.option-title{color:var(--ink);letter-spacing:-.01em;font-size:12.5px;font-weight:800}.option-desc{color:var(--muted);font-size:10.5px;line-height:1.42}.option-title-with-badge{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tiny-badge{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:9px;font-weight:800}.radio-dot{border:1.5px solid #c9c6bd;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:2px;transition:all .16s}.option-card.is-selected .radio-dot,.theme-card.is-selected .radio-dot{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #fff}.theme-card{border:1.5px solid var(--line);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 11px;transition:border-color .16s,box-shadow .16s;display:flex}.theme-card:hover{border-color:var(--line-strong)}.theme-card.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.theme-swatch{border:1px solid;border-radius:9px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.theme-swatch span{border-radius:50%;width:12px;height:12px}.theme-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sub-options{border-top:1px dashed var(--line);gap:6px;margin-top:8px;padding-top:8px;display:grid}.model-note{color:var(--muted-light);justify-content:space-between;align-items:center;gap:8px;margin:9px 0 0;font-size:10px;display:flex}.mono{font-family:var(--font-mono);color:var(--muted);font-size:9px}.segmented{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segment{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;flex-direction:column;align-items:center;gap:1px;padding:6px 8px;transition:all .16s;display:flex}.segment strong{font-size:11.5px;font-weight:800}.segment small{font-size:9.5px}.segment.is-active{color:var(--ink);border-color:var(--line);background:#fff;box-shadow:0 1px 3px #191b1f0d}.generate-block{flex-direction:column;gap:8px;padding:0 2px;display:flex}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-size:13px;font-weight:750;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.primary-button:hover{background:#2b2e34}.primary-button:active{transform:scale(.995)}.primary-button:disabled{opacity:.55}.primary-button.small{padding:8px 12px;font-size:12px}.secondary-button{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:700;display:inline-flex}.secondary-button:hover{background:var(--surface-alt);border-color:var(--line-strong)}.generate-button{min-height:50px;font-size:13.5px;position:relative}.btn-pulse:after{content:"";pointer-events:none;border:2px solid #d4a63e99;border-radius:12px;animation:2.2s ease-out infinite pulse-ring;position:absolute;inset:-4px}@keyframes pulse-ring{0%{opacity:.55;transform:scale(.985)}70%{opacity:0;transform:scale(1.045)}to{opacity:0;transform:scale(1.045)}}.demo-link{color:var(--accent-strong);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:4px;font-size:11.5px;font-weight:700;display:inline-flex}.demo-link:hover{text-decoration:underline}.progress-block{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;margin-top:4px;padding:10px}.progress-head{color:var(--ink-soft);justify-content:space-between;gap:10px;margin-bottom:7px;font-size:10.5px;display:flex}.progress-head span{align-items:center;gap:5px;min-width:0;display:inline-flex}.progress-head strong{font-family:var(--font-mono);color:var(--accent-strong);font-size:10px}.progress-track{background:#e9e4da;border-radius:10px;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,var(--accent),#7c9cff);height:100%;transition:width .3s;display:block}.helper-note{text-align:center;color:var(--muted-light);margin:0;font-size:10.5px;line-height:1.5}.helper-note.is-error{color:var(--danger)}.chip-warn{background:var(--amber-soft);color:#8a5000;border:1px solid #d9770659;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.user-template-block{margin-top:12px}.user-template-save{align-items:center;gap:6px;margin-top:6px;display:flex}.user-template-save .text-input{flex:1;min-width:0}.user-template-list{gap:6px;margin-top:8px;display:grid}.user-template-chip{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;align-items:center;gap:4px;padding:6px 8px;display:flex}.user-template-apply{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:1px;min-width:0;padding:2px 0;display:flex}.user-template-apply strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:700;overflow:hidden}.user-template-apply small{color:var(--muted);font-size:10px}.user-template-apply:hover strong{color:var(--accent)}.monitor-card{padding:15px 16px 16px}.monitor-heading{flex-direction:column;gap:10px;margin-bottom:11px;display:flex}.monitor-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.soft-chip{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600}.soft-chip.is-blue{background:var(--accent-soft);color:var(--accent-strong);border-color:#d5ddff}.monitor-tools{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.resolution-toggle{background:var(--surface-warm);border:1px solid var(--line);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.resolution-toggle button{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:3px;padding:6px 8px;font-size:10px;font-weight:700;display:inline-flex}.resolution-toggle button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #191b1f14}.tool-button{white-space:nowrap;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:700}.tool-button.is-accent{background:var(--ink);border-color:var(--ink);color:#fff}.tool-button.is-accent:hover{background:#2b2e34}.tool-button:disabled{opacity:.45}.tool-button.compact{padding:6px 7px}.tool-button.compact span{display:none}.canvas-frame{background:#17181c;border:1px solid #26272c;border-radius:10px;padding:9px;position:relative;box-shadow:inset 0 0 0 1px #ffffff08}.stage-canvas{aspect-ratio:16/9;background:#faf9f6;border-radius:5px;width:100%;display:block}.canvas-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--ink);z-index:3;background:#faf9f6d1;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:9px}.canvas-overlay strong{font-family:var(--font-mono);color:var(--accent-strong);font-size:22px}.canvas-overlay span{color:var(--muted);font-size:12px}.poster-actions{z-index:2;position:absolute;bottom:18px;right:20px}.poster-demo-button{background:#191b1ff0;border-color:#191b1ff0;padding:9px 12px;font-size:11px;box-shadow:0 8px 20px #14120c29}.scene-tabs{scrollbar-width:none;gap:5px;padding:9px 1px 5px;display:flex;overflow-x:auto}.scene-tabs::-webkit-scrollbar{display:none}.scene-tab{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:6px 9px;font-size:10.5px;font-weight:700;transition:all .16s;display:inline-flex}.scene-tab:hover{color:var(--ink);border-color:var(--line-strong)}.scene-tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.scene-tab-dot{opacity:.55;background:currentColor;border-radius:50%;width:5px;height:5px}.scene-tab.is-active .scene-tab-dot{opacity:1;background:#fff}.player-controls{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;padding:9px 10px}.seek-track{cursor:pointer;background:#e7e2d8;border-radius:99px;height:8px;margin-bottom:8px;position:relative;overflow:hidden}.seek-segment{background:0 0;border-right:1px solid #ffffff8c;position:absolute;top:0;bottom:0}.seek-segment.is-active{background:#2f5bea12}.seek-fill{background:linear-gradient(90deg,var(--ink),#444850);border-radius:inherit;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.seek-thumb{border:2px solid var(--ink);pointer-events:none;background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000029}.controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.controls-group{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.control-button{border:1px solid var(--line);width:34px;height:32px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;padding:0;display:grid}.play-button{background:var(--ink);color:#fff;border-color:var(--ink)}.control-icon{width:32px;height:32px;padding:0}.time-readout{font-family:var(--font-mono);color:var(--muted);align-items:baseline;gap:3px;margin-left:2px;font-size:10px;display:inline-flex}.time-readout strong{color:var(--ink);font-size:11px}.rate-group{border:1px solid var(--line);background:#fff;border-radius:7px;gap:1px;padding:2px}.rate-button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:4px 5px;font-size:9.5px;font-weight:800}.rate-button.is-active{background:var(--ink);color:#fff}.pill-toggle{background:#fff;border-radius:6px;gap:4px;min-height:27px;padding:5px 7px;font-size:9.5px;font-weight:800}.pill-toggle.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.select-pill{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:4px;max-width:155px;padding:3px 5px;display:inline-flex}.select-pill select{color:var(--ink-soft);background:0 0;border:0;outline:none;max-width:120px;font-size:9.5px;font-weight:700}.volume-pill{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.volume-pill input{width:46px;accent-color:var(--accent)}.monitor-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.scene-counter{color:var(--muted);font-size:10.5px}.scene-counter strong{color:var(--ink)}.empty-monitor-note{border:1px dashed var(--line-strong);background:var(--surface-alt);border-radius:9px;align-items:flex-start;gap:10px;margin-top:10px;padding:11px;display:flex}.empty-icon{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.empty-monitor-note strong{font-size:11.5px;display:block}.empty-monitor-note p{color:var(--muted);margin:3px 0 0;font-size:10.5px}.storyboard-card{padding:16px}.storyboard-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.storyboard-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.storyboard-total{font-family:var(--font-mono);color:var(--muted-light);font-size:9.5px}.mini-button{background:#fff;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700}.mini-button.is-primary{background:var(--ink);border-color:var(--ink);color:#fff}.mini-button.is-recording{background:var(--danger-soft);color:#a32f2f;border-color:#f0caca}.mini-button:disabled{opacity:.5}.recording-banner{background:#fff7f6;border:1px solid #f1cdc8;border-radius:9px;align-items:center;gap:10px;margin-bottom:9px;padding:10px 11px;display:flex}.recording-dot{background:#e04a43;border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:1.2s ease-in-out infinite recording;box-shadow:0 0 0 4px #e04a4324}@keyframes recording{50%{opacity:.45}}.recording-banner>div{flex:1;min-width:0}.recording-banner strong{font-size:11.5px}.recording-banner p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:10.5px;overflow:hidden}.danger-button{color:#a62d2d;background:#fff;border:1px solid #e3b8b4;border-radius:6px;align-items:center;gap:4px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.storyboard-list{flex-direction:column;gap:8px;display:flex}.scene-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;transition:border-color .16s,box-shadow .16s}.scene-card:hover{border-color:var(--line-strong)}.scene-card.is-active{border-color:#b7c5f6;box-shadow:0 0 0 3px #2f5bea0f}.scene-card-summary{text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:0;display:flex}.scene-kind{font-family:var(--font-mono);letter-spacing:.08em;white-space:nowrap;border-radius:5px;flex-shrink:0;padding:3px 6px;font-size:8.5px;font-weight:700}.kind-intro{color:#2244c4;background:#eef2ff}.kind-body{color:#6b4bd6;background:#f3efff}.kind-outro{color:#08765b;background:#e9f8f2}.scene-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.scene-title strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.scene-title small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.audio-badge{white-space:nowrap;border-radius:5px;padding:3px 6px;font-size:8.5px;font-weight:800}.tone-ai{color:#2244c4;background:#eef2ff}.tone-recorded{color:#9a3412;background:#fff3e8}.tone-none{color:var(--muted);background:var(--surface-warm)}.scene-time{font-family:var(--font-mono);color:var(--muted-light);white-space:nowrap;font-size:9px}.scene-card-actions{border-top:1px dashed var(--line);flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:8px;display:flex}.scene-beats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px;display:grid}.beat-preview{border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;min-width:0;padding:8px}.beat-preview-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.beat-preview-head strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:800;overflow:hidden}.beat-preview-head span{font-family:var(--font-mono);color:var(--muted-light);font-size:8px}.beat-desc{color:var(--muted);margin-top:2px;font-size:9.5px;display:block}.beat-narration{color:#565960;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:5px 0 0;font-size:9.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.scene-editor{border-top:1px dashed var(--line);flex-direction:column;gap:8px;margin-top:9px;padding-top:9px;display:flex}.field-label{color:var(--muted);flex-direction:column;gap:4px;font-size:9.5px;font-weight:700;display:flex}.beat-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.beat-editor{border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;flex-direction:column;gap:5px;padding:7px;display:flex}.beat-editor-title{color:var(--accent-strong);font-size:9px;font-weight:800}.compact-input,.compact-area{padding:6px 7px;font-size:10.5px}.compact-area{min-height:60px}.editor-actions{justify-content:flex-end;gap:5px;display:flex}.editor-note{color:var(--muted-light);text-align:right;margin:0;font-size:9.5px}.site-footer{border-top:1px solid var(--line);width:calc(100% - 48px);max-width:1460px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:14px 0 22px;font-size:10.5px;display:flex}.footer-left,.footer-right{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.footer-brand{color:var(--ink);align-items:center;gap:4px;font-weight:800;display:inline-flex}.footer-dot{color:#c3beb2}.footer-note{align-items:center;gap:4px;display:inline-flex}.footer-link{color:var(--accent-strong);align-items:center;gap:2px;text-decoration:none;display:inline-flex}.stage-canvas.is-vertical{aspect-ratio:9/16;width:auto;max-width:100%;height:62vh;margin:0 auto}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18161175;justify-content:center;align-items:center;padding:24px;animation:.16s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal-dialog{width:min(960px,100%);max-height:90vh;box-shadow:var(--shadow-pop);background:#fff;border-radius:16px;flex-direction:column;animation:.2s both dialog-in;display:flex;overflow:hidden}.modal-dialog.is-wide{width:min(1120px,100%)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}.modal-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 18px;display:flex}.modal-title-group{align-items:flex-start;gap:10px;min-width:0;display:flex}.modal-icon{background:var(--ink);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.modal-title-group h2{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:900}.modal-title-group p{color:var(--muted);margin:2px 0 0;font-size:10.5px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.modal-body{min-height:0;padding:18px;overflow-y:auto}.teacher-toggle{border:1px solid var(--line);background:var(--surface-alt);border-radius:7px;gap:2px;padding:3px;display:inline-flex}.teacher-toggle button{color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;padding:5px 7px;font-size:10px;font-weight:700;display:inline-flex}.teacher-toggle button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0000000f}.help-dialog{width:min(820px,100%)}.help-grid{grid-template-columns:1fr 1.1fr;gap:22px;display:grid}.help-grid h3{margin:0 0 8px;font-size:12px;font-weight:900}.help-grid ol{color:var(--ink-soft);margin:0;padding-left:18px;font-size:11.5px;line-height:1.8}.shortcut-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.shortcut-list li{color:var(--ink-soft);align-items:center;gap:8px;font-size:10.5px;display:flex}kbd{border:1px solid var(--line-strong);background:var(--surface-alt);min-width:70px;font-family:var(--font-mono);text-align:center;border-bottom-width:2px;border-radius:5px;padding:4px 6px;font-size:9px}.help-note{background:var(--accent-soft);color:#34488f;border-radius:9px;margin-top:18px;padding:11px 13px;font-size:10.5px;line-height:1.6}.worksheet-shell{flex-direction:column;gap:10px;display:flex}.worksheet-tabs{gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.worksheet-tabs button{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700}.worksheet-tabs button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.worksheet-print-area{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-width:880px;margin:0 auto;padding:30px 34px}.worksheet-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:14px;display:flex}.worksheet-brand{align-items:center;gap:8px;display:flex}.worksheet-mark{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.worksheet-brand strong{font-size:13px;font-weight:900;display:block}.worksheet-brand small{color:var(--muted);font-size:9px}.worksheet-meta{color:var(--muted);flex-direction:column;align-items:flex-end;gap:5px;font-size:9px;display:flex}.worksheet-meta table{border-collapse:collapse}.worksheet-meta th,.worksheet-meta td{text-align:center;border:1px solid #bdb8ad;width:54px;height:22px;font-size:9px;font-weight:500}.worksheet-meta th{background:#f5f2eb;font-weight:700}.worksheet-title{padding:18px 0 14px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 4px;font-size:8.5px;font-weight:800}.worksheet-title h1{letter-spacing:-.03em;margin:0;font-size:27px;font-weight:900}.worksheet-title p{color:var(--muted);margin:5px 0 0;font-size:11px}.worksheet-section h2{border-left:3px solid var(--ink);margin:0 0 10px;padding-left:8px;font-size:13px;font-weight:900}.worksheet-section-desc{color:var(--muted);margin:-4px 0 12px;font-size:10px}.worksheet-question-box{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;margin-bottom:14px;padding:12px 14px}.worksheet-question-box strong{color:var(--accent-strong);font-size:11px}.worksheet-question-box p{color:var(--ink-soft);margin:4px 0 0;font-size:10.5px}.worksheet-summary-list{flex-direction:column;gap:8px;display:flex}.worksheet-summary-item{border:1px solid var(--line);border-radius:7px;padding:9px 11px}.worksheet-summary-head{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.worksheet-step{background:var(--surface-warm);color:var(--muted);border-radius:4px;padding:2px 6px;font-size:8px;font-weight:800}.worksheet-step.step-intro{color:#2244c4;background:#eef2ff}.worksheet-step.step-outro{color:#08765b;background:#e9f8f2}.worksheet-summary-head strong{font-size:10.5px}.worksheet-summary-head p{color:var(--muted);margin:0;font-size:9.5px}.worksheet-beat-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.worksheet-beat{border:1px solid var(--line);background:var(--surface-alt);border-radius:6px;padding:7px 8px}.worksheet-beat strong{font-size:9.5px;display:block}.worksheet-beat span{color:var(--muted);margin-top:2px;font-size:8.5px;display:block}.worksheet-reflection{margin-top:16px}.worksheet-reflection h3{margin:0 0 4px;font-size:11.5px}.worksheet-reflection p{color:var(--muted);margin:0;font-size:9.5px}.reflection-lines{background:repeating-linear-gradient(#0000,#0000 19px,#e9e5dc 20px);border-bottom:1px solid #e9e5dc;height:80px;margin-top:8px}.worksheet-question{border:1px solid var(--line);border-radius:7px;gap:9px;margin-bottom:8px;padding:10px 11px;display:flex}.worksheet-question p{margin:0;font-size:10.5px;line-height:1.65}.question-number{background:var(--ink);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:9px;font-weight:800;display:grid}.answer-chip{background:var(--green-soft);color:#08765b;white-space:nowrap;border-radius:4px;align-self:flex-start;margin-left:auto;padding:3px 7px;font-size:8.5px;font-weight:800}.worksheet-question.mcq,.worksheet-question.essay{align-items:flex-start}.worksheet-question>div{flex:1;min-width:0}.mcq-question{color:var(--ink);font-weight:700}.mcq-options{grid-template-columns:1fr 1fr;gap:4px;margin-top:7px;display:grid}.mcq-option{color:var(--ink-soft);border:1px solid var(--line);border-radius:5px;align-items:center;gap:5px;padding:4px 6px;font-size:9.5px;display:flex}.mcq-option b{border:1px solid var(--line-strong);border-radius:50%;flex-shrink:0;place-items:center;width:15px;height:15px;font-size:8px;display:grid}.mcq-option.is-answer{background:var(--green-soft);color:#08765b;border-color:#bce8d8}.mcq-explanation{color:var(--muted);background:var(--surface-alt);border-radius:5px;margin:7px 0 0;padding:6px 8px;font-size:9px}.guiding-list{color:var(--muted);margin:6px 0 0;padding-left:15px;font-size:9px;line-height:1.7}.essay-lines{background:repeating-linear-gradient(#0000,#0000 22px,#ebe7de 23px);border-bottom:1px solid #ebe7de;height:90px;margin-top:8px}.teacher-answer{background:#f6fcf9;border:1px solid #cfe7dd;border-radius:6px;margin-top:8px;padding:8px 9px}.teacher-answer strong{color:#08765b;margin-bottom:2px;font-size:9px;display:block}.teacher-answer p{color:#31584b;margin:0 0 6px;font-size:9.5px}.worksheet-footer{border-top:1px solid var(--line);color:var(--muted-light);text-align:center;margin-top:20px;padding-top:10px;font-size:8.5px}.quiz-shell{flex-direction:column;gap:16px;display:flex}.quiz-scorebar{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.quiz-scorebar strong{font-size:13px;font-weight:900;display:block}.score-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.quiz-section h3{margin:0 0 8px;font-size:12px;font-weight:900}.quiz-card{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;padding:12px}.quiz-question-head{align-items:flex-start;gap:9px;display:flex}.quiz-question-head small{color:var(--muted-light);margin-bottom:2px;font-size:8.5px;display:block}.quiz-question-head p{margin:0;font-size:11.5px;font-weight:700;line-height:1.55}.quiz-options{grid-template-columns:1fr 1fr;gap:5px;margin-top:9px;padding-left:29px;display:grid}.quiz-option{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:7px 8px;font-size:10.5px;transition:all .15s;display:flex}.quiz-option:hover{border-color:var(--line-strong);background:var(--surface-alt)}.quiz-option b{border:1px solid var(--line-strong);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.quiz-option.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.quiz-option.is-selected b{border-color:var(--accent);background:var(--accent);color:#fff}.quiz-option.is-correct{background:var(--green-soft);color:#08765b;border-color:#94d8c2}.quiz-option.is-correct b{background:var(--green);border-color:var(--green);color:#fff}.quiz-option.is-wrong{background:var(--danger-soft);color:#a32f2f;border-color:#ecc2c2}.quiz-explanation{color:var(--muted);margin:9px 0 0;padding-left:29px;font-size:9.5px}.quiz-explanation strong{color:var(--ink-soft);margin-right:3px}.quiz-model-answer{background:#f6fcf9;border:1px solid #cfe7dd;border-radius:6px;margin:9px 0;padding:9px}.quiz-model-answer strong{color:#08765b;font-size:9px;display:block}.quiz-model-answer p{color:#31584b;margin:3px 0 7px;font-size:10px;line-height:1.6}.quiz-card .text-area{margin-top:9px;font-size:11px}.essay-feedback{background:var(--accent-soft);border-radius:6px;margin-top:8px;padding:8px 10px}.essay-feedback strong{color:var(--accent-strong);font-size:10px}.essay-feedback p{color:#40528e;margin:3px 0 0;font-size:10px}.quiz-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.materials-shell{flex-direction:column;gap:18px;display:flex}.materials-loading{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 20px;display:flex}.materials-loading strong{color:var(--ink);font-size:13px}.materials-loading p{margin:0;font-size:10.5px}.material-section{flex-direction:column;gap:9px;display:flex}.material-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.material-thumbnail{border:1px solid var(--line);border-radius:9px;width:100%;display:block}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.card-preview{border:1px solid var(--line);background:var(--surface-alt);border-radius:8px;overflow:hidden}.card-preview img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.card-preview-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;padding:6px 7px;font-size:9px;display:flex}.export-dialog{width:min(480px,100%)}.export-progress,.export-success,.export-error{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:10px 6px;display:flex}.export-spinner{color:var(--accent);align-items:center;gap:10px;display:flex}.export-spinner strong{font-family:var(--font-mono);color:var(--ink);font-size:22px}.export-progress p,.export-success p,.export-error p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.6}.export-progress .progress-track{width:100%;margin:4px 0}.export-progress small,.export-success small{color:var(--muted-light);font-size:9.5px;line-height:1.5}.export-success{color:var(--green)}.export-success h3{color:var(--ink);margin:0;font-size:15px}.export-actions{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.export-error strong{color:var(--danger)}.presentation-root{z-index:150;color:#f4f4f2;background:radial-gradient(1000px 500px at 50% 0,#2f5bea1f,#0000 70%),#0c0d11;flex-direction:column;padding:12px 18px 14px;display:flex;position:fixed;inset:0;overflow:hidden}.presentation-top{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.presentation-title-group{align-items:center;gap:11px;min-width:0;display:flex}.presentation-badge{color:#a9bcff;white-space:nowrap;background:#2f5bea1f;border:1px solid #7a96ff4d;border-radius:7px;align-items:center;gap:5px;padding:5px 8px;font-size:9.5px;font-weight:800;display:inline-flex}.presentation-title-group strong{white-space:nowrap;text-overflow:ellipsis;max-width:40vw;font-size:14px;font-weight:800;display:block;overflow:hidden}.presentation-title-group small{color:#8e929b;white-space:nowrap;text-overflow:ellipsis;max-width:40vw;font-size:9.5px;display:block;overflow:hidden}.presentation-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.presentation-group{background:#ffffff0b;border:1px solid #ffffff1c;border-radius:8px;align-items:center;gap:2px;padding:3px;display:inline-flex}.presentation-label{color:#858a94;white-space:nowrap;padding:0 5px;font-size:8.5px}.presentation-group button,.presentation-icon{color:#b9bdc6;white-space:nowrap;background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;padding:5px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.presentation-group button:hover,.presentation-icon:hover{color:#fff;background:#ffffff14}.presentation-group button.is-active,.presentation-icon.is-active{background:var(--accent);color:#fff}.presentation-stage-wrap{flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;padding:10px 0;display:flex}.presentation-stage{aspect-ratio:16/9;background:#faf9f6;border-radius:10px;width:min(88vw,177.778vh - 337.778px);max-width:100%;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000008c}.presentation-stage.is-vertical{aspect-ratio:9/16;width:min(56vw,56.25vh - 106.875px)}.presentation-stage.with-guide{width:min(73vw,177.778vh - 337.778px)}.presentation-canvas,.annotation-canvas{width:100%;height:100%;display:block}.annotation-canvas{touch-action:none;cursor:crosshair;position:absolute;inset:0}.annotation-canvas.tool-laser{cursor:none}.annotation-canvas.tool-highlighter{cursor:cell}.annotation-canvas.tool-eraser{cursor:not-allowed}.guide-panel{background:#16181ef0;border:1px solid #ffffff1c;border-radius:10px;flex-direction:column;gap:10px;width:306px;max-height:100%;padding:12px;display:flex;overflow-y:auto}.guide-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.guide-head .panel-label{color:#d6d9df}.guide-head .icon-button{color:#d6d9df;background:0 0;border-color:#ffffff24;width:26px;height:26px}.guide-scene-title small{color:#8e96ff;letter-spacing:.08em;text-transform:uppercase;font-size:8.5px;font-weight:800;display:block}.guide-scene-title strong{margin-top:2px;font-size:12px;display:block}.guide-scene-title p{color:#aab0bb;margin:4px 0 0;font-size:9.5px;line-height:1.55}.guide-beats{flex-direction:column;gap:6px;display:flex}.guide-beat{opacity:.55;background:#ffffff09;border:1px solid #ffffff14;border-radius:7px;padding:8px}.guide-beat.is-revealed{opacity:1;border-color:#7a96ff47}.guide-beat-number{font-family:var(--font-mono);color:#8e96ff;font-size:8px}.guide-beat strong{margin-top:1px;font-size:10.5px;display:block}.guide-beat p{color:#9ba2ae;margin:2px 0 0;font-size:8.5px}.guide-beat ul{color:#c0c5cd;margin:5px 0 0;padding-left:13px;font-size:8.5px;line-height:1.65}.guide-tip{border-top:1px solid #ffffff1a;padding-top:8px}.guide-tip strong{color:#f3cf79;font-size:8.5px}.guide-tip p{color:#b8bdc7;margin:3px 0 0;font-size:9px;line-height:1.6}.presentation-bottom{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.presentation-bottom-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.presentation-narrate{color:#eef0f4;background:#ffffff0d;border:1px solid #ffffff24;border-radius:7px;align-items:center;gap:5px;padding:6px 9px;font-size:9.5px;font-weight:700;display:inline-flex}.presentation-narrate:hover{background:#ffffff17}.shortcut-hint{color:#7e8591;font-size:8.5px}.shortcut-hint b{color:#cbd0d8;font-family:var(--font-mono);font-weight:600}.presentation-bottom-center{align-items:center;gap:5px;display:flex}.presentation-nav{color:#d9dce2;background:#ffffff0d;border:1px solid #ffffff21;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.presentation-nav:hover:not(:disabled){background:#ffffff1a}.presentation-nav:disabled{opacity:.3}.presentation-dot{background:#454a55;border:0;border-radius:50%;width:8px;height:8px;padding:0}.presentation-dot.is-active{background:#d9dee9;box-shadow:0 0 0 3px #d9dee91f}.presentation-count{font-family:var(--font-mono);color:#8c929d;font-size:9.5px}.presentation-count strong{color:#fff}.toast-stack{z-index:200;flex-direction:column;gap:7px;max-width:min(380px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:9px;align-items:flex-start;gap:8px;padding:10px 11px;font-size:11px;animation:.2s both toast-in;display:flex;box-shadow:0 14px 40px #18161124}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.toast svg{flex-shrink:0;margin-top:1px}.toast-success svg{color:var(--green)}.toast-error svg{color:var(--danger)}.toast-info svg{color:var(--accent)}.toast span{flex:1;line-height:1.5}.toast button{color:var(--muted-light);background:0 0;border:0;place-items:center;padding:0;display:grid}.translating-chip{z-index:190;background:var(--ink);color:#fff;box-shadow:var(--shadow-pop);border-radius:9px;align-items:center;gap:7px;padding:9px 12px;font-size:10.5px;font-weight:700;display:inline-flex;position:fixed;bottom:18px;right:18px}.spinner-dot{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:8px;height:8px;animation:.8s linear infinite spin}@media(max-width:1180px){.tool-button span{display:none}.tool-button{padding:7px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.header-top{padding:12px 16px 8px}.tab-bar{width:calc(100% - 32px);margin-bottom:8px}.studio-layout{margin-top:12px;padding:0 16px;display:block}.show-settings .monitor-column,.show-monitor .settings-column{display:none}.settings-panel,.monitor-panel{gap:12px}.site-footer{text-align:center;justify-content:center;width:calc(100% - 32px)}.help-grid{grid-template-columns:1fr}.presentation-stage,.presentation-stage.with-guide{width:min(94vw,177.778vh - 373.333px)}.guide-panel{z-index:4;width:min(306px,82vw);position:absolute;top:80px;bottom:70px;right:18px}.presentation-stage-wrap{position:relative}}@media(max-width:680px){.hide-sm{display:none!important}.brand-text strong{font-size:17px}.brand-badge{display:none}.header-actions{gap:5px}.chip-soft{padding:6px 8px;font-size:10px}.ghost-button span{display:none}.ghost-button{padding:8px}.tab-button{padding:9px 8px;font-size:11.5px}.option-grid.three,.option-grid.two,.template-grid{grid-template-columns:1fr}.option-card{min-height:0}.monitor-tools{gap:4px}.tool-button{padding:6px}.scene-beats,.beat-editor-grid{grid-template-columns:1fr}.scene-card-summary{flex-wrap:wrap}.scene-title{flex-basis:calc(100% - 90px)}.audio-badge{margin-left:auto}.storyboard-heading{flex-direction:column;align-items:flex-start}.storyboard-actions{width:100%}.controls-row{align-items:flex-start}.controls-group:last-child{width:100%}.poster-actions{bottom:12px;right:14px}.poster-demo-button{padding:7px 9px;font-size:9.5px}.modal-backdrop{padding:10px}.modal-dialog{border-radius:12px;max-height:94vh}.modal-head,.modal-body{padding:12px}.modal-actions{gap:4px}.modal-actions .teacher-toggle{order:2}.worksheet-print-area{padding:18px}.worksheet-header{flex-direction:column;gap:10px}.worksheet-meta{align-items:flex-start}.worksheet-title h1{font-size:21px}.worksheet-beat-grid,.mcq-options,.quiz-options{grid-template-columns:1fr}.quiz-options,.quiz-explanation{padding-left:0}.card-grid{grid-template-columns:1fr 1fr}.presentation-root{padding:10px 10px 12px;overflow-y:auto}.presentation-title-group{display:none}.presentation-tools{justify-content:flex-start}.presentation-stage-wrap{flex:none;padding:8px 0}.presentation-stage,.presentation-stage.with-guide{width:100%}.presentation-bottom{flex-direction:column;align-items:flex-start}.shortcut-hint{display:none}.presentation-bottom-center{order:-1}.guide-panel{width:auto;max-height:55vh;position:fixed;inset:auto 10px 70px}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.btn-pulse:after{display:none}}@media print{#root{display:none!important}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:0;display:block;position:static}.modal-dialog{width:100%;max-height:none;box-shadow:none;border-radius:0;overflow:visible}.modal-head,.worksheet-tabs{display:none!important}.modal-body{padding:0;overflow:visible}.worksheet-print-area{border:0;border-radius:0;max-width:none;padding:0}.worksheet-summary-item,.worksheet-question,.worksheet-question-box{break-inside:avoid}.worksheet-footer{position:fixed;bottom:0;left:0;right:0}}.studio-tip-card{padding:16px 18px}.tip-flow{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.tip-flow span{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:10.5px;display:inline-flex}.tip-flow b{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:inline-grid}.tip-flow i{background:var(--line-strong);width:18px;height:1px}.tip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tip-grid>div{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px}.tip-grid strong{font-size:10.5px;font-weight:800;display:block}.tip-grid p{color:var(--muted);margin:3px 0 0;font-size:9.5px;line-height:1.55}@media(max-width:680px){.tip-grid{grid-template-columns:1fr}}.audio-badge.tone-stale{color:#9a4a00;background:#fff2df;align-items:center;gap:3px;display:inline-flex}.mini-button.is-ai{color:var(--accent-strong);background:#eef2ff;border-color:#cfd9ff}.mini-button.is-ai:hover{background:#e2e9ff}.mini-button.is-warn{color:#9a4a00;background:#fff6e8;border-color:#f0cfa0}.icon-button.tiny{border-radius:7px;width:26px;height:26px}.icon-button.tiny.is-danger{color:#a63a3a}.icon-button.tiny.is-danger:hover{background:var(--danger-soft);border-color:#ecc2c2}.scene-action-divider{background:var(--line);align-self:stretch;width:1px;margin:0 2px}.scene-editor .editor-row{grid-template-columns:150px 1fr;gap:8px;display:grid}.beat-editor-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.editor-spacer{flex:1}.storyboard-footer{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.stale-notice{color:#8a4a06;text-align:left;background:#fff8ec;border:1px solid #f0cfa0;border-radius:7px;align-items:center;gap:6px;width:100%;margin-top:8px;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.stale-notice:hover{background:#fff2dd}.monitor-footer-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.autosave-status{color:var(--muted-light);font-size:9.5px;font-family:var(--font-mono);white-space:nowrap}.autosave-status.is-saving{color:var(--accent-strong)}.autosave-status.is-error{color:var(--danger)}.scene-tab-add{color:var(--accent-strong);border-style:dashed}.draft-banner{background:linear-gradient(#f4f7ff,#eef2ff);border:1px solid #d5ddff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;width:calc(100% - 48px);max-width:1460px;margin:12px auto 0;padding:12px 16px;display:flex}.draft-banner strong{font-size:12.5px}.draft-banner p{color:#4b5a92;margin:2px 0 0;font-size:10.5px}.draft-banner-actions{gap:7px;display:inline-flex}.format-pill select{max-width:64px}.budget-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border:1px solid #d5ddff;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.generate-audio-toggle{justify-content:center;padding:2px 0}.budget-note{color:var(--accent-strong)}.history-shell{flex-direction:column;gap:10px;display:flex}.history-list{flex-direction:column;gap:7px;display:flex}.history-item{border:1px solid var(--line);background:var(--surface-alt);border-radius:9px;align-items:center;gap:10px;padding:9px 10px;display:flex}.history-icon{border:1px solid var(--line);width:30px;height:30px;color:var(--accent-strong);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.history-meta{flex:1;min-width:0}.history-meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.history-meta small{color:var(--muted);margin-top:2px;font-size:9.5px;display:block}.history-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:46px 20px;display:flex}.history-empty p{max-width:420px;margin:0;font-size:10.5px;line-height:1.6}.rewrite-shell{flex-direction:column;gap:14px;display:flex}.rewrite-controls{flex-direction:column;gap:8px;display:flex}.rewrite-presets{flex-wrap:wrap;gap:5px;display:flex}.preset-chip{border:1px solid var(--line);background:var(--surface-alt);color:var(--muted);border-radius:999px;padding:6px 11px;font-size:10.5px;font-weight:700}.preset-chip:hover{border-color:var(--line-strong);color:var(--ink)}.preset-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.rewrite-options{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.field-label.inline{flex-direction:row;align-items:center;gap:6px;font-size:10.5px}.compact-select{width:auto;padding:6px 8px;font-size:11px}.rewrite-diff{border:1px solid var(--line);border-radius:10px;overflow:hidden}.rewrite-diff-head{background:var(--surface-warm);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.rewrite-diff-head span{color:var(--muted);letter-spacing:.04em;padding:7px 11px;font-size:10px;font-weight:800}.rewrite-diff-head span+span{border-left:1px solid var(--line)}.diff-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.diff-row>div{min-width:0;padding:9px 11px}.diff-row>div+div{border-left:1px solid var(--line)}.diff-row small{letter-spacing:.06em;color:var(--muted-light);text-transform:uppercase;margin-bottom:3px;font-size:8.5px;font-weight:800;display:block}.diff-row strong{font-size:12px;font-weight:800;display:block}.diff-row p{color:var(--ink-soft);margin:4px 0 0;font-size:10.5px;line-height:1.6}.diff-row span{color:var(--muted);margin-top:2px;font-size:10px;display:block}.diff-row.is-changed{background:#f7f9ff}.diff-row.is-changed>div+div{box-shadow:inset 3px 0 0 var(--accent);background:#eef3ff}.diff-row.beat p{color:#4d5566}.diff-empty{color:var(--muted-light);font-size:10px}.rewrite-apply{justify-content:flex-end;gap:7px;padding:10px 11px;display:flex}.rewrite-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.rewrite-empty p{max-width:420px;margin:0;font-size:10.5px;line-height:1.6}@media(max-width:680px){.scene-editor .editor-row,.rewrite-diff-head,.diff-row{grid-template-columns:1fr}.rewrite-diff-head span+span,.diff-row>div+div{border-left:0;border-top:1px solid var(--line)}.monitor-footer-actions{justify-content:flex-start;width:100%}}.crash-screen{background:var(--bg);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.crash-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:16px;width:min(520px,100%);padding:28px 26px;box-shadow:0 18px 40px #0f172a14}.crash-icon{color:#b91c1c;background:#dc262614;border-radius:14px;place-items:center;width:52px;height:52px;margin-bottom:14px;display:inline-grid}.crash-card h1{color:var(--ink);margin:0 0 10px;font-size:18px;font-weight:800}.crash-card p{color:var(--muted);margin:0 0 18px;font-size:12.5px;line-height:1.7}.crash-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.crash-note{font-size:11.5px;color:var(--ink)!important;margin-top:14px!important}.crash-details{text-align:left;color:var(--muted);margin-top:16px;font-size:11px}.crash-details pre{background:var(--surface-alt);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);border-radius:8px;margin:8px 0 0;padding:10px;font-size:10.5px}.scene-tablist{display:contents}.progress-cancel{margin-top:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.beat-visual-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.beat-visual-thumb{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:5px;width:40px;height:30px}.beat-visual-thumb.is-empty{background:var(--surface-alt);display:inline-block}.beat-visual-kind{color:var(--muted);font-size:10px;font-weight:700}.beat-preview-thumb{object-fit:contain;border:1px solid var(--line);background:#fff9;border-radius:6px;width:100%;max-height:96px;margin-bottom:6px}.formula-editor{border:1px solid var(--line);background:var(--surface-alt);border-radius:10px;gap:8px;margin-top:8px;padding:10px;display:grid}.formula-preview{border:1px dashed var(--line-strong);background:#fff;border-radius:8px;place-items:center;min-height:56px;padding:8px;display:grid;overflow-x:auto}.formula-stage-clip{width:1px;height:1px;position:absolute;overflow:hidden}.formula-stage{color:#191b1f;white-space:nowrap;background:0 0;padding:18px 22px;font-size:44px;display:inline-block}.formula-loading{color:var(--muted);font-size:11px}.formula-actions{justify-content:flex-end;gap:6px;display:flex}.stage-canvas.is-vertical{height:58vh}.share-viewer{flex-direction:column;align-items:center;gap:18px;min-height:100vh;padding:26px 16px 40px;display:flex}.share-header{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.share-brand{align-items:center;gap:6px;font-size:16px;font-weight:800;display:inline-flex}.share-subtitle{color:var(--muted);font-size:12.5px}.share-main{justify-items:center;gap:14px;width:min(960px,100%);display:grid}.share-stage{background:#17181c;border:1px solid #26272c;border-radius:12px;width:100%;padding:10px}.share-stage .stage-canvas{aspect-ratio:16/9}.share-stage.is-vertical{width:auto}.share-stage.is-vertical .stage-canvas{aspect-ratio:9/16;width:auto;height:64vh}.share-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.share-scene-dots{gap:5px;display:flex}.share-dot{border:1px solid var(--line);background:var(--surface-alt);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:50%;font-size:11px;font-weight:700}.share-dot.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.share-footer{text-align:center;justify-items:center;gap:8px;max-width:560px;display:grid}.share-footer p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.share-card{text-align:center;justify-items:center;gap:12px;max-width:460px;margin:18vh auto 0;display:grid}.quiz-viewer{flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:26px 16px 48px;display:flex}.quiz-viewer-main{gap:16px;width:min(880px,100%);display:grid}.quiz-viewer-actions{flex-wrap:wrap;justify-content:center;gap:10px;padding-top:6px;display:flex}.result-canvas-hidden{display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
