@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap";.feedback-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.feedback-dock{position:fixed;right:20px;bottom:20px;z-index:60;width:min(360px,calc(100vw - 24px));padding:10px 12px;border:2px solid var(--dash-blue, var(--zinc-300));border-radius:var(--radius-lg);background:var(--review-band, #fff);box-shadow:0 10px 28px #0000002e,var(--shadow-lg);color:var(--zinc-900);font-size:13px;line-height:1.4}@media(prefers-reduced-motion:no-preference){.feedback-dock{animation:feedback-dock-in .18s ease-out}}@keyframes feedback-dock-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.feedback-dock-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-dock-label{min-width:0}.feedback-dock-actions{display:flex;align-items:center;gap:2px;flex:none}.feedback-dock-vote,.feedback-dock-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--zinc-600);font:inherit;cursor:pointer}.feedback-dock-vote{background:#fff;border-color:var(--review-band-line, var(--zinc-300));color:var(--dash-blue-strong, var(--zinc-800))}.feedback-dock-close{font-size:20px;line-height:1;margin-left:2px}.feedback-dock-vote:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--dash-blue);background:var(--dash-blue-soft, var(--zinc-100))}.feedback-dock-close:hover{background:#ffffffb3;color:var(--zinc-900)}.feedback-dock-vote:focus-visible,.feedback-dock-close:focus-visible,.feedback-dock-link:focus-visible,.feedback-dock-send:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.feedback-dock-vote:disabled{cursor:progress;opacity:.6}.feedback-dock-up[aria-pressed=true]{background:var(--dash-blue);border-color:var(--dash-blue);color:#fff}.feedback-dock-down[aria-pressed=true]{background:#b91c1c;border-color:#b91c1c;color:#fff}.feedback-dock-link{padding:4px 0;border:0;background:none;color:var(--dash-blue-strong);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}.feedback-dock-form{display:grid;gap:8px;margin-top:8px}.feedback-dock-form textarea,.feedback-page-form textarea{width:100%;min-height:74px;padding:8px 10px;border:1px solid var(--zinc-300);border-radius:var(--radius-md);font:inherit;font-size:13px;resize:vertical}.feedback-dock-form textarea:focus-visible,.feedback-page-form textarea:focus-visible,.feedback-page-form select:focus-visible{outline:2px solid var(--dash-blue);outline-offset:1px}.feedback-dock-form-actions{display:flex;align-items:center;gap:14px}.feedback-dock-send,.feedback-page-send{min-height:32px;padding:0 14px;border:0;border-radius:var(--radius-md);background:var(--dash-blue);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.feedback-dock-send:hover:not(:disabled),.feedback-page-send:hover:not(:disabled){background:var(--dash-blue-strong)}.feedback-dock-send:disabled,.feedback-page-send:disabled{opacity:.5;cursor:not-allowed}.feedback-dock-note{margin:6px 0 0;color:var(--zinc-700)}.feedback-dock-error{margin:6px 0 0;color:#991b1b;font-weight:500}.feedback-dock-form textarea{background:#fff}.app-sidebar-feedback{margin-top:auto;margin-bottom:12px}.app-sidebar-feedback+.app-sidebar-account{margin-top:0}.feedback-page{width:100%;max-width:680px}.feedback-page h1{font-size:28px}.feedback-page-intro{margin:6px 0 24px;color:var(--zinc-600);font-size:14px}.feedback-page-form{display:grid;gap:18px;padding:22px;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff}.feedback-page-form fieldset{margin:0;padding:0;border:0}.feedback-page-form legend,.feedback-page-form label{margin-bottom:8px;font-size:14px;font-weight:600;color:var(--zinc-800)}.feedback-page-form label{display:block}.feedback-page-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feedback-page-category{display:block;margin:0;padding:12px 14px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);cursor:pointer}.feedback-page-category:hover{border-color:var(--zinc-400)}.feedback-page-category:has(input:checked){border-color:var(--dash-blue);background:var(--dash-blue-soft)}.feedback-page-category:has(input:focus-visible){outline:2px solid var(--dash-blue);outline-offset:2px}.feedback-page-category input{position:absolute;opacity:0;pointer-events:none}.feedback-page-category strong{display:block;font-size:14px}.feedback-page-category span{display:block;margin-top:2px;color:var(--zinc-600);font-size:12px;font-weight:400}.feedback-page-form textarea{min-height:140px;font-size:14px}.feedback-page-count{margin-top:6px;color:var(--zinc-500);font-size:12px;text-align:right}.feedback-page-footer{display:flex;align-items:center;gap:14px}.feedback-page-send{min-height:38px;padding:0 18px;font-size:14px}.feedback-page-status{color:var(--zinc-600);font-size:13px}.feedback-page-error{color:#b91c1c;font-size:13px}.feedback-page-thanks{padding:28px;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff}.feedback-page-thanks h2{margin:0 0 6px;font-size:20px}.feedback-page-thanks p{margin:0 0 16px;color:var(--zinc-600)}@media(max-width:640px){.feedback-dock{right:12px;bottom:12px}.feedback-page-categories{grid-template-columns:1fr}}:root{--dash-blue: #2955E0;--dash-blue-strong: #1E3FB8;--dash-blue-soft: #EBF0FE;--dash-navy: #101A33;--dash-navy-soft: #1B2A4D;--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-200: #e4e4e7;--zinc-300: #d4d4d8;--zinc-400: #a1a1aa;--zinc-500: #71717a;--zinc-600: #52525b;--zinc-700: #3f3f46;--zinc-800: #27272a;--zinc-900: #18181b;--zinc-950: #09090b;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(9, 9, 11, .05);--shadow-md: 0 4px 6px -1px rgba(9, 9, 11, .1), 0 2px 4px -2px rgba(9, 9, 11, .05);--shadow-lg: 0 10px 15px -3px rgba(9, 9, 11, .1), 0 4px 6px -4px rgba(9, 9, 11, .05);--shadow-float: 0 20px 25px -5px rgba(41, 85, 224, .1), 0 8px 10px -6px rgba(41, 85, 224, .05)}*{box-sizing:border-box}body{margin:0;font-family:Geist,system-ui,-apple-system,sans-serif;background:var(--zinc-50);color:var(--zinc-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--zinc-950)}p{margin:0;line-height:1.5}button{font-family:inherit;transition:all .15s ease}button:active:not(:disabled){transform:scale(.98)}input,textarea,select{font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--dash-blue);box-shadow:0 0 0 3px var(--dash-blue-soft)}.auth-page{max-width:400px;margin:10vh auto;padding:40px 32px;border:1px solid var(--zinc-200);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.auth-page h1{font-size:28px;margin-bottom:32px;text-align:center;letter-spacing:-.03em}.auth-tabs{display:flex;gap:8px;margin-bottom:32px;background:var(--zinc-100);padding:4px;border-radius:var(--radius-md)}.auth-tabs button{flex:1;padding:8px 12px;border:none;background:transparent;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-size:14px;font-weight:500;color:var(--zinc-600)}.auth-tabs button.active{background:#fff;color:var(--zinc-950);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--zinc-700)}.auth-form input{padding:10px 12px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);font-size:15px;background:var(--zinc-50)}.auth-form input:hover{border-color:var(--zinc-300)}.auth-form button[type=submit]{margin-top:8px;padding:12px;border:none;border-radius:var(--radius-md);background:var(--dash-blue);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}.auth-form button[type=submit]:hover:not(:disabled){background:var(--dash-blue-strong)}.auth-form button[type=submit]:disabled{background:var(--zinc-200);color:var(--zinc-400);cursor:not-allowed}.auth-error{color:#ef4444;font-size:13px;font-weight:500;margin:0}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--zinc-400);font-size:13px;margin:24px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--zinc-200)}.auth-divider:not(:empty):before{margin-right:12px}.auth-divider:not(:empty):after{margin-left:12px}.auth-google-btn{width:100%;padding:12px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-800);font-size:15px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;gap:12px}.auth-google-btn:hover{background:var(--zinc-50)}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;min-width:0;max-width:1024px;margin:0 auto;padding:48px 40px 80px}.app-sidebar{width:260px;flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--dash-blue) 9%,var(--zinc-950)) 0%,var(--zinc-950) 220px);color:var(--zinc-400);display:flex;flex-direction:column;padding:20px 14px 16px;border-right:1px solid var(--zinc-800);position:sticky;top:0;height:100vh}.app-sidebar-nav{display:flex;flex-direction:column;gap:4px}.app-sidebar-workspace{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:6px;padding:10px;border:1px solid var(--zinc-800);border-radius:var(--radius-lg);background:#ffffff08;color:var(--zinc-100);text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.app-sidebar-workspace:hover,.app-sidebar-workspace-active{background:#ffffff12;border-color:var(--zinc-700)}.app-sidebar-workspace:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.app-sidebar-workspace-text{display:flex;flex-direction:column;min-width:0;gap:2px}.app-sidebar-workspace-label{color:var(--zinc-500);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.app-sidebar-workspace-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.workspace-avatar{display:inline-flex;flex:none;width:44px;height:44px;padding:3px;border-radius:50%;background:conic-gradient(var(--dash-blue) var(--credit-progress, 0%),var(--zinc-700) 0)}.workspace-avatar-image{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;border:2px solid var(--zinc-950);border-radius:50%;background:var(--zinc-800);color:#fff;font-weight:700;font-size:17px}.workspace-avatar-image img{width:100%;height:100%;object-fit:cover}.workspace-avatar-large{width:72px;height:72px}.workspace-avatar-large .workspace-avatar-image{border-color:#fff;font-size:28px}.workspace-page h1{margin:0 0 32px;font-size:28px;letter-spacing:-.03em}.workspace-page-card{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff}.workspace-page-card h2{margin:0 0 6px;font-size:20px}.workspace-page-card p{margin:0;color:var(--zinc-500);font-size:14px}.workspace-image-button{display:inline-flex;flex:none;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.workspace-image-button:hover .workspace-avatar{filter:brightness(1.18)}.workspace-image-button:focus-visible,.workspace-change-image:focus-visible{outline:2px solid var(--dash-blue);outline-offset:3px}.workspace-change-image{margin:0 0 12px;padding:0;border:0;background:transparent;color:var(--dash-blue);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.workspace-change-image:disabled,.workspace-image-button:disabled{opacity:.6;cursor:wait}.workspace-page-card .auth-error{margin-top:10px;color:#b91c1c}.workspace-name-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-name-line button,.workspace-name-form button{border:1px solid var(--zinc-300);border-radius:var(--radius-md);padding:7px 10px;background:#fff;color:var(--dash-blue-strong);font:inherit;font-size:13px;cursor:pointer}.workspace-name-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:10px}.workspace-name-form label{width:100%;color:var(--zinc-600);font-size:13px}.workspace-name-form input{min-height:35px;padding:6px 10px;border:1px solid var(--zinc-300);border-radius:var(--radius-md);font:inherit}.workspace-chooser{max-width:620px;margin:7vh auto}.workspace-chooser-list{display:grid;gap:10px;margin:20px 0}.workspace-chooser-list a{display:block;padding:16px 18px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-900);text-decoration:none;font-weight:600}.workspace-chooser-list a:hover{border-color:var(--dash-blue);color:var(--dash-blue-strong)}.app-sidebar-switch{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:7px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--zinc-500);font:inherit;font-size:12.5px;font-weight:500;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-sidebar-switch .app-sidebar-item-icon{width:15px;height:15px}.app-sidebar-switch:hover{background:#ffffff0f;color:var(--zinc-200)}.app-sidebar-switch:focus-visible{outline:2px solid var(--dash-blue);outline-offset:1px}.app-sidebar-section{margin:14px 12px 4px;color:var(--zinc-600);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.app-sidebar-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--zinc-400);text-decoration:none;font-size:14px;font-weight:500;transition:background-color .15s ease,color .15s ease}.app-sidebar-item:focus-visible{outline:2px solid var(--dash-blue);outline-offset:1px}.app-sidebar-item-icon{flex-shrink:0;width:18px;height:18px}.app-sidebar-item:hover{background:#ffffff0f;color:var(--zinc-100)}.media-page{width:100%}.media-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px}.media-heading h1{font-size:28px}.media-heading p{margin-top:6px;color:var(--zinc-600);font-size:14px}.media-count{flex:none;padding:7px 11px;border-radius:999px;background:var(--dash-blue-soft);color:var(--dash-blue-strong);font-size:12px;font-weight:600}.media-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.media-kind{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--zinc-100)}.media-kind button{padding:8px 14px;border:0;border-radius:7px;background:transparent;color:var(--zinc-600);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.media-kind button:hover{color:var(--zinc-950)}.media-kind .media-kind-active{background:#fff;color:var(--dash-blue-strong);box-shadow:var(--shadow-sm)}.media-filters{display:flex;flex-wrap:wrap;gap:8px}.media-filters select,.media-search{height:38px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-800);font:inherit;font-size:13px}.media-filters select{max-width:180px;padding:0 10px;cursor:pointer}.media-search{display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--zinc-500)}.media-search input{width:145px;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13px}.media-kind button:focus-visible,.media-filters select:focus-visible,.media-search:focus-within,.media-card-bottom button:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.media-error{margin-bottom:16px}.media-empty{padding:60px 20px;border:1px dashed var(--zinc-300);border-radius:var(--radius-lg);color:var(--zinc-600);text-align:center;font-size:14px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:16px}.media-card{min-width:0;overflow:hidden;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.media-preview{display:flex;position:relative;align-items:center;justify-content:center;height:160px;overflow:hidden;background:var(--zinc-100)}.media-preview-image img{width:100%;height:100%;object-fit:contain}.media-preview-audio{flex-direction:column;gap:12px;background:var(--dash-blue-soft);color:var(--dash-blue-strong)}.media-preview-audio audio{width:calc(100% - 24px);height:32px}.media-card-info{padding:14px}.media-card-kind{color:var(--dash-blue-strong);font-size:11px;font-weight:700}.media-card h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:40px;margin:5px 0 13px;font-size:13px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.media-card-bottom{display:flex;align-items:center;gap:8px;border-top:1px solid var(--zinc-100);padding-top:9px}.media-card-bottom span{flex:1;min-width:0;overflow:hidden;color:var(--zinc-500);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.media-card-bottom button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:1px solid var(--zinc-200);border-radius:var(--radius-sm);background:#fff;color:var(--zinc-600);cursor:pointer}.media-card-bottom button:hover{border-color:var(--dash-blue);color:var(--dash-blue)}.media-show-more{display:block;margin:24px auto 0;padding:10px 18px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--dash-blue-strong);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.media-show-more:hover{border-color:var(--dash-blue)}.media-show-more:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}@media(max-width:700px){.media-toolbar,.media-filters{align-items:stretch;flex-direction:column}.media-filters select{width:100%;max-width:none}.media-search input{width:100%}.media-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:700px){.app-shell{flex-direction:column}.app-sidebar{position:static;width:100%;height:auto;padding:12px 16px}.app-sidebar-nav{flex-direction:row;align-items:center;overflow-x:auto}.app-sidebar-workspace{flex:none;max-width:185px;margin:0 8px 0 0}.app-sidebar-item{flex:none;padding:10px 12px}.app-sidebar-account{margin-top:10px}.app-sidebar-section,.app-sidebar-item-active:before{display:none}.app-sidebar-switch{flex:none;margin:0 8px 0 0;white-space:nowrap}.app-sidebar-item{white-space:nowrap}.app-main{width:100%;padding:28px 16px 64px}}.app-sidebar-item-active,.app-sidebar-item-active:hover{background:color-mix(in srgb,var(--dash-blue) 24%,transparent);color:#fff}.app-sidebar-item-active .app-sidebar-item-icon{color:color-mix(in srgb,var(--dash-blue) 45%,#fff)}.app-sidebar-item-active:before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--dash-blue)}.app-sidebar-account{margin-top:auto;padding:10px;border:1px solid var(--zinc-800);border-radius:var(--radius-lg);background:#ffffff08;display:flex;align-items:center;gap:10px}.app-sidebar-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--dash-blue);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.app-sidebar-email{flex:1;display:flex;flex-direction:column;min-width:0;line-height:1.3}.app-sidebar-email-name,.app-sidebar-email-domain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-email-name{font-size:13px;font-weight:600;color:var(--zinc-200)}.app-sidebar-email-domain{font-size:11.5px;color:var(--zinc-500)}.app-sidebar-profile{display:flex;align-items:center;flex:1;gap:10px;min-width:0;margin:-4px;padding:4px;border-radius:var(--radius-md);color:inherit;text-decoration:none;transition:background-color .15s ease}.app-sidebar-profile:hover,.app-sidebar-profile-active{background:#ffffff12}.app-sidebar-profile:focus-visible{outline:2px solid var(--dash-blue);outline-offset:1px}.app-sidebar-logout{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--zinc-500);cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-sidebar-logout:hover{background:#ffffff14;color:var(--zinc-100)}.app-sidebar-logout:focus-visible{outline:2px solid var(--dash-blue);outline-offset:1px}.onboarding{max-width:480px;margin:80px auto;padding:40px;border:1px solid var(--zinc-200);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.projects-page h1{margin:0;font-size:28px;letter-spacing:-.03em}.projects-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.projects-search-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-600);cursor:pointer}.projects-search-toggle:hover{border-color:var(--dash-blue);color:var(--dash-blue)}.projects-search-toggle:focus-visible,.projects-search button:focus-visible,.projects-search input:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.projects-search{display:flex;align-items:center;gap:10px;width:min(100%,420px);min-width:0;padding:0 10px 0 14px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-500)}.projects-search:focus-within{border-color:var(--dash-blue)}.projects-search input{min-width:0;flex:1;height:40px;border:0;outline:0;background:transparent;color:var(--zinc-900);font:inherit;font-size:14px}.projects-search input:focus-visible{outline:0}.projects-search button{border:0;background:transparent;color:var(--zinc-500);font-size:24px;line-height:1;cursor:pointer}@media(max-width:560px){.projects-page-header:has(.projects-search){flex-wrap:wrap}.projects-search{width:100%}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.project-card,.lesson-card{border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;color:inherit;text-decoration:none;transition:all .2s ease;box-shadow:var(--shadow-sm)}.project-card{display:flex;flex-direction:column;padding:16px;cursor:pointer}.project-card:hover,.lesson-card:hover{border-color:var(--dash-blue);box-shadow:var(--shadow-float);transform:translateY(-4px)}.project-card-logo{flex:none;height:120px;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius-lg) - 4px);background:var(--zinc-50);overflow:hidden}.project-card-logo img{width:100%;height:100%;object-fit:contain}.project-card-logo-boxed img{padding:12px 20px}.project-card-logo-fallback{font-size:32px;font-weight:600;color:var(--dash-blue)}.project-card-description{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--zinc-500);text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-meta{margin-top:10px;font-size:12px;font-weight:500;color:var(--zinc-400);text-align:left}.project-card-name{margin-top:16px;font-size:15px;font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-new,.lesson-card-new{align-items:center;justify-content:center;border:2px dashed var(--zinc-300);background:transparent;gap:8px;box-shadow:none}.project-card-new:hover,.lesson-card-new:hover{border-style:solid;border-color:var(--dash-blue);background:var(--dash-blue-soft);transform:none;box-shadow:none}.project-card-new-glyph{font-size:28px;font-weight:300;line-height:1;color:var(--zinc-500)}.project-card-new:hover .project-card-new-glyph,.lesson-card-new:hover .project-card-new-glyph{color:var(--dash-blue)}.project-card-new-label{font-size:14px;font-weight:500;color:var(--zinc-600)}.project-card-new:hover .project-card-new-label,.lesson-card-new:hover .project-card-new-label{color:var(--dash-blue-strong)}.project-card-new-editing{border:2px solid var(--dash-blue);background:#fff;padding:16px;cursor:default;gap:12px}.project-card-new-editing input{padding:10px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);font-size:14px;width:100%;background:var(--zinc-50)}.project-card-new-actions{display:flex;gap:8px;width:100%}.project-card-new-actions button{flex:1;padding:8px 0;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;font-size:13px;font-weight:500}.project-card-new-confirm{background:var(--dash-blue)!important;border-color:var(--dash-blue)!important;color:#fff!important;font-weight:600!important}.back-link{display:inline-flex;align-items:center;margin-bottom:24px;color:var(--zinc-500);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s ease}.back-link:hover{color:var(--zinc-900)}.project-header{display:flex;gap:24px;align-items:flex-start;margin-bottom:32px}.project-header-logo{flex-shrink:0;width:112px;height:112px;border-radius:var(--radius-lg);border:1px dashed var(--zinc-300);background:#fff;display:flex;align-items:center;justify-content:center;padding:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--zinc-500);text-align:center;transition:all .2s ease}.project-header-logo:hover{border-color:var(--dash-blue);color:var(--dash-blue);background:var(--dash-blue-soft)}.project-header-logo-filled{border-style:solid;border-color:transparent;padding:0;background:transparent;overflow:hidden}.project-header-logo-filled:hover{border-color:var(--dash-blue);background:transparent}.project-header-logo-boxed{padding:10px}.project-header-logo img{max-width:100%;max-height:100%;object-fit:contain}.project-header-logo-filled img{width:100%;height:100%}.project-header-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.project-header-name,.project-header-name-input{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}.project-header-name{cursor:pointer;width:fit-content}.project-header-name-row{display:flex;align-items:center;gap:12px}.color-swatch{width:32px;height:32px;flex-shrink:0;padding:0;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px var(--zinc-300),var(--shadow-sm);cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.color-swatch:hover,.color-swatch-open{box-shadow:0 0 0 2px var(--zinc-400),var(--shadow-sm)}.color-swatch:active{transform:scale(.95)}.color-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299}.color-panel{position:fixed;z-index:300;display:flex;flex-direction:column;gap:12px;padding:14px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-xl);box-shadow:0 18px 48px #18181b38,0 2px 6px #18181b14}.color-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.color-preset{aspect-ratio:1;padding:0;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #18181b24;cursor:pointer;transition:transform .12s ease}.color-preset-default{display:flex;align-items:center;justify-content:center}.color-preset-default svg{width:55%;height:55%}.color-preset:hover{transform:scale(1.12)}.color-preset-on{box-shadow:0 0 0 2px var(--zinc-800)}.color-area{position:relative;height:132px;border-radius:var(--radius-md);cursor:crosshair;touch-action:none}.color-hue{position:relative;height:12px;border-radius:999px;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);cursor:pointer;touch-action:none}.color-thumb{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border:3px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #18181b4d,0 2px 6px #18181b4d;pointer-events:none}.color-code{display:flex;align-items:center;gap:8px;padding:0 10px;height:34px;border:1px solid var(--zinc-200);border-radius:var(--radius-md)}.color-code:focus-within{border-color:var(--dash-blue);box-shadow:0 0 0 3px var(--dash-blue-soft)}.color-code-preview{width:16px;height:16px;flex:none;border-radius:999px;box-shadow:0 0 0 1px #18181b2e}.color-eyedropper{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;margin-right:-6px;padding:0;border:none;border-radius:6px;background:none;color:var(--zinc-500);cursor:pointer}.color-eyedropper svg{width:16px;height:16px}.color-eyedropper:hover{background:var(--zinc-100);color:var(--zinc-800)}.color-code input{flex:1;min-width:0;border:none;outline:none;background:none;font:inherit;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--zinc-900)}.project-header-name-input{padding:6px 12px;border:1px solid var(--dash-blue);border-radius:var(--radius-md);font-family:inherit;background:#fff}.project-header-notes{padding:10px 14px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);font:inherit;font-size:14px;line-height:1.5;resize:none;min-height:44px;max-width:520px;background:#fff}.project-header-notes-state{font-size:12px;color:var(--zinc-400)}.project-header-notes-state-error{color:#dc2626}.project-divider{border:none;border-top:1px solid var(--zinc-200);margin:0 0 32px}.lessons-section-title{margin:0 0 20px;font-size:20px}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;align-items:start}.lesson-card{padding:20px}.lesson-card>*+*{margin-top:16px}.lesson-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-card-header strong{flex:1;font-size:16px;font-weight:600;line-height:1.3}.lesson-card-header-actions{display:flex;align-items:center;gap:8px}.lesson-card-meta{display:flex;flex-direction:column;gap:4px}.lesson-card-description{margin:0;font-size:14px;line-height:1.5;color:var(--zinc-600);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-card-stats{margin:0;font-size:12px;font-weight:500;color:var(--zinc-400)}.lesson-menu-wrapper{position:relative}.lesson-menu-btn{background:transparent;border:none;color:var(--zinc-500);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.lesson-menu-btn:hover{background:var(--zinc-100);color:var(--zinc-900)}.lesson-menu-popover{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20;min-width:140px;display:flex;flex-direction:column;padding:4px}.lesson-menu-popover button{background:transparent;border:none;padding:8px 12px;text-align:left;font-size:13px;cursor:pointer;border-radius:var(--radius-sm);color:var(--zinc-700)}.lesson-menu-popover button:hover{background:var(--zinc-100);color:var(--zinc-900)}.lesson-menu-popover button.text-danger{color:#dc2626}.lesson-menu-popover button.text-danger:hover{background:#fef2f2}.lesson-menu-rename{padding:4px;display:flex;flex-direction:column;gap:8px}.lesson-menu-rename-input{padding:6px 8px;border:1px solid var(--zinc-200);border-radius:var(--radius-sm);font-size:13px}.lesson-menu-rename-input:focus{outline:none;border-color:var(--dash-blue)}.lesson-menu-confirm{padding:8px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--zinc-700)}.lesson-menu-popover-actions{display:flex;gap:6px}.lesson-menu-popover-actions button{flex:1;padding:6px 10px;border:1px solid var(--zinc-200);border-radius:var(--radius-sm);background:#fff;font-size:12px;font-weight:500;cursor:pointer}.lesson-menu-popover-actions button:first-child{background:var(--dash-blue);border-color:var(--dash-blue);color:#fff}.lesson-menu-popover-actions button.text-danger{background:#dc2626;border-color:#dc2626;color:#fff}.lesson-menu-error{margin:4px 4px 0;padding:6px 8px;border-radius:var(--radius-sm);background:#fef2f2;color:#991b1b;font-size:12px}.lesson-status-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--zinc-200);background:var(--zinc-100);color:var(--zinc-600);transition:all .2s ease;cursor:help;flex-shrink:0}.lesson-status-draft{background:var(--zinc-100)}.lesson-status-processing,.lesson-status-queued{background:var(--dash-blue-soft);color:var(--dash-blue-strong);border-color:#c7d3f7}.lesson-status-awaiting_review{background:#fef3c7;color:#92400e;border-color:#fde68a}.lesson-status-completed,.lesson-status-ready{background:#dcfce7;color:#166534;border-color:#bbf7d0}.lesson-status-failed{background:#fee2e2;color:#991b1b;border-color:#fecaca}.source-files-list{list-style:none;padding:0;margin:0;font-size:13px;color:var(--zinc-500)}.lesson-card input[type=file]{display:block;font-size:13px;color:var(--zinc-600)}.lesson-card input[type=file]::file-selector-button{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--zinc-200);background:var(--zinc-50);font-size:13px;font-weight:500;color:var(--zinc-700);cursor:pointer;margin-right:12px;transition:background .2s}.lesson-card input[type=file]::file-selector-button:hover{background:var(--zinc-100)}.lesson-card>button{padding:10px 16px;border:none;border-radius:var(--radius-md);background:var(--dash-blue);color:#fff;font-weight:600;font-size:14px}.review-link{display:inline-flex;align-items:center;color:var(--dash-blue);font-weight:600;font-size:14px;text-decoration:none;padding:8px 0}.review-link:hover{color:var(--dash-blue-strong);text-decoration:underline}.lesson-card-new{min-height:160px;border-radius:var(--radius-lg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#09090b66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:var(--radius-xl);padding:32px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-lg);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:20px}.modal-close{border:none;background:var(--zinc-100);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--zinc-500);cursor:pointer;transition:all .2s ease}.modal-close:hover{background:var(--zinc-200);color:var(--zinc-900)}.modal-dialog label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--zinc-700)}.modal-dialog input[type=text],.modal-dialog input[type=number]{padding:10px 12px;border:1px solid var(--zinc-200);background:var(--zinc-50)}.modal-notes{padding:10px 12px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);font:inherit;font-size:14px;background:var(--zinc-50);resize:vertical;min-height:64px}.checkbox-label{flex-direction:row!important;align-items:center;gap:10px!important;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--dash-blue)}.modal-field-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--zinc-700)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:20px;border-top:1px solid var(--zinc-100)}.modal-actions button{padding:10px 20px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;font-size:14px;font-weight:600;color:var(--zinc-700)}.modal-actions button.project-card-new-confirm{background:var(--dash-blue)!important;border-color:var(--dash-blue)!important;color:#fff!important}.dropzone{border:2px dashed var(--zinc-300);border-radius:var(--radius-lg);background:var(--zinc-50);padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;transition:all .2s ease}.dropzone:hover{border-color:var(--dash-blue);background:var(--dash-blue-soft)}.dropzone-active{border-color:var(--dash-blue);border-style:solid;background:var(--dash-blue-soft);transform:scale(1.02)}.dropzone-icon{font-size:28px;color:var(--dash-blue);margin-bottom:4px}.dropzone-text{font-size:15px;font-weight:600;color:var(--zinc-900)}.dropzone-hint{font-size:13px;color:var(--zinc-500)}.dropzone-file-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dropzone-file-list li{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-md);font-size:13px;color:var(--zinc-700)}.dropzone-file-list button{background:none;border:none;color:var(--zinc-400);font-size:18px;cursor:pointer;padding:0 4px}.dropzone-file-list button:hover{color:#ef4444}.shell-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shell-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border:2px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;cursor:pointer;transition:all .2s ease}.shell-option:hover{border-color:var(--zinc-300);background:var(--zinc-50)}.shell-option-selected{border-color:var(--dash-blue);background:var(--dash-blue-soft)}.shell-preview{width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-sm);overflow:hidden;background:var(--dash-blue-soft);display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.05)}.shell-preview-sidebar{justify-content:flex-start}.shell-preview-strip{width:32%;height:100%;background:var(--dash-blue)}.shell-preview-card-stage{background:var(--dash-blue);padding:12%}.shell-preview-card{width:100%;height:100%;border-radius:4px;background:#fff;box-shadow:var(--shadow-sm)}.shell-preview-frame{background:#fafafa;padding:10%}.shell-preview-frame-box{width:100%;height:100%;border-radius:5px;background:#fff;border:1px solid #DADADD;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.shell-preview-frame-bar{height:16%;background:var(--dash-blue-soft)}.shell-option-label{font-size:13px;font-weight:600;color:var(--zinc-700)}.review-page{--review-band: #c8d0e4;--review-band-line: #aeb9d3;--review-band-mute: #8393b8;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--review-canvas, var(--zinc-50))}.review-page-header{position:relative;flex-shrink:0;padding:10px 24px;background:var(--review-band);border-bottom:1px solid var(--review-band-line);display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);z-index:40}.review-toolbar-bar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;padding:10px 24px 2px;background:var(--review-canvas, var(--zinc-50))}.review-toolbar-bar .format-toolbar{margin-left:0;box-shadow:var(--shadow-lg)}.review-page-header h1{font-size:20px;margin:0}.review-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.review-page-header h1.review-title{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:46vw;padding:3px 8px;margin:0 -8px;border-radius:var(--radius-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.review-title svg{flex:none;color:var(--zinc-500);opacity:0;transition:opacity .15s ease}.review-title:hover,.review-title:focus-visible{background:#ffffff8c;outline:none}.review-title:hover svg,.review-title:focus-visible svg{opacity:1}.review-title-input{max-width:46vw;padding:3px 8px;margin:0 0 0 -8px;border:1.5px solid var(--dash-blue);border-radius:var(--radius-md);background:#fff;color:var(--zinc-900);font:inherit;font-size:20px;font-weight:700;outline:none;box-shadow:0 0 0 3px var(--dash-blue-soft)}.review-back-link{color:var(--zinc-600);text-decoration:none;font-size:14px;font-weight:500}.review-back-link:hover{color:var(--zinc-900)}.review-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"main" "strip";flex:1;min-height:0;position:relative}.review-strip{grid-area:strip;min-width:0;display:flex;flex-direction:column;margin:0 12px 12px;overflow:hidden;background:#fff;border:1px solid var(--review-band-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.review-strip-collapsed{justify-self:start}.review-strip-bar{display:flex;align-items:center;gap:12px;min-height:34px;padding:2px 12px}.review-strip-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--zinc-700);font-size:13px;font-weight:600;cursor:pointer}.review-strip-toggle:hover{background:var(--zinc-100)}.review-strip-count{padding:0 7px;border-radius:999px;background:var(--zinc-100);color:var(--zinc-600);font-size:11px;font-weight:600;line-height:18px}.review-strip-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dash-blue-strong);font-size:13px;font-weight:500}.review-strip-scroll{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:0 16px 12px}.review-strip-section{flex:none;display:flex;flex-direction:column;gap:6px;padding-right:20px;border-right:1px solid var(--zinc-200)}.review-strip-section:last-child{padding-right:0;border-right:none}.review-strip-section h3{max-width:260px;margin:0 0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--zinc-500)}.review-strip-cards{display:flex;align-items:stretch;gap:8px}.strip-card{position:relative;flex:none;width:156px;height:74px;display:flex;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:var(--zinc-50);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.strip-card:hover{background:#fff;border-color:var(--zinc-300)}.strip-card.active{background:var(--dash-blue-soft);border-color:var(--dash-blue);box-shadow:0 0 0 2px var(--dash-blue-soft)}.strip-card.dragging{opacity:.4}.strip-card-handle{flex:none;position:relative;width:28px;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius-md) - 1px) 0 0 calc(var(--radius-md) - 1px);background:var(--zinc-200);color:var(--zinc-600);cursor:grab;transition:background .15s ease,color .15s ease}.strip-card-handle:active{cursor:grabbing}.strip-card-handle-static{cursor:default}.strip-card.active .strip-card-handle{background:var(--dash-blue);color:#fff}.strip-card-num{font-size:12px;font-weight:700}.strip-card-grip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0}.strip-card:hover .strip-card-handle:not(.strip-card-handle-static) .strip-card-num,.strip-card.dragging .strip-card-num{opacity:0}.strip-card:hover .strip-card-grip,.strip-card.dragging .strip-card-grip{opacity:1}.strip-card-select{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 28px 8px 10px;border:none;border-radius:0 var(--radius-md) var(--radius-md) 0;background:none;font:inherit;text-align:left;cursor:pointer}.strip-card-layout{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--zinc-500)}.strip-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;font-weight:600;line-height:1.25;color:var(--zinc-800)}.strip-card.active .strip-card-title{color:var(--dash-blue-strong)}.strip-card-delete{position:absolute;top:4px;right:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:#ffffffeb;color:var(--zinc-400);opacity:0;cursor:pointer;transition:opacity .15s ease}.strip-card-delete:hover{color:#ef4444;background:#fee2e2}.strip-card:hover .strip-card-delete,.strip-card:focus-within .strip-card-delete{opacity:1}.strip-card-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:inherit;background:#fffffff7;font-size:12px;font-weight:600;color:var(--zinc-800)}.strip-card-confirm div{display:flex;gap:6px}.strip-card-confirm button{padding:3px 8px;border:1px solid var(--zinc-200);border-radius:6px;background:#fff;font-size:12px;font-weight:500;color:var(--zinc-700);cursor:pointer}.strip-card-confirm button.strip-card-confirm-yes{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.strip-dropzone-end{flex:none;width:8px;margin:0 -4px}.strip-card-add{width:112px;align-items:center;justify-content:center;border-style:dashed;border-color:var(--zinc-300);background:transparent;color:var(--zinc-600);font-size:12.5px;font-weight:500;cursor:pointer}.strip-card-add:hover{background:var(--zinc-100);color:var(--zinc-900);border-color:var(--zinc-400)}.review-layout-picker{position:fixed;width:260px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-lg);z-index:50;display:flex;flex-wrap:wrap;gap:6px}.review-layout-picker button{padding:6px 10px;border:1px solid var(--zinc-200);border-radius:999px;background:var(--zinc-50);color:var(--zinc-700);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.review-layout-picker button:hover{background:var(--zinc-100);border-color:var(--zinc-300)}.review-layout-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}button.review-layout-picker-quiz{background:var(--dash-blue-soft);color:var(--dash-blue-strong);border-color:var(--dash-blue-soft)}button.review-layout-picker-quiz:hover{border-color:var(--dash-blue)}.slide-field-group{display:flex;flex-direction:column;gap:16px}.field-with-regenerate{display:flex;gap:8px;align-items:flex-start}.slide-box{flex:1;padding:12px 16px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;font-size:15px;box-shadow:var(--shadow-sm);resize:none}.slide-item-box{background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.slide-item-remove{align-self:flex-end;background:transparent;border:none;color:#ef4444;font-size:13px;font-weight:500;cursor:pointer}.slide-item-remove:disabled{color:var(--zinc-300)}.slide-item-add{background:transparent;border:1px dashed var(--zinc-300);padding:12px;border-radius:var(--radius-md);color:var(--zinc-600);font-weight:500;cursor:pointer}.generating-view{padding:40px;max-width:800px;margin:0 auto}.generating-banner{background:var(--dash-blue-soft);color:var(--dash-blue-strong);padding:16px 20px;border-radius:var(--radius-md);font-weight:500;margin-bottom:32px;display:flex;align-items:center;gap:12px}.generating-section{margin-bottom:32px}.generating-section h3{font-size:18px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--zinc-200)}.generating-placeholder{color:var(--zinc-500);font-style:italic;font-size:14px}.generating-slide-list{padding-left:20px;color:var(--zinc-700)}.generating-slide-list li{margin-bottom:8px}.gen-main{grid-area:main;position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:20px 24px;background:var(--review-canvas, var(--zinc-50))}@media(max-width:1400px){.gen-main{padding-left:300px}}@media(max-width:860px){.gen-main{padding-left:24px}}.gen-stage{position:relative;width:min(100%,960px,calc((100vh - 360px) * 16 / 9));min-width:320px}.gen-canvas{width:100%;aspect-ratio:16 / 9;display:flex;flex-direction:column;gap:14px;padding:8% 7%;box-sizing:border-box;overflow:hidden;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.gen-canvas-title{margin:0 0 6px;max-width:70%;font-size:clamp(20px,3.2vw,38px);font-weight:800;line-height:1.15;color:var(--zinc-900);opacity:.18;animation:gen-fade-in .6s ease both}.gen-line,.gen-block,.gen-card-skeleton{display:block;border-radius:8px;background:linear-gradient(90deg,var(--zinc-100) 25%,var(--zinc-200) 37%,var(--zinc-100) 63%);background-size:400% 100%;animation:gen-shimmer 1.6s ease infinite}.gen-line{height:14px}.gen-line-title{width:62%;height:34px;margin-bottom:6px}.gen-line-heading{width:120px;height:11px;margin:3px 0 2px 2px}.gen-block{flex:1;min-height:40px;margin-top:8px}.gen-card-skeleton{border:1px solid var(--zinc-200);border-radius:var(--radius-md)}.gen-card-in{animation:gen-card-in .45s ease both}.gen-strip-label{cursor:default;pointer-events:none}.review-strip .strip-card-select{cursor:default}.gen-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 48px));display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 26px 20px;text-align:center;background:#fff;border:1px solid var(--review-band-line);border-radius:var(--radius-xl);box-shadow:0 18px 48px #18181b2e,0 2px 6px #18181b14}.gen-box strong{font-size:16px;color:var(--zinc-900)}.gen-phase{margin:0;min-height:20px;font-size:14px;font-weight:500;color:var(--dash-blue-strong);animation:gen-fade-in .5s ease both}.gen-note{margin:4px 0 0;font-size:12.5px;line-height:1.4;color:var(--zinc-500)}.gen-spinner{width:34px;height:34px;box-sizing:border-box;margin-bottom:4px;border:3px solid var(--dash-blue-soft);border-top-color:var(--dash-blue);border-radius:50%;animation:rail-spin .9s linear infinite}.gen-progress{position:relative;width:100%;height:6px;margin-top:6px;overflow:hidden;border-radius:999px;background:var(--dash-blue-soft)}.gen-progress span{display:block;height:100%;border-radius:999px;background:var(--dash-blue);transition:width .6s ease}.gen-progress-indeterminate span{width:38%;animation:gen-slide 1.3s ease-in-out infinite}@keyframes gen-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes gen-slide{0%{transform:translate(-100%)}to{transform:translate(270%)}}@keyframes gen-fade-in{0%{opacity:0;transform:translateY(4px)}}@keyframes gen-card-in{0%{opacity:0;transform:translateY(8px) scale(.97)}}@media(prefers-reduced-motion:reduce){.gen-line,.gen-block,.gen-card-skeleton,.gen-progress-indeterminate span{animation:none}}.review-main{grid-area:main;flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px 16px;overflow-y:auto;padding:16px 24px 12px;background:var(--review-canvas, var(--zinc-50))}.slide-canvas{min-height:480px;padding:48px;border:1px solid var(--zinc-200);border-radius:var(--radius-xl);background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow-sm);margin-bottom:24px}.review-slide-row{padding-left:var(--rail-pad-row, 0px);display:flex;align-items:stretch;justify-content:center;gap:24px;flex:1 1 0;min-height:0}@media(max-width:860px){.review-slide-row{flex-direction:column;flex:0 0 auto}.slide-canvas-themed{height:auto;width:100%;aspect-ratio:16 / 9}.slide-narration{width:100%;flex:0 0 auto;margin-left:0}}.slide-canvas-themed{position:relative;padding:0;overflow:hidden;min-height:0;flex:0 0 auto;margin:0}.slide-canvas-inner{position:absolute;top:0;right:0;bottom:0;left:0;container-type:inline-size}.themed-slide-iframe{position:absolute;top:0;left:0;width:1280px;height:720px;border:none;display:block;transform:scale(calc(100cqw/1280px));transform-origin:0 0}.slide-fullscreen-btn{position:absolute;bottom:12px;right:12px;z-index:10;width:32px;height:32px;border:none;border-radius:8px;background:#0000008c;color:#fff;font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease}.slide-canvas-themed:hover .slide-fullscreen-btn,.slide-canvas-themed:fullscreen .slide-fullscreen-btn{opacity:1}.slide-fullscreen-btn:hover{background:#000000bf}.slide-canvas-themed:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;background:#000;display:flex;align-items:center;justify-content:center}.slide-canvas-themed:fullscreen .slide-canvas-inner{position:static;width:100vw;height:100vh}.review-main>.review-slide-row{grid-area:1 / 1 / 2 / 4}.review-main>.slide-meta-row{grid-area:2 / 1}.review-main>.review-nav{grid-area:2 / 2}@media(max-width:860px){.review-main{display:flex;flex-direction:column}}.slide-meta-row{margin-left:var(--rail-pad-meta, 0px);display:flex;align-items:center;gap:12px}.slide-layout-badge{flex-shrink:0;padding:4px 12px;border-radius:999px;background:var(--dash-blue-soft);color:var(--dash-blue-strong);font-size:12px;font-weight:600}.slide-hero{align-items:center;text-align:center}.slide-hero-title{font-size:32px;font-weight:700;text-align:center;border:none;border-bottom:1px solid var(--zinc-200);border-radius:0;box-shadow:none;padding-bottom:8px}.slide-hero-title:focus{border-bottom-color:var(--dash-blue);box-shadow:none}.slide-hero-subtitle{text-align:center;border:none;border-bottom:1px solid var(--zinc-200);border-radius:0;color:var(--zinc-500);box-shadow:none;padding-bottom:8px}.slide-hero-subtitle:focus{border-bottom-color:var(--dash-blue);box-shadow:none}.slide-items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.slide-quote-box{border-left:4px solid var(--dash-blue);font-style:italic}.slide-photo-note{margin:0;padding:12px 16px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:var(--zinc-50);font-size:13px;color:var(--zinc-600)}.slide-bullet-row{display:flex;align-items:center;gap:12px}.slide-bullet-row .slide-item-remove{font-size:18px;padding:4px 8px}.slide-narration{position:absolute;top:64px;right:12px;z-index:30;width:400px;height:380px;max-height:calc(100% - 224px);min-height:0;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px;background:#fff;border:1px solid var(--review-band-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.slide-narration-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.slide-narration-head label{flex:1;min-width:0}.slide-narration-vlabel{display:none}.slide-narration-collapsed{width:52px;height:auto;align-items:center;padding:10px 0 14px}.slide-narration-collapsed>:not(.slide-narration-head){display:none}.slide-narration-collapsed .slide-narration-head{flex-direction:column;gap:14px}.slide-narration-collapsed .slide-narration-head label,.slide-narration-collapsed .regenerate-wrap,.slide-narration-collapsed .narration-audio-regenerate-wrap{display:none}.slide-narration-collapsed .slide-narration-vlabel{display:block;order:2;writing-mode:vertical-rl;font-size:13px;font-weight:700;color:var(--zinc-800)}@media(max-width:860px){.review-slide-row .slide-narration{position:static;width:100%;height:320px;max-height:none}.review-slide-row .slide-narration-collapsed{width:52px;height:auto}}.field-with-regenerate-tall{flex:1;min-height:0;align-items:stretch}.field-with-regenerate-tall .slide-box{height:100%;min-height:0;resize:none}.slide-narration label{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--zinc-900)}.narration-counter{position:absolute;right:12px;bottom:8px;padding:0 4px;border-radius:4px;background:#ffffffe6;font-size:12px;font-weight:500;color:var(--zinc-500);font-variant-numeric:tabular-nums;pointer-events:none}.narration-box{position:relative;flex:1;display:flex;min-width:0;min-height:0}.narration-box .slide-box{flex:1;padding-bottom:28px}.narration-counter-full{color:#dc2626;font-weight:600}.slide-narration-empty{height:auto;align-items:flex-start}.slide-narration-empty-text{margin:0;font-size:14px;line-height:1.45;color:var(--zinc-600)}.slide-narration-empty.slide-narration-collapsed .slide-narration-empty-text,.slide-narration-empty.slide-narration-collapsed>.regen-btn{display:none}.review-nav{display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;font-weight:500;color:var(--zinc-500)}.review-nav button{padding:8px 16px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;cursor:pointer;color:var(--zinc-700);font-weight:600;box-shadow:var(--shadow-sm)}.review-nav button:disabled{color:var(--zinc-400);cursor:not-allowed;box-shadow:none;background:var(--zinc-50)}.review-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.format-toolbar{flex-shrink:0;margin-left:auto;display:flex;align-items:center;gap:2px;padding:4px 6px;border:1px solid var(--review-band-line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.format-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--zinc-800);font-size:15px;cursor:pointer}.format-btn:hover:not(:disabled){background:var(--zinc-100)}.format-btn-active{background:var(--dash-blue-soft);color:var(--dash-blue-strong)}.format-btn:disabled{color:var(--zinc-300);cursor:not-allowed}.history-btn:not(:disabled){color:var(--dash-blue)}.history-btn:hover:not(:disabled){background:var(--dash-blue-soft)}.format-color{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer}.format-color:hover:not(.format-color-disabled){background:var(--zinc-100)}.format-color-disabled{cursor:not-allowed;opacity:.4}.format-color-glyph{font-size:15px;font-weight:700;line-height:1;padding-bottom:2px;border-bottom:3px solid var(--zinc-400);color:var(--zinc-800)}.format-color input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.format-color input[type=color]:disabled{cursor:not-allowed}.format-sep{width:1px;height:20px;margin:0 4px;background:var(--zinc-200)}.format-size{height:32px;padding:0 6px;border:1px solid var(--zinc-200);border-radius:6px;background:#fff;font:inherit;font-size:13px;color:var(--zinc-800)}.format-size:disabled{color:var(--zinc-300)}.regenerate-wrap{position:relative;display:inline-flex}.regen-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--zinc-200);border-radius:999px;background:#fff;color:var(--dash-blue-strong);font-size:12.5px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease}.regen-btn svg{width:14px;height:14px}.regen-btn:hover:not(:disabled),.regen-btn-open{background:var(--dash-blue-soft);border-color:var(--dash-blue)}.regen-btn:disabled{opacity:.6;cursor:not-allowed}.regen-btn:active:not(:disabled){transform:scale(.97)}.regen-btn-muted{color:var(--zinc-700)}.regen-btn-muted:hover:not(:disabled){background:var(--zinc-50);border-color:var(--zinc-300)}.regen-btn-alert{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.regen-btn-alert:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.popover-catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299}.confirm-banner{position:fixed;z-index:300;width:300px;display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:0 12px 32px #18181b33,0 2px 6px #18181b14}.confirm-banner p{margin:0;font-size:13px;font-weight:600;color:var(--zinc-900)}.confirm-banner .confirm-banner-note{font-size:12px;font-weight:400;color:var(--zinc-500)}.confirm-banner-wide{width:340px;gap:8px}.confirm-banner-actions{display:flex;gap:8px;margin-top:4px}.regen-btn-danger{color:#b91c1c;border-color:#fecaca}.regen-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.regenerate-popover{position:absolute;top:calc(100% + 8px);right:0;width:320px;display:flex;flex-direction:column;gap:10px;padding:12px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50}.regenerate-popover-floating{position:fixed;right:auto;z-index:300;gap:12px;padding:14px;border-color:var(--dash-blue);box-shadow:0 0 0 4px var(--dash-blue-soft),0 18px 48px #18181b59}.regenerate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299}.regenerate-backdrop-dim{background:#18181b66}.regenerate-spotlight{position:fixed;z-index:299;pointer-events:none;border-radius:12px;box-shadow:0 0 0 2px var(--dash-blue),0 0 0 9999px #18181b66}.regen-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.regen-title{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--dash-blue-strong)}.regen-title svg{width:15px;height:15px}.regen-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--zinc-500);cursor:pointer}.regen-close svg{width:16px;height:16px}.regen-close:hover:not(:disabled){background:var(--zinc-100);color:var(--zinc-800)}.regen-close:disabled{opacity:.4;cursor:not-allowed}.regenerate-popover-above{transform:translateY(-100%)}.regen-chips{display:flex;flex-wrap:wrap;gap:6px}.regen-chips button{padding:5px 10px;border:1px solid var(--zinc-200);border-radius:999px;background:var(--zinc-50);color:var(--zinc-700);font-size:12px;font-weight:500;cursor:pointer}.regen-chips button:hover:not(:disabled){background:var(--dash-blue-soft);border-color:var(--dash-blue);color:var(--dash-blue-strong)}.regen-chips button:disabled{opacity:.6;cursor:not-allowed}.regen-row{display:flex;gap:6px}.regen-input{flex:1;min-width:0;height:32px;padding:0 10px;border:1px solid var(--zinc-200);border-radius:8px;font:inherit;font-size:13px;color:var(--zinc-900)}.regen-input:focus{outline:none;border-color:var(--dash-blue);box-shadow:0 0 0 3px var(--dash-blue-soft)}.regen-go{height:32px;padding:0 12px;border:none;border-radius:8px;background:var(--dash-blue);color:#fff;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.regen-go:hover:not(:disabled){filter:brightness(1.08)}.regen-go:disabled{background:var(--zinc-200);color:var(--zinc-400);cursor:not-allowed}.regenerate-error{margin:0;font-size:12px;color:#dc2626}.narration-audio-regenerate-wrap{position:relative;display:inline-flex}.narration-audio-regenerate-wrap .regenerate-error{position:absolute;top:calc(100% + 4px);right:0;white-space:nowrap}.lesson-color{display:inline-flex;align-items:center;gap:8px}.save-indicator{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:2px;border-radius:999px;background:#fff;border:1px solid var(--review-band-line);color:var(--dash-blue);cursor:default}.save-indicator-error{color:#dc2626;border-color:#fecaca;background:#fef2f2}.save-spinner{width:16px;height:16px;box-sizing:border-box;border:2px solid var(--dash-blue-soft);border-top-color:var(--dash-blue);border-radius:50%;animation:rail-spin .8s linear infinite}.review-header-actions button{padding:8px 14px;border:1px solid var(--review-band-line);border-radius:var(--radius-md);background:#fff;cursor:pointer;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);white-space:nowrap}.review-approve-btn{background:var(--dash-blue)!important;color:#fff!important;border-color:var(--dash-blue)!important}.review-approve-btn:disabled{background:var(--zinc-300)!important;border-color:var(--zinc-300)!important;cursor:not-allowed}.quiz-regenerate-confirm{position:relative;display:inline-flex;align-items:center;gap:8px}.quiz-regenerate-note{position:absolute;top:calc(100% + 2px);left:0;font-size:11px;line-height:1.2;white-space:nowrap;color:var(--zinc-700)}.export-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299;background:#18181b66}.export-panel{position:fixed;z-index:300;top:50%;left:50%;transform:translate(-50%,-50%);width:min(660px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:22px 24px 24px;background:#fff;border-radius:var(--radius-xl);box-shadow:0 24px 64px #18181b4d,0 2px 8px #18181b1a}.export-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-panel-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:700;color:var(--zinc-900)}.export-panel-head h2 svg{color:var(--dash-blue)}.export-panel-lead{margin:-8px 0 2px;font-size:13.5px;color:var(--zinc-500)}.export-rows{display:flex;flex-direction:column;gap:10px}.export-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 16px;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;transition:border-color .15s ease,background .15s ease}.export-row:hover:not(.export-row-blocked){border-color:var(--zinc-300)}.export-row-working{border-color:var(--dash-blue);background:var(--dash-blue-soft)}.export-row-blocked{background:var(--zinc-50)}.export-row-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--dash-blue-soft);color:var(--dash-blue)}.export-row-blocked .export-row-icon{background:var(--zinc-100);color:var(--zinc-400)}.export-row-body{min-width:0}.export-row-title{display:flex;align-items:center;gap:8px}.export-row-title strong{font-size:15px;color:var(--zinc-900)}.export-row-text{margin:2px 0 0;font-size:13px;line-height:1.4;color:var(--zinc-500)}.export-row-progress{position:relative;display:block;height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:#fff}.export-row-progress>span{display:block;height:100%;border-radius:999px;background:var(--dash-blue);transition:width .4s ease}.export-row-progress-indeterminate>span{width:38%;animation:gen-slide 1.3s ease-in-out infinite}.export-row-action{display:inline-flex;align-items:center;align-self:center;gap:8px;padding:9px 16px;border:none;border-radius:var(--radius-md);background:var(--dash-blue);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}.export-row-action:hover:not(:disabled){filter:brightness(1.08)}.export-row-action:disabled{background:var(--zinc-200);color:var(--zinc-400);cursor:not-allowed}.export-row-working .export-row-action:disabled{background:#fff;color:var(--dash-blue)}.export-btn-spinner{width:14px;height:14px;border-color:#ffffff59;border-top-color:#fff}@media(max-width:560px){.export-row{grid-template-columns:46px minmax(0,1fr)}.export-row-action{grid-column:1 / -1;justify-content:center}}.export-report{margin:12px 0 0;padding:10px 12px 6px;border:none;border-radius:var(--radius-md);background:var(--zinc-50)}.export-report:disabled{opacity:.6}.export-report legend{padding:0;margin-bottom:6px;float:left;width:100%;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--zinc-500)}.export-report-item{position:relative;clear:both;display:flex;align-items:flex-start;gap:10px;padding:6px 2px;cursor:pointer}.export-report-item input{position:absolute;opacity:0;width:0;height:0}.export-report-box{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;border:1.5px solid var(--zinc-300);border-radius:5px;background:#fff;color:transparent;transition:background .12s ease,border-color .12s ease}.export-report-box svg{width:12px;height:12px}.export-report-item input:checked+.export-report-box{background:var(--dash-blue);border-color:var(--dash-blue);color:#fff}.export-report-item input:focus-visible+.export-report-box{outline:2px solid var(--dash-blue);outline-offset:2px}.export-report-text{display:flex;flex-direction:column;gap:1px;min-width:0}.export-report-text strong{font-size:13px;font-weight:600;color:var(--zinc-800)}.export-report-text span{font-size:12px;color:var(--zinc-500)}.export-report-item-off{opacity:.55;cursor:not-allowed}.export-menu-wrap{position:relative}.export-menu{position:absolute;top:calc(100% + 8px);right:0;width:300px;padding:6px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:60;display:flex;flex-direction:column;gap:2px}.review-header-actions .export-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;box-shadow:none;text-align:left;white-space:normal;font-weight:400}.review-header-actions .export-menu-item .export-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.export-state{display:inline-flex;flex:none}.review-header-actions .export-menu-item strong{font-size:14px;color:var(--zinc-900)}.review-header-actions .export-menu-item span{font-size:12px;color:var(--zinc-500)}.review-header-actions .export-menu-item:hover:not(:disabled){background:var(--zinc-100)}.review-header-actions .export-menu-item:disabled{opacity:.5;cursor:not-allowed}.review-header-actions .export-menu-item.export-menu-item-working:disabled{opacity:1;cursor:progress}.review-header-actions .export-menu-item .export-progress{position:relative;display:block;width:100%;height:8px;margin-top:8px;border-radius:999px;background:var(--zinc-200);overflow:hidden}.review-header-actions .export-menu-item .export-progress-fill{display:block;height:100%;background:var(--dash-blue);transition:width .4s ease}.review-header-actions .export-menu-item .export-progress-indeterminate:after{content:"";display:block;width:35%;height:100%;border-radius:999px;background:var(--dash-blue);animation:export-progress-slide 1.2s ease-in-out infinite}@keyframes export-progress-slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:no-preference){.review-header-actions .export-menu-item .export-progress-live{animation:export-glow 2.4s ease-in-out infinite}.review-header-actions .export-menu-item .export-progress-fill{animation:export-fill-pulse 2.4s ease-in-out infinite}.review-header-actions .export-menu-item .export-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%);transform:translate(-100%);animation:export-shine 2.4s ease-in-out infinite}}.review-header-actions .export-menu-item .export-progress-fill{position:relative;overflow:hidden}@keyframes export-glow{0%,to{box-shadow:0 0 #2955e000}50%{box-shadow:0 0 5px 1px #2955e02e}}@keyframes export-fill-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}@keyframes export-shine{0%{transform:translate(-100%)}70%,to{transform:translate(100%)}}.export-menu-error{margin:4px 8px 6px;font-size:12px;color:#dc2626}.review-rail{grid-area:main;justify-self:start;position:relative;z-index:5;align-self:start;margin:12px 0 12px 12px;max-height:calc(100% - 24px);width:264px;display:flex;flex-direction:column;gap:12px;padding:12px 14px 16px;overflow-x:hidden;overflow-y:auto;background:#fff;border:1px solid var(--review-band-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:width .2s ease}.review-rail-collapsed{width:52px;align-items:center;padding-inline:0}.review-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:4px}.review-rail-collapsed .review-rail-head{justify-content:center;padding-left:0}.review-rail-title{font-size:13px;font-weight:700;color:var(--zinc-800)}.review-rail-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--zinc-500);cursor:pointer}.review-rail-toggle:hover{background:var(--zinc-100);color:var(--zinc-800)}.review-rail-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rail-step{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px;padding-bottom:14px}.rail-step:last-child{padding-bottom:0}.review-rail-collapsed .rail-step{grid-template-columns:20px;padding-bottom:22px}.rail-step:not(:last-child):before{content:"";position:absolute;left:9px;top:24px;bottom:0;width:2px;border-radius:1px;background:var(--review-band-mute);opacity:.5}.rail-step-done:not(:last-child):before{background:var(--dash-blue);opacity:1}.rail-dot{width:20px;height:20px;margin-top:2px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:999px;border:2px solid var(--review-band-mute);background:#fff;color:#fff}.rail-step-done .rail-dot{background:var(--dash-blue);border-color:var(--dash-blue)}.rail-step-current .rail-dot{border-color:var(--dash-blue);box-shadow:0 0 0 4px var(--dash-blue-soft)}.rail-step-alert .rail-dot{background:#dc2626;border-color:#dc2626;box-shadow:0 0 0 4px #fee2e2}.rail-step-alert .rail-label{color:#b91c1c}.rail-alert{display:block;padding:7px 10px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:500;line-height:1.35}.rail-dot{position:relative}.rail-step-busy .rail-dot{border-color:var(--dash-blue);box-shadow:none}.rail-step-busy .rail-dot:before,.rail-step-busy .rail-dot:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));pointer-events:none}.rail-step-busy .rail-dot:before{background:var(--dash-blue-soft)}.rail-step-busy .rail-dot:after{background:conic-gradient(from 0deg,transparent 0 25%,var(--dash-blue) 100%);animation:rail-spin .9s linear infinite}@media(prefers-reduced-motion:no-preference){.rail-step-current:not(.rail-step-busy) .rail-dot{animation:rail-pulse 2.2s ease-in-out infinite}}@keyframes rail-spin{to{transform:rotate(360deg)}}@keyframes rail-pulse{0%,to{box-shadow:0 0 0 4px var(--dash-blue-soft)}50%{box-shadow:0 0 0 7px #2955e00f}}.rail-card{min-width:0;display:flex;flex-direction:column;gap:3px;padding:3px 10px;border:1px solid transparent;border-radius:var(--radius-md);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.rail-label{font-size:13.5px;font-weight:600;color:var(--zinc-800)}.rail-step-upcoming .rail-label{font-weight:500;color:var(--zinc-500)}.rail-hint{font-size:12px;line-height:1.3;color:var(--zinc-500)}.rail-hint.rail-hint-ok{color:#15803d;font-weight:600}.rail-step-current .rail-card{padding:9px 12px 11px;background:var(--dash-blue-soft);border-color:var(--dash-blue);box-shadow:0 0 0 3px var(--dash-blue-soft),0 6px 18px #2955e038}.rail-step-current .rail-label{font-weight:700;color:var(--dash-blue-strong)}.rail-card-clickable{cursor:pointer}.rail-card-clickable:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.rail-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:7px 12px;border-radius:var(--radius-md);background:var(--dash-blue);color:#fff;font-size:12.5px;font-weight:600;transition:filter .15s ease}.rail-card-clickable:hover .rail-cta{filter:brightness(1.1)}.rail-card-clickable:active .rail-cta{transform:scale(.97)}.rail-control{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.rail-control button:not(.regen-btn){padding:7px 12px;border:1px solid var(--review-band-line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}.rail-control button:not(.regen-btn):disabled{opacity:.6;cursor:not-allowed}.rail-control .quiz-regenerate-confirm{flex-wrap:wrap}.rail-control .quiz-regenerate-note{position:static;flex-basis:100%;white-space:normal;font-size:11.5px}@media(max-width:860px){.review-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"rail" "main" "strip"}.review-rail,.review-rail-collapsed{grid-area:rail;justify-self:stretch;width:auto;align-self:stretch;max-height:40vh;align-items:stretch;margin:8px 8px 0;padding-inline:14px}}.full-presentation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000}.full-presentation-iframe{width:100%;height:100%;border:none;display:block}.full-presentation-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;border-radius:999px;background:#ffffff26;color:#fff;font-size:20px;line-height:1;cursor:pointer}.full-presentation-close:hover{background:#ffffff4d}.modal-notes-counter{display:block;margin-top:4px;text-align:right;font-size:11px;font-weight:500;color:var(--zinc-500);font-variant-numeric:tabular-nums}.modal-notes-counter-full{color:#dc2626;font-weight:600}.costs-page{display:flex;flex-direction:column;gap:8px}.costs-page h1{margin:0 0 4px}.costs-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0 8px}.costs-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.costs-card-label{font-size:12px;font-weight:600;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.04em}.costs-card-value{font-size:26px;font-weight:700;color:var(--zinc-900);letter-spacing:-.02em}.costs-card-sub{font-size:12px;color:var(--zinc-500)}.costs-empty{padding:16px;background:var(--dash-blue-soft);border-radius:var(--radius-md);color:var(--dash-navy);font-size:14px}.costs-section{margin-top:24px}.costs-section h2{font-size:16px;margin:0 0 8px}.costs-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);font-size:13px;overflow:hidden}.costs-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--zinc-500);background:var(--zinc-50);border-bottom:1px solid var(--zinc-200)}.costs-table td{padding:10px 14px;border-bottom:1px solid var(--zinc-100);color:var(--zinc-800);vertical-align:top}.costs-table tr:last-child td{border-bottom:none}.costs-num{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.costs-row-click{cursor:pointer}.costs-row-click:hover td{background:var(--zinc-50)}.costs-chevron{display:inline-block;width:14px;color:var(--zinc-400)}.costs-row-detail td{background:var(--zinc-50)}.costs-breakdown{list-style:none;margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:4px;max-width:420px}.costs-breakdown li{display:flex;justify-content:space-between;gap:16px}.costs-notes{margin:0;padding-left:18px;font-size:13px;color:var(--zinc-600);display:flex;flex-direction:column;gap:4px}.costs-live{color:var(--zinc-400)}.costs-avg-label{display:block;font-weight:600;color:var(--zinc-900)}.costs-avg-desc{display:block;font-size:12px;color:var(--zinc-500);margin-top:2px}.costs-row-strong td{background:var(--dash-blue-soft)}.costs-page{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #7a5cc7}.timings-page{--series-6: #7a5cc7}.timings-sub{color:var(--zinc-500);padding-left:14px}.costs-charts{display:flex;flex-direction:column;gap:20px}.viz{margin:0;padding:18px 20px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.viz figcaption{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.viz figcaption strong{font-size:14px;color:var(--zinc-900)}.viz figcaption span{font-size:12px;color:var(--zinc-500)}.viz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0 0 14px;padding:0;font-size:12px;color:var(--zinc-600)}.viz-legend li{display:flex;align-items:center;gap:6px}.viz-swatch{width:10px;height:10px;border-radius:3px}.viz-bars{display:flex;flex-direction:column;gap:10px}.viz-bar-row{display:grid;grid-template-columns:minmax(110px,200px) 1fr;align-items:center;gap:12px}.viz-bar-label{font-size:12px;color:var(--zinc-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-bar-track{display:flex;align-items:center;gap:10px;min-width:0}.viz-bar-stack{display:flex;gap:2px;height:24px;min-width:4px}.viz-seg{min-width:2px;cursor:default;transition:opacity .12s}.viz-bar-stack:hover .viz-seg:not(:hover){opacity:.55}.viz-bar-value{font-size:12px;font-variant-numeric:tabular-nums;color:var(--zinc-900);white-space:nowrap}.viz-cols{display:flex;gap:10px;height:200px}.viz-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;color:var(--zinc-500);font-variant-numeric:tabular-nums;padding-bottom:22px}.viz-cols-plot{flex:1;display:flex;align-items:stretch;gap:0;border-top:1px solid var(--zinc-100);overflow-x:auto}.viz-col{flex:0 0 46px;display:flex;flex-direction:column;align-items:center}.viz-col-area{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--zinc-200)}.viz-col-stack{width:24px;display:flex;flex-direction:column-reverse;gap:2px}.viz-seg-v{min-height:2px;cursor:default}.viz-col-stack:hover .viz-seg-v:not(:hover){opacity:.55}.viz-col-label{height:22px;line-height:22px;font-size:10px;color:var(--zinc-500);white-space:nowrap}.viz-tip{position:fixed;z-index:400;display:flex;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;color:var(--zinc-800);background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:none;max-width:240px}.viz-tip b{color:var(--zinc-900)}.costs-family{display:inline-flex;gap:4px;padding:4px;margin:4px 0 8px;background:var(--zinc-100);border-radius:var(--radius-lg);align-self:flex-start}.costs-family-btn{display:inline-flex;align-items:baseline;gap:8px;padding:8px 16px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--zinc-600);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.costs-family-btn:hover{color:var(--zinc-900)}.costs-family-btn-active{background:#fff;color:var(--zinc-900);box-shadow:var(--shadow-sm)}.costs-family-count{font-size:11px;font-weight:500;color:var(--zinc-500)}.costs-stale{opacity:.55;transition:opacity .15s}.costs-compare{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:16px 20px;margin:4px 0 12px;background:var(--dash-blue-soft);border:1px solid var(--zinc-200);border-radius:var(--radius-lg)}.costs-compare>div{display:flex;flex-direction:column;gap:4px}.costs-compare-arrow{font-size:22px;color:var(--zinc-400)}.costs-switch-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.costs-token-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--zinc-600);cursor:pointer}.costs-compare-active{background:#fff;border-radius:var(--radius-md);padding:8px 12px;margin:-8px -12px;box-shadow:var(--shadow-sm)}.costs-notes{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--zinc-700);font-size:14px}.voices-scroll{overflow-x:auto}.voices-table{min-width:1000px}.voices-table td:nth-child(1){min-width:250px}.voices-table td:nth-child(2){min-width:150px}.voices-table td:last-child{min-width:190px}.modal-dialog.create-dialog{max-width:620px;padding:28px 32px 24px;gap:22px}.create-dialog .modal-header h2{font-size:22px;letter-spacing:-.03em}.create-dialog .create-field{gap:8px}.create-field-label{font-size:13px;font-weight:600;color:var(--zinc-900)}.create-dialog input[type=text],.create-dialog .modal-notes{background:#fff;font-size:15px;font-weight:400;color:var(--zinc-900)}.create-dialog input[type=text]{padding:11px 14px;font-weight:500}.create-dialog .modal-notes{padding:11px 14px;line-height:1.5}.create-dialog .modal-notes-counter{margin-top:0}.create-dialog .dropzone{padding:44px 24px;background:var(--zinc-50)}.create-dialog .dropzone:focus-visible{outline:2px solid var(--dash-blue);outline-offset:3px}.create-dialog .dropzone-active{transform:none}.create-dialog .dropzone-icon{width:52px;height:52px;padding:12px;margin-bottom:6px;border-radius:50%;background:var(--dash-blue-soft);color:var(--dash-blue)}.create-dialog .dropzone-hint{max-width:44ch;line-height:1.5}.create-dialog .dropzone-compact{flex-direction:row;justify-content:center;gap:10px;padding:12px 16px}.create-dialog .dropzone-compact .dropzone-icon{width:32px;height:32px;padding:7px;margin:0}.create-dialog .dropzone-compact .dropzone-text{font-size:14px;color:var(--dash-blue)}.create-dialog .dropzone-file-list{margin-top:10px}.create-dialog .dropzone-file-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 8px 9px 12px;background:#fff}.file-ext{min-width:38px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--zinc-100);color:var(--zinc-600);font-size:11px;font-weight:600;text-align:center}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--zinc-900);font-weight:500}.file-size{color:var(--zinc-500);font-size:12px;font-variant-numeric:tabular-nums}.create-dialog .dropzone-file-list button{width:28px;height:28px;border-radius:50%;line-height:1}.create-dialog .dropzone-file-list button:hover{background:var(--zinc-100)}.create-dialog .modal-field-label{font-size:13px;font-weight:600;color:var(--zinc-900);margin-bottom:10px}.create-dialog .shell-picker{grid-template-columns:repeat(3,1fr);gap:10px}.create-options{display:flex;flex-direction:column;gap:10px}.option-row{border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;transition:border-color .2s ease,background-color .2s ease}.option-row-on{border-color:#b4c4f5;background:#fbfcff}.option-row-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px}.option-row-text{display:flex;flex-direction:column;gap:3px;min-width:0}.option-row-title{font-size:14px;font-weight:600;color:var(--zinc-900)}.option-row-desc{max-width:46ch;font-size:13px;line-height:1.45;font-weight:400;color:var(--zinc-500)}.option-row-more{padding:2px 16px 18px;animation:optionOpen .28s cubic-bezier(.16,1,.3,1)}.image-mode{display:flex;flex-direction:column;gap:8px}.image-mode-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.image-mode-choice:hover{border-color:var(--dash-blue-soft, #b4c4f5)}.image-mode-choice-on{border-color:var(--dash-blue, #6f8cf0);background:var(--dash-blue-soft, #f4f7ff)}.image-mode-choice input{margin-top:3px;accent-color:var(--dash-blue, #3b5bdb)}.image-mode-text{display:flex;flex-direction:column;gap:2px;min-width:0}.image-mode-title{font-size:13px;font-weight:600;color:var(--zinc-900)}.image-mode-desc{font-size:12.5px;line-height:1.45;color:var(--zinc-500)}.image-mode-warning{margin-top:4px;font-size:12.5px;line-height:1.45;font-weight:600;color:#9a5b00}@keyframes optionOpen{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.switch{display:flex;flex:none;width:42px;height:26px;padding:3px;border:none;border-radius:999px;background:var(--zinc-300);cursor:pointer;transition:background-color .2s ease}.switch[aria-checked=true]{background:var(--dash-blue)}.switch-thumb{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.16,1,.3,1)}.switch[aria-checked=true] .switch-thumb{transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--dash-blue);outline-offset:3px}.duration{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--zinc-100)}.duration-label{font-size:13px;font-weight:600;color:var(--zinc-900)}.duration-stepper{display:flex;align-items:center;justify-content:center;gap:22px}.stepper-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--zinc-200);border-radius:50%;background:#fff;color:var(--zinc-900);font-size:24px;line-height:1;cursor:pointer}.stepper-btn:hover:not(:disabled){border-color:var(--dash-blue);background:var(--dash-blue-soft);color:var(--dash-blue)}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-btn:focus-visible,.stepper-value:focus-visible{outline:2px solid var(--dash-blue);outline-offset:3px}.stepper-value{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:132px;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none}.stepper-number{font-size:56px;font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--zinc-950)}.stepper-unit{font-size:16px;font-weight:500;color:var(--zinc-500)}.stepper-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}.stepper-tick{height:6px;border-radius:3px;background:var(--zinc-200);transition:background-color .2s ease}.stepper-tick-on{background:var(--dash-blue)}.stepper-scale-ends{display:flex;justify-content:space-between;margin-top:-6px;font-size:12px;color:var(--zinc-500)}.duration-hint{font-size:13px;line-height:1.5;color:var(--zinc-600);text-align:center}.create-dialog .modal-actions button.project-card-new-confirm:disabled{opacity:.45;cursor:not-allowed}@media(max-width:560px){.modal-dialog.create-dialog{padding:22px 18px 18px}.option-row-head{padding:12px}.stepper-number{font-size:46px}.duration-stepper{gap:14px}}@media(prefers-reduced-motion:reduce){.option-row-more,.modal-overlay,.modal-dialog.create-dialog,.switch-thumb,.stepper-tick{animation:none;transition:none}}.app-main-wide{max-width:1560px}.scorm-page{display:flex;flex-direction:column;gap:12px}.scorm-page h1{margin:0 0 4px}.scorm-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:240px;margin-top:8px;padding:32px;text-align:center;background:#fff;border:2px dashed var(--zinc-300);border-radius:var(--radius-xl);color:var(--zinc-600);cursor:pointer;transition:border-color .15s,background .15s}.scorm-drop strong{font-size:18px;color:var(--zinc-900)}.scorm-drop:hover,.scorm-drop-active{border-color:var(--dash-blue);background:var(--dash-blue-soft)}.scorm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.scorm-head-title{min-width:0}.scorm-head-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.scorm-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--zinc-500)}.scorm-field select{padding:8px 10px;font-size:13px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--zinc-900);background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-md);max-width:260px}.scorm-btn{padding:9px 14px;font-size:13px;font-weight:600;color:var(--zinc-800);background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-md);cursor:pointer}.scorm-btn:hover:not(:disabled){background:var(--zinc-100)}.scorm-btn:disabled{opacity:.5;cursor:default}.scorm-btn-primary{color:#fff;background:var(--dash-blue);border-color:var(--dash-blue)}.scorm-btn-primary:hover:not(:disabled){background:var(--dash-blue-strong)}.scorm-warnings{margin:0;padding:10px 14px 10px 30px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:#7a4a00;background:#fff6e0;border:1px solid #f1d9a0;border-radius:var(--radius-md)}.scorm-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:16px;align-items:start}.scorm-stage{position:sticky;top:16px;height:calc(100vh - 150px);min-height:520px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.scorm-stage iframe{width:100%;height:100%;border:0;display:block;background:#fff}.scorm-stage-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--zinc-500);font-size:14px}.scorm-panel{display:flex;flex-direction:column;gap:8px;min-width:0}.scorm-panel .costs-family{margin:0}.scorm-results{display:flex;flex-direction:column;gap:12px;min-width:0}.scorm-session{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.scorm-dot{width:10px;height:10px;border-radius:50%;background:var(--zinc-400);flex-shrink:0}.scorm-dot-good{background:#1baf7a}.scorm-dot-bad{background:#d6402a}.scorm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.scorm-card-value-sm{font-size:18px}.scorm-badge{align-self:flex-start;display:inline-block;padding:3px 10px;font-size:13px;font-weight:600;border-radius:999px;background:var(--zinc-100);color:var(--zinc-700)}.scorm-badge-good{background:#dff5ec;color:#0b6b49}.scorm-badge-bad{background:#fde5e0;color:#a2271a}.scorm-scroll{overflow-x:auto}.scorm-wrap{overflow-wrap:anywhere}.scorm-calls code,.scorm-results code{font-size:12px}.scorm-call-error td{background:#fdf0ed}.scorm-error-code{margin-top:2px;font-size:12px;font-weight:600;color:#a2271a}.scorm-marker td{background:var(--zinc-100);color:var(--zinc-600);font-size:12px;font-weight:600}.scorm-filter{padding:9px 12px;font-size:13px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff}.scorm-details{margin-bottom:6px;font-size:13px}.scorm-details summary{cursor:pointer;color:var(--zinc-700)}.scorm-details pre{margin:6px 0 0;padding:10px 12px;max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-all;font-size:12px;background:var(--zinc-100);border-radius:var(--radius-md)}.scorm-results-foot{display:flex;align-items:center;gap:12px;margin-top:4px}@media(max-width:1100px){.scorm-split{grid-template-columns:minmax(0,1fr)}.scorm-stage{position:static;height:70vh}}.images-page{display:flex;flex-direction:column;gap:16px}.images-page h1{font-size:30px}.images-page .review-hint{max-width:900px}.images-variant{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;background:var(--zinc-100);border-radius:var(--radius-md)}.images-variant button{padding:9px 16px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--zinc-700);cursor:pointer;font-size:14px;font-weight:600}.images-variant button.images-variant-active{background:var(--dash-blue);color:#fff}.images-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.images-summary>div{padding:16px 18px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.images-summary span,.images-summary strong{display:block}.images-summary span{font-size:12px;font-weight:600;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.04em}.images-summary strong{margin-top:6px;font-size:24px;color:var(--zinc-900)}.images-brief{background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg)}.images-brief summary{padding:15px 18px;cursor:pointer;font-size:14px;font-weight:600}.images-brief-content{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;padding:18px;border-top:1px solid var(--zinc-200)}.images-brief-content-full{grid-template-columns:minmax(0,1fr)}.images-brief-content p{margin:5px 0 18px;font-size:14px}.images-brief-content pre{margin:7px 0 0;padding:15px;max-height:290px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--zinc-100);border-radius:var(--radius-md);font-size:12px;line-height:1.5}.images-brief-content figure{margin:0}.images-brief-content figure img{display:block;width:100%;border:1px solid var(--zinc-200);border-radius:var(--radius-md)}.images-brief-content figcaption{margin-top:9px;font-size:12px;color:var(--zinc-600);line-height:1.45}.images-eyebrow{font-size:11px;font-weight:700;color:var(--dash-blue);letter-spacing:.06em;text-transform:uppercase}.images-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.images-toolbar h2{font-size:20px}.images-toolbar>div{display:flex;gap:8px}.images-toolbar button{padding:8px 12px;color:var(--zinc-700);background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-md);cursor:pointer;font-size:13px}.images-toolbar button.images-tool-active{color:#fff;border-color:var(--dash-blue);background:var(--dash-blue)}.images-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.images-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.images-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-height:75px;padding:15px 17px}.images-card-head h3{margin-top:4px;font-size:17px;overflow-wrap:anywhere}.images-card-head>span{font-size:12px;color:var(--zinc-500)}.images-preview{display:block;width:100%;padding:0;border:0;background:var(--zinc-50);cursor:zoom-in}.images-preview img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain}.images-missing{display:grid;place-items:center;aspect-ratio:16 / 9;color:#a2271a;background:var(--zinc-100)}.images-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--zinc-200)}.images-metrics>div{padding:12px 15px;border-right:1px solid var(--zinc-200)}.images-metrics>div:last-child{border-right:0}.images-metrics strong,.images-metrics span{display:block}.images-metrics strong{font-size:17px}.images-metrics span{margin-top:2px;font-size:11px;color:var(--zinc-500)}.images-review{padding:14px 17px 17px}.images-review>span{font-size:12px;font-weight:600}.images-stars{display:flex;gap:5px;margin:8px 0 10px}.images-stars button{width:31px;height:31px;color:var(--zinc-400);background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-sm);cursor:pointer}.images-stars button.images-star-on{color:#44300c;background:#ffbd69;border-color:#ffbd69}.images-review textarea{display:block;width:100%;min-height:55px;resize:vertical;padding:8px 10px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);font-size:13px}.images-note,.images-sources{color:var(--zinc-500);font-size:13px;line-height:1.5}.images-sources{margin-top:-8px}.images-lightbox{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:35px;background:#090e1ae0}.images-lightbox img{display:block;max-width:100%;max-height:100%;object-fit:contain}.images-lightbox button{position:absolute;top:17px;right:22px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;font-size:26px;cursor:pointer}@media(max-width:980px){.images-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.images-grid,.images-brief-content{grid-template-columns:minmax(0,1fr)}.images-brief-content figure{max-width:300px}}@media(max-width:500px){.images-toolbar{align-items:flex-start;flex-direction:column}.images-metrics>div{padding:10px 8px}.images-metrics strong{font-size:14px}}.bench-code{margin:0;padding:14px 16px;background:var(--zinc-100);border-radius:var(--radius-md);font-size:13px;overflow:auto}.bench-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-lg)}.bench-table{width:100%;border-collapse:collapse;font-size:13px}.bench-table th,.bench-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--zinc-200);white-space:nowrap}.bench-table th{font-size:11px;font-weight:700;color:var(--zinc-500);text-transform:uppercase;letter-spacing:.04em}.bench-table tr:last-child td{border-bottom:0}.bench-models{display:flex;flex-direction:column;gap:16px}.bench-frames{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;padding:0 17px 14px}.bench-frame{min-width:0;display:flex;flex-direction:column;gap:6px}.bench-frame .images-preview,.bench-frame .images-missing{border:1px solid var(--zinc-200);border-radius:var(--radius-md);overflow:hidden}.bench-frame .images-missing{padding:10px;font-size:12px;text-align:center}.bench-frame-message{margin:0;font-size:12px;color:var(--zinc-700);line-height:1.4}.bench-frame-meta{margin:0;font-size:11px;color:var(--zinc-500)}.bench-vote{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bench-vote button,.bench-vote select{padding:5px 9px;font-size:12px;background:#fff;border:1px solid var(--zinc-200);border-radius:var(--radius-sm);cursor:pointer}.bench-vote button.bench-yes{color:#fff;background:#1f7a45;border-color:#1f7a45}.bench-vote button.bench-no{color:#fff;background:#a2271a;border-color:#a2271a}.bench-vote input{flex:1 1 100%;padding:5px 8px;font-size:12px;border:1px solid var(--zinc-200);border-radius:var(--radius-sm)}.bench-approved{color:#1f7a45;font-weight:700}.bench-sequence{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 17px;border-top:1px solid var(--zinc-200);font-size:13px}.bench-sequence label{display:flex;align-items:center;gap:8px;font-weight:600}.bench-sequence select{padding:5px 9px;font-size:13px;border:1px solid var(--zinc-200);border-radius:var(--radius-sm)}.bench-sequence input{flex:1 1 220px;padding:6px 9px;font-size:13px;border:1px solid var(--zinc-200);border-radius:var(--radius-sm)}.bench-note{margin:0;padding:0 17px 14px;font-size:12px;color:var(--zinc-600);line-height:1.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.library-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin:0 0 24px}.library-tabs{display:flex;flex-wrap:wrap;gap:6px}.library-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--zinc-700);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.library-tab:hover{background:var(--zinc-100)}.library-tab-on{background:var(--dash-blue-soft);border-color:#c9d6fa;color:var(--dash-blue-strong)}.library-tab:focus-visible,.library-segment button:focus-visible,.library-order:focus-visible,.library-sort select:focus-visible{outline:2px solid var(--dash-blue);outline-offset:2px}.library-controls{display:flex;flex:1 1 auto;align-items:center;flex-wrap:wrap;gap:10px}.library-sort{flex:0 0 auto;margin-left:auto}.library-segment{display:inline-flex;padding:3px;border-radius:999px;background:var(--zinc-100)}.library-segment button{padding:6px 12px;border:none;border-radius:999px;background:transparent;color:var(--zinc-600);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.library-segment button:hover{color:var(--zinc-900)}.library-view button{display:inline-flex;align-items:center;justify-content:center;padding:6px 11px}.library-segment .library-segment-on{background:#fff;color:var(--zinc-900);box-shadow:var(--shadow-sm)}.library-sort select{padding:8px 12px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-800);font:inherit;font-size:13px;cursor:pointer}.library-order{margin-left:-6px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-600);cursor:pointer}.library-order:hover{border-color:var(--dash-blue);color:var(--dash-blue)}.library-card{position:relative}.library-card-menu{position:absolute;top:10px;right:10px;z-index:2}.library-card-menu .lesson-menu-btn{padding:6px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#ffffffeb;opacity:0;transition:opacity .15s ease}.library-card:hover .library-card-menu .lesson-menu-btn,.library-card-menu:focus-within .lesson-menu-btn,.library-card-menu .lesson-menu-btn[aria-expanded=true]{opacity:1}.library-card:has(.lesson-menu-btn[aria-expanded=true]),.lesson-card:has(.lesson-menu-btn[aria-expanded=true]){position:relative;z-index:30}.library-card-title{display:flex;align-items:center;gap:8px;margin-top:16px}.library-card-title .project-card-name{flex:1;min-width:0;margin-top:0}.library-star{display:inline-flex;flex:none;padding:2px;border:none;background:none;color:#f59e0b;cursor:pointer}.library-star-static{cursor:default}.library-lesson-thumb{flex-direction:column;gap:10px;color:var(--zinc-400)}.library-status{padding:2px 10px;border:1px solid var(--zinc-200);border-radius:999px;background:#fff;color:var(--zinc-600);font-size:11px;font-weight:600}.library-status-completed,.library-status-ready{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.library-status-awaiting_review{color:#a16207;border-color:#fde68a;background:#fffbeb}.library-status-failed{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.library-status-queued,.library-status-processing{color:var(--dash-blue-strong);border-color:#c9d6fa;background:var(--dash-blue-soft)}.library-new-row{max-width:220px;margin-bottom:16px}.library-empty{margin:24px 0;color:var(--zinc-500);font-size:14px;line-height:1.5;max-width:60ch}.library-table-wrap{border:1px solid var(--zinc-200);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.library-table{width:100%;border-collapse:collapse;font-size:14px}.library-table th{padding:10px 16px;border-bottom:1px solid var(--zinc-200);color:var(--zinc-500);font-size:12px;font-weight:500;text-align:left}.library-table td{padding:10px 16px;border-bottom:1px solid var(--zinc-100);color:var(--zinc-600);vertical-align:middle}.library-table tbody tr:last-child td{border-bottom:none}.library-table tbody tr:hover{background:var(--zinc-50)}.library-row-cell{display:flex;align-items:center;gap:8px}.library-table td+td{white-space:nowrap}.library-row-name{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--zinc-900);font-weight:600;text-decoration:none}.library-row-name:hover{color:var(--dash-blue)}.library-row-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:var(--radius-md);background:var(--dash-blue-soft);color:var(--dash-blue);font-size:13px;font-weight:700}.library-row-menu{width:48px;text-align:right}.library-row-menu .lesson-menu-wrapper{display:inline-block}.lesson-menu-popover.item-menu{min-width:270px;padding:0;text-align:left}.item-menu-header{display:flex;flex-direction:column;gap:2px;padding:14px 16px 12px;border-bottom:1px solid var(--zinc-200)}.item-menu-header strong{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--zinc-900);font-size:15px;font-weight:600}.item-menu-header span{color:var(--zinc-500);font-size:12px}.item-menu-list{display:flex;flex-direction:column;padding:6px}.lesson-menu-popover .item-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;font-size:14px}.lesson-menu-popover .item-menu-item:disabled{opacity:.55;cursor:default}.lesson-menu-popover .item-menu-item-danger,.lesson-menu-popover .item-menu-item-danger:hover{color:#dc2626}.lesson-menu-popover .item-menu-item-danger:hover{background:#fef2f2}.item-menu-divider{height:1px;margin:6px 4px;background:var(--zinc-200)}.item-menu-section,.item-menu-empty{padding:6px 10px;color:var(--zinc-500);font-size:12px}.lesson-menu-popover .item-menu-back{margin-top:4px;color:var(--zinc-500);font-size:13px}.item-menu .lesson-menu-rename,.item-menu .lesson-menu-confirm{padding:12px}.item-menu .lesson-menu-error{margin:0;padding:0 14px 12px}.lesson-row-status{display:inline-flex;align-items:center;gap:8px}.lesson-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.lesson-row-actions button,.lesson-row-upload{padding:6px 12px;border:1px solid var(--zinc-200);border-radius:var(--radius-md);background:#fff;color:var(--zinc-700);font:inherit;font-size:13px;cursor:pointer}.lesson-row-actions button:hover:not(:disabled),.lesson-row-upload:hover{border-color:var(--dash-blue);color:var(--dash-blue-strong)}.lesson-row-actions button:disabled{opacity:.5;cursor:default}.lesson-row-files{color:var(--zinc-500);font-size:13px}.lesson-row-failed{margin:0}.user-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:var(--dash-blue);color:#fff;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar-sm{width:26px;height:26px;font-size:12px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--zinc-200)}.user-avatar-md{width:34px;height:34px;font-size:14px}.user-avatar-lg{width:128px;height:128px;font-size:48px}.library-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;min-height:26px}.library-card-foot .project-card-meta{min-width:0;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-card-foot{display:flex;justify-content:flex-end}.lesson-card-linkrow{display:flex;align-items:center;justify-content:space-between;gap:12px}.creator-cell{display:inline-flex;align-items:center;gap:8px}.creator-cell .user-avatar-sm{box-shadow:none}.profile-page{max-width:880px}.profile-page h1{margin:0 0 28px;font-size:28px;letter-spacing:-.03em}.profile-section h2{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--zinc-900)}.profile-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px 56px;padding:28px 0;border-bottom:1px solid var(--zinc-200)}.profile-row:last-of-type{border-bottom:0}.profile-row-text h3{margin:0 0 4px;font-size:14.5px;font-weight:700;color:var(--zinc-900)}.profile-row-text label{display:block;cursor:pointer}.profile-row-text p{margin:0;max-width:300px;color:var(--zinc-500);font-size:13.5px;line-height:1.5}.profile-row-control{min-width:0}.profile-image-control{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.profile-image-button{position:relative;display:inline-flex;flex:none;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.profile-image-button:hover .user-avatar{filter:brightness(1.1)}.profile-image-button:focus-visible{outline:2px solid var(--dash-blue);outline-offset:3px}.profile-image-button:disabled{opacity:.6;cursor:wait}.profile-image-edit{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--zinc-200);color:var(--zinc-800);transition:background-color .15s ease}.profile-image-button:hover .profile-image-edit{background:var(--zinc-300)}.profile-input{width:100%;min-height:44px;padding:9px 14px;border:1px solid var(--zinc-300);border-radius:var(--radius-md);background:#fff;color:var(--zinc-900);font:inherit;font-size:15px}.profile-input:focus{outline:none;border-color:var(--dash-blue);box-shadow:0 0 0 3px var(--dash-blue-soft)}.profile-input:disabled{background:var(--zinc-50);color:var(--zinc-500);cursor:not-allowed}.profile-actions{display:flex;align-items:center;gap:16px;margin-top:12px}.profile-save{padding:8px 18px;border:0;border-radius:var(--radius-md);background:var(--dash-blue);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.profile-save:hover{background:var(--dash-blue-strong)}.profile-save:disabled{opacity:.6;cursor:wait}.profile-link-button{padding:0;border:0;background:transparent;color:var(--zinc-500);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.profile-link-button:hover{color:var(--zinc-900);text-decoration:underline}.profile-link-button:disabled{opacity:.6;cursor:wait}.profile-hint{color:var(--zinc-500);font-size:13px}.profile-section .auth-error{margin-top:4px;color:#b91c1c}@media(max-width:700px){.profile-row{grid-template-columns:1fr;gap:16px;padding:22px 0}}
