/*! 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;--tw-outline-style:solid;--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;-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{.relative{position:relative}.flex{display:flex}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a120f;--bg-soft:#101816;--surface:#141c19;--surface-2:#1c2421;--ink:#f5f2ea;--ink-soft:#e8e3d9;--muted:#a8a39a;--line:#f5f2ea1a;--line-strong:#f5f2ea29;--green:#2f9e62;--green-ink:#d7f3e3;--green-soft:#2f9e6229;--gold:#c6a15b;--gold-2:#e4d2a8;--danger:#e7b4ae;--nav:#0c1411;--nav-ink:#8d877e;--nav-active:#f5f2ea;--shadow:0 24px 60px #00000073;--ghost:#f5f2ea14;--chip:#1c2421;--input:#101816;--on-solid:#0a120f;--hero-ink:#f7f4ef;--heat-cold:#9ec9e6;--heat-warm:#e0b15a;--heat-hot:#7dcea0;--heat-peak:#f5f2ea;--overlay:#0a120f9e;--topbar:linear-gradient(180deg, #0a120ff5, #0a120fb8 70%, transparent);--shade-side:#0a120fe6;--shade-mid:#0a120f80;--shade-end:#0a120f0a;--shade-bottom:#0a120fb8;--font:"SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f3ee;--bg-soft:#efeae3;--surface:#fffcf8;--surface-2:#fff;--ink:#1c1916;--ink-soft:#2a2622;--muted:#6f685f;--line:#1c19161a;--line-strong:#1c191629;--green:#1b7a4a;--green-ink:#14643c;--green-soft:#1b7a4a1f;--gold:#8d6a32;--gold-2:#6e5328;--danger:#9c4038;--nav:#fffcf8;--nav-ink:#6f685f;--nav-active:#1c1916;--shadow:0 18px 44px #1c19161a;--ghost:#1c19160d;--chip:#efeae3;--input:#fff;--on-solid:#f7f4ef;--hero-ink:#f7f4ef;--heat-cold:#1a6d96;--heat-warm:#8a5f16;--heat-hot:#1a7a46;--heat-peak:#1c1916;--overlay:#1c191666;--topbar:linear-gradient(180deg, #f6f3eef5, #f6f3eec7 70%, transparent);--shade-side:#0c0c0cc7;--shade-mid:#0c0c0c61;--shade-end:#0c0c0c05;--shade-bottom:#0c0c0c9e}html,body,#root{background:var(--bg);min-height:100%;color:var(--ink);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{background:radial-gradient(900px 420px at 82% -12%, #2f9e6224, transparent 58%), var(--bg);min-height:100vh}[data-theme=light] .app-shell{background:radial-gradient(900px 420px at 82% -12%, #1b7a4a14, transparent 58%), var(--bg)}.icon-btn,.avatar-btn,.gear-btn,.sheet__icon,.preview__close{width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;padding:0;line-height:0;display:grid}.icon-btn svg,.btn svg,.preview__close svg,.card__lock svg,.gear-btn svg,.sheet__icon svg,.sheet__body button svg,.bottom-nav svg,.theme-switch svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.btn svg{fill:currentColor;stroke:none}.btn{border-radius:999px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-weight:700;display:inline-flex}.btn--light{background:var(--hero-ink);color:#161616}.btn--ghost{color:var(--hero-ink);background:#ffffff24;border:1px solid #ffffff29}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.pill{background:var(--chip);height:28px;color:var(--ink-soft);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.pill--locked{color:var(--gold)}.pill--completed{color:var(--green-ink);background:var(--green-soft)}.pill--in_progress{color:var(--green-ink)}.toast{z-index:40;color:#f5f2ea;text-align:left;background:#1a2421;border-radius:16px;grid-template-columns:36px 1fr 24px;align-items:start;gap:12px;width:min(360px,100% - 32px);padding:14px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 40px #00000047}.toast img{object-fit:cover;border-radius:50%;width:36px;height:36px}.toast strong{font-size:14px;font-weight:650;display:block}.toast p{color:#c8c2b8;margin:4px 0 0;font-size:13px;line-height:1.4}.toast>button{color:#f4f1ea;background:0 0;border:0;width:24px;height:24px}.toast>button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:14px;height:14px}.toast__actions{justify-content:flex-end;gap:14px;margin-top:10px;display:flex}.toast__actions button{color:#f4f1ea;background:0 0;border:0;font-size:13px;font-weight:650}.theme-switch{position:relative}.theme-switch__menu{z-index:30;border:1px solid var(--line);background:var(--surface);min-width:148px;box-shadow:var(--shadow);border-radius:14px;padding:6px;position:absolute;top:46px;right:0}.theme-switch__menu button{width:100%;height:36px;color:var(--muted);background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;padding:0 10px;font-size:14px;display:flex}.theme-switch__menu button.is-on,.theme-switch__menu button:hover{color:var(--ink);background:var(--chip)}.theme-switch__menu button.is-on:after{content:"";background:var(--green);border-radius:50%;width:7px;height:7px}.auth{background:radial-gradient(700px 320px at 80% -10%, #2f9e621f, transparent 60%), var(--bg);min-height:100dvh;color:var(--ink);justify-content:center;align-items:center;padding:88px 16px 32px;display:flex}.auth__brand{color:var(--ink);align-items:center;gap:10px;display:flex;position:absolute;top:22px;left:28px}.auth__theme{position:absolute;top:18px;right:22px}.auth__brand img{object-fit:contain;background:0 0;border:0;border-radius:0;width:126px!important;height:126px!important}@media (width<=860px){.auth__brand img{width:96px!important;height:96px!important}}[data-theme=dark] .auth__brand img{filter:brightness(0)invert()}.auth__brand span{letter-spacing:.04em;flex-direction:column;font-size:28px;line-height:.85;display:flex}.auth__brand small{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:600}.auth__card{flex-direction:column;width:min(360px,100%);display:flex}.auth__card h1{text-align:center;margin:0 0 28px;font-size:22px;font-weight:700}.auth__google,.auth__submit{border:1px solid var(--line-strong);height:44px;color:var(--ink);background:0 0;border-radius:10px}.auth__google{justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.auth__google svg{width:16px;height:16px}.auth__note,.auth__error{color:var(--muted);text-align:center;margin:10px 0 0;font-size:12px;line-height:1.45}.auth__error{color:var(--danger);text-align:left}.auth__card label{flex-direction:column;gap:6px;margin-top:16px;font-size:13px;display:flex}.auth__labelrow{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth__card input:not([type=checkbox]){border:1px solid var(--line-strong);background:var(--input);border-radius:10px;outline:none;width:100%;height:44px;padding:0 12px;font-size:16px}.auth__card input:not([type=checkbox]):focus{border-color:var(--green)}.auth__password{display:block;position:relative}.auth__password input{padding-right:42px}.auth__password button,.auth__link,.auth__switch button{color:var(--muted);background:0 0;border:0;text-decoration:none}.auth__password button{place-items:center;width:42px;height:44px;display:grid;position:absolute;top:0;right:0}.auth__password svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:16px;height:16px}.auth__link{font-size:12px}.auth__link:hover,.auth__switch button:hover{color:var(--ink)}.auth__rules{color:var(--muted);margin:10px 0 0;padding:0;font-size:12px;list-style:none}.auth__rules li:before{content:"×  "}.auth__rules li.is-ok{color:var(--green)}.auth__rules li.is-ok:before{content:"✓  "}.auth__card .auth__check{color:var(--muted);flex-direction:row;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45}.auth__card .auth__check input{appearance:none;border:1px solid var(--line-strong);background:var(--input);border-radius:5px;flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;padding:0}.auth__card .auth__check input:checked{background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.2 6.4 11l6.1-6.2' fill='none' stroke='%23f6f3ec' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-color:#0000}.auth__card .auth__check span{flex:1}.auth__submit{background:var(--ink);color:var(--bg);border:0;margin-top:18px;font-weight:600}.auth__switch{text-align:center;color:var(--muted);margin:14px 0 0;font-size:13px}.auth__switch button{color:var(--ink);font-weight:600}@media (width<=860px){.auth{align-items:flex-start;padding:84px 18px 28px}.auth__brand{top:16px;left:16px}.auth__theme{top:12px;right:12px}.auth__brand span{font-size:24px}.auth__card{width:100%;margin-top:8vh}.auth__card h1{font-size:20px}.auth__google,.auth__submit,.auth__card input:not([type=checkbox]){height:46px}}.topbar__mark,.mobile-top__brand img{object-fit:contain;background:0 0;border:0;border-radius:0;width:42px;height:42px}[data-theme=dark] .auth__brand img,[data-theme=dark] .topbar__mark,[data-theme=dark] .mobile-top__brand img{filter:brightness(0)invert()}.avatar-initial{color:#1b7a4a;border:1px solid var(--line);background:#e8f5ee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin:0;padding:0;font-size:14px;font-weight:650;line-height:1;display:flex}.avatar-initial--lg{width:84px;height:84px;margin:12px auto 16px;font-size:32px}.profile-menu__head .avatar-initial{justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}[data-theme=dark] .avatar-initial{color:#b7e7c8;background:#1a3328}.topbar{z-index:20;background:var(--topbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:28px;height:72px;padding:0 4vw;display:flex;position:sticky;top:0}.mobile-top,.bottom-nav{display:none}.topbar__brand{cursor:pointer;align-items:center;gap:10px;min-width:180px;display:flex}.topbar__mark{object-fit:contain;background:0 0;border:0;border-radius:0;width:126px;height:126px}.topbar__name,.mobile-top__brand span{letter-spacing:.04em;color:var(--ink);flex-direction:column;font-size:28px;line-height:.85;display:flex}.topbar__name small,.mobile-top__brand small{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:600}.topbar__nav{gap:8px;display:flex}.topbar__nav button,.icon-btn,.avatar-btn,.btn,.profile-menu button,.results__item,.card__hit,.preview__close,.gear-btn,.sheet__icon,.sheet button,.bottom-nav button,.mobile-top__brand{background:0 0;border:0}.topbar__nav button{height:34px;color:var(--muted);border-radius:999px;padding:0 14px;font-size:14px;font-weight:500}.topbar__nav button.is-active{background:var(--chip);color:var(--ink)}.topbar__nav button:hover{color:var(--ink)}.topbar__tools{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar__spaces{border:1px solid var(--line-strong);background:0 0;border-radius:999px;align-items:center;padding:2px;display:flex}.topbar__spaces button{height:30px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500}.topbar__spaces button.is-on{background:var(--ink);color:var(--bg)}.topbar__spaces button:hover:not(.is-on){color:var(--ink)}.search{align-items:center;display:flex;position:relative}.search input{opacity:0;background:0 0;border:0;outline:none;width:0;padding:0;transition:width .2s,opacity .2s}.search.is-open input,.search input:focus{opacity:1;border-bottom:1px solid var(--line-strong);width:230px;margin-left:4px;padding:6px 2px}.search__results{border:1px solid var(--line);background:var(--surface);width:280px;box-shadow:var(--shadow);border-radius:14px;padding:8px;position:absolute;top:46px;right:0}.search__results button,.search__results p{text-align:left;border-radius:10px;width:100%;padding:8px}.search__results button{flex-direction:column;gap:2px;display:flex}.search__results button:hover{background:var(--chip)}.search__results span,.search__results p{color:var(--muted);font-size:12px}.avatar-btn img,.profile-menu__head img{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:36px;height:36px}.profile{position:relative}.profile-menu{border:1px solid var(--line);background:var(--surface);width:280px;box-shadow:var(--shadow);border-radius:16px;padding:12px;position:absolute;top:48px;right:0;overflow:visible}.profile-menu__row{position:relative}.profile-menu__row>button,.profile-menu>button{text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px;display:flex}.profile-menu__row>button svg,.sheet__body>button svg{width:16px;height:16px;stroke:var(--muted);stroke-width:1.6px}.profile-menu__row>button.is-open,.profile-menu__row:hover>button{color:var(--ink);background:0 0}.profile-menu__row>button:hover,.profile-menu>button:hover{background:var(--chip);color:var(--ink)}.profile-menu>button.is-danger,.profile-menu>button.is-danger:hover{color:var(--danger)}.profile-menu__flyout{border:1px solid var(--line);background:var(--surface);width:230px;box-shadow:var(--shadow);border-radius:12px;padding:6px;display:none;position:absolute;top:0;right:calc(100% + 20px)}.profile-menu__flyout:before{content:"";width:8px;position:absolute;top:0;bottom:0;right:-8px}.profile-menu__row:hover .profile-menu__flyout,.profile-menu__row:focus-within .profile-menu__flyout{display:block}.profile-menu__flyout button{text-align:left;width:100%;color:var(--muted);border-radius:8px;align-items:center;padding:8px 10px;display:flex}.profile-menu__flyout button:hover{background:var(--chip);color:var(--ink)}.profile-menu__flyout button.is-on{color:var(--ink)}.profile-menu__flyout button.is-on:after{content:"";background:var(--green);border-radius:50%;width:7px;height:7px;margin-left:auto}.profile-menu__notice{color:var(--gold);margin:8px;font-size:12px}.profile-menu__head{padding-bottom:10px}.profile-menu__head span,.profile-menu__plan span,.profile-menu__plan small{color:var(--muted);font-size:12px;display:block}.profile-menu__plan{background:var(--chip);border-radius:12px;justify-content:space-between;margin:4px 0 8px;padding:10px}.profile-menu__plan button{background:var(--ink);height:28px;color:var(--bg);border-radius:999px;padding:0 10px;font-size:12px;font-weight:700}.profile-menu__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:10px 8px 4px;font-size:11px}.profile-menu__head,.profile-menu__plan{align-items:center;gap:10px;display:flex}.hero{background:#111;border-radius:18px;height:min(78vh,720px);margin:0 3vw;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:center 30%;width:100%;height:100%}.hero__shade{background:linear-gradient(90deg, var(--shade-side) 0%, var(--shade-mid) 42%, var(--shade-end) 70%), linear-gradient(180deg, transparent 50%, var(--shade-bottom));position:absolute;inset:0}.hero__copy{max-width:560px;color:var(--hero-ink);position:absolute;bottom:8vh;left:4vw}.hero__kicker,.preview__kicker{color:var(--gold-2);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:13px}[data-theme=light] .hero__kicker{color:#e4d2a8}[data-theme=light] .preview__kicker,[data-theme=light] .preview__english,[data-theme=light] .preview__body h3{color:var(--ink)}.hero h1,.placeholder h1,.search-page h1{margin:0;font-size:clamp(48px,6vw,84px);font-weight:600;line-height:.9}.hero h1{color:var(--hero-ink)}.hero__english,.preview__english{color:#e4d2a8;margin:8px 0 0;font-size:18px}.hero__meta,.preview__meta,.preview__tags{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:14px;display:flex}.hero__meta{color:#f4f1eac7;margin:16px 0}.hero__description,.preview__description{max-width:520px;color:var(--ink-soft);margin:0;line-height:1.5}.hero__description{color:#f4f1eae0}.hero__actions,.preview__actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.hero__actions .btn--light{color:#171717;background:#f4f1ea;border:0}.hero__actions .btn--ghost{color:#f4f1ea;background:#0c0c0c9e;border:1px solid #f4f1ea8c}.preview__actions .btn--light{background:var(--ink);color:var(--bg);border:0}.rows{z-index:2;margin-top:28px;padding-bottom:48px;position:relative}.row{margin:8px 0 18px}.row__head{padding:0 4vw}.row__head h2{margin:0;font-size:20px;font-weight:650}.row__head p{color:var(--muted);margin:4px 0 10px;font-size:13px}.row__scroller{scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;flex-wrap:nowrap;gap:12px;padding:8px 4vw 20px;display:flex;overflow-x:auto}.row__scroller::-webkit-scrollbar{height:0;display:none}.row__scroller:active{cursor:grabbing}.card{flex:0 0 250px}.card__hit{aspect-ratio:16/9;text-align:left;color:#f4f1ea;border-radius:10px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.card__hit img,.results__item img,.preview img{object-fit:cover;width:100%;height:100%}.card.is-locked img,.is-muted{filter:grayscale()brightness(.55)}.card__shade{background:linear-gradient(#0000 40%,#000000c7);position:absolute;inset:0}.card__title{font-weight:650;position:absolute;bottom:14px;left:12px;right:12px}.card__lock{background:#0000008c;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:10px;right:10px}.card__lock svg{width:15px;height:15px}.card__progress,.preview__bar{background:#ffffff40;height:3px;position:absolute;bottom:0;left:0;right:0}.card__progress i,.preview__bar i{background:var(--green);height:100%;display:block}.card__hit:hover{transition:transform .18s;transform:scale(1.04)}.preview-backdrop,.sheet-backdrop{z-index:30;background:var(--overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.preview{background:var(--surface);width:min(720px,100%);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:16px;margin:0 auto;position:relative;overflow:hidden}.preview img{object-position:center;height:280px}.preview__shade{background:linear-gradient(180deg, transparent 30%, var(--surface));height:280px;position:absolute;inset:0 0 auto}.preview__body{margin-top:-64px;padding:0 22px 28px;position:relative}.preview__body h3{color:var(--ink);margin:0;font-size:42px;line-height:.95}.preview__kicker{color:var(--muted)}.preview__english{color:var(--ink-soft)}.preview__bar{border-radius:99px;margin-top:14px;position:relative;overflow:hidden}.preview__meta,.preview__tags{margin:16px 0 0}.preview__copy{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.preview__description{color:var(--ink-soft);margin-top:0;line-height:1.6}.preview__locknote{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.5}.preview__close{color:#fff;background:#0000008c;width:36px;height:36px;position:absolute;top:12px;right:12px}.preview__close svg{width:16px;height:16px}.results,.placeholder,.search-page{padding:28px 4vw 60px}.results h2{margin:0 0 16px;font-size:22px}.results__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.results__item{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.results__item img{object-fit:cover;border-radius:8px;width:92px;height:58px}.results__item span{flex-direction:column;display:flex}.results__item small{color:var(--muted)}.placeholder,.search-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 72px);display:flex}.placeholder p{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px}.placeholder span,.search-page p{max-width:460px;color:var(--muted)}.search-page{justify-content:flex-start;align-items:stretch;padding-top:36px}.search-page h1{text-align:center}.search-page>input{border:0;border-bottom:1px solid var(--line-strong);text-align:center;background:0 0;outline:none;width:min(560px,100%);height:46px;margin:18px auto 0}.no-class{text-align:center;min-height:calc(100vh - 72px);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;padding:40px 24px 80px;display:flex}.no-class__mark{background:var(--chip);width:72px;height:72px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:24px;display:grid}.no-class__mark svg{width:36px;height:36px}.no-class h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(28px,4vw,36px);font-weight:650;line-height:1.15}.no-class p{max-width:380px;color:var(--muted);margin:0;font-size:15px;line-height:1.5}.sheet-backdrop{align-items:end;padding:0}.sheet{border:1px solid var(--line);background:var(--bg);width:min(640px,100%);height:min(78vh,720px);color:var(--ink);box-shadow:var(--shadow);border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;transition:height .22s;display:flex}.sheet.is-full{border:0;border-radius:0;width:100%;height:100dvh}.sheet__handle{background:0 0;border:0;width:42px;height:18px;margin:8px auto 0;position:relative}.sheet__handle:before{content:"";background:var(--line-strong);border-radius:99px;height:4px;position:absolute;top:7px;left:4px;right:4px}.sheet__bar{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr 38px;align-items:center;min-height:52px;padding:0 12px;display:grid}.sheet__bar strong{text-align:center;color:var(--ink);font-size:16px}.sheet__icon{color:var(--ink)}.sheet__body{flex:1;padding:8px 18px 28px;overflow:auto}.sheet__body>button:not(.sheet__action){border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:54px;color:var(--ink);justify-content:space-between;align-items:center;padding:0 4px;font-size:16px;display:flex}.sheet__body>button:not(.sheet__action) svg{stroke:var(--muted)}.sheet__body>button:not(.sheet__action):hover{color:var(--ink)}.sheet__body>button.is-danger{color:var(--danger);border-bottom:0;margin-top:12px}.sheet__detail{text-align:left}.sheet__detail img{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:84px;height:84px;margin:12px auto 16px}.sheet__detail h2{color:var(--ink);text-align:center;margin:8px 0;font-size:36px}.sheet__detail p{color:var(--muted);text-align:center}.sheet__detail label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;margin:12px 0;font-size:12px;display:flex}.sheet__detail input,.sheet__detail select{border:1px solid var(--line-strong);background:var(--input);height:42px;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:10px;padding:0 12px;font-size:15px}.sheet__check{text-transform:none;letter-spacing:0;align-items:center;font-size:15px;color:var(--ink)!important;flex-direction:row!important}.sheet__check input{width:18px;height:18px;accent-color:var(--green)}.sheet .sheet__action{border:1px solid var(--line-strong);background:var(--ink);height:36px;color:var(--bg);border-radius:8px;margin:16px 8px 0 0;padding:0 14px;font-size:13px;font-weight:600}.sheet .sheet__action:hover{opacity:.9}.sheet .sheet__action--ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.sheet__detail dl{margin:22px 0 0}.sheet__detail dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.sheet__detail dt{color:var(--muted)}.sheet__detail dd{color:var(--ink);margin:0}.sheet__saved{color:var(--green);text-align:center;margin:8px 18px 18px;font-size:13px}.theme-options{flex-direction:column;gap:8px;margin-top:8px;display:flex}.theme-options button{border:1px solid var(--line);background:var(--surface);width:100%;min-height:52px;color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;padding:0 14px;font-size:15px;display:flex}.theme-options button.is-on{border-color:var(--green);background:var(--green-soft)}.theme-options button.is-on:after{content:"";background:var(--green);border-radius:50%;width:8px;height:8px}@media (width<=860px){.topbar{display:none}.mobile-top{z-index:20;background:var(--bg);justify-content:center;align-items:center;height:64px;padding:0 16px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.mobile-top{background:color-mix(in srgb, var(--bg) 94%, transparent)}}.mobile-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-top__brand{align-items:center;gap:8px;display:flex}.mobile-top__brand img{object-fit:contain;background:0 0;border:0;border-radius:0;width:102px;height:102px}.mobile-top__brand span{font-size:24px}.gear-btn{color:var(--ink);position:absolute;right:12px}.bottom-nav{z-index:25;height:calc(62px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);background:var(--nav);border-top:1px solid var(--line);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{width:54px;height:42px;color:var(--nav-ink);place-items:center;display:grid;position:relative}.bottom-nav svg{stroke-width:1.7px;width:23px;height:23px}.bottom-nav i{background:0 0;border-radius:99px;width:16px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.bottom-nav button.is-active{color:var(--nav-active)}.bottom-nav button.is-active i{background:var(--green)}.app-shell{padding-bottom:calc(62px + env(safe-area-inset-bottom))}.hero{border-radius:16px;height:62vh;margin:8px 12px 0}.hero__image{object-position:center center}.hero__shade{background:linear-gradient(#0909091f,#09090938 40%,#090909e6)}.hero__copy{text-align:center;max-width:none;bottom:22px;left:16px;right:16px}.hero__meta,.hero__actions,.preview__actions,.preview__meta,.preview__tags{justify-content:center}.hero__description,.preview__description{margin-left:auto;margin-right:auto}.hero h1{font-size:46px}.rows{margin-top:8px}.row__head,.row__scroller,.results,.placeholder,.search-page{padding-left:16px;padding-right:16px}.card{flex-basis:78vw}.preview-backdrop{place-items:center;padding:12px}.preview{width:100%;max-height:calc(100dvh - 24px);overflow:auto}.preview img,.preview__shade{height:190px}.preview__body{text-align:center;margin-top:-36px;padding:0 16px 18px}.preview__body h3{font-size:34px}.preview__close{top:10px;right:10px}.results__grid{grid-template-columns:1fr}.results__item{width:100%}.placeholder,.search-page{min-height:calc(100vh - 150px);padding-bottom:28px}.toast{width:auto;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom))}.sheet{width:100%}.sheet.is-full{border-radius:0}}.desk{padding:28px 4vw 72px}.desk__head p,.grade header p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.desk__head h1,.grade h2{letter-spacing:-.03em;margin:4px 0 0;font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1}.desk__head span,.desk__empty{max-width:520px;color:var(--muted);margin-top:8px;font-size:14px;line-height:1.45;display:block}.desk__head--row,.desk__list header,.grade header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.desk__head--row{margin-bottom:28px}.desk__head+.library,.desk__head--row+.library,.desk__head--row+.class-grid,.library-toolbar+.library,.desk__head+.roster__table{margin-top:28px}.desk__grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px;display:grid}.desk__grid article,.class-grid article,.desk__list,.class-modal,.grade{border:1px solid var(--line);background:var(--surface);border-radius:16px}.desk__grid article{flex-direction:column;gap:6px;padding:16px;display:flex}.desk__grid small,.class-grid small,.desk__list span{color:var(--muted);font-size:13px}.desk__grid strong{color:var(--ink);font-size:42px;line-height:1}.desk__list{margin-top:18px;padding:8px}.desk__list header,.desk__list button,.desk__list div{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.desk__list button+button,.desk__list div+div{border-top:1px solid var(--line)}.desk__new,.desk__list header button,.desk__mini{border:1px solid var(--line-strong);height:36px;color:var(--ink);background:0 0;border-radius:999px;padding:0 14px}.class-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.class-card{min-height:168px;position:relative}.class-card__badge{background:var(--green-soft);height:22px;color:var(--green-ink);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:650;line-height:1;display:inline-flex;position:absolute;top:12px;right:12px}.class-card__open{text-align:left;width:100%;min-height:168px;color:var(--ink);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 16px 44px;display:flex}.class-card__edit{width:28px;height:28px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute;bottom:12px;right:12px}.class-grid article>button.class-card__edit{width:28px;height:28px;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:0;outline:0;padding:0}.class-grid article>button.class-card__edit:hover,.class-grid article>button.class-card__edit:focus,.class-card__edit:hover{color:var(--ink);background:0 0;border:0;outline:0}.class-card__edit svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:15px;height:15px}.timeline{margin:12px 0 0;padding:0;list-style:none}.timeline li{text-align:left;flex-direction:column;gap:1px;padding:0 0 12px 16px;display:flex;position:relative}.timeline li i{border:1px solid var(--muted);background:var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:0}.timeline li:not(:last-child):before{content:"";background:var(--line-strong);width:1px;position:absolute;top:12px;bottom:0;left:3px}.timeline span,.timeline small{text-align:left;display:block}.timeline small{color:var(--muted);font-size:12px}.alerts{margin-top:28px}.alerts header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.alerts header h2{margin:0;font-size:20px}.alerts header span,.alerts__list span,.alerts__list time,.alerts__list em{color:var(--muted);font-style:normal}.alerts__search{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:8px;height:44px;padding:0 14px;display:flex}.alerts__search svg{width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:1.8px}.alerts__search input{background:0 0;border:0;outline:none;flex:1;height:100%}.alerts__filters{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.alerts__filters select,.alerts__filters button{border:1px solid var(--line-strong);height:34px;color:var(--muted);background:0 0;border-radius:999px;padding:0 12px}.alerts__filters button.is-on,.alerts__filters select:focus{color:var(--ink);border-color:var(--green);background:var(--green-soft)}.alerts__list{flex-direction:column;display:flex}.alerts__list article{border:0;grid-template-columns:minmax(220px,1.5fr) minmax(140px,1fr) 150px 110px 72px;align-items:center;gap:24px;min-height:64px;padding:8px 0;display:grid}.alerts__who{align-items:center;gap:12px;min-width:0;display:flex}.alerts__meta,.alerts__badge{color:var(--muted);white-space:nowrap}.alerts__actions{justify-content:flex-end;gap:2px;display:flex}.alerts__actions button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.alerts__actions button.is-on,.alerts__actions button:hover{color:var(--ink)}.alerts__actions svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:16px;height:16px}.alerts__list i{background:var(--green-soft);width:36px;height:36px;color:var(--green);border-radius:50%;place-items:center;font-style:normal;display:grid}.alerts__list strong,.alerts__list span{display:block}.alerts__list b{background:var(--chip);height:26px;color:var(--ink);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.alert-detail{width:min(420px,100%)}.alert-detail dl{margin:8px 0 0}.alert-detail dl div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.alert-detail dt{color:var(--muted)}.alert-detail dd{margin:0}.toolrow{align-items:center;gap:8px;margin:4px 0 14px;display:flex;position:relative}.toolrow__search{border:1px solid var(--line);background:0 0;border-radius:999px;flex:1;align-items:center;gap:8px;height:42px;padding:0 14px;display:flex}.toolrow__search svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.8px}.toolrow__search input{background:0 0;border:0;outline:none;flex:1;height:100%}.toolrow__filter{border:1px solid var(--line);height:42px;color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.toolrow__filter svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px;height:16px}.toolrow__filter.is-on{color:var(--ink);border-color:var(--ink)}.toolrow__menu{z-index:5;border:1px solid var(--line);background:var(--surface);width:min(320px,100%);box-shadow:var(--shadow);border-radius:16px;padding:8px;position:absolute;top:50px;right:0}.toolrow__menu fieldset{border:0;margin:0;padding:8px}.toolrow__menu legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px}.toolrow__menu button{border:1px solid var(--line);height:32px;color:var(--muted);background:0 0;border-radius:999px;margin:0 6px 6px 0;padding:0 10px}.toolrow__menu button.is-on{color:var(--ink);border-color:var(--ink)}.toolrow__range{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.toolrow__range label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:4px;font-size:11px;display:flex}.toolrow__range input{border:1px solid var(--line);background:var(--input);height:36px;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:8px;padding:0 8px}@media (width<=980px){.alerts__list article{flex-wrap:nowrap;align-items:center;gap:12px;min-height:52px;display:flex}.alerts__who{flex:auto;min-width:0}.alerts__who span,.alerts__list time,.alerts__list span.alerts__badge,.alerts__list b{display:none}.alerts__meta{text-overflow:ellipsis;white-space:nowrap;flex:0 42%;overflow:hidden}.alerts__actions{flex:none;margin-left:auto}}@media (width<=860px){.desk{padding:18px 16px 92px}.desk__head h1,.grade h2{font-size:28px}.desk__head span{font-size:13px}.desk__head--row,.class-modal__sessions div{flex-direction:column;align-items:flex-start}.desk__head--row{gap:14px;margin-bottom:22px}.desk__grid{grid-template-columns:1fr 1fr}}.class-link{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.class-link label{text-transform:none;letter-spacing:0;color:var(--muted);font-size:13px}.class-link__row{gap:8px;margin-top:6px;display:flex}.class-link__row input{border:1px solid var(--line-strong);background:var(--input);height:40px;color:var(--ink);border-radius:10px;flex:1;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.class-link__row button{flex:none;height:40px;padding:0 14px}.calendar__head h1{margin:0;font-size:28px;font-weight:650}.calendar__head nav{border-bottom:1px solid var(--line);gap:16px;margin-top:14px;display:flex}.calendar__head nav button{height:36px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0}.calendar__head nav button.is-on{color:var(--ink);border-bottom-color:var(--ink)}.calendar__bar{align-items:center;gap:12px;margin:16px 0;display:flex}.calendar__month{min-width:180px}.calendar__month strong{text-transform:capitalize;display:block}.calendar__month span,.calendar__daylist p{color:var(--muted);font-size:13px}.calendar__search{border:1px solid var(--line);border-radius:10px;flex:1;align-items:center;gap:8px;height:38px;padding:0 12px;display:flex}.calendar__search svg{fill:none;width:16px;height:16px;stroke:var(--muted);stroke-width:1.8px}.calendar__search input{background:0 0;border:0;outline:none;flex:1;height:100%}.calendar__tools{align-items:center;gap:6px;display:flex}.calendar__tools button,.calendar__tools select{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink);border-radius:10px;padding:0 10px}.calendar__tools svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px;height:16px}.calendar__add{font-weight:650;background:var(--ink)!important;color:var(--bg)!important;border:0!important}.calendar__grid{border:1px solid var(--line);background:var(--surface);border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar__dow,.calendar__day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:112px;padding:8px}.calendar__dow{min-height:0;color:var(--muted);font-size:12px}.calendar__day{text-align:left;color:var(--ink);background:0 0;border-top:0;border-left:0;flex-direction:column;align-items:stretch;gap:4px;display:flex}.calendar__day b{font-size:13px;font-weight:600}.calendar__day.is-out{color:var(--muted);background:var(--bg-soft)}.calendar__day.is-on b{background:var(--ink);width:22px;height:22px;color:var(--bg);border-radius:50%;place-items:center;display:grid}.calendar__dot{display:none}.calendar__day em,.calendar__day small{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:11px;font-style:normal;display:block;overflow:hidden}.calendar__day .tone-0{color:#6d5318;background:#efe4c8}.calendar__day .tone-1{color:#24633a;background:#dcead8}.calendar__day .tone-2{color:#53427a;background:#e7e2f2}.calendar__day .tone-3{color:#8a4638;background:#f3ddd6}[data-theme=dark] .calendar__day .tone-0{color:#f0d7a2;background:#3c3424}[data-theme=dark] .calendar__day .tone-1{color:#b7e7c8;background:#1d3328}[data-theme=dark] .calendar__day .tone-2{color:#ddd4f0;background:#2b2838}[data-theme=dark] .calendar__day .tone-3{color:#f0c7c2;background:#3a2a28}.calendar__list{flex-direction:column;display:flex}.calendar__daylist{margin-top:16px;display:none}.calendar__daylist h2{margin:0 0 8px;font-size:16px}.calendar__daylist button,.calendar__list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;gap:12px;width:100%;padding:12px 0;display:flex}@media (width<=860px){.calendar__bar,.calendar__tools,.calendar__head nav{flex-wrap:wrap}.calendar__search{flex:100%}.calendar__day{min-height:58px;padding:6px}.calendar__day em,.calendar__day small{display:none}.calendar__dot{background:var(--green);border-radius:50%;width:6px;height:6px;display:block}.calendar__daylist{display:block}.calendar__daylist button span,.calendar__list button span{color:var(--muted)}}.lesson-player{z-index:40;background:radial-gradient(720px 360px at 50% -10%, #2f9e621f, transparent 60%), var(--bg);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:28px 20px 36px;display:flex;position:fixed;inset:0}[data-theme=light] .lesson-player{background:radial-gradient(720px 360px at 50% -10%, #1b7a4a14, transparent 60%), var(--bg)}.lesson-player__back{z-index:5;border:.5px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:18px;left:18px}@supports (color:color-mix(in lab, red, red)){.lesson-player__back{background:color-mix(in srgb, var(--surface) 55%, transparent)}}.lesson-player__back{-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);color:var(--ink);cursor:pointer;box-shadow:inset 0 1px #ffffff14}.lesson-player__back svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.lesson-player__head{text-align:center;z-index:4;flex-direction:column;align-items:center;gap:8px;display:flex}.lesson-player__kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:12px}.lesson-player__title{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:600}.lesson-player__badge{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);background:#1b7a4a;border:1px solid #0000;border-radius:999px;align-items:center;height:28px;padding:0 14px;font-size:13px;display:inline-flex}[data-theme=dark] .lesson-player__badge{color:#111;background:#fff}.lesson-player__stage{aspect-ratio:16/10;border:1px solid var(--line);background:var(--surface);border-radius:24px;width:min(680px,92vw);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.lesson-player__stage{background:color-mix(in srgb, var(--surface) 40%, transparent)}}.lesson-player__stage{-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);box-shadow:0 24px 60px #00000047,inset 0 1px #ffffff0f}.lesson-player__stage video,.lesson-player__stage img{object-fit:cover;background:#111;width:100%;height:100%;display:block}.lesson-player__empty{width:100%;height:100%;color:var(--muted);place-items:center;display:grid}.lesson-player__controls{z-index:4;align-items:center;gap:18px;display:flex}.lesson-player__controls button{border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}@supports (color:color-mix(in lab, red, red)){.lesson-player__controls button{background:color-mix(in srgb, var(--surface) 50%, transparent)}}.lesson-player__controls button{-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);color:var(--ink);cursor:pointer}.lesson-player__controls button:disabled{opacity:.35;cursor:default}.lesson-player__controls .is-play{background:var(--ink);width:64px;height:64px;color:var(--bg);border:0;box-shadow:0 8px 24px #00000040}.lesson-player__controls svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.lesson-player__controls .is-play svg{fill:currentColor;stroke:none;width:26px;height:26px}.lesson-player__progress{z-index:4;align-items:center;gap:12px;width:min(360px,80vw);display:flex}.lesson-player__count{color:var(--muted);min-width:64px;font-size:13px}.lesson-player__bar{background:var(--line);border-radius:999px;flex:1;height:4px;overflow:hidden}.lesson-player__bar i{background:var(--green);border-radius:999px;height:100%;display:block}.lesson-player__note{color:var(--muted);font-size:14px}@media (width>=861px){.lesson-player.has-video{background:#000;gap:0;padding:0}.lesson-player.has-video .lesson-player__stage{aspect-ratio:auto;width:100%;height:100%;box-shadow:none;border:0;border-radius:0;position:absolute;inset:0}.lesson-player.has-video .lesson-player__head{color:#fff;position:absolute;top:28px;left:0;right:0}.lesson-player.has-video .lesson-player__kicker,.lesson-player.has-video .lesson-player__count{color:#ffffffbf}.lesson-player.has-video .lesson-player__title{color:#fff;text-shadow:0 2px 12px #00000080}.lesson-player.has-video .lesson-player__badge{color:#fff;background:#00000059;border-color:#fff3}.lesson-player.has-video .lesson-player__controls,.lesson-player.has-video .lesson-player__progress{position:absolute;left:50%;transform:translate(-50%)}.lesson-player.has-video .lesson-player__controls{bottom:96px}.lesson-player.has-video .lesson-player__progress{bottom:36px}.lesson-player.has-video .lesson-player__controls button{color:#fff;background:#0006;border-color:#fff3}.lesson-player.has-video .lesson-player__controls .is-play{color:#111;background:#fff}.lesson-player.has-video .lesson-player__bar{background:#ffffff40}.lesson-player.has-video.is-idle .lesson-player__head,.lesson-player.has-video.is-idle .lesson-player__controls,.lesson-player.has-video.is-idle .lesson-player__progress,.lesson-player.has-video.is-idle .lesson-player__back{opacity:0;pointer-events:none;transition:opacity .4s}.lesson-player.has-video .lesson-player__head,.lesson-player.has-video .lesson-player__controls,.lesson-player.has-video .lesson-player__progress,.lesson-player.has-video .lesson-player__back{transition:opacity .3s}}@media (width<=860px){.lesson-player{gap:16px;padding:8px 14px 24px}.lesson-player__head{margin-top:-8px}.lesson-player__title{font-size:18px;font-weight:550}.lesson-player__kicker{font-size:11px}.lesson-player__stage{aspect-ratio:1;border-radius:24px;flex:none;width:92vw;max-height:none}.lesson-player__controls .is-play{width:56px;height:56px}}.lesson-room__back{height:34px;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;margin:14px 0 0;display:inline-flex}.lesson-room__back svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px;height:16px}.inline-slide{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;width:min(280px,100%);margin:18px auto 0;display:grid;position:relative}.inline-slide i{background:var(--ink);width:50%;height:2px;transition:transform .22s;position:absolute;bottom:-1px;left:0}.inline-slide button{height:36px;color:var(--muted);background:0 0;border:0;font-size:14px}.inline-slide button.is-on{color:var(--ink)}.desk .inline-slide{width:min(520px,100%);margin:22px 0 0}.desk .inline-slide--3,.inline-slide--3{grid-template-columns:repeat(3,1fr)}.desk .inline-slide--4,.inline-slide--4{grid-template-columns:repeat(4,1fr)}.inline-slide--4 i{width:25%}.lesson-desk__switch{grid-template-columns:repeat(3,1fr);width:min(420px,100%)}.media-stage{background:#111;border-radius:16px;position:relative;overflow:hidden}.media-stage.is-full{z-index:50;border-radius:0;width:100%;height:100%;position:fixed;inset:0}.media-stage video,.media-stage img{object-fit:contain;background:#111;width:100%;height:100%}.media-stage__expand{color:#fff;cursor:pointer;background:#00000073;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:12px;right:12px}.media-stage__expand svg,.media-stage__expand i{font-size:18px}@media (width<=860px){.inline-slide{width:100%}}.admin-person,.admin-detail{align-items:center;gap:10px;display:flex}.admin-person i,.admin-detail i{background:var(--chip);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;font-style:normal;display:grid}.admin-person img,.admin-detail img{object-fit:cover;border-radius:50%;width:36px;height:36px}.admin-person span,.admin-detail span{color:var(--muted);font-size:12px;display:block}.admin-list{margin:18px 0 0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--line);padding:12px 0}.library-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;margin:28px 0 16px;display:flex}.library-toolbar h2{margin:0;font-size:18px;font-weight:650}.library-toolbar span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4;display:block}.library-toolbar__actions{flex-wrap:wrap;gap:8px;display:flex}.library{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:8px;overflow:visible}.library__row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;background:0 0;align-items:center;gap:12px;padding:12px 10px 12px 16px;display:flex;position:relative}.library__row[draggable=true]{cursor:grab}.library__row[draggable=true]:active{cursor:grabbing}.library__row.is-dragging{opacity:.45;background:var(--chip)}.library__row:last-child{border-bottom:0}.library__row:hover{background:var(--chip)}.library__hit{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:14px;padding:0;display:grid}.library__mark{border:1px solid var(--line-strong);background:var(--bg);width:36px;height:36px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:650;display:grid;overflow:hidden}.library__mark svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:16px;height:16px}.library__mark img{object-fit:cover;border-radius:50%;width:36px;height:36px}.library__mark.is-audio{color:var(--gold);background:#c6a15b24;border-color:#0000}.library__mark.is-task{color:var(--green);background:var(--green-soft);border-color:#0000}.library__mark.is-file{color:var(--ink-soft)}.library__copy{min-width:0}.library__copy strong,.library__copy small,.library__copy em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.library__copy strong{font-size:15px;font-weight:650}.library__copy small,.library__copy em{color:var(--muted);margin-top:2px;font-size:12px;font-style:normal}.library__meta{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.library__meta b{background:var(--chip);height:22px;color:var(--ink-soft);border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:650;display:inline-flex}.library__tools{align-items:center;gap:2px;display:flex}.library__empty{color:var(--muted);text-align:center;margin:0;padding:28px 18px;line-height:1.5}.library__empty strong{color:var(--ink);margin-bottom:4px;font-size:15px;display:block}.admin-icon{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:relative}.admin-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:16px;height:16px}.admin-icon:hover{color:var(--ink);background:var(--ghost)}.admin-icon.is-ok:hover{color:var(--green)}.admin-icon.is-no:hover{color:var(--danger)}.admin-icon[data-tip]:hover:after,.admin-icon[data-tip]:focus-visible:after{content:attr(data-tip);z-index:6;background:var(--ink);color:var(--bg);letter-spacing:0;white-space:nowrap;pointer-events:none;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.status-pill{background:var(--chip);height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.status-pill.is-pending{color:var(--gold)}.status-pill.is-ok{color:var(--green-ink);background:var(--green-soft)}.status-pill.is-no{color:var(--danger)}@media (width<=860px){.library__meta,.status-pill{display:none}.library-toolbar{flex-direction:column;align-items:flex-start}.library__row{min-height:64px;padding-right:6px}}.recent-activities{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-top:32px;padding:20px 22px}.recent-activities header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.recent-activities header div{min-width:0}.recent-activities h2{margin:0;font-size:18px;font-weight:650}.recent-activities header span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.recent-activities header small{color:var(--muted);white-space:nowrap;font-size:12px}.recent-activities ul{margin:0;padding:0;list-style:none}.recent-activities li{border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.recent-activities li:last-child{border-bottom:0}.recent-activities__icon{background:var(--chip);width:36px;height:36px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.recent-activities__icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px;height:16px}.recent-activities li.is-complete .recent-activities__icon{background:var(--green-soft);color:var(--green)}.recent-activities li.is-edit .recent-activities__icon{color:var(--gold);background:#c6a15b24}.recent-activities li.is-audio .recent-activities__icon{background:var(--green-soft);color:var(--green)}.recent-activities__body{min-width:0}.recent-activities__body strong{font-size:14px;font-weight:650;display:block}.recent-activities__body span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:13px;display:block;overflow:hidden}.recent-activities__body em{color:var(--ink-soft);font-style:normal}.recent-activities time{color:var(--muted);white-space:nowrap;font-size:12px}@media (width<=640px){.recent-activities li{grid-template-columns:36px 1fr}.recent-activities time{grid-column:2;margin-top:-4px}}.category-badge{color:#fff;white-space:nowrap;background:#1b7a4a;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:650;display:inline-flex}[data-theme=dark] .category-badge{color:#111;background:#fff}.repeats-menu{z-index:50;border:1px solid var(--line);background:var(--surface);min-width:64px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:1px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;right:0}.repeats-menu button{height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:13px;font-weight:600}.repeats-menu button:hover,.repeats-menu button.is-on{background:var(--chip);color:var(--ink)}.roster{margin-top:28px}.roster header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.roster header h2{margin:0;font-size:22px}.roster header span{color:var(--muted);font-size:13px}.roster__table{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:auto}.roster table,.ledger table,.grade table{border-collapse:collapse;width:100%}.roster th,.roster td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px 16px}.roster th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.roster td strong,.roster td span{text-align:left;display:block}.roster td span{color:var(--muted);margin-top:2px;font-size:12px}.roster tbody tr{cursor:pointer}.roster tbody tr:hover{background:var(--chip)}.ledger{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden}.ledger__bar{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;display:flex}.ledger__bar button{width:32px;height:32px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.ledger__bar svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:16px;height:16px}.ledger th,.ledger td{text-align:left;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;padding:12px 14px;font-weight:450}.ledger th{color:var(--muted);font-size:12px;font-weight:500}.ledger tr:last-child td{border-bottom:0}.ledger td small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.grade{background:var(--surface);width:min(920px,100%);padding:18px}.grade header{justify-content:space-between;align-items:center;display:flex}.grade__legend{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.grade__legend span{border-radius:999px;padding:4px 10px;font-size:12px}.grade__scroll{overflow:auto}.grade th,.grade td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}.grade td{text-align:center;font-weight:650}.grade td:first-child,.grade th:first-child{text-align:left}:is(.grade-sheet,.studio-modal:has(.ledger)){width:min(860px,100%)}.heat-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:0 2px 12px;font-size:12px;display:flex}.heat-legend span{align-items:center;gap:6px;display:inline-flex}.heat-legend i{background:currentColor;border-radius:50%;width:6px;height:6px}.ledger td.is-cold,.heat-legend .is-cold{color:var(--heat-cold)}.ledger td.is-warm,.heat-legend .is-warm{color:var(--heat-warm)}.ledger td.is-hot,.heat-legend .is-hot{color:var(--heat-hot)}.ledger td.is-peak,.heat-legend .is-peak{color:var(--heat-peak)}.ledger td.is-peak{font-weight:650}.is-cold{color:#6f9bb5;background:#5a96b829}.is-warm{color:var(--gold);background:#c6a15b24}.is-hot{color:var(--green);background:var(--green-soft)}.is-peak{color:#c47b74;background:#c47b7424}.studio-modal{border:1px solid var(--line);background:var(--surface);width:min(520px,100%);color:var(--ink);box-shadow:var(--shadow);border-radius:22px;overflow:hidden}.studio-modal header,.studio-modal footer{justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.studio-modal header{border-bottom:1px solid var(--line)}.studio-modal header strong{font-size:16px}.studio-modal header p,.studio-note{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.studio-modal footer{border-top:1px solid var(--line)}.studio-modal .studio-body{flex-direction:column;gap:18px;padding:22px 22px 18px;display:flex}.studio-modal .studio-body label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:8px;font-size:12px;display:flex}.studio-modal .studio-body textarea{border:1px solid var(--line-strong);background:var(--input);min-height:96px;color:var(--ink);text-transform:none;letter-spacing:0;resize:vertical;border-radius:10px;padding:10px 12px;font-size:15px}.studio-modal .cover-field input[type=file]{text-transform:none;letter-spacing:0;background:0 0;border:0;height:auto;padding:0;font-size:13px}.studio-modal .studio-body input[type=text],.studio-modal .studio-body input[type=date],.studio-modal .studio-body input[type=time],.studio-modal .studio-body input[type=search],.studio-modal .studio-body select{border:1px solid var(--line-strong);background:var(--input);height:44px;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:10px;padding:0 12px;font-size:15px}.studio-modal .studio-body form{flex-direction:column;gap:18px;display:flex}.studio-actions{gap:8px;display:flex}.btn-primary,.btn-secondary,.btn-ghost{border-radius:10px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg);border:0}.btn-secondary{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.btn-ghost{color:var(--muted);background:0 0;border:0;padding:0 8px}.btn-primary svg,.btn-secondary svg,.btn-ghost svg,.icon-x svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:16px;height:16px}.icon-x{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:50%}.session-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;display:grid}.people{flex-direction:column;gap:2px;display:flex}.people label{text-transform:none;letter-spacing:0;min-height:46px;color:var(--ink);flex-direction:row;align-items:center;gap:10px;font-size:15px}.people input{appearance:none;border:1px solid var(--line-strong);background:var(--input);border-radius:5px;width:18px;height:18px;margin:0}.people input:checked{background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.2 6.4 11l6.1-6.2' fill='none' stroke='%23f6f3ec' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-color:#0000}.class-modal,.grade{background:var(--surface);width:min(640px,100%);padding:18px}.class-modal header,.grade header{justify-content:space-between;align-items:center;display:flex}.class-modal header button,.grade header button{width:36px;height:36px;color:var(--ink);background:0 0;border:0;border-radius:50%}.class-modal label,.class-modal__sessions{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:8px;margin-top:16px;font-size:12px;display:flex}.class-modal input,.class-modal__people{border:1px solid var(--line-strong);background:var(--input);color:var(--ink);border-radius:10px}.class-modal input{height:42px;padding:0 12px}.class-modal__sessions div,.class-modal__people label{align-items:center;gap:8px;display:flex}.class-modal__people{text-transform:none;letter-spacing:0;max-height:280px;color:var(--ink);margin-top:12px;padding:8px;overflow:auto}.class-modal__people small{color:var(--muted);margin-left:auto}.access-list{flex-direction:column;gap:18px;display:flex}.access-module{flex-direction:column;gap:6px;display:flex}.access-module>strong{color:var(--ink);font-size:14px;font-weight:650}.access-lesson{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0 8px 16px;display:flex}.access-lesson span{flex-direction:column;gap:2px;min-width:0;display:flex}.access-lesson small{color:var(--muted);font-size:12px}.access-lesson em{color:var(--muted);font-size:12px;font-style:normal}.toggle{flex:0 0 40px;width:40px;height:22px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle i{background:var(--line-strong);border-radius:99px;transition:background .2s;position:absolute;inset:0}.toggle i:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle input:checked+i{background:var(--green)}.toggle input:checked+i:before{transform:translate(18px)}@media (width<=860px){.preview-backdrop{align-items:end;padding:12px}.studio-modal{border-radius:18px 18px 0 0;width:100%}.studio-modal .studio-body{gap:16px;padding:18px 16px 14px}.session-row{grid-template-columns:1fr}}.category-select{position:relative}.category-select__btn{border:1px solid var(--line-strong);background:var(--input);width:100%;height:44px;color:var(--ink);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;padding:0 12px;font-size:15px;display:flex}.category-select__btn svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.8px}.category-select__menu{z-index:40;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0}.category-select__menu button{height:36px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:14px}.category-select__menu button:hover,.category-select__menu button.is-on{background:var(--chip);color:var(--ink)}.confirm-backdrop{z-index:60;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{background:var(--surface);width:min(380px,100%);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.confirm-modal header{justify-content:space-between;align-items:center;padding:18px 18px 8px;display:flex}.confirm-modal header strong{font-size:17px;font-weight:650}.confirm-modal p{color:var(--muted);margin:0;padding:6px 18px 18px;font-size:14px;line-height:1.45}.confirm-modal footer{justify-content:flex-end;gap:10px;padding:0 18px 18px;display:flex}.confirm-modal .btn-ghost{color:var(--muted);background:0 0;border:0;border-radius:10px;height:36px;padding:0 14px;font-weight:600}.confirm-modal .btn-danger{color:#fff;background:#c4473a;border:0;border-radius:10px;height:36px;padding:0 16px;font-weight:650}.confirm-modal .btn-danger:hover{background:#d45245}.confirm-modal .btn-ghost:disabled,.confirm-modal .btn-danger:disabled{opacity:.5;cursor:not-allowed}.cover-field{flex-direction:column;gap:10px;display:flex}.cover-preview{aspect-ratio:16/9;border:1px dashed var(--line-strong);background:linear-gradient(180deg, transparent, #0000002e), var(--bg-soft);width:100%;max-height:240px;color:var(--muted);letter-spacing:.04em;border-radius:14px;place-items:center;font-size:12px;display:grid;overflow:hidden}.cover-preview img{object-fit:cover;object-position:center;width:100%;height:100%}.cover-preview.is-empty{border-style:dashed}.cover-preview.is-empty:before{content:"1280 × 720"}.cover-note{color:var(--muted);text-transform:none;letter-spacing:0;margin:0;font-size:12px;line-height:1.45}.admin-material{flex-direction:column;gap:10px;max-width:420px;margin-top:20px;display:flex}.admin-material img{aspect-ratio:16/9;object-fit:cover;border-radius:16px;width:100%}.admin-material span{color:var(--muted);font-size:13px;line-height:1.45}.audio-field{flex-direction:column;gap:10px;display:flex}.audio-field input[type=file]{text-transform:none;letter-spacing:0;height:auto;color:var(--muted);background:0 0;border:0;padding:0;font-size:13px}.audio-field audio{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;outline:none;width:100%;height:40px;margin-top:4px}.audio-field audio::-webkit-media-controls-panel{background:var(--bg-soft);border-radius:10px}.audio-field .cover-note{margin:0}.audio-field:not(:has(audio)) input[type=file]{border:1px dashed var(--line-strong);background:var(--bg-soft);color:var(--ink-soft);cursor:pointer;border-radius:12px;padding:12px 14px;transition:border-color .15s,background .15s}.audio-field:not(:has(audio)) input[type=file]:hover{border-color:var(--gold);background:var(--chip)}@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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
