/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-border-style:solid}}}@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:"JetBrains Mono", ui-monospace, monospace;--spacing:.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-text-primary:#1c1917;--color-text-body:#57534e;--color-text-muted:#78716c;--color-text-quaternary:#a8a29e;--color-border:#e7e5e4;--color-border-hover:#d6d3d1;--color-surface:#fff;--color-surface-alt:#fafaf9;--color-surface-hover:#f5f5f4;--color-btn-primary:#1c1917;--color-btn-primary-hover:#292524;--color-danger:#f43f5e;--color-danger-hover:#e11d48;--color-success:#10b981;--color-info:#0ea5e9;--color-focus-ring:#0ea5e9;--color-success-bg:#ecfdf5;--color-success-text:#059669;--color-success-border:#d1fae5;--color-info-bg:#f0f9ff;--color-info-text:#0284c7;--color-warning-bg:#fef3c7;--color-warning-text:#92400e;--color-danger-bg:#fee2e2;--color-danger-text:#991b1b;--color-progress-bg:#eff6ff;--color-progress-text:#2563eb;--font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Noto Sans KR", system-ui, sans-serif;--font-heading:var(--font-body);--radius-card:12px;--radius-btn:10px;--radius-input:10px;--radius-badge:6px;--radius-card-workspace:var(--radius-card);--radius-btn-workspace:var(--radius-btn);--type-page-title-size:28px;--type-section-size:20px;--type-card-title-size:16px;--ease-smooth:cubic-bezier(.2, .8, .2, 1)}}@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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.block{display:block}.hidden{display:none}.w-1{width:var(--spacing)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-end{align-items:flex-end}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-danger{color:var(--color-danger)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[mvs\:auth-required\]{mvs:auth-required}.\[mvs\:session-loss\]{mvs:session-loss}}@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2-variations")}:root{--density-card-padding:16px;--density-section-gap:12px;--density-body-weight:400;--density-touch-min:48px;--btn-height-sm:36px;--btn-height-md:40px;--btn-height-lg:48px;--btn-font-size:14px;--btn-font-weight:500;--btn-disabled-opacity:.45}@media (width>=1024px){:root{--density-card-padding:24px;--density-section-gap:16px;--density-body-weight:300;--density-touch-min:36px}}body{font-family:var(--font-body);color:var(--color-text-primary);letter-spacing:-.005em;line-height:1.7;font-weight:var(--density-body-weight)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.35}:root{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-surface-alt);font-synthesis:none;text-rendering:optimizelegibility;--studio-accent:var(--color-info);--studio-accent-bg:var(--color-info-bg);--studio-accent-text:var(--color-info-text)}*{box-sizing:border-box}html{background:var(--color-surface-alt);min-width:20rem}body{word-break:keep-all;overflow-wrap:anywhere;min-width:20rem;min-height:100dvh;margin:0}button,input,textarea,select{font:inherit}button,label,input[type=checkbox]{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px}button:disabled{cursor:not-allowed;opacity:var(--btn-disabled-opacity)}button:focus-visible,input:focus-visible,textarea:focus-visible,audio:focus-visible{outline:3px solid #0ea5e940}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible,textarea:focus-visible,audio:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus-ring) 25%, transparent)}}button:focus-visible,input:focus-visible,textarea:focus-visible,audio:focus-visible{outline-offset:2px}input,textarea{border:1px solid var(--color-border);border-radius:var(--radius-input);color:var(--color-text-primary);background:var(--color-surface);transition:border-color .18s var(--ease-smooth), box-shadow .18s var(--ease-smooth)}input:focus,textarea:focus{border-color:var(--color-focus-ring);box-shadow:0 0 0 3px #0ea5e91f}@supports (color:color-mix(in lab, red, red)){input:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus-ring) 12%, transparent)}}input:focus,textarea:focus{outline:none}h1,h2,h3,p{margin-top:0}h1:focus{outline:none}.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}.button-primary,.button-secondary,.button-ghost,.button-danger{border-radius:var(--radius-btn-workspace);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);transition:background-color .18s var(--ease-smooth), border-color .18s var(--ease-smooth), transform .18s var(--ease-smooth);padding:0 20px}.button-primary{border:1px solid var(--color-btn-primary);color:var(--color-surface);background:var(--color-btn-primary)}.button-secondary{border:1px solid var(--color-border);color:var(--color-text-body);background:var(--color-surface)}.button-ghost{color:var(--color-text-muted);background:0 0;border:1px solid #0000}.button-danger{border:1px solid var(--color-danger);color:var(--color-surface);background:var(--color-danger)}.inline-spinner{justify-content:center;align-items:center;gap:7px;display:inline-flex}.inline-spinner-indicator{border:2px solid;border-right-color:#0000;border-radius:9999px;flex:none;width:14px;height:14px;animation:.7s linear infinite inline-spinner-turn}@keyframes inline-spinner-turn{to{transform:rotate(360deg)}}.full-width{width:100%}.text-danger,.inline-error,.track-error{color:var(--color-danger-text)}.inline-error{margin:12px 0 0;font-size:13px;font-weight:500}.center-page,.join-page{background:var(--color-surface);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.center-page{color:var(--color-text-muted);flex-direction:column;gap:12px}.center-page-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}@media (width<=380px){.center-page-actions{flex-direction:column;align-self:stretch}}.loading-dot{background:var(--studio-accent);border-radius:9999px;width:12px;height:12px;animation:1.2s ease-in-out infinite loading-pulse}@keyframes loading-pulse{50%{opacity:.35;transform:scale(.78)}}.landing-page{text-align:center;background:var(--color-surface);justify-content:center;align-items:center;min-height:100dvh;padding:64px 32px;display:flex}.landing-inner{flex-direction:column;align-items:center;width:100%;max-width:880px;display:flex}.landing-label{color:var(--color-text-muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 28px;font-size:13px;font-weight:700;line-height:1}.landing-title{color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 24px;font-size:76px;font-weight:700;line-height:1.15}.landing-caption{max-width:560px;color:var(--color-text-body);letter-spacing:-.005em;margin:0 0 44px;font-size:18px;font-weight:400;line-height:1.65}.landing-cta-cluster{justify-content:center;align-items:center;gap:10px;display:flex}.landing-cta{letter-spacing:-.005em;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;height:56px;padding:0 32px;font-size:16px;font-weight:600;line-height:1;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.landing-cta-primary{background:var(--color-btn-primary);color:var(--color-surface)}.landing-cta-primary:hover{background:var(--color-btn-primary-hover)}.landing-cta-secondary{background:var(--color-surface);border-color:var(--color-border-hover);color:var(--color-text-body)}.landing-cta-secondary:hover{background:var(--color-surface-alt);border-color:var(--color-text-quaternary)}@media (width<=639px){.landing-page{padding:72px 24px}.landing-inner{align-items:stretch;max-width:none}.landing-label{letter-spacing:.14em;margin-bottom:20px;font-size:12px}.landing-title{letter-spacing:-.025em;margin-bottom:18px;font-size:36px;line-height:1.22}.landing-caption{max-width:none;margin-bottom:36px;font-size:16px;line-height:1.6}.landing-cta-cluster{flex-direction:column;width:100%}.landing-cta{width:100%;height:52px;padding:0 24px}}.join-card{text-align:center;width:min(100%,400px)}.join-card h1{letter-spacing:-.02em;margin:18px 0 8px;font-size:clamp(24px,5vw,32px);font-weight:600}.join-subtitle,.join-session-summary,.join-complete p{color:var(--color-text-body);margin-bottom:0;font-size:14px}.brand-mark{width:44px;height:44px;margin:0 auto;display:block}.join-code-input{text-align:center;letter-spacing:.32em;width:100%;height:68px;margin-top:30px;padding:0 18px 0 28px;font-size:28px;font-weight:700}.name-input{text-align:center;width:100%;height:48px;margin-top:24px;padding:0 16px;font-size:16px}.join-primary{width:100%;height:48px;margin-top:24px}.join-card>.button-ghost{margin-top:8px}.join-hint{color:var(--color-text-quaternary);margin:28px 0 0;font-size:12px}.join-hint.compact{margin-top:8px}.person-icon,.success-icon{width:64px;height:64px;color:var(--studio-accent-text);background:var(--studio-accent-bg);border-radius:9999px;place-items:center;margin-inline:auto;font-size:28px;font-weight:700;display:grid}.success-icon{color:var(--color-success-text);background:var(--color-success-bg)}.studio-page-shell{background:var(--color-border);min-height:100dvh;padding:28px}.studio-frame{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);width:min(100%,1100px);min-height:calc(100dvh - 56px);margin:0 auto;overflow:hidden;box-shadow:0 8px 30px #1c191717}@supports (color:color-mix(in lab, red, red)){.studio-frame{box-shadow:0 8px 30px color-mix(in srgb, var(--color-text-primary) 9%, transparent)}}.studio-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(145px,.7fr) minmax(420px,2fr) minmax(150px,.8fr);align-items:center;gap:14px;min-height:64px;padding:10px 22px;display:grid}.studio-exit{justify-self:start;padding-inline:8px;font-size:12.5px}.studio-stepbar{justify-content:center;align-items:center;gap:9px;margin:0;padding:0;list-style:none;display:flex}.studio-step{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.studio-step:not(:last-child):after{content:"→";color:var(--color-text-quaternary);margin-left:3px}.studio-step>span{border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-text-quaternary);background:var(--color-surface);border-radius:9999px;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.studio-step b{font-weight:500}.studio-step-current{color:var(--color-text-primary)}.studio-step-current b{font-weight:700}.studio-step-current>span{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.studio-step-done>span{color:var(--color-success-text);border-color:var(--color-success-border);background:var(--color-success-bg)}.studio-student-meta{color:var(--color-text-muted);white-space:nowrap;justify-content:flex-end;gap:7px;font-size:12px;display:flex}.studio-student-meta span+span:before{content:"·";color:var(--color-text-quaternary);margin-right:7px}.studio-notice{color:var(--color-warning-text);background:var(--color-warning-bg);text-align:center;padding:9px 20px;font-size:13px}.exit-dialog-backdrop{z-index:50;background:#1c191766;place-items:center;padding:16px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.exit-dialog-backdrop{background:color-mix(in srgb, var(--color-text-primary) 40%, transparent)}}.exit-dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:exit-dialog-backdrop-in .2s var(--ease-smooth)}.exit-dialog{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);width:min(100%,400px);padding:24px;position:relative;box-shadow:0 18px 48px #1c19172e}@supports (color:color-mix(in lab, red, red)){.exit-dialog{box-shadow:0 18px 48px color-mix(in srgb, var(--color-text-primary) 18%, transparent)}}.exit-dialog{animation:exit-dialog-scale-in .2s var(--ease-smooth)}.exit-dialog h2{letter-spacing:-.01em;margin:0 80px 8px 0;font-size:20px}.exit-dialog p{color:var(--color-text-body);margin:0;font-size:14px;line-height:1.7}.exit-dialog-close{align-items:center;gap:4px;padding:0 10px;font-size:13px;display:inline-flex;position:absolute;top:10px;right:10px}.exit-dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@keyframes exit-dialog-backdrop-in{0%{opacity:0}}@keyframes exit-dialog-scale-in{0%{transform:scale(.95)}}.mode-page-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100% - 40px,720px);min-height:calc(100dvh - 180px);margin:0 auto;padding:50px 0;display:flex}.mode-page-content h1,.result-heading h1,.done-page-content>h1{letter-spacing:-.018em;margin-bottom:8px;font-size:clamp(24px,4vw,28px);font-weight:600}.page-lead{color:var(--color-text-body);font-size:14px}.page-lead.left{text-align:left}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-top:28px;display:grid}.mode-grid-single{grid-template-columns:minmax(0,360px);justify-content:center}.mode-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);min-height:210px;color:var(--color-text-primary);background:var(--color-surface);text-align:left;flex-direction:column;align-items:flex-start;padding:28px;display:flex}.mode-card strong{margin-top:16px;font-size:18px}.mode-card>span:last-child{color:var(--color-text-body);margin-top:6px;font-size:13.5px;line-height:1.7}.mode-icon{width:46px;height:46px;color:var(--studio-accent-text);background:var(--studio-accent-bg);border-radius:9999px;place-items:center;display:grid}.mode-icon svg{fill:none;stroke:currentColor;stroke-width:2px;width:22px}.mode-caption{color:var(--color-text-quaternary);margin:22px 0 0;font-size:12px}.editor-split{grid-template-columns:minmax(280px,2fr) minmax(420px,3fr);min-height:calc(100dvh - 121px);display:grid}.editor-guide-panel,.editor-main-panel,.style-chip-panel{padding:clamp(22px,3vw,32px)}.editor-guide-panel{border-right:1px solid var(--color-border);background:var(--color-surface-alt)}.editor-guide-panel h1,.style-story-panel h1{margin-bottom:6px;font-size:21px;font-weight:600}.editor-guide-panel>p{color:var(--color-text-body);font-size:13px;line-height:1.65}.field-label,.field-title{color:var(--color-text-muted);font-size:13px;font-weight:600;display:block}.field-label{margin:24px 0 7px}.topic-textarea{resize:none;width:100%;min-height:62px;max-height:34vh;padding:11px 13px;font-size:14px;line-height:1.6;overflow-y:auto}.editor-guide-panel .full-width{margin-top:9px}.provider-label{color:var(--color-text-quaternary);margin:7px 0 0;font-size:11.5px}.tip-card,.style-preview{border-radius:var(--radius-card-workspace);background:var(--color-surface);margin-top:24px;padding:18px}.tip-card strong,.style-preview strong,.suggestion-area strong{font-size:13px}.tip-card ul{color:var(--color-text-body);margin:10px 0 0;padding-left:18px;font-size:12.5px;line-height:1.8}.field-heading-row{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:9px;display:flex}.field-heading-row .field-title{color:var(--color-text-primary);font-size:14px}.field-heading-row span{color:var(--color-text-quaternary);text-align:right;font-size:12px}.lyrics-textarea{resize:vertical;width:100%;min-height:390px;padding:16px;font-size:14.5px;line-height:1.75}.editor-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.editor-footer p{color:var(--color-text-quaternary);margin:0;font-size:11.5px}.button-row{gap:8px;display:flex}.style-layout{grid-template-columns:minmax(440px,3fr) minmax(300px,2fr)}.style-story-panel{border-right:1px solid var(--color-border)}.intro-textarea{resize:vertical;width:100%;min-height:108px;margin-top:16px;padding:14px 16px;font-size:15px;line-height:1.65}.example-tags,.chip-row{flex-wrap:wrap;gap:8px;display:flex}.example-tags{color:var(--color-text-quaternary);align-items:center;margin-top:12px;font-size:12px}.example-tags span:not(:first-child){background:var(--color-surface-hover);border-radius:9999px;padding:4px 10px}.suggestion-area{margin-top:18px}.suggestion-area .chip-row{margin-top:8px}.suggestion-hint{color:var(--color-text-quaternary);margin:4px 0 0;font-size:11.5px}.suggestion-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-body);cursor:pointer;transition:border-color .15s var(--ease-smooth), background .15s var(--ease-smooth);border-radius:9999px;padding:5px 12px;font-size:12.5px}.suggestion-chip:hover{border-color:var(--color-text-quaternary);background:var(--color-surface-alt)}.style-preview{background:var(--color-surface-alt)}.style-preview p{color:var(--color-text-body);margin:7px 0;font-size:13px;line-height:1.7}.style-preview small{color:var(--color-text-quaternary);font-size:11.5px;line-height:1.6}.chip-fieldset{border:0;margin:0 0 24px;padding:0}.chip-fieldset legend{margin-bottom:10px;font-size:13px;font-weight:600}.choice-chip{border:1px solid var(--color-border);min-height:48px;color:var(--color-text-body);background:var(--color-surface);border-radius:9999px;padding:6px 15px;font-size:13.5px;font-weight:500}.choice-chip.selected{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.style-actions{justify-content:space-between;gap:10px;margin-top:30px;display:flex}.field-guidance,.limit-guidance,.style-footnote{color:var(--color-text-quaternary);font-size:11.5px;line-height:1.6}.field-guidance,.limit-guidance{color:var(--color-warning-text)}.style-footnote{margin-top:12px}.result-page-content{min-height:calc(100dvh - 121px);padding:clamp(24px,4vw,38px)}.generation-banner{border-radius:var(--radius-card-workspace);background:var(--color-surface-alt);grid-template-columns:auto 1fr minmax(120px,180px) auto;align-items:center;gap:16px;margin-bottom:28px;padding:17px;display:grid}.generation-copy h1{margin:0 0 3px;font-size:14px;font-weight:600}.generation-copy p{color:var(--color-text-muted);margin:0;font-size:12.5px}.progress-track{background:var(--color-border);border-radius:9999px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--studio-accent);width:45%;height:100%;animation:1.7s ease-in-out infinite alternate progress-move;display:block}@keyframes progress-move{to{transform:translate(120%)}}.result-heading{margin-bottom:18px}.result-heading p{color:var(--color-text-body);margin-bottom:0;font-size:13px}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.track-grid.one-track{grid-template-columns:repeat(2,minmax(0,1fr))}.track-card,.retry-card,.result-state-card,.consent-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface)}.track-card{padding:20px}.track-card-selected{border-color:var(--studio-accent)}.track-card-heading{align-items:center;gap:13px;display:flex}.track-card-heading h3{margin:0 0 3px;font-size:15px;font-weight:600}.track-card-heading p{color:var(--color-text-muted);margin:0;font-size:12.5px}.wave-bars{align-items:center;gap:3px;height:32px;margin:18px 0 10px;display:flex}.wave-bars.compact{width:46px;margin:0}.wave-bars i{width:3px;height:var(--wave-height);border-radius:var(--radius-badge);background:var(--studio-accent);opacity:.72;display:block}.track-audio{width:100%;height:36px;margin-top:8px}.track-actions{margin-top:14px}.track-error{margin:8px 0 0;font-size:12px}.retry-card{border-style:dashed;flex-direction:column;justify-content:center;padding:24px;display:flex}.retry-card h2{margin-bottom:7px;font-size:16px}.retry-card p{color:var(--color-text-muted);font-size:12.5px;line-height:1.7}.retry-card small{color:var(--color-text-quaternary);text-align:center;margin-top:8px}.late-success-banner{border-radius:var(--radius-btn);color:var(--color-success-text);background:var(--color-success-bg);margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:600}.limit-guidance.centered{text-align:center;margin-top:16px}.result-state-card{text-align:center;width:min(100%,520px);margin:80px auto;padding:36px}.result-state-card h1{margin:14px 0 7px;font-size:22px}.result-state-card p{color:var(--color-text-body)}.result-state-card .button-primary{margin-top:12px}.state-symbol{width:48px;height:48px;color:var(--color-danger-text);background:var(--color-danger-bg);border-radius:9999px;place-items:center;margin:auto;font-size:24px;font-weight:700;display:grid}.done-page-content{text-align:center;width:min(100% - 36px,580px);margin:0 auto;padding:48px 0;position:relative}.done-song-meta{color:var(--color-text-body);font-size:15px}.done-page-content .track-card{text-align:left;margin-top:24px}.done-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.consent-card{text-align:left;cursor:pointer;align-items:flex-start;gap:12px;margin-top:14px;padding:16px;display:flex}.consent-card input{width:18px;height:18px;accent-color:var(--color-btn-primary);flex:none;margin-top:2px}.consent-card span{color:var(--color-text-body);flex-direction:column;gap:3px;font-size:13px;display:flex}.consent-card small{color:var(--color-text-muted);line-height:1.55}.gallery-register-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:16px;display:flex}.gallery-register-card>span{min-width:0;color:var(--color-text-body);flex-direction:column;gap:3px;font-size:13px;display:flex}.gallery-register-card small{color:var(--color-text-muted);line-height:1.55}.gallery-register-card button{flex:none}.gallery-register-card.is-registered{border-color:var(--color-btn-primary)}.gallery-register-card.is-registered strong:after{content:" ✓";color:var(--color-btn-primary)}@media (width<=520px){.gallery-register-card{flex-direction:column;align-items:stretch}.gallery-register-card button{width:100%}}.done-footnote{color:var(--color-text-quaternary);margin:16px 0 0;font-size:12px}.toast{z-index:10;border-radius:var(--radius-btn);color:var(--color-surface);background:var(--color-btn-primary);padding:11px 18px;font-size:13.5px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #1c19172e}@supports (color:color-mix(in lab, red, red)){.toast{box-shadow:0 5px 20px color-mix(in srgb, var(--color-text-primary) 18%, transparent)}}.toast{animation:toast-slide-up .3s var(--ease-smooth)}.gift-toast{z-index:30;border:1px solid var(--color-success-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(430px,100% - 32px);padding:14px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 38px #1c19172e}@supports (color:color-mix(in lab, red, red)){.gift-toast{box-shadow:0 14px 38px color-mix(in srgb, var(--color-text-primary) 18%, transparent)}}.gift-toast{animation:gift-toast-in .3s var(--ease-out)}.gift-toast>span{font-size:28px}.gift-toast strong{font-size:14px;display:block}.gift-toast small{margin-top:3px;font-size:11.5px;display:block}@keyframes gift-toast-in{0%{opacity:0;transform:translateY(16px)}}.humming-page-content{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);min-height:calc(100dvh - 121px);margin:0 auto;display:grid}.humming-recording-panel,.humming-lyrics-panel{padding:clamp(24px,3vw,32px)}.humming-recording-panel{flex-direction:column;justify-content:center;display:flex}.humming-lyrics-panel{border-left:1px solid var(--color-border);flex-direction:column;display:flex}.humming-heading{text-align:center}.humming-heading h1{font-size:var(--type-page-title-size);margin-bottom:7px}.humming-heading p{color:var(--color-text-muted);font-size:14px}.humming-recorder,.humming-permission-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface-alt);text-align:center;margin-top:28px;padding:clamp(24px,5vw,44px)}.humming-recorder.is-recording{border-color:var(--color-danger);background:var(--color-danger-bg)}.humming-counter{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(42px,9vw,64px);font-weight:700}.humming-counter small{color:var(--color-text-muted);letter-spacing:0;margin-left:6px;font-size:15px;font-weight:500}.char-counter{color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right;margin-top:6px;font-size:12px}.char-counter small{margin-left:3px;font-size:12px}.char-counter.full{color:var(--color-warning-text);font-weight:600}.humming-wave{justify-content:center;height:64px;margin:22px auto}.humming-wave i{background:var(--color-danger);width:5px;transition:height 90ms linear}.record-button{min-width:160px;color:var(--color-surface);background:var(--color-danger);border:0;border-radius:9999px;padding:0 22px;font-weight:600}.record-button.stop{background:var(--color-btn-primary)}.humming-start-actions{justify-items:center;gap:12px;display:grid}.humming-start-actions .field-guidance{text-align:center;margin:0}.humming-review{justify-items:center;gap:14px;margin-top:20px;display:grid}.humming-review .field-guidance{text-align:center;word-break:break-all;margin:0}.humming-review audio{width:min(100%,460px)}.humming-permission-card strong{font-size:18px}.humming-permission-card p{color:var(--color-text-body);margin:8px auto 20px}.humming-actions{justify-content:center;gap:10px;display:flex}.humming-lyrics{display:block}.humming-lyrics>span{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.humming-lyrics>p{color:var(--color-text-body);margin-bottom:12px;font-size:12.5px;line-height:1.65}.humming-lyrics small{color:var(--color-text-quaternary);font-weight:400}.humming-lyrics textarea{resize:vertical;width:100%;min-height:220px;padding:14px}.humming-privacy-note{color:var(--color-text-quaternary);margin:14px 0 0;font-size:11.5px;line-height:1.65}.humming-footer-actions{justify-content:space-between;gap:12px;margin-top:auto;padding-top:22px;display:flex}.teacher-page,.teacher-message-page{background:var(--color-surface-alt);min-height:100dvh}.service-nav-wrap{z-index:50;background:var(--color-surface);position:sticky;top:0}.teacher-back-link{width:fit-content;min-height:44px;color:var(--color-text-muted);background:0 0;border:0;align-items:center;margin-bottom:4px;padding:0;font-size:13px;font-weight:600;display:flex}.teacher-back-link:hover{color:var(--color-text-primary)}.teacher-page-inner{width:min(100% - 40px,1240px);margin:0 auto;padding:36px 0 64px}.teacher-dashboard{width:min(100% - 40px,896px)}.teacher-page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.teacher-page-heading h1{margin:3px 0 0;font-size:clamp(24px,3vw,34px);font-weight:600}.teacher-page-heading p{color:var(--color-text-muted);margin:6px 0 0}.teacher-eyebrow{color:var(--color-info-text);letter-spacing:.08em;font-size:12px;font-weight:700}.teacher-table-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface)}.teacher-session-section h2,.teacher-table-toolbar h2{font-size:var(--type-section-size);margin-bottom:16px}.teacher-error-banner{border-radius:var(--radius-btn);color:var(--color-danger-text);background:var(--color-danger-bg);margin-bottom:16px;padding:11px 14px;font-size:13px}.teacher-form-grid{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr)) minmax(160px,1fr);align-items:end;gap:14px;display:grid}.teacher-form-grid label{color:var(--color-text-body);gap:7px;font-size:13px;font-weight:600;display:grid}.teacher-form-grid input:not([type=checkbox]),.teacher-form-grid select{border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);width:100%;height:44px;padding:0 12px}.teacher-form-grid input[aria-invalid=true]{border-color:var(--color-danger)}.teacher-field-error{color:var(--color-danger-text);font-size:12px;font-weight:500}.teacher-limit-field{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.teacher-limit-field legend{color:var(--color-text-body);font-size:13px;font-weight:600}.teacher-limit-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.teacher-limit-chips button{border:1px solid var(--color-border);border-radius:var(--radius-btn-workspace);min-width:0;height:44px;color:var(--color-text-body);background:var(--color-surface);padding:0 6px;font-weight:600}.teacher-limit-chips button.selected{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.teacher-video-note{color:var(--color-text-muted);margin:0;font-size:11px;font-weight:400;line-height:1.5}.teacher-toggle-label{border:1px solid var(--color-border);border-radius:var(--radius-input);grid-template-columns:auto 1fr;align-items:center;min-height:44px;padding:0 12px}.teacher-toggle-label input{width:18px;height:18px;accent-color:var(--color-btn-primary)}.teacher-create-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.teacher-create-footer p{color:var(--color-text-muted);margin:0;font-size:12px}.teacher-session-section{margin-top:8px}.teacher-session-list{flex-direction:column;gap:12px;display:flex}.teacher-session-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);cursor:pointer;transition:border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);flex-direction:column;gap:14px;padding:20px;display:flex}.teacher-session-card:hover{border-color:var(--color-text-quaternary);box-shadow:0 4px 14px #0000000d}.teacher-session-card.is-ended{opacity:.62}.teacher-session-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.teacher-session-code-tile{background:var(--color-surface-alt);letter-spacing:.06em;border-radius:12px;place-items:center;width:82px;height:50px;font-size:15px;font-weight:700;display:grid}.teacher-session-copy{min-width:0}.teacher-session-title-row{align-items:center;gap:8px;min-width:0;display:flex}.teacher-session-card h3{font-size:var(--type-card-title-size,16px);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.teacher-session-time{color:var(--color-text-quaternary);margin:5px 0 0;font-size:13px}.teacher-session-actions{align-items:center;gap:8px;display:flex}.teacher-session-qr{border:1px solid var(--color-text-primary);min-width:92px;height:44px;color:var(--color-surface);background:var(--color-text-primary);border-radius:13px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.teacher-session-qr:hover:not(:disabled){opacity:.9}.teacher-session-delete{border-radius:var(--radius-btn-workspace);height:44px;color:var(--color-text-quaternary);background:0 0;border:1px solid #0000;align-items:center;padding:0 12px;font-size:13px;display:inline-flex}.teacher-session-delete:hover:not(:disabled),.teacher-session-delete:focus-visible{color:var(--color-danger,#b91c1c);border-color:var(--color-border)}.teacher-session-stats{border-top:1px solid var(--color-border-subtle,var(--color-border));border-bottom:1px solid var(--color-border-subtle,var(--color-border));text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));padding:13px 0;display:grid}.teacher-session-stats>div+div{border-left:1px solid var(--color-border-subtle,var(--color-border))}.teacher-session-stats b{font-size:20px;font-weight:600;display:block}.teacher-session-stats span{color:var(--color-text-quaternary);font-size:11.5px;font-weight:500}.teacher-session-foot{color:var(--color-text-muted);margin:0;font-size:12.5px}.teacher-session-feed{align-items:center;gap:10px;min-width:0;display:flex}.teacher-session-avatars{flex-shrink:0;display:flex}.teacher-avatar{color:#44403c;border:1.5px solid var(--color-surface,#fff);border-radius:9999px;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-8px;font-size:11px;font-weight:600;display:inline-flex}.teacher-session-avatars .teacher-avatar:first-child{margin-left:0}.teacher-avatar-0{background:linear-gradient(135deg,#fde68a,#fca5a5)}.teacher-avatar-1{background:linear-gradient(135deg,#a7f3d0,#93c5fd)}.teacher-avatar-2{background:linear-gradient(135deg,#ddd6fe,#f9a8d4)}.teacher-avatar-3{background:linear-gradient(135deg,#bfdbfe,#c7d2fe)}.teacher-avatar-more{color:#78716c;background:#f5f5f4;font-size:10.5px}.teacher-session-feed-text{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:13px;overflow:hidden}.teacher-session-feed-text b{color:#44403c;font-weight:600}.teacher-session-feed-time{color:#a8a29e;flex-shrink:0;font-size:12px}.teacher-dash-heading{align-items:flex-end}.teacher-dash-heading h1{letter-spacing:-.015em;font-size:24px;font-weight:500;line-height:1.2}.teacher-dash-heading p{margin-top:8px;font-size:14px}.teacher-empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-card-workspace);color:var(--color-text-muted);text-align:center;justify-items:center;gap:6px;padding:56px 20px;display:grid}.teacher-empty-state p{margin:0}.teacher-empty-icon{background:var(--color-surface-hover);width:44px;height:44px;color:var(--color-text-quaternary);border-radius:999px;place-items:center;margin-bottom:10px;display:grid}.teacher-empty-title{color:var(--color-text-primary);font-size:16px;font-weight:600}.teacher-empty-lead{color:var(--color-text-muted);font-size:14px}.teacher-empty-state .button-primary{margin-top:14px}.teacher-dash-create{align-items:center;gap:6px;display:inline-flex}.teacher-modal-lead{color:var(--color-text-muted);margin:0 0 16px;font-size:13px}.teacher-modal-foot{color:var(--color-text-quaternary);margin:16px 0 0;font-size:12px}.teacher-form-wide{grid-column:span 2}.teacher-status,.readonly-badge,.stale-badge,.flag-badge,.student-state{border-radius:var(--radius-badge);align-items:center;min-height:26px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.teacher-status.live{color:var(--color-success-text);background:var(--color-success-bg)}.teacher-status.ended,.readonly-badge{color:var(--color-text-muted);background:var(--color-surface-hover)}.teacher-empty{color:var(--color-text-muted);text-align:center;padding:30px}.teacher-live-header-actions,.teacher-dash-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.teacher-demo-badge{border-radius:var(--radius-badge);min-height:26px;color:var(--color-accent-text,var(--color-text-body));background:var(--color-surface-hover);align-items:center;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.teacher-demo-bar{z-index:40;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 20px;display:flex;position:sticky;top:0}.teacher-demo-bar-info{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.teacher-demo-title{font-weight:600}.teacher-demo-code{color:var(--color-text-muted)}.teacher-demo-bar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-demo-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.teacher-demo-picker button{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:18px;display:flex}.teacher-demo-picker button:hover:not(:disabled){background:var(--color-surface-hover)}.teacher-demo-picker button:disabled{opacity:.6;cursor:default}.teacher-demo-picker strong{font-size:15px}.teacher-demo-picker span{color:var(--color-text-body);font-size:13px;line-height:1.6}.stale-badge{color:var(--color-warning-text);background:var(--color-warning-bg)}.teacher-count-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.teacher-count-grid article{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);justify-content:space-between;align-items:center;padding:18px;display:flex}.teacher-count-grid span{color:var(--color-text-muted);font-size:13px}.teacher-count-grid strong{font-size:27px}@media (width>=901px){.teacher-count-grid-mv{grid-template-columns:repeat(5,minmax(0,1fr))}}.teacher-table-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.teacher-table-toolbar h2{margin:0}.teacher-table-toolbar>div{align-items:center;gap:9px;display:flex}.teacher-table-scroll{overflow-x:auto}.teacher-student-table{border-collapse:collapse;width:100%;min-width:880px}.teacher-student-table th,.teacher-student-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:14px 16px;font-size:13px}.teacher-student-table th{color:var(--color-text-muted);background:var(--color-surface-alt);font-size:11.5px;font-weight:600}.teacher-student-table tr:last-child td{border-bottom:0}.teacher-student-table tr.needs-help td{background:#fff2f2}@supports (color:color-mix(in lab, red, red)){.teacher-student-table tr.needs-help td{background:color-mix(in srgb, var(--color-danger-bg) 45%, var(--color-surface))}}.flag-badge{color:var(--color-warning-text);background:var(--color-warning-bg);margin-left:7px}.student-state.joined{color:var(--color-text-muted);background:var(--color-surface-hover)}.student-state.writing{color:var(--color-info-text);background:var(--color-info-bg)}.student-state.generating{color:var(--color-progress-text);background:var(--color-progress-bg)}.student-state.failed{color:var(--color-danger-text);background:var(--color-danger-bg)}.student-state.complete{color:var(--color-success-text);background:var(--color-success-bg)}.teacher-student-table td small{color:var(--color-text-quaternary);margin-left:6px}.teacher-row-actions{flex-wrap:wrap;gap:6px;display:flex}.teacher-row-actions button{border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface);white-space:nowrap;min-width:44px;min-height:44px;padding:0 10px;font-size:11.5px}.teacher-row-actions button.row-action-primary{border-color:var(--color-btn-primary);background:var(--color-btn-primary);color:var(--color-surface);font-weight:600}.teacher-row-actions button.row-action-primary:hover:not(:disabled){background:var(--color-btn-primary-hover)}.teacher-inline-audio{width:min(100%,300px);height:34px;margin-top:8px;display:block}.teacher-feedback{color:var(--color-success-text);font-size:12px;font-weight:600}.row-error-toast{border-radius:var(--radius-badge);color:var(--color-danger-text);background:var(--color-danger-bg);margin-top:7px;padding:5px 8px;font-size:11.5px;display:inline-block}.teacher-modal-backdrop{z-index:50;background:#1c191766;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.teacher-modal-backdrop{background:color-mix(in srgb, var(--color-text-primary) 40%, transparent)}}.teacher-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:teacher-modal-backdrop-in .2s var(--ease-smooth)}.teacher-modal{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);width:min(100%,400px);max-height:calc(100dvh - 48px);padding:24px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #1c19174d}@supports (color:color-mix(in lab, red, red)){.teacher-modal{box-shadow:0 24px 70px color-mix(in srgb, var(--color-text-primary) 30%, transparent)}}.teacher-modal{animation:teacher-modal-scale-in .2s var(--ease-smooth)}.teacher-modal-wide{width:min(100%,560px)}.teacher-modal .teacher-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-modal h2{padding-right:80px;font-size:21px}.teacher-modal-close{position:absolute;top:12px;right:12px}.teacher-modal-body{color:var(--color-text-body);font-size:14px;line-height:1.75}.teacher-modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@keyframes teacher-modal-backdrop-in{0%{opacity:0}}@keyframes teacher-modal-scale-in{0%{transform:scale(.95)}}.gift-amount-picker{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.gift-amount-picker button{border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface)}.gift-amount-picker button.selected{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.teacher-lyrics-preview{border-radius:var(--radius-input);background:var(--color-surface-alt);max-height:50dvh;font:inherit;white-space:pre-wrap;word-break:keep-all;padding:16px;overflow:auto}.teacher-qr-overlay{z-index:100;min-height:100dvh;color:var(--color-text-primary);background:var(--color-surface);animation:teacher-qr-in .2s var(--ease-smooth);border:0;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.teacher-qr-close{border:1px solid var(--color-border);min-width:44px;color:var(--color-text-body);background:var(--color-surface);border-radius:9999px;justify-content:center;align-items:center;gap:5px;padding:0 12px;display:inline-flex;position:absolute;top:20px;right:20px}.teacher-qr-close span{font-size:22px;line-height:1}.teacher-qr-content{text-align:center;justify-items:center;margin:auto;display:grid}.teacher-qr-session-title{color:var(--color-text-muted);margin-bottom:4px;font-size:16px}.teacher-qr-code-text{font:700 clamp(96px, 18vw, 200px) / 1.05 var(--font-mono);letter-spacing:.12em;margin-bottom:16px}.teacher-qr-code{border-radius:calc(var(--radius-card-workspace) + 4px);background:var(--color-surface);width:max-content;margin-bottom:12px;padding:16px;box-shadow:0 10px 32px #1c191729}@supports (color:color-mix(in lab, red, red)){.teacher-qr-code{box-shadow:0 10px 32px color-mix(in srgb, var(--color-text-primary) 16%, transparent)}}.teacher-qr-code svg{width:min(70vw,70vh);height:auto;display:block}@media (width>=768px){.teacher-qr-code svg{width:min(45vw,45vh)}}.teacher-qr-participants{color:var(--color-text-body);align-items:center;gap:8px;margin-bottom:4px;font-size:clamp(24px,3vw,32px);display:flex}.teacher-qr-participants span{background:var(--color-success);border-radius:9999px;width:9px;height:9px;animation:1.8s ease-in-out infinite teacher-qr-presence}.teacher-qr-guidance{color:var(--color-text-quaternary);word-break:keep-all;margin-bottom:2px;font-size:16px}@media (width>=640px){.teacher-qr-guidance{font-size:20px}}.teacher-qr-url{overflow-wrap:anywhere;max-width:min(90vw,640px);color:var(--color-text-muted);margin-bottom:0;font-size:12px}@keyframes teacher-qr-in{0%{opacity:0}}@keyframes teacher-qr-presence{50%{opacity:.35}}.teacher-message-page{place-items:center;padding:24px;display:grid}.teacher-message-page section{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);text-align:center;width:min(100%,460px);padding:38px}.teacher-message-page section>span{font-size:42px}.teacher-message-page h1{margin:15px 0 7px;font-size:24px}.teacher-message-page p{color:var(--color-text-muted)}.teacher-login-link{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.party-page{min-height:100dvh;color:var(--color-text-primary);background:var(--color-surface);flex-direction:column;display:flex}.party-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:1fr auto 1fr;align-items:center;min-height:64px;padding:10px clamp(18px,4vw,52px);display:grid}.party-header button{color:var(--color-text-body);background:0 0;border:0;justify-self:start}.party-header span{color:var(--color-text-muted);letter-spacing:.08em;font-size:13px;font-weight:600}.party-header b{color:var(--color-text-muted);justify-self:end}.party-stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:calc(100dvh - 137px);padding:32px clamp(28px,6vw,80px);display:flex}.party-song-info h1{color:var(--color-text-primary);letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(40px,5.5vw,68px);font-weight:800;line-height:1.12}.party-student{color:var(--color-text-body);font-weight:600}.party-song-info p{color:var(--color-text-muted);margin-bottom:0;font-size:20px}.party-wave{justify-content:center;align-items:center;gap:5px;height:72px;margin:30px 0;display:flex}.party-wave i{width:6px;height:var(--party-wave-height);border-radius:var(--radius-badge);background:var(--color-info);opacity:.75}.party-lyrics{border-radius:var(--radius-card-workspace);background:var(--color-surface-alt);place-content:center;width:min(100%,640px);min-height:112px;padding:20px 28px;display:grid}.party-lyrics p{color:var(--color-text-body);margin:0;font-size:18px;font-weight:500;line-height:1.7;display:none}.party-lyrics p.current{font-weight:800;display:block}.party-lyrics small{color:var(--color-text-quaternary);margin-top:4px;font-size:13px}.party-controls{border-top:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:24px;min-height:73px;padding:12px clamp(18px,4vw,52px);display:grid}.party-controls>p{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px}.party-player{align-items:center;gap:8px;display:flex}.party-player button,.party-exit-button{border:1px solid var(--color-border);border-radius:var(--radius-btn-workspace);min-height:44px;color:var(--color-text-body);background:var(--color-surface);padding:0 16px}.party-player .party-pause-button{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.party-audio{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.party-exit-button{justify-self:end}.party-empty,.party-loading{text-align:center;place-content:center;justify-items:center;min-height:calc(100dvh - 64px);padding:30px;display:grid}.party-empty>span{color:var(--color-info);font-size:72px}.party-empty h1{color:var(--color-text-primary);margin:18px 0 5px;font-size:clamp(30px,5vw,54px);font-weight:800}.party-empty p,.party-loading{color:var(--color-text-muted)}.party-empty-diagnostic{border-radius:var(--radius-btn);max-width:46ch;color:var(--color-text-muted);background:var(--color-surface-alt);margin-top:16px;padding:12px 16px;font-size:15px;line-height:1.6}.party-error{z-index:2;border-radius:var(--radius-btn);max-width:calc(100vw - 32px);color:var(--color-danger-text);background:var(--color-danger-bg);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.party-error-detail{opacity:.8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.party-error button{border-radius:var(--radius-btn);min-height:44px;color:inherit;background:0 0;border:1px solid;padding:0 14px}.party-audio-fallback{width:min(100%,320px)}.mv-party-stage{text-align:center;flex:1;place-content:center;justify-items:center;gap:22px;min-height:calc(100dvh - 137px);padding:28px clamp(24px,5vw,64px);display:grid}.mv-party-video-frame{border-radius:var(--radius-card-workspace);aspect-ratio:16/9;background:#111;width:min(100%,800px);overflow:hidden;box-shadow:0 22px 70px #1c191729}.mv-party-video-frame video{object-fit:contain;width:100%;height:100%;display:block}.mv-party-info h1{letter-spacing:-.025em;margin:0 0 7px;font-size:clamp(30px,4.5vw,54px);font-weight:800;line-height:1.12}.mv-party-info p{color:var(--color-text-muted);margin:0;font-size:17px}.mv-page{width:min(100% - 48px,1120px);margin:0 auto;padding:42px 0 54px}.mv-heading{max-width:720px;margin-bottom:26px}.mv-heading h1{letter-spacing:-.025em;margin:6px 0 8px;font-size:clamp(28px,4vw,42px)}.mv-heading p{color:var(--color-text-muted);margin:0;line-height:1.7}.mv-kicker{color:var(--color-info-text);letter-spacing:.09em;font-size:12px;font-weight:800}.mv-upload-formats{margin-top:8px;font-size:13px}.mv-upload-formats strong{color:var(--color-text-body)}.mv-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);padding:24px}.mv-card h2{margin-bottom:8px;font-size:20px}.mv-card>p{color:var(--color-text-muted);font-size:13px;line-height:1.6}.mv-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.mv-source-grid .mv-card{flex-direction:column;min-height:290px;display:flex}.mv-source-grid label{color:var(--color-text-body);margin-top:auto;margin-bottom:7px;font-size:12px;font-weight:700}.mv-source-grid input:not(.sr-only){width:100%;height:48px;padding:0 14px}.mv-source-grid button{margin-top:12px}.song-code-input{font:700 17px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.copyright-note{border-radius:var(--radius-input);color:var(--color-warning-text);background:var(--color-warning-bg);margin-top:auto;padding:12px 14px;font-size:12px;line-height:1.55}.mv-selected-source{border:1px solid var(--color-success);border-radius:var(--radius-card-workspace);background:var(--color-success-bg);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:16px;padding:17px 20px;display:grid}.mv-selected-source>span{width:42px;height:42px;color:var(--color-surface);background:var(--color-success);border-radius:9999px;place-items:center;font-size:22px;display:grid}.mv-selected-source div{gap:3px;display:grid}.mv-selected-source small{color:var(--color-text-muted)}.mv-selected-source>b{color:var(--color-success-text);font-size:13px}.mv-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.mv-footer>span{color:var(--color-text-quaternary);font-size:12px}.mv-footer button{min-width:140px}.storyboard-brief{gap:10px;display:grid}.storyboard-brief>label{font-weight:700}.storyboard-brief>textarea{resize:vertical;width:100%;min-height:105px;padding:14px}.storyboard-controls{justify-content:space-between;align-items:end;gap:18px;display:flex}.storyboard-controls fieldset{border:0;gap:7px;margin:0;padding:0;display:flex}.storyboard-controls legend{color:var(--color-text-muted);margin-bottom:7px;font-size:12px;font-weight:700}.storyboard-controls fieldset button,.art-chip-grid button{border:1px solid var(--color-border);border-radius:var(--radius-btn);min-height:48px;color:var(--color-text-body);background:var(--color-surface);padding:0 13px}.storyboard-controls fieldset button.selected,.art-chip-grid button.selected{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.manual-hint{border-radius:var(--radius-input);color:var(--color-warning-text);background:var(--color-warning-bg);margin:0;padding:10px 12px;font-size:13px}.storyboard-list{gap:10px;margin-top:16px;display:grid}.storyboard-row{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);grid-template-columns:42px 1fr;gap:12px;padding:15px;display:grid}.storyboard-row>b{width:38px;height:38px;color:var(--color-info-text);background:var(--color-info-bg);border-radius:9999px;place-items:center;display:grid}.storyboard-row label{gap:7px;display:grid}.storyboard-row label span{color:var(--color-text-muted);font-size:12px;font-weight:600}.storyboard-row textarea{resize:vertical;width:100%;min-height:78px;padding:11px 12px}.storyboard-empty{border:1px dashed var(--color-border);border-radius:var(--radius-card-workspace);color:var(--color-text-muted);text-align:center;margin-top:16px;padding:42px 20px}.art-direction-card{grid-template-columns:minmax(180px,.7fr) 2fr;gap:24px;margin-bottom:16px;display:grid}.art-direction-card p{margin-bottom:0}.art-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cut-card.awaiting-confirm{border-color:var(--color-info);box-shadow:0 0 0 3px var(--color-info-bg)}.base-confirm-inline{border-radius:var(--radius-card-workspace);background:var(--color-info-bg);margin-top:12px;padding:14px 16px}.base-confirm-inline strong{color:var(--color-text-primary);font-size:15px;display:block}.base-confirm-inline p{color:var(--color-text-muted);margin:4px 0 12px;font-size:13px}.mode-moving{text-align:center;margin-top:16px}.base-confirm-card{border:1px solid var(--color-info);border-radius:var(--radius-card-workspace);background:var(--color-info-bg);justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:18px 20px;display:flex}.base-confirm-card p{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.cascade-offer{border:1px solid var(--color-info);border-radius:var(--radius-card-workspace);background:var(--color-info-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:18px 20px;display:flex}.cascade-offer strong{color:var(--color-text-primary);font-size:15px}.cascade-offer p{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.cascade-offer-actions{flex-shrink:0;gap:8px;display:flex}.generate-all-button{margin:0 0 16px auto;display:block}.cut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.cut-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);flex-direction:column;padding:15px;display:flex;overflow:hidden}.cut-card.base{border-color:#5abbe7}@supports (color:color-mix(in lab, red, red)){.cut-card.base{border-color:color-mix(in srgb, var(--color-info) 65%, var(--color-border))}}.cut-card>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cut-card>header div{align-items:center;gap:8px;display:flex}.cut-card>header span{border-radius:var(--radius-badge);color:var(--color-info-text);background:var(--color-info-bg);padding:3px 7px;font-size:10px;font-weight:700}.cut-card>header .cut-upload-badge{color:var(--color-success-text);background:var(--color-success-bg)}.cut-card>header small{color:var(--color-text-quaternary)}.cut-image-stage{border-radius:var(--radius-input);background:var(--color-surface-alt);place-items:center;min-height:210px;display:grid;position:relative;overflow:hidden}.cut-image-stage img{object-fit:contain;width:100%;height:auto;max-height:420px;display:block}.cut-placeholder{color:var(--color-border-hover);font-size:64px;font-weight:800}.cut-progress{color:var(--color-progress-text);justify-items:center;gap:12px;font-size:13px;font-weight:700;display:grid}.cut-progress span{border:3px solid var(--color-progress-text);border-right-color:#0000;border-radius:9999px;width:32px;height:32px;animation:.8s linear infinite inline-spinner-turn}.cut-progress.over-image{background:#ffffff9e;align-content:center;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.cut-progress.over-image{background:color-mix(in srgb, var(--color-surface) 62%, transparent)}}.cut-scene-text{min-height:48px;color:var(--color-text-body);margin:13px 2px;font-size:13px;line-height:1.65}.cut-gate{border-radius:var(--radius-input);color:var(--color-warning-text);background:var(--color-warning-bg);padding:9px 10px;font-size:12px}.cut-error{border-radius:var(--radius-input);color:var(--color-danger-text);background:var(--color-danger-bg);gap:3px;padding:11px;font-size:12px;display:grid}.cut-error small{opacity:.84}.cut-actions{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;margin-top:auto;padding-top:12px;display:grid}.cut-actions button{min-width:0;padding:0 8px;font-size:12px}.cut-card>.full-width{margin-top:auto}.cut-edit-box{border-top:1px solid var(--color-border);gap:8px;margin-top:10px;padding-top:12px;display:grid}.cut-edit-box label{color:var(--color-text-body);font-size:12px;font-weight:700}.cut-edit-box textarea{resize:vertical;width:100%;min-height:72px;padding:10px}.cut-edit-box button{justify-self:end}.mv-next-stage-note{border-radius:var(--radius-input);color:var(--color-text-muted);background:var(--color-surface-alt);text-align:center;margin:20px 0 0;padding:13px;font-size:13px}.mv-done-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100% - 40px,680px);min-height:calc(100dvh - 120px);margin:0 auto;padding:40px 0;display:flex}.mv-done-page h1{margin:16px 0 8px;font-size:clamp(28px,4vw,40px)}.mv-done-page>p{color:var(--color-text-muted)}.mv-done-strip{flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0;display:flex}.mv-done-strip span{border-radius:var(--radius-badge);color:var(--color-success-text);background:var(--color-success-bg);padding:8px 12px;font-size:12px;font-weight:700}.mv-done-edit-button{min-width:180px;margin-top:8px}.edit-heading{margin-bottom:22px}.edit-top-grid{grid-template-columns:minmax(0,3fr) minmax(250px,2fr);gap:24px;display:grid}.edit-preview-panel{min-width:0}.edit-preview-stage{aspect-ratio:16/9;border-radius:var(--radius-card-workspace);color:var(--color-text-quaternary);background:var(--color-text-primary);place-items:center;display:grid;position:relative;overflow:hidden}.edit-preview-stage img{object-fit:contain;background:var(--color-text-primary);width:100%;height:100%;display:block}.edit-preview-stage>span{border-radius:var(--radius-badge);color:var(--color-surface);background:#1c1917bd;padding:5px 9px;position:absolute;bottom:10px;left:12px}@supports (color:color-mix(in lab, red, red)){.edit-preview-stage>span{background:color-mix(in srgb, var(--color-text-primary) 74%, transparent)}}.edit-preview-stage>span{font-size:11px}.edit-preview-placeholder{color:var(--color-text-quaternary);font-size:13px}.edit-preview-controls{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-top:11px;display:grid}.edit-preview-controls button{width:44px;min-height:44px;color:var(--color-surface);background:var(--color-btn-primary);border:0;border-radius:9999px;padding:0}.edit-preview-controls input{width:100%;accent-color:var(--color-btn-primary);padding:0}.edit-preview-controls>span{min-width:34px;color:var(--color-text-muted);font:600 12px/1 var(--font-mono)}.edit-preview-note{color:var(--color-text-quaternary);text-align:center;margin:8px 0 0;font-size:11.5px}.edit-settings-stack{align-content:start;gap:11px;display:grid}.edit-setting-card{padding:17px}.edit-setting-card h2{margin-bottom:9px;font-size:13px}.edit-setting-card p{color:var(--color-text-quaternary);margin:9px 0 0;font-size:11.5px}.edit-chip-row{flex-wrap:wrap;gap:7px;display:flex}.edit-chip-row button{border:1px solid var(--color-border);border-radius:var(--radius-btn);min-height:48px;color:var(--color-text-body);background:var(--color-surface);padding:0 12px;font-size:12px}.edit-chip-row button.selected{color:var(--color-surface);border-color:var(--color-btn-primary);background:var(--color-btn-primary)}.edit-quality-card p{color:var(--color-text-body);font-size:13px}.edit-timeline-section{margin-top:24px}.edit-timeline-section>header{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.edit-timeline-section h2{margin:0;font-size:14px}.edit-timeline-section header p{color:var(--color-text-muted);margin:0;font-size:11.5px}.edit-timeline-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);padding:15px}.edit-timeline-list{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.edit-timeline-cut{border-radius:var(--radius-input);background:var(--color-surface-alt);min-width:118px;transition:opacity .16s var(--ease-smooth), border-color .16s var(--ease-smooth);border:1px solid #0000;flex-basis:0;overflow:hidden}.edit-timeline-cut:first-child{border-color:var(--color-info)}.edit-timeline-cut.dragging{opacity:.45}.edit-timeline-thumb{aspect-ratio:16/9;cursor:grab;position:relative;overflow:hidden}.edit-timeline-thumb img{object-fit:cover;width:100%;height:100%;display:block}.edit-timeline-thumb span{border-radius:var(--radius-badge);color:var(--color-surface);background:#1c1917b8;padding:3px 5px;position:absolute;bottom:4px;left:4px;right:4px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.edit-timeline-thumb span{background:color-mix(in srgb, var(--color-text-primary) 72%, transparent)}}.edit-timeline-thumb span{text-overflow:ellipsis;white-space:nowrap;font-size:10px}.edit-order-buttons{grid-template-columns:1fr 1fr;display:grid}.edit-order-buttons button{border:0;border-top:1px solid var(--color-border);min-height:44px;color:var(--color-text-muted);background:var(--color-surface);font-weight:800}.edit-order-buttons button+button{border-left:1px solid var(--color-border)}.edit-wave-row{border-radius:var(--radius-input);color:var(--color-info-text);background:var(--color-info-bg);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:9px;padding:7px 10px;display:grid}.edit-wave-row>div{align-items:center;gap:3px;height:23px;display:flex;overflow:hidden}.edit-wave-row i{border-radius:var(--radius-badge);background:var(--color-info);opacity:.7;flex:1;width:3px;max-width:7px}.edit-wave-row span{font-size:11px}.edit-motion-list{gap:11px;margin-top:18px;display:grid}.edit-motion-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);grid-template-columns:190px 1fr;gap:16px;padding:14px;display:grid}.edit-motion-preview{aspect-ratio:16/9;border-radius:var(--radius-input);background:var(--color-surface-alt);place-items:center;display:grid;overflow:hidden}.edit-motion-preview img,.edit-motion-preview video{object-fit:contain;width:100%;height:100%;display:block}.edit-motion-content{min-width:0}.edit-motion-content>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.edit-motion-content>header span{color:var(--color-text-quaternary);font-size:11px}.edit-motion-content>p{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 10px;font-size:12px;overflow:hidden}.edit-motion-chips{flex-wrap:wrap;gap:6px;display:flex}.edit-motion-chips button{border:1px solid var(--color-border);border-radius:var(--radius-btn);min-height:48px;color:var(--color-text-body);background:var(--color-surface);justify-items:start;padding:5px 10px;display:grid}.edit-motion-chips button.selected{border-color:var(--color-btn-primary);box-shadow:inset 0 0 0 1px var(--color-btn-primary)}.edit-motion-chips b{font-size:11.5px}.edit-motion-chips small{color:var(--color-text-quaternary);font-size:9.5px;font-weight:500}.make-video-button{min-height:44px;margin-top:10px;font-size:12px}.video-job-card{border-radius:var(--radius-input);background:var(--color-info-bg);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:10px;padding:9px 11px;display:grid}.video-job-card div{gap:2px;display:grid}.video-job-card b{color:var(--color-info-text);font-size:12px}.video-job-card small{color:var(--color-text-muted);font-size:10px}.video-job-card button{min-height:44px;padding:0 10px;font-size:11px}.video-failure-card{border-radius:var(--radius-input);color:var(--color-danger-text);background:var(--color-danger-bg);grid-template-columns:1fr auto;gap:2px 10px;margin-top:10px;padding:10px 12px;display:grid}.video-failure-card b,.video-failure-card span{font-size:11px}.video-failure-card span{opacity:.82;grid-column:1}.video-failure-card button{grid-area:1/2/3;min-height:44px;padding:0 10px;font-size:11px}.video-ready-label{color:var(--color-success-text);margin:9px 0 0;font-size:12px;font-weight:700}.compose-progress-card{border-radius:var(--radius-card-workspace);background:var(--color-surface-alt);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:16px;padding:15px;display:grid}.compose-spinner{border:2px solid var(--color-info);border-top-color:#0000;border-radius:9999px;flex:none;width:24px;height:24px;animation:.8s linear infinite inline-spinner-turn;display:block}.compose-progress-card b{color:var(--color-text-body);font-size:13px}.compose-progress-card p{color:var(--color-text-muted);margin:3px 0 7px;font-size:11.5px}.compose-progress-track{border-radius:var(--radius-badge);background:var(--color-border);height:5px;overflow:hidden}.compose-progress-track span{border-radius:inherit;background:var(--color-info);height:100%;transition:width .3s var(--ease-smooth);display:block}.compose-superseded{border-radius:var(--radius-input);color:var(--color-warning-text);background:var(--color-warning-bg);margin:16px 0 0;padding:12px 14px;font-size:12px}.edit-footer>div{align-items:center;gap:15px;display:flex}.edit-footer span{color:var(--color-text-quaternary);font-size:11px}.edit-footer .button-primary{min-height:48px}.edit-toast{z-index:20;border:1px solid var(--color-danger);border-radius:var(--radius-card-workspace);max-width:min(420px,100% - 44px);color:var(--color-danger-text);background:var(--color-danger-bg);align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 28px #1c191729}@supports (color:color-mix(in lab, red, red)){.edit-toast{box-shadow:0 8px 28px color-mix(in srgb, var(--color-text-primary) 16%, transparent)}}.edit-toast{font-size:12px}.edit-toast span{flex:1}.edit-toast button{min-height:44px;color:inherit;background:0 0;border:0;padding:0 8px;font-weight:700}.final-page{place-items:center;min-height:calc(100dvh - 116px);padding:44px 22px;display:grid}.final-card{text-align:center;width:min(100%,620px)}.final-success-icon{width:64px;height:64px;color:var(--color-success);background:var(--color-success-bg);border-radius:9999px;place-items:center;margin:0 auto;font-size:30px;font-weight:800;display:grid}.final-card h1{margin:16px 0 5px;font-size:26px}.final-meta{color:var(--color-text-body);margin-bottom:22px;font-size:14px}.final-video-stage{aspect-ratio:16/9;border-radius:var(--radius-card-workspace);background:var(--color-text-primary);overflow:hidden}.final-video-stage video{object-fit:contain;width:100%;height:100%;display:block}.final-replay-button{width:100%;margin-top:10px}.final-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px;display:grid}.final-actions.single{grid-template-columns:1fr}.final-actions button{min-height:48px}.final-upload-note{border-radius:var(--radius-input);color:var(--color-warning-text);background:var(--color-warning-bg);margin:11px 0 0;padding:11px 13px;font-size:12px}.final-consent-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);text-align:left;cursor:pointer;align-items:flex-start;gap:11px;margin-top:12px;padding:15px;display:flex}.final-consent-card input{width:18px;height:18px;accent-color:var(--color-btn-primary);flex:none;margin:1px 0 0}.final-consent-card span{color:var(--color-text-body);gap:3px;font-size:13px;display:grid}.final-consent-card small{color:var(--color-text-muted);font-size:11.5px;line-height:1.55}.final-credit-note{color:var(--color-text-quaternary);margin:14px 0 0;font-size:11.5px}.final-missing-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100% - 40px,540px);min-height:calc(100dvh - 116px);margin:0 auto;display:flex}.final-missing-card>span{color:var(--color-info);font-size:48px}.final-missing-card h1{margin:13px 0 7px;font-size:26px}.final-missing-card p{color:var(--color-text-muted)}.song-code-card{border:1px solid var(--color-info);border-radius:var(--radius-card-workspace);background:var(--color-info-bg);text-align:left;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin:16px 0;padding:16px 18px;display:grid}.song-code-card div{gap:4px;display:grid}.song-code-card small{color:var(--color-text-muted)}.song-code-card code{letter-spacing:.08em;font-size:clamp(15px,3vw,21px);font-weight:800}.teacher-final-video{border-radius:var(--radius-input);background:#000;width:100%;max-height:60vh;display:block}.teacher-cut-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-cut-preview article{border:1px solid var(--color-border);border-radius:var(--radius-input);overflow:hidden}.teacher-cut-preview img{object-fit:contain;background:var(--color-surface-alt);width:100%;height:auto;display:block}.teacher-cut-preview article>div{min-height:100px;color:var(--color-text-quaternary);background:var(--color-surface-alt);place-items:center;display:grid}.teacher-cut-preview strong,.teacher-cut-preview p{margin:8px 10px;font-size:12px;display:block}.teacher-cut-preview p{color:var(--color-text-muted)}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%,12px)}}@media (width>=901px){.choice-chip,.storyboard-controls fieldset button,.art-chip-grid button,.edit-chip-row button,.edit-motion-chips button{min-height:44px}}@media (hover:hover){.button-primary:hover:not(:disabled){background:var(--color-btn-primary-hover);transform:translateY(-1px)}.button-secondary:hover:not(:disabled),.button-ghost:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-surface-alt)}.button-danger:hover:not(:disabled){background:var(--color-danger-hover)}.mode-card:hover:not(:disabled){border-color:var(--color-border-hover);box-shadow:0 9px 24px #1c191717}@supports (color:color-mix(in lab, red, red)){.mode-card:hover:not(:disabled){box-shadow:0 9px 24px color-mix(in srgb, var(--color-text-primary) 9%, transparent)}}.mode-card:hover:not(:disabled){transform:translateY(-2px)}.choice-chip:hover:not(:disabled){border-color:var(--color-text-primary)}}@media (width<=900px){.studio-page-shell{background:var(--color-surface);padding:0}.studio-frame{min-height:100dvh;box-shadow:none;border:0;border-radius:0}.studio-header{grid-template-columns:1fr auto;gap:8px;padding:8px 14px}.studio-exit{grid-area:1/1}.studio-student-meta{grid-area:1/2}.studio-stepbar{grid-area:2/1/auto/-1;justify-content:flex-start;padding:2px 0 7px;overflow-x:auto}.editor-split,.style-layout{grid-template-columns:1fr}.editor-guide-panel,.style-story-panel{border-right:0;border-bottom:1px solid var(--color-border)}.generation-banner{grid-template-columns:auto 1fr auto}.progress-track{grid-area:2/1/auto/-1}.track-grid,.track-grid.one-track{grid-template-columns:1fr}.teacher-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-page-heading{flex-direction:column}.teacher-live-header-actions,.teacher-dash-header-actions{justify-content:flex-start}.teacher-dash-heading{align-items:flex-start}.teacher-session-main{grid-template-columns:auto minmax(0,1fr);row-gap:12px}.teacher-session-actions{grid-column:1/-1;justify-content:flex-start}.teacher-demo-picker{grid-template-columns:1fr}.party-controls{grid-template-columns:1fr auto;gap:8px 16px}.party-controls>p{grid-area:2/1/auto/-1}.art-direction-card{grid-template-columns:1fr}.cut-actions{grid-auto-flow:row}.edit-top-grid{grid-template-columns:1fr}.edit-settings-stack{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.humming-page-content{grid-template-columns:1fr;min-height:calc(100dvh - 121px)}.humming-recording-panel{min-height:460px}.humming-lyrics-panel{border-top:1px solid var(--color-border);border-left:0}}@media (width<=560px){.join-page{align-items:flex-start;padding:88px 20px 32px}.studio-step b{display:none}.studio-step:not(:last-child):after{margin-left:0}.studio-student-meta span:first-child{display:none}.mode-page-content{width:min(100% - 32px,420px);min-height:calc(100dvh - 150px);padding:32px 0}.mode-card{min-height:190px;padding:22px}.editor-guide-panel,.editor-main-panel,.style-chip-panel,.result-page-content{padding:20px}.field-heading-row,.editor-footer{flex-direction:column;align-items:flex-start}.field-heading-row span{text-align:left}.editor-footer .button-row{width:100%}.editor-footer .button-row button{flex:1}.lyrics-textarea{min-height:340px}.example-tags span:nth-child(n+3){display:none}.generation-banner{grid-template-columns:1fr auto}.generation-banner .wave-bars{display:none}.generation-copy{grid-column:1}.generation-banner>button{grid-area:1/2}.progress-track{grid-area:2/1/auto/-1}.done-page-content{width:min(100% - 32px,580px);padding:34px 0}.done-actions{grid-template-columns:1fr}.toast{text-align:center;width:max-content;max-width:calc(100% - 32px)}.gift-toast{grid-template-columns:auto 1fr;bottom:16px;right:16px}.gift-toast button{grid-column:1/-1}.humming-recording-panel,.humming-lyrics-panel{padding:30px 20px}.humming-actions,.humming-footer-actions{flex-direction:column}.humming-actions button,.humming-footer-actions button,.humming-start-actions button{width:100%}.teacher-page-inner{width:min(100% - 28px,1240px);padding-top:24px}.teacher-dashboard{width:min(100% - 28px,896px)}.teacher-form-grid,.teacher-create-footer,.teacher-table-toolbar{flex-direction:column;align-items:stretch}.teacher-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-modal{padding:24px}.party-header{grid-template-columns:1fr auto}.party-header>span{display:none}.party-stage{min-height:auto;padding:28px 20px}.mv-party-stage{min-height:auto;padding:24px 16px}.party-wave{gap:3px;margin:24px 0}.party-controls{grid-template-columns:1fr;padding:14px 16px}.party-controls>p{grid-area:auto/1}.party-player{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.party-player button{padding:0 8px}.party-exit-button{justify-self:stretch}.party-song-info h1{font-size:40px}.party-lyrics p{font-size:22px}.mv-page{width:min(100% - 28px,1120px);padding-top:28px}.mv-source-grid,.cut-grid{grid-template-columns:1fr}.storyboard-controls,.mv-footer,.base-confirm-card,.cascade-offer{flex-direction:column;align-items:stretch}.art-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.song-code-card{text-align:center;grid-template-columns:1fr}.edit-settings-stack{grid-template-columns:1fr}.edit-timeline-section>header,.edit-footer,.edit-footer>div{flex-direction:column;align-items:stretch}.edit-footer>div,.edit-footer button{width:100%}.edit-motion-card{grid-template-columns:1fr}.edit-motion-preview{max-height:230px}.compose-progress-card{grid-template-columns:auto 1fr}.compose-progress-card>button{grid-column:1/-1}.final-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.toast{animation:none!important}.inline-spinner-indicator{border-style:dotted;animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.teacher-demo-work{border:1px dashed var(--color-border);background:var(--color-surface-alt);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.teacher-demo-work-info{align-items:center;gap:10px;font-size:13.5px;display:flex}.teacher-demo-work-info small{color:var(--color-text-quaternary)}.teacher-demo-work-hint{color:var(--color-text-quaternary);font-size:12px}@media (width<=720px){.teacher-demo-work{flex-direction:column;align-items:flex-start}}.ar-scan-root{background:#000;position:fixed;inset:0}.ar-scene-host{position:absolute;inset:0}.ar-scene-host a-scene,.ar-scene-host canvas{width:100%!important;height:100%!important}.ar-scene-host>video:not(.ar-overlay-video){object-fit:cover!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.ar-scan-hud{padding:16px 16px calc(16px + env(safe-area-inset-bottom));color:#fff;text-shadow:0 1px 3px #0009;background:linear-gradient(#0000,#0000009e);justify-items:center;gap:10px;font-size:14px;display:grid;position:absolute;bottom:0;left:0;right:0}.ar-scan-hud-actions{gap:10px;display:flex}.ar-scan-hud-actions button{min-height:44px}.ar-scan-message,.ar-scan-fallback{text-align:center;background:var(--color-surface-alt);align-content:center;gap:12px;min-height:100dvh;padding:24px;display:grid}.ar-scan-message h1,.ar-scan-fallback h1{font-size:20px;font-weight:600}.ar-scan-message p,.ar-scan-fallback p{color:var(--color-text-muted);line-height:1.7}.ar-scan-message-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ar-scan-fallback video{border-radius:var(--radius-card);width:min(100%,520px);margin:0 auto}.ar-work-list{gap:12px;display:grid}.ar-work-card{border:1px solid var(--color-border);border-radius:var(--radius-card-workspace);background:var(--color-surface);padding:14px 16px}.ar-work-head{align-items:center;gap:8px;display:flex}.ar-work-state{color:var(--color-text-muted);font-size:12px}.ar-work-state.published{color:var(--color-info-text);font-weight:600}.ar-work-actions{gap:8px;margin-top:10px;display:flex}.ar-work-actions button{border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface);min-height:44px;padding:0 14px}.ar-frame-picker{margin-top:12px}.ar-frame-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.ar-frame-option{border-radius:var(--radius-card);cursor:pointer;background:0 0;border:2px solid #0000;padding:0}.ar-frame-option:hover:not(:disabled){border-color:var(--color-info-text)}.ar-frame-option img{border-radius:var(--radius-card);width:100%;display:block}.ar-frame-option span{color:var(--color-text-muted);padding-top:4px;font-size:12px;display:block}.ar-printables{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.ar-printables img{border-radius:var(--radius-card);width:120px}.ar-printables a{min-height:44px;color:var(--color-info-text);font-size:13px;font-weight:600;line-height:44px;display:block}.ar-scan-url{color:var(--color-text-muted);word-break:break-all;font-size:12px}.teacher-warning{border-radius:var(--radius-btn);color:var(--color-danger-text);background:var(--color-danger-bg);margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.7}.teacher-hint{color:var(--color-text-muted);font-size:13px}.ar-bulk{justify-items:start;gap:6px;margin-bottom:16px;display:grid}.ar-recommended{color:var(--color-info-text);font-weight:700}@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-border-style{syntax:"*";inherits:false;initial-value:solid}
