@charset "UTF-8";:root{--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--page-padding-x: var(--space-8);--page-padding-y: var(--space-7);--page-padding-bottom: var(--space-16);--page-max-width: 1440px;--page-max-width-form: 1200px;--page-max-width-readable: 860px;--section-gap: var(--space-8);--block-gap: var(--space-7);--stack-gap: var(--space-5);--inline-gap: var(--space-3);--field-gap: var(--space-5);--label-gap: var(--space-2);--helper-gap: var(--space-2);--card-padding: var(--space-7);--card-padding-sm: var(--space-5);--toolbar-gap: var(--space-3);--btn-gap: var(--space-3);--control-height-sm: 32px;--control-height: 40px;--control-height-lg: 48px;--control-height-touch: 44px;--control-padding-x: var(--space-5);--control-padding-x-sm: var(--space-4);--control-font-size: 14px;--control-radius: var(--cl-radius, 10px);--text-page-title: 1.75rem;--text-section: 1.25rem;--text-subsection: 1.0625rem;--text-body: .875rem;--text-label: .8125rem;--text-helper: .75rem;--text-table: .8125rem;--text-meta: .6875rem;--lh-heading: 1.25;--lh-body: 1.5;--lh-tight: 1.3;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-surface: 0 1px 3px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .03);--shadow-elevated: 0 8px 24px -6px rgba(15, 23, 42, .1), 0 4px 10px -4px rgba(15, 23, 42, .06);--z-base: 1;--z-sticky: 20;--z-dropdown: 40;--z-header: 50;--z-drawer: 70;--z-modal: 90;--z-toast: 100;--cl-info: #1d4ed8;--cl-info-bg: rgba(219, 234, 254, .75);--cl-info-border: rgba(29, 78, 216, .22);--cl-warning: #b45309;--cl-warning-bg: rgba(255, 251, 235, .9);--cl-warning-border: rgba(180, 83, 9, .25);--cl-sans: var(--cl-font)}@media(max-width:1024px){:root{--page-padding-x: var(--space-6);--page-padding-y: var(--space-6)}}@media(max-width:768px){:root{--page-padding-x: var(--space-5);--page-padding-y: var(--space-5);--page-padding-bottom: var(--space-12);--card-padding: var(--space-5);--text-page-title: 1.5rem}}:root{--cl-accent: #635bff;--cl-accent-hover: #4b42f5;--cl-accent-soft: rgba(99, 91, 255, .08);--cl-accent-glow: 0 0 24px rgba(99, 91, 255, .28);--cl-accent-gradient: linear-gradient(135deg, #635bff 0%, #4b42f5 100%);--cl-accent-cyan: #00d4ff;--cl-accent-emerald: #10b981;--cl-text: #0a2540;--cl-muted: #425466;--cl-faint: #68778d;--cl-bg: #f8f9fc;--cl-bg-mesh: none;--cl-surface: #ffffff;--cl-surface-elevated: #ffffff;--cl-surface-solid: #ffffff;--cl-border: #e2e8f0;--cl-border-light: #f1f5f9;--cl-glass-blur: none;--cl-glass-shadow: 0 1px 3px rgba(15, 23, 42, .04);--cl-glass-shadow-hover: 0 4px 12px rgba(15, 23, 42, .06);--cl-glass-highlight: none;--cl-success: #0e6245;--cl-success-bg: rgba(203, 244, 201, .7);--cl-success-border: rgba(14, 98, 69, .2);--cl-danger: #df1b41;--cl-danger-bg: rgba(255, 226, 230, .7);--cl-danger-border: rgba(223, 27, 65, .2);--cl-radius-sm: var(--radius-sm, 6px);--cl-radius: var(--radius-md, 10px);--cl-radius-lg: var(--radius-lg, 12px);--cl-radius-xl: var(--radius-xl, 16px);--cl-font: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--cl-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--cl-sans: var(--cl-font);--cl-focus: 0 0 0 3px rgba(99, 91, 255, .22), 0 1px 2px rgba(0, 0, 0, .05);--cl-top: 60px;--cl-side: 254px;--cl-side-collapsed: 72px}[data-theme=dark]{--cl-accent: #7a73ff;--cl-accent-hover: #918bff;--cl-accent-soft: rgba(122, 115, 255, .16);--cl-accent-glow: 0 0 28px rgba(122, 115, 255, .4);--cl-accent-gradient: linear-gradient(135deg, #7a73ff 0%, #635bff 100%);--cl-text: #edf2f7;--cl-muted: #a0aec0;--cl-faint: #718096;--cl-bg: #07101e;--cl-bg-mesh: none;--cl-surface: rgba(13, 26, 45, .65);--cl-surface-elevated: rgba(18, 36, 62, .85);--cl-surface-solid: #0d1e35;--cl-border: rgba(255, 255, 255, .1);--cl-border-light: rgba(255, 255, 255, .15);--cl-glass-shadow: 0 1px 3px rgba(15, 23, 42, .04);--cl-glass-shadow-hover: 0 4px 12px rgba(15, 23, 42, .06);--cl-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .14);--cl-success: #34d399;--cl-success-bg: rgba(6, 78, 59, .5);--cl-success-border: rgba(52, 211, 153, .3);--cl-danger: #f87171;--cl-danger-bg: rgba(127, 29, 29, .5);--cl-danger-border: rgba(248, 113, 113, .3)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--cl-font);font-size:14px;line-height:1.5;color:var(--cl-text);background-color:var(--cl-bg);background-image:var(--cl-bg-mesh);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}app-root{display:block;height:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--cl-focus)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#96a5b94d;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#635bff66}.field{display:block;margin:0 0 var(--field-gap)}.field>span,.field-label{display:block;font-size:var(--text-helper);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--cl-muted);margin:0 0 var(--label-gap)}.field-hint{display:block;font-size:var(--text-helper);color:var(--cl-muted);margin-top:var(--helper-gap)}.field-error{display:block;font-size:var(--text-helper);color:var(--cl-danger);margin-top:var(--helper-gap);font-weight:500}.form-row,.field-row{display:flex;gap:var(--space-4);align-items:center}input:not([type=checkbox]):not([type=radio]):not(.search):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]),select,.form-input,.form-select{display:block;width:100%;min-height:var(--control-height);height:var(--control-height);padding:0 var(--control-padding-x);border:1px solid var(--cl-border);border-radius:var(--control-radius);background:var(--cl-surface-solid);box-shadow:none;color:var(--cl-text);font-size:var(--control-font-size);font-family:inherit;line-height:var(--lh-tight);transition:all .16s cubic-bezier(.16,1,.3,1);box-sizing:border-box}textarea,.form-textarea{display:block;width:100%;min-height:calc(var(--control-height) * 2.5);height:auto;padding:var(--space-3) var(--control-padding-x);border:1px solid var(--cl-border);border-radius:var(--control-radius);background:var(--cl-surface-solid);box-shadow:none;color:var(--cl-text);font-size:var(--control-font-size);font-family:inherit;line-height:var(--lh-body);transition:all .16s cubic-bezier(.16,1,.3,1);box-sizing:border-box}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--cl-surface-elevated);border-color:var(--cl-accent);box-shadow:var(--cl-focus)}input::placeholder,textarea::placeholder{color:var(--cl-faint);opacity:.8}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background:#00000008}select,.form-select{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%2368778d' stroke-width='1.5' stroke-linecap='round' d='M3 5.5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.search-group,.search-box{position:relative;display:flex;align-items:center;width:100%}.search-group svg.search-icon,.search-box svg.search-icon{position:absolute;left:12px;width:15px;height:15px;pointer-events:none;stroke:var(--cl-faint);stroke-width:1.8;fill:none}.search-group input,.search-box input{padding-left:36px;padding-right:30px;border-radius:var(--cl-radius)}.search-group .search-clear,.search-box .search-clear{position:absolute;right:10px;background:none;border:0;color:var(--cl-faint);cursor:pointer;padding:4px;display:grid;place-items:center;border-radius:99px;font-size:14px;line-height:1}.search-group .search-clear:hover,.search-box .search-clear:hover{color:var(--cl-text);background:#0000000f}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13.5px;font-weight:500;color:var(--cl-text)}.switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0}.switch-slider{position:relative;width:40px;height:22px;background:#96a5b959;border-radius:99px;transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0;box-shadow:inset 0 1px 2px #0000001a}.switch-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000040;transition:transform .2s cubic-bezier(.16,1,.3,1)}.switch input:checked+.switch-slider{background:var(--cl-accent);box-shadow:0 0 10px #635bff66}.switch input:checked+.switch-slider:after{transform:translate(18px)}.switch input:focus-visible+.switch-slider{box-shadow:var(--cl-focus)}.switch input:disabled+.switch-slider{opacity:.45;cursor:not-allowed}.switch.disabled{cursor:not-allowed;opacity:.55}.custom-check,.custom-radio{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13.5px;color:var(--cl-text);margin:0}.custom-check input[type=checkbox],.custom-radio input[type=radio]{appearance:none;-webkit-appearance:none;width:17px;height:17px;border:1.5px solid var(--cl-border);border-radius:5px;background:var(--cl-surface);box-shadow:inset 0 1px 2px #0000000a;cursor:pointer;display:grid;place-items:center;margin:0;flex-shrink:0;transition:all .15s ease}.custom-radio input[type=radio]{border-radius:50%}.custom-check input[type=checkbox]:hover,.custom-radio input[type=radio]:hover{border-color:var(--cl-accent);background:var(--cl-surface-elevated)}.custom-check input[type=checkbox]:checked{background:var(--cl-accent);border-color:var(--cl-accent);box-shadow:0 0 8px #635bff59;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2.5 7 5.5 10 11.5 4'/%3E%3C/svg%3E");background-size:11px 11px;background-position:center;background-repeat:no-repeat}.custom-radio input[type=radio]:checked{background:var(--cl-accent);border-color:var(--cl-accent);box-shadow:0 0 8px #635bff59;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='white'%3E%3Ccircle cx='5' cy='5' r='2.5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat}.custom-check input:focus-visible,.custom-radio input:focus-visible{box-shadow:var(--cl-focus)}.custom-check input:disabled,.custom-radio input:disabled{opacity:.45;cursor:not-allowed}.btn,button.primary,button.secondary,button.outline,button.ghost,button.danger,button.link{font-family:inherit;font-weight:600;font-size:var(--control-font-size);letter-spacing:-.01em;border-radius:var(--control-radius);padding:0 var(--control-padding-x);min-height:var(--control-height);height:var(--control-height);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);line-height:1;text-decoration:none;-webkit-user-select:none;user-select:none;transition:all .18s cubic-bezier(.16,1,.3,1);border:1px solid transparent;white-space:nowrap;box-sizing:border-box}.btn:disabled,button.primary:disabled,button.secondary:disabled,button.outline:disabled,button.ghost:disabled,button.danger:disabled,button.link:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary,button.primary,a.btn-primary{background:var(--cl-accent);color:#fff!important;border-color:transparent;box-shadow:0 1px 2px #0f172a0d}.btn-primary:hover:not(:disabled),button.primary:hover:not(:disabled),a.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0f172a14;color:#fff}.btn-primary:active:not(:disabled),button.primary:active:not(:disabled),a.btn-primary:active{transform:translateY(0);box-shadow:none}.btn-secondary,button.secondary,a.btn-secondary{background:var(--cl-surface);color:var(--cl-text)!important;border-color:var(--cl-border);box-shadow:0 1px 2px #0f172a08}.btn-secondary:hover:not(:disabled),button.secondary:hover:not(:disabled),a.btn-secondary:hover{background:var(--cl-surface-solid);border-color:#635bff59;color:var(--cl-accent)!important;box-shadow:0 3px 10px #32325d14;transform:translateY(-1px)}.btn-secondary:active:not(:disabled),button.secondary:active:not(:disabled),a.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000000a}.btn-outline,button.outline,a.btn-outline{background:transparent;color:var(--cl-text);border-color:var(--cl-border)}.btn-outline:hover:not(:disabled),button.outline:hover:not(:disabled),a.btn-outline:hover{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent)}.btn-ghost,button.ghost,a.btn-ghost{background:transparent;color:var(--cl-muted);border-color:transparent}.btn-ghost:hover:not(:disabled),button.ghost:hover:not(:disabled),a.btn-ghost:hover{background:var(--cl-surface-elevated);color:var(--cl-text);border-color:var(--cl-border)}.btn-danger,.btn-destructive,button.danger,a.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff!important;border-color:transparent;box-shadow:0 4px 14px #dc262659,inset 0 1px #fff3}.btn-danger:hover:not(:disabled),.btn-destructive:hover:not(:disabled),button.danger:hover:not(:disabled),a.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 20px #dc26267a,inset 0 1px #ffffff4d}.btn-danger-outline{background:transparent;color:var(--cl-danger);border-color:var(--cl-danger-border)}.btn-danger-outline:hover:not(:disabled){background:var(--cl-danger-bg);border-color:var(--cl-danger);color:var(--cl-danger)}.btn-success,button.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent;box-shadow:0 4px 14px #10b98159}button.link,.btn-link,a.primary-link,a{color:var(--cl-accent);background:none;border:0;cursor:pointer;text-decoration:none;font-weight:500;padding:0;min-height:auto;transition:color .12s ease,opacity .12s ease}button.link:hover,.btn-link:hover,a:hover{color:var(--cl-accent-hover);text-decoration:none}a.primary-link{font-weight:600;display:inline-flex;align-items:center;gap:4px}a.primary-link:after{content:"\2192";transition:transform .15s ease}a.primary-link:hover:after{transform:translate(3px)}.btn-xs{padding:0 var(--space-3);font-size:var(--text-meta);min-height:24px;height:24px;border-radius:var(--radius-sm);gap:var(--space-2)}.btn-sm{padding:0 var(--control-padding-x-sm);font-size:var(--text-helper);min-height:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-sm);gap:var(--space-2)}.btn-md{padding:0 var(--control-padding-x);font-size:var(--control-font-size);min-height:var(--control-height);height:var(--control-height);border-radius:var(--control-radius)}.btn-lg{padding:0 var(--space-6);font-size:15px;min-height:var(--control-height-lg);height:var(--control-height-lg);border-radius:var(--radius-lg);font-weight:650;gap:var(--space-3)}.btn-group{display:inline-flex;align-items:center;border:1px solid var(--cl-border);border-radius:var(--cl-radius);background:var(--cl-surface);padding:3px;gap:2px}.btn-group .btn,.btn-group button{border:0;background:transparent;box-shadow:none;min-height:28px;padding:4px 12px;font-size:12.5px;border-radius:var(--cl-radius-sm);color:var(--cl-muted)}.btn-group .btn.active,.btn-group button.active{background:var(--cl-surface-elevated);color:var(--cl-text);font-weight:650;box-shadow:0 1px 4px #00000014}.btn-group .btn:hover:not(.active),.btn-group button:hover:not(.active){color:var(--cl-text)}.icon-btn{position:relative;display:inline-grid;place-items:center;width:var(--control-height);height:var(--control-height);min-height:var(--control-height);padding:0;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--cl-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.icon-btn:hover{background:var(--cl-surface-elevated);border-color:var(--cl-border);color:var(--cl-text);box-shadow:0 2px 8px #0000000a}.icon-btn.icon-btn-sm{width:28px;height:28px;min-height:28px;border-radius:var(--cl-radius-sm)}.icon-btn.icon-btn-sm svg{width:14px;height:14px}.icon-btn.icon-btn-lg{width:42px;height:42px;min-height:42px}.icon-btn.icon-btn-lg svg{width:20px;height:20px}.icon-btn.icon-btn-danger:hover{background:var(--cl-danger-bg);border-color:var(--cl-danger-border);color:var(--cl-danger)}.icon-btn svg{width:16px;height:16px}.icon-btn .dot{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--cl-accent);color:#fff;font-size:9.5px;font-weight:700;line-height:16px;box-shadow:0 0 8px #635bff99}.badge,.pill{display:inline-flex;align-items:center;gap:5px;background:var(--cl-surface-hover, #f1f5f9);border:1px solid var(--cl-border);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;line-height:1.4;color:var(--cl-muted);text-transform:capitalize;letter-spacing:.01em}.badge-primary,.pill.primary{background:var(--cl-accent-soft);border-color:#635bff40;color:var(--cl-accent)}.badge-success,.pill.ok,.pill.success{background:var(--cl-success-bg);border-color:var(--cl-success-border);color:var(--cl-success)}.badge-warning,.pill.warning{background:#fef3c7b3;border-color:#f59e0b4d;color:#b45309}.badge-danger,.pill.danger{background:var(--cl-danger-bg);border-color:var(--cl-danger-border);color:var(--cl-danger)}.badge-purple{background:#9333ea1a;border-color:#9333ea40;color:#9333ea}.badge-neutral{background:#64748b1a;border-color:#64748b33;color:var(--cl-muted)}app-shell{display:grid;grid-template-columns:var(--cl-side) 1fr;height:100%;max-height:100dvh;overflow:hidden;transition:grid-template-columns .24s cubic-bezier(.16,1,.3,1)}app-shell.nav-collapsed{grid-template-columns:var(--cl-side-collapsed) 1fr}.side{background:#0a2540f0;color:#adbdcc;padding:0;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;border-right:1px solid rgba(255,255,255,.08);box-shadow:4px 0 24px #00000014;z-index:var(--z-header)}.brand-block{padding:18px 14px 10px;flex:none}.brand-row{display:flex;align-items:flex-start;gap:12px}.brand-mark{flex:none;width:34px;height:34px;border-radius:9px;background:var(--cl-accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;box-shadow:0 4px 12px #635bff66}.brand-copy{min-width:0;flex:1}.side .brand{color:#fff;margin:0 0 8px;font-size:16px;font-weight:700;letter-spacing:-.03em}select.org-chip,.org-chip-static{width:100%;max-width:100%;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#c4d0dc;border:1px solid rgba(255,255,255,.12);border-radius:var(--cl-radius-sm);padding:6px 28px 6px 8px;background-color:#ffffff0f;box-shadow:none}.org-chip-static{padding:2px 4px;border:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-scroll{padding:6px 10px 18px 12px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(180,196,214,.28) transparent;scrollbar-gutter:stable}.nav-scroll::-webkit-scrollbar{width:4px}.nav-scroll::-webkit-scrollbar-track{background:transparent;margin:8px 0}.nav-scroll::-webkit-scrollbar-thumb{background:#b4c4d647;border-radius:99px}.nav-scroll::-webkit-scrollbar-thumb:hover{background:#635bff73}.nav-label{margin:18px 10px 8px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6b7c93}.side nav{display:flex;flex-direction:column;gap:3px}.side a{display:flex;align-items:center;gap:var(--space-4);color:#9aa8b8;text-decoration:none;padding:0 var(--space-4);min-height:var(--control-height);height:var(--control-height);border-radius:var(--radius);font-size:var(--control-font-size);font-weight:500;letter-spacing:-.01em;transition:all .16s cubic-bezier(.16,1,.3,1);position:relative;box-sizing:border-box}.side svg{width:18px;height:18px;fill:none;opacity:.85;transition:transform .16s ease,color .16s ease}.side a.on{background:#ffffff17;color:#fff;font-weight:600;box-shadow:none}.side a.on:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3.5px;border-radius:0 4px 4px 0;background:#635bff;box-shadow:0 0 10px #635bff}.side a.on svg{opacity:1;color:#9d98ff}.side a:hover:not(.on){background:#ffffff0d;color:#f0f4f8;transform:translate(2px)}.side-foot{flex:none;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;margin:10px 12px 14px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0d;box-shadow:0 4px 16px #0000001f}.foot-meta .name{color:#fff;font-size:13px;font-weight:600}.side .role{color:#8898aa;font-size:11.5px}.side .icon-btn.ghost{color:#8898aa;width:auto;padding:0 8px;grid-auto-flow:column;gap:6px}.side .icon-btn.ghost:hover{color:#fff;background:#ffffff14}.signout-label{font-size:12px}app-shell.nav-collapsed .brand-copy,app-shell.nav-collapsed .nav-label,app-shell.nav-collapsed .side a span,app-shell.nav-collapsed .foot-meta,app-shell.nav-collapsed .signout-label{display:none}app-shell.nav-collapsed .side a{justify-content:center;padding:10px 6px}app-shell.nav-collapsed .side a.on:before{left:2px}app-shell.nav-collapsed .side-foot{grid-template-columns:1fr;justify-items:center;margin:8px 8px 12px;padding:10px 6px}app-shell.nav-collapsed .brand-row{flex-direction:column;align-items:center}.main{min-width:0;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:transparent}.top{display:grid;grid-template-columns:minmax(140px,1fr) minmax(240px,480px) minmax(140px,1fr);align-items:center;column-gap:var(--space-5);height:var(--cl-top);flex:none;padding:0 var(--page-padding-x) 0 var(--space-5);border-bottom:1px solid var(--cl-border);background:var(--cl-surface-solid);box-shadow:0 1px 3px #00000005;position:relative;z-index:var(--z-header)}.top-left{display:flex;align-items:center;gap:12px;justify-self:start;min-width:0}.top-center{width:100%;min-width:0;justify-self:stretch}.search-wrap{position:relative;width:100%}.search-wrap svg{position:absolute;left:14px;top:50%;width:15px;height:15px;transform:translateY(-50%);fill:none;stroke:var(--cl-faint);stroke-width:1.6}.search{border:1px solid var(--cl-border);border-radius:99px;padding:8px 36px 8px 38px;width:100%;background:var(--cl-surface-elevated);box-shadow:inset 0 1px 2px #00000005,var(--cl-glass-highlight);font-size:13px;transition:border-color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.search:focus{background:var(--cl-surface-solid);border-color:var(--cl-accent);box-shadow:var(--cl-focus)}.search::placeholder{color:var(--cl-faint)}.search-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-faint);font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.search-kbd:hover{border-color:var(--cl-accent);color:var(--cl-accent)}.search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:16px;color:var(--cl-muted);cursor:pointer;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;line-height:1;transition:all .15s ease}.search-clear-btn:hover{background:var(--cl-surface);color:var(--cl-text)}.search-popover{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);width:min(580px,100vw - 32px);background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 16px 48px #0000002e,0 0 0 1px #635bff14;z-index:1050;overflow:hidden;max-height:520px;display:flex;flex-direction:column;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}.search-sections-wrap{overflow-y:auto;flex:1;padding:6px 0}.search-section{padding:4px 0}.search-section:not(:last-child){border-bottom:1px solid var(--cl-border-light)}.search-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px;font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--cl-faint)}.search-clear-all{background:transparent;border:none;font-size:11px;font-weight:600;color:var(--cl-muted);cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}.search-clear-all:hover{background:var(--cl-surface);color:var(--cl-danger)}.search-results-list{display:flex;flex-direction:column}.search-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:all .12s ease;position:relative;background:transparent;border-left:3px solid transparent;-webkit-user-select:none;user-select:none}.search-item:hover,.search-item.active{background:var(--cl-accent-soft);border-left-color:var(--cl-accent)}.search-item-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:14px;background:var(--cl-surface);border:1px solid var(--cl-border);flex-shrink:0}.search-item-icon.pages{background:#635bff1a;border-color:#635bff40;color:var(--cl-accent)}.search-item-icon.actions{background:#f59e0b1a;border-color:#f59e0b40;color:var(--cl-warning)}.search-item-icon.courses{background:#10b9811a;border-color:#10b98140;color:var(--cl-success)}.search-item-icon.labs{background:#a855f71a;border-color:#a855f740;color:#a855f7}.search-item-icon.sits{background:#3b82f61a;border-color:#3b82f640;color:#3b82f6}.search-item-icon.recent{background:var(--cl-surface);border-color:var(--cl-border);color:var(--cl-muted);font-size:13px}.search-item-content{flex:1;min-width:0}.search-item-title{font-size:13.5px;font-weight:650;color:var(--cl-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-sub{font-size:11.5px;color:var(--cl-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-hint{font-size:11px;font-weight:600;color:var(--cl-faint);padding:3px 8px;border-radius:4px;background:var(--cl-surface);border:1px solid var(--cl-border);flex-shrink:0;transition:all .15s ease}.search-item.active .search-item-hint{background:var(--cl-surface-elevated);border-color:var(--cl-accent);color:var(--cl-accent)}.search-highlight{background:#635bff33;color:var(--cl-accent);font-weight:750;border-radius:2px;padding:0 2px}.search-empty{padding:40px 24px;text-align:center;color:var(--cl-muted)}.search-empty-icon{font-size:32px;margin-bottom:8px}.search-empty-title{font-size:14px;font-weight:700;color:var(--cl-text);margin-bottom:4px}.search-empty-sub{font-size:12px;color:var(--cl-faint);margin:0;line-height:1.5}.search-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--cl-surface);border-top:1px solid var(--cl-border);font-size:11px;color:var(--cl-faint)}.search-shortcuts{display:flex;align-items:center;gap:12px}.search-shortcuts kbd{display:inline-block;padding:2px 5px;font-size:10.5px;font-family:inherit;font-weight:600;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:4px;box-shadow:0 1px 1px #0000000d;color:var(--cl-text)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;justify-self:end;min-width:0;min-height:36px}.theme-toggle-btn{display:grid;place-items:center;transition:transform .2s ease,background .2s ease}.theme-toggle-btn:hover{transform:rotate(15deg) scale(1.05)}.notification-trigger-wrap{position:relative}.badge-pulse{position:absolute;top:-3px;right:-3px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:999px;font-size:10px;font-weight:750;height:18px;min-width:18px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--cl-surface);box-shadow:0 0 10px #ef444480;animation:pulseGlow 2.5s infinite}@keyframes pulseGlow{0%{transform:scale(1);box-shadow:0 0 #ef444499}70%{transform:scale(1.06);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.notification-popover{position:absolute;top:calc(100% + 12px);right:0;width:380px;max-width:calc(100vw - 32px);background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow-hover);z-index:1000;overflow:hidden;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-popover-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface)}.notification-popover-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750;color:var(--cl-text)}.notification-list{max-height:380px;overflow-y:auto;padding:4px 0}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px 18px;border-bottom:1px solid var(--cl-border-light);cursor:pointer;transition:all .15s ease;position:relative;text-align:left;width:100%;background:transparent;border-left:3px solid transparent}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--cl-surface-elevated)}.notification-item.unread{background:var(--cl-accent-soft);border-left-color:var(--cl-accent)}.notification-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-muted);flex-shrink:0}.notification-icon.unread{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent)}.notification-content{flex:1;min-width:0}.notification-item-title{font-size:13px;font-weight:650;color:var(--cl-text);line-height:1.4;word-break:break-word}.notification-item-body{font-size:12px;color:var(--cl-muted);line-height:1.4;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:11px;color:var(--cl-faint);margin-top:4px}.notification-dot{width:7px;height:7px;border-radius:999px;background:var(--cl-accent);flex-shrink:0;margin-top:6px;box-shadow:0 0 6px var(--cl-accent)}.notification-empty{padding:36px 20px;text-align:center;color:var(--cl-faint)}.notification-empty-icon{font-size:28px;margin-bottom:8px}.notification-empty-title{font-size:14px;font-weight:700;color:var(--cl-text);margin-bottom:4px}.notification-empty-text{font-size:12px;margin:0}.header-user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border-radius:999px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);font-size:12.5px;font-weight:600}.avatar{width:28px;height:28px;border-radius:999px;background:var(--cl-accent);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;box-shadow:0 2px 8px #635bff59}.page{flex:1;min-height:0;overflow-y:auto;padding:var(--page-padding-y) var(--page-padding-x) var(--page-padding-bottom);width:100%;max-width:var(--page-max-width);margin:0 auto;box-sizing:border-box}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--block-gap);padding:var(--card-padding);background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--shadow-surface);position:relative;overflow:hidden;flex-wrap:wrap}.head:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cl-accent)}h1{font-size:var(--text-page-title);letter-spacing:-.03em;font-weight:800;margin:0 0 var(--space-2);line-height:var(--lh-heading);color:var(--cl-text)}h2{font-size:var(--text-section);font-weight:700;letter-spacing:-.015em;margin:0 0 var(--space-3);line-height:var(--lh-heading);color:var(--cl-text)}.sub{margin:0;color:var(--cl-muted);font-size:var(--text-body);line-height:var(--lh-body)}.crumb{margin:0 0 8px;font-size:12px;font-weight:600}.crumb a{text-decoration:none;color:var(--cl-muted);display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.crumb a svg{color:var(--cl-faint);transition:transform .15s ease,color .15s ease}.crumb a:hover{color:var(--cl-accent)}.crumb a:hover svg{color:var(--cl-accent);transform:translate(-2px)}.card,fieldset,.studio-grid .block,.wallet-card,.layout-card{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 1px 4px #00000005,var(--cl-glass-highlight);padding:22px 24px;transition:all .2s cubic-bezier(.16,1,.3,1)}.card:hover,.wallet-card:hover,.layout-card:hover{box-shadow:0 8px 24px #0000000f,var(--cl-glass-highlight);border-color:#635bff47}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0 0 24px;padding-bottom:0;border-bottom:0}.stat{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);padding:18px 22px;box-shadow:0 1px 4px #00000005,var(--cl-glass-highlight);transition:all .2s cubic-bezier(.16,1,.3,1)}.stat:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000f,var(--cl-glass-highlight);border-color:#635bff4d}.stat .num{display:block;font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--cl-text)}.stat .lbl{display:block;margin-top:6px;color:var(--cl-muted);font-size:12.5px;font-weight:550}.section-title{margin:24px 0 14px;font-size:11.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--cl-faint)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--cl-surface-solid);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);overflow:hidden;box-shadow:none}tbody tr{transition:background-color .15s ease}tbody tr:hover{background-color:var(--cl-surface-hover, #f8fafc)}tbody tr.selected{background-color:var(--cl-accent-soft)}td{height:48px;vertical-align:middle}td.actions-col,th.actions-col{position:sticky;right:0;background:inherit;z-index:1}th.actions-col{background:var(--cl-surface-solid)}tbody tr:hover td.actions-col{background:var(--cl-surface-hover, #f8fafc)}tbody tr.selected td.actions-col{background:var(--cl-accent-soft)}th{text-align:left;font-weight:700;color:var(--cl-faint);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:12px 18px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface)}td{padding:13px 18px;border-bottom:1px solid var(--cl-border);vertical-align:middle;font-size:13.5px;transition:background .12s ease}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--cl-accent-soft)}.pill{display:inline-flex;align-items:center;gap:5px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;color:var(--cl-muted);text-transform:capitalize}.pill.ok{background:var(--cl-success-bg);border-color:var(--cl-success-border);color:var(--cl-success)}.rows{list-style:none;margin:0;padding:0}.rows li{border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);margin-bottom:8px;border-radius:var(--cl-radius);border:1px solid var(--cl-border);box-shadow:0 1px 3px #00000005;transition:all .18s cubic-bezier(.16,1,.3,1)}.rows li:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000000d;border-color:#635bff4d}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:18px;align-items:center;padding:14px 20px;color:var(--cl-text)}.row-title{font-weight:650;color:var(--cl-text);font-size:14px}.row .pct{color:var(--cl-muted);font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.row .go{font-weight:600;color:var(--cl-accent);padding:4px 12px;border-radius:var(--cl-radius-sm);background:var(--cl-accent-soft);border:1px solid rgba(99,91,255,.2);transition:all .12s ease}.row .go:hover{background:var(--cl-accent);color:#fff;border-color:transparent}.course-detail-container{display:flex;flex-direction:column;gap:20px;max-width:1440px;margin:0 auto;width:100%}.course-hero-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 2px 12px #00000005;position:relative;overflow:hidden;flex-wrap:wrap}.course-hero-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cl-accent)}.course-header-left{display:flex;flex-direction:column;gap:8px;flex:1;min-width:280px}.course-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--cl-muted)}.course-breadcrumbs a{color:var(--cl-muted);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.course-breadcrumbs a:hover{color:var(--cl-accent)}.course-header-title{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--cl-text);margin:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.course-header-sub{font-size:14px;color:var(--cl-muted);line-height:1.5;max-width:800px;margin:0}.course-meta-pills{display:flex;align-items:center;gap:10px;margin-top:4px;flex-wrap:wrap}.course-meta-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--cl-muted);padding:4px 10px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:99px;text-wrap:nowrap}.course-meta-chip svg{color:var(--cl-faint)}.course-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;align-self:center}.player-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}@media(max-width:1024px){.player-layout{grid-template-columns:1fr}}.curriculum-nav-card{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 1px 6px #00000005;display:flex;flex-direction:column;overflow:hidden}.curriculum-nav-header{padding:16px 18px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface);display:flex;flex-direction:column;gap:10px}.curriculum-nav-header h3{margin:0;font-size:14px;font-weight:750;color:var(--cl-text);display:flex;align-items:center;gap:8px}.curriculum-progress-wrap{display:flex;flex-direction:column;gap:6px}.curriculum-progress-labels{display:flex;justify-content:space-between;font-size:11.5px;font-weight:650;color:var(--cl-muted)}.curriculum-progress-bar{height:6px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:99px;overflow:hidden}.curriculum-progress-bar span{display:block;height:100%;background:var(--cl-accent);border-radius:99px;transition:width .3s ease}.curriculum-nav-body{padding:12px 10px 18px;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 280px);overflow-y:auto}.module-group{display:flex;flex-direction:column;gap:4px}.module-title{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--cl-faint);padding:6px 10px 4px;display:flex;align-items:center;gap:6px}.lesson-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:var(--cl-radius-sm);background:transparent;cursor:pointer;color:var(--cl-text);font-size:13px;font-weight:550;transition:all .15s ease;text-decoration:none}.lesson-btn:hover{background:var(--cl-surface);border-color:var(--cl-border)}.lesson-btn.active{background:var(--cl-accent-soft);border-color:#635bff4d;color:var(--cl-accent);font-weight:700}.lesson-btn-left{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.lesson-status-icon{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--cl-border);display:grid;place-items:center;flex-shrink:0;color:transparent;font-size:10px;transition:all .15s ease}.lesson-btn.active .lesson-status-icon{border-color:var(--cl-accent)}.lesson-status-icon.done{background:var(--cl-success);border-color:var(--cl-success);color:#fff}.lesson-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-link-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);color:var(--cl-text);text-decoration:none;font-size:13px;font-weight:650;transition:all .15s ease}.assessment-link-btn:hover{background:var(--cl-surface-elevated);border-color:var(--cl-accent);color:var(--cl-accent);transform:translateY(-1px)}.lesson-stage-card{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 1px 6px #00000005;display:flex;flex-direction:column;overflow:hidden;min-height:520px}.lesson-stage-header{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface);flex-wrap:wrap;gap:14px}.lesson-stage-title-wrap{display:flex;align-items:center;gap:10px}.lesson-stage-title{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--cl-text)}.lesson-nav-actions{display:flex;align-items:center;gap:8px}.lesson-stage-body{padding:32px 36px 40px;flex:1}.lesson-video-banner{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;margin-bottom:24px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius);gap:14px}.lesson-prose{max-width:52rem;font-size:15.5px;line-height:1.75;color:var(--cl-text)}.lesson-prose h1,.lesson-prose h2,.lesson-prose h3,.lesson-prose h4{color:var(--cl-text);margin:1.4em 0 .5em;line-height:1.3;font-weight:750;letter-spacing:-.02em}.lesson-prose h1{font-size:1.55rem}.lesson-prose h2{font-size:1.3rem;border-bottom:1px solid var(--cl-border-light);padding-bottom:6px}.lesson-prose h3{font-size:1.15rem}.lesson-prose p{margin:0 0 1em}.lesson-prose ul,.lesson-prose ol{margin:0 0 1.2em 1.4em;padding:0}.lesson-prose li{margin:.35em 0}.lesson-prose hr{border:0;border-top:1px solid var(--cl-border);margin:1.8em 0}.lesson-prose blockquote{border-left:3px solid var(--cl-accent);padding:4px 0 4px 16px;margin:16px 0;color:var(--cl-muted);background:var(--cl-accent-soft);border-radius:0 var(--cl-radius-sm) var(--cl-radius-sm) 0}.lesson-prose pre{background:#0f172a;color:#f8fafc;padding:16px 20px;border-radius:var(--cl-radius);overflow-x:auto;margin:1em 0 1.4em;font-size:13.5px;line-height:1.55;box-shadow:0 4px 14px #0000001a}.lesson-prose pre code{background:none;padding:0;color:inherit}.lesson-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#0f172a0f;padding:.15em .45em;border-radius:4px;color:var(--cl-accent)}.lesson-footer-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;border-top:1px solid var(--cl-border);background:var(--cl-surface);margin-top:30px}.cl-modal-scrim{position:fixed;inset:0;z-index:90;background:#0a254073;display:grid;place-items:center;padding:24px;animation:scrim-in .2s ease-out}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.cl-modal{width:min(520px,100%);max-height:min(88dvh,760px);overflow:auto;background:var(--cl-surface-elevated);border-radius:var(--cl-radius-xl);box-shadow:0 25px 60px -12px #0a254059,var(--cl-glass-highlight);border:1px solid var(--cl-border-light);animation:modal-in .24s cubic-bezier(.16,1,.3,1)}.cl-modal.wide{width:min(920px,100%)}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cl-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 12px}.cl-modal-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}.cl-modal-body{padding:12px 24px 24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.note-panel{flex:none;padding:14px 28px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);box-shadow:0 4px 16px #0000000a}.code-pane{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;padding:14px;border:1px solid var(--cl-border);border-radius:var(--cl-radius);background:var(--cl-surface);color:var(--cl-text);box-shadow:inset 0 1px 2px #00000008}.skeleton-loader{background:linear-gradient(90deg,#e3e8ef66 25%,#e3e8efb3,#e3e8ef66 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s infinite;border-radius:var(--cl-radius)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:840px){app-shell,app-shell.nav-collapsed{grid-template-columns:1fr}.side{display:flex;position:fixed;inset:0 auto 0 0;width:min(280px,86vw);height:100dvh;z-index:30;transform:translate(-105%);transition:transform .24s cubic-bezier(.16,1,.3,1)}app-shell.nav-open .side{transform:translate(0)}app-shell.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:25;border:0;background:#0a254080}.player,.studio-editor{grid-template-columns:1fr}.player aside,.studio-editor aside{border-right:0;border-bottom:1px solid var(--cl-border)}.page{padding:20px 16px 48px}.top{padding:0 16px;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px}.top-center{max-width:none}.auth{grid-template-columns:1fr}.auth-brand{min-height:180px}.studio-grid{grid-template-columns:1fr}}.toast-viewport{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:420px;width:calc(100vw - 32px)}.stripe-toast{pointer-events:auto;display:grid;grid-template-columns:20px 1fr 18px;align-items:start;gap:12px;padding:14px 16px;background:var(--cl-surface-elevated);color:var(--cl-text);border-radius:var(--cl-radius-lg);border:1px solid var(--cl-border-light);box-shadow:0 16px 36px -6px #0a25402e,var(--cl-glass-highlight);animation:toast-in .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.stripe-toast .toast-icon{width:20px;height:20px;display:grid;place-items:center;margin-top:1px}.stripe-toast .toast-icon svg{width:18px;height:18px}.stripe-toast.success .toast-icon{color:var(--cl-success)}.stripe-toast.error .toast-icon{color:var(--cl-danger)}.stripe-toast.warning .toast-icon{color:#e56f2a}.stripe-toast.info .toast-icon{color:var(--cl-accent)}.stripe-toast .toast-body{font-size:13px;line-height:1.4}.stripe-toast .toast-title{font-weight:650;color:var(--cl-text);margin-bottom:2px}.stripe-toast .toast-msg{color:var(--cl-muted)}.stripe-toast .toast-close{background:transparent;border:none;padding:2px;cursor:pointer;color:var(--cl-faint);display:grid;place-items:center;border-radius:4px;transition:all .12s ease}.stripe-toast .toast-close:hover{color:var(--cl-text);background:#0000000f}.stripe-toast .toast-close svg{width:12px;height:12px}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.cert-sheet{display:flex;justify-content:center}.verify-page{max-width:880px;margin:40px auto;padding:0 24px 48px}.layout-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.wallet-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.wallet-card,.layout-card{border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);background:var(--cl-surface);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);overflow:hidden;transition:all .2s cubic-bezier(.16,1,.3,1)}.wallet-card:hover,.layout-card:hover{transform:translateY(-2px);box-shadow:var(--cl-glass-shadow-hover),var(--cl-glass-highlight);border-color:#635bff4d}.wallet-preview,.layout-preview{display:block;width:100%;height:240px;overflow:hidden;padding:0;border:0;background:#f1f3f7;cursor:pointer;position:relative}.wallet-preview .cert-sheet,.layout-preview .cert-sheet{position:absolute;top:50%;left:50%;width:960px;transform:translate(-50%,-50%) scale(.44);transform-origin:center center;pointer-events:none;margin:0;transition:transform .25s cubic-bezier(.16,1,.3,1)}.wallet-preview .cert-sheet.orient-portrait,.layout-preview .cert-sheet.orient-portrait{width:480px;transform:translate(-50%,-50%) scale(.41)}.wallet-card:hover .wallet-preview .cert-sheet:not(.orient-portrait),.layout-card:hover .layout-preview .cert-sheet:not(.orient-portrait){transform:translate(-50%,-50%) scale(.47)}.wallet-card:hover .wallet-preview .cert-sheet.orient-portrait,.layout-card:hover .layout-preview .cert-sheet.orient-portrait{transform:translate(-50%,-50%) scale(.44)}.wallet-preview .cert,.layout-preview .cert{margin:0 auto;box-shadow:0 4px 24px #00000024;overflow:hidden}.wallet-card-meta,.layout-meta{padding:14px 16px 16px}.wallet-card-meta strong,.layout-meta strong{display:block;margin-bottom:8px;font-size:14.5px;font-weight:650}.layout-meta{display:flex;flex-direction:column;gap:8px}.cert-actions{display:flex;gap:14px;justify-content:center;margin:16px 0 0}.cert{--cl-display: "Georgia", "Iowan Old Style", "Times New Roman", serif;--cl-body-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--cert-ink: #0a2540;--cert-paper: #fffaf2;--cert-accent: #c4a35a;position:relative;width:100%;max-width:960px;margin:12px auto 24px;padding:48px 56px 44px;background:var(--cert-paper);color:var(--cert-ink);text-align:center;border:1px solid var(--cert-accent);box-sizing:border-box;aspect-ratio:297/210;min-height:0;overflow:hidden;border-radius:8px;box-shadow:0 12px 40px #00000026}.cert.font-display-georgia{--cl-display: "Georgia", "Times New Roman", serif}.cert.font-display-instrument-serif{--cl-display: "Instrument Serif", "Georgia", serif}.cert.font-display-times{--cl-display: "Times New Roman", "Georgia", serif}.cert.font-display-cinzel{--cl-display: "Cinzel", "Times New Roman", serif}.cert.font-display-playfair{--cl-display: "Playfair Display", "Georgia", serif}.cert.font-display-inter{--cl-display: "Inter", -apple-system, sans-serif}.cert.font-display-helvetica{--cl-display: "Helvetica Neue", "Arial", sans-serif}.cert.font-body-inter{--cl-body-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.cert.font-body-arial{--cl-body-font: "Arial", "Helvetica Neue", sans-serif}.cert.font-body-roboto{--cl-body-font: "Roboto", sans-serif}.cert.font-body-merriweather{--cl-body-font: "Merriweather", "Georgia", serif}.cert.font-body-georgia{--cl-body-font: "Georgia", serif}.cert.font-body-times{--cl-body-font: "Times New Roman", serif}.cert.font-body-mono{--cl-body-font: ui-monospace, SFMono-Regular, "Courier New", monospace}.cert.orient-landscape{max-width:960px;aspect-ratio:297/210}.cert.orient-portrait{max-width:480px;margin-left:auto;margin-right:auto;aspect-ratio:210/297;padding:36px 32px}.cert-sheet.orient-portrait .cert{max-width:480px;aspect-ratio:210/297}.cert-sheet.orient-landscape .cert{max-width:960px;aspect-ratio:297/210}.cert.frame-ornament{box-shadow:inset 0 0 0 10px var(--cert-paper),inset 0 0 0 11px var(--cert-accent)}.cert.frame-ornament:before,.cert.frame-ornament:after{content:"";position:absolute;width:18px;height:18px;border:1.5px solid var(--cert-accent)}.cert.frame-ornament:before{top:18px;left:18px;border-right:0;border-bottom:0}.cert.frame-ornament:after{top:18px;right:18px;border-left:0;border-bottom:0}.cert.frame-band{box-shadow:none;padding-top:56px}.cert.frame-band:before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:var(--cert-accent)}.cert.frame-ribbon .cert-ribbon{display:block;height:10px;margin:-20px -28px 28px;background:linear-gradient(90deg,var(--cert-accent) 0%,var(--cert-ink) 100%)}.cert.frame-seal-duo .cert-seal{box-shadow:0 0 0 4px var(--cert-paper),0 0 0 6px var(--cert-accent)}.cert.frame-none{border:0;box-shadow:none}.cert.frame-thin{border-width:1px}.cert.frame-thick{border-width:4px}.cert.frame-double{box-shadow:inset 0 0 0 6px var(--cert-paper),inset 0 0 0 8px var(--cert-accent)}.cert-logo{margin:0 0 var(--cert-header-gap, 12px)}.cert-logo.place-left{text-align:left}.cert-logo.place-center{text-align:center}.cert-logo.place-right{text-align:right}.cert-logo img{max-height:52px;max-width:160px;object-fit:contain}.cert h1,.cert-name,.cert-body,.cert-course{line-height:var(--cert-lh, 1.25)}.cert-foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:20px;min-height:48px}.cert-foot-slot.place-left{text-align:left}.cert-foot-slot.place-center{text-align:center}.cert-foot-slot.place-right{text-align:right}.cert-date{margin:0;font-family:var(--cl-body-font);font-size:11px;color:var(--cl-muted)}.cert-sign img{max-height:36px;max-width:120px;object-fit:contain}.cert-sign-name{margin:4px 0 0;font-family:var(--cl-body-font);font-size:13px;font-weight:600;color:var(--cert-ink)}.cert-sign-title{margin:0;font-family:var(--cl-body-font);font-size:11px;color:var(--cl-muted)}.cert.frame-crest .cert-seal{border-radius:8px;transform:rotate(45deg)}.cert.frame-crest .cert-seal{font-size:11px}.cert-seal{width:42px;height:42px;margin:0 auto 12px;border-radius:50%;background:var(--cert-ink);color:var(--cert-paper);display:grid;place-items:center;font-family:var(--cl-body-font);font-weight:700;font-size:13px;box-shadow:0 4px 12px #0003}.cert-kicker{letter-spacing:.2em;text-transform:uppercase;font-family:var(--cl-body-font);font-size:11px;font-weight:600;color:var(--cert-accent)}.cert h1{font-family:var(--cl-display);font-size:34px;font-weight:400;margin:8px 0 28px}.cert-name{font-family:var(--cl-display);font-size:38px;font-weight:400;margin:0 0 8px}.cert-body{font-family:var(--cl-body-font);color:var(--cl-muted);margin:0}.cert-course{font-family:var(--cl-body-font);font-size:16px;font-weight:650;margin:8px 0 20px}.cert-partners{font-family:var(--cl-body-font);color:var(--cl-muted)}.cert-meta{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--cl-faint);font-size:11px}.cert-verify{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:5px 12px;border-radius:999px;font-family:var(--cl-body-font);background:color-mix(in srgb,var(--cert-accent) 18%,var(--cert-paper));color:var(--cert-accent);font-size:12px;font-weight:650}.cert-bg-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.cert-pattern-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.cert-pattern-layer svg{width:100%;height:100%;object-fit:cover;display:block}.cert-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}.cert-watermark-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:grid;place-items:center;z-index:2;overflow:hidden}.cert-watermark-text{font-family:var(--cl-display);font-weight:700;color:var(--cert-ink);text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.12em;line-height:1;transform-origin:center center}.cert-watermark-img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:center center}.cert-ribbon,.cert-safe-guide,.cert-logo,.cert-seal,.cert-kicker,.cert h1,.cert-name,.cert-body,.cert-course,.cert-partners,.cert-foot,.cert-meta,.cert-verify{position:relative;z-index:3}.pattern-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.pattern-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:8px;border:1px solid var(--cl-border);background:var(--cl-surface);cursor:pointer;transition:all .15s ease;font-size:11px;font-weight:550;color:var(--cl-ink)}.pattern-card:hover{border-color:var(--cl-accent);background:var(--cl-surface-hover)}.pattern-card.active{border-color:var(--cl-accent);background:color-mix(in srgb,var(--cl-accent) 12%,var(--cl-surface));color:var(--cl-accent);box-shadow:0 0 0 1px var(--cl-accent)}.pattern-card .pattern-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--cl-accent)}.preset-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.preset-chip{padding:4px 10px;border-radius:999px;border:1px solid var(--cl-border);background:var(--cl-surface);font-size:11px;font-weight:550;color:var(--cl-muted);cursor:pointer;transition:all .15s}.preset-chip:hover{border-color:var(--cl-accent);color:var(--cl-ink)}.preset-chip.active{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}.page:has(app-layout-editor),.page:has(app-workspace),.page:has(app-lab){overflow:hidden;display:flex;flex-direction:column;padding:0;height:100%}app-layout-editor,app-workspace,app-lab{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.designer-studio{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--cl-bg)}.studio-header{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--cl-surface);border-bottom:1px solid var(--cl-border);gap:16px;z-index:10}.studio-header-left{display:flex;align-items:center;gap:12px}.studio-title-wrap{display:flex;align-items:center;gap:10px}.studio-title{font-size:17px;font-weight:700;margin:0;color:var(--cl-text)}.studio-header-right{display:flex;align-items:center;gap:10px}.studio-btn-group{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);padding:2px}.studio-btn-group button{border:none;background:transparent;padding:4px 8px;cursor:pointer;color:var(--cl-faint);border-radius:4px}.studio-btn-group button:hover:not(:disabled){color:var(--cl-text);background:#0000000d}.studio-btn-group button:disabled{opacity:.35;cursor:not-allowed}.studio-banner-error{padding:8px 16px;background:#df1b411a;color:var(--cl-danger);font-size:13px;font-weight:600;border-bottom:1px solid rgba(223,27,65,.2)}.studio-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;overflow:hidden}.studio-stage{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#e2e6ed}.studio-stage-bar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--cl-surface);border-bottom:1px solid var(--cl-border);gap:12px;flex-wrap:wrap}.studio-pills{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);padding:2px;gap:2px}.studio-pills button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:4px 10px;font-size:12px;font-weight:600;color:var(--cl-muted);border-radius:4px;cursor:pointer;transition:all .15s ease}.studio-pills button.active{background:#fff;color:var(--cl-accent);box-shadow:0 1px 4px #00000014}.studio-stage-tools{display:flex;align-items:center;gap:10px}.studio-select-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--cl-faint)}.studio-select-label select{padding:3px 8px;font-size:12px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface)}button.active-tool{background:var(--cl-accent-subtle);color:var(--cl-accent);border-color:var(--cl-accent)}.studio-stage-viewport{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:32px;position:relative}.studio-stage-viewport.grid-bg{background-size:20px 20px;background-image:linear-gradient(to right,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px)}.studio-canvas-container{display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1);transform-origin:center center;max-width:100%}.studio-canvas-container.zoom-fit{max-width:min(100%,960px)}.studio-canvas-container.zoom-75{transform:scale(.75)}.studio-canvas-container.zoom-100{transform:scale(1)}.studio-pdf-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.studio-pdf-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.layout-pdf-canvas{border:0;background:#fff;box-shadow:0 16px 48px #0a25402e;border-radius:4px}.layout-pdf-canvas.orient-landscape.zoom-fit{width:min(100%,960px);aspect-ratio:297/210;max-height:90%}.layout-pdf-canvas.orient-portrait.zoom-fit{height:min(90%,640px);aspect-ratio:210/297;max-width:100%}.layout-pdf-canvas.zoom-75.orient-landscape{width:720px;height:509px}.layout-pdf-canvas.zoom-100.orient-landscape{width:960px;height:678px}.layout-pdf-canvas.zoom-75.orient-portrait{width:360px;height:509px}.layout-pdf-canvas.zoom-100.orient-portrait{width:480px;height:678px}.cert.interactive-mode{cursor:default}.cert.interactive-mode [class*=cert-]{cursor:pointer;border-radius:4px;transition:outline .15s ease,box-shadow .15s ease}.cert.interactive-mode [class*=cert-]:hover{outline:1.5px dashed rgba(99,91,255,.6);outline-offset:3px}.cert.interactive-mode .cert-active-node{outline:2px solid var(--cl-accent)!important;outline-offset:4px;box-shadow:0 0 0 4px #635bff33}.cert.show-print-guides .cert-safe-guide{position:absolute;inset:18px;border:1px dashed rgba(223,27,65,.4);pointer-events:none;border-radius:4px}.cert.show-print-guides .cert-safe-guide:after{content:"Safe Margin";position:absolute;top:4px;right:6px;font-size:9px;font-family:ui-monospace,sans-serif;color:#df1b4199;font-weight:600;text-transform:uppercase}.studio-inspector{display:flex;flex-direction:column;min-height:0;background:var(--cl-surface);border-left:1px solid var(--cl-border);overflow:hidden}.inspector-tabs{flex:none;display:flex;overflow-x:auto;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated)}.inspector-tabs button{flex:1;white-space:nowrap;padding:10px 8px;font-size:12px;font-weight:650;color:var(--cl-muted);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.inspector-tabs button:hover{color:var(--cl-text)}.inspector-tabs button.active{color:var(--cl-accent);border-bottom-color:var(--cl-accent);background:var(--cl-surface)}.inspector-body{flex:1;overflow-y:auto;padding:20px}.inspector-section{display:flex;flex-direction:column;gap:12px}.inspector-heading{font-size:13px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--cl-text)}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette-card{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);background:var(--cl-surface);cursor:pointer;transition:all .15s ease}.palette-card:hover{border-color:var(--cl-accent);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.palette-swatches{display:flex;gap:4px;margin-bottom:6px}.palette-swatches span{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.palette-name{font-size:11px;font-weight:600;color:var(--cl-text);text-align:left}.frame-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.frame-card{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);background:var(--cl-surface);cursor:pointer;transition:all .15s ease;text-align:left}.frame-card:hover{border-color:var(--cl-accent)}.frame-card.selected{border-color:var(--cl-accent);background:var(--cl-accent-subtle);box-shadow:0 0 0 1px var(--cl-accent)}.frame-badge{font-size:12px;font-weight:700;color:var(--cl-text)}.frame-desc{font-size:10px;color:var(--cl-faint);margin-top:2px;line-height:1.3}.color-picker-row{display:grid;grid-template-columns:1fr;gap:10px}.color-picker-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500}.color-input-wrap{display:flex;align-items:center;gap:8px}.color-input-wrap input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--cl-border);border-radius:6px;cursor:pointer;background:none}.color-input-wrap code{font-size:11px;color:var(--cl-muted)}.asset-preview-card{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);margin-bottom:8px}.asset-preview-card img{max-height:36px;max-width:120px;object-fit:contain}.toggle-list{display:flex;flex-direction:column;gap:8px}.check-pill{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:550;color:var(--cl-text);cursor:pointer;padding:6px 10px;border-radius:var(--cl-radius-sm);background:var(--cl-surface-elevated);border:1px solid var(--cl-border-light);transition:background .12s ease}.check-pill:hover{background:#635bff0d}.spec-editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:10px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);color:var(--cl-text);line-height:1.45;resize:vertical}@media(max-width:960px){.studio-workspace{grid-template-columns:1fr}.studio-inspector{border-left:0;border-top:1px solid var(--cl-border);max-height:45vh}}@media print{@page{size:A4 landscape;margin:10mm}@page portrait-page{size:A4 portrait;margin:10mm}html,body{background:#fff!important;background-image:none!important}app-shell{display:block!important;grid-template-columns:none!important}.side,.top,.nav-scrim,.note-panel,.cert-actions,.crumb{display:none!important}.main,.page,.verify-page{padding:0!important;margin:0!important;background:#fff!important;max-width:none}.cert-sheet{display:block}.cert{max-width:none;width:100%;min-height:168mm;margin:0;page-break-inside:avoid}.cert.orient-portrait{page:portrait-page;min-height:250mm}}.auth-split-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh;width:100%;background:var(--cl-bg);overflow-x:hidden;font-family:var(--cl-sans)}.auth-split-layout .auth-hero-pane{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:64px 56px;background:radial-gradient(circle at 20% 15%,#182238,#0c1322,#060a12);color:#fff;overflow:hidden;z-index:1}.auth-split-layout .auth-hero-pane .auth-hero-bg-overlay{position:absolute;inset:0;background-image:url(/login-campus.jpg);background-size:cover;background-position:center;opacity:.12;mix-blend-mode:luminosity;pointer-events:none;z-index:-1}.auth-split-layout .auth-hero-pane .auth-hero-ambient-disc{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:-1}.auth-split-layout .auth-hero-pane .auth-hero-ambient-disc.disc-1{width:420px;height:420px;top:-60px;left:-80px;background:radial-gradient(circle,#635bff47,#635bff00 70%)}.auth-split-layout .auth-hero-pane .auth-hero-ambient-disc.disc-2{width:480px;height:480px;bottom:-80px;right:-100px;background:radial-gradient(circle,#00d4ff33,#00d4ff00 70%)}.auth-split-layout .auth-hero-pane .auth-hero-content{display:flex;flex-direction:column;height:100%;justify-content:space-between;max-width:580px;margin:0 auto;width:100%;z-index:2}.auth-split-layout .auth-hero-pane .auth-hero-header{display:flex;align-items:center;gap:12px}.auth-split-layout .auth-hero-pane .auth-hero-header .auth-hero-logo{display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-hero-pane .auth-hero-header .auth-hero-brand-name{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#fff}.auth-split-layout .auth-hero-pane .auth-hero-header .auth-hero-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#c4d1eb}.auth-split-layout .auth-hero-pane .auth-hero-copy{margin:48px 0}.auth-split-layout .auth-hero-pane .auth-hero-copy h1{font-family:var(--cl-sans);font-size:clamp(30px,3vw,40px);font-weight:750;line-height:1.18;letter-spacing:-.03em;color:#fff;margin-bottom:18px;text-shadow:0 2px 20px rgba(0,0,0,.4)}.auth-split-layout .auth-hero-pane .auth-hero-copy p{font-size:15px;line-height:1.6;color:#94a3b8;max-width:480px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card{position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:20px 24px;box-shadow:0 20px 40px -15px #00000080,inset 0 1px #ffffff1a;margin-bottom:36px;transition:transform .3s ease}.auth-split-layout .auth-hero-pane .auth-hero-cert-card:hover{transform:translateY(-2px)}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-ribbon{position:absolute;top:0;left:24px;right:24px;height:3px;background:linear-gradient(90deg,#635bff,#00d4ff,#c4a35a);border-radius:3px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;margin-top:4px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-icon{width:32px;height:32px;border-radius:8px;background:#635bff33;border:1px solid rgba(99,91,255,.4);color:#a5b4fc;display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-meta{flex:1;display:flex;flex-direction:column}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-meta .cert-mock-kicker{font-size:10px;font-weight:700;letter-spacing:.08em;color:#c4a35a}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-meta .cert-mock-title{font-size:13px;font-weight:650;color:#fff}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-pill{font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);padding:2px 7px;border-radius:6px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-body{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-body .cert-mock-recipient{font-size:12px;font-weight:600;color:#f1f5f9}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-body .cert-mock-school{font-size:11px;color:#94a3b8}.auth-split-layout .auth-hero-pane .auth-hero-trust-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.auth-split-layout .auth-hero-pane .auth-hero-trust-bar .trust-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:550;color:#94a3b8}.auth-split-layout .auth-hero-pane .auth-hero-trust-bar .trust-item svg{color:#38bdf8}.auth-split-layout .auth-card-pane{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;background:var(--cl-surface);overflow-y:auto}.auth-split-layout .auth-card-pane .auth-card-wrapper{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px}.auth-split-layout .auth-card-pane .auth-tenant-badge{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--cl-brand-accent) 8%,var(--cl-surface));border:1px solid color-mix(in srgb,var(--cl-brand-accent) 24%,var(--cl-border));animation:fadeInSlide .25s ease}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-logo{width:32px;height:32px;object-fit:contain;border-radius:6px;background:#fff;padding:2px}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-avatar{width:32px;height:32px;border-radius:6px;background:var(--cl-brand-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-info{flex:1;display:flex;flex-direction:column}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-info .tenant-title{font-size:13px;font-weight:650;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-info .tenant-verified{font-size:11px;color:var(--cl-brand-accent);font-weight:550}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-clear{background:transparent;border:0;color:var(--cl-faint);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-clear:hover{color:var(--cl-ink);background:#0000000d}.auth-split-layout .auth-card-pane .auth-card-header h2{font-size:24px;font-weight:750;letter-spacing:-.025em;color:var(--cl-ink);margin:0 0 6px}.auth-split-layout .auth-card-pane .auth-card-header .auth-card-sub{font-size:13.5px;color:var(--cl-muted);line-height:1.45;margin:0}.auth-split-layout .auth-card-pane .demo-personas-section{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--cl-surface-hover);border:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .demo-personas-section .demo-personas-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cl-faint)}.auth-split-layout .auth-card-pane .demo-personas-section .demo-personas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:var(--cl-surface);border:1px solid var(--cl-border);cursor:pointer;transition:all .15s ease;text-align:left}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip:hover{border-color:var(--cl-brand-accent);background:var(--cl-surface);box-shadow:0 2px 6px #0000000d}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip.active{border-color:var(--cl-brand-accent);background:color-mix(in srgb,var(--cl-brand-accent) 10%,var(--cl-surface));box-shadow:0 0 0 1px var(--cl-brand-accent)}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-icon{font-size:15px}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-text{display:flex;flex-direction:column;overflow:hidden}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-text .demo-chip-name{font-size:12px;font-weight:650;color:var(--cl-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-text .demo-chip-role{font-size:10px;color:var(--cl-muted)}.auth-split-layout .auth-card-pane .auth-form{display:flex;flex-direction:column;gap:14px}.auth-split-layout .auth-card-pane .auth-form .auth-alert-error{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px;line-height:1.4;animation:shake .3s ease}.auth-split-layout .auth-card-pane .auth-form .auth-alert-error .alert-icon{flex-shrink:0;margin-top:1px;color:#dc2626}.auth-split-layout .auth-card-pane .auth-form .auth-field-group{display:flex;flex-direction:column;gap:5px}.auth-split-layout .auth-card-pane .auth-form .auth-field-group label{font-size:13px;font-weight:600;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row{display:flex;align-items:center;justify-content:space-between}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row .forgot-link{font-size:12px;font-weight:550;color:var(--cl-brand-accent);text-decoration:none}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row .forgot-link:hover{text-decoration:underline}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row .slug-status-badge{font-size:10px;font-weight:600;color:var(--cl-success);background:#1e965a1a;padding:1px 6px;border-radius:4px}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box{position:relative;display:flex;align-items:center;border-radius:10px;border:1px solid var(--cl-border);background:var(--cl-surface);transition:all .15s ease;box-shadow:0 1px 2px #00000008}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box .field-icon{margin-left:14px;color:var(--cl-faint);flex-shrink:0}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box input{flex:1;width:100%;border:0;outline:0;background:transparent;padding:10px 14px 10px 10px;font-size:14px;font-family:inherit;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box input::placeholder{color:var(--cl-faint)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box .pw-toggle-btn{background:transparent;border:0;padding:8px 12px;color:var(--cl-faint);cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box .pw-toggle-btn:hover{color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box.focused{border-color:var(--cl-brand-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cl-brand-accent) 18%,transparent)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box.focused .field-icon{color:var(--cl-brand-accent)}.auth-split-layout .auth-card-pane .auth-form .auth-checkbox-row{display:flex;align-items:center}.auth-split-layout .auth-card-pane .auth-form .auth-checkbox-row .custom-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--cl-muted);-webkit-user-select:none;user-select:none}.auth-split-layout .auth-card-pane .auth-form .auth-checkbox-row .custom-checkbox-label input[type=checkbox]{accent-color:var(--cl-brand-accent);width:16px;height:16px;border-radius:4px;cursor:pointer}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;border-radius:12px;background:var(--cl-surface-hover);border:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-icon-wrap{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--cl-brand-accent) 14%,var(--cl-surface));color:var(--cl-brand-accent);display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-label{font-size:14px;font-weight:650;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-box{width:220px}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-box .totp-input{text-align:center;font-size:24px;letter-spacing:.35em;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 12px}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-help{font-size:12px;color:var(--cl-muted);text-align:center;margin:0}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .back-link-btn{background:transparent;border:0;color:var(--cl-brand-accent);font-size:12px;font-weight:600;cursor:pointer;margin-top:4px}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .back-link-btn:hover{text-decoration:underline}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container{display:flex;flex-direction:column;gap:12px}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:8px;background:var(--cl-surface-hover);border:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cl-muted)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item .check-dot{width:8px;height:8px;border-radius:50%;background:var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item.valid{color:var(--cl-success)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item.valid .check-dot{background:var(--cl-success)}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;min-height:var(--control-height-touch);height:var(--control-height-touch);padding:0 var(--space-6);border-radius:var(--control-radius);border:0;background:linear-gradient(180deg,var(--cl-brand-accent) 0%,color-mix(in srgb,var(--cl-brand-accent) 88%,#000) 100%);color:#fff;font-size:var(--control-font-size);font-weight:650;cursor:pointer;box-sizing:border-box;box-shadow:0 4px 14px -3px color-mix(in srgb,var(--cl-brand-accent) 50%,transparent),inset 0 1px #fff3;transition:all .15s ease}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px -3px color-mix(in srgb,var(--cl-brand-accent) 60%,transparent),inset 0 1px #ffffff40}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn .btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn .btn-arrow{transition:transform .15s ease}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:hover:not(:disabled) .btn-arrow{transform:translate(2px)}.auth-split-layout .auth-card-pane .auth-form .auth-divider{position:relative;display:flex;align-items:center;justify-content:center;margin:4px 0}.auth-split-layout .auth-card-pane .auth-form .auth-divider:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-divider span{position:relative;background:var(--cl-surface);padding:0 12px;font-size:12px;color:var(--cl-faint);font-weight:500}.auth-split-layout .auth-card-pane .auth-form .auth-sso-grid{display:flex;flex-direction:column;gap:8px}.auth-split-layout .auth-card-pane .auth-form .auth-sso-grid .sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-radius:10px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-ink);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.auth-split-layout .auth-card-pane .auth-form .auth-sso-grid .sso-btn:hover{border-color:var(--cl-brand-accent);background:var(--cl-surface-hover)}.auth-split-layout .auth-card-pane .auth-card-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:10px;border-top:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .auth-card-footer p{margin:0;font-size:11px;color:var(--cl-faint)}.auth-split-layout .auth-card-pane .auth-card-footer .footer-links{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cl-faint)}.auth-split-layout .auth-card-pane .auth-card-footer .footer-links a{color:var(--cl-muted);text-decoration:none}.auth-split-layout .auth-card-pane .auth-card-footer .footer-links a:hover{color:var(--cl-brand-accent);text-decoration:underline}@media(max-width:980px){.auth-split-layout{grid-template-columns:1fr}.auth-split-layout .auth-hero-pane{display:none}.auth-split-layout .auth-card-pane{min-height:100vh;padding:32px 20px}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}:root{--ide-bg: #f8fafc;--ide-surface: #ffffff;--ide-surface-elevated: #f1f5f9;--ide-surface-sunken: #eef2f6;--ide-border: #e2e8f0;--ide-border-subtle: #f1f5f9;--ide-text: #0f172a;--ide-text-muted: #64748b;--ide-text-faint: #94a3b8;--ide-tab-active-bg: #ffffff;--ide-tab-inactive-bg: #f1f5f9;--ide-tab-hover-bg: #e2e8f0;--ide-code-bg: #ffffff;--ide-code-block: #f8fafc;--ide-hero-bg: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);--ide-hero-border: #e2e8f0;--ide-hero-shadow: 0 10px 30px rgba(0, 0, 0, .05);--ide-card-bg: #ffffff;--ide-card-border: #e2e8f0;--ide-card-shadow: 0 4px 12px rgba(0, 0, 0, .04)}[data-theme=dark]{--ide-bg: #09090b;--ide-surface: #11141c;--ide-surface-elevated: #181d2a;--ide-surface-sunken: #0c0e14;--ide-border: #1e2433;--ide-border-subtle: #1a202d;--ide-text: #f8fafc;--ide-text-muted: #94a3b8;--ide-text-faint: #64748b;--ide-tab-active-bg: #1e1e1e;--ide-tab-inactive-bg: #2d2d2d;--ide-tab-hover-bg: #252526;--ide-code-bg: #1e1e1e;--ide-code-block: #141824;--ide-hero-bg: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(30, 41, 59, .85));--ide-hero-border: rgba(255, 255, 255, .08);--ide-hero-shadow: 0 10px 30px rgba(0, 0, 0, .2);--ide-card-bg: #11141c;--ide-card-border: #1e2433;--ide-card-shadow: 0 10px 24px -6px rgba(0, 0, 0, .4)}app-workspace{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;overflow:hidden;background:var(--ide-bg);color:var(--ide-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .15s,color .15s}.nimbus-container{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;background:var(--ide-bg)}.nimbus-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--ide-surface);border-bottom:1px solid var(--ide-border);-webkit-user-select:none;user-select:none;z-index:20}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:12px}.nimbus-logo{display:flex;align-items:center;gap:8px}.logo-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff}.brand-title{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ide-text)}.env-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#0ea5e926;color:#0284c7;border:1px solid rgba(14,165,233,.3)}[data-theme=dark] .env-badge{color:#38bdf8}.project-pill{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--ide-surface-elevated);border:1px solid var(--ide-border);font-size:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.status-dot.pulsing{box-shadow:0 0 #10b981b3;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.template-label{font-weight:700;color:#0284c7;font-size:11px}[data-theme=dark] .template-label{color:#38bdf8}.sep{color:var(--ide-text-faint)}.active-filename{color:var(--ide-text);font-family:ui-monospace,monospace;font-size:12px}.dirty-badge{color:#f59e0b;font-size:10px}.template-selector{display:flex;background:var(--ide-surface-elevated);border:1px solid var(--ide-border);border-radius:6px;padding:2px}.tpl-btn{background:transparent;border:none;color:var(--ide-text-muted);padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .15s}.tpl-btn:hover{color:var(--ide-text);background:var(--ide-surface)}.tpl-btn.active{background:var(--ide-surface);color:#0284c7;font-weight:600;box-shadow:0 1px 3px #00000014}[data-theme=dark] .tpl-btn.active{background:#232a3d;color:#38bdf8;box-shadow:none}.ide-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--ide-surface);color:var(--ide-text);border:1px solid var(--ide-border);cursor:pointer;transition:all .15s}.ide-btn:hover:not(:disabled){background:var(--ide-surface-elevated);color:var(--ide-text);border-color:#0284c7}.ide-btn:disabled{opacity:.5;cursor:not-allowed}.ide-btn.primary-run{background:#0284c7;border-color:#0369a1;color:#fff}.ide-btn.primary-run:hover:not(:disabled){background:#0369a1}.nimbus-header kbd{background:#00000014;padding:2px 5px;border-radius:4px;font-size:10px;font-family:inherit;color:var(--ide-text-muted);border:1px solid var(--ide-border)}[data-theme=dark] .nimbus-header kbd{background:#0000004d;border-color:#ffffff1a;color:#94a3b8}.nimbus-body{display:flex;flex:1;overflow:hidden;position:relative}.nimbus-sidebar{width:220px;background:var(--ide-surface);border-right:1px solid var(--ide-border);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;transition:width .2s ease}.nimbus-sidebar.collapsed{width:0;overflow:hidden;border-right:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--ide-border)}.sidebar-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--ide-text-muted)}.sidebar-tools{display:flex;gap:4px}.tool-icon-btn{background:transparent;border:none;color:var(--ide-text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center}.tool-icon-btn:hover{color:var(--ide-text);background:var(--ide-surface-elevated)}.inline-new-file{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border)}.new-file-input{background:transparent;border:none;outline:none;color:#0284c7;font-family:ui-monospace,monospace;font-size:12px;width:100%}.file-tree{flex:1;overflow-y:auto;padding:6px 0}.file-node{display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;font-size:13px;color:var(--ide-text);transition:all .12s}.file-node:hover{background:var(--ide-surface-elevated);color:var(--ide-text)}.file-node.active{background:#0ea5e91a;color:#0284c7;font-weight:600;border-left:2px solid #0284c7}[data-theme=dark] .file-node.active{background:#1c2333;color:#38bdf8;border-left-color:#38bdf8}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:12px}.delete-file-btn{background:transparent;border:none;color:var(--ide-text-faint);cursor:pointer;font-size:14px;opacity:0;transition:opacity .15s}.file-node:hover .delete-file-btn{opacity:1}.delete-file-btn:hover{color:#ef4444}.sidebar-footer{padding:12px 14px;background:var(--ide-surface-elevated);border-top:1px solid var(--ide-border);font-size:11px}.meta-row{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--ide-text-muted)}.meta-val.code{font-family:ui-monospace,monospace;color:#0284c7}[data-theme=dark] .meta-val.code{color:#38bdf8}.nimbus-workspace{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--ide-code-bg)}.tabs-bar{display:flex;align-items:center;justify-content:space-between;height:36px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);-webkit-user-select:none;user-select:none}.tabs-scroll{display:flex;height:100%;overflow-x:auto}.editor-tab{display:flex;align-items:center;gap:8px;padding:0 14px;height:100%;background:var(--ide-tab-inactive-bg);border-right:1px solid var(--ide-border);color:var(--ide-text-muted);font-size:12px;font-family:ui-monospace,monospace;cursor:pointer;transition:all .1s}.editor-tab:hover{background:var(--ide-tab-hover-bg);color:var(--ide-text)}.editor-tab.active{background:var(--ide-tab-active-bg);color:var(--ide-text);border-top:2px solid #0284c7}[data-theme=dark] .editor-tab.active{border-top-color:#38bdf8}.tab-close{background:transparent;border:none;color:var(--ide-text-faint);cursor:pointer;font-size:14px;padding:0 2px;border-radius:3px}.tab-close:hover{background:#00000014;color:var(--ide-text)}[data-theme=dark] .tab-close:hover{background:#ffffff1a;color:#fff}.tab-action-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--ide-text-muted);font-size:11px;padding:6px 12px;cursor:pointer}.tab-action-btn:hover,.tab-action-btn.active{color:var(--ide-text)}.editor-canvas{flex:1;position:relative;overflow:hidden;background:var(--ide-code-bg)}.empty-editor{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ide-text-muted);gap:12px}.nimbus-status-bar{display:flex;align-items:center;justify-content:space-between;height:22px;background:#007acc;color:#fff;font-size:11px;padding:0 12px;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.status-left,.status-right{display:flex;align-items:center;gap:14px}.status-item{display:flex;align-items:center;gap:4px}.bottom-panel{position:relative;background:var(--ide-surface);border-top:1px solid var(--ide-border);display:flex;flex-direction:column;z-index:15}.panel-resizer{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:row-resize;z-index:20}.panel-header{display:flex;align-items:center;justify-content:space-between;height:34px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);padding:0 12px}.panel-tabs{display:flex;gap:4px}.panel-tab-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--ide-text-muted);font-size:11px;font-weight:600;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .12s}.panel-tab-btn:hover{color:var(--ide-text);background:var(--ide-surface)}.panel-tab-btn.active{color:#0284c7;background:var(--ide-surface)}[data-theme=dark] .panel-tab-btn.active{color:#38bdf8;background:#1e2535}.badge-verdict{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:700}.badge-verdict.ok{background:#10b98126;color:#059669}.badge-verdict.fail{background:#ef444426;color:#dc2626}[data-theme=dark] .badge-verdict.ok{color:#34d399}[data-theme=dark] .badge-verdict.fail{color:#f87171}.panel-actions{display:flex;gap:6px}.panel-action-btn{background:transparent;border:none;color:var(--ide-text-muted);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:4px}.panel-action-btn:hover{color:var(--ide-text);background:var(--ide-surface-elevated)}.panel-body{flex:1;overflow-y:auto;padding:12px;background:var(--ide-surface-sunken)}.terminal-view{font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.6}.term-running{display:flex;align-items:center;gap:10px;color:#0284c7}[data-theme=dark] .term-running{color:#38bdf8}.term-result{display:flex;flex-direction:column;gap:8px}.term-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.verdict-tag{font-weight:700;padding:2px 8px;border-radius:4px;font-size:11px}.verdict-tag.success{background:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.3)}.verdict-tag.danger{background:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.3)}[data-theme=dark] .verdict-tag.success{color:#10b981}[data-theme=dark] .verdict-tag.danger{color:#ef4444}.term-score{color:var(--ide-text-muted);font-size:12px}.term-stream{background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px;padding:8px 12px}.term-stream.error{background:#ef44440d;border-color:#ef44444d}.stream-label{font-size:10px;font-weight:700;color:var(--ide-text-muted);display:block;margin-bottom:4px}.term-stream.error .stream-label{color:#ef4444}.stream-content{margin:0;white-space:pre-wrap;word-break:break-all;color:var(--ide-text);font-size:12px}.term-stream.error .stream-content{color:#dc2626}[data-theme=dark] .term-stream.error .stream-content{color:#fca5a5}.term-placeholder{color:var(--ide-text-muted);font-size:13px;text-align:center;padding:30px}.preview-view{display:flex;flex-direction:column;height:100%;background:var(--ide-surface);border-radius:6px;overflow:hidden;border:1px solid var(--ide-border)}.browser-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border)}.browser-dot{width:10px;height:10px;border-radius:50%}.browser-dot.red{background:#ef4444}.browser-dot.yellow{background:#f59e0b}.browser-dot.green{background:#10b981}.browser-url{flex:1;display:flex;align-items:center;gap:6px;background:var(--ide-surface);padding:3px 10px;border-radius:4px;font-size:11px;color:var(--ide-text-muted);font-family:ui-monospace,monospace;border:1px solid var(--ide-border)}.browser-btn{background:transparent;border:none;color:var(--ide-text-muted);cursor:pointer;font-size:14px}.browser-btn:hover{color:var(--ide-text)}.preview-iframe{flex:1;width:100%;min-height:220px;border:none;background:#fff}.snapshot-list{display:flex;flex-direction:column;gap:6px}.snapshot-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px}.ide-btn-sm{background:var(--ide-surface-elevated);border:1px solid var(--ide-border);color:var(--ide-text);padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer}.ide-btn-sm:hover{background:var(--ide-surface);color:#0284c7}.labs-hub{max-width:1200px;margin:0 auto;padding:8px 0 40px}.hub-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px;padding:32px;border-radius:16px;background:var(--ide-hero-bg);border:1px solid var(--ide-hero-border);box-shadow:var(--ide-hero-shadow);transition:all .2s ease}.hero-text h1{font-size:32px;font-weight:800;letter-spacing:-.03em;margin:0 0 10px;color:var(--ide-text)}.hero-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:#0284c726;border:1px solid rgba(56,189,248,.3);color:#0284c7;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}[data-theme=dark] .hero-tag{color:#38bdf8}.hero-sub{color:var(--ide-text-muted);font-size:14px;line-height:1.6;max-width:620px;margin:0}.hero-stats{display:flex;gap:14px}.stat-card{padding:16px 20px;border-radius:12px;background:var(--ide-card-bg);border:1px solid var(--ide-card-border);text-align:center;min-width:110px;box-shadow:var(--ide-card-shadow)}.stat-card.highlight{background:#0ea5e91a;border-color:#0ea5e94d}.stat-num{font-size:24px;font-weight:800;color:var(--ide-text);margin-bottom:2px}.stat-card.highlight .stat-num{color:#0284c7}[data-theme=dark] .stat-card.highlight .stat-num{color:#38bdf8}.stat-label{font-size:11px;color:var(--ide-text-muted);font-weight:600;text-transform:uppercase}.hub-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:280px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ide-text-muted);pointer-events:none}.search-input{width:100%;padding:12px 38px 12px 40px;border-radius:10px;background:var(--ide-surface);border:1px solid var(--ide-border);color:var(--ide-text);font-size:13px;outline:none;transition:all .15s}.search-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--ide-text-muted);font-size:16px;cursor:pointer}.filter-pills{display:flex;gap:8px}.pill-btn{padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;background:var(--ide-surface);border:1px solid var(--ide-border);color:var(--ide-text-muted);cursor:pointer;transition:all .15s}.pill-btn:hover{background:var(--ide-surface-elevated);color:var(--ide-text)}.pill-btn.active{background:#0ea5e9;color:#fff;border-color:#0284c7}.labs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.lab-card{display:flex;flex-direction:column;padding:20px;border-radius:14px;background:var(--ide-card-bg);border:1px solid var(--ide-card-border);box-shadow:var(--ide-card-shadow);transition:all .2s ease;position:relative;overflow:hidden}.lab-card:hover{transform:translateY(-2px);border-color:#0ea5e9;box-shadow:0 10px 24px -6px #0000001a}[data-theme=dark] .lab-card:hover{border-color:#2d384e;box-shadow:0 10px 24px -6px #0006}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.course-badge{font-size:11px;font-weight:600;color:#0284c7;background:#0ea5e91a;padding:3px 8px;border-radius:5px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .course-badge{color:#38bdf8}.diff-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:4px}.diff-badge.easy{background:#10b98126;color:#059669}.diff-badge.medium{background:#f59e0b26;color:#d97706}.diff-badge.hard{background:#ef444426;color:#dc2626}[data-theme=dark] .diff-badge.easy{color:#34d399}[data-theme=dark] .diff-badge.medium{color:#fbbf24}[data-theme=dark] .diff-badge.hard{color:#f87171}.card-title{font-size:17px;font-weight:700;margin:0 0 12px;line-height:1.4}.card-title a{color:var(--ide-text);text-decoration:none;transition:color .15s}.card-title a:hover{color:#0ea5e9}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;flex:1}.tag{font-size:11px;color:var(--ide-text-muted);background:var(--ide-surface-elevated);border:1px solid var(--ide-border);padding:2px 7px;border-radius:4px}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--ide-border)}.footer-meta{display:flex;gap:12px}.meta-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ide-text-muted)}.solve-link{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#0284c7;text-decoration:none;padding:6px 12px;border-radius:6px;background:#0ea5e91a;border:1px solid rgba(14,165,233,.25);transition:all .15s}.solve-link:hover{background:#0ea5e9;color:#fff}.loading-grid,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--ide-text-muted)}.empty-icon{font-size:40px;margin-bottom:12px}.empty-state h3{color:var(--ide-text);margin:0 0 8px}.empty-state p{margin:0 0 16px}app-lab{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;overflow:hidden;background:var(--ide-bg);color:var(--ide-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .15s,color .15s}.lab-workbench{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;background:var(--ide-bg)}.lab-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:14px;color:var(--ide-text-muted)}.workbench-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--ide-surface);border-bottom:1px solid var(--ide-border);z-index:20;-webkit-user-select:none;user-select:none}.workbench-header .header-left,.workbench-header .header-center,.workbench-header .header-right{display:flex;align-items:center;gap:12px}.back-link{display:flex;align-items:center;gap:4px;color:var(--ide-text-muted);text-decoration:none;font-size:13px;font-weight:600;padding:4px 8px;border-radius:6px;transition:all .15s}.back-link:hover{color:var(--ide-text);background:var(--ide-surface-elevated)}.breadcrumb-sep{color:var(--ide-text-faint)}.problem-meta{display:flex;align-items:center;gap:8px}.problem-title{font-size:14px;font-weight:700;color:var(--ide-text)}.badge-solved{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#059669;background:#10b98126;border:1px solid rgba(16,185,129,.3);padding:2px 7px;border-radius:4px}[data-theme=dark] .badge-solved{color:#10b981}.badge-practice{font-size:11px;font-weight:700;color:var(--ide-text-muted);background:var(--ide-surface-elevated);border:1px solid var(--ide-border);padding:2px 7px;border-radius:4px}.lang-selector{display:flex;background:var(--ide-surface-elevated);border:1px solid var(--ide-border);border-radius:6px;padding:2px}.lang-btn{background:transparent;border:none;color:var(--ide-text-muted);padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .12s}.lang-btn:hover{color:var(--ide-text)}.lang-btn.active{background:var(--ide-surface);color:#0284c7;font-weight:600;box-shadow:0 1px 3px #00000014}[data-theme=dark] .lang-btn.active{background:#232a3d;color:#38bdf8;box-shadow:none}.header-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--ide-surface);color:var(--ide-text);border:1px solid var(--ide-border);cursor:pointer;transition:all .15s}.header-btn:hover:not(:disabled){background:var(--ide-surface-elevated);color:var(--ide-text);border-color:#0284c7}.header-btn:disabled{opacity:.5;cursor:not-allowed}.header-btn.run-btn{background:#0284c7;border-color:#0369a1;color:#fff}.header-btn.run-btn:hover:not(:disabled){background:#0369a1}.header-btn.submit-btn{background:#10b981;border-color:#059669;color:#fff}.header-btn.submit-btn:hover:not(:disabled){background:#059669}.header-btn kbd{background:#00000014;padding:2px 4px;border-radius:3px;font-size:10px;color:var(--ide-text-muted)}[data-theme=dark] .header-btn kbd{background:#0000004d;color:#94a3b8}.workbench-body{display:grid;grid-template-columns:minmax(360px,44%) 1fr;flex:1;min-height:0;overflow:hidden}.problem-pane{display:flex;flex-direction:column;background:var(--ide-surface);border-right:1px solid var(--ide-border);overflow:hidden}.pane-tabs{display:flex;height:38px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);-webkit-user-select:none;user-select:none}.pane-tab{display:flex;align-items:center;gap:6px;padding:0 16px;background:transparent;border:none;color:var(--ide-text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;border-bottom:2px solid transparent}.pane-tab:hover{color:var(--ide-text)}.pane-tab.active{color:#0284c7;border-bottom-color:#0284c7;background:var(--ide-surface)}[data-theme=dark] .pane-tab.active{color:#38bdf8;border-bottom-color:#38bdf8}.pane-content{flex:1;overflow-y:auto;padding:24px}.problem-heading{font-size:22px;font-weight:800;margin:0 0 16px;color:var(--ide-text)}.statement-text{font-size:14px;line-height:1.7;color:var(--ide-text);white-space:pre-wrap}.section-subheading{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ide-text-muted);margin:24px 0 12px}.example-box{background:var(--ide-code-block);border:1px solid var(--ide-border);border-radius:8px;padding:14px;margin-bottom:14px}.example-header{font-size:12px;font-weight:700;color:#0284c7;margin-bottom:8px}[data-theme=dark] .example-header{color:#38bdf8}.example-field{margin-bottom:8px}.example-field:last-child{margin-bottom:0}.field-label{display:block;font-size:11px;font-weight:600;color:var(--ide-text-muted);margin-bottom:3px}.field-content{margin:0;font-family:ui-monospace,monospace;font-size:12px;color:var(--ide-text);background:var(--ide-surface);padding:6px 10px;border-radius:5px;border:1px solid var(--ide-border);white-space:pre-wrap}.specs-list{padding-left:20px;margin:0;font-size:13px;line-height:1.8;color:var(--ide-text-muted)}.specs-list strong{color:var(--ide-text)}.hints-banner{display:flex;gap:12px;padding:14px;background:#0ea5e914;border:1px solid rgba(14,165,233,.2);border-radius:8px;margin-bottom:18px}.lightbulb-icon{font-size:22px}.hints-banner h4{margin:0 0 4px;font-size:13px;color:#0284c7}[data-theme=dark] .hints-banner h4{color:#38bdf8}.hints-banner p{margin:0;font-size:12px;color:var(--ide-text-muted);line-height:1.5}.hint-cards{display:flex;flex-direction:column;gap:12px}.hint-card{background:var(--ide-code-block);border:1px solid var(--ide-border);border-radius:8px;overflow:hidden}.hint-card.unlocked{border-color:#38bdf84d}.hint-card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border)}.hint-badge{font-size:12px;font-weight:700;color:var(--ide-text)}.unlocked-tag{font-size:10px;font-weight:700;color:#059669;background:#10b9811a;padding:2px 6px;border-radius:4px;margin-left:8px}[data-theme=dark] .unlocked-tag{color:#10b981}.unlock-btn{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:5px;background:#0284c7;color:#fff;border:none;cursor:pointer;transition:background .15s}.unlock-btn:hover:not(:disabled){background:#0369a1}.unlock-btn:disabled{opacity:.6}.hint-body{padding:14px}.hint-text{margin:0;font-size:13px;line-height:1.6;color:var(--ide-text)}.locked-preview{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ide-text-muted)}.editorial-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:#0284c7;background:#0ea5e91a;padding:3px 8px;border-radius:4px;margin-bottom:14px}[data-theme=dark] .editorial-badge{color:#38bdf8}.editorial-text{margin:0;font-family:inherit;font-size:14px;line-height:1.7;color:var(--ide-text);white-space:pre-wrap}.editorial-locked{text-align:center;padding:40px 20px;color:var(--ide-text-muted)}.locked-icon{font-size:36px;margin-bottom:12px}.editorial-locked h3{color:var(--ide-text);margin:0 0 8px}.editorial-locked p{margin:0 0 20px;font-size:13px;line-height:1.6}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;background:var(--ide-code-block);border:1px solid var(--ide-border)}.history-item.success{border-color:#10b9814d}.sub-score{font-size:12px;font-weight:600;color:var(--ide-text-muted);margin-left:8px}.sub-lang,.sub-time{font-size:11px;color:var(--ide-text-faint);margin-left:10px}.editor-pane{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--ide-code-bg)}.code-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.editor-top-bar{display:flex;justify-content:space-between;align-items:center;height:36px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);padding:0 12px;-webkit-user-select:none;user-select:none}.file-tab{display:flex;align-items:center;gap:6px;font-size:12px;font-family:ui-monospace,monospace;color:var(--ide-text)}.editor-meta-info{font-size:11px;color:var(--ide-text-muted)}.monaco-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}.console-section{height:240px;background:var(--ide-surface);border-top:1px solid var(--ide-border);display:flex;flex-direction:column;z-index:10}.console-tabs-bar{display:flex;align-items:center;justify-content:space-between;height:34px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);padding:0 12px}.console-tabs{display:flex;gap:6px}.console-tab-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--ide-text-muted);font-size:12px;font-weight:600;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .12s}.console-tab-btn:hover{color:var(--ide-text)}.console-tab-btn.active{color:#0284c7;background:var(--ide-surface)}[data-theme=dark] .console-tab-btn.active{color:#38bdf8;background:#181d2a}.verdict-dot{width:6px;height:6px;border-radius:50%;background:#dc2626}.verdict-dot.ok{background:#059669}.verdict-mini{font-size:11px;font-weight:700;color:#dc2626;background:#ef444426;padding:2px 7px;border-radius:4px}.verdict-mini.ok{color:#059669;background:#10b98126}[data-theme=dark] .verdict-mini{color:#f87171}[data-theme=dark] .verdict-mini.ok{color:#34d399}.console-body{flex:1;overflow-y:auto;padding:14px;background:var(--ide-surface-sunken)}.case-selector-bar{display:flex;gap:8px;margin-bottom:14px}.case-btn{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--ide-surface);border:1px solid var(--ide-border);color:var(--ide-text-muted);cursor:pointer}.case-btn.active{background:var(--ide-surface);color:#0284c7;border-color:#0284c7;box-shadow:0 1px 3px #00000014}[data-theme=dark] .case-btn.active{background:#232a3d;color:#38bdf8;border-color:#38bdf8;box-shadow:none}.case-detail{display:flex;flex-direction:column;gap:10px}.detail-block{display:flex;flex-direction:column;gap:4px}.block-label{font-size:11px;font-weight:600;color:var(--ide-text-muted)}.block-data{margin:0;font-family:ui-monospace,monospace;font-size:12px;color:var(--ide-text);background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px;padding:8px 12px;white-space:pre-wrap}.running-state{display:flex;align-items:center;gap:10px;color:#0284c7;font-size:13px;padding:20px 0}[data-theme=dark] .running-state{color:#38bdf8}.spinner-xs{width:12px;height:12px;border:2px solid rgba(0,0,0,.1);border-top-color:#0284c7;border-radius:50%;animation:spin .8s linear infinite}[data-theme=dark] .spinner-xs{border-color:#fff3;border-top-color:#fff}.verdict-banner{display:flex;align-items:center;padding:12px 16px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);margin-bottom:14px}.verdict-banner.ok{background:#10b9811a;border-color:#10b98140}.banner-title{display:flex;align-items:center;gap:12px}.banner-glyph{font-size:24px}.banner-copy h3{margin:0 0 2px;font-size:14px;font-weight:700;color:#dc2626}.verdict-banner.ok .banner-copy h3{color:#059669}[data-theme=dark] .banner-copy h3{color:#f87171}[data-theme=dark] .verdict-banner.ok .banner-copy h3{color:#34d399}.banner-copy p{margin:0;font-size:12px;color:var(--ide-text-muted)}.outcomes-list{display:flex;flex-direction:column;gap:8px}.outcomes-header{font-size:12px;font-weight:700;color:var(--ide-text-muted);margin-bottom:4px}.case-outcome-card{background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px;padding:10px 12px}.case-outcome-card.ok{border-left:3px solid #059669}.outcome-top{display:flex;justify-content:space-between;margin-bottom:6px}.case-tag{font-size:12px;font-weight:700;color:var(--ide-text)}.case-verdict{font-size:11px;font-weight:700;color:#dc2626}.case-verdict.ok{color:#059669}[data-theme=dark] .case-verdict{color:#f87171}[data-theme=dark] .case-verdict.ok{color:#34d399}.stream-line{margin-top:6px}.line-label{display:block;font-size:10px;font-weight:600;color:var(--ide-text-muted);margin-bottom:2px}.stream-box{margin:0;font-family:ui-monospace,monospace;font-size:12px;background:var(--ide-surface-sunken);border:1px solid var(--ide-border);border-radius:4px;padding:6px 10px;color:var(--ide-text);white-space:pre-wrap}.stream-box.error{color:#dc2626;border-color:#ef44444d}[data-theme=dark] .stream-box.error{color:#fca5a5}.empty-cases{text-align:center;color:var(--ide-text-muted);padding:24px 0;font-size:13px}.cl-studio-hub{display:flex;flex-direction:column;gap:24px}.cl-studio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.cl-studio-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--cl-accent-subtle);color:var(--cl-accent);border:1px solid var(--cl-accent-border, rgba(99, 91, 255, .2));margin-bottom:8px}.cl-studio-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--cl-accent);box-shadow:0 0 8px var(--cl-accent)}.cl-studio-actions{display:flex;align-items:center;gap:10px}.cl-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-text);text-decoration:none;cursor:pointer;transition:all .15s ease}.cl-btn-secondary:hover{background:var(--cl-surface-elevated);border-color:var(--cl-border-hover, #635bff);color:var(--cl-accent)}.cl-btn-primary{display:inline-flex;align-items:center;gap:6px;font-weight:600}.cl-studio-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.cl-kpi-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:18px 20px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cl-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f;border-color:var(--cl-border-hover, rgba(99, 91, 255, .3))}.cl-kpi-card .cl-kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cl-kpi-card .cl-kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--cl-faint)}.cl-kpi-card .cl-kpi-icon{font-size:16px}.cl-kpi-card .cl-kpi-val{font-size:28px;font-weight:800;color:var(--cl-text);line-height:1.1;margin-bottom:4px}.cl-kpi-card .cl-kpi-meta{font-size:12px;color:var(--cl-faint)}.cl-kpi-card.published .cl-kpi-val{color:#10b981}.cl-kpi-card.draft .cl-kpi-val{color:#f59e0b}.cl-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px}.cl-studio-search{display:flex;align-items:center;gap:8px;flex:1;min-width:260px;position:relative}.cl-studio-search .search-icon{position:absolute;left:12px;color:var(--cl-faint);font-size:14px;pointer-events:none}.cl-studio-search input{width:100%;padding:8px 32px 8px 36px;border-radius:8px;border:1px solid var(--cl-border);background:var(--cl-surface-elevated);color:var(--cl-text);font-size:13px}.cl-studio-search input:focus{outline:none;border-color:var(--cl-accent)}.cl-studio-search .clear-btn{position:absolute;right:10px;background:transparent;border:none;color:var(--cl-faint);cursor:pointer;font-size:12px}.cl-studio-filters{display:flex;align-items:center;gap:12px}.cl-filter-group{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:8px;padding:2px;gap:2px}.cl-filter-tab{background:transparent;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;color:var(--cl-faint);cursor:pointer;transition:all .15s ease}.cl-filter-tab.active{background:var(--cl-surface);color:var(--cl-text);box-shadow:0 1px 4px #00000014}.cl-view-switcher{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:8px;padding:2px;gap:2px}.cl-view-btn{background:transparent;border:none;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;color:var(--cl-faint);cursor:pointer}.cl-view-btn.active{background:var(--cl-surface);color:var(--cl-accent);box-shadow:0 1px 4px #00000014}.cl-studio-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.cl-course-card{display:flex;flex-direction:column;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:14px;padding:22px;box-shadow:var(--cl-glass-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cl-course-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014;border-color:var(--cl-border-hover, rgba(99, 91, 255, .4))}.cl-course-card .cl-course-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cl-course-card .cl-course-code-badge{font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:6px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);color:var(--cl-accent)}.cl-course-card .cl-course-card-body{flex:1;margin-bottom:16px}.cl-course-card .cl-course-card-title{font-size:17px;font-weight:750;line-height:1.3;margin:0 0 8px}.cl-course-card .cl-course-card-title a{color:var(--cl-text);text-decoration:none}.cl-course-card .cl-course-card-title a:hover{color:var(--cl-accent)}.cl-course-card .cl-course-card-desc{font-size:13px;line-height:1.5;color:var(--cl-faint);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cl-course-card .cl-course-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.cl-course-card .cl-course-card-meta .meta-tag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--cl-surface-elevated);color:var(--cl-faint)}.cl-course-card .cl-course-card-meta .meta-tag.status.live{color:#10b981;background:#10b9811a}.cl-course-card .cl-course-card-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--cl-border);padding-top:14px}.cl-course-card .cl-course-card-actions .cl-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text);cursor:pointer;transition:all .15s ease}.cl-course-card .cl-course-card-actions .cl-action-btn.edit{background:var(--cl-accent);border-color:var(--cl-accent);color:#fff;flex:1;justify-content:center}.cl-course-card .cl-course-card-actions .cl-action-btn.edit:hover{filter:brightness(1.1)}.cl-course-card .cl-course-card-actions .cl-action-btn.preview:hover{background:var(--cl-surface-elevated);color:var(--cl-accent)}.cl-course-card .cl-course-card-actions .cl-action-btn.delete{color:var(--cl-danger)}.cl-course-card .cl-course-card-actions .cl-action-btn.delete:hover{background:#ef44441a;border-color:var(--cl-danger)}.cl-studio-table-wrap{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;overflow:hidden}.cl-studio-table{width:100%;border-collapse:collapse}.cl-studio-table th{padding:12px 18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);background:var(--cl-surface-elevated);border-bottom:1px solid var(--cl-border);text-align:left}.cl-studio-table td{padding:14px 18px;font-size:13px;border-bottom:1px solid var(--cl-border);vertical-align:middle}.cl-studio-table tr:last-child td{border-bottom:none}.cl-studio-table tr:hover td{background:var(--cl-surface-elevated)}.cl-studio-table .cl-code-tag{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:var(--cl-accent-subtle);color:var(--cl-accent)}.cl-studio-table .cl-table-title a{font-weight:700;color:var(--cl-text);text-decoration:none}.cl-studio-table .cl-table-title a:hover{color:var(--cl-accent)}.cl-studio-table .cl-table-sub{font-size:12px;color:var(--cl-faint);margin-top:2px}.cl-studio-table .cl-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.cl-studio-table .cl-table-actions .cl-link-sub{color:var(--cl-faint);text-decoration:none;font-size:12px;font-weight:600}.cl-studio-table .cl-table-actions .cl-link-sub:hover{color:var(--cl-text)}.cl-studio-table .cl-table-actions .primary-link{color:var(--cl-accent);text-decoration:none;font-size:12px;font-weight:700}.cl-studio-table .cl-table-actions .primary-link:hover{text-decoration:underline}.cl-studio-table .cl-table-actions .cl-icon-del{background:transparent;border:none;color:var(--cl-faint);cursor:pointer;font-size:14px}.cl-studio-table .cl-table-actions .cl-icon-del:hover{color:var(--cl-danger)}.cl-studio-editor-container{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 120px)}.cl-studio-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;flex-wrap:wrap}.cl-studio-topbar .cl-topbar-left{display:flex;align-items:center;gap:10px}.cl-studio-topbar .cl-back-link{font-size:13px;font-weight:700;color:var(--cl-faint);text-decoration:none}.cl-studio-topbar .cl-back-link:hover{color:var(--cl-text)}.cl-studio-topbar .cl-topbar-crumb-sep{color:var(--cl-border)}.cl-studio-topbar .cl-topbar-course-info{display:flex;align-items:center;gap:10px}.cl-studio-topbar .cl-course-code-pill{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:var(--cl-accent-subtle);color:var(--cl-accent)}.cl-studio-topbar .cl-topbar-title{font-size:17px;font-weight:750;margin:0;color:var(--cl-text)}.cl-studio-topbar .cl-topbar-right{display:flex;align-items:center;gap:12px}.cl-studio-topbar .cl-health-indicator{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.cl-studio-topbar .cl-health-indicator .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.cl-studio-topbar .cl-health-indicator.ready{background:#10b9811f;color:#10b981;border-color:#10b9814d}.cl-studio-topbar .cl-published-label{font-size:12px;font-weight:700;color:#10b981}.cl-studio-nav-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--cl-border);padding-bottom:4px}.cl-studio-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px 8px 0 0;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--cl-faint);cursor:pointer;position:relative;transition:all .15s ease}.cl-studio-tab-btn:hover{color:var(--cl-text);background:var(--cl-surface-elevated)}.cl-studio-tab-btn.active{color:var(--cl-accent);background:var(--cl-surface);font-weight:700}.cl-studio-tab-btn.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--cl-accent)}.cl-studio-tab-btn .tab-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--cl-surface-elevated);color:var(--cl-faint)}.cl-studio-tab-btn .tab-badge.ok{background:#10b98126;color:#10b981}.cl-curriculum-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;flex:1}.cl-curriculum-sidebar{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 220px);overflow-y:auto}.cl-curriculum-sidebar .cl-sidebar-header{display:flex;align-items:center;justify-content:space-between}.cl-curriculum-sidebar .cl-sidebar-header h3{font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);margin:0}.cl-curriculum-sidebar .cl-sidebar-header .cl-mini-btn{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;color:var(--cl-accent);cursor:pointer}.cl-curriculum-sidebar .cl-sidebar-header .cl-mini-btn:hover{background:var(--cl-accent-subtle)}.cl-curriculum-sidebar .cl-module-list{display:flex;flex-direction:column;gap:12px}.cl-curriculum-sidebar .cl-module-block{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:8px;overflow:hidden}.cl-curriculum-sidebar .cl-module-title-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#00000005;border-bottom:1px solid var(--cl-border)}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-info{display:flex;align-items:center;gap:6px}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-num{font-size:10px;font-weight:800;color:var(--cl-accent)}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-name{font-size:12px;font-weight:700;color:var(--cl-text)}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-actions{display:flex;gap:4px}.cl-curriculum-sidebar .cl-module-title-bar .cl-icon-action{background:transparent;border:none;font-size:13px;color:var(--cl-faint);cursor:pointer;padding:2px 4px;border-radius:4px}.cl-curriculum-sidebar .cl-module-title-bar .cl-icon-action:hover{color:var(--cl-text);background:#0000000d}.cl-curriculum-sidebar .cl-module-title-bar .cl-icon-action.danger:hover{color:var(--cl-danger)}.cl-curriculum-sidebar .cl-lesson-sublist{display:flex;flex-direction:column;padding:4px}.cl-curriculum-sidebar .cl-lesson-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:12px;font-weight:600;color:var(--cl-text);transition:all .15s ease}.cl-curriculum-sidebar .cl-lesson-item:hover{background:var(--cl-surface)}.cl-curriculum-sidebar .cl-lesson-item.active{background:var(--cl-surface);border:1px solid var(--cl-accent-border, rgba(99, 91, 255, .3));color:var(--cl-accent);font-weight:700}.cl-curriculum-sidebar .cl-lesson-item .cl-lesson-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-curriculum-sidebar .cl-lesson-item .cl-lesson-num{font-size:10px;color:var(--cl-faint)}.cl-curriculum-sidebar .cl-no-lessons{padding:10px;text-align:center;font-size:11px;color:var(--cl-faint)}.cl-curriculum-sidebar .cl-no-lessons .cl-link-btn{display:block;margin:4px auto 0;background:transparent;border:none;color:var(--cl-accent);font-weight:700;cursor:pointer}.cl-lesson-stage{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.cl-lesson-editor-pane{display:flex;flex-direction:column;height:100%}.cl-editor-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);flex-wrap:wrap}.cl-editor-header .cl-editor-title-wrap{flex:1;min-width:240px}.cl-editor-header .cl-field-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);margin-bottom:4px}.cl-editor-header .cl-lesson-title-input{width:100%;font-size:16px;font-weight:750;padding:6px 10px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text)}.cl-editor-header .cl-editor-meta-wrap{display:flex;align-items:flex-end;gap:12px}.cl-editor-header .cl-select{padding:6px 12px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text);font-size:12px;font-weight:600}.cl-editor-header .cl-editor-actions{display:flex;align-items:center;gap:8px}.cl-editor-header .cl-save-lesson-btn{font-size:12px;font-weight:700;padding:7px 16px}.cl-video-config-bar{padding:12px 20px;border-bottom:1px solid var(--cl-border);background:#00000003}.cl-video-config-bar .cl-video-input-wrap{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cl-video-config-bar .cl-video-input-wrap .cl-video-icon{font-size:16px}.cl-video-config-bar .cl-video-input-wrap .cl-video-url-input{flex:1;padding:6px 12px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text);font-size:12px}.cl-video-config-bar .cl-video-preview-wrapper{max-width:480px;border-radius:8px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--cl-border);margin:8px 0}.cl-video-config-bar .cl-video-preview-wrapper .cl-video-preview-frame{width:100%;height:100%}.cl-markdown-authoring-container{display:flex;flex-direction:column;flex:1;min-height:480px}.cl-markdown-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);gap:8px;flex-wrap:wrap}.cl-markdown-toolbar .cl-toolbar-left{display:flex;align-items:center;gap:4px}.cl-markdown-toolbar .cl-tool-btn{background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700;color:var(--cl-text);cursor:pointer}.cl-markdown-toolbar .cl-tool-btn:hover{background:var(--cl-surface);border-color:var(--cl-border)}.cl-markdown-toolbar .cl-tool-sep{width:1px;height:16px;background:var(--cl-border);margin:0 4px}.cl-markdown-toolbar .cl-view-modes{display:flex;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:6px;padding:2px;gap:2px}.cl-markdown-toolbar .cl-view-mode-btn{background:transparent;border:none;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;color:var(--cl-faint);cursor:pointer}.cl-markdown-toolbar .cl-view-mode-btn.active{background:var(--cl-surface-elevated);color:var(--cl-accent);font-weight:700}.cl-markdown-panels{display:grid;grid-template-columns:1fr;flex:1;min-height:0}.cl-markdown-panels.split{grid-template-columns:1fr 1fr}.cl-markdown-panels .cl-editor-pane{display:flex;flex-direction:column;border-right:1px solid var(--cl-border)}.cl-markdown-panels .cl-markdown-textarea{width:100%;height:100%;min-height:440px;padding:18px;border:none;background:var(--cl-surface);color:var(--cl-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;resize:none;outline:none}.cl-markdown-panels .cl-preview-pane{padding:22px 26px;overflow-y:auto;background:var(--cl-surface-elevated);max-height:600px}.cl-markdown-panels .cl-rendered-content{font-size:14px;line-height:1.7;color:var(--cl-text)}.cl-markdown-panels .cl-rendered-content h1,.cl-markdown-panels .cl-rendered-content h2,.cl-markdown-panels .cl-rendered-content h3{color:var(--cl-text);margin-top:18px;margin-bottom:8px}.cl-markdown-panels .cl-rendered-content p{margin-bottom:12px}.cl-markdown-panels .cl-rendered-content blockquote{border-left:3px solid var(--cl-accent);padding-left:12px;margin:12px 0;color:var(--cl-faint);font-style:italic}.cl-markdown-panels .cl-rendered-content pre{background:#0f172a;color:#f8fafc;padding:14px;border-radius:8px;overflow-x:auto}.cl-markdown-panels .cl-rendered-content code{font-family:monospace;background:#0000000f;padding:2px 5px;border-radius:4px}.cl-lesson-empty-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.cl-lesson-empty-stage .cl-stage-graphic{font-size:42px;margin-bottom:14px}.cl-lesson-empty-stage h3{margin-bottom:6px;font-size:18px}.cl-quiz-workspace{display:flex;flex-direction:column;gap:20px}.cl-quiz-header-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;flex-wrap:wrap}.cl-quiz-header-banner .cl-quiz-badge{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--cl-accent)}.cl-quiz-header-banner h2{margin:4px 0;font-size:20px}.cl-quiz-header-banner .cl-quiz-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cl-questions-grid{display:flex;flex-direction:column;gap:14px}.cl-question-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:10px;padding:16px 20px}.cl-question-card .cl-question-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cl-question-card .cl-question-num-tag{font-size:11px;font-weight:800;color:var(--cl-accent)}.cl-question-card .cl-qtype-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--cl-surface-elevated);color:var(--cl-faint)}.cl-question-card .cl-points-badge{font-size:11px;font-weight:700;color:var(--cl-faint)}.cl-question-card .cl-qdel-btn{margin-left:auto;background:transparent;border:none;color:var(--cl-faint);cursor:pointer;font-size:13px}.cl-question-card .cl-qdel-btn:hover{color:var(--cl-danger)}.cl-question-card .cl-question-prompt{font-size:14px;font-weight:600;color:var(--cl-text);margin-bottom:12px}.cl-question-card .cl-question-options{display:flex;flex-direction:column;gap:6px}.cl-question-card .cl-qoption-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;background:var(--cl-surface-elevated);font-size:13px}.cl-question-card .cl-qoption-row.is-correct{background:#10b98114;border:1px solid rgba(16,185,129,.25)}.cl-question-card .cl-qoption-row .cl-option-letter{font-weight:800;color:var(--cl-faint);width:18px}.cl-question-card .cl-qoption-row .cl-option-text{flex:1;color:var(--cl-text)}.cl-question-card .cl-qoption-row .cl-correct-pill{font-size:11px;font-weight:700;color:#10b981}.cl-import-wizard{display:flex;flex-direction:column;gap:16px}.cl-import-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.cl-import-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.cl-import-upload-btn{cursor:pointer;margin:0}.cl-import-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cl-import-stat{padding:12px 14px;border-radius:8px;border:1px solid var(--cl-border);background:var(--cl-surface-elevated)}.cl-import-stat .label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--cl-faint)}.cl-import-stat .value{font-size:22px;font-weight:800}.cl-import-stat.ok .value{color:#10b981}.cl-import-stat.warn .value{color:#d97706}.cl-import-stat.err .value{color:var(--cl-danger)}.cl-import-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.cl-import-chip{border:1px solid var(--cl-border);background:var(--cl-surface);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer}.cl-import-chip.active{border-color:var(--cl-accent);background:rgba(var(--cl-accent-rgb, 99, 102, 241),.12);color:var(--cl-accent)}.cl-import-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px;min-height:280px}.cl-import-table-wrap{overflow:auto;border:1px solid var(--cl-border);border-radius:8px;max-height:360px}.cl-import-table{width:100%;border-collapse:collapse;font-size:13px}.cl-import-table th,.cl-import-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--cl-border)}.cl-import-table th{position:sticky;top:0;background:var(--cl-surface-elevated);font-size:11px;text-transform:uppercase;color:var(--cl-faint)}.cl-import-table tbody tr{cursor:pointer}.cl-import-table tbody tr:hover{background:var(--cl-surface-elevated)}.cl-import-table tbody tr.active{background:rgba(var(--cl-accent-rgb, 99, 102, 241),.08)}.cl-import-table .prompt{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-import-status[data-status=valid]{color:#10b981;font-weight:700}.cl-import-status[data-status=warning]{color:#d97706;font-weight:700}.cl-import-status[data-status=error]{color:var(--cl-danger);font-weight:700}.cl-import-detail{border:1px solid var(--cl-border);border-radius:8px;padding:14px;background:var(--cl-surface);overflow:auto;max-height:360px}.cl-import-detail h4,.cl-import-detail h5{margin:0 0 8px;font-size:14px}.cl-import-detail h5{margin-top:14px}.cl-import-detail-meta{display:grid;gap:6px;font-size:13px}.cl-import-detail-meta div{display:flex;gap:8px}.cl-import-detail-meta dt{font-weight:700;color:var(--cl-faint);min-width:56px}.cl-import-detail-meta dd{margin:0}.cl-import-issue-list{margin:0;padding-left:18px;font-size:12px}.cl-import-issue-list li[data-severity=Error]{color:var(--cl-danger)}.cl-import-issue-list li[data-severity=Warning]{color:#b45309}.cl-import-issue-list .code{font-weight:700;margin-right:4px}.cl-import-commit{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:8px;border-top:1px solid var(--cl-border)}.cl-import-mode{border:none;margin:0;padding:0}.cl-import-mode legend{font-size:12px;font-weight:700;margin-bottom:6px}.cl-import-mode label{display:block;font-size:13px;margin-bottom:4px}.cl-import-commit-actions{display:flex;gap:10px;flex-wrap:wrap}.cl-bank-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:12px 0;max-width:640px}.cl-settings-workspace{display:flex;flex-direction:column}.cl-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}.cl-settings-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:24px}.cl-settings-card h3{margin-top:0;margin-bottom:6px;font-size:17px}.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cl-health-checklist{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:12px}.cl-health-checklist li{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:8px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border)}.cl-health-checklist li .check-icon{font-weight:800;color:var(--cl-faint)}.cl-health-checklist li.pass{border-color:#10b98140;background:#10b9810a}.cl-health-checklist li.pass .check-icon{color:#10b981}.cl-health-checklist li .check-sub{font-size:11px;color:var(--cl-faint);margin-top:2px}.cl-publish-action-box{margin-top:24px;padding-top:18px;border-top:1px solid var(--cl-border)}.cl-publish-action-box .cl-full-btn{width:100%;padding:12px;font-size:14px;font-weight:700}.cl-published-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.cl-published-banner .icon{font-size:20px;color:#10b981;font-weight:900}.cl-attached-coding-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:24px}.cl-attached-coding-card .cl-coding-tag{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--cl-accent);margin-bottom:4px}.cl-attached-coding-card h3{margin:0 0 8px}.cl-attached-coding-card .cl-coding-card-actions{display:flex;gap:12px;margin-top:18px}.cl-attach-banner{margin-top:16px;padding:14px;border-radius:8px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.modal-body-pad{padding:8px 4px 4px}.modal-subhead{font-size:13px;color:var(--cl-faint);margin-bottom:16px}.req{color:var(--cl-danger)}@media(max-width:860px){.cl-curriculum-workspace,.cl-settings-grid,.cl-markdown-panels.split{grid-template-columns:1fr}}.iam-container{display:flex;flex-direction:column;gap:20px}.iam-top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.iam-workspace-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}@media(max-width:990px){.iam-workspace-grid{grid-template-columns:1fr}}.iam-sidebar{display:flex;flex-direction:column;gap:12px;background:var(--cl-surface-solid);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);padding:16px;box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight)}.iam-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--cl-border)}.iam-sidebar-header h3{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cl-faint)}.iam-scope-tabs{display:flex;gap:4px;flex-wrap:wrap}.iam-scope-tab{border:0;background:transparent;padding:4px 8px;border-radius:var(--cl-radius-sm);font-size:11.5px;font-weight:600;color:var(--cl-muted);cursor:pointer;transition:all .12s ease}.iam-scope-tab:hover{background:var(--cl-surface-elevated);color:var(--cl-text)}.iam-scope-tab.active{background:var(--cl-accent-soft);color:var(--cl-accent);font-weight:700}.iam-role-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 280px);overflow-y:auto;padding-right:2px}.iam-role-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--cl-radius);border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:all .15s cubic-bezier(.16,1,.3,1);position:relative;width:100%}.iam-role-card:hover{background:var(--cl-surface-elevated);border-color:var(--cl-border);transform:translate(2px)}.iam-role-card.active{background:var(--cl-surface-elevated);border-color:#635bff59;box-shadow:0 4px 14px #635bff1f,inset 0 1px #fff9}.iam-role-card.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3.5px;border-radius:0 4px 4px 0;background:var(--cl-accent);box-shadow:0 0 8px var(--cl-accent)}.iam-role-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.iam-role-title{font-size:13.5px;font-weight:650;color:var(--cl-text);margin:0}.iam-role-sub{font-size:11.5px;color:var(--cl-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.iam-role-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.iam-detail-panel{display:flex;flex-direction:column;gap:18px}.iam-hero-card{background:var(--cl-surface-solid);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);padding:22px 26px;box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);display:flex;flex-direction:column;gap:16px}.iam-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.iam-hero-info h2{font-size:20px;font-weight:750;margin:0 0 6px;letter-spacing:-.02em;color:var(--cl-text)}.iam-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.iam-safety-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--cl-radius);background:#635bff14;border:1px solid rgba(99,91,255,.2);font-size:13px;color:var(--cl-text)}.iam-safety-banner.locked{background:#64748b14;border-color:#64748b40}.iam-safety-banner.current-user{background:#f59e0b1a;border-color:#f59e0b4d}.iam-unsaved-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-radius:var(--cl-radius);background:linear-gradient(135deg,#635bff24,#00d4ff14);border:1px solid rgba(99,91,255,.35);box-shadow:0 4px 16px #635bff26;animation:slide-down .2s cubic-bezier(.16,1,.3,1)}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.iam-unsaved-text{display:flex;align-items:center;gap:8px;font-weight:650;font-size:13.5px;color:var(--cl-text)}.iam-perms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;background:var(--cl-surface-solid);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);flex-wrap:wrap}.iam-perms-stat{font-size:13px;font-weight:600;color:var(--cl-muted)}.iam-perms-stat strong{color:var(--cl-accent);font-size:14px}.iam-modules-list{display:flex;flex-direction:column;gap:14px}.iam-module-card{background:var(--cl-surface-solid);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);overflow:hidden;transition:border-color .15s ease}.iam-module-card:hover{border-color:#635bff4d}.iam-module-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--cl-surface-elevated);border-bottom:1px solid var(--cl-border);cursor:pointer;-webkit-user-select:none;user-select:none}.iam-module-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--cl-text)}.iam-module-actions{display:flex;align-items:center;gap:8px}.iam-perms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;padding:16px 20px}.iam-perm-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--cl-radius);background:var(--cl-surface-elevated);border:1px solid var(--cl-border);transition:all .15s ease}.iam-perm-item:hover{background:var(--cl-surface-solid);border-color:#635bff4d}.iam-perm-item.is-granted{border-color:#635bff4d;background:var(--cl-accent-soft)}.iam-perm-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.iam-perm-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:700;color:var(--cl-text);display:flex;align-items:center;gap:6px}.iam-perm-desc{font-size:12px;color:var(--cl-muted);line-height:1.4}.iam-matrix-wrapper{background:var(--cl-surface-solid);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);overflow-x:auto;max-width:100%}.iam-matrix-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0}.iam-matrix-table th{position:sticky;top:0;z-index:2;background:var(--cl-surface-elevated);padding:12px 14px;font-size:12px;font-weight:700;color:var(--cl-text);border-bottom:2px solid var(--cl-border);white-space:nowrap}.iam-matrix-table th.perm-col{text-align:left;min-width:240px}.iam-matrix-table th.role-col{text-align:center;min-width:120px}.iam-matrix-table td{padding:10px 14px;border-bottom:1px solid var(--cl-border);font-size:13px}.iam-matrix-table td.role-cell{text-align:center}.iam-matrix-table tr.module-section-row td{background:#635bff0d;font-weight:750;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--cl-accent);padding:8px 14px}.matrix-check-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:inline-grid;place-items:center;transition:all .12s ease}.matrix-check-btn:hover:not(:disabled){background:var(--cl-accent-soft)}.matrix-check-btn:disabled{cursor:default}.dash-container{display:flex;flex-direction:column;gap:20px;max-width:1440px;margin:0 auto;width:100%}.dash-cmd-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius);box-shadow:0 1px 3px #00000005;flex-wrap:wrap}.dash-cmd-left,.dash-cmd-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dash-status-beacon{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--cl-success);padding:4px 10px;background:var(--cl-success-bg, rgba(16, 185, 129, .1));border:1px solid var(--cl-success-border, rgba(16, 185, 129, .2));border-radius:99px}.dash-pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--cl-success);box-shadow:0 0 #10b981b3;animation:pulseBeacon 2s infinite cubic-bezier(.66,0,0,1)}@keyframes pulseBeacon{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.dash-meta-tag{font-size:11.5px;color:var(--cl-muted);display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.timeframe-pill-group{display:inline-flex;padding:2px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);gap:2px}.timeframe-btn{background:transparent;border:none;font-size:11.5px;font-weight:600;color:var(--cl-muted);padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .15s ease}.timeframe-btn:hover{color:var(--cl-text)}.timeframe-btn.active{background:var(--cl-surface-elevated);color:var(--cl-accent);box-shadow:0 1px 3px #0000000d}.cmd-k-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--cl-faint);padding:4px 8px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm)}kbd{font-family:inherit;font-size:10px;padding:1px 4px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:3px;box-shadow:0 1px #0000001a}.dash-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 2px 10px #00000005;position:relative;overflow:hidden}.dash-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cl-accent)}.dash-hero-title{font-size:22px;font-weight:800;letter-spacing:-.025em;color:var(--cl-text);margin:0 0 4px;display:flex;align-items:center;gap:10px}.dash-hero-sub{color:var(--cl-muted);font-size:13px;margin:0 0 6px;display:flex;align-items:center;gap:8px}.dash-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.persona-preview-chip{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:var(--cl-surface);border:1px solid var(--cl-border);font-size:12px;font-weight:600;color:var(--cl-text)}.dash-recommend-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:var(--cl-radius);background:linear-gradient(135deg,#635bff0f,#a855f70f);border:1px solid rgba(99,91,255,.2);animation:fadeIn .3s ease}.dash-recommend-content{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--cl-text)}.dash-recommend-icon{width:28px;height:28px;border-radius:var(--cl-radius-sm);background:var(--cl-surface);border:1px solid var(--cl-border);display:grid;place-items:center;color:var(--cl-accent)}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.kpi-card{padding:18px 20px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius);box-shadow:0 1px 4px #00000005;display:flex;flex-direction:column;gap:12px;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;text-decoration:none;color:inherit}.kpi-card:hover{transform:translateY(-2px);border-color:#635bff59;box-shadow:0 8px 24px #635bff14}.kpi-head{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:12.5px;font-weight:650;color:var(--cl-muted);letter-spacing:-.01em}.kpi-icon-wrap{width:34px;height:34px;border-radius:var(--cl-radius-sm);display:grid;place-items:center;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-muted);flex-shrink:0;transition:all .2s ease}.kpi-card:hover .kpi-icon-wrap{color:var(--cl-accent);border-color:#635bff4d;background:var(--cl-accent-soft)}.kpi-icon-wrap svg{width:17px;height:17px;stroke:currentColor;fill:none}.kpi-body-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.kpi-value-block{display:flex;flex-direction:column}.kpi-value{font-size:28px;font-weight:800;letter-spacing:-.035em;color:var(--cl-text);line-height:1}.kpi-sparkline{width:84px;height:28px;flex-shrink:0}.kpi-footer{font-size:11.5px;color:var(--cl-faint);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--cl-border-light);padding-top:8px}.kpi-trend{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-size:11px}.kpi-trend.up{color:var(--cl-success)}.kpi-trend.neutral{color:var(--cl-faint)}.dash-grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}@media(max-width:1024px){.col-8,.col-6,.col-4{grid-column:span 12}}.widget-card{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 1px 6px #00000005;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease}.widget-card:hover{border-color:#635bff40}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface)}.widget-title-group{display:flex;align-items:center;gap:10px;color:var(--cl-text)}.widget-title-group svg{color:var(--cl-muted);flex-shrink:0}.widget-title-group h3{font-size:14px;font-weight:700;margin:0;color:var(--cl-text);letter-spacing:-.01em}.widget-actions{display:flex;align-items:center;gap:8px}.widget-body{padding:20px;flex:1}.widget-body.no-padding{padding:0}.cmd-deck-sections{display:flex;flex-direction:column;gap:18px}.cmd-deck-category{display:flex;flex-direction:column;gap:8px}.cmd-category-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);display:flex;align-items:center;gap:6px}.cmd-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.quick-action-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius);text-decoration:none;color:var(--cl-text);font-weight:650;font-size:13px;transition:all .15s cubic-bezier(.16,1,.3,1);cursor:pointer;text-align:left;position:relative}.quick-action-btn:hover{background:var(--cl-surface-elevated);border-color:var(--cl-accent);color:var(--cl-accent);transform:translateY(-1px);box-shadow:0 4px 12px #635bff14}.quick-action-icon{width:32px;height:32px;border-radius:var(--cl-radius-sm);display:grid;place-items:center;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);color:var(--cl-muted);flex-shrink:0;transition:all .15s ease}.quick-action-btn:hover .quick-action-icon{color:var(--cl-accent);border-color:#635bff4d}.quick-action-icon svg{width:16px;height:16px;stroke:currentColor}.action-kbd{margin-left:auto;opacity:.6}.uptime-matrix-wrap{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--cl-border)}.uptime-bar-row{display:flex;align-items:center;gap:3px}.uptime-tick{flex:1;height:24px;border-radius:2px;background:var(--cl-success);opacity:.85;transition:opacity .15s ease,transform .15s ease}.uptime-tick:hover{opacity:1;transform:scaleY(1.15)}.uptime-legend{display:flex;justify-content:space-between;font-size:11px;color:var(--cl-faint)}.telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.telemetry-card{padding:14px;border-radius:var(--cl-radius);background:var(--cl-surface);border:1px solid var(--cl-border);display:flex;flex-direction:column;gap:8px}.telemetry-card-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--cl-muted);font-weight:600}.telemetry-card-val{font-size:14px;font-weight:750;color:var(--cl-text);font-family:ui-monospace,SFMono-Regular,monospace}.telemetry-card-sub{font-size:11px;color:var(--cl-faint)}.activity-stream{display:flex;flex-direction:column}.activity-row{display:flex;align-items:flex-start;gap:12px;padding:12px 18px;border-bottom:1px solid var(--cl-border-light);font-size:13px}.activity-row:last-child{border-bottom:none}.activity-avatar{width:28px;height:28px;border-radius:var(--cl-radius-sm);background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-muted);display:grid;place-items:center;flex-shrink:0}.activity-avatar svg{width:14px;height:14px;stroke:currentColor}.activity-content{flex:1;min-width:0}.activity-title{color:var(--cl-text);line-height:1.4;font-weight:550}.activity-meta{font-size:11px;color:var(--cl-faint);margin-top:2px;font-family:ui-monospace,SFMono-Regular,monospace}.preset-pills-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.preset-pill-btn{padding:8px 14px;border-radius:99px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-muted);font-size:12.5px;font-weight:650;cursor:pointer;transition:all .15s ease}.preset-pill-btn:hover{background:var(--cl-surface-elevated);color:var(--cl-text)}.preset-pill-btn.active{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent)}.widget-manager-list{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow-y:auto;padding-right:4px}.widget-manager-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--cl-radius);background:var(--cl-surface);border:1px solid var(--cl-border);gap:14px}.widget-manager-info{display:flex;align-items:center;gap:10px;flex:1}.widget-manager-order-btns{display:flex;gap:4px}.page{padding:var(--page-padding-y) var(--page-padding-x) var(--page-padding-bottom);max-width:var(--page-max-width)}.page--form{max-width:var(--page-max-width-form)}.page--readable{max-width:var(--page-max-width-readable)}.head{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--block-gap);padding:var(--card-padding);border-radius:0}@media(max-width:768px){.head{flex-direction:column}}h1{font-size:var(--text-page-title);line-height:var(--lh-heading);letter-spacing:-.03em}h2{font-size:var(--text-section);line-height:var(--lh-heading)}h3{font-size:var(--text-subsection);line-height:var(--lh-heading)}.sub{font-size:var(--text-body);line-height:var(--lh-body);color:var(--cl-muted)}.field{margin:0 0 var(--field-gap)}.field>span,.field-label{font-size:var(--text-helper);font-weight:650;letter-spacing:.04em;margin:0 0 var(--label-gap)}.field-hint,.field-error{margin-top:var(--helper-gap);font-size:var(--text-helper)}.form-row,.field-row{gap:var(--space-4);align-items:center}.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media(max-width:768px){.field-grid-2{grid-template-columns:1fr}}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not(.search),select,.form-input,.form-select{min-height:var(--control-height);height:var(--control-height);padding:0 var(--control-padding-x);font-size:var(--control-font-size);line-height:var(--lh-tight);border-radius:var(--control-radius);box-sizing:border-box}textarea,.form-textarea{min-height:calc(var(--control-height) * 2.5);height:auto;padding:var(--space-3) var(--control-padding-x);font-size:var(--control-font-size);line-height:var(--lh-body);border-radius:var(--control-radius)}select,.form-select{padding-right:var(--space-10)}.btn,button.primary,button.secondary,button.outline,button.ghost,button.danger,button.link,.btn-primary,.btn-secondary,.btn-outline,.btn-ghost,.btn-danger,a.btn-primary,a.btn-secondary,.cl-btn-secondary,.cl-btn-primary{min-height:var(--control-height);height:var(--control-height);padding:0 var(--control-padding-x);font-size:var(--control-font-size);font-weight:600;gap:var(--space-3);border-radius:var(--control-radius);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn-sm,button.btn-sm,.cl-qmini{min-height:var(--control-height-sm);height:var(--control-height-sm);padding:0 var(--control-padding-x-sm);font-size:var(--text-helper)}.btn-lg,button.btn-lg{min-height:var(--control-height-lg);height:var(--control-height-lg);padding:0 var(--space-6)}.cl-btn-secondary{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);color:var(--cl-text);text-decoration:none;cursor:pointer}.cl-btn-secondary:hover{border-color:#635bff59;color:var(--cl-accent)}.btn-icon{width:var(--control-height);min-width:var(--control-height);padding:0}.btn-icon.btn-sm{width:var(--control-height-sm);min-width:var(--control-height-sm)}.toolbar,.cl-studio-toolbar,.hub-toolbar,.cl-import-toolbar,.iam-perms-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--toolbar-gap);margin-bottom:var(--stack-gap)}.toolbar__spacer,.toolbar-spacer{flex:1;min-width:var(--space-3)}.toolbar__actions,.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--btn-gap);margin-left:auto}@media(max-width:768px){.toolbar__actions,.toolbar-actions{width:100%;margin-left:0}.toolbar__actions>.btn,.toolbar__actions>button,.toolbar__actions>a,.toolbar-actions>.btn,.toolbar-actions>button,.toolbar-actions>a{flex:1 1 auto}}.card,fieldset,.studio-grid .block,.wallet-card,.layout-card{padding:var(--card-padding);border-radius:var(--radius-lg);box-shadow:var(--shadow-surface)}.card+.card,.section+.section{margin-top:var(--section-gap)}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--stack-gap);flex-wrap:wrap}.section-header h2,.section-header h3{margin:0}.section-header .sub{margin:var(--space-2) 0 0}table{border-radius:var(--radius-lg)}th{height:var(--control-height);padding:0 var(--space-5);font-size:var(--text-meta);vertical-align:middle}td{height:auto;min-height:var(--control-height-touch);padding:var(--space-4) var(--space-5);font-size:var(--text-table);vertical-align:middle}tr:last-child td{border-bottom:0}.badge,.pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 var(--space-3);font-size:var(--text-helper);font-weight:650;border-radius:999px;line-height:1;gap:var(--space-2)}.search,.search-wrap .search{min-height:var(--control-height);height:var(--control-height);font-size:var(--control-font-size);box-sizing:border-box}.top .search,.search-wrap .search{border-radius:999px}.cl-modal-scrim{z-index:var(--z-modal);padding:var(--space-7);display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.cl-modal{display:flex;flex-direction:column;max-height:min(90dvh,800px);background:var(--cl-surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);overflow:hidden;width:100%}.cl-modal.sm{max-width:440px}.cl-modal,.cl-modal.md{max-width:600px}.cl-modal.wide,.cl-modal.lg{max-width:880px}.cl-modal.xl{max-width:1140px}.cl-modal-head{flex:none;padding:var(--space-6) var(--space-7);border-bottom:1px solid var(--cl-border);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);background:var(--cl-surface-elevated);position:sticky;top:0;z-index:2}.cl-modal-title-group{display:flex;align-items:flex-start;gap:var(--space-4)}.cl-modal-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-text);flex-shrink:0}.cl-modal-head h2{font-size:var(--text-section);font-weight:650;margin:0;color:var(--cl-text)}.cl-modal-desc{font-size:var(--text-body);color:var(--cl-muted);margin:var(--space-2) 0 0 0}.cl-modal-close{flex-shrink:0;color:var(--cl-muted);margin-left:auto}.cl-modal-close:hover{color:var(--cl-text)}.cl-modal-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6) var(--space-7)}.modal-actions{margin:0;flex:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--btn-gap);padding:var(--space-5) var(--space-7);border-top:1px solid var(--cl-border);background:var(--cl-surface-elevated);position:sticky;bottom:0;z-index:2}@media(max-width:768px){.cl-modal-scrim{padding:16px}.cl-modal-head{padding:20px 16px}.cl-modal-body{padding:16px}.modal-actions{margin:0;padding:16px}}.alert,.cl-alert{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid var(--cl-border);font-size:var(--text-body);line-height:var(--lh-body)}.alert--info,.cl-alert--info{background:var(--cl-info-bg);border-color:var(--cl-info-border);color:var(--cl-info)}.alert--success,.cl-alert--success{background:var(--cl-success-bg);border-color:var(--cl-success-border);color:var(--cl-success)}.alert--warning,.cl-alert--warning{background:var(--cl-warning-bg);border-color:var(--cl-warning-border);color:var(--cl-warning)}.alert--error,.cl-alert--error,.alert--danger,.cl-alert--danger{background:var(--cl-danger-bg);border-color:var(--cl-danger-border);color:var(--cl-danger)}.empty-state{text-align:center;padding:var(--space-12) var(--space-7);color:var(--cl-muted)}.empty-state__title{margin:0 0 var(--space-3);font-size:var(--text-section);font-weight:700;color:var(--cl-text)}.empty-state__text{margin:0 0 var(--space-7);font-size:var(--text-body);max-width:36rem;margin-inline:auto}.custom-check,.custom-radio{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--control-height-sm);line-height:var(--lh-body)}.field label:has(>input[type=checkbox]),.field label:has(>input[type=radio]),.cx-field label:has(>input[type=checkbox]),.cx-field label:has(>input[type=radio]){display:inline-flex;align-items:flex-start;gap:var(--space-3);line-height:var(--lh-body)}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;flex:none}.side{z-index:var(--z-header)}.top{z-index:var(--z-sticky)}.stack{display:flex;flex-direction:column;gap:var(--stack-gap)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--inline-gap);flex-wrap:wrap}.gap-3{gap:var(--space-3)!important}.gap-4{gap:var(--space-4)!important}.gap-5{gap:var(--space-5)!important}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.mb-5{margin-bottom:var(--space-5)!important}.mb-7{margin-bottom:var(--block-gap)!important}.live-monitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.live-stat{padding:var(--space-4);text-align:center}.live-stat--danger{border-color:var(--cl-danger-border);background:var(--cl-danger-bg)}.live-stat--danger .live-stat__label,.live-stat--danger .live-stat__value{color:var(--cl-danger)}.live-stat__label{font-size:var(--text-meta);text-transform:uppercase;font-weight:700;color:var(--cl-muted)}.live-stat__value{font-size:20px;font-weight:700;color:var(--cl-text);margin-top:var(--space-1)}.live-stat__value--success{color:var(--cl-success)}.live-stat__value--warning{color:var(--cl-warning)}.presence-wrapper{display:inline-flex;align-items:center;gap:var(--space-2)}.presence-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.presence-dot--online{background:var(--cl-success)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:root{--cx-bg: #f4f5f7;--cx-surface: #ffffff;--cx-border: #e3e6eb;--cx-text: #111827;--cx-muted: #4b5563;--cx-faint: #6b7280;--cx-primary: #1f4b99;--cx-primary-hover: #183d7a;--cx-primary-soft: rgba(31, 75, 153, .08);--cx-warning: #b45309;--cx-warning-bg: #fffbeb;--cx-warning-strong: #92400e;--cx-danger: #b91c1c;--cx-danger-bg: #fef2f2;--cx-success: #047857;--cx-success-bg: #ecfdf5;--cx-radius: var(--radius-md, 10px);--cx-radius-sm: var(--radius, 8px);--cx-shadow: var(--shadow-elevated, 0 1px 2px rgba(17, 24, 39, .04), 0 8px 24px rgba(17, 24, 39, .06));--cx-space-1: var(--space-2, 4px);--cx-space-2: var(--space-3, 8px);--cx-space-3: var(--space-4, 12px);--cx-space-4: var(--space-5, 16px);--cx-space-5: var(--space-7, 24px);--cx-space-6: var(--space-8, 32px);--cx-space-7: var(--space-12, 48px);--cx-font: Inter, "Segoe UI", ui-sans-serif, system-ui, sans-serif;--cx-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--cx-title: var(--text-page-title, 1.75rem);--cx-section: var(--text-section, 1.125rem);--cx-question: 1.125rem;--cx-body: .9375rem;--cx-meta: var(--text-helper, .8125rem);--cx-focus: 0 0 0 3px rgba(31, 75, 153, .22);--cx-control-height: var(--control-height-touch, 44px)}@media(max-width:768px){:root{--cx-title: 1.5rem}}.cx-shell{min-height:100%;display:flex;flex-direction:column;background:var(--cx-bg);color:var(--cx-text);font-family:var(--cx-font);font-size:var(--cx-body);line-height:1.5}.cx-shell__header{display:flex;align-items:center;justify-content:space-between;gap:var(--cx-space-4);padding:var(--space-4, 12px) var(--page-padding-x, 20px);background:var(--cx-surface);border-bottom:1px solid var(--cx-border);min-height:56px}.cx-shell__brand{display:flex;align-items:center;gap:10px;min-width:0}.cx-shell__brand-mark{width:28px;height:28px;border-radius:7px;background:var(--cx-primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.cx-shell__brand-text{display:flex;flex-direction:column;min-width:0}.cx-shell__brand-name{font-weight:700;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cx-shell__brand-sub{font-size:12px;color:var(--cx-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cx-shell__meta{display:flex;align-items:center;gap:var(--cx-space-3);color:var(--cx-muted);font-size:var(--cx-meta)}.cx-shell__main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:var(--cx-space-6) var(--cx-space-5) var(--cx-space-7)}.cx-shell__main--narrow{max-width:480px;display:flex;align-items:flex-start;justify-content:center;padding-top:clamp(32px,10vh,80px)}.cx-shell__main--wide{max-width:1280px;padding-top:var(--cx-space-4)}.cx-shell__footer{padding:12px 20px;text-align:center;color:var(--cx-faint);font-size:12px;border-top:1px solid var(--cx-border);background:var(--cx-surface)}.cx-card{background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);box-shadow:var(--cx-shadow);padding:var(--cx-space-5);width:100%}.cx-title{margin:0 0 var(--cx-space-2);font-size:var(--cx-title);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--cx-text)}.cx-section-title{margin:0 0 var(--cx-space-3);font-size:var(--cx-section);font-weight:650}.cx-sub{margin:0;color:var(--cx-muted);font-size:var(--cx-body)}.cx-meta{color:var(--cx-faint);font-size:var(--cx-meta)}.cx-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--cx-space-4)}.cx-field>span{font-size:var(--cx-meta);font-weight:600;color:var(--cx-muted)}.cx-input,.cx-select{display:block;width:100%;border:1px solid var(--cx-border);border-radius:var(--cx-radius-sm);background:#fff;min-height:var(--cx-control-height);height:var(--cx-control-height);padding:0 var(--cx-space-3);font:inherit;font-size:15px;color:var(--cx-text);box-sizing:border-box}.cx-textarea{display:block;width:100%;border:1px solid var(--cx-border);border-radius:var(--cx-radius-sm);background:#fff;padding:var(--cx-space-3);font:inherit;color:var(--cx-text);min-height:120px;box-sizing:border-box}.cx-input:focus,.cx-textarea:focus,.cx-select:focus{outline:none;border-color:var(--cx-primary);box-shadow:var(--cx-focus)}.cx-input-wrap{position:relative}.cx-input-wrap .cx-input{padding-right:44px}.cx-input-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--cx-faint);font-size:12px;font-weight:600;cursor:pointer;padding:6px 8px}.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--cx-space-2);min-height:var(--cx-control-height);height:var(--cx-control-height);padding:0 var(--cx-space-4);border-radius:var(--cx-radius-sm);border:1px solid transparent;font-weight:650;font-size:15px;cursor:pointer;text-decoration:none;box-sizing:border-box;line-height:1}.cx-btn:disabled{opacity:.55;cursor:not-allowed}.cx-btn--primary{background:var(--cx-primary);color:#fff}.cx-btn--primary:hover:not(:disabled){background:var(--cx-primary-hover)}.cx-btn--secondary{background:#fff;border-color:var(--cx-border);color:var(--cx-text)}.cx-btn--ghost{background:transparent;border-color:transparent;color:var(--cx-muted);min-height:36px;padding:0 10px}.cx-btn--block{width:100%}.cx-alert{border-radius:var(--cx-radius-sm);padding:10px 12px;margin:0 0 var(--cx-space-4);font-size:var(--cx-meta)}.cx-alert--error{background:var(--cx-danger-bg);color:var(--cx-danger);border:1px solid rgba(185,28,28,.15)}.cx-alert--info{background:var(--cx-primary-soft);color:var(--cx-primary);border:1px solid rgba(31,75,153,.12)}.cx-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:650;background:#eef2f7;color:var(--cx-muted)}.cx-badge--ready{background:var(--cx-success-bg);color:var(--cx-success)}.cx-badge--warn{background:var(--cx-warning-bg);color:var(--cx-warning-strong)}.cx-badge--danger{background:var(--cx-danger-bg);color:var(--cx-danger)}.cx-countdown{text-align:center;margin:var(--cx-space-5) 0}.cx-countdown__label{color:var(--cx-muted);font-size:var(--cx-meta);margin-bottom:6px}.cx-countdown__value{font-family:var(--cx-mono);font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:.06em;color:var(--cx-text);line-height:1.1}.cx-countdown__value--warn{color:var(--cx-warning-strong)}.cx-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--cx-space-4);margin:var(--cx-space-5) 0}@media(max-width:560px){.cx-meta-grid{grid-template-columns:1fr}}.cx-meta-grid dt{margin:0;font-size:var(--cx-meta);color:var(--cx-faint)}.cx-meta-grid dd{margin:2px 0 0;font-weight:600;color:var(--cx-text)}.cx-instructions{border-top:1px solid var(--cx-border);padding-top:var(--cx-space-4);margin-top:var(--cx-space-4)}.cx-instructions__body{color:var(--cx-muted);line-height:1.65;font-size:var(--cx-body)}.cx-check{display:flex;gap:10px;align-items:flex-start;margin:var(--cx-space-4) 0;font-size:var(--cx-body)}.cx-check input{margin-top:3px}.cx-assess-list{display:flex;flex-direction:column;gap:var(--cx-space-4)}.cx-assess-card{background:var(--cx-surface);border:1px solid var(--cx-border);border-radius:var(--cx-radius);padding:var(--cx-space-5);display:grid;gap:var(--cx-space-4)}.cx-assess-card__title{margin:0;font-size:1.2rem;font-weight:700}.cx-assess-card__rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cx-space-3)}@media(max-width:720px){.cx-assess-card__rows{grid-template-columns:1fr 1fr}}.cx-assess-card__actions{display:flex;justify-content:flex-end}.cx-exam{position:relative;height:100%;min-height:100%;max-height:100%;background:var(--cx-bg);color:var(--cx-text);font-family:var(--cx-font);display:flex;flex-direction:column;overflow:hidden}.cx-exam--obscured .cx-exam__body,.cx-exam--obscured .cx-exam__top{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}.cx-exam__focus-mask{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#0f17208c;color:#fff;font-size:1.15rem;font-weight:600;text-align:center;padding:24px}.cx-exam__watermark{pointer-events:none;position:fixed;inset:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:48px;padding:32px;opacity:.12;transform:rotate(-18deg) scale(1.2);-webkit-user-select:none;user-select:none;overflow:hidden}.cx-exam__watermark span{white-space:nowrap;font-size:.95rem;font-weight:600;color:var(--cx-ink, #1a2332)}@media print{.cx-exam--noprint{display:none!important}}.cx-exam__top{flex-shrink:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--cx-space-4);padding:10px 16px;background:var(--cx-surface);border-bottom:1px solid var(--cx-border);min-height:52px}.cx-exam__top-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cx-exam__top-meta{display:flex;align-items:center;gap:var(--cx-space-3);flex-shrink:0;font-size:var(--cx-meta);color:var(--cx-muted)}.cx-progress-chip{display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--cx-text);white-space:nowrap}.cx-progress-bar{display:block;width:72px;height:4px;border-radius:999px;background:#e5e7eb;overflow:hidden}.cx-progress-bar>span{display:block;height:100%;background:var(--cx-primary)}.cx-timer{font-family:var(--cx-mono);font-variant-numeric:tabular-nums;font-weight:700;min-width:5.5ch;text-align:right;color:var(--cx-text)}.cx-timer--warn{color:var(--cx-warning-strong)}.cx-timer--danger{color:var(--cx-danger)}.cx-autosave{font-size:12px;color:var(--cx-faint);min-width:9ch;text-align:right}.cx-autosave--error{color:var(--cx-danger)}.cx-exam__body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0;min-height:0;overflow:hidden}@media(max-width:960px){.cx-exam__body{grid-template-columns:1fr}}.cx-exam__main-col{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.cx-exam__progress{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:var(--cx-surface);border-bottom:1px solid var(--cx-border)}.cx-exam__question-scroll{flex:1;min-height:0;overflow:auto;padding:var(--cx-space-5) var(--cx-space-5) var(--cx-space-6);-webkit-overflow-scrolling:touch}.cx-exam__question{max-width:860px;margin:0 auto}.cx-exam__question img,.cx-exam__question video{max-width:100%;height:auto}.cx-exam__question pre,.cx-exam__question table{max-width:100%;overflow-x:auto;display:block}.cx-q-label{font-size:var(--cx-meta);color:var(--cx-faint);font-weight:650;margin-bottom:var(--cx-space-2)}.cx-q-prompt{font-size:var(--cx-question);line-height:1.55;font-weight:600;margin:0 0 var(--cx-space-5);color:var(--cx-text)}.cx-option{display:flex;gap:12px;align-items:flex-start;width:100%;padding:14px;margin-bottom:10px;border:1px solid var(--cx-border);border-radius:var(--cx-radius-sm);background:#fff;cursor:pointer;text-align:left}.cx-option:hover{border-color:#c5ccd6}.cx-option--selected{border-color:var(--cx-primary);background:var(--cx-primary-soft);box-shadow:inset 0 0 0 1px var(--cx-primary)}.cx-option input{margin-top:2px}.cx-tf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cx-exam__action-bar{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--cx-surface);border-top:1px solid var(--cx-border);box-shadow:0 -4px 16px #1118270a;z-index:15}.cx-exam__action-bar-left{justify-self:start}.cx-exam__action-bar-center{justify-self:center}.cx-exam__action-bar-right{justify-self:end}.cx-exam__action-bar .cx-btn{min-width:132px}@media(max-width:640px){.cx-exam__action-bar{grid-template-columns:1fr 1fr;grid-template-areas:"mark mark" "prev next"}.cx-exam__action-bar-left{grid-area:prev}.cx-exam__action-bar-center{grid-area:mark;justify-self:stretch}.cx-exam__action-bar-right{grid-area:next}.cx-exam__action-bar .cx-btn{min-width:0;width:100%}.cx-exam__action-bar-center .cx-btn{width:100%}}.cx-exam__nav-pane{border-left:1px solid var(--cx-border);background:var(--cx-surface);padding:var(--cx-space-4);overflow:auto;min-height:0;display:flex;flex-direction:column;gap:12px;width:280px}@media(max-width:960px){.cx-exam__nav-pane{display:none}.cx-exam__nav-sheet{display:none;position:fixed;inset:auto 0 0;z-index:40;max-height:min(78vh,640px);background:var(--cx-surface);border-radius:16px 16px 0 0;border-top:1px solid var(--cx-border);box-shadow:0 -12px 32px #11182724;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));overflow:auto}.cx-exam__nav-sheet.is-open{display:flex;flex-direction:column;gap:12px}.cx-nav-sheet-backdrop{display:none;position:fixed;inset:0;background:#11182759;z-index:35}.cx-nav-sheet-backdrop.is-open{display:block}}@media(min-width:961px){.cx-exam__nav-sheet,.cx-nav-sheet-backdrop{display:none!important}}.cx-nav-stats{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;color:var(--cx-muted)}.cx-nav-stats strong{color:var(--cx-text);font-weight:700}.cx-nav-range{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--cx-muted)}.cx-nav-range__label{font-weight:650;color:var(--cx-text);text-align:center;flex:1}.cx-nav-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cx-nav-btn{aspect-ratio:1;border:1px solid var(--cx-border);border-radius:6px;background:#fff;font-size:13px;font-weight:650;cursor:pointer;color:var(--cx-text);position:relative}.cx-nav-btn:focus-visible{box-shadow:var(--cx-focus)}.cx-nav-btn--current{outline:2px solid var(--cx-primary);outline-offset:1px}.cx-nav-btn--answered{background:#e8f1ff;border-color:#bfd0ef}.cx-nav-btn--marked:after{content:"\2605";position:absolute;top:1px;right:3px;font-size:9px;color:var(--cx-warning-strong);line-height:1}.cx-nav-btn:disabled{opacity:.45;cursor:not-allowed}.cx-nav-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px;font-size:12px;color:var(--cx-faint)}.cx-nav-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;border:1px solid var(--cx-border);background:#fff}.cx-nav-legend .lg-answered:before{background:#e8f1ff;border-color:#bfd0ef}.cx-nav-legend .lg-marked:before{box-shadow:inset 0 -3px 0 var(--cx-warning)}.cx-nav-legend .lg-current:before{outline:2px solid var(--cx-primary)}.cx-nav-legend .lg-unanswered:before{background:#fff}.cx-backdrop{position:fixed;inset:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:80;padding:16px}.cx-modal{background:#fff;border-radius:var(--cx-radius);width:min(440px,100%);padding:var(--cx-space-5);box-shadow:var(--cx-shadow)}.cx-modal h3{margin:0 0 8px;font-size:1.15rem}.cx-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:var(--cx-space-5)}.cx-result{text-align:center;max-width:480px;margin:48px auto;padding:var(--cx-space-5)}app-shell.exam-mode .side,app-shell.exam-mode .top{display:none!important}app-shell.exam-mode{--cl-side: 0px;display:block}app-shell.exam-mode .main{margin-left:0!important;padding:0!important;max-width:none!important;width:100%!important;height:100%;min-height:100%;display:flex;flex-direction:column}app-shell.exam-mode .page{flex:1;min-height:0;height:100%;padding:0!important;overflow:hidden}app-shell.exam-mode .page>router-outlet{display:none!important}app-shell.exam-mode .page>*:not(router-outlet),app-shell.exam-mode app-quiz,app-shell.exam-mode app-code-exam{display:block;height:100%;min-height:0}@media(prefers-reduced-motion:reduce){.cx-shell *,.cx-exam *{animation:none!important;transition:none!important}}.candidate-login-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--cx-space-5)}.candidate-login-brand{display:flex;align-items:center;justify-content:center;border-radius:var(--cx-radius-sm);background:var(--cx-primary);color:#fff;font-weight:750;margin-bottom:var(--cx-space-3);width:48px;height:48px;font-size:24px}.candidate-login-title{margin-bottom:var(--cx-space-1)}.candidate-login-subtitle{margin-top:var(--cx-space-2);margin-bottom:var(--cx-space-5)}.candidate-login-footer{margin-top:var(--cx-space-5);text-align:center}.cx-btn--danger{background:var(--cx-danger);color:#fff;border-color:transparent}.cx-btn--danger:hover:not(:disabled){background:var(--cx-warning-strong)}.cx-end-test-summary{margin-top:var(--cx-space-4);margin-bottom:var(--cx-space-6);padding:var(--cx-space-3);background:var(--cx-bg);border-radius:var(--cx-radius-sm);display:flex;flex-direction:column;gap:var(--cx-space-2)}.cx-end-test-summary__row{display:flex;justify-content:space-between;font-size:var(--cx-text-sm);color:var(--cx-muted)}.cx-end-test-summary__label{font-weight:600;color:var(--cx-text)}.cx-modal__actions{display:flex;gap:var(--cx-space-2);justify-content:flex-end;margin-top:var(--cx-space-4)}
