*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(63,131,248,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(63,131,248,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:after,[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:after,[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#1c64f2;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=time]::-webkit-calendar-picker-indicator{background:none}select:not([size]){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' aria-hidden='true' viewBox='0 0 10 6'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}:is([dir=rtl]) select:not([size]){background-position:left .75rem center;padding-right:.75rem;padding-left:0}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#1c64f2;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark [type=checkbox]:checked,.dark [type=radio]:checked,[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' aria-hidden='true' viewBox='0 0 16 12'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}.dark [type=radio]:checked,[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' aria-hidden='true' viewBox='0 0 16 12'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M.5 6h14'/%3E%3C/svg%3E");background-color:currentColor;border-color:transparent;background-position:50%;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1f2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}:is([dir=rtl]) input[type=file]::file-selector-button{padding-right:2rem;padding-left:1rem}.dark input[type=file]::file-selector-button{color:#fff;background:#4b5563}.dark input[type=file]::file-selector-button:hover{background:#6b7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1c64f2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9ca3af}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6b7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1px;--tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1c64f2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9ca3af}.dark input[type=range]:disabled::-moz-range-thumb{background:#6b7280}input[type=range]::-moz-range-progress{background:#3f83f8}input[type=range]::-ms-fill-lower{background:#3f83f8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:#fff;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translateX(100%);;border-color:#fff}input:checked+.toggle-bg{background:#1c64f2;border-color:#1c64f2}:root{--p:51.0573% 0.230053 276.965635;--bc:20% 0 0;--pc:90.2115% 0.046011 276.965635;--sc:12.1782% 0.022188 221.723108;--ac:13.9175% 0.029815 162.479602;--nc:84.1536% 0.007965 265.754874;--inc:13.6937% 0.029574 237.322518;--suc:13.9175% 0.029815 162.479602;--wac:15.3718% 0.032932 70.08039;--erc:12.7367% 0.04157 25.331328;--s:60.8911% 0.110939 221.723108;--a:69.5873% 0.149074 162.479602;--n:20.7682% 0.039824 265.754874;--b1:100% 0 0;--b2:96.826% 0.006854 247.895567;--b3:92.8761% 0.012619 255.507846;--in:68.4687% 0.147869 237.322518;--su:69.5873% 0.149074 162.479602;--wa:76.859% 0.164659 70.08039;--er:63.6834% 0.207849 25.331328;--rounded-box:0.7rem;--rounded-btn:0.5rem;--rounded-badge:9999px;--animation-btn:0.18s;--animation-input:0.18s;--btn-focus-scale:0.99;--border-btn:1px;--tab-border:1px;--tab-radius:0.5rem}:root,:root[data-theme=lanshare],[data-theme=lanshare]{--primary-color:#4f46e5;--primary-hover:#4338ca;--primary-light:#e0e7ff;--primary-dark:#3730a3;--secondary-color:#f1f5f9;--secondary-hover:#e2e8f0;--secondary-dark:#475569;--success-color:#10b981;--success-light:#d1fae5;--success-dark:#047857;--warning-color:#f59e0b;--warning-light:#fef3c7;--warning-dark:#b45309;--danger-color:#ef4444;--danger-hover:#dc2626;--danger-light:#fee2e2;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--bg-color:#edf2fb;--surface-color:hsla(0,0%,100%,.92);--surface-hover:rgba(248,250,252,.98);--border-color:rgba(148,163,184,.28);--border-color-focus:rgba(79,70,229,.46);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:1rem;--spacing-4:1.5rem;--spacing-5:2rem;--spacing-6:3rem;--spacing-8:4rem;--spacing-10:6rem;--radius-sm:0.5rem;--radius-md:0.7rem;--radius-lg:0.95rem;--radius-xl:1.15rem;--radius-full:9999px;--shadow-sm:0 8px 24px -18px rgba(15,23,42,.45),0 3px 10px -8px rgba(15,23,42,.28);--shadow-md:0 18px 40px -24px rgba(15,23,42,.5),0 8px 22px -16px rgba(15,23,42,.3);--shadow-lg:0 28px 68px -36px rgba(15,23,42,.58),0 16px 36px -24px rgba(15,23,42,.34);--shadow-xl:0 38px 84px -42px rgba(15,23,42,.64),0 20px 46px -28px rgba(15,23,42,.38);--shadow-focus:0 0 0 4px rgba(79,70,229,.16);--font-family-sans:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","WenQuanYi Micro Hei",system-ui,sans-serif;--transition-fast:180ms cubic-bezier(0.4,0,0.2,1);--transition-normal:280ms cubic-bezier(0.2,0.8,0.2,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{font-family:var(--font-family-sans)}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(79,70,229,.13),transparent 34%),radial-gradient(circle at bottom right,rgba(8,145,178,.1),transparent 32%),var(--bg-color);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-sm);font-weight:650;line-height:1.2;letter-spacing:0}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{margin:0 0 var(--spacing-md);color:var(--text-secondary)}a{color:var(--primary-color);transition:color var(--transition-fast),opacity var(--transition-fast)}a,a:hover{text-decoration:none}a:hover{color:var(--primary-hover)}img,svg{max-width:100%;height:auto}ol,ul{margin:0 0 var(--spacing-md);padding-left:var(--spacing-lg)}hr{margin:var(--spacing-lg) 0;border:0;border-top:1px solid var(--border-color)}button,input,optgroup,select,textarea{font:inherit}@keyframes button-pop{0%{transform:scale(var(--btn-focus-scale,.98))}40%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}@keyframes modal-pop{0%{opacity:0}}@keyframes progress-loading{50%{background-position-x:-115%}}@keyframes radiomark{0%{box-shadow:0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset,0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset}50%{box-shadow:0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset,0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset}to{box-shadow:0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset,0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes toast-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.\!card{border:1px solid rgba(148,163,184,.24)!important;background:hsla(0,0%,100%,.92)!important;box-shadow:var(--shadow-sm)!important;backdrop-filter:blur(18px)!important}.card,.lanshare-surface,.panel,.status-card{border:1px solid rgba(148,163,184,.24);background:hsla(0,0%,100%,.92);box-shadow:var(--shadow-sm);backdrop-filter:blur(18px)}.\!panel{border:1px solid rgba(148,163,184,.24)!important;background:hsla(0,0%,100%,.92)!important;box-shadow:var(--shadow-sm)!important;backdrop-filter:blur(18px)!important}.lanshare-page-band{background:radial-gradient(circle at top left,rgba(79,70,229,.1),transparent 32%),radial-gradient(circle at top right,rgba(8,145,178,.08),transparent 28%),linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(248,250,252,.88))}.\!badge{display:inline-flex!important;align-items:center!important;gap:.4rem!important;border:1px solid rgba(148,163,184,.24)!important;border-radius:9999px!important;background:hsla(0,0%,100%,.78)!important;color:var(--text-secondary)!important;font-size:.75rem!important;font-weight:700!important;line-height:1!important;padding:.45rem .75rem!important;box-shadow:var(--shadow-sm)!important}.badge,.lanshare-pill{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(148,163,184,.24);border-radius:9999px;background:hsla(0,0%,100%,.78);color:var(--text-secondary);font-size:.75rem;font-weight:700;line-height:1;padding:.45rem .75rem;box-shadow:var(--shadow-sm)}.badge-primary{border-color:rgba(79,70,229,.28);background:rgba(238,242,255,.92);color:var(--primary-color)}.badge-success{border-color:rgba(16,185,129,.28);background:rgba(209,250,229,.86);color:var(--success-dark)}.badge-warning{border-color:rgba(245,158,11,.3);background:hsla(48,96%,89%,.88);color:var(--warning-dark)}.badge-danger{border-color:rgba(239,68,68,.3);background:hsla(0,93%,94%,.88);color:var(--danger-color)}.badge-outline{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:var(--spacing-md)!important;padding-left:var(--spacing-md)!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--spacing-md);padding-left:var(--spacing-md)}@media (min-width:640px){.\!container{max-width:640px!important;padding-right:var(--spacing-lg)!important;padding-left:var(--spacing-lg)!important}.container{max-width:640px;padding-right:var(--spacing-lg);padding-left:var(--spacing-lg)}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important;padding-right:var(--spacing-xl)!important;padding-left:var(--spacing-xl)!important}.container{max-width:1024px;padding-right:var(--spacing-xl);padding-left:var(--spacing-xl)}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--spacing-lg);padding-left:var(--spacing-lg)}.page-wrapper{display:flex;min-height:100vh;flex-direction:column}.main-content{flex:1 1 auto;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-2xl)}.navbar{position:sticky;top:0;z-index:1020;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--border-color);background:hsla(0,0%,100%,.88);box-shadow:var(--shadow-sm);backdrop-filter:blur(14px)}.navbar-brand{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary);cursor:pointer;font-size:1.25rem;font-weight:700;text-decoration:none}.navbar-brand:hover{color:var(--primary-color)}.navbar-user{display:flex;align-items:center;gap:var(--spacing-md);font-size:.875rem}.navbar-user .user-name{color:var(--text-primary);font-weight:500}.app-topbar{--app-topbar-accent:#4f46e5;--app-topbar-accent-dark:#4338ca;--app-topbar-accent-rgb:79,70,229;--app-topbar-accent-soft:rgba(79,70,229,.1);align-items:center;flex-wrap:nowrap;gap:1rem;padding:.82rem clamp(1rem,2.4vw,1.8rem)}.app-topbar-action--tone-teal,.app-topbar.role-teacher{--app-topbar-accent:#0f766e;--app-topbar-accent-dark:#0f5f59;--app-topbar-accent-rgb:15,118,110;--app-topbar-accent-soft:rgba(20,184,166,.12)}.app-topbar-action--tone-blue{--app-topbar-accent:#2563eb;--app-topbar-accent-dark:#1d4ed8;--app-topbar-accent-rgb:37,99,235;--app-topbar-accent-soft:rgba(37,99,235,.1)}.app-topbar-action--tone-cyan{--app-topbar-accent:#0891b2;--app-topbar-accent-dark:#0e7490;--app-topbar-accent-rgb:8,145,178;--app-topbar-accent-soft:rgba(8,145,178,.11)}.app-topbar-action--tone-amber{--app-topbar-accent:#b45309;--app-topbar-accent-dark:#92400e;--app-topbar-accent-rgb:180,83,9;--app-topbar-accent-soft:rgba(245,158,11,.13)}.app-topbar-action--tone-rose{--app-topbar-accent:#be123c;--app-topbar-accent-dark:#9f1239;--app-topbar-accent-rgb:190,18,60;--app-topbar-accent-soft:rgba(244,63,94,.1)}.app-topbar-action--tone-slate{--app-topbar-accent:#475569;--app-topbar-accent-dark:#334155;--app-topbar-accent-rgb:71,85,105;--app-topbar-accent-soft:rgba(100,116,139,.12)}.app-topbar-brand{flex:0 1 auto;min-width:min(18rem,100%);gap:.7rem}.app-topbar-brand__mark{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(var(--app-topbar-accent-rgb),.22);border-radius:12px;background:linear-gradient(135deg,hsla(0,0%,100%,.96),var(--app-topbar-accent-soft));color:var(--app-topbar-accent);box-shadow:0 14px 28px -24px rgba(15,23,42,.65)}.app-topbar-action__text,.app-topbar-brand__copy,.app-topbar-user-card{min-width:0;display:grid}.app-topbar-brand__copy{gap:.08rem}.app-topbar-brand__copy strong{color:var(--text-primary);font-size:1.08rem;line-height:1.15;font-weight:780;white-space:nowrap}.app-topbar-brand__copy small{color:var(--text-muted);font-size:.78rem;line-height:1.2;font-weight:700}.app-topbar-nav{flex:1 1 auto;justify-content:flex-end;gap:.62rem;min-width:0;margin-left:auto}.app-topbar-user-card{gap:.08rem;max-width:13rem;padding:.42rem .72rem;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:rgba(248,250,252,.68)}.app-topbar-user-card__label{color:var(--text-muted);font-size:.72rem;line-height:1.15;font-weight:800}.app-topbar-user-card__name{display:flex;align-items:baseline;gap:.38rem;min-width:0;color:var(--text-primary);line-height:1.25;white-space:nowrap}.app-topbar-user-card__name>span{min-width:0;overflow:hidden;color:var(--app-topbar-accent);font-size:.78rem;font-weight:800;text-overflow:ellipsis}.app-topbar-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:.42rem;min-width:0}.app-topbar-actions--primary{justify-content:flex-end}.app-topbar-actions--utility{padding:.28rem;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(248,250,252,.72)}.app-topbar-notification{width:auto;min-width:0}.app-topbar-menu{position:relative;display:inline-flex;min-width:0}.app-topbar-menu>summary{list-style:none}.app-topbar-menu>summary::-webkit-details-marker{display:none}.app-topbar-menu[open]>summary{border-color:rgba(var(--app-topbar-accent-rgb),.3);background:rgba(var(--app-topbar-accent-rgb),.1);color:var(--app-topbar-accent);box-shadow:0 16px 30px -28px rgba(var(--app-topbar-accent-rgb),.56)}.app-topbar-menu__panel{position:absolute;top:calc(100% + .48rem);right:0;z-index:1045;width:min(19rem,88vw);display:grid;gap:.22rem;padding:.56rem;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:hsla(0,0%,100%,.98);box-shadow:0 24px 54px -32px rgba(15,23,42,.48)}.app-topbar-menu--learning .app-topbar-menu__panel{right:auto;left:0}.app-topbar-menu__label{padding:.2rem .38rem .32rem;color:var(--text-muted);font-size:.72rem;font-weight:820}.app-topbar-menu__item{position:relative;min-width:0;width:100%;min-height:42px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.52rem;padding:.46rem .52rem;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;text-decoration:none}.app-topbar-menu__item:focus-visible,.app-topbar-menu__item:hover{background:rgba(var(--app-topbar-accent-rgb),.08);color:var(--app-topbar-accent);text-decoration:none;outline:none}.app-topbar-menu__item .app-topbar-profile__avatar,.app-topbar-menu__item>svg{width:30px;height:30px;justify-self:center}.app-topbar-menu__item>svg{padding:6px;border-radius:8px;background:var(--app-topbar-accent-soft);color:var(--app-topbar-accent)}.app-topbar-menu__item span:not(.app-topbar-action__count):not(.message-center-bell__count){min-width:0;display:grid;gap:.04rem}.app-topbar-menu__item small,.app-topbar-menu__item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-menu__item strong{font-size:.82rem;font-weight:820}.app-topbar-menu__item small{color:var(--text-muted);font-size:.7rem;font-weight:700}.app-topbar-menu__item.is-danger{color:var(--danger-color)}.app-topbar-menu__item.is-danger>svg{background:rgba(239,68,68,.1);color:var(--danger-color)}.app-topbar-menu .app-topbar-action__count{top:3px;right:4px}.app-topbar-action{position:relative;min-height:46px;min-width:96px;display:inline-flex;align-items:center;justify-content:flex-start;gap:.54rem;padding:.46rem .66rem;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:hsla(0,0%,100%,.82);color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;text-decoration:none;box-shadow:0 10px 24px -22px rgba(15,23,42,.62);transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-topbar-action:focus-visible,.app-topbar-action:hover{transform:translateY(-1px);border-color:rgba(var(--app-topbar-accent-rgb),.32);background:#fff;color:var(--app-topbar-accent);text-decoration:none;box-shadow:0 16px 34px -28px rgba(15,23,42,.68)}.app-topbar-action:focus-visible{outline:2px solid rgba(var(--app-topbar-accent-rgb),.34);outline-offset:3px}.app-topbar-action__icon{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:8px;background:var(--app-topbar-accent-soft);color:var(--app-topbar-accent)}.app-topbar-action__text{gap:.04rem;line-height:1.16}.app-topbar-action__text small,.app-topbar-action__text strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-action__text strong{color:inherit;font-size:.84rem;font-weight:820}.app-topbar-action__text small{color:var(--text-muted);font-size:.68rem;font-weight:700}.app-topbar-action__count{position:absolute;top:-5px;right:-5px;min-width:1.2rem;height:1.2rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .36rem;border:2px solid #fff;border-radius:999px;color:#fff;font-size:.68rem;font-weight:850;line-height:1;box-shadow:0 8px 18px -10px rgba(15,23,42,.62)}.app-topbar-action__count[hidden]{display:none!important}.app-topbar-action__count--danger{background:#ef4444}.app-topbar-action__count--blue{background:#2563eb}.app-topbar-action--primary{min-width:142px;border-color:transparent;background:linear-gradient(135deg,var(--app-topbar-accent),color-mix(in srgb,var(--app-topbar-accent) 76%,#38bdf8 24%));color:#fff;box-shadow:0 18px 38px -28px rgba(var(--app-topbar-accent-rgb),.78)}.app-topbar-action--primary .app-topbar-action__icon{background:hsla(0,0%,100%,.18);color:#fff}.app-topbar-action--primary .app-topbar-action__text small{color:hsla(0,0%,100%,.78)}.app-topbar-action--primary:focus-visible,.app-topbar-action--primary:hover{border-color:transparent;background:linear-gradient(135deg,var(--app-topbar-accent-dark),var(--app-topbar-accent));color:#fff}.app-topbar-action--solid{min-width:132px;border-color:rgba(var(--app-topbar-accent-rgb),.24);background:rgba(var(--app-topbar-accent-rgb),.08);color:var(--app-topbar-accent)}.app-topbar-profile__avatar{width:31px;height:31px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(var(--app-topbar-accent-rgb),.2);border-radius:8px;background:#fff}.app-topbar-profile__avatar img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.message-center-bell.app-topbar-action{width:auto;height:auto;border-radius:10px;box-shadow:0 10px 24px -22px rgba(15,23,42,.62)}.message-center-bell.app-topbar-action:hover{color:var(--app-topbar-accent)}.message-center-bell.app-topbar-action.is-unread{border-color:rgba(239,68,68,.28);background:rgba(255,247,237,.92);color:var(--app-topbar-accent);box-shadow:0 16px 34px -28px rgba(220,38,38,.52)}.card-header,.panel-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.section-title{margin-bottom:0;color:var(--text-primary);font-size:1.25rem;font-weight:650;line-height:1.2}.header-actions,.section-title{display:flex;align-items:center;gap:var(--spacing-sm)}.header-actions{flex-shrink:0}.\!btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:var(--spacing-sm)!important;min-height:2.35rem!important;padding:.58rem 1rem!important;border:1px solid transparent!important;border-radius:var(--radius-md)!important;color:var(--text-secondary)!important;cursor:pointer!important;font-size:.875rem!important;font-weight:650!important;line-height:1.35!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important;outline:none!important;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:2.35rem;padding:.58rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:650;line-height:1.35;text-align:center;text-decoration:none;white-space:nowrap;outline:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.\!btn:hover:not(:disabled){transform:translateY(-1px)!important;text-decoration:none!important}.btn:hover:not(:disabled){transform:translateY(-1px);text-decoration:none}.\!btn:active:not(:disabled){transform:translateY(0)!important}.btn:active:not(:disabled){transform:translateY(0)}.\!btn:focus-visible{outline:2px solid rgba(79,70,229,.42)!important;outline-offset:3px!important;box-shadow:var(--shadow-focus)!important}.btn:focus-visible,.lanshare-focus-ring:focus-visible{outline:2px solid rgba(79,70,229,.42);outline-offset:3px;box-shadow:var(--shadow-focus)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.\!btn.disabled,.\!btn:disabled{cursor:not-allowed!important;opacity:.6!important;pointer-events:none!important}.btn-primary{border-color:transparent;background:linear-gradient(135deg,var(--primary-color),#6366f1);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),#4f46e5);color:var(--text-inverse)}.btn-secondary{border-color:var(--border-color);background:hsla(0,0%,100%,.95);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-outline{border-color:rgba(79,70,229,.35);background:transparent;color:var(--primary-color)}.btn-outline:hover:not(:disabled){border-color:var(--primary-color);background:rgba(79,70,229,.09);color:var(--primary-color)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:rgba(148,163,184,.16);color:var(--text-primary)}.btn-danger,.btn-danger-solid{border-color:rgba(239,68,68,.35);background:hsla(0,86%,97%,.82);color:var(--danger-color)}.btn-danger:hover:not(:disabled){background:var(--danger-light)}.btn-danger-solid{border-color:var(--danger-color);background:var(--danger-color);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-danger-solid:hover:not(:disabled){background:var(--danger-hover);color:var(--text-inverse)}.btn-accent{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.btn-accent,.btn-success{border-color:transparent;color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-success{background:linear-gradient(135deg,var(--success-color),#14b8a6)}.btn-sm{min-height:2rem;padding:.34rem .75rem;border-radius:var(--radius-sm);font-size:.75rem}.btn-lg{min-height:2.85rem;padding:.8rem 1.5rem;border-radius:var(--radius-lg);font-size:1rem}.btn-icon{width:2.35rem;min-width:2.35rem;padding:.5rem;border-radius:var(--radius-md)}.btn-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.btn.is-loading,.btn.loading{position:relative;color:transparent!important;pointer-events:none}.\!btn.is-loading,.\!btn.loading,.btn.\!loading{position:relative!important;color:transparent!important;pointer-events:none!important}.btn.is-loading:after,.btn.loading:after,.feedback-submit-spinner,.spinner{width:1em;height:1em;border:2px solid rgba(79,70,229,.18);border-top:2px solid var(--primary-color);border-radius:9999px;animation:spin .65s linear infinite}.\!btn.is-loading:after,.\!btn.loading:after,.btn.\!loading:after{width:1em!important;height:1em!important;border:2px solid rgba(79,70,229,.18)!important;border-top:2px solid var(--primary-color)!important;border-radius:9999px!important;animation:spin .65s linear infinite!important}.btn.is-loading:after,.btn.loading:after{content:"";position:absolute;top:50%;left:50%;margin-top:-.5em;margin-left:-.5em}.\!btn.is-loading:after,.\!btn.loading:after,.btn.\!loading:after{content:""!important;position:absolute!important;top:50%!important;left:50%!important;margin-top:-.5em!important;margin-left:-.5em!important}.btn-primary.loading:after,.btn-success.loading:after{border-color:#fff hsla(0,0%,100%,.35) hsla(0,0%,100%,.35)}.btn-primary.\!loading:after,.btn-success.\!loading:after{border-color:#fff hsla(0,0%,100%,.35) hsla(0,0%,100%,.35)!important}.spinner-sm{width:.85rem;height:.85rem}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.form-label{margin-bottom:2px;color:var(--text-primary);font-size:.875rem;font-weight:600}.form-label.required:after,.required:after{content:" *";color:var(--danger-color)}.form-control,.form-select{display:block;width:100%;min-height:2.5rem;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:hsla(0,0%,100%,.9);background-clip:padding-box;color:var(--text-primary);box-shadow:var(--shadow-sm);font-family:inherit;font-size:.875rem;font-weight:400;line-height:1.5;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control::-moz-placeholder,.form-select::-moz-placeholder{color:var(--text-muted);opacity:1}.form-control::placeholder,.form-select::placeholder{color:var(--text-muted);opacity:1}.form-control:focus,.form-select:focus{border-color:var(--primary-color);background:#fff;box-shadow:var(--shadow-focus)}.form-control:disabled,.form-control[readonly],.form-select:disabled{cursor:not-allowed;background:var(--secondary-color);color:var(--text-muted);opacity:1}.form-control.is-invalid{border-color:var(--danger-color)}.form-control.is-valid{border-color:var(--success-color)}textarea.form-control{min-height:100px;resize:vertical}.form-control-sm{min-height:2rem;padding:.35rem .6rem;border-radius:var(--radius-sm);font-size:.75rem}.form-select,select.form-control{padding-right:2.25rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}select.form-control[multiple]{height:auto;padding-right:.75rem;background-image:none}input[type=file].form-control{min-height:2.75rem;padding:.25rem;color:var(--text-secondary);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input.form-control[type=file]:hover::-webkit-file-upload-button,input.form-control[type=file]:hover::file-selector-button,input[type=file].form-control:hover::-webkit-file-upload-button,input[type=file].form-control:hover::file-selector-button{background:rgba(79,70,229,.08)!important;background-color:rgba(79,70,229,.08)!important;color:var(--primary-color)!important}.form-check{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.form-check-input{flex-shrink:0;width:1rem;height:1rem;margin-top:.15rem;border:1px solid var(--border-color);background:#fff;background-position:50%;background-repeat:no-repeat;background-size:contain;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-check-input[type=checkbox]{border-radius:var(--radius-sm)}.form-check-input[type=radio]{border-radius:var(--radius-full)}.form-check-input:focus{border-color:var(--primary-color);outline:0;box-shadow:var(--shadow-focus)}.form-check-input:checked{border-color:var(--primary-color);background-color:var(--primary-color)}.form-check-input[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-label{color:var(--text-primary);cursor:pointer;font-size:.875rem}.form-hint,.form-text,.invalid-feedback{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.75rem}.invalid-feedback{color:var(--danger-color)}.\!card{position:relative!important;display:flex!important;min-width:0!important;flex-direction:column!important;border-radius:var(--radius-lg)!important;color:inherit!important;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)!important;word-wrap:break-word!important}.card,.panel,.status-card{position:relative;display:flex;min-width:0;flex-direction:column;border-radius:var(--radius-lg);color:inherit;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);word-wrap:break-word}.\!panel{position:relative!important;display:flex!important;min-width:0!important;flex-direction:column!important;border-radius:var(--radius-lg)!important;color:inherit!important;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)!important;word-wrap:break-word!important}.card-interactive,.course-card{cursor:pointer;text-decoration:none}.card-interactive:focus,.card-interactive:hover,.course-card:hover{border-color:var(--border-color-focus);color:inherit;box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-2px)}.card-header,.panel-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.card-title{margin-bottom:0;color:var(--text-primary);font-size:1.125rem;font-weight:650}.card-body,.panel-body{flex:1 1 auto;padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:rgba(248,250,252,.82)}.table-responsive{width:100%;margin-bottom:var(--spacing-lg);overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}.table{width:100%;margin-bottom:0;border-collapse:collapse;background:hsla(0,0%,100%,.92);color:var(--text-primary);vertical-align:top}.table>thead{background:rgba(241,245,249,.9);vertical-align:bottom}.table>thead>tr>th{padding:.75rem 1rem;color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:0;text-align:left}.table>tbody>tr>td,.table>thead>tr>th{border-bottom:1px solid var(--border-color)}.table>tbody>tr>td{padding:1rem;color:var(--text-primary);font-size:.875rem;vertical-align:middle}.table>tbody>tr:last-child>td{border-bottom:0}.table-hover>tbody>tr:hover>*{background:var(--surface-hover)}.table-striped>tbody>tr:nth-of-type(odd)>*{background:rgba(248,250,252,.72)}.table-sm>:not(caption)>*>*{padding:.5rem}.table-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.table-actions .btn{min-height:1.8rem;padding:.25rem .5rem;font-size:.75rem}.table-actions .\!btn{min-height:1.8rem!important;padding:.25rem .5rem!important;font-size:.75rem!important}.table-empty{padding:var(--spacing-xl) var(--spacing-md);color:var(--text-muted);text-align:center}.modal-backdrop{position:fixed;inset:0;z-index:1040;display:none;align-items:center;justify-content:center;width:100vw;height:100vh;background:rgba(15,23,42,.6);opacity:0;overflow-y:auto;transition:opacity var(--transition-normal);backdrop-filter:blur(4px)}.modal-backdrop.show{display:flex;opacity:1}.\!modal{position:relative!important;width:100%!important;max-width:32rem!important;margin:1.75rem auto!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;background:var(--surface-color)!important;box-shadow:var(--shadow-lg)!important;outline:0!important;opacity:0!important;transform:scale(.95) translateY(-20px)!important;transition:transform var(--transition-normal),opacity var(--transition-normal)!important}.modal,.modal-content{position:relative;width:100%;max-width:32rem;margin:1.75rem auto;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-color);box-shadow:var(--shadow-lg);outline:0;opacity:0;transform:scale(.95) translateY(-20px);transition:transform var(--transition-normal),opacity var(--transition-normal)}.modal-content{display:flex;flex-direction:column;pointer-events:auto}.modal-backdrop.show .modal,.modal-backdrop.show .modal-content{opacity:1;transform:scale(1) translateY(0)}.modal-backdrop.show .\!modal{opacity:1!important;transform:scale(1) translateY(0)!important}.modal-dialog{position:relative;width:100%;max-width:32rem;margin:1.75rem auto;pointer-events:none}.modal-dialog .modal-content{margin:0;max-width:none}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.modal-title{margin-bottom:0;color:var(--text-primary);font-size:1.25rem;font-weight:650;line-height:1.5}.modal-subtitle{margin:0;font-size:.875rem}.modal-body{position:relative;flex:1 1 auto;max-height:calc(100vh - 200px);overflow-y:auto;padding:var(--spacing-lg)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:rgba(248,250,252,.84)}.modal-sm{max-width:24rem}.modal-lg{max-width:48rem}.modal-xl{max-width:71.25rem}.modal-dialog-wide{max-width:min(96vw,72rem)}.modal-dialog-centered{display:flex;min-height:calc(100% - 3.5rem);align-items:center}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.btn-close,.modal-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.35rem;line-height:1;transition:color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}.btn-close{background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3E%3C/svg%3E") 50%/.9rem auto no-repeat;opacity:.65}.btn-close:hover,.modal-close:hover{background-color:rgba(148,163,184,.16);color:var(--text-primary);opacity:1;transform:scale(1.04)}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:9999;display:flex;width:min(100%,420px);max-width:calc(100vw - 2rem);flex-direction:column;gap:var(--spacing-sm);pointer-events:none}body[data-authenticated-user=true] .toast-container{top:calc(72px + var(--spacing-md))}body.classroom-page .toast-container{top:calc(86px + var(--spacing-md));right:max(var(--spacing-lg),env(safe-area-inset-right))}.toast{position:relative;display:flex;width:100%;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-primary);box-shadow:var(--shadow-lg);opacity:0;pointer-events:auto;transform:translateX(100%);transition:opacity var(--transition-normal),transform var(--transition-normal)}.toast.show{opacity:1;transform:translateX(0)}.toast.hide{opacity:0;transform:translateX(100%)}.toast-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-top:.125rem}.toast-content{min-width:0;flex:1 1 auto}.toast-title{margin-bottom:2px;color:var(--text-primary);font-size:.875rem;font-weight:650}.toast-message{color:var(--text-secondary);font-size:.875rem;line-height:1.4;white-space:normal;word-break:break-word}.toast-close{margin-left:var(--spacing-sm);padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.toast-success{border-left:4px solid var(--success-color)}.toast-danger,.toast-error{border-left:4px solid var(--danger-color)}.toast-warning{border-left:4px solid var(--warning-color)}.toast-info{border-left:4px solid var(--primary-color)}.site-record-footer{width:min(calc(100% - 2rem),980px);margin:0 auto 14px;padding:10px 16px;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);background:hsla(0,0%,100%,.58);color:var(--text-muted);font-size:.78rem;line-height:1.6;text-align:center;backdrop-filter:blur(8px)}.site-record-footer__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}.site-record-footer__record{color:var(--primary-color);font-weight:700;text-decoration:none}.site-record-footer__record:focus-visible,.site-record-footer__record:hover{text-decoration:underline}.site-record-footer__statement{margin:4px 0 0}@media (max-width:640px){.site-record-footer{width:calc(100% - 1rem);margin-bottom:10px;padding:8px 10px;font-size:.72rem}}.alert{margin-bottom:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid transparent;border-radius:var(--radius-md);font-size:.875rem;line-height:1.5}.alert-info{border-color:#bae6fd;background:#e0f2fe;color:#0369a1}.tw-ring-inset{--tw-ring-inset:inset}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.flex{display:flex}.\!grid{display:grid!important}.grid{display:grid}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.shrink-0{flex-shrink:0}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.gap-6{gap:2.5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.col-span-full,.full-span{grid-column:1/-1}.w-full{width:100%}.w-16{width:4rem}.h-full{height:100%}.h-auto{height:auto}.m-0{margin:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:2rem}.mt-5{margin-top:2.5rem}.mt-6{margin-top:3.5rem}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:2rem}.mb-5{margin-bottom:2.5rem}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-1{margin-left:var(--spacing-sm)}.ml-2{margin-left:var(--spacing-md)}.ml-3{margin-left:var(--spacing-lg)}.mr-2{margin-right:var(--spacing-md)}.mx-auto{margin-left:auto;margin-right:auto}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-md{padding-top:var(--spacing-md)}.pb-md{padding-bottom:var(--spacing-md)}.space-y-sm>*+*{margin-top:var(--spacing-sm)}.space-y-md>*+*{margin-top:var(--spacing-md)}.space-y-lg>*+*{margin-top:var(--spacing-lg)}.border{border:1px solid var(--border-color)}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-border{border-color:var(--border-color)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-bg{background-color:var(--bg-color)}.bg-surface{background-color:var(--surface-color)}.bg-primary-light{background-color:var(--primary-light)}.bg-success-light{background-color:var(--success-light)}.bg-warning-light{background-color:var(--warning-light)}.bg-danger-light{background-color:var(--danger-light)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.cursor-pointer{cursor:pointer}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.relative{position:relative}.min-w-0{min-width:0}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.text-muted{color:var(--text-muted)}.text-danger{color:var(--danger-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-primary{color:var(--primary-color)}.text-lg{font-size:1.125rem}.text-base{font-size:1rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:0}.whitespace-pre-wrap{white-space:pre-wrap}.word-break{word-break:break-word}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1180px) and (min-width:769px){.app-topbar{gap:.72rem;padding-inline:clamp(.82rem,1.6vw,1.15rem)}.app-topbar-brand{min-width:min(14rem,100%)}.app-topbar-brand__mark{width:38px;height:38px;border-radius:10px}.app-topbar-user-card{display:none}.app-topbar-action{min-width:88px;padding-inline:.52rem}.app-topbar-action--primary,.app-topbar-action--solid{min-width:116px}.app-topbar-actions--utility{flex:0 0 auto}}@media (max-width:768px){.navbar{align-items:flex-start;flex-direction:column;padding:var(--spacing-md)}.navbar-user{width:100%;flex-wrap:wrap;justify-content:space-between}.app-topbar{flex-wrap:wrap;gap:.72rem;padding:.72rem .9rem}.app-topbar-brand{width:100%;min-width:0}.app-topbar-nav{width:100%;justify-content:flex-start;gap:.55rem}.app-topbar-user-card{display:none}.app-topbar-actions--primary,.app-topbar-actions--utility{width:100%}.app-topbar-actions--primary{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.2rem,1fr))}.app-topbar-actions--utility{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.app-topbar-action,.app-topbar-menu,.app-topbar-menu>summary,.app-topbar-notification,.message-center-bell.app-topbar-action{min-width:0;width:100%;justify-content:center}.app-topbar-menu__panel{top:calc(100% + .42rem)}.toast-container{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);width:auto;max-width:none}}@media (max-width:576px){.modal,.modal-dialog{margin:.5rem;max-width:calc(100vw - 1rem)}.modal-body{max-height:calc(100vh - 160px)}.app-topbar-brand__copy strong{font-size:1rem}.app-topbar-action__text small,.app-topbar-brand__copy small{display:none}.app-topbar-action{min-height:54px;flex-direction:column;gap:.3rem;padding:.42rem .28rem;text-align:center}.app-topbar-action__icon,.app-topbar-profile__avatar{width:28px;height:28px}.app-topbar-action__text strong{max-width:100%;font-size:.78rem}.\!modal{margin:.5rem!important;max-width:calc(100vw - 1rem)!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.\[index\:match\.start\(\)\]{index:match.start()}.\[position\:match\.start\(\)\]{position:match.start()}.\[start\:end\]{start:end}@keyframes spin{to{transform:rotate(1turn)}}.feedback-modal[data-type=bug]{--fb-accent:#d97706;--fb-accent-light:rgba(217,119,6,.08);--fb-accent-soft:rgba(217,119,6,.04);--fb-accent-gradient:linear-gradient(135deg,#d97706,#f59e0b)}.feedback-modal[data-type=feature]{--fb-accent:var(--primary-color,#4f46e5);--fb-accent-light:rgba(79,70,229,.08);--fb-accent-soft:rgba(79,70,229,.04);--fb-accent-gradient:linear-gradient(135deg,var(--primary-color,#4f46e5),#6366f1)}.feedback-modal[data-type=report]{--fb-accent:var(--danger-color,#dc2626);--fb-accent-light:rgba(220,38,38,.08);--fb-accent-soft:rgba(220,38,38,.04);--fb-accent-gradient:linear-gradient(135deg,var(--danger-color,#dc2626),#ef4444)}.feedback-modal{position:fixed;inset:0;width:100vw;height:100vh;z-index:1040;display:none;justify-content:center;align-items:center;padding:var(--spacing-md);background-color:rgba(15,23,42,.6);backdrop-filter:blur(4px);opacity:0;overflow-y:auto;transition:opacity var(--transition-normal)}.feedback-modal[hidden]{display:none!important}.feedback-modal.show{display:flex;opacity:1}.feedback-modal .modal{position:relative;width:100%;max-width:36rem;margin:1.75rem auto;background-color:var(--surface-color);background-clip:padding-box;border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;outline:0;opacity:0;transform:scale(.95) translateY(-20px);transition:transform var(--transition-normal),opacity var(--transition-normal)}.feedback-modal.show .modal{opacity:1;transform:scale(1) translateY(0)}.feedback-modal .modal-header{padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,rgba(79,70,229,.04),hsla(0,0%,100%,.96));border-bottom:1px solid var(--border-color)}.feedback-modal .modal-title{display:flex;align-items:center;gap:var(--spacing-sm)}.feedback-modal .modal-title svg{color:var(--fb-accent,var(--primary-color))}.feedback-modal .modal-body{padding:0;max-height:calc(100vh - 180px);overflow-y:auto}.feedback-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.fb-my-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:hsla(0,0%,100%,.88);color:var(--text-secondary);font-size:.78rem;font-weight:550;cursor:pointer;transition:all var(--transition-fast)}.fb-my-btn:hover{border-color:var(--fb-accent,var(--primary-color));color:var(--fb-accent,var(--primary-color));background:var(--fb-accent-soft,rgba(79,70,229,.04))}.fb-my-btn svg{width:15px;height:15px}.feedback-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);background:var(--bg-color)}.feedback-tab{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:550;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);position:relative}.feedback-tab:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;border-radius:999px;background:transparent;transition:left var(--transition-fast),right var(--transition-fast),background var(--transition-fast)}.feedback-tab.is-active{color:var(--fb-accent,var(--primary-color));background:var(--surface-color)}.feedback-tab.is-active:after{left:20%;right:20%;background:var(--fb-accent,var(--primary-color))}.feedback-tab:hover:not(.is-active){color:var(--text-primary);background:hsla(0,0%,100%,.5)}.feedback-tab svg{width:1.1rem;height:1.1rem;flex:0 0 auto}.feedback-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-form-body{padding:var(--spacing-lg);display:grid;gap:var(--spacing-md)}.feedback-field{display:grid;gap:.35rem}.feedback-field label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.feedback-field label .required-dot{color:var(--danger-color)}.feedback-field input,.feedback-field textarea{width:100%;min-height:42px;padding:.55rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:hsla(0,0%,100%,.88);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.feedback-field input:focus,.feedback-field textarea:focus{border-color:var(--fb-accent,var(--primary-color));box-shadow:0 0 0 3px var(--fb-accent-light,rgba(79,70,229,.12))}.feedback-field textarea{min-height:100px;resize:vertical;line-height:1.6}.feedback-field input::-moz-placeholder,.feedback-field textarea::-moz-placeholder{color:var(--text-muted)}.feedback-field input::placeholder,.feedback-field textarea::placeholder{color:var(--text-muted)}.feedback-section-auto{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--radius-sm);background:rgba(16,185,129,.08);color:var(--success-color);font-size:.72rem;font-weight:600}.feedback-section-auto .dot{width:6px;height:6px;border-radius:50%;background:var(--success-color);animation:feedbackPulse 2s ease infinite}@keyframes feedbackPulse{0%,to{opacity:1}50%{opacity:.35}}.feedback-emoji-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.feedback-emoji-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:hsla(0,0%,100%,.88);color:var(--text-secondary);cursor:pointer;font-size:1rem;transition:all var(--transition-fast)}.feedback-emoji-btn:hover{border-color:var(--fb-accent,var(--primary-color));color:var(--fb-accent,var(--primary-color));background:var(--fb-accent-soft,rgba(79,70,229,.04))}.feedback-attachment-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);list-style:none;padding:0}.feedback-attachment-item{position:relative;width:80px;height:80px;border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden;background:var(--bg-color)}.feedback-attachment-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.feedback-attachment-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(15,23,42,.65);color:#fff;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.feedback-attachment-item:hover .feedback-attachment-remove{opacity:1}.feedback-attachment-remove:hover{background:var(--danger-color)}.feedback-upload-trigger{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:.45rem .75rem;border-radius:var(--radius-md);border:1px dashed var(--border-color);background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.feedback-upload-trigger:hover{border-color:var(--fb-accent,var(--primary-color));color:var(--fb-accent,var(--primary-color));background:var(--fb-accent-soft,rgba(79,70,229,.04))}.feedback-upload-trigger svg{width:1rem;height:1rem}.feedback-modal.is-submitting .feedback-attachment-remove,.feedback-modal.is-submitting .feedback-upload-trigger{pointer-events:none;opacity:.55}.feedback-modal .modal-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-color);border-top:1px solid var(--border-color)}.feedback-footer-hint{font-size:.72rem;color:var(--text-muted);display:flex;align-items:center;gap:.3rem}.feedback-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.58rem 1.25rem;border-radius:var(--radius-md);border:none;background:var(--fb-accent-gradient,linear-gradient(135deg,var(--primary-color),#6366f1));color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);box-shadow:var(--shadow-sm)}.feedback-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.feedback-submit-btn:active:not(:disabled){transform:translateY(0)}.feedback-submit-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-submit-spinner{display:none;width:1em;height:1em;border-radius:50%;border:2px solid hsla(0,0%,100%,.3);border-top-color:currentcolor;animation:spin .6s linear infinite}.feedback-submit-btn.is-loading .feedback-submit-label{display:inline}.feedback-submit-btn.is-loading .feedback-submit-spinner{display:inline-block}.feedback-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.feedback-success[hidden]{display:none}.feedback-success svg.fb-success-icon{width:56px;height:56px;color:var(--fb-accent,var(--success-color));margin-bottom:var(--spacing-md)}.feedback-success h3{margin-bottom:var(--spacing-sm);color:var(--text-primary)}.feedback-success p{color:var(--text-secondary);max-width:320px;margin-bottom:var(--spacing-lg)}.fb-success-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.fb-success-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:hsla(0,0%,100%,.88);color:var(--text-secondary);font-size:.82rem;font-weight:550;cursor:pointer;transition:all var(--transition-fast)}.fb-success-btn:hover{border-color:var(--fb-accent,var(--primary-color));color:var(--fb-accent,var(--primary-color));background:var(--fb-accent-soft,rgba(79,70,229,.04))}.fb-success-btn svg{width:15px;height:15px}.fb-my-panel{padding:var(--spacing-lg);display:none;min-height:240px}.fb-my-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.fb-my-header h4{font-size:.925rem;font-weight:650;color:var(--text-primary);margin:0}.fb-my-back-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:hsla(0,0%,100%,.88);color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:all var(--transition-fast)}.fb-my-back-btn:hover{color:var(--text-primary);background:var(--surface-color)}.fb-my-back-btn svg{width:14px;height:14px}.fb-my-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);min-height:200px;text-align:center;color:var(--text-muted)}.fb-my-empty svg{width:48px;height:48px;margin-bottom:var(--spacing-md);opacity:.4}.fb-my-empty p{font-size:.875rem;margin:0 0 .35rem;color:var(--text-secondary)}.fb-my-empty .fb-my-empty-sub{font-size:.78rem;color:var(--text-muted);margin:0}.fb-my-list{display:grid;gap:var(--spacing-sm);max-height:380px;overflow-y:auto}.fb-my-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-color);transition:box-shadow var(--transition-fast),border-color var(--transition-fast);overflow:hidden}.fb-my-card:hover{box-shadow:var(--shadow-sm)}.fb-my-card.is-expanded{border-color:var(--fb-accent,var(--primary-color));box-shadow:0 0 0 2px var(--fb-accent-light,rgba(79,70,229,.08))}.fb-my-card-summary{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fb-my-card-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .55rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:650;white-space:nowrap;flex-shrink:0}.fb-my-card-type-badge.t-bug{background:rgba(217,119,6,.12);color:#b45309}.fb-my-card-type-badge.t-feature{background:rgba(79,70,229,.1);color:#4338ca}.fb-my-card-type-badge.t-report{background:rgba(220,38,38,.1);color:#b91c1c}.fb-my-card-title{flex:1;min-width:0;font-size:.85rem;font-weight:550;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-my-card-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;font-size:.73rem;color:var(--text-muted)}.fb-my-card-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:99px}.fb-my-card-status.s-pending{background:rgba(245,158,11,.1);color:#b45309}.fb-my-card-status.s-viewed{background:rgba(100,116,139,.1);color:#475569}.fb-my-card-chevron{color:var(--text-muted);transition:transform .2s;flex-shrink:0}.fb-my-card.is-expanded .fb-my-card-chevron{transform:rotate(180deg)}.fb-my-card-detail{display:none;padding:0 var(--spacing-md) var(--spacing-md);border-top:1px solid var(--border-color);animation:fbDetailIn .2s ease}.fb-my-card.is-expanded .fb-my-card-detail{display:block}@keyframes fbDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fb-my-card-desc{padding:var(--spacing-sm) 0;font-size:.82rem;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.fb-my-card-detail-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-sm) 0;font-size:.73rem;color:var(--text-muted)}.fb-my-card-detail-meta span{display:inline-flex;align-items:center;gap:.25rem}.fb-my-card-attachments{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding-top:var(--spacing-sm)}.fb-my-card-att-thumb{width:64px;height:64px;border-radius:var(--radius-sm);border:1px solid var(--border-color);-o-object-fit:cover;object-fit:cover;background:var(--bg-color);cursor:pointer;transition:transform .15s}.fb-my-card-att-thumb:hover{transform:scale(1.05)}.fb-withdraw-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:var(--radius-md);border:1px solid rgba(220,38,38,.25);background:transparent;color:var(--danger-color);font-size:.75rem;font-weight:550;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-sm)}.fb-withdraw-btn:hover{background:rgba(220,38,38,.08);border-color:var(--danger-color)}.fb-withdraw-btn svg{width:13px;height:13px}.fb-my-spinner{display:flex;justify-content:center;padding:var(--spacing-2xl)}.feedback-entry-anchor,.feedback-entry-button{display:inline-flex;align-items:center}.feedback-entry-button{position:relative;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(245,158,11,.22);background:hsla(0,0%,100%,.88);color:var(--text-secondary);text-decoration:none;cursor:pointer;box-shadow:0 12px 24px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease,border-color .18s ease}.feedback-entry-button:hover{transform:translateY(-1px);color:var(--warning-color);border-color:rgba(245,158,11,.42);background:#fff;box-shadow:0 16px 32px rgba(217,119,6,.14)}.feedback-entry-button svg{width:19px;height:19px}@media (max-width:640px){.feedback-modal .modal{margin:0;max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;align-self:flex-end}.fb-my-panel,.feedback-form-body{padding:var(--spacing-md)}.feedback-modal .modal-body{max-height:calc(100vh - 140px)}.feedback-modal .modal-footer{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.feedback-submit-btn{justify-content:center}.feedback-footer-hint{text-align:center}.fb-success-actions{flex-direction:column;align-items:stretch}.fb-my-card-summary{flex-wrap:wrap}}.message-center-body [hidden],.message-center-shell [hidden]{display:none!important}.message-center-bell-anchor{position:relative;z-index:2}.message-center-bell-anchor,.profile-entry-anchor{display:inline-flex;align-items:center;overflow:visible}.message-center-bell{border-radius:999px;border:1px solid rgba(59,130,246,.16);transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease}.message-center-bell,.profile-entry-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:hsla(0,0%,100%,.88);color:var(--text-secondary);text-decoration:none;box-shadow:0 12px 24px rgba(15,23,42,.08)}.profile-entry-button{overflow:visible;border-radius:999px;border:1px solid rgba(20,184,166,.18);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.profile-entry-button:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.38);background:#fff;box-shadow:0 16px 32px rgba(15,118,110,.14)}.profile-entry-button__avatar{width:calc(100% - 4px);height:calc(100% - 4px);display:block;-o-object-fit:cover;object-fit:cover;border-radius:inherit;background:#fff}.cultivation-avatar-frame{--cultivation-a:#94a3b8;--cultivation-b:#e2e8f0;--cultivation-c:rgba(148,163,184,.26);position:relative;isolation:isolate;border-color:color-mix(in srgb,var(--cultivation-a) 46%,transparent)!important;box-shadow:0 0 0 2px hsla(0,0%,100%,.82),0 0 0 5px var(--cultivation-c),0 14px 30px -22px var(--cultivation-a)!important}.cultivation-avatar-frame:before{content:"";position:absolute;inset:-6px;border-radius:inherit;background:conic-gradient(from 80deg,transparent,var(--cultivation-a),var(--cultivation-b),transparent 72%);opacity:.72;z-index:-1;animation:cultivation-avatar-spin 9s linear infinite}.cultivation-avatar-frame:after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:1px solid hsla(0,0%,100%,.8);pointer-events:none}.cultivation-avatar-badge{position:absolute;right:-.45rem;bottom:-.42rem;z-index:2;min-width:2rem;max-width:3.8rem;padding:.12rem .32rem;border-radius:999px;background:linear-gradient(135deg,var(--cultivation-a),var(--cultivation-b));color:#0f172a;border:1px solid hsla(0,0%,100%,.75);box-shadow:0 10px 20px -14px rgba(15,23,42,.72);font-size:.58rem;line-height:1.25;font-weight:900;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cultivation-avatar-frame--large .cultivation-avatar-badge{right:.08rem;bottom:.08rem;min-width:3rem;max-width:5.2rem;padding:.22rem .46rem;font-size:.72rem}.cultivation-avatar-frame[data-cultivation-theme=mortal]{--cultivation-a:#64748b;--cultivation-b:#cbd5e1;--cultivation-c:rgba(100,116,139,.2)}.cultivation-avatar-frame[data-cultivation-theme=qi_awakening]{--cultivation-a:#14b8a6;--cultivation-b:#facc15;--cultivation-c:rgba(20,184,166,.22)}.cultivation-avatar-frame[data-cultivation-theme=qi_refining]{--cultivation-a:#22c55e;--cultivation-b:#67e8f9;--cultivation-c:rgba(34,197,94,.22)}.cultivation-avatar-frame[data-cultivation-theme=foundation]{--cultivation-a:#0ea5e9;--cultivation-b:#f59e0b;--cultivation-c:rgba(14,165,233,.22)}.cultivation-avatar-frame[data-cultivation-theme=golden_core]{--cultivation-a:#f59e0b;--cultivation-b:#ef4444;--cultivation-c:rgba(245,158,11,.26)}.cultivation-avatar-frame[data-cultivation-theme=nascent_soul]{--cultivation-a:#38bdf8;--cultivation-b:#a78bfa;--cultivation-c:rgba(56,189,248,.24)}.cultivation-login-reveal{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;width:100vw;min-width:100vw;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;z-index:5000;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2rem);background:radial-gradient(circle at 22% 18%,rgba(20,184,166,.26),transparent 34%),radial-gradient(circle at 78% 74%,rgba(245,158,11,.2),transparent 36%),linear-gradient(140deg,rgba(11,18,32,.94),rgba(17,24,39,.92));opacity:0;overflow:hidden;box-sizing:border-box;transition:opacity .26s ease}.cultivation-login-reveal.is-open{opacity:1}.cultivation-login-reveal.is-closing{opacity:0}.cultivation-login-reveal__field{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,hsla(0,0%,100%,.12),transparent 28%),radial-gradient(circle at 30% 70%,rgba(20,184,166,.1),transparent 34%),radial-gradient(circle at 72% 28%,rgba(245,158,11,.1),transparent 32%)}.cultivation-login-reveal__card{--cultivation-a:#14b8a6;--cultivation-b:#facc15;position:relative;width:min(92vw,520px);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden auto;display:grid;justify-items:center;gap:.72rem;padding:clamp(1.5rem,5vw,2.45rem);border-radius:28px;border:1px solid color-mix(in srgb,var(--cultivation-a) 52%,#fff 12%);background:linear-gradient(145deg,hsla(0,0%,100%,.96),rgba(240,253,250,.9)),linear-gradient(90deg,color-mix(in srgb,var(--cultivation-a) 18%,transparent),transparent 46%,color-mix(in srgb,var(--cultivation-b) 16%,transparent));box-shadow:0 30px 90px -42px var(--cultivation-a),inset 0 1px 0 hsla(0,0%,100%,.82);text-align:center;transform:translateY(18px) scale(.94);animation:cultivation-card-arrive .7s cubic-bezier(.2,1.15,.2,1) forwards}.cultivation-login-reveal__card[data-cultivation-theme=mortal]{--cultivation-a:#64748b;--cultivation-b:#cbd5e1}.cultivation-login-reveal__card[data-cultivation-theme=qi_awakening]{--cultivation-a:#14b8a6;--cultivation-b:#facc15}.cultivation-login-reveal__card[data-cultivation-theme=qi_refining]{--cultivation-a:#22c55e;--cultivation-b:#67e8f9}.cultivation-login-reveal__card[data-cultivation-theme=foundation]{--cultivation-a:#0ea5e9;--cultivation-b:#f59e0b}.cultivation-login-reveal__card[data-cultivation-theme=golden_core]{--cultivation-a:#f59e0b;--cultivation-b:#ef4444}.cultivation-login-reveal__card[data-cultivation-theme=nascent_soul]{--cultivation-a:#38bdf8;--cultivation-b:#a78bfa}.cultivation-login-reveal__sigil{position:relative;width:86px;height:86px;display:grid;place-items:center;border-radius:999px;background:conic-gradient(from 0deg,var(--cultivation-a),var(--cultivation-b),var(--cultivation-a));box-shadow:0 0 0 10px color-mix(in srgb,var(--cultivation-a) 18%,transparent);animation:cultivation-avatar-spin 7s linear infinite}.cultivation-login-reveal__sigil span{width:54px;height:54px;border-radius:18px;border:2px solid hsla(0,0%,100%,.86);transform:rotate(45deg);background:hsla(0,0%,100%,.2)}.cultivation-login-reveal__card small,.cultivation-login-reveal__kicker{margin:0;color:#475569;font-weight:800}.cultivation-login-reveal__card h1{margin:0;color:#0f172a;font-size:2rem;line-height:1.08;overflow-wrap:anywhere}.cultivation-login-reveal__card strong{color:color-mix(in srgb,var(--cultivation-a) 72%,#0f172a 28%);font-size:2.8rem;line-height:1;overflow-wrap:anywhere}.cultivation-login-reveal__card p{margin:0;color:#334155;max-width:min(100%,30rem);line-height:1.5;overflow-wrap:anywhere}.cultivation-login-reveal__rank{color:#0f172a;font-weight:900}.cultivation-login-reveal__rank[data-rank-tier=summit]{color:#b45309}.cultivation-login-reveal__rank[data-rank-tier=front]{color:#0f766e}.cultivation-login-reveal__rank[data-rank-tier=middle]{color:#1d4ed8}.cultivation-login-reveal__rank[data-rank-tier=training]{color:#b91c1c}.cultivation-login-reveal__bar{width:min(100%,360px);height:.68rem;border-radius:999px;background:rgba(148,163,184,.2);overflow:hidden}.cultivation-login-reveal__bar span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cultivation-a),var(--cultivation-b));animation:cultivation-bar-fill var(--cultivation-reveal-duration,3.6s) ease-out forwards}@keyframes cultivation-avatar-spin{to{transform:rotate(1turn)}}@keyframes cultivation-card-arrive{to{transform:translateY(0) scale(1)}}@keyframes cultivation-bar-fill{0%{width:0}}@media (max-width:560px){.cultivation-avatar-badge{display:none}.cultivation-login-reveal{padding:.75rem}.cultivation-login-reveal__card{width:min(94vw,520px);max-height:calc(100vh - 1.5rem);max-height:calc(100dvh - 1.5rem);gap:.58rem;padding:1.2rem;border-radius:22px}.cultivation-login-reveal__sigil{width:70px;height:70px;box-shadow:0 0 0 8px color-mix(in srgb,var(--cultivation-a) 18%,transparent)}.cultivation-login-reveal__sigil span{width:44px;height:44px;border-radius:15px}.cultivation-login-reveal__card h1{font-size:1.45rem}.cultivation-login-reveal__card strong{font-size:2rem}.cultivation-login-reveal__rank{font-size:.92rem}.cultivation-login-reveal__bar{height:.56rem}}@media (prefers-reduced-motion:reduce){.cultivation-avatar-frame:before,.cultivation-login-reveal,.cultivation-login-reveal__bar span,.cultivation-login-reveal__card,.cultivation-login-reveal__field,.cultivation-login-reveal__sigil{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}body.has-cultivation-login-reveal,html.has-cultivation-login-reveal{overflow:hidden}.message-center-bell:hover{transform:translateY(-1px);color:var(--primary-color);background:#fff}.message-center-bell.is-unread{color:var(--primary-color);background:rgba(219,234,254,.92);box-shadow:0 16px 32px rgba(37,99,235,.16)}.message-center-bell__count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;border:2px solid #fff}.message-center-bell-toast{position:absolute;top:calc(100% + 12px);right:0;z-index:80;width:min(320px,calc(100vw - 2rem));padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 36%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.96));box-shadow:0 24px 48px rgba(15,23,42,.18);transform:translateY(-6px);opacity:0;transition:opacity .18s ease,transform .18s ease;pointer-events:none}.message-center-bell-toast.is-visible{transform:translateY(0);opacity:1}.message-center-bell-toast__title{display:block;margin-bottom:.3rem;color:var(--text-primary);font-size:.92rem}.message-center-bell-toast__body{color:var(--text-primary);font-size:.9rem;line-height:1.5}.message-center-bell-toast__meta{margin-top:.35rem;color:var(--text-muted);font-size:.78rem}.message-center-shell{display:grid;gap:var(--spacing-lg)}.message-center-hero{position:relative;overflow:hidden;padding:clamp(1.25rem,1rem + 1vw,2rem);border-radius:calc(var(--radius-lg) + 6px);background:radial-gradient(circle at top left,rgba(14,165,233,.18),transparent 36%),radial-gradient(circle at right,rgba(59,130,246,.16),transparent 30%),linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(248,250,252,.95));border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 48px rgba(15,23,42,.08)}.message-center-hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.message-center-hero__title{margin:.9rem 0 .4rem;font-size:clamp(1.6rem,1.35rem + 1.1vw,2.5rem);line-height:1.08}.message-center-hero__text{margin:0;max-width:58rem;color:var(--text-secondary)}.message-center-hero__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.message-center-stat{padding:1rem 1.1rem;border-radius:var(--radius-lg);background:hsla(0,0%,100%,.76);border:1px solid rgba(148,163,184,.16);backdrop-filter:blur(10px)}.message-center-stat__label{display:block;color:var(--text-muted);font-size:.82rem}.message-center-stat__value{display:block;margin-top:.35rem;font-size:1.7rem;font-weight:800;color:var(--text-primary)}.message-center-workspace-island{min-width:0}.message-center-workspace-sync{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:12px;align-items:stretch;padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:linear-gradient(135deg,hsla(0,0%,100%,.92),rgba(248,250,252,.9));box-shadow:0 18px 42px -34px rgba(15,23,42,.48)}.message-center-workspace-sync__contact,.message-center-workspace-sync__summary{min-width:0}.message-center-workspace-sync__eyebrow{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:999px;background:rgba(20,184,166,.1);color:#0f766e;font-size:.74rem;font-weight:850}.message-center-workspace-sync h2{margin:8px 0 4px;color:var(--text-primary);font-size:clamp(1.15rem,1rem + .45vw,1.5rem);font-weight:900;letter-spacing:0}.message-center-workspace-sync p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.58}.message-center-workspace-sync__actions,.message-center-workspace-sync__chips{display:flex;flex-wrap:wrap;gap:8px}.message-center-workspace-sync__chips{margin-top:10px}.message-center-workspace-sync__chips span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.75);color:var(--text-muted);font-size:.76rem;font-weight:800}.message-center-workspace-sync__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.message-center-workspace-sync__metric{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.78)}.message-center-workspace-sync__contact small,.message-center-workspace-sync__contact span,.message-center-workspace-sync__metric span{color:var(--text-muted);font-size:.75rem;font-weight:800}.message-center-workspace-sync__metric strong{color:var(--text-primary);font-size:1.25rem;font-weight:920;line-height:1.05}.message-center-workspace-sync__metric.is-primary strong{color:var(--primary-dark)}.message-center-workspace-sync__metric.is-danger strong{color:var(--danger-color)}.message-center-workspace-sync__metric.is-success strong{color:var(--success-dark)}.message-center-workspace-sync__metric.is-warning strong{color:var(--warning-dark)}.message-center-workspace-sync__metric.is-contact strong{color:#0369a1}.message-center-workspace-sync__contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(248,250,252,.82)}.message-center-workspace-sync__contact div{display:grid;gap:2px;min-width:0}.message-center-workspace-sync__contact small,.message-center-workspace-sync__contact strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-center-workspace-sync__contact strong{color:var(--text-primary);font-size:.96rem;font-weight:900}.message-center-workspace-sync__contact em{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 8px;border-radius:999px;background:rgba(14,165,233,.12);color:#0369a1;font-size:.72rem;font-style:normal;font-weight:850}.message-center-workspace-sync__contact em.is-warning{background:rgba(245,158,11,.14);color:var(--warning-dark)}.message-center-workspace-sync__actions{grid-column:1/-1;align-items:center}.message-center-workspace-sync__actions a,.message-center-workspace-sync__actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.82rem;font-weight:850;line-height:1;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}.message-center-workspace-sync__actions a:focus-visible,.message-center-workspace-sync__actions a:hover,.message-center-workspace-sync__actions button:focus-visible:not(:disabled),.message-center-workspace-sync__actions button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(20,184,166,.34);color:#0f766e;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.message-center-workspace-sync__actions button:disabled{cursor:not-allowed;opacity:.45}.message-center-toolbar{display:grid;gap:var(--spacing-md)}.message-center-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.message-center-tab{display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:hsla(0,0%,100%,.78);color:var(--text-secondary);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.message-center-tab:hover{transform:translateY(-1px);border-color:rgba(59,130,246,.3)}.message-center-tab.is-active{color:#1d4ed8;border-color:rgba(37,99,235,.28);background:rgba(219,234,254,.84);box-shadow:0 14px 28px rgba(37,99,235,.1)}.message-center-pill,.message-center-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .45rem;border-radius:999px;font-size:.72rem;font-weight:700}.message-center-tab__count{background:rgba(30,64,175,.08);color:#1e40af}.message-center-controls{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:var(--spacing-sm)}.message-center-composer__input,.message-center-filter,.message-center-search{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:hsla(0,0%,100%,.88);color:var(--text-primary);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.message-center-filter,.message-center-search{height:46px;padding:0 .95rem}.message-center-composer__input:focus,.message-center-filter:focus,.message-center-search:focus{border-color:rgba(37,99,235,.38);box-shadow:0 0 0 4px rgba(59,130,246,.12)}.message-center-body{min-height:520px}.message-center-feed,.message-center-private-panel{border:1px solid rgba(148,163,184,.16);border-radius:calc(var(--radius-lg) + 4px);background:hsla(0,0%,100%,.94);box-shadow:0 24px 48px rgba(15,23,42,.08)}.message-center-feed{padding:var(--spacing-lg);display:grid;gap:var(--spacing-md)}.message-center-card{position:relative;display:grid;gap:.7rem;padding:1.1rem 1.15rem;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.92))}.message-center-card.is-unread{border-color:rgba(37,99,235,.24);box-shadow:inset 3px 0 0 rgba(37,99,235,.9)}.message-center-block-item,.message-center-card__actions,.message-center-card__top,.message-center-contact__meta,.message-center-conversation__tools{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.message-center-card__category{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.82rem}.message-center-card__title{margin:0;font-size:1.05rem}.message-center-block-empty,.message-center-card__body,.message-center-card__meta,.message-center-contact__subtitle,.message-center-conversation__hint,.message-center-message__meta{color:var(--text-secondary);font-size:.92rem}.message-center-card__meta{display:flex;flex-wrap:wrap;gap:.9rem}.message-center-pill{background:rgba(15,23,42,.06);color:var(--text-secondary)}.message-center-pill.is-danger{background:rgba(239,68,68,.12);color:#b91c1c}.message-center-pill--severity.is-normal{background:rgba(100,116,139,.12);color:#475569}.message-center-pill--severity.is-important{background:rgba(245,158,11,.14);color:#92400e}.message-center-pill--severity.is-system{background:rgba(14,116,144,.12);color:#0e7490}.message-center-private-panel{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);overflow:hidden}.message-center-conversation,.message-center-sidebar{min-width:0}.message-center-sidebar{border-right:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,rgba(248,250,252,.96),hsla(0,0%,100%,.94));display:grid;grid-template-rows:auto auto minmax(0,1fr)}.message-center-conversation__header,.message-center-pane-header{padding:1rem 1.05rem;border-bottom:1px solid rgba(148,163,184,.14)}.message-center-pane-title{margin:0;font-size:1rem}.message-center-block-list,.message-center-messages{display:grid;gap:.75rem}.message-center-blocks,.message-center-contact-picker{padding:1rem}.message-center-contact-picker{display:grid;gap:.7rem;border-bottom:1px solid rgba(148,163,184,.14)}.message-center-search--compact{height:42px}.message-center-contact-select{width:100%;height:46px;padding:0 .95rem;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:hsla(0,0%,100%,.92);color:var(--text-primary);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.message-center-contact-select:focus{border-color:rgba(37,99,235,.38);box-shadow:0 0 0 4px rgba(59,130,246,.12)}.message-center-contact-current{min-height:78px;padding:.9rem 1rem;background:hsla(0,0%,100%,.84)}.message-center-contact,.message-center-contact-current{border-radius:16px;border:1px solid rgba(148,163,184,.14)}.message-center-contact{padding:.95rem 1rem;background:hsla(0,0%,100%,.9);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.message-center-contact:hover{transform:translateY(-1px);border-color:rgba(59,130,246,.22)}.message-center-contact.is-active{border-color:rgba(37,99,235,.28);background:rgba(219,234,254,.8);box-shadow:0 16px 28px rgba(37,99,235,.08)}.message-center-contact.is-blocked{opacity:.72}.message-center-contact__name{font-weight:700;color:var(--text-primary)}.message-center-contact__preview{margin-top:.4rem;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.message-center-blocks{border-top:1px solid rgba(148,163,184,.14);background:rgba(248,250,252,.7);overflow:auto}.message-center-block-item{padding:.7rem .8rem;border-radius:14px;background:hsla(0,0%,100%,.82);border:1px solid rgba(148,163,184,.14)}.message-center-conversation{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:620px}.message-center-conversation__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.message-center-conversation__body{padding:1rem;background:radial-gradient(circle at top right,rgba(14,165,233,.08),transparent 22%),linear-gradient(180deg,rgba(248,250,252,.72),hsla(0,0%,100%,.9));overflow:auto}.message-center-message{max-width:min(78%,760px);padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(148,163,184,.14);background:hsla(0,0%,100%,.96);box-shadow:0 12px 24px rgba(15,23,42,.06)}.message-center-message.is-outgoing{margin-left:auto;background:linear-gradient(135deg,rgba(219,234,254,.92),rgba(239,246,255,.96));border-color:rgba(37,99,235,.18)}.message-center-message__content{white-space:pre-wrap;line-height:1.65;color:var(--text-primary)}.message-center-message__content.md-content{white-space:normal}.message-center-message__content.md-content p:first-child{margin-top:0}.message-center-message__content.md-content p:last-child{margin-bottom:0}.message-center-message__attachments{display:grid;gap:.5rem;margin-top:.65rem}.message-center-message__attachment{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.5rem;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.74);color:var(--text-primary);text-decoration:none;font:inherit;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.message-center-message__attachment:focus-visible,.message-center-message__attachment:hover{transform:translateY(-1px);border-color:rgba(59,130,246,.28);box-shadow:0 12px 22px rgba(15,23,42,.08)}.message-center-message__attachment.is-image{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;width:min(280px,100%);padding:.42rem;cursor:zoom-in}.message-center-message__attachment.is-image img{width:64px;height:64px;border-radius:8px;-o-object-fit:cover;object-fit:cover;background:rgba(241,245,249,.9)}.message-center-message__attachment.is-image span{color:var(--text-secondary);font-size:.78rem;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis}.message-center-message__attachment.is-file span:last-child{min-width:0;display:grid;gap:.1rem}.message-center-message__attachment.is-file small{color:var(--text-muted);font-size:.75rem}.message-center-message__attachment-icon{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;flex:0 0 auto;background:rgba(219,234,254,.82)}.message-center-message__actions{display:flex;justify-content:flex-end;margin-top:.6rem}.message-center-message.is-status-note{border-style:dashed;background:linear-gradient(135deg,rgba(241,245,249,.96),hsla(0,0%,100%,.98))}.message-center-message.is-status-note .message-center-message__meta strong{display:inline-flex;align-items:center;gap:.5rem}.message-center-message.is-status-note .message-center-message__meta strong:before{content:"";width:10px;height:10px;border-radius:999px;background:#0ea5e9;box-shadow:0 0 0 0 rgba(14,165,233,.4);animation:message-center-ai-pulse 1.8s ease-out infinite}.message-center-message.is-status-note.is-failed{border-color:rgba(245,158,11,.35);background:linear-gradient(135deg,rgba(255,251,235,.98),hsla(0,0%,100%,.98))}.message-center-message.is-status-note.is-failed .message-center-message__meta strong:before{background:#f59e0b;box-shadow:none;animation:none}.message-center-message__status{margin-top:.65rem;color:var(--text-muted);font-size:.82rem}.message-center-composer{padding:1rem;border-top:1px solid rgba(148,163,184,.14);background:hsla(0,0%,100%,.96)}.message-center-composer__form{display:block;border-radius:18px;transition:box-shadow .16s ease,outline-color .16s ease}.message-center-composer__form.is-dragover{outline:2px solid rgba(14,165,233,.34);outline-offset:4px;box-shadow:0 18px 36px rgba(14,165,233,.12)}.message-center-composer__editor{display:grid;grid-template-columns:minmax(0,1fr) clamp(92px,10vw,116px);gap:.85rem;align-items:stretch}.message-center-composer__main{min-width:0;display:grid;grid-template-rows:auto minmax(124px,1fr) auto;gap:.65rem}.message-center-editor-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:linear-gradient(180deg,rgba(248,250,252,.95),hsla(0,0%,100%,.95))}.message-center-editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.88);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.message-center-editor-toolbar button:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.28);color:var(--primary-color)}.message-center-composer__input{min-height:124px;height:100%;padding:1rem 1.05rem;resize:vertical}.message-center-attachment-preview{display:flex;flex-wrap:wrap;gap:.55rem}.message-center-attachment-chip{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:min(100%,230px);max-width:100%;padding:.45rem .45rem .45rem .5rem;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.92);animation:message-center-chip-in .18s ease both}.message-center-attachment-chip img,.message-center-attachment-chip__icon{width:42px;height:42px;border-radius:8px;-o-object-fit:cover;object-fit:cover;background:rgba(226,232,240,.72)}.message-center-attachment-chip__icon{display:inline-grid;place-items:center}.message-center-attachment-chip__meta{min-width:0;display:grid;gap:.12rem}.message-center-attachment-chip__meta small,.message-center-attachment-chip__meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-center-attachment-chip__meta strong{color:var(--text-primary);font-size:.82rem}.message-center-attachment-chip__meta small{color:var(--text-muted);font-size:.72rem}.message-center-attachment-chip button{width:26px;height:26px;border:0;border-radius:999px;background:rgba(15,23,42,.08);color:var(--text-secondary);cursor:pointer;transition:background .16s ease,color .16s ease}.message-center-attachment-chip button:hover{background:rgba(220,38,38,.12);color:#dc2626}.message-center-empty{min-height:240px;display:grid;place-items:center;padding:2rem;color:var(--text-secondary);text-align:center}.message-center-empty__card{max-width:420px;display:grid;gap:.6rem}.message-center-composer__actions{min-height:100%;display:flex;flex-direction:column;gap:.75rem}.message-center-emoji-anchor{position:relative;display:flex}.message-center-compose-submit,.message-center-composer__action-button{width:100%;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;line-height:1.2}.message-center-composer__action-button{min-height:48px;padding:.82rem .95rem;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.96));color:var(--text-primary);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.message-center-composer__action-button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(59,130,246,.28);background:rgba(239,246,255,.98);box-shadow:0 14px 26px rgba(59,130,246,.12)}.message-center-composer__action-button:disabled{opacity:.56;cursor:not-allowed;transform:none;box-shadow:none}.message-center-composer__action-icon{font-size:1.05rem;line-height:1}.message-center-compose-submit{position:relative;flex:1 1 auto;min-height:0;padding:1rem .9rem;box-shadow:0 18px 32px rgba(37,99,235,.18);transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease}.message-center-compose-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 36px rgba(37,99,235,.22)}.message-center-compose-submit.is-busy{cursor:progress;background:linear-gradient(135deg,#2563eb,#0ea5e9)}.message-center-compose-submit:disabled:not(.is-busy){cursor:not-allowed;box-shadow:none}.message-center-compose-submit__spinner{display:none;width:16px;height:16px;border-radius:999px;border:2px solid hsla(0,0%,100%,.34);border-top-color:hsla(0,0%,100%,.98);animation:message-center-spin .9s linear infinite}.message-center-compose-submit.is-busy .message-center-compose-submit__spinner{display:inline-block}.message-center-compose-submit__label{white-space:nowrap}@media (max-width:960px){.message-center-workspace-sync{grid-template-columns:minmax(0,1fr)}.message-center-controls,.message-center-private-panel{grid-template-columns:1fr}.message-center-sidebar{border-right:none;border-bottom:1px solid rgba(148,163,184,.14)}.message-center-conversation{min-height:520px}.message-center-composer__editor{grid-template-columns:minmax(0,1fr) 96px}}@media (max-width:640px){.message-center-workspace-sync{padding:12px}.message-center-workspace-sync__metrics{grid-template-columns:minmax(0,1fr)}.message-center-workspace-sync__contact{align-items:stretch;flex-direction:column}.message-center-workspace-sync__actions a,.message-center-workspace-sync__actions button{flex:1 1 130px}.message-center-card__actions,.message-center-conversation__header{flex-direction:column;align-items:stretch}.message-center-message{max-width:100%}.message-center-composer__editor{grid-template-columns:1fr}.message-center-composer__main{grid-template-rows:auto auto}.message-center-composer__actions{flex-direction:row;flex-wrap:wrap}.message-center-compose-submit,.message-center-composer__action-button,.message-center-emoji-anchor{flex:1 1 0;min-width:46%}.message-center-compose-submit{min-height:52px}}.emoji-picker{position:absolute;right:0;bottom:calc(100% + 10px);z-index:60}.emoji-picker-item img{pointer-events:none}@keyframes message-center-ai-pulse{0%{box-shadow:0 0 0 0 rgba(14,165,233,.4)}70%{box-shadow:0 0 0 10px rgba(14,165,233,0)}to{box-shadow:0 0 0 0 rgba(14,165,233,0)}}@keyframes message-center-spin{to{transform:rotate(1turn)}}@keyframes message-center-chip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.teacher-onboarding-modal[hidden],.teacher-onboarding-submodal[hidden]{display:none!important}.teacher-onboarding-modal{position:fixed;inset:0;z-index:2500;display:flex;align-items:center;justify-content:center;padding:clamp(10px,2.4vw,28px);background:rgba(15,23,42,.62);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .32s cubic-bezier(.22,1,.36,1)}.teacher-onboarding-modal.is-open{opacity:1;pointer-events:auto}.teacher-onboarding-dialog{position:relative;width:min(1120px,100%);height:min(820px,calc(100vh - 28px));display:grid;grid-template-rows:58px minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(209,213,219,.86);border-radius:12px;background:#fff;box-shadow:0 28px 72px rgba(17,24,39,.24);color:#333;font-family:Microsoft YaHei UI Light,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif;opacity:0;transform:translateY(24px) scale(.965);transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .32s ease,grid-template-rows .56s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}.teacher-onboarding-modal.is-open .teacher-onboarding-dialog{opacity:1;transform:translateY(0) scale(1)}.teacher-onboarding-close{position:absolute;top:16px;right:16px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(148,163,184,.34);border-radius:999px;background:hsla(0,0%,100%,.9);color:#475569;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,color .18s ease}.teacher-onboarding-close:focus-visible,.teacher-onboarding-close:hover{color:#0f172a;box-shadow:0 0 0 4px rgba(148,163,184,.16);transform:translateY(-1px);outline:none}.teacher-onboarding-welcome-area{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 72px;border-bottom:1px solid rgba(229,231,235,.92);background:#fff}.teacher-onboarding-welcome-area h2{margin:0;max-width:900px;color:#333;font-size:.98rem;font-weight:300;line-height:1.4;text-align:center;letter-spacing:0;transition:transform .5s cubic-bezier(.22,1,.36,1),font-size .5s cubic-bezier(.22,1,.36,1),color .5s ease}.teacher-onboarding-dialog.is-welcome-pending{grid-template-rows:minmax(0,1fr) 0 0}.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-welcome-area{border-bottom:0;padding:0 clamp(24px,8vw,96px)}.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-welcome-area h2{color:#333;font-size:clamp(2rem,4.4vw,3rem);font-weight:300;line-height:1.32;transform:translateY(0)}.teacher-onboarding-dialog.is-welcome-compact .teacher-onboarding-welcome-area h2{color:#444;font-size:.98rem;transform:translateY(0)}.teacher-onboarding-welcome-area.has-history h2{display:none}.teacher-onboarding-history{min-height:42px;display:none;align-items:center;justify-content:center;gap:8px;overflow-x:auto;padding:0}.teacher-onboarding-welcome-area.has-history .teacher-onboarding-history{display:flex}.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-history{display:none}.teacher-onboarding-history-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 11px;border:1px solid hsla(220,9%,46%,.2);border-radius:999px;background:#fff;color:#4b5563;font-size:.82rem;font-weight:300;white-space:nowrap}.teacher-onboarding-main{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:20px clamp(22px,3.4vw,42px);overflow:auto;transition:opacity .24s ease,transform .24s ease}.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-footer,.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-main{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px)}.teacher-onboarding-step-count{justify-self:center;color:#8a8f98;font-size:.82rem;font-weight:300}.teacher-onboarding-step-panel{min-height:0}.onboarding-step-shell{display:grid;gap:20px;animation:onboardingStepIn .42s cubic-bezier(.22,1,.36,1) both;will-change:opacity,transform}.onboarding-step-shell.is-leaving{animation:onboardingStepOut .26s cubic-bezier(.4,0,.2,1) both}@keyframes onboardingStepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes onboardingStepOut{to{opacity:0;transform:translateY(-12px)}}.onboarding-step-title{display:grid;gap:10px;justify-items:center;padding:4px 8px 8px;text-align:center}.onboarding-step-title h3{margin:0;max-width:760px;color:#333;font-size:clamp(1.46rem,2.4vw,2rem);font-weight:300;line-height:1.42;letter-spacing:0}.onboarding-step-title p{margin:0;max-width:720px;color:#6b7280;font-size:.96rem;font-weight:300;line-height:1.68}.onboarding-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.onboarding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.onboarding-grid.is-compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.onboarding-material-tree{display:grid;gap:8px;max-height:min(430px,52vh);overflow:auto;padding:4px;border:1px solid rgba(229,231,235,.95);border-radius:8px;background:#fff}.onboarding-material-node{display:grid;gap:6px}.onboarding-material-row{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:8px;align-items:stretch;padding-left:calc(var(--tree-depth, 0)*22px)}.onboarding-material-select,.onboarding-material-toggle,.onboarding-upload-choice{font-family:inherit}.onboarding-material-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:58px;border:1px solid rgba(209,213,219,.86);border-radius:8px;background:#fff;color:#4b5563;font-size:.86rem;font-weight:300;cursor:pointer}.onboarding-material-toggle:disabled{cursor:default;opacity:.32}.onboarding-material-select{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:58px;padding:10px 12px;border:1px solid rgba(209,213,219,.9);border-radius:8px;background:#fff;color:#333;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.onboarding-material-node.is-selected>.onboarding-material-row .onboarding-material-select,.onboarding-material-select:focus-visible,.onboarding-material-select:hover{border-color:rgba(15,118,110,.5);background:#fbfbfb;box-shadow:0 0 0 2px rgba(15,118,110,.12),0 10px 22px rgba(17,24,39,.08);outline:none}.onboarding-material-node.is-selected>.onboarding-material-row .onboarding-material-select{animation:onboardingSelectedPulse .46s cubic-bezier(.22,1,.36,1) both}.onboarding-material-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(209,213,219,.9);border-radius:6px;color:#6b7280}.onboarding-material-copy{min-width:0;display:grid;gap:3px}.onboarding-material-copy small,.onboarding-material-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-material-copy strong{color:#333;font-size:.95rem;font-weight:400}.onboarding-material-copy small,.onboarding-material-tree-loading,.onboarding-upload-summary{color:#6b7280;font-size:.82rem;font-weight:300}.onboarding-material-children{display:grid;gap:6px}.onboarding-material-tree-loading{margin-left:calc((var(--tree-depth, 0) + 1)*22px);padding:9px 12px;border:1px dashed rgba(209,213,219,.9);border-radius:8px;background:#fafafa}.onboarding-upload-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-upload-choice{display:grid;gap:6px;min-height:112px;padding:16px;border:1px solid rgba(209,213,219,.9);border-radius:8px;background:#fff;color:#333;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.onboarding-upload-choice:focus-visible,.onboarding-upload-choice:hover{border-color:rgba(75,85,99,.38);box-shadow:0 12px 24px rgba(17,24,39,.09);outline:none}.onboarding-upload-choice strong{color:#333;font-size:1rem;font-weight:400}.onboarding-upload-choice span{color:#6b7280;line-height:1.55}.onboarding-upload-summary{padding:10px 12px;border:1px solid rgba(229,231,235,.92);border-radius:8px;background:#fafafa}.onboarding-option-card{display:grid;gap:9px;width:100%;min-height:108px;padding:14px;border:1px solid rgba(203,213,225,.88);border-radius:8px;background:#fff;color:#0f172a;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.05);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.onboarding-option-card.is-selected,.onboarding-option-card:focus-visible,.onboarding-option-card:hover{border-color:rgba(15,118,110,.54);background:#f8fffd;box-shadow:0 14px 28px rgba(15,118,110,.12);outline:none}.onboarding-option-card.is-selected{box-shadow:0 0 0 2px rgba(15,118,110,.16),0 14px 28px rgba(15,118,110,.12);animation:onboardingSelectedPulse .46s cubic-bezier(.22,1,.36,1) both}@keyframes onboardingSelectedPulse{0%{box-shadow:0 0 0 0 rgba(15,118,110,.22),0 8px 18px rgba(15,23,42,.05)}to{box-shadow:0 0 0 2px rgba(15,118,110,.16),0 14px 28px rgba(15,118,110,.12)}}.onboarding-option-card.is-muted{border-style:dashed;background:rgba(248,250,252,.82)}.onboarding-option-card strong{display:block;color:#0f172a;font-size:.98rem;line-height:1.35}.onboarding-empty,.onboarding-hint,.onboarding-option-card small,.onboarding-option-card span{color:#64748b;line-height:1.55}.onboarding-option-card small{display:block;font-size:.8rem}.onboarding-badge-row{display:flex;flex-wrap:wrap;gap:6px}.onboarding-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:rgba(226,232,240,.9);color:#475569;font-size:.76rem;font-weight:700}.onboarding-badge.is-green{background:rgba(209,250,229,.92);color:#047857}.onboarding-badge.is-blue{background:rgba(219,234,254,.92);color:#1d4ed8}.onboarding-badge.is-amber{background:hsla(48,96%,89%,.92);color:#b45309}.onboarding-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.onboarding-field,.onboarding-field.full-span{display:grid;gap:7px}.onboarding-field.full-span{grid-column:1/-1}.onboarding-field label{color:#334155;font-size:.88rem;font-weight:700}.onboarding-field input,.onboarding-field select,.onboarding-field textarea,.teacher-onboarding-submodal input,.teacher-onboarding-submodal select,.teacher-onboarding-submodal textarea{width:100%;min-height:42px;border:1px solid rgba(203,213,225,.9);border-radius:8px;background:#fff;color:#0f172a;padding:10px 12px;font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.onboarding-field textarea,.teacher-onboarding-submodal textarea{resize:vertical;min-height:96px}.onboarding-field input:focus,.onboarding-field select:focus,.onboarding-field textarea:focus,.teacher-onboarding-submodal input:focus,.teacher-onboarding-submodal select:focus,.teacher-onboarding-submodal textarea:focus{border-color:rgba(15,118,110,.58);box-shadow:0 0 0 4px rgba(20,184,166,.12)}.onboarding-recommend-panel{display:grid;gap:10px;padding:14px;border:1px solid rgba(229,231,235,.95);border-radius:8px;background:#fff}.onboarding-course-similar{position:relative}.onboarding-course-more{position:absolute;left:14px;right:14px;bottom:12px;display:none;padding:10px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:hsla(0,0%,100%,.96);color:#475569;box-shadow:0 14px 32px rgba(15,23,42,.14);font-size:.82rem}.onboarding-course-similar:focus-visible .onboarding-course-more,.onboarding-course-similar:hover .onboarding-course-more{display:block}.onboarding-ai-suggestion{display:grid;gap:10px;padding:14px;border:1px solid rgba(20,184,166,.28);border-radius:8px;background:rgba(240,253,250,.76)}.onboarding-lesson-list{display:grid;gap:10px;min-width:0}.onboarding-dynamic-list{display:grid;gap:12px;padding:12px;border:1px solid rgba(203,213,225,.78);border-radius:8px;background:rgba(248,250,252,.72)}.onboarding-dynamic-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.onboarding-dynamic-head h4{margin:0;color:#0f172a;font-size:1rem;font-weight:800}.onboarding-dynamic-head p{margin:4px 0 0;color:#64748b;font-size:.86rem;line-height:1.6}.onboarding-dynamic-actions{display:inline-flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.onboarding-dynamic-workbench{display:grid;grid-template-columns:minmax(164px,1fr) minmax(0,3fr);gap:12px;align-items:start;min-height:300px}.onboarding-lesson-menu{display:grid;gap:8px;max-height:min(46vh,420px);overflow:auto;padding:6px;border:1px solid rgba(203,213,225,.76);border-radius:8px;background:hsla(0,0%,100%,.78);scrollbar-width:thin}.onboarding-lesson-tab{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:50px;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:hsla(0,0%,100%,.88);color:#475569;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.onboarding-lesson-tab:focus-visible,.onboarding-lesson-tab:hover{border-color:rgba(15,118,110,.3);background:#fff;box-shadow:0 12px 24px rgba(15,118,110,.1);outline:none;transform:translateY(-1px)}.onboarding-lesson-tab.is-active{border-color:rgba(15,118,110,.45);background:#f0fdfa;color:#0f766e;box-shadow:0 0 0 2px rgba(20,184,166,.1)}.onboarding-lesson-tab-dot{width:10px;height:10px;border-radius:999px;background:#94a3b8}.onboarding-lesson-tab.is-complete .onboarding-lesson-tab-dot{background:#10b981}.onboarding-lesson-tab.is-partial .onboarding-lesson-tab-dot{background:#f59e0b}.onboarding-lesson-tab-copy{display:grid;gap:2px;min-width:0}.onboarding-lesson-tab-copy span,.onboarding-lesson-tab-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-lesson-tab-copy strong{color:inherit;font-size:.88rem;font-weight:800}.onboarding-lesson-tab-copy span,.onboarding-lesson-tab-index{color:#64748b;font-size:.74rem;font-weight:700}.onboarding-lesson-row{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(150px,.65fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid rgba(203,213,225,.86);border-radius:8px;background:#fff}.onboarding-lesson-row[hidden]{display:none}.onboarding-lesson-row.is-active{animation:onboardingDynamicPanelIn .24s cubic-bezier(.22,1,.36,1) both}.onboarding-lesson-row textarea{min-height:42px}@keyframes onboardingDynamicPanelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding-empty{padding:16px;border:1px dashed rgba(148,163,184,.6);border-radius:8px;background:rgba(248,250,252,.76)}.teacher-onboarding-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px clamp(18px,3vw,34px);border-top:1px solid rgba(203,213,225,.76);background:#fff;transition:opacity .24s ease,transform .24s ease}.teacher-onboarding-footer-note{color:#64748b;font-size:.86rem;text-align:center}.teacher-onboarding-submodal{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.45);animation:onboardingFadeIn .24s ease both}.teacher-onboarding-submodal-card{position:relative;width:min(640px,100%);max-height:min(720px,calc(100vh - 56px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(203,213,225,.8);border-radius:12px;background:#fff;box-shadow:0 28px 72px rgba(15,23,42,.26);animation:onboardingSubmodalIn .32s cubic-bezier(.22,1,.36,1) both}@keyframes onboardingFadeIn{0%{opacity:0}to{opacity:1}}@keyframes onboardingSubmodalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.teacher-onboarding-submodal-card header{display:flex;justify-content:space-between;gap:12px;padding:18px 58px 14px 20px;border-bottom:1px solid rgba(226,232,240,.9)}.teacher-onboarding-kicker{margin:0 0 4px;color:#0f766e;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.teacher-onboarding-submodal-card h3{margin:0;font-size:1.2rem;letter-spacing:0}.teacher-onboarding-close.is-submodal{top:14px;right:14px;width:34px;height:34px}.teacher-onboarding-submodal-body{min-height:0;overflow:auto;padding:18px 20px 20px}.teacher-onboarding-submodal form{display:grid;gap:14px}.teacher-onboarding-submodal-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width:860px){.teacher-onboarding-dialog{height:min(860px,calc(100vh - 18px));grid-template-rows:56px minmax(0,1fr) auto;border-radius:10px}.teacher-onboarding-dialog.is-welcome-pending{grid-template-rows:minmax(0,1fr) 0 0}.teacher-onboarding-welcome-area{padding:0 54px 0 18px}.teacher-onboarding-welcome-area h2{font-size:.9rem;text-align:center}.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-welcome-area{padding:0 24px}.teacher-onboarding-dialog.is-welcome-pending .teacher-onboarding-welcome-area h2{font-size:clamp(1.55rem,7vw,2.25rem);text-align:center}.teacher-onboarding-history{justify-content:center}.onboarding-step-title h3{font-size:1.36rem}.onboarding-step-title p{font-size:.9rem}.onboarding-dynamic-workbench,.onboarding-field-grid,.onboarding-lesson-row,.onboarding-upload-choice-grid{grid-template-columns:1fr}.onboarding-lesson-menu{grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);max-height:none;overflow-x:auto;overflow-y:hidden}.onboarding-material-select{grid-template-columns:24px minmax(0,1fr)}.onboarding-material-select .onboarding-badge-row{grid-column:2}.onboarding-material-row{grid-template-columns:minmax(0,1fr) 58px}.teacher-onboarding-footer{grid-template-columns:1fr}.teacher-onboarding-footer .btn{width:100%}}@media (prefers-reduced-motion:reduce){.onboarding-lesson-row.is-active,.onboarding-material-node.is-selected>.onboarding-material-row .onboarding-material-select,.onboarding-option-card.is-selected,.onboarding-step-shell,.onboarding-step-shell.is-leaving,.teacher-onboarding-dialog,.teacher-onboarding-footer,.teacher-onboarding-main,.teacher-onboarding-modal,.teacher-onboarding-submodal,.teacher-onboarding-submodal-card,.teacher-onboarding-welcome-area h2{animation:none!important;transition:none!important}}.md-content{line-height:1.7;font-size:.95rem;color:var(--text-secondary)}.md-content h1,.md-content h2,.md-content h3{color:var(--text-primary);margin-top:1.5em;margin-bottom:.5em;font-weight:600}.md-content h1{font-size:1.5rem}.md-content h2{font-size:1.25rem}.md-content h3{font-size:1.1rem}.md-content p{margin-bottom:1em}.md-content ol,.md-content ul{padding-left:1.5em;margin-bottom:1em}.md-content li{margin-bottom:.25em}.md-content pre{background:var(--gray-900,#0f172a);color:var(--gray-100,#f1f5f9);padding:1rem;border-radius:var(--radius-md,.5rem);overflow-x:auto;margin:1em 0}.md-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:var(--bg-color);padding:.2em .4em;border-radius:4px;font-size:.9em}.md-content pre code{background:transparent;padding:0}.md-content blockquote{border-left:4px solid var(--primary-color);padding:.5em 1em;background:var(--primary-light);margin:1em 0;border-radius:0 var(--radius-md,.5rem) var(--radius-md,.5rem) 0;color:var(--text-secondary)}.md-content table{width:100%;border-collapse:collapse;margin:1em 0}.md-content td,.md-content th{border:1px solid var(--border-color);padding:.5em .75em;text-align:left}.md-content th{background:var(--bg-color);font-weight:600}#ai-chat-fab{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background-color:var(--primary-color);color:#fff;border-radius:50%;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;font-size:28px;z-index:1000;transition:transform .2s ease,box-shadow .2s ease}#ai-chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.2)}#ai-chat-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:5200;isolation:isolate}body.ai-chat-fullscreen-active{overflow:hidden}.ai-chat-container{position:fixed;bottom:30px;right:30px;width:400px;height:600px;min-width:350px;min-height:400px;max-width:100vw;max-height:100vh;background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:ai-chat-pop-in .3s cubic-bezier(.175,.885,.32,1.275)}.ai-chat-container.fullscreen{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);width:auto;height:auto;min-width:0;min-height:0;max-width:none;max-height:none;border-radius:0;animation:none;background:var(--bg-color)}.ai-chat-container.fullscreen .ai-chat-header{border-bottom:none}.ai-chat-container.fullscreen .ai-chat-header,.ai-chat-container.fullscreen .ai-chat-messages{max-width:980px;margin:0 auto;width:min(980px,calc(100% - 32px));background:transparent;padding:16px 0}.ai-chat-container.fullscreen .ai-chat-messages{flex:1}.ai-chat-container.fullscreen .ai-chat-message{max-width:100%}.ai-chat-container.fullscreen .ai-chat-message.assistant .bubble{background:var(--surface-color);border:none;box-shadow:var(--shadow-sm)}.ai-chat-container.fullscreen .ai-chat-message.user{margin-left:0}.ai-chat-container.fullscreen .ai-chat-message.user .bubble{margin-left:auto;max-width:85%}.ai-chat-container.fullscreen .ai-chat-input-area{max-width:980px;width:min(980px,calc(100% - 32px));margin:0 auto;background:transparent;border-top:none;padding:12px 0 40px}.ai-chat-container.fullscreen .ai-chat-input-area .input-row{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-sm)}.ai-chat-container.fullscreen .ai-chat-input-area textarea{height:6rem;max-height:13.5rem;border:none;padding:10px;font-size:1rem}.resizer{position:absolute;background:transparent;z-index:10}.resizer-top{top:-5px}.resizer-bottom,.resizer-top{left:5px;right:5px;height:10px;cursor:ns-resize}.resizer-bottom{bottom:-5px}.resizer-left{left:-5px}.resizer-left,.resizer-right{top:5px;bottom:5px;width:10px;cursor:ew-resize}.resizer-right{right:-5px}.resizer-top-left{top:-5px;left:-5px;width:10px;height:10px;cursor:nwse-resize}.resizer-top-right{top:-5px;right:-5px}.resizer-bottom-left,.resizer-top-right{width:10px;height:10px;cursor:nesw-resize}.resizer-bottom-left{bottom:-5px;left:-5px}.resizer-bottom-right{bottom:-5px;right:-5px;width:10px;height:10px;cursor:nwse-resize}.ai-chat-container.fullscreen .resizer{display:none}.ai-chat-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--surface-hover)}.ai-chat-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.ai-chat-header .header-buttons{display:flex;gap:8px}.ai-chat-header .chat-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;justify-content:center}.ai-chat-header .chat-btn:hover{color:var(--primary-color)}.ai-chat-messages{flex:1;overflow-y:auto;padding:16px;background:var(--bg-color)}.ai-chat-message{display:flex;flex-direction:column;margin-bottom:12px;max-width:85%}.ai-chat-message .bubble{padding:10px 14px;border-radius:18px;line-height:1.5;word-wrap:break-word}.ai-chat-message .bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.ai-chat-message .bubble p:not(:last-child){margin-bottom:8px}.ai-chat-message .bubble img{max-width:100%;border-radius:8px;margin-top:8px}.ai-chat-attachment-pill{margin-top:8px;display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border-radius:999px;background:rgba(15,23,42,.06);color:var(--text-muted);font-size:.85rem;word-break:break-all}.ai-chat-message.user{margin-left:auto}.ai-chat-message.user .bubble{background:linear-gradient(135deg,#dbeafe,#bfdbfe 48%,#c7d2fe);color:#172554;border:1px solid rgba(99,102,241,.16);box-shadow:0 10px 24px rgba(79,70,229,.08);border-bottom-right-radius:4px}.ai-chat-message.user .bubble a,.ai-chat-message.user .bubble code,.ai-chat-message.user .bubble strong{color:inherit}.ai-chat-message.user .ai-chat-attachment-pill{background:hsla(0,0%,100%,.58);color:#1e3a5f}.ai-chat-message.assistant{margin-right:auto}.ai-chat-message.assistant .bubble{background:var(--surface-color);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.ai-chat-message.assistant .bubble pre{position:relative;background:var(--gray-900);color:var(--gray-100);padding:35px 10px 10px;border-radius:5px;overflow-x:auto;font-size:.85em;white-space:pre-wrap;word-wrap:break-word}.ai-chat-message.assistant .bubble code{word-wrap:break-word}.ai-chat-message.system{max-width:100%;text-align:center;font-size:.85rem;color:var(--text-muted)}.ai-chat-message.loading .bubble{animation:ai-chat-loading 1.5s ease-in-out infinite}@keyframes ai-chat-loading{0%,to{opacity:.7}50%{opacity:1}}.ai-chat-input-area{border-top:1px solid var(--border-color);padding:12px;background:var(--surface-color)}.ai-chat-input-area .input-row{gap:8px}.ai-chat-input-area .input-row,.ai-chat-input-area .left-buttons{display:flex;align-items:center}.ai-chat-input-area .right-buttons{display:flex;align-items:center;gap:8px}.ai-chat-input-area textarea{flex:1;border:1px solid var(--border-color);border-radius:8px;padding:10px;font-size:1rem;font-family:inherit;resize:none;max-height:100px;overflow-y:auto;background:var(--surface-color);color:var(--text-primary)}.ai-chat-input-area textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:var(--shadow-focus)}.ai-chat-input-area .chat-btn{background:var(--primary-color);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-chat-input-area .chat-btn.attach{background:var(--secondary-color);color:var(--text-muted)}.ai-chat-input-area .chat-btn:disabled{background:var(--border-color);cursor:not-allowed}.ai-chat-input-area .chat-btn:hover:not(:disabled){transform:scale(1.05)}.ai-chat-input-area .chat-btn.attach:hover:not(:disabled){background:var(--secondary-hover);color:var(--text-primary)}#ai-deep-think-btn{background:var(--secondary-color);color:var(--text-muted);border:none;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .3s ease}#ai-deep-think-btn:hover{background:var(--secondary-hover);color:var(--primary-color);transform:scale(1.05)}#ai-deep-think-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 0 0 2px rgba(79,70,229,.3)}.ai-chat-container.fullscreen .ai-chat-input-area .input-row{align-items:flex-end}.ai-chat-container.fullscreen .ai-chat-input-area .left-buttons{align-self:flex-start;margin-top:2px}.ai-chat-container.fullscreen .ai-chat-input-area .right-buttons{align-self:flex-end;margin-bottom:2px}.ai-chat-attachment-previews{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;max-height:80px;overflow-y:auto}.preview-item{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.remove-preview{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer}.preview-file-icon,.remove-preview{display:flex;align-items:center;justify-content:center}.preview-file-icon{flex-direction:column;width:100%;height:100%;padding:6px;color:var(--text-muted);background:var(--secondary-color);border-radius:6px;box-sizing:border-box}.preview-file-name{font-size:9px;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;text-align:center;color:var(--text-muted)}.streaming-cursor{display:inline-block;width:10px;height:1.2em;background-color:var(--text-primary);margin-left:2px;animation:blink 1s infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.stream-status{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.94rem;line-height:1.5}.copy-code-btn{position:absolute;top:8px;right:8px;background:var(--gray-500);color:var(--gray-100);border:none;border-radius:4px;padding:4px 8px;font-size:.75rem;cursor:pointer;opacity:.7;transition:opacity .2s}.ai-chat-message.assistant .bubble pre:hover .copy-code-btn{opacity:1}.copy-code-btn:hover{background:var(--gray-600)}.copy-code-btn.copied{background:var(--success-color);color:#fff}.message-actions{margin-top:8px;margin-left:4px}.ai-chat-container.fullscreen .message-actions{max-width:980px;width:min(980px,calc(100% - 32px));margin:8px auto 0;padding:0}.message-actions .copy-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:.8rem;display:inline-flex;align-items:center;gap:4px;border-radius:4px}.message-actions .copy-btn:hover{background:var(--secondary-color);color:var(--text-primary)}.message-actions .copy-btn.copied{color:var(--success-color)}.thinking-container{margin-bottom:14px;border:1px solid rgba(148,163,184,.22);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(241,245,249,.92))}.thinking-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:transparent;border:none;border-bottom:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left;font:inherit}.thinking-header:hover{background:hsla(0,0%,100%,.5)}.thinking-header:focus-visible{outline:2px solid rgba(99,102,241,.35);outline-offset:-2px}.thinking-toggle{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-primary);font-size:.875rem;font-weight:600}.thinking-toggle span{display:inline-flex;align-items:center}.thinking-toggle-hint{color:var(--text-muted);font-size:.76rem;font-weight:500}.thinking-toggle svg{transition:transform .2s ease;width:14px;height:14px;color:var(--text-muted)}.thinking-status{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.thinking-status--thinking{color:#1d4ed8;background:rgba(191,219,254,.82)}.thinking-status--done{color:#475569;background:rgba(226,232,240,.95)}.thinking-status-spinner{width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:thinkingSpin .9s linear infinite}.thinking-status-check{flex-shrink:0}@keyframes thinkingSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.thinking-content{background:rgba(248,250,252,.88);padding:0;max-height:300px;overflow-y:auto}.thinking-text{padding:14px 16px 16px;white-space:pre-wrap;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;color:#94a3b8;border-top:1px solid rgba(148,163,184,.18)}.final-answer{margin-top:14px;min-width:0;overflow-wrap:anywhere;color:var(--text-primary);line-height:1.72}.ai-chat-message.assistant .bubble>.final-answer:first-child{margin-top:0}.final-answer blockquote,.final-answer ol,.final-answer p,.final-answer pre,.final-answer table,.final-answer ul{margin-top:.82em;margin-bottom:.82em}.final-answer>:first-child{margin-top:0}.final-answer>:last-child{margin-bottom:0}.final-answer h1,.final-answer h2,.final-answer h3,.final-answer h4{margin:1.08em 0 .55em;color:#0f172a;line-height:1.28;letter-spacing:0}.final-answer h1{font-size:1.2rem}.final-answer h2{font-size:1.08rem}.final-answer h3{font-size:1rem}.final-answer h4{font-size:.95rem}.final-answer ol,.final-answer ul{padding-left:1.35rem}.final-answer li+li{margin-top:.28em}.ai-task-business-markdown table,.ai-task-runtime-output table,.final-answer table{display:block;width:100%;max-width:100%;overflow-x:auto;border-spacing:0;border-collapse:collapse;white-space:nowrap}.ai-task-business-markdown td,.ai-task-business-markdown th,.ai-task-runtime-output td,.ai-task-runtime-output th,.final-answer td,.final-answer th{padding:.54rem .68rem;border:1px solid rgba(148,163,184,.3);text-align:left;vertical-align:top}.ai-task-business-markdown th,.ai-task-runtime-output th,.final-answer th{background:rgba(241,245,249,.92);color:#334155;font-weight:760}.final-answer blockquote{border-left:3px solid rgba(14,165,233,.55);padding:.58rem .78rem;border-radius:0 8px 8px 0;background:rgba(240,249,255,.72);color:#475569}.ai-chat-message.assistant .thinking-container .final-answer{border-top:1px solid rgba(148,163,184,.18);padding-top:14px;margin-top:0}.thinking-container.is-expanded .thinking-header{border-bottom-color:rgba(148,163,184,.18)}.ai-chat-container.fullscreen .thinking-container{background:var(--surface-color);border:1px solid rgba(148,163,184,.2);box-shadow:var(--shadow-sm)}.ai-chat-container.fullscreen .thinking-header{background:transparent}.ai-chat-container.fullscreen .thinking-content{background:rgba(248,250,252,.9)}@media (max-width:768px){.thinking-header{padding:10px 12px}.thinking-text{padding:12px}.thinking-indicator,.thinking-text,.thinking-toggle{font-size:.8rem}}.thinking-content::-webkit-scrollbar{width:6px}.thinking-content::-webkit-scrollbar-track{background:var(--bg-color);border-radius:3px}.thinking-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.thinking-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes ai-chat-pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.ai-chat-container{width:calc(100vw - 16px);height:calc(100vh - 80px);bottom:8px;right:8px;min-width:unset;min-height:unset}#ai-chat-fab{bottom:20px;right:20px;width:52px;height:52px}#ai-chat-fab svg{width:24px;height:24px}}@media (max-width:480px){.ai-chat-container{width:100vw;height:100vh;bottom:0;right:0;border-radius:0}}#ai-chat-fab{bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));right:max(16px,calc(env(safe-area-inset-right) + 10px));width:58px;height:58px;border:1px solid hsla(0,0%,100%,.24);background:linear-gradient(135deg,var(--primary-color),#4338ca);box-shadow:0 14px 24px -18px rgba(79,70,229,.4)}#ai-chat-modal{background:rgba(15,23,42,.12);backdrop-filter:none;-webkit-backdrop-filter:none}.ai-chat-container{width:min(440px,calc(100vw - 48px));height:min(640px,calc(100vh - 48px));min-width:320px;min-height:380px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));right:max(16px,calc(env(safe-area-inset-right) + 10px));border:1px solid rgba(148,163,184,.22);border-radius:1.3rem;background:hsla(0,0%,100%,.98);box-shadow:0 18px 30px -24px rgba(15,23,42,.24)}.ai-chat-header{padding:14px 16px;background:hsla(0,0%,100%,.98)}.ai-chat-messages{background:rgba(248,250,252,.96)}.ai-chat-input-area{background:hsla(0,0%,100%,.94)}.ai-chat-attachment-previews{background:hsla(0,0%,100%,.78)}@media (max-width:768px){#ai-chat-modal{background:rgba(15,23,42,.16)}.ai-chat-container{width:calc(100vw - 24px);max-width:none;min-width:0;height:min(78vh,calc(100vh - 24px));max-height:calc(100vh - 24px);bottom:max(12px,calc(env(safe-area-inset-bottom) + 4px));right:max(12px,calc(env(safe-area-inset-right) + 4px));left:auto;top:auto;border-radius:1.2rem}.ai-chat-container.fullscreen{inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);width:auto;height:auto;max-width:none;max-height:none;border-radius:0}.ai-chat-input-area .input-row{align-items:flex-end}.ai-chat-input-area textarea{min-height:44px;max-height:150px}}@media (max-width:560px){#ai-chat-fab{width:54px;height:54px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 4px));right:max(12px,calc(env(safe-area-inset-right) + 4px))}.ai-chat-container{width:calc(100vw - 16px);height:min(82vh,calc(100vh - 16px));max-height:calc(100vh - 16px);bottom:max(8px,calc(env(safe-area-inset-bottom) + 4px));right:max(8px,calc(env(safe-area-inset-right) + 4px))}.ai-chat-header{padding:12px 14px}.ai-chat-header h3{font-size:1rem}.ai-chat-input-area{padding:10px}.ai-chat-input-area .input-row{gap:6px}#ai-deep-think-btn,.ai-chat-input-area .chat-btn{width:38px;height:38px}}#ai-chat-fab.ai-workspace-fab{width:68px;height:68px;right:max(22px,calc(env(safe-area-inset-right) + 16px));bottom:max(22px,calc(env(safe-area-inset-bottom) + 16px));isolation:isolate;overflow:visible;border:1px solid hsla(0,0%,100%,.44);border-radius:22px;background:linear-gradient(145deg,#0f766e,#2563eb);box-shadow:0 22px 42px -26px rgba(15,23,42,.7),0 0 0 1px rgba(15,118,110,.1);transform:translateZ(0)}#ai-chat-fab.ai-workspace-fab:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 28px 46px -26px rgba(15,23,42,.8),0 0 0 1px rgba(37,99,235,.18)}.ai-workspace-fab__halo{position:absolute;inset:-8px;z-index:-1;border-radius:28px;background:rgba(20,184,166,.18);opacity:0;transition:opacity .2s ease}#ai-chat-fab.ai-workspace-fab:hover .ai-workspace-fab__halo{opacity:1}.ai-workspace-fab__icon{display:grid;place-items:center;border-radius:16px;background:hsla(0,0%,100%,.14)}.ai-workspace-fab__badge{position:absolute;top:-9px;right:-8px;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:22px;padding:0 8px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#f8fafc;color:#0f766e;font-size:.68rem;font-weight:800;box-shadow:0 12px 22px -18px rgba(15,23,42,.65)}.ai-workspace-container{width:clamp(560px,52vw,860px);height:clamp(560px,76vh,760px);min-width:min(360px,calc(100vw - 24px));min-height:min(440px,calc(100vh - 24px));max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);border-radius:18px;background:hsla(0,0%,100%,.98)}.ai-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border-bottom-color:rgba(148,163,184,.18)}.ai-workspace-title{display:flex;align-items:center;gap:10px;min-width:0}.ai-workspace-title>div{min-width:0}.ai-workspace-title__mark{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,rgba(15,118,110,.12),rgba(37,99,235,.12));color:#0f766e}.ai-workspace-title h3,.ai-workspace-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-workspace-title small{margin-top:2px;color:var(--text-muted);font-size:.76rem;font-weight:650}.ai-workspace-panel{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.ai-workspace-panel[hidden]{display:none!important}.ai-task-board{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:12px;min-height:0;flex:1 1 auto}.ai-task-board__rail{display:grid;grid-template-rows:auto minmax(120px,1fr);gap:10px;min-height:0}.ai-task-detail,.ai-task-list{min-height:0;overflow:auto;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:hsla(0,0%,100%,.88)}.ai-task-list{display:grid;align-content:start;gap:8px;padding:10px}.ai-task-detail__empty,.ai-task-list__empty{padding:14px;color:var(--text-muted);font-size:.88rem;line-height:1.6}.ai-task-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;width:100%;min-height:58px;padding:9px;border:1px solid transparent;border-radius:10px;background:#f8fafc;color:inherit;text-align:left;cursor:pointer}.ai-task-item.is-selected,.ai-task-item:hover{border-color:rgba(15,118,110,.28);background:#fff}.ai-task-item__order{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e2e8f0;color:#334155;font-size:.78rem;font-weight:850}.ai-task-item__body{min-width:0}.ai-task-item__body small,.ai-task-item__body strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.ai-task-item__body strong{color:#0f172a;font-size:.86rem;white-space:nowrap}.ai-task-item__body small{margin-top:4px;color:var(--text-muted);font-size:.74rem;line-height:1.35}.ai-task-detail{padding:14px}.ai-task-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.16)}.ai-task-detail__header h3{margin:8px 0 0;color:#0f172a;font-size:1rem;line-height:1.35}.ai-task-status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:850}.ai-task-item.is-running .ai-task-item__order,.ai-task-status.is-running{background:rgba(37,99,235,.12);color:#1d4ed8}.ai-task-item.is-queued .ai-task-item__order,.ai-task-status.is-queued{background:rgba(15,118,110,.12);color:#0f766e}.ai-task-status.is-completed{background:rgba(22,163,74,.12);color:#15803d}.ai-task-status.is-failed{background:rgba(220,38,38,.1);color:#b91c1c}.ai-task-detail__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-task-detail__meta span{color:var(--text-muted);font-size:.75rem}.ai-task-detail__block{margin-top:12px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:10px;background:#f8fafc}.ai-task-detail__block h4{margin:0 0 8px;color:#334155;font-size:.82rem}.ai-task-detail__block p{margin:0;white-space:pre-wrap;color:var(--text-primary);font-size:.87rem;line-height:1.6}.ai-task-detail__block.is-result{border-color:rgba(15,118,110,.18);background:rgba(240,253,250,.84)}.ai-task-detail__block.is-error{border-color:rgba(220,38,38,.18);background:hsla(0,86%,97%,.84)}.ai-task-detail__block.is-warning{border-color:rgba(245,158,11,.22);background:rgba(255,251,235,.9)}.ai-task-detail__block.is-business-result{border-color:rgba(37,99,235,.18);background:rgba(239,246,255,.88)}.ai-task-result-grid{display:grid;gap:8px;margin:0}.ai-task-result-grid div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start}.ai-task-result-grid dt{color:var(--text-muted);font-size:.74rem;font-weight:820}.ai-task-result-grid dd{min-width:0;margin:0;color:var(--text-primary);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.ai-task-result-link{margin-top:10px}.ai-task-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ai-task-business-context{margin-bottom:10px!important;color:var(--text-muted)!important;font-size:.78rem!important}.ai-task-business-markdown{margin-top:10px;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:9px;background:hsla(0,0%,100%,.72);color:var(--text-primary);font-size:.84rem;line-height:1.65;white-space:normal;overflow-wrap:anywhere}.ai-task-business-markdown>:first-child,.ai-task-runtime-output>:first-child{margin-top:0}.ai-task-business-markdown>:last-child,.ai-task-runtime-output>:last-child{margin-bottom:0}.ai-task-runtime-output{min-width:0;overflow-wrap:anywhere}.ai-task-business-list{display:grid;gap:8px;margin-top:10px}.ai-task-business-item{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(148,163,184,.16);border-radius:9px;background:hsla(0,0%,100%,.74)}.ai-task-business-item strong{min-width:0;color:#0f172a;font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}.ai-task-business-item small,.ai-task-business-item span{color:var(--text-muted);font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}.ai-task-runtime-section{display:grid;gap:7px;margin-top:12px}.ai-task-runtime-section+.ai-task-runtime-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.16)}.ai-task-runtime-section>strong{color:#334155;font-size:.78rem}.ai-task-runtime-section ul{display:grid;gap:5px;margin:0;padding-left:1.1rem;color:var(--text-secondary);font-size:.82rem}.ai-task-events{display:grid;gap:8px;margin-top:12px}.ai-task-event{display:grid;gap:3px;padding:9px 10px;border-radius:9px;background:#f8fafc}.ai-task-event span{color:var(--text-muted);font-size:.7rem}.ai-task-event strong{color:#334155;font-size:.82rem;line-height:1.45}.ai-task-event small{color:var(--text-muted);font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}body[data-ai-workspace-active-tab=tasks] #ai-chat-btn-new{opacity:.35;pointer-events:none}@media (max-width:840px){.ai-workspace-container{width:calc(100vw - 24px);height:min(86vh,calc(100vh - 24px));max-width:none;max-height:calc(100vh - 24px)}.ai-workspace-header{grid-template-columns:minmax(0,1fr) auto}.ai-task-board{grid-template-columns:1fr;flex:0 0 auto}.ai-task-board__rail{grid-template-rows:auto auto}.ai-task-list{max-height:170px}.ai-task-detail{min-height:260px}}@media (max-width:560px){#ai-chat-fab.ai-workspace-fab{width:58px;height:58px;border-radius:19px;right:max(12px,calc(env(safe-area-inset-right) + 6px));bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px))}.ai-workspace-fab__icon{width:36px;height:36px;border-radius:13px}.ai-workspace-container{width:calc(100vw - 12px);height:min(90vh,calc(100vh - 12px));right:max(6px,calc(env(safe-area-inset-right) + 3px));bottom:max(6px,calc(env(safe-area-inset-bottom) + 3px));border-radius:16px}}#ai-chat-fab.ai-workspace-fab{width:64px;height:64px;border-radius:20px;border:1px solid rgba(15,118,110,.18);background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(236,253,245,.96));color:#0f766e;box-shadow:0 18px 38px -24px rgba(15,23,42,.72),0 0 0 1px rgba(20,184,166,.12)}#ai-chat-fab.ai-workspace-fab:hover{transform:translateY(-2px);border-color:rgba(15,118,110,.28);box-shadow:0 24px 44px -24px rgba(15,23,42,.78),0 0 0 4px rgba(20,184,166,.08)}.ai-workspace-fab__icon{width:40px;height:40px;border-radius:14px;background:#0f766e;color:#fff;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.18)}.ai-workspace-fab__badge{top:-7px;right:-6px;min-width:24px;height:24px;padding:0 7px;background:#0f172a;color:#fff;font-size:.72rem}.ai-workspace-fab__badge[data-empty]{background:rgba(100,116,139,.88)}.ai-workspace-fab__light{position:absolute;right:4px;bottom:5px;width:13px;height:13px;border:2px solid #fff;border-radius:999px;box-shadow:0 8px 16px -10px rgba(15,23,42,.9)}.ai-agent-queue-indicator{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:5px 8px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:rgba(248,250,252,.9)}.ai-agent-traffic-light,.ai-workspace-fab__light{background:#22c55e}.ai-agent-traffic-light{flex:0 0 auto;width:12px;height:12px;border-radius:999px;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.ai-agent-traffic-light.is-green,.ai-workspace-fab__light.is-green{background:#22c55e}.ai-agent-traffic-light.is-yellow,.ai-workspace-fab__light.is-yellow{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}.ai-agent-traffic-light.is-red,.ai-workspace-fab__light.is-red{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.14)}.ai-agent-queue-tag{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:rgba(15,118,110,.1);color:#0f766e;font-size:.78rem;font-weight:860;line-height:1}.ai-chat-input-area .chat-btn.agent-mode,.ai-chat-input-area .chat-btn.deep-think{border:1px solid rgba(15,118,110,.16);background:#f8fafc;color:#0f766e;box-shadow:0 10px 20px -18px rgba(15,23,42,.45)}.ai-chat-input-area .chat-btn.agent-mode:hover:not(:disabled),.ai-chat-input-area .chat-btn.deep-think:hover:not(:disabled){background:#ecfeff;color:#0e7490;border-color:rgba(14,116,144,.24)}.ai-chat-input-area #ai-deep-think-btn.active,.ai-chat-input-area .chat-btn.agent-mode.is-active{border-color:rgba(15,118,110,.42);background:linear-gradient(135deg,#0f766e,#0891b2);color:#fff;box-shadow:0 16px 26px -18px rgba(8,145,178,.82)}.ai-workspace-header .chat-btn.agent-history{border:1px solid rgba(15,118,110,.14);background:rgba(240,253,250,.92);color:#0f766e}.ai-workspace-header .chat-btn.agent-history:hover{border-color:rgba(15,118,110,.28);background:#ccfbf1;color:#115e59}.ai-chat-input-area .chat-btn.send:not(:disabled){background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;box-shadow:0 18px 28px -20px rgba(79,70,229,.72)}.ai-workspace-container.is-agent-mode .ai-chat-input-area{border-top-color:rgba(15,118,110,.18);background:linear-gradient(180deg,rgba(240,253,250,.78),hsla(0,0%,100%,.98))}.ai-workspace-container:not(.is-agent-mode) .ai-agent-queue-indicator{display:none}.ai-workspace-modebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:9px;padding:4px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(248,250,252,.86)}.ai-workspace-mode-option{min-width:0;min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#475569;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.ai-workspace-mode-option:hover{background:hsla(0,0%,100%,.82);border-color:rgba(148,163,184,.22)}.ai-workspace-mode-option.is-active{background:#fff;border-color:rgba(15,118,110,.24);color:#0f172a;box-shadow:0 10px 22px -18px rgba(15,23,42,.42)}.ai-workspace-mode-option[data-ai-mode-select=agent].is-active{border-color:rgba(15,118,110,.34);background:linear-gradient(180deg,rgba(240,253,250,.96),#fff)}.ai-workspace-mode-option__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(226,232,240,.72);color:#475569}.ai-workspace-mode-option.is-active .ai-workspace-mode-option__icon{background:rgba(15,118,110,.12);color:#0f766e}.ai-workspace-mode-option__copy{display:grid;gap:1px;min-width:0}.ai-workspace-mode-option__copy small,.ai-workspace-mode-option__copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-workspace-mode-option__copy strong{font-size:.82rem;font-weight:850;line-height:1.22}.ai-workspace-mode-option__copy small{display:inline-flex;align-items:center;gap:5px;color:#64748b;font-size:.72rem;font-weight:720}.ai-agent-mini-light{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}.ai-agent-mini-light.is-yellow{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14)}.ai-agent-mini-light.is-red{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.14)}.ai-agent-history-drawer{position:absolute;top:64px;right:12px;bottom:86px;z-index:8;width:min(330px,calc(100% - 24px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:hsla(0,0%,100%,.97);box-shadow:0 24px 48px -34px rgba(15,23,42,.72);backdrop-filter:blur(12px)}.ai-agent-history-drawer[hidden]{display:none!important}.ai-agent-history-drawer header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid rgba(148,163,184,.16)}.ai-agent-history-drawer__actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.ai-agent-history-drawer__actions .chat-btn{width:34px;height:34px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#fff;color:#475569;box-shadow:0 8px 16px -16px rgba(15,23,42,.35)}.ai-agent-history-drawer__actions .chat-btn:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.24);background:#f8fafc;color:#0f766e}.ai-agent-history-drawer__actions .agent-history-clear:hover{border-color:rgba(220,38,38,.28);background:#fff1f2;color:#dc2626}.ai-agent-history-drawer header>div:first-child{min-width:0;display:grid;gap:3px}.ai-agent-history-drawer header small,.ai-agent-history-drawer header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-agent-history-drawer header strong{color:#0f172a;font-size:.92rem;font-weight:880}.ai-agent-history-drawer header small{color:var(--text-muted);font-size:.74rem}.ai-agent-history-drawer .ai-task-list{border:0;border-radius:0;background:transparent}.ai-task-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px}.ai-task-item-row+.ai-task-item-row{margin-top:8px}.ai-task-item-row .ai-task-item{min-width:0;width:100%}.ai-task-item__delete{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#fff;color:#64748b;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.ai-task-item__delete:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(220,38,38,.28);background:#fff1f2;color:#dc2626}.ai-task-item__delete:disabled{cursor:wait;opacity:.6}.ai-chat-message.agent-task-message .bubble{width:min(100%,580px);max-width:100%;padding:0;overflow:hidden;border:1px solid rgba(15,118,110,.16);background:#fff}.ai-agent-task-card{display:block;min-width:0}.ai-agent-task-card .ai-task-detail__header{padding:13px;background:linear-gradient(180deg,rgba(240,253,250,.8),hsla(0,0%,100%,.94))}.ai-task-detail__actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.ai-task-delete-btn{border-color:rgba(220,38,38,.22);color:#b91c1c}.ai-agent-task-card .ai-task-detail__block,.ai-agent-task-card .ai-task-events{margin-right:12px;margin-left:12px}.ai-agent-task-card .ai-task-events{margin-bottom:12px}.ai-agent-card__label-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ai-agent-card__badge{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#0f766e;color:#fff;font-size:.72rem;font-weight:860}.ai-task-item.is-canceled .ai-task-item__order,.ai-task-status.is-canceled{background:rgba(100,116,139,.12);color:#475569}@media (max-width:840px){.ai-workspace-header{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.ai-agent-queue-indicator{padding-inline:6px}.ai-agent-history-drawer{top:58px;right:8px;bottom:82px;width:min(360px,calc(100% - 16px))}}@media (max-width:560px){#ai-chat-fab.ai-workspace-fab{width:58px;height:58px;border-radius:18px}.ai-workspace-title__mark{display:none}.ai-agent-queue-tag{min-width:24px;height:22px;padding-inline:7px}.ai-agent-history-drawer{inset:54px 6px 78px;width:auto}.ai-agent-task-card .ai-task-detail__header{flex-direction:column;align-items:stretch}}.materials-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.95fr);gap:var(--spacing-5);align-items:stretch}.materials-overview-copy{padding:clamp(22px,3vw,32px);border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-xl);background:radial-gradient(circle at top right,rgba(59,130,246,.12),transparent 34%),linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(248,250,252,.95));box-shadow:var(--shadow-sm)}.materials-overview-eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:rgba(59,130,246,.1);color:var(--primary-color);font-size:.82rem;font-weight:700;letter-spacing:.04em}.materials-overview-copy h2{margin:16px 0 12px;font-size:clamp(1.45rem,2vw,2rem);line-height:1.2}.materials-overview-copy p{margin:0;color:var(--text-secondary);line-height:1.75}.materials-overview-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--spacing-4)}.materials-meta-item,.materials-overview-pill,.materials-summary-chip,.materials-type-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:.8rem}.materials-overview-pill{border:1px solid rgba(59,130,246,.16);background:rgba(59,130,246,.07);color:var(--text-primary);font-weight:600}.materials-overview-updated{margin-top:var(--spacing-4);color:var(--text-secondary)}.materials-overview-updated strong{color:var(--text-primary)}.materials-header-actions{justify-content:flex-end}.materials-upload-menu{position:relative;display:inline-flex}.materials-upload-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:grid;gap:6px;min-width:190px;padding:8px;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-lg);background:hsla(0,0%,100%,.98);box-shadow:0 18px 42px rgba(15,23,42,.16)}.materials-upload-dropdown[hidden]{display:none}.materials-upload-dropdown button{display:grid;gap:3px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.materials-upload-dropdown button:focus-visible,.materials-upload-dropdown button:hover{background:rgba(14,165,233,.08);outline:none}.materials-upload-dropdown strong{font-size:.92rem}.materials-upload-dropdown small{color:var(--text-secondary);font-size:.78rem}.materials-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.95fr);gap:var(--spacing-5);align-items:start}.materials-shell--single{grid-template-columns:minmax(0,1fr)}.materials-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));box-shadow:var(--shadow-sm);overflow:hidden}.materials-library-card--expanded{min-width:0}.materials-detail-card{display:none}.materials-toolbar{justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--border-color)}.materials-toolbar,.materials-toolbar-group{display:flex;flex-wrap:wrap;align-items:center}.materials-toolbar-group{gap:var(--spacing-2)}.materials-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px}.materials-breadcrumbs button{border:none;background:transparent;color:var(--text-secondary);padding:0;cursor:pointer;font:inherit}.materials-breadcrumbs button:hover{color:var(--primary-color)}.materials-breadcrumbs .separator{color:var(--text-muted)}.materials-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-4)}.materials-stat-grid--overview{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-stat-card{padding:var(--spacing-4);border-radius:var(--radius-xl);border:1px solid var(--border-color);background:linear-gradient(135deg,rgba(59,130,246,.08),hsla(0,0%,100%,.96))}.materials-stat-card:nth-child(2){background:linear-gradient(135deg,rgba(14,165,233,.1),hsla(0,0%,100%,.96))}.materials-stat-card:nth-child(3){background:linear-gradient(135deg,rgba(16,185,129,.08),hsla(0,0%,100%,.96))}.materials-stat-label{font-size:.8rem;color:var(--text-muted)}.materials-stat-value{margin-top:6px;font-size:1.7rem;font-weight:700;color:var(--text-primary)}.materials-stat-help{margin-top:8px;color:var(--text-secondary);font-size:.84rem}.materials-library-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--border-color);background:rgba(248,250,252,.72)}.materials-search-box{display:flex;align-items:center;gap:10px;min-width:0;padding:0 12px;border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-lg);background:hsla(0,0%,100%,.94)}.materials-search-box:focus-within{border-color:rgba(59,130,246,.38);box-shadow:0 0 0 3px rgba(59,130,246,.12)}.materials-search-box .form-control{border:none;background:transparent;box-shadow:none;padding-left:0;padding-right:0}.materials-search-box .form-control:focus{box-shadow:none}.materials-search-icon{width:18px;height:18px;color:var(--text-muted);flex:0 0 auto}.materials-search-icon svg{width:100%;height:100%}.materials-sort-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-2)}.materials-inline-field{display:flex;flex-direction:column;gap:8px;min-width:150px}.materials-inline-field span{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.materials-library-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--spacing-3);padding:14px 20px;border-bottom:1px solid var(--border-color)}.materials-library-summary-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 10px;min-width:0}.materials-library-summary-main strong{display:block;grid-column:1;font-size:1.02rem;line-height:1.35;color:var(--text-primary);overflow-wrap:anywhere}.materials-library-summary-label{grid-column:1/-1;margin-bottom:0;font-size:.78rem;font-weight:700;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}#materials-scope-path{grid-column:2;line-height:1.35}#materials-scope-description{grid-column:1/-1;line-height:1.45}.materials-library-summary-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.materials-summary-chip{border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.9);color:var(--text-secondary);font-weight:600}.materials-list{display:flex;flex-direction:column}.materials-list-body{display:grid;gap:var(--spacing-3);padding:var(--spacing-4);background:rgba(248,250,252,.46)}.materials-list-header,.materials-row{display:grid;grid-template-columns:42px minmax(0,1.6fr) minmax(120px,.8fr) minmax(120px,.9fr) auto;align-items:center;gap:var(--spacing-3);padding:14px var(--spacing-4)}.materials-list-header{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:16px 20px;background:rgba(248,250,252,.82)}.materials-row{border:1px solid rgba(148,163,184,.16);border-radius:24px;background:hsla(0,0%,100%,.96);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);box-shadow:0 14px 30px rgba(15,23,42,.04)}.materials-row:hover{background:#fff;transform:translateY(-1px);border-color:rgba(59,130,246,.24);box-shadow:0 18px 34px rgba(37,99,235,.08)}.materials-row.is-active{background:linear-gradient(180deg,rgba(239,246,255,.92),hsla(0,0%,100%,.98));border-color:rgba(59,130,246,.32);box-shadow:0 22px 38px rgba(37,99,235,.12)}.materials-row.is-selected{border-color:rgba(16,185,129,.28);background:linear-gradient(180deg,rgba(236,253,245,.96),hsla(0,0%,100%,.98))}.materials-name-cell{display:flex;align-items:center;gap:var(--spacing-3);min-width:0}.materials-type-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;letter-spacing:.05em}.materials-name-copy{min-width:0}.materials-name-copy strong{color:var(--text-primary)}.materials-name-copy span,.materials-name-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-name-copy span{font-size:.82rem;color:var(--text-muted)}.materials-name-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0}.materials-repo-badge{--repo-color:#f97316;display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--repo-color) 28%,#fff);background:color-mix(in srgb,var(--repo-color) 11%,#fff);color:var(--repo-color);font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1}.materials-row-actions{display:flex;align-items:center;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start;gap:8px;min-width:0;padding-left:var(--spacing-3);border-left:1px dashed rgba(148,163,184,.24)}.materials-manage-list-header,.materials-manage-row{grid-template-columns:52px minmax(0,2fr) minmax(200px,.9fr) minmax(250px,1.05fr)}.materials-row-check{display:flex;align-items:flex-start;justify-content:center;padding-top:4px}.materials-row-main{min-width:0;display:flex;flex-direction:column;gap:12px}.materials-row-meta{display:flex;flex-wrap:wrap;gap:8px}.materials-type-pill{border:1px solid rgba(37,99,235,.15);background:rgba(37,99,235,.08);color:#1d4ed8;font-weight:700}.materials-meta-item{background:rgba(148,163,184,.1);color:var(--text-secondary);font-weight:600}.materials-row-time{display:flex;flex-direction:column;justify-content:center;gap:8px;align-self:stretch;padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.9);color:var(--text-secondary);font-size:.84rem}.materials-row-time span{display:flex;flex-direction:column;gap:2px}.materials-row-time strong{font-size:.75rem;color:var(--text-muted);font-weight:700;letter-spacing:.04em}.materials-manage-row .materials-name-copy strong{display:-webkit-box;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;line-height:1.45}.materials-manage-row .materials-name-copy span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.materials-manage-row mark{padding:0 3px;border-radius:4px;background:rgba(250,204,21,.28);color:inherit}.materials-empty{padding:var(--spacing-6);text-align:center;color:var(--text-muted)}.materials-detail-modal{z-index:1080}#materials-ai-generate-modal,#materials-ai-rewrite-modal,#materials-assign-modal,#materials-repository-modal{z-index:1100}#materials-repository-credential-modal{z-index:1110}.materials-detail-dialog{width:min(1180px,calc(100vw - 2rem));max-width:min(1180px,calc(100vw - 2rem));height:calc(100vh - 2rem);margin:1rem auto}.materials-detail-modal-content{height:100%;border-radius:28px;overflow:hidden}.materials-detail-modal-header{align-items:flex-start;gap:var(--spacing-4);padding:clamp(18px,3vw,28px);background:radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 30%),linear-gradient(180deg,rgba(248,250,252,.96),hsla(0,0%,100%,.98))}.materials-detail-modal-copy{min-width:0}.materials-detail-modal-label{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:rgba(37,99,235,.08);color:#1d4ed8;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.materials-detail-modal-copy .modal-title{margin-top:12px;margin-bottom:0}.materials-detail-modal-path{margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-detail-modal-body{padding:clamp(18px,3vw,28px);background:radial-gradient(circle at top left,rgba(14,165,233,.08),transparent 28%),rgba(248,250,252,.72)}.materials-detail{padding:0;display:flex;flex-direction:column;gap:var(--spacing-4)}.materials-detail-hero,.materials-detail-shell{display:grid;gap:var(--spacing-4)}.materials-detail-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);padding:var(--spacing-4);border-radius:24px;border:1px solid rgba(148,163,184,.16);background:radial-gradient(circle at top right,rgba(59,130,246,.12),transparent 32%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.95))}.materials-detail-hero-main{min-width:0;display:flex;flex-direction:column;gap:var(--spacing-3)}.materials-detail-badges{display:flex;flex-wrap:wrap;gap:8px}.materials-detail h3{margin:0;font-size:1.2rem}.materials-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3)}.materials-detail-meta .meta-chip{padding:12px 14px;border-radius:var(--radius-lg);background:rgba(148,163,184,.08)}.materials-detail-meta .meta-chip strong{display:block;font-size:.76rem;color:var(--text-muted);margin-bottom:4px}.materials-detail-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.materials-detail-note{margin-top:var(--spacing-3);padding:12px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.88);color:var(--text-secondary)}.materials-detail-note strong{display:block;margin-bottom:6px;color:var(--text-primary)}.materials-detail-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-4)}.materials-section--wide{grid-column:1/-1}.materials-assignment-list,.materials-outline-list{display:flex;flex-direction:column;gap:10px}.materials-assignment-item,.materials-outline-item{padding:12px 14px;border-radius:var(--radius-lg);background:rgba(248,250,252,.88);border:1px solid rgba(148,163,184,.18)}.materials-selection-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:12px var(--spacing-4);border-bottom:1px solid var(--border-color);background:rgba(14,165,233,.06)}.materials-selection-bar[hidden]{display:none}.materials-upload-hint{padding:var(--spacing-4);border-radius:var(--radius-xl);border:1px dashed rgba(59,130,246,.25);background:linear-gradient(135deg,rgba(59,130,246,.07),hsla(0,0%,100%,.94))}.materials-upload-hint h3{margin:0 0 8px}.materials-upload-hint p{margin:0;color:var(--text-secondary)}.materials-section{padding:var(--spacing-4);border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.88)}.materials-ai-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.materials-ai-import-grid .materials-form-field{min-width:0;height:100%}.materials-ai-import-grid .materials-form-field+.materials-form-field{margin-top:0}.materials-ai-import-file{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.materials-ai-import-file strong{display:block;margin-top:4px;color:var(--text-primary);overflow-wrap:anywhere}.materials-ai-import-status{margin-top:var(--spacing-4);padding:12px 14px;border-radius:var(--radius-lg);border:1px solid rgba(14,165,233,.22);background:rgba(240,249,255,.96);color:var(--text-secondary);line-height:1.55}.materials-ai-import-status[hidden]{display:none}.materials-ai-import-status--error{border-color:rgba(239,68,68,.28);background:hsla(0,86%,97%,.96);color:#b91c1c}.materials-ai-task-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(14,165,233,.22);border-radius:8px;background:linear-gradient(135deg,rgba(240,249,255,.96),hsla(0,0%,100%,.96));box-shadow:0 16px 36px -30px rgba(15,23,42,.5)}.materials-ai-task-card.is-success{border-color:rgba(16,185,129,.24);background:linear-gradient(135deg,rgba(236,253,245,.96),hsla(0,0%,100%,.98))}.materials-ai-task-card.is-warning{border-color:rgba(245,158,11,.28);background:linear-gradient(135deg,rgba(255,251,235,.96),hsla(0,0%,100%,.98))}.materials-ai-task-card.is-danger{border-color:rgba(239,68,68,.24);background:linear-gradient(135deg,hsla(0,86%,97%,.96),hsla(0,0%,100%,.98))}.materials-ai-task-indicator{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:rgba(14,165,233,.12)}.materials-ai-task-card.is-success .materials-ai-task-indicator{background:rgba(16,185,129,.14)}.materials-ai-task-card.is-warning .materials-ai-task-indicator{background:rgba(245,158,11,.16)}.materials-ai-task-card.is-danger .materials-ai-task-indicator{background:rgba(239,68,68,.14)}.materials-ai-task-indicator:before{content:"AI";color:#0369a1;font-size:.72rem;font-weight:850;letter-spacing:0}.materials-ai-task-card.is-success .materials-ai-task-indicator:before{color:#047857}.materials-ai-task-card.is-warning .materials-ai-task-indicator:before{color:#b45309}.materials-ai-task-card.is-danger .materials-ai-task-indicator:before{color:#b91c1c}.materials-ai-task-indicator span{position:absolute;inset:4px;width:34px;height:34px;border:2px solid rgba(14,165,233,.2);border-top-color:rgba(14,165,233,.82);border-radius:999px;animation:materials-ai-task-spin 1s linear infinite}.materials-ai-task-main{min-width:0}.materials-ai-task-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.materials-ai-task-head strong{min-width:0;color:var(--text-primary);font-size:.98rem;line-height:1.35;overflow-wrap:anywhere}.materials-ai-task-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:rgba(14,165,233,.12);color:#0369a1;font-size:.74rem;font-weight:850;white-space:nowrap}.materials-ai-task-card.is-success .materials-ai-task-status{background:rgba(16,185,129,.14);color:#047857}.materials-ai-task-card.is-warning .materials-ai-task-status{background:rgba(245,158,11,.15);color:#b45309}.materials-ai-task-card.is-danger .materials-ai-task-status{background:rgba(239,68,68,.13);color:#b91c1c}.materials-ai-task-card p{margin:6px 0 0;color:var(--text-secondary);font-size:.88rem;line-height:1.55}.materials-ai-task-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:var(--text-muted);font-size:.78rem;font-weight:700}.materials-ai-task-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}@keyframes materials-ai-task-spin{to{transform:rotate(1turn)}}@media (max-width:760px){.materials-ai-task-card{grid-template-columns:38px minmax(0,1fr);align-items:flex-start}.materials-ai-task-indicator{width:38px;height:38px}.materials-ai-task-actions{grid-column:1/-1;justify-content:flex-start}}.materials-modal-options{display:flex;flex-direction:column;gap:var(--spacing-2)}.materials-modal-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.9)}.materials-modal-option input{margin-top:4px}.materials-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.materials-section-header h3{margin:0;font-size:1rem}.materials-ai-task-card,.materials-assignment-item,.materials-card,.materials-detail-hero,.materials-detail-note,.materials-modal-option,.materials-outline-item,.materials-repo-card,.materials-repo-detail-item,.materials-row,.materials-row-time,.materials-search-box,.materials-section,.materials-upload-dropdown{border-radius:8px}.materials-list-body{gap:14px;padding:18px}.materials-row{padding:16px 18px}.materials-name-copy{display:grid;gap:4px}.materials-row-actions{gap:9px;row-gap:10px}.materials-detail-actions .btn,.materials-row-actions .btn{min-height:34px;line-height:1.15}.materials-detail-actions{gap:9px;row-gap:10px}.materials-detail-meta .meta-chip{border-radius:8px;line-height:1.45}.materials-empty--compact{padding:12px;text-align:left}.materials-ai-generate-dialog{width:min(1080px,calc(100vw - 2rem));max-width:min(1080px,calc(100vw - 2rem))}.materials-ai-generate-content{border-radius:12px;overflow:hidden}.materials-ai-generate-body{display:grid;gap:16px}.materials-ai-generate-prompt-field{display:grid;gap:8px}#materials-ai-rewrite-prompt,.materials-ai-generate-prompt-field textarea{line-height:1.65}.materials-ai-generate-selected-panel{display:grid;gap:10px;padding:14px;border:1px solid rgba(20,184,166,.2);border-radius:8px;background:rgba(240,253,250,.62)}.materials-ai-generate-selected{display:flex;flex-wrap:wrap;gap:8px;min-height:38px}.materials-ai-generate-chip{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;max-width:min(100%,360px);min-height:34px;padding:5px 8px 5px 10px;border:1px solid rgba(20,184,166,.22);border-radius:999px;background:hsla(0,0%,100%,.94);color:var(--text-primary);font-size:.82rem}.materials-ai-generate-chip strong{color:#047857;font-size:.72rem}.materials-ai-generate-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-ai-generate-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:999px;background:rgba(15,23,42,.06);color:#475569;cursor:pointer}.materials-ai-generate-chip button:focus-visible,.materials-ai-generate-chip button:hover{background:rgba(239,68,68,.12);color:#b91c1c;outline:none}.materials-ai-generate-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.materials-ai-generate-source{display:grid;gap:10px;align-content:start;min-height:320px}.materials-ai-generate-source .materials-section-header{margin-bottom:0}.materials-ai-generate-source-list{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:2px}.materials-ai-generate-candidate{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.92);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.materials-ai-generate-candidate:focus-visible:not(:disabled),.materials-ai-generate-candidate:hover:not(:disabled){border-color:rgba(20,184,166,.36);background:#fff;box-shadow:0 10px 24px rgba(15,118,110,.08);transform:translateY(-1px);outline:none}.materials-ai-generate-candidate:disabled{cursor:default;opacity:.66}.materials-ai-generate-candidate.is-selected{border-color:rgba(20,184,166,.34);background:rgba(240,253,250,.82)}.materials-ai-generate-candidate div{min-width:0;display:grid;gap:3px}.materials-ai-generate-candidate span,.materials-ai-generate-candidate strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-ai-generate-candidate strong{font-size:.88rem}.materials-ai-generate-candidate em,.materials-ai-generate-candidate span,.materials-ai-generate-empty{color:var(--text-muted);font-size:.78rem}.materials-ai-generate-candidate em{font-style:normal;white-space:nowrap}.materials-ai-generate-empty{padding:10px;border:1px dashed rgba(148,163,184,.24);border-radius:8px;background:rgba(248,250,252,.72)}.materials-repo-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.materials-repo-card{padding:14px 16px;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(248,250,252,.96),hsla(0,0%,100%,.92))}.materials-repo-card strong,.materials-repo-detail-item strong{display:block;color:var(--text-primary)}.materials-repo-card .text-muted,.materials-repo-detail-item span{display:block;margin-top:6px;color:var(--text-secondary);word-break:break-word}.materials-repo-card-label{margin-bottom:8px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.materials-repo-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.materials-repo-command-preview{margin-top:var(--spacing-3);padding:14px 16px;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.92);color:var(--text-primary);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.88rem;line-height:1.7;white-space:pre-wrap;word-break:break-word}.materials-repo-command-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--spacing-2);align-items:center}.materials-repo-output{margin:0;min-height:220px;max-height:360px;overflow:auto;padding:16px 18px;border-radius:var(--radius-lg);background:rgba(15,23,42,.96);color:rgba(241,245,249,.96);border:1px solid rgba(30,41,59,.8);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.88rem;line-height:1.7;white-space:pre-wrap;word-break:break-word}.materials-repo-autobind[hidden]{display:none}.materials-repo-autobind{border-color:rgba(14,165,233,.24);background:linear-gradient(180deg,rgba(240,249,255,.92),hsla(0,0%,100%,.94))}.materials-repo-autobind-copy{line-height:1.65}.materials-repo-autobind-list{display:grid;gap:8px;margin-top:var(--spacing-3)}.materials-repo-autobind-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-lg);background:hsla(0,0%,100%,.9)}.materials-repo-autobind-item span,.materials-repo-autobind-item strong{min-width:0}.materials-repo-autobind-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.8rem}.materials-repo-autobind-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-3)}.materials-repo-autobind-result{margin-top:var(--spacing-3)}.materials-repo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3)}.materials-repo-detail-item{padding:14px 16px;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.9)}.materials-form-field{display:flex;flex-direction:column;gap:8px}.materials-form-field+.materials-form-field{margin-top:var(--spacing-3)}.materials-form-field span{font-size:.86rem;font-weight:600;color:var(--text-secondary)}.materials-viewer{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:radial-gradient(circle at top left,rgba(59,130,246,.13),transparent 28%),radial-gradient(circle at bottom right,rgba(16,185,129,.09),transparent 30%),#f8fafc}.materials-viewer-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:var(--spacing-5);border-right:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.92);backdrop-filter:blur(14px)}.materials-viewer-main{min-width:0;padding:var(--spacing-5) clamp(20px,4vw,48px);display:flex;flex-direction:column;gap:var(--spacing-4)}.materials-viewer-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-3)}.materials-viewer-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.materials-viewer-article{border-radius:28px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.96);box-shadow:0 30px 80px rgba(15,23,42,.08);padding:clamp(22px,4vw,48px)}.materials-viewer-article .md-content{color:var(--text-primary);font-size:1rem}.materials-text-preview{margin:0}.materials-text-preview pre{margin:0;padding:clamp(18px,3vw,28px);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.03),rgba(148,163,184,.05));border:1px solid rgba(148,163,184,.22);color:var(--text-primary);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.94rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.materials-viewer-article .md-content img{max-width:100%;border-radius:16px;box-shadow:var(--shadow-sm);cursor:zoom-in}.materials-viewer-article .md-content a{color:#2563eb}.materials-viewer-article .md-content hr{border:none;border-top:1px solid rgba(148,163,184,.24);margin:2rem 0}.materials-viewer-toc{display:flex;flex-direction:column;gap:6px}.materials-viewer-toc button{width:100%;text-align:left;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);padding:8px 10px;cursor:pointer;font:inherit}.materials-viewer-toc button.is-active,.materials-viewer-toc button:hover{background:rgba(59,130,246,.09);color:var(--primary-color)}.materials-viewer-empty{padding:var(--spacing-5);border-radius:var(--radius-xl);border:1px dashed rgba(148,163,184,.28);color:var(--text-muted);background:hsla(0,0%,100%,.78)}.materials-image-preview{display:flex;justify-content:center;padding:var(--spacing-4)}.materials-image-preview img{max-width:min(100%,1100px);border-radius:24px;box-shadow:0 28px 64px rgba(15,23,42,.12);cursor:zoom-in}.materials-file-fallback{padding:clamp(22px,4vw,40px);border-radius:24px;text-align:center;background:rgba(248,250,252,.92);border:1px solid rgba(148,163,184,.22)}.materials-mermaid{margin:1.4rem 0;padding:1rem;border-radius:18px;background:rgba(248,250,252,.9);overflow-x:auto}.materials-code-block{position:relative;margin:1em 0}.materials-code-block>pre{margin:0;padding-top:3rem}.materials-code-copy-btn{position:absolute;top:12px;right:12px;z-index:1;border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:5px 12px;background:rgba(15,23,42,.46);color:rgba(248,250,252,.96);font-size:.78rem;font-weight:600;line-height:1;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 10px 24px rgba(2,6,23,.18);transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);opacity:.82}.materials-code-copy-btn:focus-visible,.materials-code-copy-btn:hover{opacity:1;transform:translateY(-1px)}.materials-code-copy-btn:disabled{cursor:default}.materials-code-copy-btn.is-copied{background:rgba(34,197,94,.92);border-color:rgba(134,239,172,.8);color:#f0fdf4;opacity:1}.materials-viewer-summary{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid rgba(148,163,184,.18)}.materials-editor-backdrop{position:fixed;inset:0;z-index:1900;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,32px);background:rgba(15,23,42,.64);backdrop-filter:blur(8px)}.materials-editor-backdrop[hidden]{display:none}.materials-editor-shell{width:min(1200px,100%);height:min(88vh,920px);display:flex;flex-direction:column;border-radius:28px;overflow:hidden;border:1px solid rgba(148,163,184,.22);background:hsla(0,0%,100%,.98);box-shadow:0 30px 80px rgba(15,23,42,.22)}.materials-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:18px 22px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(248,250,252,.98),hsla(0,0%,100%,.95))}.materials-editor-copy{min-width:0}.materials-editor-copy strong{display:block;margin:4px 0}.materials-editor-encoding{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:999px;background:rgba(59,130,246,.08);color:var(--primary-color);font-size:.85rem;font-weight:600}.materials-editor-body{flex:1;min-height:0;padding:16px;background:linear-gradient(180deg,rgba(248,250,252,.9),hsla(0,0%,100%,.96)),repeating-linear-gradient(180deg,rgba(148,163,184,.08),rgba(148,163,184,.08) 1px,transparent 0,transparent 32px)}.materials-editor-textarea{width:100%;height:100%;min-height:320px;resize:none;border:1px solid rgba(148,163,184,.24);border-radius:22px;padding:18px 20px;background:hsla(0,0%,100%,.96);color:var(--text-primary);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.95rem;line-height:1.7;box-shadow:inset 0 1px 3px rgba(15,23,42,.05)}.materials-editor-textarea:focus{outline:2px solid rgba(59,130,246,.22);outline-offset:2px}.materials-lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:clamp(14px,3vw,28px);background:rgba(2,6,23,.8);backdrop-filter:blur(10px)}.materials-lightbox[hidden]{display:none}.materials-lightbox-shell{width:min(100%,1440px);height:min(100%,960px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:28px;background:rgba(15,23,42,.96);box-shadow:0 30px 80px rgba(2,6,23,.4)}.materials-lightbox-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:14px 18px;border-bottom:1px solid rgba(148,163,184,.14);color:rgba(248,250,252,.96)}.materials-lightbox-copy{min-width:0}.materials-lightbox-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.materials-lightbox-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.materials-lightbox-actions .btn{color:rgba(248,250,252,.96)}.materials-lightbox-actions .btn.btn-primary{color:#fff}.materials-lightbox-scale{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:6px 10px;border-radius:999px;background:rgba(30,41,59,.9);color:rgba(226,232,240,.96);font-size:.84rem;font-weight:600}.materials-lightbox-stage{flex:1;position:relative;overflow:hidden;padding:clamp(16px,4vw,32px);background:linear-gradient(45deg,rgba(15,23,42,.96),rgba(30,41,59,.96)),repeating-linear-gradient(45deg,rgba(148,163,184,.06),rgba(148,163,184,.06) 18px,transparent 0,transparent 36px);touch-action:none}.materials-lightbox-stage img{position:absolute;top:0;left:0;max-width:none;max-height:none;width:auto;height:auto;transform-origin:top left;transition:transform .24s cubic-bezier(.2,.8,.2,1);border-radius:18px;box-shadow:0 24px 54px rgba(2,6,23,.45);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default;will-change:transform}.materials-lightbox-stage.is-zoomable img{cursor:zoom-in}.materials-lightbox-stage.is-zoomed img{cursor:zoom-out}.materials-lightbox-stage.is-pannable img{cursor:grab}.materials-lightbox-stage.is-dragging img{cursor:grabbing;transition:none}.materials-lightbox-actions .btn:disabled{opacity:.45;cursor:not-allowed}.materials-outline-level-1{padding-left:0}.materials-outline-level-2{padding-left:14px}.materials-outline-level-3{padding-left:28px}.materials-outline-level-4{padding-left:42px}@media (max-width:1024px){.materials-overview,.materials-shell{grid-template-columns:1fr}.materials-manage-list-header,.materials-manage-row{grid-template-columns:52px minmax(0,1.7fr) minmax(180px,.92fr) minmax(220px,1fr)}.materials-detail-dialog{width:min(100vw - 1.5rem,1000px);max-width:min(100vw - 1.5rem,1000px);height:calc(100vh - 1.5rem);margin:.75rem auto}.materials-detail-hero,.materials-detail-section-grid{grid-template-columns:1fr}.materials-section--wide{grid-column:auto}.materials-viewer{grid-template-columns:1fr}.materials-viewer-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid rgba(148,163,184,.18)}}@media (max-width:768px){.materials-library-controls,.materials-library-summary,.materials-stat-grid{grid-template-columns:1fr}.materials-library-summary-chips,.materials-sort-controls{justify-content:flex-start}.materials-search-box{padding-right:8px}.materials-list-header{display:none}.materials-manage-row{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"check main" ". time" ". actions";align-items:start}.materials-manage-row .materials-row-check{grid-area:check}.materials-manage-row .materials-row-main{grid-area:main}.materials-manage-row .materials-row-time{grid-area:time;flex-direction:row;flex-wrap:wrap;gap:12px;border:none;background:transparent;padding:0 0 0 54px}.materials-manage-row .materials-row-actions{grid-area:actions;justify-content:flex-start;border-left:none;padding-left:54px}.materials-row{grid-template-columns:34px minmax(0,1fr);grid-template-areas:"checkbox name" ". meta" ". actions";align-items:start}.materials-row>:first-child{grid-area:checkbox}.materials-row>:nth-child(2){grid-area:name}.materials-row>:nth-child(3),.materials-row>:nth-child(4){grid-area:meta;padding-left:56px;font-size:.82rem;color:var(--text-muted)}.materials-row>:nth-child(4){margin-top:-10px}.materials-row>:nth-child(5){grid-area:actions;padding-left:56px}.materials-manage-row>:first-child{grid-area:check}.materials-manage-row>:nth-child(2){grid-area:main}.materials-manage-row>:nth-child(3){grid-area:time;padding-left:54px;font-size:inherit;color:inherit;margin-top:0}.materials-manage-row>:nth-child(4){grid-area:actions;padding-left:54px;margin-top:0}.materials-ai-generate-source-grid,.materials-ai-import-grid,.materials-repo-command-line,.materials-repo-detail-grid,.materials-repo-summary{grid-template-columns:1fr}.materials-upload-menu,.materials-upload-menu__trigger{width:100%}.materials-upload-dropdown{left:0;right:auto;width:min(260px,92vw)}.materials-ai-import-file{align-items:stretch;flex-direction:column}.materials-ai-generate-source{min-height:auto}.materials-ai-generate-source-list{max-height:220px}.materials-detail-meta{grid-template-columns:1fr}.materials-detail-modal{padding:0}.materials-detail-dialog{width:100%;max-width:100%;height:100%;margin:0}.materials-detail-modal-content{border-radius:0}.materials-lightbox{padding:0}.materials-lightbox-shell{width:100%;height:100%;border-radius:0}.materials-editor-backdrop{padding:0}.materials-editor-shell{width:100%;height:100%;border-radius:0}.materials-lightbox-toolbar{padding:12px}.materials-editor-toolbar{padding:14px}.materials-editor-body{padding:12px}}.materials-ai-btn-loading:not([hidden]){display:inline-flex;align-items:center;gap:.35rem}.materials-ai-btn-loading:not([hidden]):before{content:"";display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.3);border-top-color:currentcolor;border-radius:50%;animation:materials-ai-spin .6s linear infinite}@keyframes materials-ai-spin{to{transform:rotate(1turn)}}.materials-ai-btn--loading{opacity:.75;cursor:wait}.materials-ai-assign-result{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid rgba(59,130,246,.15);border-radius:var(--radius-md,8px);background:linear-gradient(135deg,rgba(59,130,246,.03),rgba(139,92,246,.03))}.materials-ai-assign-result[hidden]{display:none}.materials-ai-assign-result .materials-section-header{margin-bottom:var(--spacing-sm)}.materials-ai-assign-list-scroll{max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.25) transparent}.materials-ai-assign-list-scroll::-webkit-scrollbar{width:5px}.materials-ai-assign-list-scroll::-webkit-scrollbar-track{background:transparent}.materials-ai-assign-list-scroll::-webkit-scrollbar-thumb{background:rgba(148,163,184,.3);border-radius:3px}.materials-ai-assign-item{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:8px 10px;font-size:.82rem;border-radius:6px;transition:background .15s}.materials-ai-assign-item:hover{background:rgba(59,130,246,.05)}.materials-ai-assign-item+.materials-ai-assign-item{border-top:1px solid rgba(148,163,184,.1)}.materials-ai-assign-arrow{color:var(--primary-color);font-weight:700;flex-shrink:0;font-size:.9rem}.materials-ai-assign-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-family:var(--font-mono,"Menlo","Consolas",monospace);font-size:.78rem}.materials-ai-assign-session{display:flex;align-items:center;gap:.35rem;font-weight:500}.materials-ai-assign-session-title{color:var(--text-secondary);font-weight:400;font-size:.78rem}.materials-ai-confidence{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;flex-shrink:0;letter-spacing:.02em}.materials-ai-confidence--high{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}.materials-ai-confidence--medium{background:rgba(234,179,8,.1);color:#b45309;border:1px solid rgba(234,179,8,.2)}.materials-ai-confidence--low{background:rgba(239,68,68,.08);color:#dc2626;border:1px solid rgba(239,68,68,.15)}.learning-material-selector{display:flex;flex-direction:column;overflow:hidden;max-height:min(88vh,920px)}.learning-material-selector-body{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.learning-material-selector-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.learning-material-selector-nav{display:flex;gap:8px;flex-wrap:wrap}.learning-material-selector-search{flex:1 1 320px;min-width:240px}.learning-material-selector-meta{display:grid;gap:6px;padding:12px 14px;border-radius:16px;background:rgba(248,250,252,.92);border:1px solid rgba(148,163,184,.16)}.learning-material-selector-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--text-secondary,#475569);font-size:.92rem;min-width:0}.learning-material-selector-breadcrumbs .separator{opacity:.5}.learning-material-selector-breadcrumbs button{border:none;background:none;padding:0;color:inherit;cursor:pointer;font:inherit}.learning-material-selector-breadcrumbs button:hover{color:var(--primary-color,#2563eb)}.learning-material-selector-current{color:var(--text-muted,#64748b);font-size:.86rem;line-height:1.5}.learning-material-selector-list{display:flex;flex:1 1 auto;min-height:320px;border-radius:20px;border:1px solid rgba(148,163,184,.18);overflow:hidden;background:#fff}.learning-material-selector-rows{display:grid;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.learning-material-selector-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border-top:1px solid rgba(148,163,184,.12);cursor:pointer}.learning-material-selector-row:first-child{border-top:none}.learning-material-selector-row:hover{background:rgba(248,250,252,.9)}.learning-material-selector-row.is-selected{background:rgba(239,246,255,.92)}.learning-material-selector-row-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.learning-material-selector-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;font-size:.78rem;font-weight:700;flex-shrink:0}.learning-material-selector-name{display:grid;gap:6px;min-width:0}.learning-material-selector-name strong{color:var(--text-primary,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-material-selector-meta-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.learning-material-selector-type{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(14,165,233,.12);color:#0369a1;font-size:.78rem;font-weight:600}.learning-material-selector-hint,.learning-material-selector-path{color:var(--text-muted,#64748b);font-size:.86rem}.learning-material-selector-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-material-selector-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.learning-material-selector-empty{padding:40px 20px;color:var(--text-muted,#64748b);text-align:center}.learning-material-selector-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.learning-material-selector-footer-copy{display:grid;gap:4px;flex:1 1 320px;min-width:0}.learning-material-selector-selected{display:grid;gap:4px;min-width:0}.learning-material-selector-selected strong{color:var(--text-primary,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-material-selector-selected span{color:var(--text-muted,#64748b);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-material-selector-selected.is-empty strong{color:var(--text-secondary,#475569)}.learning-material-selector .course-modal-footer-note{color:var(--text-muted,#64748b);font-size:.82rem;line-height:1.5;margin:0}@media (max-width:960px){.learning-material-selector{max-height:calc(100vh - 1rem)}.learning-material-selector-list{min-height:240px}.learning-material-selector-row{grid-template-columns:1fr;align-items:flex-start}.learning-material-selector-actions{justify-content:flex-start}}.classroom-page .classroom-navbar{z-index:30}.classroom-navbar-brand{min-width:0}.classroom-navbar-copy{min-width:0;display:flex;flex-direction:column;gap:.15rem}.classroom-navbar-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.78rem;color:var(--text-muted)}.learning-top-chip{min-width:11.5rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.42rem .65rem;border:1px solid rgba(20,184,166,.24);border-radius:999px;background:linear-gradient(135deg,rgba(240,253,250,.94),rgba(255,251,235,.92));color:#0f172a;cursor:pointer;box-shadow:0 10px 24px -18px rgba(15,23,42,.35)}.learning-top-chip__level,.learning-top-chip__score{font-size:.74rem;font-weight:800;white-space:nowrap}.learning-top-chip__bar{height:.38rem;min-width:3rem;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden}.learning-top-chip__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#f59e0b,#38bdf8)}.classroom-page .classroom-workspace{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-xl);min-height:calc(100vh - 73px);max-width:1800px}.classroom-page .workspace-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.95fr);gap:var(--spacing-xl);align-items:stretch}.classroom-page .workspace-content{display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:0;height:100%;overflow:visible}.workspace-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:var(--spacing-lg);padding:var(--spacing-xl);border:1px solid rgba(99,102,241,.16);border-radius:calc(var(--radius-xl) + .25rem);background:radial-gradient(circle at top right,rgba(14,165,233,.16),transparent 30%),linear-gradient(135deg,rgba(79,70,229,.14),hsla(0,0%,100%,.96));box-shadow:var(--shadow-md)}.learning-overview-panel,.learning-progress-panel{position:relative;overflow:hidden;padding:1rem 1.05rem;border-color:rgba(20,184,166,.2);background:linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(240,253,250,.9)),linear-gradient(90deg,rgba(20,184,166,.11),rgba(245,158,11,.12),rgba(56,189,248,.1))}.learning-overview-panel:before,.learning-progress-panel:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#14b8a6,#22c55e,#0ea5e9,#f59e0b,#a78bfa)}.learning-progress-panel.is-learning-focus{animation:learning-panel-focus 1.8s ease}.learning-progress-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.7rem}.learning-progress-head h2{margin:0;font-size:1.15rem;line-height:1.18}.learning-progress-head p{margin:0;color:var(--text-secondary);max-width:76ch}.learning-progress-score{--learning-a:#14b8a6;--learning-b:#f59e0b;width:5rem;aspect-ratio:1;flex:0 0 auto;display:grid;place-items:center;text-align:center;border-radius:50%;background:linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(240,253,250,.74)),conic-gradient(from 210deg,var(--learning-a),var(--learning-b),#38bdf8,var(--learning-a));box-shadow:0 18px 48px -28px rgba(15,23,42,.42)}.learning-progress-score small,.learning-progress-score span{display:block;color:var(--text-secondary);font-size:.64rem;font-weight:700}.learning-progress-score strong{display:block;margin:-.18rem 0;font-size:1.45rem;color:#0f172a}.learning-progress-score[data-theme=mortal]{--learning-a:#64748b;--learning-b:#cbd5e1}.learning-progress-score[data-theme=qi_awakening]{--learning-a:#14b8a6;--learning-b:#facc15}.learning-progress-score[data-theme=qi_refining]{--learning-a:#22c55e;--learning-b:#67e8f9}.learning-progress-score[data-theme=foundation]{--learning-a:#0ea5e9;--learning-b:#f59e0b}.learning-progress-score[data-theme=golden_core]{--learning-a:#f59e0b;--learning-b:#ef4444}.learning-progress-score[data-theme=nascent_soul]{--learning-a:#38bdf8;--learning-b:#a78bfa}.learning-progress-track{position:relative;display:flex;gap:.42rem;margin-bottom:.65rem;overflow-x:auto;padding:.18rem 0 .45rem;scroll-snap-type:x proximity}.learning-progress-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:.9rem;align-items:stretch}.learning-progress-path{display:grid;align-content:start;gap:.65rem;min-width:0}.learning-stage-node{position:relative;flex:1 0 96px;min-width:96px;display:grid;justify-items:center;gap:.22rem;padding:.52rem .45rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.22);background:hsla(0,0%,100%,.82);scroll-snap-align:start;transition:transform .2s ease,opacity .2s ease,border-color .2s ease,background-color .2s ease}.learning-stage-node:after{content:"";position:absolute;left:50%;right:-50%;top:1.08rem;height:2px;background:rgba(148,163,184,.2);z-index:0}.learning-stage-node:last-child:after{display:none}.learning-stage-orb{position:relative;z-index:1;width:1.1rem;height:1.1rem;border-radius:50%;background:#cbd5e1;box-shadow:0 0 0 3px rgba(226,232,240,.65)}.learning-stage-node:not(.is-locked)[data-theme=qi_awakening] .learning-stage-orb{background:#14b8a6}.learning-stage-node:not(.is-locked)[data-theme=qi_refining] .learning-stage-orb{background:#22c55e}.learning-stage-node:not(.is-locked)[data-theme=foundation] .learning-stage-orb{background:#0ea5e9}.learning-stage-node:not(.is-locked)[data-theme=golden_core] .learning-stage-orb{background:#f59e0b}.learning-stage-node:not(.is-locked)[data-theme=nascent_soul] .learning-stage-orb{background:#38bdf8}.learning-stage-node.is-locked{opacity:.52;filter:grayscale(.75)}.learning-stage-node.is-locked small,.learning-stage-node.is-locked strong{color:#64748b}.learning-stage-node.is-challenge_ready,.learning-stage-node.is-generating,.learning-stage-node.is-in_exam,.learning-stage-node.is-passed{border-color:rgba(20,184,166,.32);background:rgba(240,253,250,.88)}.learning-stage-node.is-passed{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.75),0 18px 34px -30px rgba(20,184,166,.55)}.learning-stage-node.is-challenge_ready .learning-stage-orb,.learning-stage-node.is-generating .learning-stage-orb,.learning-stage-node.is-in_exam .learning-stage-orb{animation:learning-orb-pulse 1.7s ease-in-out infinite}.learning-stage-node strong{position:relative;z-index:1;font-size:.8rem;line-height:1.15}.learning-stage-node small{position:relative;z-index:1;color:var(--text-muted);font-size:.68rem;font-weight:700}.learning-progress-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:.65rem;align-items:center}.learning-distribution,.learning-progress-bars{display:grid;gap:.7rem}.learning-distribution-item,.learning-score-row{display:grid;grid-template-columns:4.4rem minmax(0,1fr) 3.2rem;gap:.45rem;align-items:center;font-size:.78rem}.learning-distribution-item.is-compact{grid-template-columns:4.5rem minmax(0,1fr) 2rem;margin-top:.5rem}.learning-distribution-item>span,.learning-score-row>span{color:var(--text-secondary);font-weight:700}.learning-distribution-item strong,.learning-score-row strong{text-align:right;color:var(--text-primary)}.learning-score-bar{height:.42rem;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}.learning-score-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#f59e0b,#38bdf8)}.learning-overview-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.8rem}.learning-overview-meta>div{min-width:0;padding:.62rem .72rem;border:1px solid rgba(20,184,166,.18);border-radius:var(--radius-md);background:hsla(0,0%,100%,.74)}.learning-overview-meta small,.learning-overview-meta span{display:block;color:var(--text-muted);font-size:.72rem;font-weight:750}.learning-overview-meta strong{display:block;margin:.08rem 0;color:var(--text-primary);font-size:1.18rem;line-height:1.1}.learning-progress-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.5rem;padding:.52rem;border-radius:var(--radius-md);border:1px dashed rgba(14,165,233,.28);background:hsla(0,0%,100%,.72)}.learning-progress-actions span{color:var(--text-secondary);line-height:1.6}.learning-class-position{display:grid;align-content:stretch;gap:.48rem;min-width:0;margin:0;padding:.55rem;border-radius:var(--radius-lg);border:1px solid rgba(14,165,233,.18);background:hsla(0,0%,100%,.52)}.learning-class-position__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.learning-class-position__summary>div{min-width:0;padding:.5rem .58rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.2);background:hsla(0,0%,100%,.72);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.learning-class-position__summary>div:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.34);box-shadow:0 18px 42px -34px rgba(15,23,42,.48)}.learning-class-position__summary small,.learning-class-position__summary span{display:block;color:var(--text-muted);font-size:.66rem;font-weight:750}.learning-class-position__summary strong{display:block;margin:.08rem 0;overflow:hidden;color:var(--text-primary);font-size:1rem;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.learning-mountain{position:relative;min-height:150px;padding:.45rem .48rem;border-radius:var(--radius-md);border:1px solid rgba(14,165,233,.22);background:linear-gradient(135deg,hsla(0,0%,100%,.92),rgba(240,249,255,.7)),linear-gradient(90deg,rgba(20,184,166,.08),rgba(245,158,11,.08));overflow:hidden}.learning-mountain__chart{min-height:126px}.learning-mountain svg{display:block;width:100%;height:126px;overflow:visible}.learning-mountain__ridge{fill:none;stroke:rgba(14,165,233,.72);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 8px 10px rgba(14,165,233,.18))}.learning-mountain__area{fill:url(#learningMountainFill);opacity:.72}.learning-mountain__self-line{stroke:#f59e0b;stroke-width:2;stroke-dasharray:6 5}.learning-mountain__peak-dot,.learning-mountain__self-dot{fill:#fff;stroke-width:2.6}.learning-mountain__peak-dot{stroke:#14b8a6;filter:drop-shadow(0 0 7px rgba(20,184,166,.42))}.learning-mountain__self-dot{stroke:#f59e0b;filter:drop-shadow(0 0 7px rgba(245,158,11,.42))}.learning-mountain__peak-label,.learning-mountain__self-label{fill:#334155;font-size:10.5px;font-weight:800}.learning-mountain__self-label{fill:#92400e}.learning-mountain__self-label-bg{fill:rgba(255,251,235,.92);stroke:rgba(245,158,11,.22)}.learning-mountain__hint{min-height:1.05rem;color:var(--text-secondary);font-size:.72rem;font-weight:700}.learning-roster-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:var(--spacing-md)}.learning-roster-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:999px;background:hsla(0,0%,100%,.78);border:1px solid rgba(148,163,184,.2)}.learning-roster-pill span{color:var(--text-muted);font-size:.82rem}.learning-certificate-backdrop{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:var(--spacing-lg);background:rgba(15,23,42,.55);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .26s ease}.learning-certificate-backdrop.is-open{opacity:1;pointer-events:auto}.learning-certificate-shell{position:relative;width:min(92vw,520px);aspect-ratio:1.12;display:grid;place-items:center}.learning-certificate-rays{position:absolute;inset:-22%;background:conic-gradient(from 0deg,rgba(245,158,11,0),rgba(245,158,11,.55),rgba(56,189,248,0),rgba(16,185,129,.5),rgba(245,158,11,0));animation:learning-rays-spin 6s linear infinite;filter:blur(12px)}.learning-certificate-card{--seal-a:#14b8a6;--seal-b:#f59e0b;position:relative;width:100%;min-height:21rem;display:grid;justify-items:center;align-content:center;gap:.8rem;padding:2.2rem;text-align:center;border:1px solid color-mix(in srgb,var(--seal-a) 45%,#fff 20%);border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(236,253,245,.96)),linear-gradient(90deg,color-mix(in srgb,var(--seal-a) 18%,transparent),transparent 55%,color-mix(in srgb,var(--seal-b) 16%,transparent));box-shadow:0 30px 80px -30px rgba(15,23,42,.6);transform:translateY(22px) scale(.94);transition:transform .36s cubic-bezier(.2,1.2,.2,1)}.learning-certificate-card[data-theme=qi_awakening]{--seal-a:#14b8a6;--seal-b:#facc15}.learning-certificate-card[data-theme=qi_refining]{--seal-a:#22c55e;--seal-b:#67e8f9}.learning-certificate-card[data-theme=foundation]{--seal-a:#0ea5e9;--seal-b:#f59e0b}.learning-certificate-card[data-theme=golden_core]{--seal-a:#f59e0b;--seal-b:#ef4444}.learning-certificate-card[data-theme=nascent_soul]{--seal-a:#38bdf8;--seal-b:#a78bfa}.is-open .learning-certificate-card{transform:translateY(0) scale(1)}.learning-certificate-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 24%,hsla(0,0%,100%,.72) 42%,transparent 58%);transform:translateX(-130%);animation:certificate-shine 2.7s ease-in-out infinite}.learning-certificate-kicker{font-size:.74rem;font-weight:900;letter-spacing:.16em;color:color-mix(in srgb,var(--seal-a) 72%,#0f172a 28%);text-transform:uppercase}.learning-certificate-card h3{margin:0;font-size:1.8rem}.learning-certificate-card strong{font-size:2.25rem;color:color-mix(in srgb,var(--seal-a) 68%,#0f172a 32%)}.learning-certificate-card p{margin:0;color:var(--text-secondary)}.learning-certificate-card code{padding:.35rem .6rem;border-radius:999px;background:rgba(15,23,42,.06);color:#0f172a}@keyframes learning-panel-focus{0%{box-shadow:0 0 0 0 rgba(16,185,129,.34)}45%{box-shadow:0 0 0 9px rgba(16,185,129,.14)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}@keyframes learning-orb-pulse{0%,to{box-shadow:0 0 0 5px rgba(16,185,129,.18);transform:scale(1)}50%{box-shadow:0 0 0 10px rgba(16,185,129,.04);transform:scale(1.08)}}@keyframes learning-rays-spin{to{transform:rotate(1turn)}}@keyframes certificate-shine{0%{transform:translateX(-130%)}55%,to{transform:translateX(130%)}}.discussion-room-kicker,.workspace-kicker{margin:0 0 .5rem;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-color)}.workspace-hero h1{margin-bottom:.75rem;font-size:2rem}.workspace-hero-text{margin:0;max-width:56ch;width:100%;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.65;white-space:normal;max-height:3.3em;word-wrap:break-word}#hero-info-card .hero-desc-expand-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.45rem;padding:.2rem .6rem;border:none;border-radius:var(--radius-full);background:rgba(79,70,229,.08);color:var(--primary-color);font-size:.78rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:inherit;line-height:1}#hero-info-card .hero-desc-expand-btn:hover{background:rgba(79,70,229,.16);color:var(--primary-hover)}#hero-info-card .hero-desc-expand-btn svg{transition:transform var(--transition-fast)}#hero-info-card .hero-desc-expand-btn:hover svg{transform:translateY(1px)}.course-popover{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none}.course-popover.popover-open{pointer-events:auto}.course-popover-overlay{position:absolute;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .28s ease}.popover-open .course-popover-overlay{opacity:1}.course-popover-card{position:relative;width:92%;max-width:540px;max-height:80vh;border-radius:calc(var(--radius-xl) + .3rem);background:hsla(0,0%,100%,.97);border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 64px -16px rgba(15,23,42,.22),inset 0 0 0 1px hsla(0,0%,100%,.5);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.97);transition:opacity .28s ease,transform .28s ease}.popover-open .course-popover-card{opacity:1;transform:translateY(0) scale(1)}.course-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:1.4rem 1.6rem 1rem;border-bottom:1px solid rgba(148,163,184,.12);background:radial-gradient(circle at top right,rgba(14,165,233,.1),transparent 40%),linear-gradient(135deg,rgba(79,70,229,.06),hsla(0,0%,100%,.98))}.course-popover-kicker{margin:0 0 .3rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-color)}.course-popover-title{margin:0;font-size:1.25rem;color:var(--text-primary)}.course-popover-close{flex-shrink:0;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:rgba(148,163,184,.1);color:var(--text-muted);font-size:1.2rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.course-popover-close:hover{background:rgba(239,68,68,.1);color:#ef4444}.course-popover-body{padding:1.2rem 1.6rem 1.6rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.1rem}.course-popover-section h4{margin:0 0 .5rem;font-size:.82rem;font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.course-popover-section p{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.7;white-space:pre-wrap}.course-popover-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.course-popover-info-item{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .75rem;border-radius:var(--radius-lg);background:rgba(248,250,252,.8);border:1px solid rgba(148,163,184,.12)}.course-popover-info-item .info-label{font-size:.74rem;color:var(--text-muted);font-weight:600}.course-popover-info-item .info-value{font-size:.9rem;color:var(--text-primary);font-weight:600}#hero-info-card{cursor:pointer;border-radius:calc(var(--radius-xl) + .1rem)}#hero-info-card:hover{background-color:rgba(79,70,229,.03)}#hero-info-card:active{background-color:rgba(79,70,229,.06)}.classroom-page .workspace-hero-main{min-height:200px;display:flex;flex-direction:column;justify-content:space-between}.workspace-panel{border:1px solid rgba(148,163,184,.18);border-radius:calc(var(--radius-xl) + .1rem);background:hsla(0,0%,100%,.82);box-shadow:var(--shadow-sm);padding:var(--spacing-xl)}.teaching-plan-grid,.teaching-plan-panel{display:grid;gap:var(--spacing-lg)}.teaching-plan-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr)}.teaching-plan-main,.teaching-task-list-panel{display:grid;gap:var(--spacing-md)}.teaching-plan-focus{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;padding:1rem 1.1rem;border-radius:var(--radius-lg);background:radial-gradient(circle at top right,rgba(14,165,233,.16),transparent 40%),linear-gradient(135deg,rgba(79,70,229,.08),rgba(248,250,252,.96));border:1px solid rgba(79,70,229,.16)}.teaching-plan-focus-label{display:inline-flex;margin-bottom:.45rem;padding:.28rem .7rem;border-radius:999px;background:hsla(0,0%,100%,.72);color:var(--primary-color);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.teaching-plan-focus strong{display:block;color:var(--text-primary);font-size:1.08rem}.teaching-plan-focus p{margin:.45rem 0 0;color:var(--text-secondary);line-height:1.7}.teaching-plan-focus-meta{display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:999px;background:hsla(0,0%,100%,.82);color:var(--text-primary);font-size:.84rem;font-weight:600}.teaching-timeline-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:.35rem;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y}.teaching-timeline-scroll.is-dragging{cursor:grabbing}.teaching-timeline-track{display:flex;align-items:stretch;gap:1rem;min-width:-moz-max-content;min-width:max-content;padding:.2rem .1rem .4rem}.teaching-timeline-node{position:relative;flex:0 0 286px;display:grid;gap:.75rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.9);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.teaching-timeline-node:before{content:"";position:absolute;top:1.3rem;right:calc(-.6rem - 1px);width:1.2rem;height:2px;background:rgba(148,163,184,.36)}.teaching-timeline-node:last-child:before{display:none}.teaching-timeline-node:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(14,165,233,.12)}.teaching-timeline-node.is-completed{border-color:rgba(148,163,184,.22);background:rgba(248,250,252,.8)}.teaching-timeline-node.is-anchor,.teaching-timeline-node.is-current{border-color:rgba(14,165,233,.34);background:radial-gradient(circle at top right,rgba(14,165,233,.14),transparent 42%),linear-gradient(135deg,rgba(219,234,254,.92),hsla(0,0%,100%,.98))}.teaching-timeline-node.is-next{border-color:rgba(249,115,22,.3);background:radial-gradient(circle at top right,rgba(249,115,22,.12),transparent 44%),linear-gradient(135deg,rgba(255,247,237,.94),hsla(0,0%,100%,.98))}.teaching-timeline-node-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.teaching-timeline-chip,.teaching-timeline-date{display:inline-flex;align-items:center;padding:.32rem .72rem;border-radius:999px;background:hsla(0,0%,100%,.82);color:var(--text-secondary);font-size:.78rem;font-weight:600}.teaching-timeline-node strong{color:var(--text-primary);font-size:1rem}.teaching-timeline-node p{margin:0;color:var(--text-secondary);line-height:1.7}.teaching-timeline-meta{display:flex;gap:.5rem;flex-wrap:wrap}.teaching-timeline-meta span{display:inline-flex;align-items:center;padding:.28rem .68rem;border-radius:999px;background:rgba(79,70,229,.08);color:var(--primary-hover);font-size:.76rem;font-weight:600}.teaching-plan-inline-note{color:var(--text-muted);font-size:.84rem}.teaching-task-list-panel{padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.82)}.teaching-task-list-head h3{margin:.3rem 0 0;color:var(--text-primary)}.teaching-task-list{display:grid;gap:.85rem;max-height:520px;overflow-y:auto;padding-right:.15rem}.teaching-task-item{display:grid;gap:.45rem;padding:.95rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.9);text-align:left;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.teaching-task-item:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.22);box-shadow:0 12px 22px rgba(79,70,229,.08)}.teaching-task-item.is-anchor,.teaching-task-item.is-current{border-color:rgba(14,165,233,.32);background:rgba(239,246,255,.92)}.teaching-task-item.is-next{border-color:rgba(249,115,22,.28);background:rgba(255,247,237,.92)}.teaching-task-item-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.teaching-task-item-top strong{color:var(--text-primary)}.teaching-task-item-top span{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.teaching-task-item p{margin:0;color:var(--text-secondary);line-height:1.6}.teaching-task-item-meta{color:var(--text-muted);font-size:.8rem}.section-subtitle{margin:.35rem 0 0;font-size:.92rem;color:var(--text-muted)}.assignment-panel{min-height:320px;display:flex;flex-direction:column}.assignment-summary-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:var(--spacing-lg)}.summary-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border-radius:var(--radius-full);background:rgba(241,245,249,.9);color:var(--text-secondary);font-size:.8rem;font-weight:600;border:1px solid rgba(148,163,184,.18)}.summary-pill-primary{background:rgba(79,70,229,.1);color:var(--primary-hover);border-color:rgba(79,70,229,.14)}.assignment-board{flex:1;min-height:0}.classroom-page .assignment-grid{min-height:260px}.assignment-card-unified{height:100%;min-height:220px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.98)),#fff}.assignment-card-unified:before{background:linear-gradient(180deg,rgba(79,70,229,.18),rgba(14,165,233,.3))}.assignment-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:.9rem}.assignment-card-tags{display:flex;flex-wrap:wrap;gap:.45rem}.assignment-arrow{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:rgba(79,70,229,.08);color:var(--primary-color);transition:transform var(--transition-fast),background-color var(--transition-fast)}.assignment-card-unified:hover .assignment-arrow{transform:translateX(2px);background:rgba(79,70,229,.14)}.assignment-card-title{margin-bottom:.75rem;font-size:1.08rem;line-height:1.4}.assignment-card-desc{min-height:4.3em;margin-bottom:1rem;color:var(--text-secondary);font-size:.9rem}.assignment-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding-top:.95rem;border-top:1px solid rgba(148,163,184,.12)}.assignment-meta-text{font-size:.8rem;color:var(--text-muted)}.assignment-meta-link{font-size:.84rem;font-weight:700;color:var(--primary-color)}.assignment-empty-state{min-height:260px;display:grid;place-items:center;gap:.75rem;padding:2.5rem;text-align:center;border:1px dashed rgba(79,70,229,.22);background:radial-gradient(circle at top right,rgba(79,70,229,.08),transparent 28%),linear-gradient(135deg,rgba(79,70,229,.05),rgba(14,165,233,.06))}.chat-empty-icon,.empty-state-icon,.upload-illustration{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.empty-state-icon{width:3.75rem;height:3.75rem;background:rgba(79,70,229,.08);color:var(--primary-color)}.resource-panel{min-height:260px}.upload-dropzone-rich{padding:1.35rem;border-radius:calc(var(--radius-lg) + .1rem);border-color:rgba(79,70,229,.18);background:linear-gradient(135deg,rgba(79,70,229,.04),rgba(14,165,233,.06)),hsla(0,0%,100%,.88)}.upload-dropzone-rich .upload-dropzone-content{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.upload-illustration{width:3.25rem;height:3.25rem;background:rgba(79,70,229,.08);color:var(--primary-color);flex-shrink:0}.upload-copy{flex:1;text-align:left}.upload-copy h4{margin-bottom:.3rem;font-size:1rem}.upload-copy p{margin:0}.upload-progress-stack{display:flex;flex-direction:column;gap:var(--spacing-sm)}.workspace-sidebar{min-height:0;display:flex;align-self:start}.discussion-room{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:420px;height:100%;max-height:100%;flex:1;align-self:stretch;border-radius:calc(var(--radius-xl) + .15rem);overflow:hidden;border:1px solid rgba(226,232,240,.8);color:var(--text-primary);box-shadow:0 8px 32px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.discussion-room:hover{border-color:rgba(148,163,184,.4);box-shadow:0 12px 48px rgba(15,23,42,.12),0 2px 4px rgba(15,23,42,.06);background:#fff}.discussion-room:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(59,130,246,.02),transparent 40%),linear-gradient(180deg,hsla(0,0%,100%,.6),transparent 30%);pointer-events:none}.discussion-room-body,.discussion-room-composer,.discussion-room-header{position:relative;z-index:1}.discussion-room-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:1.5rem 1.5rem 1.25rem;border-bottom:1px solid rgba(226,232,240,.8);background:hsla(0,0%,100%,.95)}.discussion-room-side{gap:.75rem}.discussion-room-alias-card,.discussion-room-side{display:flex;flex-direction:column;align-items:flex-end}.discussion-room-alias-card{gap:.35rem;padding:.8rem .95rem;border-radius:1rem;background:linear-gradient(135deg,rgba(239,246,255,.95),rgba(248,250,252,.92));border:1px solid rgba(191,219,254,.9);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.discussion-room-alias-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.discussion-room-alias-card strong{font-size:1rem;color:var(--text-primary)}.discussion-room-alias-meta{min-height:1.1rem;font-size:.78rem;color:var(--text-muted);text-align:right}.discussion-room-alias-meta[data-state=cooldown]{color:var(--primary-color)}.discussion-room-alias-meta[data-state=limit]{color:#dc2626}.discussion-room-alias-btn{min-width:110px}.discussion-room-alias-btn[disabled]{opacity:.55;cursor:not-allowed}.discussion-room-header h2{margin-bottom:.35rem;color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:0}.discussion-room-subtitle{color:var(--text-muted);font-size:.9rem;line-height:1.5;font-weight:400}.discussion-room-status{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .9rem;border-radius:var(--radius-full);background:rgba(241,245,249,.7);border:1px solid rgba(226,232,240,.6);font-size:.78rem;color:var(--text-secondary);white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-weight:500}.discussion-room .status-indicator{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.discussion-room-body{display:flex;min-height:0;overflow:hidden;padding:1rem 1.25rem;background:hsla(0,0%,100%,.6)}.classroom-page .chat-messages{flex:1;height:auto;padding:.5rem;gap:1rem}.chat-history-loader{position:sticky;top:0;z-index:2;display:flex;justify-content:center;padding:.1rem 0 .8rem;background:linear-gradient(180deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.82),transparent)}.chat-empty-state{margin:auto;max-width:300px;min-height:100%;display:grid;place-content:center;justify-items:center;gap:.5rem;text-align:center;color:var(--text-muted)}.chat-empty-icon{width:3rem;height:3rem;background:rgba(79,70,229,.1);color:var(--primary-color)}.chat-empty-state p{margin:0;font-size:.88rem;color:inherit}.chat-message{max-width:100%}.chat-message[data-message-id]:not(.system) .chat-message-attachments,.chat-message[data-message-id]:not(.system) .chat-message-custom-emojis,.chat-message[data-message-id]:not(.system) .chat-message-main,.chat-message[data-message-id]:not(.system) .chat-quote-block,.chat-message[data-message-id]:not(.system) .message-content{cursor:default}.chat-message-row{display:flex;align-items:flex-end;gap:.75rem}.chat-message.chat-self .chat-message-row{flex-direction:row-reverse}.chat-avatar{width:2.2rem;height:2.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.82rem;font-weight:700;background:rgba(79,70,229,.1);color:var(--primary-color);border:1px solid rgba(79,70,229,.2)}.chat-message.chat-self .chat-avatar{background:rgba(37,99,235,.15);color:#2563eb;border-color:rgba(37,99,235,.3)}.chat-message-main{position:relative;display:flex;flex-direction:column;gap:.45rem;min-width:0;max-width:calc(100% - 3rem);transition:transform .18s ease}.chat-message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:0;font-size:.76rem}.chat-message-header.has-actions{position:relative;min-height:2rem;padding-right:7rem}.chat-message-actions{position:absolute;top:50%;right:0;z-index:2;display:inline-flex;align-items:center;gap:.4rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%) scale(.96);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}.chat-message.chat-self .chat-message-actions{right:auto;left:0}.chat-message[data-message-id]:not(.system):focus-within .chat-message-actions,.chat-message[data-message-id]:not(.system):hover .chat-message-actions{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1);transition-delay:0s}.chat-message-action-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;height:1.9rem;padding:0 .72rem;border:1px solid rgba(203,213,225,.95);border-radius:999px;background:hsla(0,0%,100%,.96);color:var(--text-secondary);font-size:.75rem;font-weight:700;line-height:1;box-shadow:0 8px 18px rgba(15,23,42,.08);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.chat-message-action-btn:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.9);color:#2563eb;box-shadow:0 12px 24px rgba(59,130,246,.14)}.chat-message-action-btn:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:2px}.chat-message.chat-self .chat-message-action-btn{background:rgba(239,246,255,.95);border-color:rgba(191,219,254,.96);color:#1d4ed8}.chat-message.chat-self .chat-message-header.has-actions{justify-content:flex-end;padding-left:7rem;padding-right:0}.chat-message.chat-self .chat-message-header{justify-content:flex-end}@media (hover:none),(pointer:coarse){.chat-message-header.has-actions,.chat-message.chat-self .chat-message-header.has-actions{min-height:0;padding-left:0;padding-right:0}.chat-message-actions{position:static;margin-left:auto;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}.chat-message.chat-self .chat-message-actions{margin-right:auto;margin-left:0}}.chat-message .sender{color:var(--text-secondary);font-weight:600}.chat-message .sender.teacher{color:#8b5cf6;font-weight:700}.chat-message .sender.assistant{color:#0f766e;font-weight:700}.classroom-page .chat-message .time{color:var(--text-muted);font-size:.75rem}.classroom-page .chat-message .message-content{background:rgba(241,245,249,.9);color:var(--text-primary);border:1px solid rgba(226,232,240,.8);border-radius:1.1rem 1.1rem 1.1rem .35rem;padding:.85rem 1.05rem;line-height:1.6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.classroom-page .chat-message .message-content:empty{display:none}.chat-message.chat-self .message-content{background:linear-gradient(135deg,rgba(59,130,246,.95),rgba(29,78,216,.95));color:#fff;border-color:rgba(59,130,246,.4);border-radius:1.1rem 1.1rem .35rem 1.1rem;box-shadow:0 2px 8px rgba(59,130,246,.2)}@media (hover:hover) and (pointer:fine){.chat-message[data-message-id]:not(.system) .chat-message-main:hover{transform:translateY(-1px)}.chat-message[data-message-id]:not(.system) .chat-message-main:hover .chat-message-attachments,.chat-message[data-message-id]:not(.system) .chat-message-main:hover .chat-quote-block,.chat-message[data-message-id]:not(.system) .chat-message-main:hover .message-content{box-shadow:0 12px 26px rgba(15,23,42,.12);border-color:rgba(148,163,184,.38)}}.chat-message.is-quoted-source .chat-message-attachments,.chat-message.is-quoted-source .chat-message-custom-emojis,.chat-message.is-quoted-source .chat-quote-block,.chat-message.is-quoted-source .message-content{box-shadow:0 0 0 3px rgba(59,130,246,.2),0 18px 36px rgba(59,130,246,.18);border-color:rgba(96,165,250,.9);animation:chat-message-quoted-source-pulse 1.8s ease}@keyframes chat-message-quoted-source-pulse{0%{transform:translateY(0)}30%{transform:translateY(-2px)}to{transform:translateY(0)}}.chat-message .chat-quote-block{max-width:100%}.chat-message.chat-self .chat-quote-block{background:rgba(219,234,254,.88);border-color:rgba(147,197,253,.92)}.chat-message.chat-assistant .chat-quote-block{background:rgba(220,252,231,.85);border-color:rgba(134,239,172,.9)}.chat-quote-block .chat-message-custom-emoji{min-width:2.4rem;min-height:2.4rem;border-radius:.8rem}.chat-quote-block .chat-message-custom-emoji img{max-width:3rem;max-height:3rem}.chat-message-attachments{display:flex;flex-wrap:wrap;gap:.55rem}.chat-message-attachments.is-compact{gap:.4rem}.chat-message-attachment-link{display:flex;flex-direction:column;gap:.35rem;width:min(184px,100%);padding:.42rem;border-radius:1rem;border:1px solid rgba(226,232,240,.85);background:hsla(0,0%,100%,.72);text-decoration:none;cursor:zoom-in;overflow:hidden;color:inherit;font:inherit;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none}.chat-message.chat-self .chat-message-attachment-link{background:hsla(0,0%,100%,.14);border-color:rgba(191,219,254,.28)}.chat-message-attachments.is-compact .chat-message-attachment-link{width:min(116px,100%);padding:.32rem;border-radius:.8rem}.chat-message-attachment-image{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:.8rem;background:rgba(226,232,240,.6)}.chat-message-attachments.is-compact .chat-message-attachment-image{border-radius:.65rem}.chat-message-attachment-meta{color:var(--text-secondary);font-size:.74rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-message.chat-self .chat-message-attachment-meta{color:hsla(0,0%,100%,.92)}.chat-image-preview-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem)}.chat-image-preview-modal[hidden]{display:none!important}.chat-image-preview-backdrop{position:absolute;inset:0;border:0;background:rgba(15,23,42,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);cursor:zoom-out}.chat-image-preview-shell{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1080px,calc(100vw - 2rem));max-height:min(86vh,820px);overflow:hidden;border-radius:12px;border:1px solid rgba(226,232,240,.72);background:hsla(0,0%,100%,.96);box-shadow:0 34px 80px -38px rgba(15,23,42,.8)}.chat-image-preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem .9rem;border-bottom:1px solid rgba(226,232,240,.82);background:rgba(248,250,252,.96)}.chat-image-preview-title-block{display:grid;gap:.12rem;min-width:0}.chat-image-preview-meta,.chat-image-preview-title-block strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-image-preview-title-block strong{color:var(--text-primary);font-size:.95rem}.chat-image-preview-meta{color:var(--text-muted);font-size:.78rem}.chat-image-preview-actions{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto}.chat-image-preview-original{white-space:nowrap}.chat-image-preview-close{width:2rem;height:2rem;border-radius:999px}.chat-image-preview-body{display:grid;place-items:center;min-height:0;padding:clamp(.7rem,2vw,1rem);background:rgba(15,23,42,.92)}.chat-image-preview-image{display:block;max-width:100%;max-height:calc(min(86vh, 820px) - 5.5rem);width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:8px;background:hsla(0,0%,100%,.08)}body.has-chat-image-preview-open{overflow:hidden}.feedback-review-page .main-content{max-width:1240px}.review-workbench{display:grid;gap:18px;padding:22px 0 34px}.review-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:18px;align-items:stretch;padding:24px;border:1px solid rgba(100,116,139,.16);border-radius:14px;background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.9)),linear-gradient(120deg,rgba(15,118,110,.08),transparent 42%),linear-gradient(300deg,rgba(190,18,60,.07),transparent 48%);box-shadow:0 18px 50px -42px rgba(15,23,42,.5)}.review-card,.review-card__main,.review-card__side,.review-empty,.review-feedback-grid,.review-hero__copy,.review-progress-card,.review-stat,.review-toolbar{min-width:0}.review-eyebrow{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;margin-bottom:10px;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:rgba(240,253,250,.78);color:#0f766e;font-size:.76rem;font-weight:850;text-transform:uppercase}.review-hero h1{margin:0 0 8px;color:#0f172a;font-size:clamp(1.7rem,2vw,2.4rem);line-height:1.12;font-weight:850}.review-hero p{max-width:68ch;margin:0;color:#475569;line-height:1.72}.review-progress-card{display:grid;align-content:center;gap:8px;padding:18px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:hsla(0,0%,100%,.76)}.review-feedback-grid span,.review-progress-card small,.review-progress-card span,.review-stat small,.review-stat span,.review-toolbar label>span{color:#64748b;font-size:.8rem;font-weight:750}.review-progress-card strong{color:#0f172a;font-size:2.45rem;line-height:1;font-weight:900}.review-progress-meter{height:9px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.2)}.review-progress-meter span{display:block;width:var(--review-progress,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#4f46e5,#f59e0b)}.review-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.review-stat{min-height:108px;padding:14px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:hsla(0,0%,100%,.82)}.review-stat strong{display:block;margin:8px 0 6px;color:#0f172a;font-size:1.7rem;line-height:1;font-weight:900}.review-stat--danger{border-color:rgba(220,38,38,.24);background:hsla(0,86%,97%,.78)}.review-stat--warning{border-color:rgba(180,83,9,.24);background:rgba(255,247,237,.8)}.review-stat--success{border-color:rgba(5,150,105,.2);background:rgba(236,253,245,.78)}.review-stat--primary{border-color:rgba(79,70,229,.2);background:rgba(238,242,255,.78)}.review-stat--neutral{background:rgba(248,250,252,.78)}.review-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) minmax(170px,230px);gap:12px;align-items:stretch;padding:12px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:hsla(0,0%,100%,.74)}.review-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.review-course-filter,.review-filter,.review-search{min-width:0;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:rgba(248,250,252,.82)}.review-filter{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 12px;color:#334155;font-weight:800;text-decoration:none}.review-filter strong{color:#64748b;font-size:.78rem}.review-filter.is-active,.review-filter:focus-visible,.review-filter:hover{border-color:rgba(79,70,229,.28);background:rgba(238,242,255,.92);color:#4f46e5;text-decoration:none}.review-course-filter,.review-search{display:grid;gap:4px;padding:8px 10px}.review-course-filter select,.review-search input{width:100%;min-width:0;border:0;padding:0;background:transparent;color:#0f172a;font-size:.92rem;font-weight:700;outline:none}.review-visible-count{color:#64748b;font-size:.9rem;font-weight:700}.review-visible-count strong{color:#0f172a}.review-card-list{display:grid;gap:14px}.review-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px;padding:16px;border:1px solid rgba(100,116,139,.18);border-left:4px solid rgba(100,116,139,.5);border-radius:8px;background:hsla(0,0%,100%,.86);box-shadow:0 14px 38px -34px rgba(15,23,42,.44)}.path-card[hidden],.review-card[hidden]{display:none!important}.review-card--high{border-left-color:#dc2626}.review-card--medium{border-left-color:#b45309}.review-card--low{border-left-color:#0f766e}.review-card--mastered{opacity:.82}.review-card.is-pinned{border-color:rgba(79,70,229,.32);box-shadow:0 20px 46px -36px rgba(79,70,229,.58)}.review-card__actions,.review-card__topline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.review-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:rgba(241,245,249,.9);color:#475569;font-size:.76rem;font-weight:850}.review-chip--high{background:hsla(0,93%,94%,.9);color:#dc2626}.review-chip--medium{background:rgba(255,237,213,.9);color:#b45309}.review-chip--low{background:rgba(204,251,241,.78);color:#0f766e}.review-chip--status{background:rgba(238,242,255,.9);color:#4f46e5}.review-chip--pin{background:hsla(48,97%,77%,.72);color:#92400e}.review-card h2{margin:12px 0 6px;color:#0f172a;font-size:1.16rem;line-height:1.36;font-weight:850;overflow-wrap:anywhere}.review-card__meta{margin:0 0 12px;color:#64748b;font-size:.88rem;line-height:1.5}.review-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-feedback-grid div{display:grid;gap:5px;padding:11px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:rgba(248,250,252,.72)}.review-feedback-grid strong{color:#1e293b;line-height:1.55;overflow-wrap:anywhere}.review-feedback-grid div:first-child strong{color:#b91c1c}.review-feedback-raw{margin-top:12px;color:#64748b;font-size:.86rem}.review-feedback-raw summary{cursor:pointer;font-weight:800}.review-feedback-raw p{margin:8px 0 0;line-height:1.65}.review-card__side{display:grid;gap:10px;align-content:start}.review-card__side label{display:grid;gap:6px}.review-card__side label span{color:#64748b;font-size:.8rem;font-weight:800}.review-card__side textarea{width:100%;min-width:0;resize:vertical;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:hsla(0,0%,100%,.92);color:#0f172a;font-size:.92rem;line-height:1.55}.review-card__side textarea:focus{border-color:rgba(79,70,229,.45);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.review-action,.review-source-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid rgba(79,70,229,.2);border-radius:8px;background:rgba(238,242,255,.86);color:#4f46e5;font-size:.88rem;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.review-action:focus-visible,.review-action:hover,.review-source-link:focus-visible,.review-source-link:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.35);background:#eef2ff;color:#4f46e5;text-decoration:none;box-shadow:0 12px 24px -22px rgba(79,70,229,.6)}.review-action--primary{border-color:#4f46e5;background:#4f46e5;color:#fff}.review-action--primary:focus-visible,.review-action--primary:hover{background:#4338ca;color:#fff}.review-action--ghost{border-color:rgba(148,163,184,.24);background:rgba(248,250,252,.9);color:#475569}.review-action:disabled{cursor:progress;opacity:.72;transform:none}.review-source-link{width:100%;border-color:rgba(15,118,110,.2);background:rgba(240,253,250,.82);color:#0f766e}.review-source-link:focus-visible,.review-source-link:hover{border-color:rgba(15,118,110,.34);background:#f0fdfa;color:#0f766e}.review-empty{display:grid;justify-items:start;gap:10px;padding:26px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:hsla(0,0%,100%,.86)}.review-empty strong{color:#0f172a;font-size:1.2rem}.review-empty p{max-width:64ch;margin:0;color:#64748b;line-height:1.7}@media (max-width:1180px){.review-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.review-toolbar{grid-template-columns:1fr}}@media (max-width:900px){.review-card,.review-hero{grid-template-columns:1fr}.review-progress-card{align-content:start}}@media (max-width:640px){.review-workbench{padding-top:14px}.review-hero{padding:18px}.review-hero h1{font-size:1.55rem}.review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review-feedback-grid{grid-template-columns:1fr}.review-card{padding:14px}}@media (max-width:420px){.review-stats{grid-template-columns:1fr}.review-card__actions,.review-filter-tabs{display:grid;grid-template-columns:1fr}.review-action,.review-filter{width:100%}}@media (max-width:640px){.chat-image-preview-modal{padding:.75rem}.chat-image-preview-shell{width:calc(100vw - 1.5rem);max-height:88vh}.chat-image-preview-header{align-items:flex-start;flex-direction:column;gap:.65rem}.chat-image-preview-actions{width:100%;justify-content:space-between}}.chat-message.chat-assistant .chat-avatar{background:rgba(16,185,129,.14);color:#047857;border-color:rgba(16,185,129,.28)}.chat-message.chat-assistant .message-content{background:rgba(236,253,245,.95);border-color:rgba(16,185,129,.2)}.chat-message.chat-assistant.is-ai-streaming .message-content{border-color:rgba(20,184,166,.38);box-shadow:0 10px 24px rgba(20,184,166,.12)}.discussion-ai-stream-status{display:flex;align-items:center;gap:.36rem;margin-top:.35rem;color:#0f766e;font-size:.78rem;font-weight:700}.discussion-ai-stream-status:after{content:"";width:.42rem;height:.42rem;border-radius:999px;background:currentColor;animation:discussion-ai-stream-pulse 1s ease-in-out infinite}@keyframes discussion-ai-stream-pulse{0%,to{opacity:.28;transform:scale(.82)}50%{opacity:.95;transform:scale(1)}}.chat-message.system{padding:.1rem 0}.chat-message.system .message-content{background:transparent;color:rgba(148,163,184,.9);font-size:.8rem;border:none;padding:.4rem 0;text-align:center;font-weight:400}.discussion-room-composer{position:relative;padding:1.25rem 1.5rem;border-top:1px solid rgba(226,232,240,.8);background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.discussion-room-composer .chat-composer{gap:.85rem;align-items:flex-end}.chat-composer-actions{position:relative;display:flex;flex-direction:column;gap:.7rem}.chat-mention-all-btn{min-width:88px;min-height:42px;border-radius:1rem;border-color:rgba(251,146,60,.45);background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(255,251,235,.96));color:#c2410c;font-weight:700;box-shadow:0 8px 20px rgba(249,115,22,.12)}.chat-mention-all-btn:hover{border-color:rgba(249,115,22,.7);background:linear-gradient(135deg,rgba(255,237,213,.98),rgba(255,247,237,.98));color:#9a3412}.chat-composer-shell{flex:1;display:flex;flex-direction:column;gap:.45rem;padding:1rem;height:100%;border-radius:1.2rem;border:1px solid rgba(226,232,240,.9);background:hsla(0,0%,100%,.95);box-shadow:inset 0 1px 3px rgba(148,163,184,.08);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.chat-composer-shell:focus-within{border-color:rgba(59,130,246,.6);box-shadow:inset 0 1px 3px rgba(59,130,246,.1),0 0 0 3px rgba(59,130,246,.1);background:#fff}.chat-composer-label{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.chat-quote-preview{margin-top:.1rem}.chat-quote-block{display:flex;flex-direction:column;gap:.45rem;padding:.7rem .85rem;border-radius:.95rem;background:rgba(239,246,255,.72);border:1px solid rgba(191,219,254,.7)}.chat-quote-block.is-clickable{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.chat-quote-block.is-clickable:hover{transform:translateY(-1px);border-color:rgba(96,165,250,.95);box-shadow:0 14px 28px rgba(59,130,246,.14)}.chat-quote-block.is-clickable:focus-visible{outline:2px solid rgba(59,130,246,.7);outline-offset:2px}.chat-quote-block.is-composer{background:rgba(248,250,252,.92)}.chat-quote-header{display:flex;align-items:center;gap:.55rem;color:var(--text-muted);font-size:.76rem}.chat-quote-label{display:inline-flex;align-items:center;padding:.14rem .44rem;border-radius:999px;background:rgba(59,130,246,.12);color:#2563eb;font-size:.7rem;font-weight:700;letter-spacing:.01em}.chat-quote-header strong{color:var(--text-primary);font-size:.8rem}.chat-quote-text{color:var(--text-secondary);font-size:.9rem;line-height:1.55}.chat-quote-empty{color:var(--text-muted);font-size:.84rem;font-style:italic}.chat-quote-block.is-composer .chat-quote-empty,.chat-quote-block.is-composer .chat-quote-text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.chat-quote-remove{margin-left:auto;width:1.35rem;height:1.35rem;border:none;border-radius:999px;background:rgba(148,163,184,.16);color:var(--text-secondary);cursor:pointer}.chat-quote-remove:hover{background:rgba(239,68,68,.14);color:#dc2626}.chat-attachment-preview-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.15rem}.chat-attachment-preview-card{position:relative;display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:.7rem;align-items:center;min-width:220px;max-width:min(100%,320px);padding:.55rem .7rem .55rem .55rem;border-radius:1rem;background:rgba(248,250,252,.92);border:1px solid rgba(226,232,240,.92)}.chat-attachment-preview-link{display:block;width:3.6rem;height:3.6rem;border-radius:.9rem;overflow:hidden;background:rgba(226,232,240,.55)}.chat-attachment-preview-link img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-attachment-preview-meta{display:flex;flex-direction:column;min-width:0;gap:.18rem}.chat-attachment-preview-meta span,.chat-attachment-preview-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-preview-meta strong{color:var(--text-primary);font-size:.82rem}.chat-attachment-preview-meta span{color:var(--text-muted);font-size:.74rem}.chat-attachment-preview-remove{position:absolute;top:.35rem;right:.35rem;width:1.35rem;height:1.35rem;border:none;border-radius:999px;background:rgba(15,23,42,.08);color:var(--text-secondary);cursor:pointer}.chat-attachment-preview-remove:hover{background:rgba(239,68,68,.18);color:#dc2626}.chat-emoji-preview-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.15rem}.chat-emoji-preview-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;background:rgba(226,232,240,.7);border:1px solid rgba(203,213,225,.9);color:var(--text-secondary);font-size:.78rem}.chat-emoji-preview-chip img{width:1.4rem;height:1.4rem;-o-object-fit:contain;object-fit:contain}.chat-emoji-preview-chip button{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border:none;border-radius:999px;background:rgba(148,163,184,.18);color:inherit;cursor:pointer}.chat-emoji-preview-chip button:hover{background:rgba(239,68,68,.16);color:#dc2626}.classroom-page .chat-composer-input{min-height:52px;max-height:144px;padding:.5rem 0;color:var(--text-primary);background:transparent;border:none;box-shadow:none;font-size:1rem;line-height:1.6;resize:none;font-family:inherit}.classroom-page .chat-composer-input::-moz-placeholder{color:var(--text-muted);opacity:.7}.classroom-page .chat-composer-input::placeholder{color:var(--text-muted);opacity:.7}.classroom-page .chat-composer-input:focus{box-shadow:none;outline:none}.chat-composer-hint{font-size:.76rem;color:var(--text-muted);opacity:.8}.chat-emoji-trigger-btn{min-width:88px;height:48px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(191,219,254,.95);background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(248,250,252,.92));color:#2563eb;font-weight:700;box-shadow:0 4px 18px rgba(37,99,235,.12)}.chat-emoji-trigger-btn.is-open,.chat-emoji-trigger-btn:hover{border-color:rgba(59,130,246,.9);background:linear-gradient(135deg,rgba(219,234,254,.98),rgba(239,246,255,.98));transform:translateY(-1px)}.chat-attachment-trigger-btn{min-width:88px;height:48px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(110,231,183,.95);background:linear-gradient(135deg,rgba(236,253,245,.98),rgba(240,253,250,.98));color:#047857;font-weight:700;box-shadow:0 4px 18px rgba(5,150,105,.12)}.chat-attachment-trigger-btn:hover{border-color:rgba(16,185,129,.92);background:linear-gradient(135deg,rgba(209,250,229,.98),rgba(236,253,245,.98));transform:translateY(-1px)}.chat-attachment-trigger-btn[disabled]{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.discussion-room-composer .chat-send-btn{min-width:88px;height:52px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1.25rem;background:linear-gradient(135deg,rgba(59,130,246,.95),rgba(29,78,216,.95));color:#fff;border:none;font-weight:600;font-size:.95rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-shadow:0 4px 16px rgba(59,130,246,.25);cursor:pointer}.discussion-room-composer .chat-send-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.35);background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.discussion-room-composer .chat-send-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(59,130,246,.25)}.discussion-room-composer .chat-send-btn.is-rate-limited{background:linear-gradient(135deg,rgba(220,38,38,.96),rgba(153,27,27,.96));box-shadow:0 8px 24px rgba(220,38,38,.28);color:#fff}.discussion-room-composer .chat-send-btn.is-rate-limited:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(239,68,68,.98),rgba(185,28,28,.98));box-shadow:0 10px 26px rgba(220,38,38,.34)}.discussion-room-composer .chat-send-btn.is-rate-limited:active{transform:translateY(0);box-shadow:0 4px 14px rgba(220,38,38,.24)}.discussion-room-composer .chat-send-btn.is-uploading{background:linear-gradient(135deg,rgba(14,165,233,.96),rgba(2,132,199,.96));box-shadow:0 8px 24px rgba(14,165,233,.26);color:#fff}.chat-message-menu{position:fixed;z-index:30;display:flex;flex-direction:column;min-width:136px;padding:.35rem;border-radius:.95rem;border:1px solid rgba(226,232,240,.95);background:hsla(0,0%,100%,.98);box-shadow:0 18px 40px rgba(15,23,42,.18)}.chat-message-menu-item{display:inline-flex;align-items:center;justify-content:flex-start;padding:.65rem .8rem;border:none;border-radius:.75rem;background:transparent;color:var(--text-primary);font-size:.86rem;cursor:pointer}.chat-message-menu-item:hover{background:rgba(241,245,249,.96)}.chat-emoji-popover{position:absolute;right:1.5rem;bottom:calc(100% + 1rem);width:min(440px,calc(100vw - 2rem));border-radius:1.4rem;border:1px solid rgba(191,219,254,.85);background:radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 34%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.97));box-shadow:0 30px 80px -28px rgba(15,23,42,.45);overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .2s ease,transform .24s ease;pointer-events:none;z-index:12}.chat-emoji-popover.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.chat-emoji-popover-footer,.chat-emoji-popover-header{padding:.95rem 1rem}.chat-emoji-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;border-bottom:1px solid rgba(226,232,240,.8)}.chat-emoji-popover-header strong{display:block;margin-bottom:.18rem;font-size:1rem;color:var(--text-primary)}.chat-emoji-popover-header p{margin:0;font-size:.78rem;color:var(--text-muted)}.chat-emoji-popover-body{max-height:460px;overflow-y:auto;padding:.95rem 1rem .65rem;display:flex;flex-direction:column;gap:1rem}.chat-emoji-section{display:flex;flex-direction:column;gap:.6rem}.chat-emoji-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-emoji-section-head h3{margin:0;font-size:.86rem;color:var(--text-primary)}.chat-custom-emoji-upload-status,.chat-emoji-popover-footer,.chat-emoji-section-head span{font-size:.76rem;color:var(--text-muted)}.chat-emoji-frequent-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem}.chat-emoji-empty{padding:.65rem .8rem;border-radius:1rem;border:1px dashed rgba(191,219,254,.95);background:rgba(239,246,255,.58);font-size:.8rem;color:var(--text-muted)}.chat-emoji-categories{display:flex;flex-direction:column;gap:.85rem}.chat-emoji-category{display:flex;flex-direction:column;gap:.45rem}.chat-emoji-category-header{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.chat-custom-emoji-grid,.chat-emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem}.chat-custom-emoji-tools{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.chat-custom-emoji-progress{position:relative;height:.45rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.8)}.chat-custom-emoji-progress-bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#2563eb);transition:width .16s ease}.chat-emoji-item{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;border:1px solid rgba(226,232,240,.9);border-radius:1rem;background:hsla(0,0%,100%,.92);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);padding:.35rem}.chat-emoji-item:hover{transform:translateY(-1px);border-color:rgba(59,130,246,.55);box-shadow:0 10px 22px -14px rgba(37,99,235,.45);background:#fff}.chat-emoji-item:active{transform:scale(.98)}.chat-emoji-item img{width:1.6rem;height:1.6rem;-o-object-fit:contain;object-fit:contain}.chat-emoji-item.chat-emoji-item-custom img{width:2rem;height:2rem;border-radius:.65rem}.chat-emoji-item span{font-size:1.35rem;line-height:1}.chat-message-custom-emojis{display:flex;flex-wrap:wrap;gap:.4rem}.chat-message-custom-emoji{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;min-height:3.1rem;padding:.25rem;border-radius:1rem;background:hsla(0,0%,100%,.7);border:1px solid rgba(226,232,240,.9);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.chat-message.chat-self .chat-message-custom-emoji{background:hsla(0,0%,100%,.16);border-color:rgba(191,219,254,.22)}.chat-message-custom-emoji img{max-width:4.5rem;max-height:4.5rem;border-radius:.85rem;-o-object-fit:contain;object-fit:contain}.modal-dialog-wide{max-width:42rem}.modal-subtitle{margin:.3rem 0 0;color:var(--text-muted);font-size:.88rem}.modal-callout{margin-bottom:1rem;padding:.85rem 1rem;border-radius:var(--radius-lg);background:rgba(79,70,229,.08);color:var(--text-secondary);border:1px solid rgba(79,70,229,.12)}.exam-list-container{display:flex;flex-direction:column;gap:.75rem}.exam-paper-option{display:flex;align-items:flex-start;gap:.9rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.2);background:rgba(248,250,252,.72);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.exam-paper-option:hover{border-color:rgba(79,70,229,.28);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.exam-paper-option input[type=radio]{margin-top:.2rem}.exam-paper-option:has(input:checked){border-color:rgba(79,70,229,.45);box-shadow:var(--shadow-sm);background:rgba(79,70,229,.05)}.exam-paper-option-main{min-width:0;flex:1}.exam-paper-option-title{margin-bottom:.35rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.exam-paper-option-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.55rem}.exam-paper-option-desc{margin:0;color:var(--text-secondary);font-size:.88rem}.inline-feedback{margin-bottom:1rem;padding:.9rem 1rem;border-radius:var(--radius-lg);border:1px solid transparent;font-size:.88rem;line-height:1.55}.inline-feedback[data-type=error]{background:rgba(239,68,68,.08);color:var(--danger-hover);border-color:rgba(239,68,68,.15)}.inline-feedback[data-type=success]{background:rgba(16,185,129,.08);color:var(--success-dark);border-color:rgba(16,185,129,.14)}.inline-feedback[data-type=info]{background:rgba(59,130,246,.08);color:#1d4ed8;border-color:rgba(59,130,246,.14)}@media (max-width:1280px){.classroom-page .workspace-columns{grid-template-columns:minmax(0,1fr) 360px}}@media (max-width:1120px){.classroom-page .classroom-workspace{padding:var(--spacing-lg)}.classroom-page .workspace-columns{grid-template-columns:1fr;gap:var(--spacing-lg)}.workspace-sidebar{min-height:0;display:block}.discussion-room{height:560px;min-height:520px}}@media (max-width:900px){.workspace-hero{grid-template-columns:1fr}.upload-dropzone-rich .upload-dropzone-content{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.classroom-page .classroom-workspace{padding:var(--spacing-md);gap:var(--spacing-md)}.workspace-hero,.workspace-panel{padding:1rem}.classroom-page .workspace-hero-main{min-height:auto}.discussion-room-header{flex-direction:column;align-items:flex-start}.discussion-room-side{width:100%;align-items:stretch}.discussion-room-alias-card{align-items:flex-start;width:100%}.discussion-room-alias-meta{text-align:left}.discussion-room-composer .chat-composer{flex-direction:column}.chat-composer-actions{width:100%;flex-direction:row}.discussion-room-composer .chat-send-btn{width:100%}.chat-attachment-trigger-btn,.chat-emoji-trigger-btn{flex:0 0 120px}.chat-emoji-popover{right:1rem;left:1rem;width:auto;transform-origin:bottom center}.workspace-sidebar{min-height:0;display:block}.discussion-room{height:520px;min-height:480px}}@media (max-width:560px){.classroom-navbar-meta{gap:.4rem .7rem}.workspace-hero h1{font-size:1.6rem}.section-title{white-space:normal}.workspace-sidebar{min-height:0;display:block}.discussion-room{height:500px;min-height:460px}.chat-custom-emoji-grid,.chat-emoji-frequent-row,.chat-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.course-popover-card{width:96%;max-height:88vh;border-radius:var(--radius-xl)}.course-popover-header{padding:1.1rem 1.2rem .9rem}.course-popover-body{padding:1rem 1.2rem 1.3rem}.course-popover-info-grid{grid-template-columns:1fr}}.classroom-page{--classroom-accent:var(--primary-color);--classroom-accent-soft:rgba(79,70,229,.16);--classroom-accent-strong:rgba(79,70,229,.24);--classroom-glow:rgba(14,165,233,.16);--classroom-panel-bg:hsla(0,0%,100%,.78);--classroom-panel-border:rgba(148,163,184,.22);--classroom-panel-shadow:0 12px 28px -24px rgba(15,23,42,.22);background:linear-gradient(180deg,#f8fafc,#eef3fb)}.classroom-page.role-teacher{--classroom-accent:var(--success-color);--classroom-accent-soft:rgba(16,185,129,.16);--classroom-accent-strong:rgba(16,185,129,.24);--classroom-glow:rgba(45,212,191,.16)}.classroom-page.has-course-popover{overflow:hidden}.classroom-page .classroom-navbar{background:hsla(0,0%,100%,.96);border-bottom-color:rgba(148,163,184,.16);box-shadow:0 8px 18px -18px rgba(15,23,42,.2);backdrop-filter:none;-webkit-backdrop-filter:none}.classroom-page .classroom-navbar .btn-outline{border-color:var(--classroom-accent-soft);color:var(--classroom-accent)}.classroom-page .classroom-navbar .btn-outline:hover{background:var(--classroom-accent-soft);border-color:transparent}.classroom-page .classroom-workspace{gap:1.25rem;padding:clamp(1.1rem,2vw,1.8rem);max-width:1680px}.classroom-page .workspace-columns{gap:1.25rem}.workspace-hero,.workspace-panel{border:1px solid var(--classroom-panel-border);background:hsla(0,0%,100%,.96);box-shadow:var(--classroom-panel-shadow);backdrop-filter:none;-webkit-backdrop-filter:none}.workspace-hero{position:relative;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:1rem;padding:clamp(1.2rem,2vw,1.8rem);border-radius:1.75rem;overflow:visible;isolation:auto;background:hsla(0,0%,100%,.96)}.workspace-hero:after,.workspace-hero:before{display:none}.classroom-page .workspace-hero-main{min-height:100%}.workspace-hero-copy{display:flex;flex-direction:column;gap:.85rem}.workspace-kicker-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.workspace-kicker{margin:0;background:rgba(15,23,42,.05);color:var(--classroom-accent);font-size:.76rem;letter-spacing:.08em}.workspace-kicker,.workspace-role-pill{padding:.42rem .78rem;border-radius:999px}.workspace-role-pill{display:inline-flex;align-items:center;background:hsla(0,0%,100%,.7);border:1px solid var(--classroom-panel-border);color:var(--text-secondary);font-size:.78rem;font-weight:600;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.65)}.workspace-hero h1{margin:0;font-size:2.4rem;line-height:1.05;letter-spacing:0}.workspace-hero-lead{margin:0;max-width:58ch;font-size:.98rem;line-height:1.75;color:var(--text-secondary)}#hero-info-card{border-radius:1.4rem;padding:.25rem;transition:background-color var(--transition-fast)}#hero-info-card:hover{background-color:rgba(248,250,252,.6)}.workspace-hero-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.workspace-hero-nav-link{display:flex;flex-direction:column;gap:.2rem;padding:.88rem .96rem;border-radius:1rem;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.62);color:var(--text-primary);box-shadow:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.workspace-hero-nav-link span{font-size:.92rem;font-weight:700}.workspace-hero-nav-link small{color:var(--text-muted);font-size:.76rem}.workspace-hero-nav-link:hover{color:var(--text-primary);border-color:rgba(148,163,184,.28);background:rgba(248,250,252,.96)}.workspace-hero-nav-link.is-active{border-color:var(--classroom-accent-soft);background:rgba(241,245,249,.98);box-shadow:none}.workspace-hero-aside{display:flex;flex-direction:column;gap:1rem;min-width:0}.workspace-spotlight-card{display:flex;flex-direction:column;gap:1rem;padding:1.35rem;border-radius:1.4rem;background:linear-gradient(160deg,rgba(15,23,42,.92),rgba(30,41,59,.86));color:var(--text-inverse);box-shadow:none}.workspace-spotlight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.workspace-spotlight-label{color:rgba(226,232,240,.78);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workspace-spotlight-value-wrap{display:flex;align-items:flex-end;gap:.35rem}.workspace-spotlight-value{font-size:2.9rem;line-height:1}.workspace-spotlight-suffix{padding-bottom:.38rem;color:rgba(226,232,240,.82);font-size:1rem}.workspace-spotlight-note{margin:0;color:rgba(226,232,240,.82);line-height:1.7}.workspace-spotlight-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.workspace-spotlight-highlight{display:flex;flex-direction:column;gap:.3rem;padding:.78rem .85rem;border-radius:1rem;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.08)}.workspace-spotlight-highlight span{color:rgba(226,232,240,.72);font-size:.76rem}.workspace-spotlight-highlight strong{color:var(--text-inverse);font-size:1rem}.workspace-panel{padding:clamp(1.1rem,2vw,1.5rem);border-radius:1.5rem}.section-header{align-items:flex-start;gap:1rem;margin-bottom:1rem}.section-heading{display:flex;flex-direction:column;gap:.35rem;min-width:0}.section-eyebrow{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.38rem .7rem;border-radius:999px;background:rgba(15,23,42,.04);color:var(--classroom-accent);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.section-title{font-size:1.35rem;white-space:normal}.section-subtitle{max-width:60ch;margin:0;line-height:1.7}.section-chip-row{display:flex;flex-wrap:wrap;gap:.65rem;margin:0 0 1rem}.section-chip{display:inline-flex;align-items:center;padding:.5rem .78rem;border-radius:999px;background:hsla(0,0%,100%,.72);border:1px solid rgba(148,163,184,.18);color:var(--text-secondary);font-size:.82rem;font-weight:600}.section-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.2rem}.section-metric-card{display:flex;flex-direction:column;gap:.35rem;padding:.95rem 1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.72);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6)}.section-metric-card[data-tone=primary]{border-color:var(--classroom-accent-soft)}.section-metric-card[data-tone=warning]{border-color:rgba(245,158,11,.22)}.section-metric-card[data-tone=danger]{border-color:rgba(239,68,68,.22)}.section-metric-card[data-tone=success]{border-color:rgba(16,185,129,.22)}.section-metric-label{color:var(--text-muted);font-size:.8rem}.section-metric-value{color:var(--text-primary);font-size:1.55rem;line-height:1.05}.section-metric-note{color:var(--text-secondary);font-size:.84rem}.assignment-scope-note{margin:-.45rem 0 1rem;color:var(--text-secondary);font-size:.86rem}#assignment-panel,#discussion-room,#materials-panel,#resources-panel{scroll-margin-top:92px}.classroom-page #assignment-panel{width:100%;max-width:none;margin-left:0;margin-right:0;justify-self:stretch}.classroom-page #assignment-panel .assignment-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.classroom-page .assignment-grid{gap:1rem}.assignment-card-unified{min-height:240px;border-radius:1.15rem;border:1px solid var(--classroom-panel-border);background:linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(248,250,252,.98)),#fff;box-shadow:0 18px 32px -26px rgba(15,23,42,.3)}.assignment-card-unified:hover{border-color:rgba(148,163,184,.28);box-shadow:0 14px 28px -24px rgba(15,23,42,.22)}.assignment-card-top{margin-bottom:1rem}.assignment-card-title{margin-bottom:.85rem}.assignment-card-desc{min-height:4.8em;line-height:1.7}#materials-panel .materials-selection-bar,#materials-panel .materials-toolbar{border:1px solid var(--classroom-panel-border);border-radius:1rem;background:hsla(0,0%,100%,.68);padding:.85rem 1rem}#materials-panel .materials-list{border:1px solid var(--classroom-panel-border);border-radius:1.1rem;overflow:hidden;background:hsla(0,0%,100%,.72)}#materials-panel .materials-list-header{background:rgba(248,250,252,.86)}#materials-panel .materials-row{background:hsla(0,0%,100%,.56);cursor:pointer}#materials-panel .materials-row:hover{background:rgba(248,250,252,.9)}#materials-panel .classroom-materials-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:.85rem;padding-left:0;padding-right:0;border:0;background:transparent}#materials-panel .materials-path-actions{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0;padding:.25rem;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:hsla(0,0%,100%,.78)}.classroom-material-modal-backdrop{align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem)}.classroom-material-modal{border-radius:8px;overflow:hidden}.classroom-material-detail-path{margin:.35rem 0 0;max-width:min(68vw,52rem);color:var(--color-text-muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-material-detail-body{display:grid;gap:1rem;background:rgba(248,250,252,.68)}.classroom-material-detail-loading{color:var(--color-text-muted)}.classroom-material-detail-loading,.classroom-material-detail-section{padding:1rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff}.classroom-material-detail-section{display:grid;gap:.85rem}.classroom-material-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.classroom-material-detail-section-head span{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.classroom-material-detail-section-head strong{color:#0f172a;font-size:.95rem}.classroom-material-field-grid,.classroom-material-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.7rem}.classroom-material-field,.classroom-material-meta-grid>div{min-width:0;padding:.72rem .78rem;border:1px solid rgba(226,232,240,.9);border-radius:8px;background:rgba(248,250,252,.74)}.classroom-material-field span,.classroom-material-meta-grid span{display:block;margin-bottom:.28rem;color:var(--color-text-muted);font-size:.76rem;font-weight:700}.classroom-material-field strong,.classroom-material-meta-grid strong{display:block;min-width:0;color:#111827;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-material-preview-list{display:grid;gap:.55rem}.classroom-material-preview-list>div{display:grid;grid-template-columns:minmax(7rem,.8fr) minmax(0,1.8fr) auto;gap:.75rem;align-items:center;padding:.72rem .78rem;border:1px solid rgba(226,232,240,.9);border-radius:8px;background:hsla(0,0%,100%,.92)}.classroom-material-preview-list span,.classroom-material-preview-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-material-preview-list em{justify-self:end;color:#0f766e;font-style:normal;font-weight:800;white-space:nowrap}.classroom-material-markdown-preview{border-top:1px solid rgba(226,232,240,.9);padding-top:.75rem}.classroom-material-markdown-preview summary{cursor:pointer;color:#2563eb;font-weight:700}.classroom-material-markdown-preview pre{max-height:18rem;margin:.75rem 0 0;padding:.9rem;border-radius:8px;background:#0f172a;color:#e5e7eb;font-size:.82rem;line-height:1.65;overflow:auto;white-space:pre-wrap}.classroom-material-empty-hint{display:grid;gap:.35rem;color:var(--color-text-muted)}.classroom-material-empty-hint strong{color:#111827}.classroom-final-material-form input,.classroom-final-material-form select,.classroom-final-material-form textarea,.classroom-material-ai-prompt{width:100%;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:#fff;padding:.75rem .85rem;color:#111827}.classroom-final-material-template-options{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:.8rem;padding:.82rem;border:1px solid rgba(37,99,235,.14);border-radius:8px;background:rgba(239,246,255,.68)}.classroom-final-material-template-options[hidden]{display:none}.classroom-final-material-template-options--notice{grid-template-columns:1fr;gap:.3rem;border-color:rgba(217,119,6,.24);background:rgba(255,251,235,.78);color:#92400e}.classroom-final-material-template-options--notice span,.classroom-final-material-template-options--notice strong{overflow-wrap:anywhere}.classroom-final-material-template-options--notice strong{color:#78350f}.classroom-final-material-template-options--notice span{color:#92400e;font-size:.86rem;line-height:1.55}.classroom-material-detail-footer,.classroom-material-inline-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.classroom-material-detail-footer .btn:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.2)}.classroom-final-material-form{display:grid;gap:1rem}.classroom-final-material-form .form-group{display:grid;gap:.45rem}.classroom-final-material-form .form-group>span{color:var(--color-text-muted);font-size:.82rem;font-weight:800}.classroom-final-material-status{padding:.75rem .85rem;border:1px solid rgba(59,130,246,.22);border-radius:8px;background:rgba(239,246,255,.9);color:#1d4ed8}@media (max-width:720px){#materials-panel .classroom-materials-toolbar{align-items:stretch;flex-direction:column}#materials-panel .materials-path-actions{width:100%;justify-content:flex-start}.classroom-material-detail-path{max-width:100%}.classroom-material-preview-list>div{grid-template-columns:1fr;gap:.35rem}.classroom-material-preview-list em{justify-self:start}.classroom-final-material-template-options{grid-template-columns:1fr}}#file-list-container{display:grid;gap:.85rem}#file-list-container .card{border:1px solid var(--classroom-panel-border);border-radius:1rem;background:linear-gradient(180deg,hsla(0,0%,100%,.86),rgba(248,250,252,.78));box-shadow:none}.resource-file-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:var(--spacing-md);cursor:pointer}.resource-file-main{display:flex;align-items:flex-start;gap:.9rem;min-width:0;flex:1}.resource-file-icon{width:42px;height:42px;border-radius:.95rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.04em}.resource-file-copy{min-width:0;flex:1}.resource-file-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.resource-file-title{display:block;min-width:0;font-size:.98rem;line-height:1.4;color:var(--text-primary)}.resource-file-badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;flex-shrink:0}.resource-file-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;color:#155e75;background:rgba(8,145,178,.12)}.resource-file-badge.is-danger{color:#b91c1c;background:rgba(239,68,68,.12)}.resource-file-meta{margin-top:.25rem;font-size:.84rem;color:var(--text-muted)}.resource-file-summary{margin:.55rem 0 0;color:var(--text-secondary);font-size:.88rem;line-height:1.55}.resource-file-actions{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.resource-download-blocked,.resource-download-blocked-btn{color:#dc2626}.resource-download-blocked:focus-visible,.resource-download-blocked:hover{color:#b91c1c;background:rgba(239,68,68,.08)}.resource-download-blocked-btn{display:inline-flex;align-items:center;gap:.5rem}.shared-file-modal-meta{margin:.25rem 0 0;color:var(--text-muted);font-size:.86rem}.shared-file-modal-body{display:flex;flex-direction:column;gap:1rem}.shared-file-modal-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid rgba(148,163,184,.18);border-radius:1rem;background:rgba(248,250,252,.72)}.shared-file-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.shared-file-section-header h4{margin:0;font-size:1rem}.shared-file-description-view{display:flex;flex-direction:column;gap:.65rem;color:var(--text-secondary);line-height:1.7}.shared-file-description-view p{margin:0}.shared-file-download-status{padding:.95rem 1rem;border-radius:1rem;border:1px solid rgba(239,68,68,.18);background:hsla(0,86%,97%,.96);color:#991b1b}.shared-file-download-status strong{display:inline-block;margin-bottom:.3rem}.shared-file-download-hint,.shared-file-download-status p{margin:0;line-height:1.65}.shared-file-link-actions{display:flex;flex-wrap:wrap;gap:.75rem}.shared-file-textarea{min-height:8.25rem;resize:vertical}.shared-file-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.shared-file-footer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.upload-dropzone-rich{border:1px dashed rgba(148,163,184,.3);background:linear-gradient(135deg,hsla(0,0%,100%,.78),hsla(0,0%,100%,.55)),linear-gradient(135deg,var(--classroom-accent-soft),rgba(14,165,233,.08))}.upload-dropzone-rich.drag-over{border-style:solid;box-shadow:0 10px 20px -18px rgba(15,23,42,.2)}.workspace-sidebar{position:static;top:auto}.discussion-room{border:1px solid var(--classroom-panel-border);border-radius:1.6rem;background:hsla(0,0%,100%,.98);box-shadow:0 12px 24px -22px rgba(15,23,42,.18);backdrop-filter:none;-webkit-backdrop-filter:none}.discussion-room:before{display:none}.discussion-room:hover{border-color:var(--classroom-panel-border);box-shadow:0 12px 24px -22px rgba(15,23,42,.18);background:hsla(0,0%,100%,.98)}.discussion-room-header{padding:1.45rem 1.45rem 1.2rem;background:hsla(0,0%,100%,.98);border-bottom-color:rgba(148,163,184,.14)}.discussion-room-subtitle{margin:0;max-width:30ch;line-height:1.65}.discussion-room-subtitle-detail{margin-top:.18rem;color:var(--text-secondary)}.discussion-room-alias-card{background:linear-gradient(135deg,hsla(0,0%,100%,.92),rgba(239,246,255,.88));border-color:rgba(191,219,254,.82);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72)}.discussion-room-status{background:hsla(0,0%,100%,.78)}.discussion-room-body{padding:1rem 1.1rem}.classroom-page .chat-messages{padding:.3rem .2rem;overscroll-behavior:auto;touch-action:pan-y}.discussion-room-composer{padding:1.1rem 1.2rem 1.2rem;background:hsla(0,0%,100%,.98);border-top:1px solid rgba(148,163,184,.14)}.chat-composer-shell,.discussion-room-composer{backdrop-filter:none;-webkit-backdrop-filter:none}.chat-composer-shell{background:#fff;border-color:rgba(148,163,184,.2);box-shadow:none}.chat-emoji-popover{max-height:min(560px,calc(100vh - 140px));border-radius:1.2rem;background:hsla(0,0%,100%,.98);border:1px solid rgba(148,163,184,.22);box-shadow:0 16px 28px -24px rgba(15,23,42,.22)}.course-popover-overlay{background:rgba(15,23,42,.18);backdrop-filter:none;-webkit-backdrop-filter:none}.course-popover{padding:1.5rem}.course-popover-card{width:min(760px,100%);max-width:760px;background:hsla(0,0%,100%,.98);border:1px solid var(--classroom-panel-border);box-shadow:0 18px 30px -24px rgba(15,23,42,.24)}.course-popover-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.classroom-page .modal-backdrop{padding:clamp(1rem,3vw,2rem);align-items:center}.classroom-page .modal-dialog{margin:0;max-width:min(100%,640px)}.classroom-page .modal-dialog-wide{max-width:min(980px,calc(100vw - 2rem))}.classroom-page .modal-content{border-radius:1.35rem;background:hsla(0,0%,100%,.98);border:1px solid var(--classroom-panel-border);box-shadow:0 18px 32px -24px rgba(15,23,42,.24)}.classroom-page .chat-message .message-content,.classroom-page .modal-content,.discussion-room-status{backdrop-filter:none;-webkit-backdrop-filter:none}.classroom-page .modal-header{padding:1.2rem 1.35rem 1rem;background:hsla(0,0%,100%,.98)}.classroom-page .modal-body{padding:1.1rem 1.35rem 1.35rem;max-height:min(76vh,720px)}.classroom-page .modal-footer{padding:1rem 1.35rem 1.2rem;background:rgba(248,250,252,.96)}.classroom-page .modal-subtitle{max-width:56ch}.classroom-page .modal-callout{background:rgba(15,23,42,.04);border-color:rgba(148,163,184,.18)}.classroom-page .exam-paper-option{background:hsla(0,0%,100%,.76)}.classroom-page .inline-feedback{border-radius:1rem}@media (max-width:1280px){.workspace-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.95fr)}.section-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1120px){.workspace-hero{grid-template-columns:1fr}.workspace-sidebar{position:static;top:auto}}@media (max-width:768px){.classroom-page .classroom-navbar{padding:.85rem 1rem;align-items:flex-start;gap:.85rem}.classroom-page .navbar-user{flex-wrap:wrap;justify-content:flex-end}.workspace-hero,.workspace-panel{padding:1rem;border-radius:1.25rem}.section-metric-grid,.workspace-hero-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-spotlight-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.section-header{flex-direction:column}.header-actions{width:100%;flex-wrap:wrap}.resource-file-card{flex-direction:column}.resource-file-copy,.resource-file-main,.resource-file-meta,.resource-file-summary,.resource-file-title-row{width:100%;max-width:100%}.resource-file-title-row{align-items:flex-start;flex-direction:column;gap:.45rem}.resource-file-meta,.resource-file-summary,.resource-file-title{overflow-wrap:anywhere;word-break:break-word}.resource-file-badges{justify-content:flex-start;flex-shrink:1}.resource-file-actions{width:100%;justify-content:flex-end}.shared-file-modal-footer{flex-direction:column;align-items:stretch}.shared-file-footer-actions{justify-content:stretch}#shared-file-download-slot .btn,.shared-file-footer-actions .btn{width:100%;justify-content:center}.classroom-page .modal-dialog-wide{max-width:calc(100vw - 1.5rem)}.classroom-page .modal-body{max-height:calc(100vh - 180px)}.course-popover{padding:1rem}}@media (max-width:560px){.workspace-kicker-row{gap:.5rem}.workspace-hero-nav{grid-template-columns:1fr}.section-metric-grid,.workspace-spotlight-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-spotlight-head{flex-direction:column}.workspace-spotlight-suffix{padding-bottom:0}.classroom-page .classroom-navbar{padding:.8rem .85rem}.classroom-page .navbar-user{gap:.55rem}.classroom-page .workspace-hero h1{font-size:1.75rem}.section-chip-row{gap:.5rem}.section-chip{padding:.48rem .72rem}.course-popover-card{width:100%;max-height:calc(100vh - 2rem)}.classroom-page .modal-backdrop{padding:.75rem}}@media (max-width:1120px){.teaching-plan-grid{grid-template-columns:1fr}}@media (max-width:768px){.teaching-plan-focus,.teaching-task-item-top,.teaching-timeline-node-top{flex-direction:column;align-items:flex-start}.teaching-timeline-node{flex-basis:260px}}.classroom-page .workspace-hero-main{justify-content:flex-start}.classroom-page .embedded-teaching-plan{display:grid;gap:1rem;margin-top:.35rem;padding:1.1rem 1.15rem 1.15rem;border-radius:calc(var(--radius-xl) - .1rem);border:1px solid rgba(148,163,184,.18);background:radial-gradient(circle at top right,rgba(14,165,233,.14),transparent 36%),linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(248,250,252,.94));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72)}.classroom-page .embedded-teaching-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.classroom-page .embedded-teaching-plan-heading h2{margin:.28rem 0 .3rem;font-size:1.12rem;color:var(--text-primary)}.classroom-page .embedded-teaching-plan-subtitle{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.65}.classroom-page .embedded-teaching-plan-stats{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.classroom-page .embedded-teaching-plan-stats span{display:inline-flex;align-items:center;padding:.35rem .72rem;border-radius:999px;background:hsla(0,0%,100%,.9);border:1px solid rgba(148,163,184,.18);color:var(--text-secondary);font-size:.78rem;font-weight:600}.classroom-page .embedded-teaching-plan-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.88fr);gap:1rem;align-items:start}.classroom-page .embedded-teaching-plan-main{display:grid;gap:.85rem}.classroom-page .teaching-plan-focus-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.85rem .95rem;border-radius:1rem;background:hsla(0,0%,100%,.92);border:1px solid rgba(191,219,254,.82)}.classroom-page .teaching-plan-focus-bar strong{display:block;margin-top:.22rem;color:var(--text-primary);font-size:.98rem}.classroom-page .teaching-timeline-scroll{overflow-x:auto;overflow-y:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y;padding:.2rem max(.85rem,calc(50% - 7rem)) .3rem;border-radius:1.2rem;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,rgba(248,250,252,.96),hsla(0,0%,100%,.98));scroll-snap-type:x proximity;scrollbar-gutter:stable both-edges}.classroom-page .teaching-timeline-scroll.is-dragging{cursor:grabbing}.classroom-page .teaching-timeline-track{display:flex;align-items:stretch;gap:.8rem;min-width:-moz-max-content;min-width:max-content;padding:.1rem 0}.classroom-page .teaching-timeline-segment{position:relative;flex:0 0 14rem;display:grid;gap:.45rem;padding:.92rem 1rem;border:1px solid rgba(148,163,184,.18);border-radius:1.1rem;background:hsla(0,0%,100%,.96);text-align:left;font:inherit;color:inherit;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:0 10px 28px -24px rgba(15,23,42,.28);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);scroll-snap-align:center}.classroom-page .teaching-timeline-segment:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.22);box-shadow:0 16px 36px -28px rgba(79,70,229,.35)}.classroom-page .teaching-timeline-segment.is-completed{background:rgba(248,250,252,.92);color:var(--text-secondary)}.classroom-page .teaching-timeline-segment.is-anchor,.classroom-page .teaching-timeline-segment.is-current{border-color:rgba(14,165,233,.34);background:radial-gradient(circle at top right,rgba(14,165,233,.14),transparent 44%),linear-gradient(135deg,rgba(239,246,255,.98),hsla(0,0%,100%,.98))}.classroom-page .teaching-timeline-segment.is-next{border-color:rgba(249,115,22,.28);background:radial-gradient(circle at top right,rgba(249,115,22,.12),transparent 44%),linear-gradient(135deg,rgba(255,247,237,.98),hsla(0,0%,100%,.98))}.classroom-page .teaching-timeline-segment.is-home-entry{border-color:rgba(13,148,136,.28)}.classroom-page .teaching-timeline-segment.is-selected{transform:translateY(-2px) scale(1.015);border-color:rgba(30,64,175,.28);box-shadow:0 20px 42px -28px rgba(14,165,233,.45)}.classroom-page .teaching-timeline-segment-order{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.26rem .62rem;border-radius:999px;background:hsla(0,0%,100%,.9);color:var(--primary-hover);font-size:.74rem;font-weight:700;letter-spacing:.04em}.classroom-page .teaching-timeline-segment-title{color:var(--text-primary);font-size:.94rem;line-height:1.45}.classroom-page .teaching-timeline-segment-meta{gap:.42rem}.classroom-page .teaching-timeline-segment-meta span{display:inline-flex;align-items:center;padding:.22rem .54rem;border-radius:999px;background:rgba(241,245,249,.9);color:var(--text-muted);font-size:.74rem;font-weight:600}.classroom-page .teaching-timeline-detail-card{display:grid;gap:.8rem;padding:1rem 1.05rem;border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.96)}.classroom-page .teaching-timeline-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.classroom-page .teaching-timeline-detail-copy h3{margin:.2rem 0 0;color:var(--text-primary);font-size:1.03rem;line-height:1.5}.classroom-page .teaching-timeline-detail-kicker{display:inline-flex;align-items:center;color:var(--primary-color);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.classroom-page .teaching-timeline-detail-status{display:inline-flex;align-items:center;padding:.34rem .72rem;border-radius:999px;background:rgba(226,232,240,.72);color:var(--text-secondary);font-size:.76rem;font-weight:700;white-space:nowrap}.classroom-page .teaching-timeline-detail-status.is-anchor,.classroom-page .teaching-timeline-detail-status.is-current{background:rgba(224,242,254,.96);color:#0369a1}.classroom-page .teaching-timeline-detail-status.is-next{background:rgba(255,237,213,.96);color:#c2410c}.classroom-page .teaching-timeline-detail-status.is-home{background:rgba(204,251,241,.96);color:#0f766e}.classroom-page .teaching-timeline-detail-summary{margin:0;color:var(--text-secondary);line-height:1.75}.classroom-page .teaching-timeline-detail-summary.md-content{font-size:.95rem}.classroom-page .teaching-timeline-detail-summary.md-content>:first-child{margin-top:0}.classroom-page .teaching-timeline-detail-summary.md-content>:last-child{margin-bottom:0}.classroom-page .teaching-timeline-detail-summary.md-content :is(ul,ol,blockquote,pre,table,details,figure){margin-block:.8rem}.classroom-page .teaching-timeline-detail-summary.md-content pre{margin-inline:0}.classroom-page .teaching-timeline-detail-summary.md-content table{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.classroom-page .teaching-timeline-detail-summary.md-content img{display:block;max-width:min(100%,28rem);height:auto;border-radius:.9rem;box-shadow:0 12px 30px -24px rgba(15,23,42,.28)}.classroom-page .teaching-timeline-detail-summary.md-content input[type=checkbox]{margin-right:.5rem;accent-color:var(--primary-color)}.classroom-page .teaching-timeline-detail-meta{display:flex;flex-wrap:wrap;gap:.5rem}.classroom-page .teaching-timeline-detail-meta span{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;background:rgba(241,245,249,.88);color:var(--text-muted);font-size:.76rem;font-weight:600}.classroom-page .teaching-timeline-detail-meta span.is-warning{background:rgba(255,247,237,.96);color:#c2410c}.classroom-page .teaching-plan-inline-note{margin:0;color:var(--text-muted);font-size:.8rem}.classroom-page .teaching-task-list-panel{display:grid;gap:.8rem;padding:.95rem;border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.92)}.classroom-page .teaching-task-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.classroom-page .teaching-task-list-head h3{margin:.28rem 0 0}.classroom-page .teaching-task-list-caption{color:var(--text-muted);font-size:.76rem;line-height:1.5;text-align:right}.classroom-page .teaching-task-list{display:grid;gap:.7rem;max-height:19.5rem;overflow-y:auto;padding-right:.1rem}.classroom-page .teaching-task-item{gap:.4rem;padding:.82rem .88rem;border-radius:.95rem;box-shadow:none}.classroom-page .teaching-task-item-top span{padding:.2rem .5rem;border-radius:999px;background:rgba(241,245,249,.92);font-weight:700}.classroom-page .teaching-task-item.is-selected{border-color:rgba(30,64,175,.26);background:rgba(239,246,255,.96);box-shadow:0 14px 28px -24px rgba(14,165,233,.35)}.classroom-page .workspace-sidebar.is-sticky-active{position:sticky;top:var(--discussion-sidebar-top,16px);height:var(--discussion-sidebar-height,auto)}.classroom-page .discussion-room{grid-template-rows:auto minmax(var(--discussion-body-min-height,100px),1fr) auto;min-height:auto;height:auto;max-height:none}.classroom-page .discussion-room-body{min-height:var(--discussion-body-min-height,100px)}.classroom-page .chat-messages{min-height:100px}.classroom-page .discussion-room.is-sticky-active{height:100%}.classroom-page .discussion-room.is-sticky-active .discussion-room-composer{position:sticky;bottom:0;z-index:3}@media (max-width:1380px){.classroom-page .embedded-teaching-plan-shell{grid-template-columns:1fr}.classroom-page .teaching-task-list{max-height:15rem}}@media (max-width:1120px){.classroom-page .workspace-sidebar.is-sticky-active{position:static;top:auto;height:auto}.classroom-page .discussion-room.is-sticky-active .discussion-room-composer{position:relative;bottom:auto}}@media (max-width:768px){.classroom-page .embedded-teaching-plan-head,.classroom-page .embedded-teaching-plan-stats,.classroom-page .teaching-plan-focus-bar,.classroom-page .teaching-task-item-top,.classroom-page .teaching-task-list-head,.classroom-page .teaching-timeline-detail-top{flex-direction:column;align-items:flex-start}.classroom-page .embedded-teaching-plan{padding:1rem}.classroom-page .teaching-timeline-scroll{padding-inline:.75rem}.classroom-page .teaching-timeline-segment{flex-basis:12.5rem}.classroom-page .teaching-task-list-caption{text-align:left}}.classroom-page .workspace-hero{display:flex;flex-direction:column;gap:.85rem;padding:clamp(1rem,1.6vw,1.2rem)}.classroom-page .workspace-hero-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(380px,.92fr);gap:1rem;align-items:start}.classroom-page .workspace-hero-main{padding:0;gap:.75rem;min-height:172px}.classroom-page .workspace-hero-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.classroom-page .workspace-hero-copy{flex:1;min-width:0;gap:.58rem}.classroom-page .workspace-hero-toolbar{display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.classroom-page .workspace-hero-toolbar-pill{display:inline-flex;align-items:center;padding:.36rem .72rem;border-radius:999px;border:1px solid rgba(14,165,233,.16);background:rgba(224,242,254,.82);color:#0369a1;font-size:.74rem;font-weight:700;white-space:nowrap}.classroom-page #hero-info-card .hero-desc-expand-btn{margin-top:0;padding:.42rem .78rem;background:rgba(15,23,42,.9);color:#f8fafc;box-shadow:0 14px 30px -24px rgba(15,23,42,.82)}.classroom-page .workspace-hero h1{margin-bottom:.4rem;font-size:1.82rem}.classroom-page .workspace-kicker,.classroom-page .workspace-role-pill{padding:.32rem .64rem;font-size:.72rem}.classroom-page .workspace-hero-lead{max-width:60ch;font-size:.92rem;line-height:1.62}.classroom-page #hero-info-card .hero-desc-expand-btn:hover{background:rgba(30,41,59,.96);color:#fff}.classroom-page .workspace-hero-bottom{gap:.75rem}.classroom-page .workspace-hero-nav{gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.classroom-page .workspace-hero-nav-link{min-height:3.9rem;padding:.68rem .78rem;gap:.12rem;justify-content:space-between;background:hsla(0,0%,100%,.7)}.classroom-page .workspace-hero-nav-link span{font-size:.86rem}.classroom-page .workspace-hero-nav-link small{font-size:.72rem;line-height:1.3}.classroom-page .workspace-hero-aside{grid-template-columns:minmax(152px,176px) minmax(0,1fr);grid-template-areas:"stats spotlight"}.classroom-page .workspace-spotlight-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);grid-area:spotlight;gap:.8rem;border-radius:1.15rem}.classroom-page .workspace-spotlight-head{gap:.55rem}.classroom-page .workspace-spotlight-label{font-size:.74rem}.classroom-page .workspace-spotlight-suffix{font-size:.9rem}.classroom-page .workspace-spotlight-note{font-size:.84rem;line-height:1.55}.classroom-page .workspace-spotlight-highlights{gap:.5rem}.classroom-page .workspace-spotlight-highlight{padding:.56rem .6rem;border-radius:.9rem}.classroom-page .workspace-spotlight-highlight span{font-size:.72rem}.classroom-page .workspace-spotlight-highlight strong{font-size:.92rem}.classroom-page .embedded-teaching-plan{gap:.8rem;padding:.98rem 1.02rem 1.02rem;border-radius:1.15rem}.classroom-page .embedded-teaching-plan-heading h2{margin:.22rem 0 .18rem;font-size:1.06rem}.classroom-page .embedded-teaching-plan-subtitle{max-width:70ch;font-size:.82rem;line-height:1.55}.classroom-page .embedded-teaching-plan-stats{gap:.45rem}.classroom-page .embedded-teaching-plan-stats span{padding:.28rem .6rem;font-size:.74rem}.classroom-page .embedded-teaching-plan-shell{grid-template-columns:1fr;gap:0}.classroom-page .embedded-teaching-plan-main.is-full{display:grid;gap:.78rem}.classroom-page .teaching-timeline-stage{position:relative;display:grid;gap:.78rem;--timeline-projector-left:50%;--timeline-projector-top:0px;--timeline-projector-height:1.4rem}.classroom-page .teaching-timeline-projector{position:absolute;left:var(--timeline-projector-left);top:var(--timeline-projector-top);width:0;height:var(--timeline-projector-height);transform:translateX(-50%);pointer-events:none;z-index:0}.classroom-page .teaching-timeline-projector:before{content:"";position:absolute;top:-.36rem;left:50%;width:1rem;height:1rem;border-radius:999px;transform:translateX(-50%);background:radial-gradient(circle at 35% 35%,hsla(0,0%,100%,.98),rgba(125,211,252,.72) 42%,rgba(14,165,233,.08) 76%,transparent 100%);box-shadow:0 0 0 .2rem rgba(14,165,233,.08)}.classroom-page .teaching-timeline-projector:after{content:"";position:absolute;top:.28rem;left:50%;width:2px;height:100%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(14,165,233,.32),rgba(14,165,233,.06) 72%,transparent);box-shadow:0 0 18px rgba(14,165,233,.14)}.classroom-page .teaching-timeline-scroll{position:relative;z-index:1;padding:.2rem max(.85rem,calc(50% - 7rem)) .42rem;scroll-behavior:auto;scroll-snap-type:none;scrollbar-gutter:auto;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;will-change:scroll-position}.classroom-page .teaching-timeline-scroll::-webkit-scrollbar{display:none}.classroom-page .teaching-timeline-stage:after,.classroom-page .teaching-timeline-stage:before{content:"";position:absolute;top:.15rem;width:5.5rem;height:7.25rem;z-index:2;pointer-events:none}.classroom-page .teaching-timeline-stage:before{left:0;background:linear-gradient(90deg,rgba(248,250,252,.98),rgba(248,250,252,0))}.classroom-page .teaching-timeline-stage:after{right:0;background:linear-gradient(270deg,rgba(248,250,252,.98),rgba(248,250,252,0))}.classroom-page .teaching-timeline-nav-btn{position:absolute;top:3.35rem;z-index:4;width:2.55rem;height:2.55rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.9));color:var(--text-primary);box-shadow:0 18px 30px -24px rgba(15,23,42,.42),inset 0 1px 0 hsla(0,0%,100%,.86);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,opacity .16s ease}.classroom-page .teaching-timeline-nav-btn.is-prev{left:.45rem}.classroom-page .teaching-timeline-nav-btn.is-next{right:.45rem}.classroom-page .teaching-timeline-nav-btn:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(14,165,233,.38);background:linear-gradient(180deg,#fff,rgba(239,246,255,.98))}.classroom-page .teaching-timeline-nav-btn:active:not(:disabled){transform:translateY(0) scale(.96)}.classroom-page .teaching-timeline-nav-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.classroom-page .teaching-timeline-scroll.is-settling .teaching-timeline-track{pointer-events:none}.classroom-page .teaching-timeline-track{gap:.74rem;padding-bottom:.12rem}.classroom-page .teaching-timeline-segment{--timeline-card-lift:0px;--timeline-card-scale:1;--timeline-card-focus:0;flex-basis:13.5rem;min-height:6.35rem;gap:.5rem;padding:.76rem .82rem .88rem;border-radius:1rem;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.96));box-shadow:0 16px 32px -28px rgba(15,23,42,.2);scroll-snap-align:none;transform:translateY(var(--timeline-card-lift)) scale(var(--timeline-card-scale));transform-origin:center bottom;will-change:transform;transition:transform .12s cubic-bezier(.2,.85,.28,1),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.classroom-page .teaching-timeline-segment.is-selected,.classroom-page .teaching-timeline-segment:hover{transform:translateY(var(--timeline-card-lift)) scale(var(--timeline-card-scale))}.classroom-page .teaching-timeline-segment.is-selected{--timeline-card-lift:-2.4px;--timeline-card-scale:1.022}.classroom-page .teaching-timeline-segment.is-home-entry{border-color:rgba(13,148,136,.3);background:radial-gradient(circle at top right,rgba(20,184,166,.14),transparent 44%),linear-gradient(135deg,rgba(240,253,250,.98),hsla(0,0%,100%,.98))}.classroom-page .teaching-timeline-segment:after{content:"";position:absolute;left:50%;bottom:-.7rem;width:3.8rem;height:1rem;border-radius:999px;transform:translateX(-50%) scale(.72);opacity:0;pointer-events:none;transition:opacity .24s ease,transform .24s ease;background:radial-gradient(circle at center,rgba(14,165,233,.22),rgba(14,165,233,.05) 58%,transparent 76%)}.classroom-page .teaching-timeline-segment-order{padding:0;background:none;color:#0369a1;font-size:.73rem;letter-spacing:.03em}.classroom-page .teaching-timeline-segment-title{font-size:.88rem;line-height:1.42}.classroom-page .teaching-timeline-segment-tags{display:none}.classroom-page .teaching-timeline-segment.is-academic-schedule{border-color:rgba(20,184,166,.28);background:linear-gradient(180deg,rgba(240,253,250,.98),hsla(0,0%,100%,.95))}.classroom-page .teaching-timeline-segment.is-non-periodic{border-color:rgba(249,115,22,.32)}.classroom-page .teaching-timeline-segment.is-academic-schedule .teaching-timeline-segment-tags,.classroom-page .teaching-timeline-segment.is-non-periodic .teaching-timeline-segment-tags{display:flex;flex-wrap:wrap;gap:.32rem}.classroom-page .teaching-timeline-segment-doc{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.12rem .42rem;border-radius:999px;background:rgba(14,165,233,.12);color:#0369a1;font-size:.66rem;font-weight:700;line-height:1.35}.classroom-page .teaching-timeline-segment-doc.is-academic{background:rgba(20,184,166,.14);color:#0f766e}.classroom-page .teaching-timeline-segment-doc.is-shifted{background:rgba(249,115,22,.14);color:#c2410c}.classroom-page .teaching-timeline-segment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem .72rem;margin-top:auto;color:var(--text-muted);font-size:.74rem;line-height:1.45}.classroom-page .teaching-timeline-segment-meta>span{display:none}.classroom-page .teaching-timeline-segment-meta:after,.classroom-page .teaching-timeline-segment-meta:before{display:inline-flex;align-items:center;color:inherit;font-size:inherit;font-weight:600}.classroom-page .teaching-timeline-segment-meta:before{content:attr(data-weekday-label)}.classroom-page .teaching-timeline-segment-meta:after{content:attr(data-relative-date-label)}.classroom-page .teaching-timeline-detail-card{position:relative;z-index:1;gap:.76rem;padding:.92rem .96rem .96rem;border-radius:1.05rem;background:linear-gradient(180deg,hsla(0,0%,100%,.99),rgba(248,250,252,.98));box-shadow:0 20px 40px -34px rgba(15,23,42,.32)}.classroom-page .teaching-timeline-detail-card.is-switching{animation:teaching-timeline-detail-switch .28s cubic-bezier(.2,.85,.28,1)}.classroom-page .teaching-timeline-detail-card:before{content:"";position:absolute;top:-.58rem;left:var(--timeline-projector-local-left,50%);width:6.4rem;height:1.3rem;transform:translateX(-50%);pointer-events:none;background:radial-gradient(circle at center,rgba(14,165,233,.18),rgba(14,165,233,.05) 58%,transparent 76%)}.classroom-page .teaching-timeline-detail-heading{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.classroom-page .teaching-timeline-detail-copy{display:grid;gap:.34rem;flex:1;min-width:0}.classroom-page .teaching-timeline-detail-kicker{padding:.22rem .46rem;border-radius:999px;background:rgba(224,242,254,.92);letter-spacing:.05em}.classroom-page .teaching-timeline-detail-status{padding:.28rem .62rem;font-size:.72rem}.classroom-page .teaching-timeline-detail-actions{align-items:center;justify-content:flex-end;margin-left:auto}.classroom-page .teaching-timeline-detail-actions .btn-ai-assistant{position:relative;border-color:rgba(14,165,233,.28);color:#075985;background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(236,253,245,.92));box-shadow:0 10px 22px -20px rgba(14,165,233,.78)}.classroom-page .teaching-timeline-detail-actions .btn-ai-assistant:hover:not(:disabled){border-color:rgba(14,165,233,.42);color:#0c4a6e;background:linear-gradient(135deg,#e0f2fe,rgba(220,252,231,.94))}.classroom-page .teaching-timeline-detail-actions .btn-ai-assistant.is-busy,.classroom-page .teaching-timeline-detail-actions .btn-ai-assistant:disabled{border-color:rgba(14,116,144,.2);color:#ecfeff;background:linear-gradient(135deg,rgba(14,116,144,.96),rgba(15,118,110,.96));box-shadow:0 18px 30px -24px rgba(13,148,136,.72);cursor:wait}.classroom-page .teaching-timeline-detail-actions .btn-ai-assistant.is-busy:before,.classroom-page .teaching-timeline-detail-actions .btn-ai-assistant:disabled:before{content:"";display:inline-block;width:.78rem;height:.78rem;margin-right:.42rem;border-radius:999px;border:2px solid rgba(236,254,255,.34);border-top-color:rgba(236,254,255,.95);vertical-align:-.12rem;animation:classroom-ai-task-spin .9s linear infinite}.classroom-page .teaching-timeline-material-panel{align-items:center;gap:.9rem;padding:.84rem .92rem;border-radius:1rem}.classroom-page .teaching-timeline-material-copy{flex:1 1 19rem}.classroom-page .teaching-timeline-material-copy strong{font-size:.94rem}.classroom-page .teaching-timeline-material-copy span{font-size:.8rem;line-height:1.55}.classroom-page .teaching-timeline-material-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin-left:auto}.classroom-page .teaching-timeline-ai-task-strip{display:flex;align-items:center;gap:.7rem;padding:.72rem .85rem;border-radius:.95rem;border:1px solid rgba(56,189,248,.18);background:linear-gradient(135deg,rgba(240,249,255,.96),rgba(240,253,250,.9))}.classroom-page .teaching-timeline-ai-task-strip.is-hidden{display:none}.classroom-page .teaching-timeline-ai-task-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:4.8rem;padding:.28rem .56rem;border-radius:999px;background:rgba(14,116,144,.12);color:#0f766e;font-size:.75rem;font-weight:700}.classroom-page .teaching-timeline-ai-task-copy{color:var(--text-secondary);font-size:.84rem;line-height:1.55}.classroom-page .teaching-timeline-open-material-btn{display:flex;align-items:center;justify-content:space-between;gap:.9rem;min-width:15rem;padding:.82rem 1rem;border:none;border-radius:.98rem;background:linear-gradient(135deg,#0f766e,#0369a1);color:#f8fafc;font:inherit;box-shadow:0 18px 34px -26px rgba(3,105,161,.72);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.classroom-page .teaching-timeline-open-home-btn{min-width:10.5rem;background:linear-gradient(135deg,#047857,#0f766e)}.classroom-page .teaching-timeline-open-material-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 38px -26px rgba(3,105,161,.84);filter:saturate(1.05)}.classroom-page .teaching-timeline-open-material-btn:disabled{cursor:not-allowed;background:linear-gradient(135deg,rgba(148,163,184,.94),rgba(100,116,139,.9));box-shadow:none;color:#e2e8f0}.classroom-page .teaching-timeline-open-material-btn:disabled small{color:rgba(226,232,240,.86)}.classroom-page .teaching-timeline-open-material-copy{display:grid;gap:.14rem;text-align:left}.classroom-page .teaching-timeline-open-material-copy>span{font-size:.95rem;font-weight:700}.classroom-page .teaching-timeline-open-material-copy small{font-size:.74rem;line-height:1.35;color:rgba(240,249,255,.9)}.session-material-ai-modal{overflow:hidden;border:1px solid rgba(148,163,184,.14);background:radial-gradient(circle at top right,rgba(186,230,253,.42),transparent 32%),radial-gradient(circle at bottom left,rgba(167,243,208,.28),transparent 34%),linear-gradient(180deg,hsla(0,0%,100%,.99),rgba(248,250,252,.98))}.session-material-ai-modal-header{border-bottom:1px solid rgba(226,232,240,.86)}.session-material-ai-body{display:grid;gap:1rem}.session-material-ai-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border-radius:1rem;background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(240,253,250,.9));border:1px solid rgba(125,211,252,.24)}.session-material-ai-hero-copy{display:grid;gap:.38rem;min-width:0}.session-material-ai-hero-copy strong{color:var(--text-primary);font-size:1.02rem}.session-material-ai-hero-copy p{color:var(--text-secondary);margin:0;line-height:1.6}.session-material-ai-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.2rem .54rem;border-radius:999px;background:rgba(2,132,199,.12);color:#0369a1;font-size:.76rem;font-weight:700;letter-spacing:.04em}.session-material-ai-hero-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.session-material-ai-badge{display:inline-flex;align-items:center;padding:.34rem .68rem;border-radius:999px;background:rgba(15,118,110,.12);color:#0f766e;font-size:.76rem;font-weight:600}.session-material-ai-badge.is-soft{background:rgba(148,163,184,.12);color:#475569}.session-material-ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.session-material-ai-main,.session-material-ai-side{display:grid;gap:.95rem}.session-material-ai-flow-card{display:grid;gap:.95rem;padding:1.05rem;border-radius:1.15rem;background:hsla(0,0%,100%,.94);border:1px solid rgba(226,232,240,.92);box-shadow:0 22px 40px -34px rgba(15,23,42,.48)}.session-material-ai-flow-card.is-auto{background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(240,249,255,.96));border-color:rgba(186,230,253,.8)}.session-material-ai-flow-head{display:grid;gap:.35rem}.session-material-ai-flow-head strong{color:var(--text-primary);font-size:1rem}.session-material-ai-flow-head p{margin:0;color:var(--text-secondary);line-height:1.65}.session-material-ai-flow-eyebrow{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.24rem .62rem;border-radius:999px;background:rgba(2,132,199,.1);color:#0369a1;font-size:.75rem;font-weight:700;letter-spacing:.04em}.session-material-ai-flow-card.is-auto .session-material-ai-flow-eyebrow{background:rgba(15,118,110,.12);color:#0f766e}.session-material-ai-tip-card,.session-material-ai-upload-card{display:grid;gap:.8rem;padding:1rem;border-radius:1rem;background:hsla(0,0%,100%,.92);border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 36px -34px rgba(15,23,42,.46)}.session-material-ai-tip-card,.session-material-ai-upload-copy{color:var(--text-secondary);line-height:1.62}.session-material-ai-tip-card strong,.session-material-ai-upload-copy strong{display:block;margin-bottom:.25rem;color:var(--text-primary)}.session-material-ai-tip-card p,.session-material-ai-upload-copy p{margin:0}.session-material-ai-file-list{display:grid;gap:.6rem;max-height:16rem;overflow-y:auto}.session-material-ai-empty{padding:.9rem;border-radius:.9rem;background:rgba(248,250,252,.92);border:1px dashed rgba(148,163,184,.48);color:var(--text-muted);text-align:center;font-size:.86rem}.session-material-ai-file-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.8rem .86rem;border-radius:.95rem;background:rgba(248,250,252,.92);border:1px solid rgba(226,232,240,.86)}.session-material-ai-file-meta{display:grid;gap:.18rem;min-width:0}.session-material-ai-file-meta span,.session-material-ai-file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-material-ai-file-meta strong{color:var(--text-primary);font-size:.9rem}.session-material-ai-file-meta span{color:var(--text-muted);font-size:.8rem}.session-material-ai-file-remove{flex:0 0 auto;border:none;border-radius:999px;background:rgba(239,68,68,.08);color:#b91c1c;font-weight:700;cursor:pointer;padding:.38rem .7rem}.session-material-ai-file-remove:hover{background:rgba(239,68,68,.14)}.session-material-ai-flow-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:.1rem}.session-material-ai-flow-note{color:var(--text-secondary);font-size:.84rem;line-height:1.62}.session-material-ai-auto-summary{align-content:start;min-height:100%}.session-material-ai-footer{align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(226,232,240,.86)}.session-material-ai-footer-copy{color:var(--text-secondary);font-size:.86rem;line-height:1.6;max-width:35rem}.session-material-ai-actions{flex-wrap:wrap;justify-content:flex-end}@keyframes classroom-ai-task-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes teaching-timeline-detail-switch{0%{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.classroom-page .teaching-timeline-segment.is-selected:after{opacity:1;transform:translateX(-50%) scale(1)}@media (max-width:1280px){.classroom-page .workspace-hero-grid{grid-template-columns:1fr}.classroom-page .workspace-hero-aside{grid-template-columns:1fr;grid-template-areas:none}.classroom-page .workspace-hero-toolbar{justify-content:flex-start}}@media (max-width:768px){.classroom-page .embedded-teaching-plan-head,.classroom-page .teaching-timeline-detail-top,.classroom-page .workspace-hero-toolbar,.classroom-page .workspace-hero-topbar{flex-direction:column;align-items:flex-start}.classroom-page .embedded-teaching-plan{padding:1rem}.classroom-page .workspace-spotlight-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .teaching-timeline-scroll{padding-inline:max(.8rem,calc(50% - 6.6rem))}.classroom-page .teaching-timeline-segment{flex-basis:13.25rem}.classroom-page .teaching-timeline-nav-btn{top:3.2rem;width:2.35rem;height:2.35rem}.classroom-page .teaching-timeline-nav-btn.is-prev{left:.25rem}.classroom-page .teaching-timeline-nav-btn.is-next{right:.25rem}.classroom-page .teaching-timeline-detail-card:before,.classroom-page .teaching-timeline-projector{display:none}.classroom-page .teaching-timeline-detail-actions,.classroom-page .teaching-timeline-material-actions{width:100%;margin-left:0}.classroom-page .teaching-timeline-ai-task-strip,.session-material-ai-flow-foot,.session-material-ai-footer,.session-material-ai-grid,.session-material-ai-hero{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.classroom-page .teaching-timeline-open-material-btn{width:100%;min-width:0}}@media (max-width:560px){.classroom-page .workspace-spotlight-highlights{grid-template-columns:1fr}.classroom-page .teaching-timeline-segment{flex-basis:12.4rem}.classroom-page .teaching-timeline-stage:after,.classroom-page .teaching-timeline-stage:before{width:3.75rem}}.classroom-page [data-workspace-section]{scroll-margin-top:92px;transition:border-color .24s ease,box-shadow .32s ease,background-color .32s ease}.classroom-page .workspace-hero-nav-link{transition:transform .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .26s ease}.classroom-page .workspace-hero-nav-link small{transition:color .22s ease}.classroom-page .workspace-hero-nav-link:hover{transform:translateY(-2px);border-color:rgba(14,165,233,.2);background:rgba(248,250,252,.98);box-shadow:0 18px 38px -32px rgba(14,165,233,.35)}.classroom-page .workspace-hero-nav-link.is-active{border-color:rgba(14,165,233,.3);background:linear-gradient(135deg,rgba(239,246,255,.98),hsla(0,0%,100%,.96));box-shadow:0 18px 42px -32px rgba(14,165,233,.44)}.classroom-page .workspace-hero-nav-link.is-active small{color:rgba(15,23,42,.78)}.classroom-page [data-workspace-section].is-nav-spotlight{border-color:rgba(14,165,233,.34);box-shadow:0 0 0 1px rgba(125,211,252,.18),0 30px 58px -38px rgba(14,165,233,.58)}.classroom-page :is(#assignment-panel,#materials-panel,#resources-panel,#discussion-room).is-nav-spotlight{background:linear-gradient(180deg,hsla(0,0%,100%,.985),rgba(240,249,255,.98)),#fff}.classroom-page #timeline-panel.is-nav-spotlight{background:radial-gradient(circle at top right,rgba(14,165,233,.18),transparent 38%),linear-gradient(135deg,rgba(239,246,255,.98),hsla(0,0%,100%,.96))}@media (prefers-reduced-motion:no-preference){.classroom-page [data-workspace-section].is-nav-spotlight{animation:workspace-section-spotlight 1.45s cubic-bezier(.22,1,.36,1)}}@keyframes workspace-section-spotlight{0%{box-shadow:0 0 0 0 rgba(125,211,252,0),0 18px 38px -34px rgba(14,165,233,.18)}38%{box-shadow:0 0 0 3px rgba(125,211,252,.18),0 34px 62px -34px rgba(14,165,233,.56)}to{box-shadow:0 0 0 1px rgba(125,211,252,.18),0 30px 58px -38px rgba(14,165,233,.58)}}@media (max-width:768px){.classroom-page [data-workspace-section]{scroll-margin-top:84px}}.classroom-page .workspace-hero{gap:.95rem}.classroom-page .workspace-hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);align-items:stretch}.classroom-page .workspace-hero-main{align-content:stretch;min-height:15.5rem;padding:1rem;border-radius:1.15rem;background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.86));border:1px solid rgba(148,163,184,.14)}.classroom-page #hero-info-card{cursor:default;padding:1rem;border-radius:1.15rem}.classroom-page #hero-info-card:hover{background-color:transparent}.classroom-page .workspace-hero-commandbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.classroom-page .workspace-hero-title-block{gap:.58rem}.classroom-page .workspace-hero h1{font-size:2rem;line-height:1.18}.classroom-page .workspace-hero-lead{max-width:62ch;font-size:.95rem;line-height:1.65}.classroom-page .workspace-hero-primary-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.72rem;margin-top:auto}.classroom-page .workspace-hero-meta-card{display:grid;gap:.22rem;min-height:4.25rem;padding:.82rem .9rem;border-radius:.96rem;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.78)}.classroom-page .workspace-hero-meta-card span{color:var(--text-muted);font-size:.76rem;font-weight:700}.classroom-page .workspace-hero-meta-card strong{min-width:0;color:var(--text-primary);font-size:.98rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .workspace-hero-aside{display:grid;grid-template-columns:1fr;grid-template-areas:none;gap:.8rem;align-self:stretch}.classroom-page .workspace-spotlight-card{grid-area:auto;gap:.78rem;padding:1rem 1.05rem;border-radius:1.08rem;border:1px solid rgba(14,165,233,.16);background:linear-gradient(135deg,rgba(240,249,255,.98),rgba(240,253,250,.92));color:var(--text-primary);box-shadow:0 18px 32px -30px rgba(14,165,233,.28)}.classroom-page .workspace-spotlight-highlight span,.classroom-page .workspace-spotlight-label,.classroom-page .workspace-spotlight-note,.classroom-page .workspace-spotlight-suffix{color:var(--text-secondary)}.classroom-page .workspace-spotlight-highlight strong,.classroom-page .workspace-spotlight-value{color:var(--text-primary)}.classroom-page .workspace-spotlight-value{font-size:2.45rem;letter-spacing:0}.classroom-page .workspace-spotlight-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-page .workspace-spotlight-highlight{border-color:rgba(14,165,233,.12);background:hsla(0,0%,100%,.72)}.classroom-page .workspace-classroom-card{display:grid;gap:.78rem;padding:.95rem 1rem;border-radius:1.08rem;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.82)}.classroom-page .workspace-classroom-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.classroom-page .workspace-classroom-card-head>span{color:var(--text-primary);font-size:.9rem;font-weight:800}.classroom-page .workspace-classroom-detail-btn{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:rgba(248,250,252,.96);color:var(--text-secondary);font:inherit;font-size:.76rem;font-weight:700;padding:.26rem .62rem;white-space:nowrap;cursor:pointer}.classroom-page #hero-info-card .hero-desc-expand-btn{display:inline-flex;align-items:center;gap:.38rem;border:1px solid rgba(15,23,42,.08);white-space:nowrap}.classroom-page #hero-info-card .hero-desc-expand-btn svg,.classroom-page .workspace-classroom-detail-btn svg{flex:0 0 auto}.classroom-page #hero-info-card .hero-desc-expand-btn:hover svg{transform:none}.classroom-page .workspace-classroom-detail-btn:hover{border-color:rgba(14,165,233,.28);color:#0369a1}.classroom-page #hero-info-card .hero-desc-expand-btn:focus-visible,.classroom-page .workspace-classroom-detail-btn:focus-visible,.course-popover-close:focus-visible{outline:2px solid rgba(14,165,233,.42);outline-offset:2px}.classroom-page .workspace-classroom-info-list{display:grid;gap:.5rem}.classroom-page .workspace-classroom-info-list article{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.65rem;align-items:start;min-width:0}.classroom-page .workspace-classroom-info-list span{color:var(--text-muted);font-size:.76rem;font-weight:700}.classroom-page .workspace-classroom-info-list strong{min-width:0;color:var(--text-primary);font-size:.86rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .workspace-classroom-note{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.62;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-popover-card:focus{outline:none}.course-popover-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.75rem,1fr));gap:.72rem}.course-popover-stat-card{display:grid;gap:.28rem;min-height:5.45rem;padding:.82rem .9rem;border-radius:.95rem;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.9)}.course-popover-stat-card[data-tone=primary]{border-color:rgba(14,165,233,.2);background:linear-gradient(135deg,rgba(240,249,255,.98),hsla(0,0%,100%,.92))}.course-popover-stat-card[data-tone=success]{border-color:rgba(34,197,94,.18);background:linear-gradient(135deg,rgba(240,253,244,.98),hsla(0,0%,100%,.92))}.course-popover-stat-card[data-tone=warning]{border-color:rgba(245,158,11,.2);background:linear-gradient(135deg,rgba(255,251,235,.98),hsla(0,0%,100%,.92))}.course-popover-stat-card .stat-label,.course-popover-stat-card .stat-note{color:var(--text-muted);font-size:.74rem;line-height:1.3}.course-popover-stat-card .stat-label{font-weight:700}.course-popover-stat-card .stat-value{color:var(--text-primary);font-size:1.35rem;line-height:1}@media (max-width:1280px){.classroom-page .workspace-hero-grid{grid-template-columns:1fr}.classroom-page .workspace-hero-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:768px){.classroom-page .workspace-hero-commandbar{flex-direction:column;align-items:flex-start}.classroom-page .workspace-hero-main{min-height:auto;padding:.95rem}.classroom-page .workspace-hero h1{font-size:1.55rem;line-height:1.25}.classroom-page .workspace-hero-aside,.classroom-page .workspace-hero-primary-meta,.classroom-page .workspace-spotlight-highlights{grid-template-columns:1fr}.classroom-page .workspace-hero-meta-card{min-height:auto}.classroom-page .workspace-classroom-info-list article{grid-template-columns:4rem minmax(0,1fr)}}.classroom-page .workspace-hero{gap:.72rem;padding:clamp(.95rem,1.5vw,1.25rem)}.classroom-page .workspace-hero-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;min-height:auto;border:0}.classroom-page #hero-info-card,.classroom-page .workspace-hero-main{padding:.15rem 0 .7rem;border-radius:0;background:transparent}.classroom-page #hero-info-card:hover{background:transparent}.classroom-page .workspace-hero-title-block{gap:.42rem;align-content:end}.classroom-page .workspace-hero-classline{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.84rem;font-weight:700}.classroom-page .workspace-hero-classitem{display:inline-flex;align-items:center;gap:.36rem;min-width:0}.classroom-page .workspace-hero-classitem svg{color:#0e7490;flex:0 0 auto}.classroom-page .workspace-hero h1{color:var(--text-primary);font-size:1.95rem;line-height:1.14;letter-spacing:0}.classroom-page .workspace-hero-lead{max-width:68ch;color:var(--text-secondary);font-size:.94rem;line-height:1.58}.classroom-page .workspace-hero-actions{gap:.55rem}.classroom-page .workspace-hero-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.35rem;padding:.48rem .78rem;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:hsla(0,0%,100%,.78);color:var(--text-secondary);font:inherit;font-size:.82rem;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 12px 24px -22px rgba(15,23,42,.32);transition:transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.classroom-page .workspace-hero-action-btn.is-stat{border-color:rgba(14,165,233,.24);background:rgba(240,249,255,.88);color:#0369a1}.classroom-page .workspace-hero-action-btn:hover{transform:translateY(-1px);border-color:rgba(14,165,233,.34);color:#0369a1;background:hsla(0,0%,100%,.96)}.classroom-page .workspace-hero-action-btn:focus-visible,.course-popover-close:focus-visible{outline:2px solid rgba(14,165,233,.42);outline-offset:2px}.classroom-page .workspace-hero-action-btn svg{flex:0 0 auto}.classroom-page .workspace-hero-bottom{display:grid;gap:.72rem}.classroom-page .embedded-teaching-plan{margin-top:0;padding:.92rem 1rem 1rem;border-radius:1.12rem}.classroom-page .embedded-teaching-plan-head{align-items:center;margin-bottom:0}.classroom-page .embedded-teaching-plan-heading h2{margin:0;font-size:1.04rem;line-height:1.25}.classroom-page .workspace-hero-nav{grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:.5rem}.classroom-page .workspace-hero-nav-link{min-height:3.25rem;padding:.6rem .72rem;gap:.08rem;border-radius:.86rem}.course-popover-panel{display:grid;gap:1.05rem}.course-popover-panel[hidden]{display:none}.course-popover-empty{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.65}.course-popover-stat-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}@media (max-width:960px){.classroom-page .workspace-hero-main{grid-template-columns:1fr;align-items:start}.classroom-page .workspace-hero-actions{justify-content:flex-start}}@media (max-width:560px){.classroom-page .workspace-hero{padding:.9rem}.classroom-page .workspace-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.classroom-page .workspace-hero-action-btn{width:100%;padding-inline:.55rem}}.classroom-page .workspace-floating-nav{position:fixed;right:max(24px,calc(env(safe-area-inset-right) + 18px));bottom:max(96px,calc(env(safe-area-inset-bottom) + 88px));z-index:995;display:flex;grid-template-columns:none;flex-direction:column;align-items:center;gap:.68rem;width:auto;padding:.44rem;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:hsla(0,0%,100%,.84);box-shadow:0 20px 38px -30px rgba(15,23,42,.46),inset 0 0 0 1px hsla(0,0%,100%,.7);opacity:.88;transform:translateZ(0);transition:opacity .22s ease,transform .22s ease,box-shadow .26s ease}@supports ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){.classroom-page .workspace-floating-nav{background:hsla(0,0%,100%,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.classroom-page .workspace-floating-nav:focus-within,.classroom-page .workspace-floating-nav:hover{opacity:1;transform:translateY(-2px);box-shadow:0 24px 42px -30px rgba(15,23,42,.5),inset 0 0 0 1px hsla(0,0%,100%,.82)}.classroom-page .workspace-floating-nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;min-height:0;padding:0;border:1px solid rgba(148,163,184,.18);border-radius:50%;background:radial-gradient(circle at 34% 24%,hsla(0,0%,100%,.96),hsla(0,0%,100%,.28) 42%,transparent 68%),linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(241,245,249,.94));color:var(--text-secondary);box-shadow:0 12px 24px -20px rgba(15,23,42,.48);overflow:visible;transition:transform .2s ease,border-color .2s ease,background .22s ease,color .2s ease,box-shadow .24s ease}.classroom-page .workspace-floating-nav-link:before{content:"";position:absolute;inset:-9px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(14,165,233,.28),rgba(14,165,233,.12) 42%,transparent 72%);opacity:0;transform:scale(.74);transition:opacity .22s ease,transform .24s ease}.classroom-page.role-teacher .workspace-floating-nav-link:before{background:radial-gradient(circle,rgba(16,185,129,.28),rgba(45,212,191,.12) 42%,transparent 72%)}.classroom-page .workspace-floating-nav-link:after{content:attr(data-tooltip);position:absolute;top:50%;right:calc(100% + .72rem);max-width:min(15rem,calc(100vw - 7rem));padding:.48rem .68rem;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:rgba(15,23,42,.92);color:#fff;font-size:.78rem;font-weight:700;line-height:1.2;white-space:nowrap;box-shadow:0 18px 32px -22px rgba(15,23,42,.48);opacity:0;pointer-events:none;transform:translate(.35rem,-50%) scale(.96);transition:opacity .16s ease,transform .19s ease}.classroom-page .workspace-floating-nav-link:focus-visible,.classroom-page .workspace-floating-nav-link:hover{color:var(--classroom-accent);border-color:var(--classroom-accent-strong);background:radial-gradient(circle at 34% 22%,hsla(0,0%,100%,.98),hsla(0,0%,100%,.34) 44%,transparent 70%),linear-gradient(135deg,rgba(240,249,255,.98),hsla(0,0%,100%,.96));box-shadow:0 16px 28px -20px rgba(14,165,233,.55),inset 0 0 0 1px hsla(0,0%,100%,.74);transform:translateX(-3px) scale(1.06)}.classroom-page .workspace-floating-nav-link.is-active:before,.classroom-page .workspace-floating-nav-link:focus-visible:before,.classroom-page .workspace-floating-nav-link:hover:before{opacity:1;transform:scale(1)}.classroom-page .workspace-floating-nav-link:focus-visible:after,.classroom-page .workspace-floating-nav-link:hover:after{opacity:1}.classroom-page .workspace-floating-nav-link.is-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--classroom-accent),#0ea5e9);box-shadow:0 18px 30px -22px rgba(14,165,233,.72),inset 0 0 0 1px hsla(0,0%,100%,.28)}.classroom-page.role-teacher .workspace-floating-nav-link.is-active{background:linear-gradient(135deg,var(--classroom-accent),#0d9488)}.classroom-page .workspace-floating-nav-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;font-size:0;line-height:1}.classroom-page .workspace-floating-nav-icon svg{width:100%;height:100%;flex:0 0 auto}.classroom-page .workspace-floating-nav-label,.classroom-page .workspace-floating-nav-link small{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.classroom-page .workspace-floating-nav-link:focus-visible{outline:2px solid rgba(14,165,233,.42);outline-offset:4px}.classroom-page [data-workspace-section].is-nav-spotlight{border-color:rgba(14,165,233,.46);box-shadow:0 0 0 1px rgba(125,211,252,.28),0 0 0 7px rgba(14,165,233,.09),0 34px 64px -36px rgba(14,165,233,.62)}.classroom-page .semester-todo-panel{display:grid;gap:.8rem;padding:.9rem;border-radius:12px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.96)),linear-gradient(135deg,rgba(14,165,233,.08),rgba(20,184,166,.08),rgba(245,158,11,.07));box-shadow:0 18px 38px -34px rgba(15,23,42,.32)}.classroom-page .semester-todo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.classroom-page .semester-todo-heading{display:grid;gap:.25rem;min-width:0}.classroom-page .semester-todo-eyebrow{color:#0f766e;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.classroom-page .semester-todo-heading h3{margin:0;color:var(--text-primary);font-size:1rem;line-height:1.25}.classroom-page .semester-todo-heading p{margin:0;max-width:72ch;color:var(--text-muted);font-size:.82rem;line-height:1.55}.classroom-page .semester-todo-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap;margin-left:auto}.classroom-page .semester-todo-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.classroom-page .semester-todo-summary span{display:inline-flex;align-items:center;gap:.28rem;padding:.28rem .54rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.9);color:var(--text-secondary);font-size:.74rem;font-weight:700}.classroom-page .semester-todo-summary strong{color:#0369a1;font-size:.82rem}.classroom-page .semester-todo-scroll{max-height:min(42rem,68vh);overflow-y:auto;padding-right:.2rem;scroll-padding:.8rem;overscroll-behavior:contain}.classroom-page .semester-todo-weeks{display:grid;gap:.72rem}.classroom-page .semester-week-card{display:grid;gap:.62rem;padding:.78rem;border-radius:10px;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.92);transition:border-color .22s ease,box-shadow .26s ease,transform .22s ease}.classroom-page .semester-week-card.is-current{border-color:rgba(14,165,233,.28);background:linear-gradient(180deg,rgba(240,249,255,.98),hsla(0,0%,100%,.94))}.classroom-page .semester-week-card.is-week-focus{animation:semester-week-focus 1.5s ease}.classroom-page .semester-week-head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.classroom-page .semester-week-head div{display:grid;gap:.15rem}.classroom-page .semester-week-head strong{color:var(--text-primary);font-size:.95rem}.classroom-page .semester-week-head small,.classroom-page .semester-week-head span{color:var(--text-muted);font-size:.76rem;font-weight:700}.classroom-page .semester-week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.34rem}.classroom-page .semester-day-cell{min-width:0;min-height:3.1rem;display:grid;align-content:center;justify-items:center;gap:.1rem;padding:.38rem .22rem;border-radius:8px;border:1px solid rgba(148,163,184,.14);background:rgba(248,250,252,.92);color:var(--text-secondary);transition:transform .17s ease,border-color .18s ease,box-shadow .21s ease,background-color .18s ease}.classroom-page .semester-day-cell span{font-size:.66rem;font-weight:800}.classroom-page .semester-day-cell strong{color:var(--text-primary);font-size:1rem;line-height:1}.classroom-page .semester-day-cell.is-weekend{background:rgba(255,251,235,.72)}.classroom-page .semester-day-cell.is-today{border-color:rgba(20,184,166,.34);background:rgba(240,253,250,.96)}.classroom-page .semester-day-cell.is-highlighted{border-color:rgba(14,165,233,.48);background:linear-gradient(135deg,rgba(224,242,254,.98),rgba(240,253,250,.94));box-shadow:0 0 0 2px rgba(125,211,252,.18),0 16px 28px -24px rgba(14,165,233,.58);transform:translateY(-1px)}.classroom-page .semester-day-cell.is-range-end,.classroom-page .semester-day-cell.is-range-start{border-color:rgba(245,158,11,.52);background:linear-gradient(135deg,rgba(255,247,237,.98),rgba(224,242,254,.94))}.classroom-page .semester-week-todos{display:grid;gap:.56rem}.classroom-page .semester-gantt,.classroom-page .semester-todo-list{max-height:13.4rem;overflow-y:auto;display:grid;gap:.42rem;padding-right:.12rem}.classroom-page .semester-gantt-row{display:grid;grid-template-columns:minmax(7.8rem,1fr) minmax(8rem,1.2fr) auto;gap:.55rem;align-items:center;min-height:2.22rem;padding:.32rem .42rem;border-radius:8px;border:1px solid rgba(148,163,184,.12);background:rgba(248,250,252,.78);color:var(--text-secondary);text-align:left;transition:transform .16s ease,border-color .18s ease,box-shadow .22s ease,background-color .18s ease}.classroom-page .semester-gantt-row.is-active,.classroom-page .semester-gantt-row:hover,.classroom-page .semester-todo-item.is-active{border-color:rgba(14,165,233,.34);background:rgba(240,249,255,.94);box-shadow:0 14px 28px -24px rgba(14,165,233,.5);transform:translateY(-1px)}.classroom-page .semester-gantt-lane{position:relative;height:.5rem;border-radius:999px;background:rgba(226,232,240,.82);overflow:hidden}.classroom-page .semester-gantt-bar{position:absolute;top:0;bottom:0;min-width:.55rem;border-radius:999px;background:linear-gradient(90deg,#0ea5e9,#14b8a6);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.45)}.classroom-page .semester-gantt-row.is-assignment .semester-gantt-bar{background:linear-gradient(90deg,#2563eb,#22c55e)}.classroom-page .semester-gantt-row.is-exam .semester-gantt-bar{background:linear-gradient(90deg,#7c3aed,#f59e0b)}.classroom-page .semester-gantt-row.is-stage .semester-gantt-bar{background:linear-gradient(90deg,#f59e0b,#14b8a6,#38bdf8)}.classroom-page .semester-gantt-row.is-manual .semester-gantt-bar{background:linear-gradient(90deg,#0f766e,#84cc16)}.classroom-page .semester-gantt-title{min-width:0;color:var(--text-primary);font-size:.78rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classroom-page .semester-gantt-time{padding:.18rem .42rem;border-radius:999px;background:rgba(15,23,42,.08);color:var(--text-secondary);font-size:.7rem;font-weight:800}.classroom-page .semester-todo-list{list-style:none;margin:0;padding-left:0}.classroom-page .semester-todo-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:.48rem;min-height:2.7rem;padding:.42rem .5rem;border-radius:8px;border:1px solid rgba(148,163,184,.12);background:hsla(0,0%,100%,.86);transition:transform .16s ease,border-color .18s ease,box-shadow .22s ease,background-color .18s ease}.classroom-page .semester-todo-check,.classroom-page .semester-todo-source-dot{width:.9rem;height:.9rem;border-radius:999px;border:2px solid rgba(14,165,233,.44);background:rgba(224,242,254,.68)}.classroom-page .semester-todo-check{cursor:pointer;transition:transform .16s ease,background-color .18s ease,border-color .18s ease}.classroom-page .semester-todo-check:hover{transform:scale(1.08)}.classroom-page .semester-todo-check.is-checked{border-color:rgba(20,184,166,.7);background:radial-gradient(circle at center,#14b8a6 42%,rgba(20,184,166,.14) 45%)}.classroom-page .semester-todo-name{display:grid;gap:.12rem;min-width:0;padding:0;border:none;background:transparent;text-align:left}.classroom-page .semester-todo-name span{color:var(--text-primary);font-size:.8rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classroom-page .semester-todo-name small{color:var(--text-muted);font-size:.7rem;font-weight:700}.classroom-page .semester-todo-delete,.classroom-page .semester-todo-open,.classroom-page .semester-todo-status{display:inline-flex;align-items:center;justify-content:center;min-height:1.65rem;padding:.18rem .46rem;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.classroom-page .semester-todo-status{background:rgba(241,245,249,.9);color:var(--text-secondary)}.classroom-page .semester-todo-open{color:#075985;background:rgba(224,242,254,.9);text-decoration:none}.classroom-page .semester-todo-delete{border:none;color:#b91c1c;background:hsla(0,93%,94%,.82);cursor:pointer}.classroom-page .semester-gantt-row.is-completed,.classroom-page .semester-todo-item.is-completed{opacity:.62}.classroom-page .semester-week-empty{display:grid;place-items:center;min-height:3rem;border:1px dashed rgba(148,163,184,.24);border-radius:8px;color:var(--text-muted);font-size:.78rem;font-weight:700;background:rgba(248,250,252,.72)}.classroom-page .semester-week-empty.is-large{min-height:9rem}.classroom-page .teaching-timeline-segment.is-todo-highlighted{border-color:rgba(245,158,11,.5);box-shadow:0 0 0 3px rgba(245,158,11,.11),0 20px 42px -28px rgba(245,158,11,.58)}.semester-todo-modal-backdrop.is-open{opacity:1}.semester-todo-modal{width:min(720px,calc(100vw - 2rem));max-height:min(92vh,780px);overflow-y:auto;transform:translateY(10px) scale(.98);transition:transform .19s ease,opacity .18s ease}.semester-todo-modal-backdrop.is-open .semester-todo-modal{transform:translateY(0) scale(1)}.semester-todo-form{display:grid;gap:.85rem}.semester-date-picker{display:grid;gap:.55rem;padding:.72rem;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(248,250,252,.86)}.semester-date-role-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.24rem;width:min(100%,15rem);padding:.2rem;border-radius:999px;background:rgba(226,232,240,.74)}.semester-date-role-tabs button{min-height:1.85rem;border:none;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.76rem;font-weight:800;cursor:pointer}.semester-date-role-tabs button.is-active{background:#fff;color:#0369a1;box-shadow:0 8px 18px -14px rgba(15,23,42,.34)}.semester-date-picker-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.semester-date-picker-head strong{color:var(--text-primary);font-size:.95rem}.semester-date-picker-grid,.semester-date-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.32rem}.semester-date-picker-weekdays span{color:var(--text-muted);font-size:.68rem;font-weight:800;text-align:center}.semester-picker-day{min-height:2.35rem;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#fff;color:var(--text-secondary);font-weight:800;cursor:pointer;transition:transform .15s ease,border-color .17s ease,background-color .17s ease}.semester-picker-day:hover{transform:translateY(-1px);border-color:rgba(14,165,233,.32)}.semester-picker-day.is-outside{opacity:.42}.semester-picker-day.is-today{border-color:rgba(20,184,166,.4)}.semester-picker-day.is-in-range{background:rgba(224,242,254,.76)}.semester-picker-day.is-due,.semester-picker-day.is-start{border-color:rgba(245,158,11,.55);background:linear-gradient(135deg,rgba(255,247,237,.98),rgba(224,242,254,.9));color:#92400e}.semester-todo-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.semester-todo-date-result{padding:.58rem .68rem;border-radius:8px;background:rgba(240,249,255,.92);color:#075985;font-size:.78rem;font-weight:700}@media (prefers-reduced-motion:no-preference){@keyframes workspace-section-spotlight{0%{box-shadow:0 0 0 0 rgba(125,211,252,0),0 18px 38px -34px rgba(14,165,233,.18)}34%{box-shadow:0 0 0 5px rgba(125,211,252,.2),0 0 0 12px rgba(14,165,233,.08),0 36px 70px -34px rgba(14,165,233,.62)}to{box-shadow:0 0 0 1px rgba(125,211,252,.28),0 0 0 7px rgba(14,165,233,.09),0 34px 64px -36px rgba(14,165,233,.62)}}@keyframes semester-week-focus{0%{border-color:rgba(14,165,233,.2);box-shadow:0 0 0 0 rgba(14,165,233,0)}38%{border-color:rgba(14,165,233,.42);box-shadow:0 0 0 5px rgba(14,165,233,.1),0 24px 42px -30px rgba(14,165,233,.48)}to{border-color:rgba(148,163,184,.16);box-shadow:none}}}@media (max-width:768px){.learning-top-chip{min-width:0;grid-template-columns:auto auto}.learning-top-chip__bar{display:none}.learning-class-position,.learning-progress-body,.learning-progress-grid,.learning-progress-head{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.learning-progress-score{width:100%;aspect-ratio:auto;min-height:3.2rem;border-radius:var(--radius-md)}.learning-progress-track{margin-right:calc(var(--spacing-md)*-1);padding-right:var(--spacing-md)}.learning-stage-node:after{display:none}.learning-mountain{min-height:116px;padding:.5rem}.learning-mountain svg{height:90px}.learning-mountain__peak-label,.learning-mountain__self-label{font-size:10.5px}.learning-distribution-item,.learning-score-row{grid-template-columns:4.2rem minmax(0,1fr) 3rem}.learning-overview-meta{grid-template-columns:1fr}.learning-certificate-shell{width:min(94vw,420px);aspect-ratio:auto}.learning-certificate-card{min-height:19rem;padding:1.6rem}.classroom-page .workspace-floating-nav{right:max(14px,calc(env(safe-area-inset-right) + 8px));bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px));gap:.5rem;padding:.36rem;opacity:.92}.classroom-page .workspace-floating-nav-link{width:44px;height:44px}.classroom-page .workspace-floating-nav-link:after{right:calc(100% + .52rem);max-width:calc(100vw - 5.5rem);font-size:.74rem}.classroom-page .semester-todo-actions,.classroom-page .semester-todo-head,.classroom-page .semester-week-head{flex-direction:column;align-items:stretch}.classroom-page .semester-todo-actions{margin-left:0}.classroom-page .semester-gantt-row{grid-template-columns:1fr;gap:.3rem}.classroom-page .semester-todo-item{grid-template-columns:auto minmax(0,1fr) auto}.classroom-page .semester-todo-delete,.classroom-page .semester-todo-open{grid-column:2/-1;justify-self:start}.semester-todo-time-grid{grid-template-columns:1fr}}@media (max-width:480px){.learning-progress-track{gap:.4rem}.learning-stage-node{flex-basis:88px;min-width:88px}.learning-class-position__summary{grid-template-columns:1fr}.learning-distribution-item,.learning-score-row{grid-template-columns:3.9rem minmax(0,1fr) 2.8rem;gap:.32rem}.learning-distribution-item strong,.learning-score-row strong{text-align:right}.learning-roster-pill{width:100%;justify-content:space-between}.classroom-page .workspace-floating-nav{right:max(10px,calc(env(safe-area-inset-right) + 6px));bottom:max(76px,calc(env(safe-area-inset-bottom) + 68px));gap:.42rem}.classroom-page .workspace-floating-nav-link{width:40px;height:40px}.classroom-page .workspace-floating-nav-icon{width:1.16rem;height:1.16rem}}.classroom-page{--classroom-premium-accent:#4f46e5;--classroom-premium-accent-soft:rgba(79,70,229,.12);--classroom-premium-secondary:#0891b2;--classroom-premium-warm:#b45309;--classroom-premium-ink:#0f172a;--classroom-premium-muted:#64748b;--classroom-premium-line:rgba(148,163,184,.24);--classroom-premium-surface:hsla(0,0%,100%,.9);--classroom-premium-surface-strong:hsla(0,0%,100%,.96);--classroom-premium-shadow:0 18px 50px -38px rgba(15,23,42,.62);overflow-x:hidden;background:linear-gradient(180deg,#f8fafc,#eef4ff 44%,#f8fafc);color:var(--classroom-premium-ink)}.classroom-page.role-teacher{--classroom-premium-accent:#0f766e;--classroom-premium-accent-soft:rgba(15,118,110,.12);--classroom-premium-secondary:#b45309;--classroom-premium-warm:#4338ca}.classroom-page.role-student{--classroom-premium-accent:#4f46e5;--classroom-premium-accent-soft:rgba(79,70,229,.12);--classroom-premium-secondary:#0891b2;--classroom-premium-warm:#be123c}.classroom-page,.classroom-page *{box-sizing:border-box;letter-spacing:0}.classroom-page .classroom-navbar{position:sticky;top:0;z-index:42;align-items:center;gap:16px;min-height:72px;padding:12px 24px;border-bottom:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.86);box-shadow:0 16px 40px -34px rgba(15,23,42,.58);backdrop-filter:blur(18px)}.classroom-page .classroom-navbar-brand,.classroom-page .classroom-navbar-meta,.classroom-page .navbar-user{min-width:0}.classroom-page .classroom-navbar-meta{gap:8px 12px;flex-wrap:wrap;color:var(--classroom-premium-muted)}.classroom-page .navbar-title{color:var(--classroom-premium-ink);font-weight:750}.classroom-page .navbar-user{gap:8px;flex-wrap:wrap;justify-content:flex-end}.classroom-page .classroom-workspace{width:min(100%,1280px);margin:0 auto;padding:28px 24px 104px;gap:26px}.classroom-page .workspace-hero{gap:16px}.classroom-page .discussion-room,.classroom-page .workspace-hero-bottom,.classroom-page .workspace-hero-main,.classroom-page .workspace-panel{border:1px solid var(--classroom-premium-line);border-radius:8px;background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(248,250,252,.88));box-shadow:var(--classroom-premium-shadow)}.classroom-page.role-teacher .learning-overview-panel,.classroom-page.role-teacher .workspace-hero-main{background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(240,253,250,.9))}.classroom-page.role-student .learning-progress-panel,.classroom-page.role-student .workspace-hero-main{background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(238,242,255,.9))}.classroom-page .workspace-hero-main{min-height:216px;padding:28px;align-items:stretch}.classroom-page .workspace-hero-title-block{display:grid;gap:14px;min-width:0}.classroom-page .workspace-hero-classline{flex-wrap:wrap}.classroom-page .assignment-card-tags .badge,.classroom-page .badge,.classroom-page .learning-top-chip,.classroom-page .workspace-hero-classitem{border-radius:999px}.classroom-page .workspace-hero-classitem{background:hsla(0,0%,100%,.72);border:1px solid rgba(148,163,184,.16);color:var(--classroom-premium-muted)}.classroom-page .workspace-hero h1{max-width:860px;margin:0;color:var(--classroom-premium-ink);font-size:2.35rem;line-height:1.08;font-weight:800}.classroom-page .workspace-hero-lead{max-width:760px;margin:0;color:var(--classroom-premium-muted);font-size:1rem;line-height:1.8}.classroom-page .workspace-hero-actions{align-self:start}.classroom-page .chat-send-btn,.classroom-page .learning-stage-exam-btn,.classroom-page .teaching-timeline-open-material-btn,.classroom-page .workspace-hero-action-btn{border-color:rgba(79,70,229,.12);background:var(--classroom-premium-accent);color:#fff;box-shadow:0 12px 26px -22px var(--classroom-premium-accent)}.classroom-page.role-teacher .chat-send-btn,.classroom-page.role-teacher .teaching-timeline-open-material-btn,.classroom-page.role-teacher .workspace-hero-action-btn{background:var(--classroom-premium-accent)}.classroom-page .workspace-hero-action-btn:not(.is-stat){background:var(--classroom-premium-surface-strong);color:var(--classroom-premium-ink);border-color:rgba(148,163,184,.24)}.classroom-page .workspace-hero-bottom{padding:0;overflow:hidden}.classroom-page .embedded-teaching-plan{border:0;border-radius:8px;background:transparent;box-shadow:none}.classroom-page .discussion-room-header,.classroom-page .embedded-teaching-plan-head,.classroom-page .learning-progress-head,.classroom-page .section-header{align-items:flex-start;gap:16px}.classroom-page .discussion-room-header h2,.classroom-page .embedded-teaching-plan-heading h2,.classroom-page .learning-progress-head h2,.classroom-page .section-header h2{color:var(--classroom-premium-ink);line-height:1.18}.classroom-page .discussion-room-subtitle,.classroom-page .embedded-teaching-plan-heading p,.classroom-page .learning-progress-head p,.classroom-page .section-subtitle{color:var(--classroom-premium-muted);line-height:1.7}.classroom-page .chat-composer-shell,.classroom-page .discussion-room-alias-card,.classroom-page .discussion-room-status,.classroom-page .learning-overview-meta>div,.classroom-page .learning-progress-body,.classroom-page .learning-progress-path,.classroom-page .teaching-timeline-detail,.classroom-page .teaching-timeline-material-panel,.classroom-page .teaching-timeline-stage{border-radius:8px;border-color:rgba(148,163,184,.22);background:hsla(0,0%,100%,.72)}.classroom-page .teaching-timeline-segment{border-radius:8px;border-color:rgba(148,163,184,.2);background:hsla(0,0%,100%,.82)}.classroom-page .teaching-timeline-segment.is-anchor,.classroom-page .teaching-timeline-segment.is-selected,.classroom-page .workspace-floating-nav-link:focus-visible,.classroom-page .workspace-floating-nav-link:hover{border-color:rgba(79,70,229,.32);box-shadow:0 16px 34px -28px var(--classroom-premium-accent)}.classroom-page.role-teacher .teaching-timeline-segment.is-anchor,.classroom-page.role-teacher .teaching-timeline-segment.is-selected{border-color:rgba(15,118,110,.32)}.classroom-page .workspace-panel{padding:24px}.classroom-page .assignment-card-unified,.classroom-page .chat-message,.classroom-page .material-card,.classroom-page .resource-item,.classroom-page .resource-panel .card,.classroom-page .shared-file-modal-section{border-radius:8px;border-color:rgba(148,163,184,.22);background:var(--classroom-premium-surface)}.classroom-page .assignment-card-unified{min-height:100%}.classroom-page .assignment-card-unified:before{background:linear-gradient(180deg,var(--classroom-premium-accent-soft),rgba(8,145,178,.14))}.classroom-page .assignment-card-unified .card-body{display:flex;flex-direction:column;height:100%}.classroom-page .assignment-card-title,.classroom-page .card-title{line-height:1.3;color:var(--classroom-premium-ink)}.classroom-page .assignment-card-desc{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.classroom-page .assignment-card-feedback-preview{display:grid;gap:5px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(99,102,241,.16);border-left:3px solid var(--classroom-premium-accent);border-radius:8px;background:rgba(238,242,255,.52);color:var(--classroom-premium-muted);transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.classroom-page .assignment-card-unified:hover .assignment-card-feedback-preview{transform:translateY(-1px);border-color:rgba(99,102,241,.28);background:rgba(238,242,255,.72)}.classroom-page .assignment-card-feedback-preview__label{color:var(--classroom-premium-ink);font-size:.76rem;font-weight:800}.classroom-page .assignment-card-feedback-preview__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.86rem;line-height:1.55}.classroom-page .assignment-card-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.classroom-page .assignment-card-insight{min-width:0;min-height:64px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:rgba(248,250,252,.78)}.classroom-page .assignment-card-insight strong{min-width:0;max-width:100%;color:var(--classroom-premium-ink);font-size:1.08rem;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}.classroom-page .assignment-card-insight small{min-width:0;color:var(--classroom-premium-muted);font-size:.72rem;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip}.classroom-page .assignment-card-insight[data-tone=primary]{border-color:rgba(37,99,235,.18);background:rgba(239,246,255,.78)}.classroom-page .assignment-card-insight[data-tone=danger]{border-color:rgba(220,38,38,.24);background:hsla(0,86%,97%,.82)}.classroom-page .assignment-card-insight[data-tone=warning]{border-color:rgba(217,119,6,.24);background:rgba(255,251,235,.84)}.classroom-page .assignment-card-insight[data-tone=success]{border-color:rgba(5,150,105,.22);background:rgba(236,253,245,.78)}.classroom-page .discussion-room{min-height:620px;padding:24px;overflow:hidden}.classroom-page .discussion-room:before{background:linear-gradient(135deg,rgba(79,70,229,.08),rgba(8,145,178,.08))}.classroom-page.role-teacher .discussion-room:before{background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(180,83,9,.08))}.classroom-page .workspace-floating-nav{right:max(18px,calc(env(safe-area-inset-right) + 14px));gap:10px}.classroom-page .workspace-floating-nav-link{width:44px;height:44px;border-radius:999px;border:1px solid rgba(148,163,184,.26);background:hsla(0,0%,100%,.9);color:var(--classroom-premium-accent);box-shadow:0 14px 32px -24px rgba(15,23,42,.62);backdrop-filter:blur(16px)}.classroom-page .workspace-floating-nav-link.is-active,.classroom-page .workspace-floating-nav-link[aria-current=true]{background:var(--classroom-premium-accent);color:#fff}.classroom-page .btn:focus-visible,.classroom-page a:focus-visible,.classroom-page button:focus-visible,.classroom-page input:focus-visible,.classroom-page select:focus-visible,.classroom-page textarea:focus-visible{outline:2px solid var(--classroom-premium-accent);outline-offset:3px}@media (hover:hover){.classroom-page .assignment-card-unified,.classroom-page .discussion-room-alias-card,.classroom-page .teaching-timeline-open-material-btn,.classroom-page .teaching-timeline-segment,.classroom-page .workspace-floating-nav-link,.classroom-page .workspace-hero-action-btn{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.classroom-page .assignment-card-unified:hover,.classroom-page .discussion-room-alias-card:hover,.classroom-page .teaching-timeline-open-material-btn:hover,.classroom-page .teaching-timeline-segment:hover,.classroom-page .workspace-hero-action-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -30px rgba(15,23,42,.66)}.classroom-page .workspace-floating-nav-link:hover{transform:translateY(-2px) scale(1.03)}}@media (max-width:980px){.classroom-page .classroom-navbar{align-items:flex-start;padding:12px 16px}.classroom-page .navbar-user{width:100%;justify-content:flex-start}.classroom-page .classroom-workspace{padding:20px 16px 96px;gap:20px}.classroom-page .workspace-hero-main{padding:22px;min-height:0}.classroom-page .workspace-hero h1{font-size:2rem}.classroom-page .discussion-room,.classroom-page .workspace-panel{padding:20px}}@media (max-width:720px){.classroom-page .classroom-navbar{min-height:0}.classroom-page .classroom-navbar-brand{width:100%}.classroom-page .classroom-navbar-meta,.classroom-page .navbar-user{font-size:.86rem}.classroom-page .classroom-workspace{padding:16px 12px 92px;gap:16px}.classroom-page .discussion-room,.classroom-page .workspace-hero-main,.classroom-page .workspace-panel{padding:16px}.classroom-page .workspace-hero h1{font-size:1.68rem;line-height:1.16}.classroom-page .workspace-hero-lead{font-size:.94rem;line-height:1.68}.classroom-page .discussion-room-header,.classroom-page .learning-progress-head,.classroom-page .section-header,.classroom-page .teaching-timeline-detail-top,.classroom-page .workspace-hero-actions{flex-direction:column;align-items:stretch}.classroom-page .learning-top-chip,.classroom-page .workspace-hero-action-btn{width:100%;justify-content:center}.classroom-page .assignment-card-footer,.classroom-page .chat-composer-actions,.classroom-page .discussion-room-side{flex-wrap:wrap}.classroom-page .assignment-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:12px}.classroom-page .assignment-card-unified{min-height:0}.classroom-page .assignment-card-unified .card-body{padding:14px}.classroom-page .assignment-card-top{gap:10px;margin-bottom:10px}.classroom-page .assignment-card-tags{min-width:0}.classroom-page .assignment-card-tags .badge{max-width:100%;white-space:normal;line-height:1.35}.classroom-page .assignment-card-title{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.classroom-page .assignment-card-desc{min-height:0;font-size:.86rem;line-height:1.6}.classroom-page .assignment-card-feedback-preview{margin-bottom:10px;padding:9px 10px}.classroom-page .assignment-card-insights{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.classroom-page .assignment-card-insight{min-height:58px;padding:8px 9px}.classroom-page .assignment-card-footer{flex-direction:column;align-items:flex-start;gap:6px}.classroom-page .discussion-room{min-height:560px}}@media (prefers-reduced-motion:reduce){.classroom-page *,.classroom-page :after,.classroom-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.classroom-page{--classroom-page-max:1320px;--classroom-surface:hsla(0,0%,100%,.94);--classroom-surface-soft:rgba(248,250,252,.9);--classroom-line:rgba(148,163,184,.24);--classroom-card-shadow:0 18px 42px -34px rgba(15,23,42,.58);background:linear-gradient(180deg,#f8fafc,#f3f6f8 48%,#edf7f3)}.classroom-page .classroom-workspace{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;height:auto;padding:24px clamp(16px,3vw,32px) 112px;gap:24px;overflow:visible}.classroom-page .workspace-hero{display:grid;grid-template-columns:1fr;gap:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.classroom-page #hero-info-card,.classroom-page .workspace-hero-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:0;padding:clamp(20px,2.4vw,30px);border:1px solid var(--classroom-line);border-radius:8px;background:linear-gradient(135deg,var(--classroom-surface),var(--classroom-surface-soft));box-shadow:var(--classroom-card-shadow)}.classroom-page.role-teacher #hero-info-card,.classroom-page.role-teacher .workspace-hero-main{background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(240,253,250,.9))}.classroom-page.role-student #hero-info-card,.classroom-page.role-student .workspace-hero-main{background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(238,242,255,.9))}.classroom-page .workspace-hero-title-block{align-content:center;gap:12px}.classroom-page .workspace-hero-classline{gap:8px}.classroom-page .workspace-hero-classitem{padding:.42rem .62rem;border:1px solid rgba(148,163,184,.2);background:hsla(0,0%,100%,.78);color:#475569;line-height:1.2}.classroom-page .workspace-hero-classitem svg{color:var(--classroom-premium-accent)}.classroom-page .workspace-hero h1{max-width:900px;font-size:2.12rem;line-height:1.12}.classroom-page .workspace-hero-lead{max-width:76ch;color:#475569;line-height:1.7}.classroom-page .workspace-hero-actions{align-self:center;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:-moz-fit-content;min-width:fit-content}.classroom-page .workspace-hero-action-btn{min-height:44px;padding:.68rem .9rem;border-radius:8px;color:#0f172a;background:hsla(0,0%,100%,.92);border-color:rgba(148,163,184,.26);box-shadow:0 14px 26px -24px rgba(15,23,42,.48)}.classroom-page .workspace-hero-action-btn.is-stat,.classroom-page .workspace-hero-action-btn.is-stat:focus-visible,.classroom-page .workspace-hero-action-btn.is-stat:hover{color:#fff;background:var(--classroom-premium-accent);border-color:transparent}.classroom-page.role-teacher .workspace-hero-action-btn.is-stat:focus-visible,.classroom-page.role-teacher .workspace-hero-action-btn.is-stat:hover{background:#0d9488}.classroom-page.role-student .workspace-hero-action-btn.is-stat:focus-visible,.classroom-page.role-student .workspace-hero-action-btn.is-stat:hover{background:#4338ca}.classroom-page .workspace-hero-action-btn:not(.is-stat):focus-visible,.classroom-page .workspace-hero-action-btn:not(.is-stat):hover{color:var(--classroom-premium-accent);background:#fff;border-color:rgba(148,163,184,.36)}.classroom-page .workspace-hero-action-btn svg{stroke:currentColor}.classroom-page .workspace-hero-bottom{border-radius:8px;border:1px solid var(--classroom-line);background:var(--classroom-surface);box-shadow:var(--classroom-card-shadow)}.classroom-page .embedded-teaching-plan{padding:clamp(18px,2vw,24px)}.classroom-page .discussion-room,.classroom-page .workspace-panel{border-radius:8px;border-color:var(--classroom-line);box-shadow:var(--classroom-card-shadow)}.classroom-page .learning-overview-panel,.classroom-page .learning-progress-panel{width:100%;max-width:100%;min-width:0;padding:22px;border-radius:8px;overflow:visible}.classroom-page .learning-progress-panel{display:grid;grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);gap:16px;align-items:stretch}.classroom-page .learning-progress-panel .learning-progress-head{margin:0;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.68);flex-direction:column;align-items:stretch;justify-content:space-between}.classroom-page .learning-progress-panel .learning-progress-score{width:100%;min-height:92px;aspect-ratio:auto;border-radius:8px}.classroom-page .learning-stage-status-card{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:hsla(0,0%,100%,.76)}.classroom-page .learning-stage-status-card small,.classroom-page .learning-stage-status-card>span{color:#64748b;font-size:.74rem;font-weight:700;line-height:1.45}.classroom-page .learning-stage-status-card strong{color:#0f172a;font-size:1rem;line-height:1.2}.classroom-page .learning-stage-status-card.is-ready{border-color:rgba(79,70,229,.28);background:linear-gradient(135deg,rgba(238,242,255,.94),hsla(0,0%,100%,.78))}.classroom-page .learning-stage-status-card.is-ready strong{color:#4338ca}.classroom-page .learning-stage-status-card.is-busy{border-color:rgba(14,165,233,.28);background:linear-gradient(135deg,rgba(240,249,255,.94),hsla(0,0%,100%,.78))}.classroom-page .learning-stage-status-card.is-active{border-color:rgba(20,184,166,.3);background:linear-gradient(135deg,rgba(240,253,250,.94),hsla(0,0%,100%,.78))}.classroom-page .learning-stage-status-card.is-locked{border-style:dashed}.classroom-page .learning-stage-status-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.classroom-page .learning-stage-status-actions .btn{min-height:34px;padding-inline:.72rem}.classroom-page .learning-progress-panel .learning-progress-grid{min-width:0;grid-template-columns:minmax(0,1fr) minmax(210px,.36fr);gap:14px}.classroom-page .learning-progress-panel .learning-progress-grid.is-full{grid-template-columns:1fr}.classroom-page .learning-progress-panel .learning-class-position,.classroom-page .learning-progress-panel .learning-progress-path{min-width:0;border-radius:8px}.classroom-page .learning-progress-panel .learning-progress-track{margin:0;padding:0 0 .55rem}.classroom-page .learning-stage-node{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;font:inherit;text-align:center}.classroom-page .learning-stage-node.is-actionable{cursor:pointer;border-color:rgba(79,70,229,.42);background:linear-gradient(135deg,rgba(238,242,255,.96),hsla(0,0%,100%,.86));box-shadow:0 16px 28px -24px rgba(79,70,229,.55)}.classroom-page .learning-stage-node.is-actionable:focus-visible,.classroom-page .learning-stage-node.is-actionable:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.58);box-shadow:0 20px 36px -26px rgba(79,70,229,.68)}.classroom-page .learning-stage-node.is-actionable:focus-visible{outline:2px solid rgba(79,70,229,.36);outline-offset:3px}.classroom-page .learning-stage-node.is-actionable .learning-stage-orb{background:#4f46e5;box-shadow:0 0 0 4px rgba(79,70,229,.16),0 0 14px rgba(79,70,229,.34)}.classroom-page .learning-stage-node.is-actionable small{color:#4338ca}.classroom-page .learning-stage-node-cta{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:1.28rem;padding:.12rem .36rem;border-radius:999px;background:rgba(79,70,229,.1);color:#4338ca;font-size:.64rem;font-weight:800;line-height:1;white-space:nowrap}.classroom-page .learning-stage-node.is-busy{cursor:wait;opacity:.72}.classroom-page .learning-progress-panel .learning-progress-body{grid-template-columns:1fr;align-items:stretch}.classroom-page .learning-progress-panel .learning-progress-actions{justify-content:flex-start;flex-wrap:wrap}.classroom-page .learning-overview-panel{display:grid;grid-template-columns:minmax(190px,.78fr) minmax(0,1.12fr) minmax(220px,.78fr);grid-template-areas:"overview-head overview-distribution overview-meta" "overview-roster overview-roster overview-roster" "overview-exam overview-exam overview-exam" "overview-board overview-board overview-board";gap:14px;align-items:stretch}.classroom-page .learning-overview-panel .learning-progress-head{grid-area:overview-head;margin:0;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.68);flex-direction:column;align-items:stretch;justify-content:space-between}.classroom-page .learning-overview-panel .learning-progress-score{width:100%;min-height:92px;aspect-ratio:auto;border-radius:8px}.classroom-page .learning-overview-panel .learning-distribution{grid-area:overview-distribution;min-width:0;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.68);align-content:start}.classroom-page .learning-overview-panel .learning-overview-meta{grid-area:overview-meta;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;align-content:start}.classroom-page .learning-overview-panel .learning-overview-meta>div{display:grid;align-content:center;min-width:0;min-height:76px;padding:12px;border-radius:8px}.classroom-page .learning-overview-panel .learning-roster-strip{grid-area:overview-roster;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;margin:0;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.68);overflow:hidden}.classroom-page .learning-roster-strip__label{color:#0f766e;font-size:.78rem;font-weight:800;white-space:nowrap}.classroom-page .learning-roster-strip__items{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;scrollbar-width:thin;scroll-snap-type:x proximity}.classroom-page .learning-roster-pill{flex:0 0 auto;max-width:220px;min-height:42px;border-radius:8px;scroll-snap-align:start}.classroom-page .learning-roster-pill span,.classroom-page .learning-roster-pill strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-roster-pill strong{max-width:6.5rem}.classroom-page .learning-roster-empty{color:#64748b;font-size:.82rem;font-weight:700;white-space:nowrap}.classroom-page .learning-exam-roster-panel{grid-area:overview-exam;display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(15,118,110,.16);border-radius:8px;background:hsla(0,0%,100%,.74)}.classroom-page .learning-exam-roster-card__head,.classroom-page .learning-exam-roster-form-actions,.classroom-page .learning-exam-roster-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.classroom-page .learning-exam-roster-title{display:grid;gap:4px;min-width:0}.classroom-page .learning-exam-roster-card__head>span,.classroom-page .learning-exam-roster-title>span{width:-moz-fit-content;width:fit-content;padding:3px 8px;border-radius:999px;background:rgba(16,185,129,.1);color:#047857;font-size:.68rem;font-weight:850;line-height:1.2;text-transform:uppercase}.classroom-page .learning-exam-roster-title h3{margin:0;color:#0f172a;font-size:1.05rem;line-height:1.25}.classroom-page .learning-exam-roster-title p{margin:0;color:#64748b;font-size:.82rem;line-height:1.5}.classroom-page .learning-exam-roster-sync-btn{flex:0 0 auto;min-height:38px;border-radius:8px}.classroom-page .learning-exam-roster-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px;min-width:0;align-items:stretch}.classroom-page .learning-exam-roster-card{display:grid;align-content:start;gap:12px;min-width:0;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(248,250,252,.78)}.classroom-page .learning-exam-roster-card__head strong{min-width:0;color:#0f172a;font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-exam-roster-status{display:grid;gap:10px;min-width:0}.classroom-page .learning-exam-roster-empty-note{margin:0;padding:12px;border:1px dashed rgba(148,163,184,.32);border-radius:8px;background:hsla(0,0%,100%,.72);color:#64748b;font-size:.84rem;line-height:1.55}.classroom-page .learning-exam-roster-course{display:grid;gap:4px;min-width:0;padding:12px;border:1px solid rgba(15,118,110,.14);border-radius:8px;background:hsla(0,0%,100%,.82)}.classroom-page .learning-exam-roster-course span{color:#0f766e;font-size:.78rem;font-weight:850}.classroom-page .learning-exam-roster-course strong{color:#0f172a;font-size:.98rem;line-height:1.35}.classroom-page .learning-exam-roster-course small{color:#64748b;font-size:.78rem;font-weight:700;line-height:1.4}.classroom-page .learning-exam-roster-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.classroom-page .learning-exam-roster-metrics span{display:grid;gap:1px;min-width:0;min-height:58px;padding:9px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:hsla(0,0%,100%,.78)}.classroom-page .learning-exam-roster-metrics b{color:#0f172a;font-size:1.12rem;line-height:1.1}.classroom-page .learning-exam-roster-metrics small{color:#64748b;font-size:.7rem;font-weight:800;line-height:1.2}.classroom-page .learning-exam-roster-metrics span.is-warning{border-color:rgba(245,158,11,.28);background:hsla(48,96%,89%,.5)}.classroom-page .learning-exam-roster-preview{display:grid;gap:8px;min-width:0}.classroom-page .learning-exam-roster-candidates[hidden],.classroom-page .learning-exam-roster-preview[hidden]{display:none}.classroom-page .learning-exam-roster-preview__head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#64748b;font-size:.75rem;font-weight:850}.classroom-page .learning-exam-roster-preview__head strong{color:#0f766e}.classroom-page .learning-exam-roster-preview__diff,.classroom-page .learning-exam-roster-preview__students{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.classroom-page .learning-exam-roster-preview__students em,.classroom-page .learning-exam-roster-preview__students span{display:inline-grid;grid-template-columns:auto;gap:1px;justify-content:start;min-width:0;max-width:132px;min-height:40px;padding:6px 8px;border:1px solid rgba(15,118,110,.12);border-radius:8px;background:hsla(0,0%,100%,.78);color:#0f172a;font-style:normal;overflow:hidden}.classroom-page .learning-exam-roster-preview__students b,.classroom-page .learning-exam-roster-preview__students small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-exam-roster-preview__students b{font-size:.78rem;line-height:1.25}.classroom-page .learning-exam-roster-preview__students em,.classroom-page .learning-exam-roster-preview__students small{color:#64748b;font-size:.68rem;font-weight:800;line-height:1.2}.classroom-page .learning-exam-roster-preview__students em{align-items:center;color:#0f766e}.classroom-page .learning-exam-roster-preview__diff span{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:30px;padding:5px 8px;border-radius:8px;background:hsla(48,96%,89%,.62);color:#92400e;font-size:.72rem;font-weight:750;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-exam-roster-preview__diff b{flex:0 0 auto;color:#78350f}.classroom-page .learning-exam-roster-candidates{display:grid;gap:8px}.classroom-page .learning-exam-roster-candidates__title{color:#0f766e;font-size:.78rem;font-weight:850}.classroom-page .learning-exam-roster-candidates__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.classroom-page .learning-exam-roster-candidate{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid rgba(15,118,110,.2);border-radius:8px;background:hsla(0,0%,100%,.82);color:#0f172a;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.classroom-page .learning-exam-roster-candidate:focus-visible,.classroom-page .learning-exam-roster-candidate:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.38);box-shadow:0 12px 26px -22px rgba(15,23,42,.38);outline:none}.classroom-page .learning-exam-roster-candidate small,.classroom-page .learning-exam-roster-candidate span,.classroom-page .learning-exam-roster-candidate strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-exam-roster-candidate small,.classroom-page .learning-exam-roster-candidate span{color:#64748b;font-size:.76rem}.classroom-page .learning-exam-roster-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classroom-page .learning-exam-roster-field{display:grid;gap:5px;min-width:0;color:#64748b;font-size:.74rem;font-weight:850}.classroom-page .learning-exam-roster-field--wide{grid-column:1/-1}.classroom-page .learning-exam-roster-field .form-control{width:100%;min-width:0;min-height:42px;padding:0 11px;border-color:rgba(148,163,184,.24);border-radius:8px;background:hsla(0,0%,100%,.94);color:#0f172a;font-size:.86rem}.classroom-page .learning-exam-roster-field .form-control:focus{border-color:rgba(15,118,110,.44);box-shadow:0 0 0 3px rgba(20,184,166,.12)}.classroom-page .learning-exam-place-picker{position:relative;min-width:0}.classroom-page .learning-exam-place-results{position:absolute;z-index:1060;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;max-height:246px;overflow-y:auto;padding:6px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:hsla(0,0%,100%,.98);box-shadow:0 22px 50px -32px rgba(15,23,42,.44)}.classroom-page .learning-exam-place-results[hidden]{display:none}.classroom-page .learning-exam-place-option{display:grid;gap:3px;width:100%;min-width:0;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#0f172a;cursor:pointer;font:inherit;text-align:left}.classroom-page .learning-exam-place-option:focus-visible,.classroom-page .learning-exam-place-option:hover{background:rgba(15,118,110,.08);outline:none}.classroom-page .learning-exam-place-option span,.classroom-page .learning-exam-place-option strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-exam-place-option strong{color:#0f172a;font-size:.84rem;font-weight:850}.classroom-page .learning-exam-place-empty,.classroom-page .learning-exam-place-option span{color:#64748b;font-size:.74rem;line-height:1.45}.classroom-page .learning-exam-place-empty{padding:9px 10px;font-weight:780}.classroom-page .learning-exam-roster-form.is-disabled{opacity:.78}.classroom-page .learning-exam-roster-form-actions{justify-content:flex-end}.classroom-page .learning-exam-roster-form-actions .btn{min-height:40px;border-radius:8px}.classroom-page .learning-roster-board{grid-area:overview-board;display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.74)}.classroom-page .learning-roster-board__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;min-width:0}.classroom-page .learning-roster-board__head h3{margin:0;color:#0f172a;font-size:1rem;line-height:1.25}.classroom-page .learning-roster-board__head p{margin:4px 0 0;color:#64748b;font-size:.84rem;line-height:1.55}.classroom-page .learning-roster-search{flex:0 1 260px;display:grid;gap:6px;color:#64748b;font-size:.76rem;font-weight:800}.classroom-page .learning-roster-search input{width:100%;min-height:44px;padding:0 12px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:hsla(0,0%,100%,.94);color:#0f172a;font:inherit;font-size:.9rem;outline:none}.classroom-page .learning-roster-search input:focus{border-color:rgba(15,118,110,.46);box-shadow:0 0 0 3px rgba(20,184,166,.12)}.classroom-page .learning-roster-list{display:grid;grid-template-columns:1fr;gap:10px;max-height:min(42vh,430px);overflow:auto;padding:2px;scrollbar-width:thin}.classroom-page .learning-roster-student{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(190px,.86fr) minmax(170px,auto);align-items:start;gap:12px;min-width:0;min-height:72px;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.88);color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.classroom-page .learning-roster-student[hidden]{display:none}.classroom-page .learning-roster-student:focus-visible,.classroom-page .learning-roster-student:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.34);box-shadow:0 12px 26px -22px rgba(15,23,42,.38)}.classroom-page .learning-roster-student__identity,.classroom-page .learning-roster-student__progress{display:grid;gap:5px;min-width:0}.classroom-page .learning-roster-student__identity strong{color:#0f172a;font-size:.94rem;line-height:1.25;overflow-wrap:anywhere}.classroom-page .learning-roster-student__identity small,.classroom-page .learning-roster-student__progress em{min-width:0;color:#64748b;font-size:.76rem;font-style:normal;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.classroom-page .learning-roster-student__bar{display:block;height:7px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.2)}.classroom-page .learning-roster-student__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#38bdf8)}.classroom-page .learning-roster-student__metrics{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:5px}.classroom-page .learning-roster-student__metrics b{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;background:rgba(240,253,250,.9);color:#0f766e;font-size:.72rem;font-weight:800;white-space:nowrap}.classroom-page .assignment-board,.classroom-page .discussion-room-header,.classroom-page .learning-progress-head,.classroom-page .materials-list,.classroom-page .resource-panel,.classroom-page .section-header,.classroom-page .teaching-timeline-detail-top{min-width:0}.classroom-page .discussion-room-kicker,.classroom-page .section-eyebrow,.classroom-page .workspace-kicker{letter-spacing:0}@media (max-width:960px){.classroom-page #hero-info-card,.classroom-page .learning-overview-panel,.classroom-page .learning-progress-panel,.classroom-page .workspace-hero-main{grid-template-columns:1fr}.classroom-page .workspace-hero-actions{justify-content:flex-start;min-width:0}.classroom-page .learning-overview-panel{grid-template-areas:"overview-head" "overview-distribution" "overview-meta" "overview-roster" "overview-exam" "overview-board"}.classroom-page .learning-overview-panel .learning-overview-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-page .learning-exam-roster-layout,.classroom-page .learning-progress-panel .learning-progress-grid{grid-template-columns:1fr}}@media (max-width:720px){.classroom-page .classroom-workspace{padding:16px 12px 96px;gap:16px}.classroom-page #hero-info-card,.classroom-page .discussion-room,.classroom-page .learning-overview-panel,.classroom-page .learning-progress-panel,.classroom-page .workspace-hero-main,.classroom-page .workspace-panel{padding:16px}.classroom-page .workspace-hero h1{font-size:1.66rem}.classroom-page .workspace-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.classroom-page .workspace-hero-action-btn{width:100%}.classroom-page .learning-overview-panel .learning-overview-meta{grid-template-columns:1fr}.classroom-page .learning-overview-panel .learning-roster-strip{grid-template-columns:1fr;gap:8px}.classroom-page .learning-roster-board__head{align-items:stretch;flex-direction:column}.classroom-page .learning-roster-search{flex-basis:auto}.classroom-page .learning-exam-roster-panel__head{align-items:stretch;flex-direction:column}.classroom-page .learning-exam-roster-form-actions .btn,.classroom-page .learning-exam-roster-sync-btn{width:100%;justify-content:center}.classroom-page .learning-exam-roster-form-grid,.classroom-page .learning-exam-roster-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .learning-exam-roster-form-actions{justify-content:stretch}.classroom-page .learning-roster-list{grid-template-columns:1fr;max-height:none;overflow:visible}.classroom-page .learning-roster-student{grid-template-columns:1fr;align-items:stretch}.classroom-page .learning-roster-student__metrics{justify-content:flex-start}.classroom-page .learning-roster-strip__label{font-size:.76rem}.classroom-page .learning-roster-pill{max-width:min(78vw,260px)}}@media (max-width:520px){.classroom-page .learning-exam-roster-candidates__list,.classroom-page .learning-exam-roster-form-grid,.classroom-page .learning-exam-roster-metrics{grid-template-columns:1fr}.classroom-page .learning-exam-roster-preview__students em,.classroom-page .learning-exam-roster-preview__students span{max-width:100%}}.classroom-page.has-learning-modal{overflow:hidden}.classroom-page .workspace-hero-action-btn.is-cultivation{color:#4338ca;border-color:rgba(79,70,229,.22);background:linear-gradient(135deg,rgba(238,242,255,.96),hsla(0,0%,100%,.9))}.classroom-page.role-teacher .workspace-hero-action-btn.is-cultivation{color:#0f766e;border-color:rgba(15,118,110,.24);background:linear-gradient(135deg,rgba(240,253,250,.96),hsla(0,0%,100%,.9))}.classroom-page .workspace-hero-action-btn.is-cultivation:focus-visible,.classroom-page .workspace-hero-action-btn.is-cultivation:hover{color:var(--classroom-premium-accent);border-color:rgba(79,70,229,.36);background:#fff}.classroom-page.role-teacher .workspace-hero-action-btn.is-cultivation:focus-visible,.classroom-page.role-teacher .workspace-hero-action-btn.is-cultivation:hover{border-color:rgba(15,118,110,.38)}.classroom-page .course-popover-metric-grid .course-popover-info-item{gap:.22rem}.classroom-page .course-popover-metric-grid .info-value{color:#0f172a;font-size:1.1rem;line-height:1.05}.classroom-page .course-popover-metric-grid .info-note{color:#64748b;font-size:.75rem;font-weight:700}.classroom-page .learning-modal-backdrop{position:fixed;inset:0;z-index:1240;display:grid;place-items:center;padding:clamp(14px,2.6vw,32px);background:rgba(15,23,42,.34);opacity:0;pointer-events:none;transition:opacity .22s ease}.classroom-page .learning-modal-backdrop[hidden]{display:none}@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){.classroom-page .learning-modal-backdrop{background:rgba(15,23,42,.26);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.classroom-page .learning-modal-backdrop.is-open{opacity:1;pointer-events:auto}.classroom-page .learning-modal-shell{width:min(1080px,100%);max-height:min(86vh,820px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 28px 76px -42px rgba(15,23,42,.72);transform:translateY(16px) scale(.98);opacity:0;transition:opacity .22s ease,transform .22s ease}.classroom-page .learning-modal-backdrop.is-open .learning-modal-shell{opacity:1;transform:translateY(0) scale(1)}.classroom-page .learning-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(135deg,rgba(248,250,252,.98),hsla(0,0%,100%,.94))}.classroom-page .learning-modal-header h3{margin:0;color:#0f172a;font-size:1.24rem;line-height:1.2}.classroom-page .learning-modal-close{flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:hsla(0,0%,100%,.86);color:#64748b;cursor:pointer;font-size:1.3rem;line-height:1}.classroom-page .learning-modal-close:focus-visible,.classroom-page .learning-modal-close:hover{color:#0f172a;border-color:rgba(148,163,184,.36);background:#fff}.classroom-page .learning-modal-body{min-width:0;overflow:auto;padding:20px;background:linear-gradient(180deg,rgba(248,250,252,.74),hsla(0,0%,100%,.96))}.classroom-page .learning-modal-body .learning-modal-panel{padding:0;border:0;background:transparent;box-shadow:none}.classroom-page .learning-modal-body .learning-modal-panel:before{display:none}.classroom-page .learning-modal-body .learning-overview-panel,.classroom-page .learning-modal-body .learning-progress-panel{overflow:visible}.classroom-page .learning-modal-body .learning-overview-panel .learning-roster-strip{background:hsla(0,0%,100%,.78)}.classroom-page.has-student-insight-modal{overflow:hidden}.classroom-page .student-insight-modal-backdrop{position:fixed;inset:0;z-index:1280;display:grid;place-items:center;padding:clamp(12px,2.4vw,28px);background:rgba(15,23,42,.38);opacity:0;pointer-events:none;transition:opacity .22s ease}.classroom-page .student-insight-modal-backdrop[hidden]{display:none}@supports ((backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px))){.classroom-page .student-insight-modal-backdrop{background:rgba(15,23,42,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.classroom-page .student-insight-modal-backdrop.is-open{opacity:1;pointer-events:auto}.classroom-page .student-insight-modal-shell{width:min(1180px,100%);height:min(88vh,860px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#fff;box-shadow:0 30px 80px -42px rgba(15,23,42,.76);opacity:0;transform:translateY(14px) scale(.985);transition:opacity .22s ease,transform .22s ease}.classroom-page .student-insight-modal-backdrop.is-open .student-insight-modal-shell{opacity:1;transform:translateY(0) scale(1)}.classroom-page .student-insight-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 13px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(135deg,rgba(248,250,252,.98),hsla(0,0%,100%,.94))}.classroom-page .student-insight-modal-header h3{margin:0;color:#0f172a;font-size:1.18rem;line-height:1.25}.classroom-page .student-insight-modal-close{flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:hsla(0,0%,100%,.9);color:#64748b;cursor:pointer;font-size:1.3rem;line-height:1}.classroom-page .student-insight-modal-close:focus-visible,.classroom-page .student-insight-modal-close:hover{color:#0f172a;border-color:rgba(148,163,184,.36);background:#fff}.classroom-page .student-insight-modal-body{position:relative;min-width:0;min-height:0;background:#f8fafc}.classroom-page .student-insight-modal-loading{position:absolute;inset:0;display:grid;place-items:center;color:#64748b;font-size:.95rem;font-weight:800;z-index:2}.classroom-page .student-insight-modal-loading[hidden]{display:none}.classroom-page .student-insight-modal-frame{width:100%;height:100%;border:0;background:transparent;opacity:1;transition:opacity .16s ease}.classroom-page .student-insight-modal-frame.is-loading{opacity:0}.classroom-page .workspace-floating-nav{left:max(18px,calc(env(safe-area-inset-left) + 14px));right:auto;bottom:max(104px,calc(env(safe-area-inset-bottom) + 92px))}.classroom-page .workspace-floating-nav-link:after{right:auto;left:calc(100% + .72rem);transform:translate(-.35rem,-50%) scale(.96)}.classroom-page .workspace-floating-nav-link:focus-visible:after,.classroom-page .workspace-floating-nav-link:hover:after{transform:translateY(-50%) scale(1)}@media (max-width:960px){.classroom-page .learning-modal-shell{max-height:calc(100vh - 28px)}.classroom-page .learning-modal-body{padding:16px}.classroom-page .student-insight-modal-shell{height:calc(100vh - 28px)}}@media (max-width:720px){.classroom-page .learning-modal-backdrop{padding:10px;place-items:stretch}.classroom-page .learning-modal-shell{width:100%;max-height:calc(100vh - 20px)}.classroom-page .learning-modal-header{padding:16px}.classroom-page .learning-modal-body{padding:14px}.classroom-page .student-insight-modal-backdrop{padding:8px;place-items:stretch}.classroom-page .student-insight-modal-shell{width:100%;height:calc(100vh - 16px)}.classroom-page .student-insight-modal-header{padding:14px}.classroom-page .workspace-floating-nav{left:max(10px,calc(env(safe-area-inset-left) + 6px));right:auto;bottom:max(78px,calc(env(safe-area-inset-bottom) + 68px))}.classroom-page .workspace-floating-nav-link:after{left:calc(100% + .52rem);right:auto;max-width:calc(100vw - 5.5rem)}}.classroom-page .discussion-room{--discussion-tool-size:34px;--discussion-tool-row:38px;--discussion-text-min:4.8em;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:clamp(600px,calc(100vh - 116px),760px);padding:12px}.classroom-page .discussion-room-header{display:block;padding:0;border:0;background:transparent}.classroom-page .discussion-room-summary-card{display:grid;gap:6px;width:100%;min-width:0;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.72);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.classroom-page .discussion-room-summary-meta,.classroom-page .discussion-room-summary-top{display:flex;align-items:center;gap:8px;min-width:0}.classroom-page .discussion-room-summary-top{justify-content:space-between}.classroom-page .discussion-room-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;padding:3px;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.86)}.classroom-page .discussion-room-tab{min-height:32px;border:0;border-radius:999px;background:transparent;color:#64748b;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.classroom-page .discussion-room-tab:focus-visible,.classroom-page .discussion-room-tab:hover{transform:translateY(-1px);color:var(--classroom-premium-accent)}.classroom-page .discussion-room-tab.is-active{background:#fff;color:var(--classroom-premium-accent);box-shadow:0 10px 20px -18px rgba(15,23,42,.42)}.classroom-page .discussion-room-summary-meta{flex-wrap:wrap;justify-content:space-between}.classroom-page .discussion-room-header h2{margin:0;font-size:1.04rem;line-height:1.25}.classroom-page .discussion-room-subtitle{display:-webkit-box;max-width:none;margin:0;overflow:hidden;color:#64748b;font-size:.82rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.classroom-page .discussion-room-alias-card{min-width:0;max-width:100%;flex-direction:row;align-items:center;gap:6px;padding:0;border:0;background:transparent;box-shadow:none}.classroom-page .discussion-room-alias-label{flex:0 0 auto;color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:0}.classroom-page .discussion-room-alias-card strong{min-width:0;max-width:9.5rem;overflow:hidden;color:#0f172a;font-size:.84rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.classroom-page .discussion-room-alias-meta{min-height:0;color:#64748b;font-size:.72rem;line-height:1.25;text-align:left}.classroom-page .discussion-room-alias-btn{min-width:0;min-height:30px;padding:.2rem .56rem;border-radius:999px}.classroom-page .discussion-room-status{flex:0 0 auto;gap:.38rem;padding:.26rem .55rem;border-radius:999px;background:rgba(241,245,249,.78);color:#475569;font-size:.72rem;line-height:1}.classroom-page .discussion-room-online-count{display:inline-flex;align-items:center;gap:.32rem;color:#0f766e;font-weight:800}.classroom-page .discussion-room-online-count:before{content:"";width:3px;height:3px;border-radius:999px;background:rgba(100,116,139,.72)}.classroom-page .discussion-room-online-count[hidden]{display:none!important}.classroom-page .discussion-room-body{min-height:0;padding:0 2px;background:transparent;transition:opacity .18s ease,min-height .22s ease,padding .22s ease,transform .22s ease}.classroom-page .discussion-composer,.classroom-page .discussion-panel{display:none!important}.classroom-page .discussion-composer.is-active,.classroom-page .discussion-panel.is-active{display:block!important}.classroom-page .discussion-room-body.discussion-panel.is-active{display:flex!important}.classroom-page .discussion-composer[hidden],.classroom-page .discussion-panel[hidden],.classroom-page .discussion-room-body[hidden],.classroom-page .discussion-room-composer[hidden]{display:none!important}.classroom-page .chat-messages{flex:1 1 auto;min-height:0;height:100%;max-height:100%;padding:2px 4px 4px;gap:.72rem;overflow-y:auto;scrollbar-gutter:stable}.classroom-page .chat-history-loader{padding:0 0 .28rem;background:linear-gradient(180deg,hsla(0,0%,100%,.96),hsla(0,0%,100%,.74),transparent)}.classroom-page .chat-history-loader .btn{min-height:28px;padding:.18rem .64rem;border-radius:999px;font-size:.74rem}.classroom-page .chat-empty-state{max-width:260px;gap:.38rem}.classroom-page .chat-empty-icon{width:2.5rem;height:2.5rem}.classroom-page .discussion-room-composer{min-height:0;padding:0;border-top:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:min-height .22s ease,transform .22s ease}.classroom-page .discussion-room.has-emoji-popover-open{overflow:visible;z-index:90}.classroom-page .discussion-room.has-emoji-popover-open .discussion-room-composer{z-index:96}.classroom-page .discussion-room-composer .chat-composer{position:relative;display:block;min-width:0}.classroom-page .chat-composer-shell{position:relative;min-height:calc(var(--discussion-text-min) + var(--discussion-tool-row) + 24px);height:auto;gap:8px;padding:10px 10px calc(var(--discussion-tool-row) + 12px);border-radius:8px;border-color:rgba(148,163,184,.2);background:hsla(0,0%,100%,.9);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.76);transition:min-height .22s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.classroom-page .chat-composer-shell:focus-within{border-color:rgba(79,70,229,.32);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 16px 30px -26px rgba(79,70,229,.55)}.classroom-page.role-teacher .chat-composer-shell:focus-within{border-color:rgba(15,118,110,.34);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 16px 30px -26px rgba(15,118,110,.55)}.classroom-page .chat-composer-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.classroom-page .chat-composer-input{min-height:var(--discussion-text-min);max-height:11rem;padding:0;overflow-y:auto}.classroom-page .chat-emoji-popover{left:auto;right:0;bottom:calc(100% + 8px);width:min(360px,100%);max-width:min(100%,calc(100vw - 32px));max-height:min(480px,calc(100vh - 128px));z-index:1200;transform-origin:bottom right}.classroom-page .chat-emoji-popover-body{max-height:clamp(180px,calc(100vh - 240px),340px)}.classroom-page .chat-composer-actions{position:absolute;right:8px;bottom:8px;z-index:4;display:inline-flex;flex-direction:row;align-items:center;width:auto;max-width:calc(100% - 16px);gap:4px;padding:2px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:rgba(248,250,252,.9);box-shadow:0 14px 28px -24px rgba(15,23,42,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.classroom-page .chat-attachment-trigger-btn,.classroom-page .chat-composer-tool-btn,.classroom-page .chat-emoji-trigger-btn,.classroom-page .chat-mention-all-btn,.classroom-page .discussion-room-composer .chat-send-btn{width:var(--discussion-tool-size);min-width:var(--discussion-tool-size);height:var(--discussion-tool-size);min-height:var(--discussion-tool-size);padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:0;font-size:.9rem;box-shadow:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease}.classroom-page .chat-attachment-trigger-btn>span:not(.chat-composer-sr-only),.classroom-page .chat-emoji-trigger-btn>span:not(.chat-composer-sr-only),.classroom-page .chat-send-btn>span:not(.chat-composer-sr-only){display:none}.classroom-page .chat-composer-tool-btn:focus-visible,.classroom-page .chat-composer-tool-btn:hover,.classroom-page .chat-emoji-trigger-btn.is-open{transform:translateY(-1px);box-shadow:0 12px 24px -20px rgba(15,23,42,.56)}.classroom-page .chat-composer-expand-btn,.classroom-page .chat-emoji-trigger-btn{border-color:rgba(99,102,241,.18);background:rgba(238,242,255,.74);color:#4338ca}.classroom-page.role-teacher .chat-composer-expand-btn,.classroom-page.role-teacher .chat-emoji-trigger-btn{border-color:rgba(15,118,110,.2);background:rgba(240,253,250,.78);color:#0f766e}.classroom-page .chat-attachment-trigger-btn{border-color:rgba(20,184,166,.2);background:rgba(240,253,250,.78);color:#0f766e}.classroom-page .chat-mention-all-btn{border-color:rgba(245,158,11,.24);background:rgba(255,251,235,.84);color:#b45309;font-weight:900}.classroom-page .chat-tool-symbol{font-size:1.08rem;line-height:1}.classroom-page .discussion-room-composer .chat-send-btn{border:0;background:var(--classroom-premium-accent);color:#fff}.classroom-page .discussion-room-composer .chat-send-btn.is-uploading{background:#0ea5e9;color:#fff}.classroom-page .discussion-room-composer .chat-send-btn.is-rate-limited{background:#dc2626;color:#fff}.classroom-page .classroom-private-body{min-height:var(--discussion-body-min-height,100px);padding:0 2px;overflow:hidden}.classroom-page .classroom-private-shell{flex:1 1 auto;width:100%;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.classroom-page .classroom-private-contact-bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:2px 4px 0}.classroom-page .classroom-private-contact-picker{position:relative;min-width:0}.classroom-page .classroom-private-contact-combobox{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;min-height:38px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:hsla(0,0%,100%,.94);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.classroom-page .classroom-private-contact-combobox:focus-within{border-color:rgba(79,70,229,.34);box-shadow:0 0 0 3px rgba(79,70,229,.1);background:#fff}.classroom-page.role-teacher .classroom-private-contact-combobox:focus-within{border-color:rgba(15,118,110,.34);box-shadow:0 0 0 3px rgba(15,118,110,.1)}.classroom-page .classroom-private-contact-input{width:100%;min-width:0;min-height:38px;padding:0 12px;border:0;background:transparent;color:#0f172a;font-size:.86rem;outline:none}.classroom-page .classroom-private-contact-input::-moz-placeholder{color:#94a3b8}.classroom-page .classroom-private-contact-input::placeholder{color:#94a3b8}.classroom-page .classroom-private-contact-toggle{display:inline-grid;place-items:center;width:38px;border:0;border-left:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.72);color:#64748b;cursor:pointer;transition:background-color .16s ease,color .16s ease}.classroom-page .classroom-private-contact-toggle:focus-visible,.classroom-page .classroom-private-contact-toggle:hover{background:rgba(224,231,255,.78);color:var(--classroom-premium-accent)}.classroom-page.role-teacher .classroom-private-contact-toggle:focus-visible,.classroom-page.role-teacher .classroom-private-contact-toggle:hover{background:rgba(204,251,241,.72);color:#0f766e}.classroom-page .classroom-private-contact-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:32;display:grid;gap:4px;max-height:min(242px,calc(100vh - 220px));padding:6px;overflow-y:auto;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 20px 36px -28px rgba(15,23,42,.55);animation:classroom-private-message-in .16s ease both}.classroom-page .classroom-private-contact-list[hidden]{display:none!important}.classroom-page .classroom-private-contact-option{display:grid;gap:2px;width:100%;min-width:0;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#0f172a;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.classroom-page .classroom-private-contact-option.is-active,.classroom-page .classroom-private-contact-option:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.16);background:rgba(238,242,255,.78)}.classroom-page.role-teacher .classroom-private-contact-option.is-active,.classroom-page.role-teacher .classroom-private-contact-option:hover{border-color:rgba(15,118,110,.16);background:rgba(240,253,250,.82)}.classroom-page .classroom-private-contact-option.is-selected{border-color:rgba(79,70,229,.22);background:rgba(224,231,255,.86)}.classroom-page.role-teacher .classroom-private-contact-option.is-selected{border-color:rgba(15,118,110,.22);background:rgba(204,251,241,.72)}.classroom-page .classroom-private-contact-option-main{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.classroom-page .classroom-private-contact-option-main strong{min-width:0;overflow:hidden;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-private-contact-option-main em{min-width:1.25rem;padding:.08rem .4rem;border-radius:999px;background:var(--classroom-premium-accent);color:#fff;font-size:.68rem;font-style:normal;text-align:center}.classroom-page .classroom-private-contact-empty,.classroom-page .classroom-private-contact-option small{overflow:hidden;color:#64748b;font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-private-contact-empty{padding:10px;text-align:center}.classroom-page .classroom-private-contact-select{width:100%;min-height:38px;padding:0 12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:hsla(0,0%,100%,.94);color:#0f172a;font-size:.86rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.classroom-page .classroom-private-contact-select:focus{border-color:rgba(79,70,229,.34);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.classroom-page.role-teacher .classroom-private-contact-select:focus{border-color:rgba(15,118,110,.34);box-shadow:0 0 0 3px rgba(15,118,110,.1)}.classroom-page .classroom-private-status{min-height:1rem;color:#64748b;font-size:.74rem}.classroom-page .classroom-private-conversation{min-height:0;height:100%;max-height:100%;display:grid;overflow-y:auto;padding:2px 4px 4px;scrollbar-gutter:stable}.classroom-page .classroom-private-message-list{align-self:end;display:grid;gap:.72rem}.classroom-page .classroom-private-message{max-width:88%;justify-self:start;padding:.68rem .78rem;border-radius:8px;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.96);box-shadow:0 12px 24px -22px rgba(15,23,42,.42);animation:classroom-private-message-in .18s ease both}.classroom-page .classroom-private-message.is-outgoing{justify-self:end;background:rgba(238,242,255,.9);border-color:rgba(79,70,229,.18)}.classroom-page.role-teacher .classroom-private-message.is-outgoing{background:rgba(240,253,250,.92);border-color:rgba(15,118,110,.18)}.classroom-page .classroom-private-message__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;color:#64748b;font-size:.72rem}.classroom-page .classroom-private-message__meta strong{max-width:60%;overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-private-message__content{white-space:pre-wrap;color:#0f172a;font-size:.9rem;line-height:1.55}.classroom-page .classroom-private-message__attachments{display:grid;gap:.44rem;margin-top:.55rem}.classroom-page .classroom-private-attachment{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.42rem;border-radius:8px;border:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.78);color:#0f172a;text-decoration:none;font:inherit;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.classroom-page .classroom-private-attachment:focus-visible,.classroom-page .classroom-private-attachment:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.26);box-shadow:0 12px 22px -20px rgba(15,23,42,.5)}.classroom-page .classroom-private-attachment.is-image{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;width:min(260px,100%);cursor:zoom-in}.classroom-page .classroom-private-attachment.is-image img{width:64px;height:64px;border-radius:8px;-o-object-fit:cover;object-fit:cover;background:rgba(241,245,249,.9)}.classroom-page .classroom-private-attachment.is-image span{color:#64748b;font-size:.74rem;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis}.classroom-page .classroom-private-file-icon,.classroom-page .classroom-private-preview-icon{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;flex:0 0 auto;background:rgba(224,231,255,.82)}.classroom-page .classroom-private-attachment.is-file span:last-child{min-width:0;display:grid;gap:.1rem}.classroom-page .classroom-private-attachment.is-file small{color:#64748b;font-size:.72rem}.classroom-page .classroom-private-composer .chat-composer-shell{min-height:calc(var(--discussion-text-min) + var(--discussion-tool-row) + 24px)}.classroom-page .classroom-private-composer-shell.is-dragover{border-color:rgba(14,165,233,.42);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 18px 34px -28px rgba(14,165,233,.7)}.classroom-page .classroom-private-attachment-preview{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:2px}.classroom-page .classroom-private-preview-card{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:6px;width:min(100%,210px);padding:4px;border-radius:8px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.94);animation:classroom-private-message-in .18s ease both}.classroom-page .classroom-private-preview-card img{width:34px;height:34px;border-radius:8px;-o-object-fit:cover;object-fit:cover}.classroom-page .classroom-private-preview-meta{min-width:0;display:grid;gap:1px}.classroom-page .classroom-private-preview-meta small,.classroom-page .classroom-private-preview-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-private-preview-meta strong{color:#0f172a;font-size:.75rem}.classroom-page .classroom-private-preview-meta small{color:#64748b;font-size:.68rem}.classroom-page .classroom-private-preview-card button{width:24px;height:24px;border:0;border-radius:999px;background:rgba(15,23,42,.08);color:#64748b;cursor:pointer}.classroom-page .classroom-private-preview-card button:hover{background:rgba(220,38,38,.12);color:#dc2626}.classroom-page .classroom-private-loading{margin:auto;color:#64748b;font-size:.86rem}.classroom-page .classroom-private-empty{min-height:100%}.classroom-page .classroom-private-file-btn,.classroom-page .classroom-private-image-btn{border-color:rgba(20,184,166,.2);background:rgba(240,253,250,.78);color:#0f766e}@keyframes classroom-private-message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.classroom-page .chat-composer-tool-btn[disabled]{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.classroom-page .chat-composer-expand-btn .icon-collapse,.classroom-page .chat-composer-expand-btn.is-expanded .icon-expand{display:none}.classroom-page .chat-composer-expand-btn.is-expanded .icon-collapse{display:block}.classroom-page .discussion-room.is-composer-expanded{grid-template-rows:auto minmax(0,0fr) minmax(0,1fr)!important}.classroom-page .discussion-room.is-composer-expanded .discussion-room-body{min-height:0!important;padding-top:0;padding-bottom:0;opacity:0;pointer-events:none;transform:translateY(-4px)}.classroom-page .discussion-room.is-composer-expanded .chat-composer,.classroom-page .discussion-room.is-composer-expanded .chat-composer-shell,.classroom-page .discussion-room.is-composer-expanded .discussion-room-composer{min-height:0;height:100%}.classroom-page .discussion-room.is-composer-expanded .discussion-room-composer{display:flex}.classroom-page .discussion-room.is-composer-expanded .chat-composer{display:flex;flex:1}.classroom-page .discussion-room.is-composer-expanded .chat-composer-shell{flex:1;padding:14px 14px calc(var(--discussion-tool-row) + 16px);background:hsla(0,0%,100%,.96);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.86),0 18px 38px -30px rgba(15,23,42,.6)}.classroom-page .discussion-room.is-composer-expanded .chat-composer-input{flex:1;min-height:0;height:100%!important;max-height:none}@media (max-width:720px){.classroom-page .discussion-room{--discussion-tool-size:44px;--discussion-tool-row:48px;min-height:560px;gap:8px;padding:10px}.classroom-page .discussion-room-summary-meta,.classroom-page .discussion-room-summary-top{align-items:flex-start}.classroom-page .discussion-room-summary-top{flex-wrap:wrap}.classroom-page .discussion-room-status{margin-left:0}.classroom-page .discussion-room-alias-card{flex-wrap:wrap}.classroom-page .chat-composer-shell{padding:10px 10px calc(var(--discussion-tool-row) + 12px)}.classroom-page .chat-composer-actions{right:69px;bottom:7px;max-width:calc(100% - 78px);overflow-x:auto;scrollbar-width:none}.classroom-page .chat-composer-actions::-webkit-scrollbar{display:none}}.dashboard-page{--dashboard-accent:#4f46e5;--dashboard-accent-rgb:79,70,229;--dashboard-accent-2:#0f766e;--dashboard-accent-2-rgb:15,118,110;--dashboard-warm:#b45309;--dashboard-warm-rgb:180,83,9;--dashboard-ink:#111827;--dashboard-paper:hsla(0,0%,100%,.84);--dashboard-paper-strong:hsla(0,0%,100%,.96);--dashboard-border:rgba(100,116,139,.18);--dashboard-border-strong:rgba(79,70,229,.3);--dashboard-shadow-soft:0 18px 42px -34px rgba(15,23,42,.42);--dashboard-shadow-lift:0 22px 50px -34px rgba(15,23,42,.48);--dashboard-radius-panel:18px;--dashboard-radius-card:8px;--dashboard-focus-ring:0 0 0 3px rgba(var(--dashboard-accent-rgb),0.16);background:linear-gradient(90deg,hsla(0,0%,100%,.16) 1px,transparent 0),linear-gradient(180deg,#f7f9fc,#eef4f8 46%,#f7f3ec);background-size:52px 52px,auto;overflow-x:hidden}.dashboard-page.role-teacher{--dashboard-accent:#0f766e;--dashboard-accent-rgb:15,118,110;--dashboard-accent-2:#4f46e5;--dashboard-accent-2-rgb:79,70,229;--dashboard-border-strong:rgba(15,118,110,.3);--dashboard-focus-ring:0 0 0 3px rgba(15,118,110,.16)}.dashboard-page.role-student{--dashboard-accent:#4f46e5}.dashboard-page,.dashboard-page *,.dashboard-page :after,.dashboard-page :before{box-sizing:border-box;letter-spacing:0}.dashboard-page .navbar{background:hsla(0,0%,100%,.9);border-bottom-color:rgba(148,163,184,.16);box-shadow:0 14px 32px -30px rgba(15,23,42,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.dashboard-page .navbar-brand,.dashboard-page .navbar-user{min-width:0}.dashboard-page .navbar-user .user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page .main-content{width:min(100%,1640px);max-width:none;box-sizing:border-box;padding:28px 28px 48px}.dashboard-shell{display:flex;flex-direction:column;gap:28px}.dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);gap:22px;align-items:stretch;padding:30px;border:1px solid var(--dashboard-border);border-radius:var(--dashboard-radius-panel);background:linear-gradient(135deg,hsla(0,0%,100%,.94),hsla(0,0%,100%,.72)),linear-gradient(180deg,rgba(241,245,249,.82),hsla(0,0%,100%,.62));box-shadow:var(--dashboard-shadow-soft);overflow:hidden}.dashboard-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(var(--dashboard-accent-rgb),.09),transparent 36%),linear-gradient(300deg,rgba(var(--dashboard-warm-rgb),.08),transparent 42%);opacity:.86}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero__content{display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}.dashboard-activity-item__top,.dashboard-hero__actions,.dashboard-hero__aside,.dashboard-hero__chips,.dashboard-hero__stats,.dashboard-hero__topline,.dashboard-offering-card__bottom,.dashboard-panel__header--spread,.dashboard-results-bar,.dashboard-spotlight__value-wrap,.dashboard-toolbar{display:flex}.dashboard-hero__topline{align-items:center;flex-wrap:wrap;gap:10px}.dashboard-badge,.dashboard-chip,.dashboard-filter-btn,.dashboard-hero__eyebrow,.dashboard-hero__status,.dashboard-quick-action__badge,.dashboard-reset-link,.dashboard-section-pill{font-weight:700}.dashboard-chip,.dashboard-hero__eyebrow,.dashboard-hero__status,.dashboard-section-pill{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.74);color:var(--text-secondary);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.64)}.dashboard-hero__eyebrow{padding:0 12px;color:var(--dashboard-accent);font-size:.82rem}.dashboard-hero__status{padding:0 11px;color:#7c2d12;font-size:.8rem;background:rgba(255,247,237,.82)}.dashboard-hero__title{margin:0;max-width:14ch;color:var(--dashboard-ink);font-size:2.55rem;line-height:1.08;font-weight:750;overflow-wrap:anywhere}.dashboard-hero__subtitle{margin:0;max-width:62ch;color:var(--text-secondary);font-size:1rem;line-height:1.78;overflow-wrap:anywhere}.dashboard-hero__chips{flex-wrap:wrap;gap:10px}.dashboard-chip{max-width:100%;padding:0 13px;font-size:.88rem;overflow-wrap:anywhere}.dashboard-hero__actions{align-items:center;flex-wrap:wrap;gap:12px;margin-top:4px}.dashboard-hero__actions .btn{min-height:44px;border-radius:999px}.dashboard-hero__secondary-action{background:hsla(0,0%,100%,.82)}.dashboard-hero__aside{gap:14px;min-width:0}.dashboard-hero__stats{flex:0 0 170px;flex-direction:column;gap:10px}.dashboard-hero__spotlight{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;border-radius:12px;background:linear-gradient(155deg,rgba(17,24,39,.96),rgba(38,38,38,.9)),linear-gradient(90deg,rgba(var(--dashboard-accent-rgb),.34),rgba(var(--dashboard-accent-2-rgb),.2));color:var(--text-inverse);box-shadow:0 24px 44px -30px rgba(15,23,42,.62)}.dashboard-spotlight__label{color:rgba(248,250,252,.78);font-size:.88rem}.dashboard-spotlight__value-wrap{align-items:flex-end;gap:8px}.dashboard-spotlight__value{color:#fff;font-size:3.35rem;line-height:1;font-weight:800}.dashboard-spotlight__suffix{padding-bottom:7px;color:rgba(248,250,252,.82);font-size:1rem}.dashboard-spotlight__note{margin:0;color:rgba(248,250,252,.76);line-height:1.72}.dashboard-activity-item,.dashboard-empty-state,.dashboard-list-item,.dashboard-mini-stat,.dashboard-offering-card,.dashboard-quick-action,.dashboard-security-card__row,.dashboard-stat-card{border:1px solid var(--dashboard-border);border-radius:var(--dashboard-radius-card);background:var(--dashboard-paper)}.dashboard-stat-card{padding:16px;box-shadow:var(--dashboard-shadow-soft)}.dashboard-stat-card--compact{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "note value";align-items:center;gap:4px 10px;min-height:72px;padding:12px;background:hsla(0,0%,100%,.78);box-shadow:none}.dashboard-stat-card__label{grid-area:label;color:var(--text-muted);font-size:.78rem;line-height:1.3}.dashboard-stat-card__value{grid-area:value;color:var(--dashboard-ink);font-size:1.45rem;line-height:1;font-weight:800;text-align:right;white-space:nowrap}.dashboard-stat-card__note{grid-area:note;margin:0;color:var(--text-secondary);font-size:.76rem;line-height:1.35}.student-cockpit{position:relative;min-width:0;padding:24px;border:1px solid var(--dashboard-border);border-radius:var(--dashboard-radius-panel);background:linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(248,250,252,.88)),linear-gradient(115deg,rgba(15,118,110,.08),transparent 44%),linear-gradient(305deg,rgba(180,83,9,.07),transparent 48%);box-shadow:var(--dashboard-shadow-soft);overflow:hidden}.student-cockpit-pulse-list,.student-cockpit-pulse__copy,.student-cockpit-step-list,.student-cockpit__head,.student-cockpit__head-link,.student-cockpit__layout,.student-cockpit__section-title,.student-cockpit__stats{min-width:0}.student-cockpit__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.student-cockpit__eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;margin-bottom:10px;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:rgba(240,253,250,.76);color:#0f766e;font-size:.76rem;font-weight:800;text-transform:uppercase}.student-cockpit__head h2{margin:0 0 6px;color:var(--dashboard-ink);font-size:1.45rem;line-height:1.22;font-weight:800;overflow-wrap:anywhere}.student-cockpit__head p{max-width:64ch;margin:0;color:var(--text-secondary);line-height:1.72;overflow-wrap:anywhere}.student-cockpit__head-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid rgba(79,70,229,.18);border-radius:999px;background:hsla(0,0%,100%,.78);color:var(--dashboard-accent);font-weight:800;text-decoration:none;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.student-cockpit__head-link:focus-visible,.student-cockpit__head-link:hover{transform:translateY(-1px);border-color:var(--dashboard-border-strong);background:hsla(0,0%,100%,.96);color:var(--dashboard-accent);text-decoration:none;box-shadow:0 16px 30px -24px rgba(15,23,42,.45)}.student-cockpit__layout{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(220px,.7fr) minmax(280px,.98fr);grid-template-areas:"primary stats steps" "primary pulse pulse";gap:14px}.student-cockpit-empty,.student-cockpit-pulse,.student-cockpit-stat,.student-cockpit-step,.student-cockpit__primary{border:1px solid rgba(100,116,139,.18);border-radius:var(--dashboard-radius-card)}.student-cockpit__primary{grid-area:primary;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-width:0;min-height:276px;padding:20px;background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(31,41,55,.92)),linear-gradient(45deg,rgba(15,118,110,.26),rgba(180,83,9,.18));color:#fff;text-decoration:none;box-shadow:0 22px 44px -34px rgba(15,23,42,.62);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.student-cockpit__primary:focus-visible,.student-cockpit__primary:hover{transform:translateY(-2px);color:#fff;text-decoration:none;box-shadow:0 26px 54px -34px rgba(15,23,42,.72)}.student-cockpit-empty small,.student-cockpit-pulse small,.student-cockpit-pulse__copy span,.student-cockpit-stat small,.student-cockpit-stat span,.student-cockpit-step__tag,.student-cockpit__primary-kicker,.student-cockpit__primary-meta,.student-cockpit__section-title span,.student-cockpit__today-feedback small,.student-cockpit__today-feedback span{font-size:.8rem}.student-cockpit__primary-kicker,.student-cockpit__primary-meta{color:rgba(248,250,252,.74)}.student-cockpit__primary strong{display:block;color:#fff;font-size:1.72rem;line-height:1.18;font-weight:850;overflow-wrap:anywhere}.student-cockpit__primary p{margin:0;color:rgba(248,250,252,.82);line-height:1.72;overflow-wrap:anywhere}.student-cockpit__today-feedback{display:grid;gap:7px;padding:12px;border:1px solid rgba(226,232,240,.16);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.08)}.student-cockpit__today-feedback small,.student-cockpit__today-feedback span{color:rgba(248,250,252,.72);line-height:1.45;overflow-wrap:anywhere}.student-cockpit__today-feedback strong{color:#fff;font-size:1rem;line-height:1.35;font-weight:850}.student-cockpit__today-meter{height:8px;border-radius:999px;background:hsla(0,0%,100%,.16);overflow:hidden}.student-cockpit__today-meter span{display:block;width:var(--cockpit-progress,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,#34d399,#f59e0b)}.student-cockpit__stats{grid-area:stats;display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px}.student-cockpit-stat{min-width:0;min-height:112px;padding:13px;background:hsla(0,0%,100%,.76)}.student-cockpit-stat small,.student-cockpit-stat span{display:block;color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.student-cockpit-stat strong{display:block;margin:9px 0 7px;color:var(--dashboard-ink);font-size:1.75rem;line-height:1;font-weight:850;overflow-wrap:anywhere}.student-cockpit-stat--danger{border-color:rgba(220,38,38,.22);background:hsla(0,86%,97%,.78)}.student-cockpit-stat--warning{border-color:rgba(180,83,9,.24);background:rgba(255,247,237,.78)}.student-cockpit-stat--success{border-color:rgba(5,150,105,.22);background:rgba(236,253,245,.76)}.student-cockpit-stat--primary{border-color:rgba(79,70,229,.2);background:rgba(238,242,255,.76)}.student-cockpit-stat--neutral{border-color:rgba(100,116,139,.16);background:rgba(248,250,252,.78)}.student-cockpit__pulse,.student-cockpit__steps{min-width:0;padding:14px;border:1px solid rgba(100,116,139,.14);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.58)}.student-cockpit__steps{grid-area:steps}.student-cockpit__pulse{grid-area:pulse}.student-cockpit__section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}.student-cockpit__section-title span{color:var(--text-muted);font-weight:800}.student-cockpit__section-title strong{color:var(--dashboard-ink);font-size:.95rem;line-height:1.35;text-align:right;overflow-wrap:anywhere}.student-cockpit-pulse-list,.student-cockpit-step-list{display:grid;gap:9px}.student-cockpit-empty,.student-cockpit-pulse,.student-cockpit-step{min-width:0;padding:12px;background:hsla(0,0%,100%,.76);color:inherit;text-decoration:none;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.student-cockpit-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start}.student-cockpit-empty:focus-visible,.student-cockpit-empty:hover,.student-cockpit-pulse:focus-visible,.student-cockpit-pulse:hover,.student-cockpit-step:focus-visible,.student-cockpit-step:hover{transform:translateY(-1px);border-color:var(--dashboard-border-strong);background:hsla(0,0%,100%,.94);color:inherit;text-decoration:none;box-shadow:0 16px 30px -26px rgba(15,23,42,.42)}.student-cockpit-step__tag{grid-row:span 2;align-self:start;display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:rgba(79,70,229,.1);color:var(--dashboard-accent);font-weight:800;white-space:nowrap}.student-cockpit-empty strong,.student-cockpit-pulse strong,.student-cockpit-step strong{color:var(--dashboard-ink);line-height:1.35;overflow-wrap:anywhere}.student-cockpit-empty small,.student-cockpit-pulse small,.student-cockpit-step em,.student-cockpit-step small{color:var(--text-secondary);line-height:1.45;overflow-wrap:anywhere}.student-cockpit-step em{grid-column:2;color:var(--text-muted);font-size:.76rem;font-style:normal;font-weight:800}.student-cockpit-pulse--danger,.student-cockpit-step--danger{border-left:4px solid #dc2626}.student-cockpit-pulse--warning,.student-cockpit-step--warning{border-left:4px solid #b45309}.student-cockpit-pulse--success,.student-cockpit-step--success{border-left:4px solid #059669}.student-cockpit-pulse--primary,.student-cockpit-step--primary{border-left:4px solid var(--dashboard-accent)}.student-cockpit-pulse--neutral,.student-cockpit-step--neutral{border-left:4px solid rgba(100,116,139,.48)}.student-cockpit-pulse{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.42fr);gap:8px 12px;align-items:center}.student-cockpit-pulse__copy{display:flex;flex-direction:column;gap:2px}.student-cockpit-pulse__copy span{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.student-cockpit-pulse__meter{height:8px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}.student-cockpit-pulse__meter span{display:block;width:var(--cockpit-progress,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#4f46e5)}.student-cockpit-pulse small{grid-column:1/-1}.student-cockpit-empty{display:flex;flex-direction:column;gap:4px}.dashboard-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.dashboard-main__primary,.dashboard-main__rail{min-width:0}.dashboard-activity-list,.dashboard-list,.dashboard-main__primary,.dashboard-main__rail,.dashboard-quick-actions,.dashboard-security-card{display:flex;flex-direction:column}.dashboard-main__primary{gap:28px}.dashboard-main__rail{gap:24px}.dashboard-empty-state,.dashboard-panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.dashboard-panel--primary{padding:0}.dashboard-panel__header{margin-bottom:16px}.dashboard-panel__header--spread{align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-panel__header h2{margin:0 0 6px;color:var(--dashboard-ink);font-size:1.35rem;font-weight:750}.dashboard-panel__header p,.dashboard-panel__placeholder{margin:0;color:var(--text-secondary);line-height:1.72}.dashboard-section-pill{flex:0 0 auto;padding:0 12px;font-size:.84rem}.dashboard-toolbar{align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:14px}.dashboard-toolbar__filters{display:flex;flex:1 1 420px;flex-wrap:wrap;gap:10px;min-width:0}.dashboard-toolbar__search{flex:1 1 320px;max-width:420px}.dashboard-organization-toolbar{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.58)}.dashboard-organization-toolbar__label{flex:0 0 auto;color:var(--text-secondary);font-size:.86rem;font-weight:750}.dashboard-organization-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.dashboard-search-shell{display:flex;align-items:center;gap:10px}.dashboard-filter-btn{gap:6px;min-height:44px;padding:0 15px;background:hsla(0,0%,100%,.72)}.dashboard-filter-btn,.dashboard-group-mode-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.22);border-radius:999px;color:var(--text-secondary);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.dashboard-group-mode-btn{min-height:38px;padding:0 13px;background:hsla(0,0%,100%,.68);font-weight:750}.dashboard-filter-btn span{color:var(--text-muted);font-size:.82rem}.dashboard-filter-btn.is-active,.dashboard-filter-btn:focus-visible,.dashboard-filter-btn:hover,.dashboard-group-mode-btn.is-active,.dashboard-group-mode-btn:focus-visible,.dashboard-group-mode-btn:hover{transform:translateY(-1px);border-color:var(--dashboard-border-strong);color:var(--dashboard-accent);background:hsla(0,0%,100%,.96);box-shadow:0 16px 28px -24px rgba(15,23,42,.42);text-decoration:none}.dashboard-group-mode-btn.is-active{border-color:transparent;color:#fff;box-shadow:0 18px 34px -24px rgba(15,23,42,.52)}.dashboard-group-mode-btn[data-group-mode=department].is-active{background:linear-gradient(135deg,#0f766e,#115e59)}.dashboard-group-mode-btn[data-group-mode=course].is-active{background:linear-gradient(135deg,#4f46e5,#3730a3)}.dashboard-group-mode-btn[data-group-mode=timeline].is-active{background:linear-gradient(135deg,#b45309,#92400e)}.dashboard-group-mode-btn.is-active:focus-visible,.dashboard-group-mode-btn.is-active:hover{border-color:transparent;color:#fff}.dashboard-activity-item:focus-visible,.dashboard-filter-btn:focus-visible,.dashboard-group-header:focus-visible,.dashboard-group-mode-btn:focus-visible,.dashboard-list-item:focus-visible,.dashboard-offering-card__enter:focus-visible,.dashboard-quick-action:focus-visible,.dashboard-reset-link:focus-visible,.dashboard-search-input:focus,.dashboard-search-submit:focus-visible,.student-cockpit-empty:focus-visible,.student-cockpit-pulse:focus-visible,.student-cockpit-step:focus-visible,.student-cockpit__head-link:focus-visible,.student-cockpit__primary:focus-visible{outline:none;box-shadow:var(--dashboard-focus-ring)}.dashboard-search-input{width:100%;min-width:0;min-height:44px;padding:0 15px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:hsla(0,0%,100%,.84);color:var(--text-primary);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72)}.dashboard-search-input:focus{border-color:var(--dashboard-border-strong)}.dashboard-search-submit{flex-shrink:0;min-height:44px;padding:0 17px;border:1px solid transparent;border-radius:999px;background:var(--dashboard-accent);color:var(--text-inverse);font-weight:750;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.dashboard-search-submit:focus-visible,.dashboard-search-submit:hover{transform:translateY(-1px);box-shadow:0 16px 26px -22px rgba(15,23,42,.62)}.dashboard-results-bar{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px;color:var(--text-secondary);font-size:.92rem}.dashboard-results-bar__summary{color:var(--text-muted)}.dashboard-reset-link{min-height:34px;border:0;background:transparent;color:var(--dashboard-accent);cursor:pointer;font-size:.9rem}.dashboard-offering-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-group-board,.dashboard-offering-grid.is-grouped,.dashboard-subgroup-board{display:flex;flex-direction:column}.dashboard-offering-grid.is-grouped{grid-template-columns:1fr}.dashboard-group-board{gap:15px}.dashboard-subgroup-board{gap:11px}.dashboard-group-section{min-width:0;border:1px solid rgba(100,116,139,.2);border-left:4px solid rgba(var(--dashboard-accent-rgb),.52);border-radius:var(--dashboard-radius-card);background:linear-gradient(180deg,hsla(0,0%,100%,.58),rgba(248,250,252,.64)),rgba(236,253,245,.34);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.dashboard-group-section.is-collapsed{cursor:pointer;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.24)}.dashboard-group-section--level-2{border-color:rgba(15,118,110,.2) rgba(15,118,110,.2) rgba(15,118,110,.2) rgba(15,118,110,.46);background:linear-gradient(180deg,rgba(240,253,250,.78),rgba(209,250,229,.4)),rgba(240,253,250,.68)}.dashboard-group-section--course{border-left-color:rgba(var(--dashboard-accent-2-rgb),.54);background:linear-gradient(180deg,hsla(0,0%,100%,.6),rgba(238,242,255,.7)),rgba(238,242,255,.56)}.dashboard-group-section+.dashboard-group-section{margin-top:0}.dashboard-group-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:13px 14px;border-bottom:1px solid rgba(100,116,139,.16);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.dashboard-group-header:hover{background:hsla(0,0%,100%,.36)}.dashboard-group-section.is-collapsed .dashboard-group-header{border-bottom-color:transparent}.dashboard-group-header__copy{min-width:0}.dashboard-group-header h3{margin:0 0 4px;color:var(--dashboard-ink);font-size:1.02rem;line-height:1.35;font-weight:780;overflow-wrap:anywhere}.dashboard-group-header p{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.45}.dashboard-group-header__actions{display:inline-flex;align-items:center;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-group-count{background:hsla(0,0%,100%,.72)}.dashboard-group-activity,.dashboard-group-count{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:var(--dashboard-accent);font-size:.78rem;font-weight:750}.dashboard-group-activity{background:rgba(var(--dashboard-accent-rgb),.1);white-space:nowrap}.dashboard-group-section--course .dashboard-group-activity,.dashboard-group-section--course .dashboard-group-count,.dashboard-group-section--course .dashboard-group-toggle{color:var(--dashboard-accent-2)}.dashboard-group-section--course .dashboard-group-activity{background:rgba(var(--dashboard-accent-2-rgb),.1)}.dashboard-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(148,163,184,.24);border-radius:50%;background:hsla(0,0%,100%,.76);color:var(--dashboard-accent);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.dashboard-group-toggle:focus-visible,.dashboard-group-toggle:hover{transform:translateY(-1px);border-color:var(--dashboard-border-strong);background:hsla(0,0%,100%,.96);box-shadow:var(--dashboard-focus-ring);outline:none}.dashboard-group-toggle__icon{width:8px;height:8px;margin-top:-3px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);transition:transform var(--transition-fast)}.dashboard-group-section.is-collapsed .dashboard-group-toggle__icon{margin-top:2px;transform:rotate(-135deg)}.dashboard-group-body{overflow:hidden;height:auto;opacity:1;transform:translateY(0);transition:height .19s cubic-bezier(.2,0,0,1),opacity .13s ease,transform .17s cubic-bezier(.2,0,0,1);will-change:height,opacity,transform}.dashboard-group-body__inner{padding:14px}.dashboard-group-section.is-collapsed .dashboard-group-body{height:0;opacity:0;transform:translateY(-3px);pointer-events:none}.dashboard-group-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-timeline-shell{display:grid;grid-template-columns:minmax(300px,.36fr) minmax(0,1fr);gap:18px;min-width:0;padding:14px;border:1px solid rgba(180,83,9,.18);border-radius:var(--dashboard-radius-card);background:linear-gradient(180deg,rgba(255,251,235,.68),hsla(0,0%,100%,.78)),rgba(255,251,235,.52)}.dashboard-timeline-axis{position:relative;display:flex;flex-direction:column;gap:6px;max-height:620px;min-height:360px;padding:18px 14px 18px 6px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;cursor:grab;scrollbar-width:thin;touch-action:none}.dashboard-timeline-axis:before{content:"";position:absolute;top:18px;bottom:18px;left:32px;width:1px;background:rgba(180,83,9,.22)}.dashboard-timeline-axis:after{content:"";position:sticky;top:50%;z-index:1;width:46px;height:0;margin-left:6px;border-top:2px solid rgba(180,83,9,.42);pointer-events:none;transform:translateY(-1px)}.dashboard-timeline-axis.is-dragging{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dashboard-timeline-tick{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;width:100%;min-height:96px;padding:13px 16px 13px 6px;box-sizing:border-box;border:0;border-radius:var(--dashboard-radius-card);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.dashboard-timeline-tick__year{color:rgba(146,64,14,.74);font-size:.72rem;font-weight:750}.dashboard-timeline-tick__line{position:relative;align-self:center;justify-self:start;width:44px;height:2px;margin-left:4px;border-radius:999px;background:rgba(180,83,9,.28)}.dashboard-timeline-tick__line:after{content:"";position:absolute;right:-3px;top:50%;width:8px;height:8px;border-radius:50%;background:#fff7ed;border:2px solid rgba(180,83,9,.38);transform:translateY(-50%)}.dashboard-timeline-tick__status{position:absolute;top:calc(100% + 8px);left:-2px;z-index:2;min-width:38px;padding:2px 6px;border-radius:999px;background:rgba(245,158,11,.15);color:#92400e;font-size:.68rem;font-weight:800;line-height:1.2;text-align:center;white-space:nowrap;box-shadow:0 1px 0 rgba(180,83,9,.08)}.dashboard-timeline-tick.is-past .dashboard-timeline-tick__line{background:rgba(100,116,139,.32)}.dashboard-timeline-tick.is-past .dashboard-timeline-tick__line:after{border-color:rgba(100,116,139,.42);background:#f8fafc}.dashboard-timeline-tick.is-past .dashboard-timeline-tick__status{background:rgba(100,116,139,.13);color:#64748b}.dashboard-timeline-tick.is-current .dashboard-timeline-tick__line{background:rgba(15,118,110,.52)}.dashboard-timeline-tick.is-current .dashboard-timeline-tick__line:after{border-color:rgba(15,118,110,.56);background:#ccfbf1}.dashboard-timeline-tick.is-current .dashboard-timeline-tick__status{background:rgba(15,118,110,.14);color:#0f766e}.dashboard-timeline-tick.is-future .dashboard-timeline-tick__line{background:rgba(180,83,9,.28)}.dashboard-timeline-tick.is-future .dashboard-timeline-tick__status{background:rgba(245,158,11,.15);color:#92400e}.dashboard-timeline-tick__copy{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:4px;padding-right:8px;overflow:hidden}.dashboard-timeline-tick__copy strong{color:var(--dashboard-ink);font-size:.9rem;line-height:1.35}.dashboard-timeline-tick__copy>*{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-timeline-tick__copy em,.dashboard-timeline-tick__copy span{color:var(--text-secondary);font-size:.78rem;font-style:normal;line-height:1.35}.dashboard-timeline-tick.is-active,.dashboard-timeline-tick:focus-visible,.dashboard-timeline-tick:hover{background:hsla(0,0%,100%,.84);outline:none}.dashboard-timeline-tick:focus-visible,.dashboard-timeline-tick:hover{transform:translateY(-1px);box-shadow:0 12px 24px -24px rgba(15,23,42,.42)}.dashboard-timeline-tick.is-active{background:hsla(0,0%,100%,.96);box-shadow:0 16px 30px -26px rgba(146,64,14,.42)}.dashboard-timeline-tick.is-active .dashboard-timeline-tick__line{background:var(--dashboard-warm)}.dashboard-timeline-tick.is-active .dashboard-timeline-tick__line:after{border-color:var(--dashboard-warm);background:#f59e0b}.dashboard-timeline-tick.is-active .dashboard-timeline-tick__status{background:rgba(146,64,14,.14);color:#7c2d12}.dashboard-timeline-gap{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;min-height:42px;padding:5px 16px 5px 6px;box-sizing:border-box;color:rgba(146,64,14,.66)}.dashboard-timeline-gap__line{align-self:center;justify-self:start;width:20px;height:1px;margin-left:4px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(180,83,9,.36) 0 4px,transparent 4px 8px)}.dashboard-timeline-gap__label{align-self:center;min-width:0;padding-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.3}.dashboard-timeline-now-marker{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;min-height:42px;padding:7px 16px 7px 6px;box-sizing:border-box;color:#0f766e}.dashboard-timeline-now-marker__line{position:relative;align-self:center;justify-self:start;width:44px;height:2px;margin-left:4px;border-radius:999px;background:rgba(15,118,110,.58)}.dashboard-timeline-now-marker__line:after,.dashboard-timeline-now-marker__line:before{content:"";position:absolute;top:50%;border-radius:50%;transform:translateY(-50%)}.dashboard-timeline-now-marker__line:before{left:-2px;width:6px;height:6px;background:rgba(15,118,110,.52)}.dashboard-timeline-now-marker__line:after{right:-4px;width:10px;height:10px;background:#ccfbf1;border:2px solid rgba(15,118,110,.58)}.dashboard-timeline-now-marker__label{align-self:center;justify-self:start;max-width:100%;padding:3px 9px;overflow:hidden;border-radius:999px;background:rgba(15,118,110,.13);color:#0f766e;font-size:.72rem;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.dashboard-timeline-focus{min-width:0;display:flex;flex-direction:column;gap:12px}.dashboard-timeline-focus-group,.dashboard-timeline-window{display:flex;flex-direction:column;gap:10px}.dashboard-timeline-focus-group{min-width:0;padding:12px;border:1px solid rgba(180,83,9,.14);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.56)}.dashboard-timeline-focus-group.is-active{border-color:rgba(180,83,9,.3);background:linear-gradient(180deg,rgba(255,251,235,.72),hsla(0,0%,100%,.82)),hsla(0,0%,100%,.74);box-shadow:0 18px 36px -32px rgba(146,64,14,.48)}.dashboard-timeline-focus-group__header{display:flex;justify-content:space-between;gap:12px;min-width:0}.dashboard-timeline-focus-group__header h4{margin:0 0 4px;color:var(--dashboard-ink);font-size:.98rem;line-height:1.35}.dashboard-timeline-focus-group__header p{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.dashboard-timeline-focus-group__badge{flex:0 0 auto;display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:999px;background:rgba(245,158,11,.12);color:#92400e;font-size:.72rem;font-weight:750}.dashboard-timeline-focus__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border:1px solid rgba(180,83,9,.16);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.76)}.dashboard-timeline-focus__header h3{margin:0 0 4px;color:var(--dashboard-ink);font-size:1.08rem;line-height:1.35}.dashboard-timeline-focus__header p{margin:0;color:var(--text-secondary);line-height:1.5}.dashboard-timeline-focus__badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(245,158,11,.14);color:#92400e;font-size:.78rem;font-weight:750}.dashboard-timeline-session-list{display:flex;flex-direction:column;gap:8px}.dashboard-timeline-session{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px;border:1px solid rgba(148,163,184,.2);border-left:4px solid rgba(245,158,11,.52);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.76);color:inherit;text-decoration:none;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.dashboard-timeline-session:focus-visible,.dashboard-timeline-session:hover{transform:translateY(-1px);border-color:rgba(180,83,9,.32);box-shadow:0 14px 28px -26px rgba(15,23,42,.42);outline:none}.dashboard-timeline-session.is-completed{border-left-color:rgba(100,116,139,.42)}.dashboard-timeline-session.is-current{border-left-color:rgba(15,118,110,.62)}.dashboard-timeline-session div{min-width:0}.dashboard-timeline-session span,.dashboard-timeline-session strong{display:block;min-width:0;overflow-wrap:anywhere}.dashboard-timeline-session strong{margin-bottom:3px;color:var(--dashboard-ink)}.dashboard-timeline-session span{color:var(--text-secondary);font-size:.84rem;line-height:1.45}.dashboard-timeline-session em{flex:0 0 auto;color:#92400e;font-size:.82rem;font-style:normal;font-weight:750}.dashboard-timeline-empty{grid-column:1/-1;padding:28px 16px;border:1px dashed rgba(180,83,9,.24);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.7);text-align:center}.dashboard-timeline-empty strong{display:block;margin-bottom:7px;color:var(--dashboard-ink)}.dashboard-timeline-empty p{margin:0;color:var(--text-secondary);line-height:1.65}.dashboard-offering-card{display:flex;flex-direction:column;gap:13px;min-width:0;padding:17px;background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.88)),var(--dashboard-paper);box-shadow:var(--dashboard-shadow-soft);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-fast),background-color var(--transition-fast)}.dashboard-offering-card:focus-within,.dashboard-offering-card:hover{transform:translateY(-2px);border-color:var(--dashboard-border-strong);box-shadow:var(--dashboard-shadow-lift)}.dashboard-offering-card__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.dashboard-list-item__content,.dashboard-offering-card__copy{min-width:0}.dashboard-offering-card__eyebrow{display:inline-flex;margin-bottom:5px;color:var(--dashboard-accent);font-size:.78rem;font-weight:750}.dashboard-offering-card__title{margin:0;color:var(--dashboard-ink);font-size:1.08rem;line-height:1.34;overflow-wrap:anywhere}.dashboard-offering-card__description,.dashboard-offering-card__summary{margin:0;color:var(--text-secondary);line-height:1.7;overflow-wrap:anywhere}.dashboard-offering-card__description{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-offering-card__badges,.dashboard-offering-card__meta{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.dashboard-badge,.dashboard-offering-card__meta span{display:inline-flex;align-items:center;max-width:100%;min-height:28px;padding:0 10px;border-radius:999px;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-badge--primary{background:rgba(79,70,229,.12);color:#4338ca}.dashboard-badge--success{background:rgba(16,185,129,.14);color:#047857}.dashboard-badge--warning{background:rgba(245,158,11,.16);color:#92400e}.dashboard-badge--danger{background:rgba(239,68,68,.14);color:#b91c1c}.dashboard-badge--neutral{background:rgba(148,163,184,.14);color:#475569}.dashboard-offering-card__meta span{background:rgba(100,116,139,.08);color:var(--text-secondary)}.dashboard-offering-card__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-mini-stat{min-width:0;padding:10px;background:rgba(248,250,252,.86)}.dashboard-mini-stat__label,.dashboard-mini-stat__note{display:block}.dashboard-mini-stat__label{color:var(--text-muted);font-size:.74rem}.dashboard-mini-stat__value{display:block;margin-top:3px;color:var(--dashboard-ink);font-size:1.08rem;line-height:1.12}.dashboard-mini-stat__note{margin-top:3px;color:var(--text-secondary);font-size:.74rem;line-height:1.42}.dashboard-offering-card__bottom{align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.dashboard-offering-card__activity{display:flex;flex-direction:column;gap:3px;color:var(--text-muted);font-size:.82rem}.dashboard-offering-card__activity strong{color:var(--text-primary);font-size:.88rem}.dashboard-offering-card__enter{flex-shrink:0;min-height:40px;border-radius:999px}.dashboard-activity-list,.dashboard-list,.dashboard-quick-actions{gap:10px}.dashboard-activity-item,.dashboard-list-item,.dashboard-quick-action{gap:13px;min-width:0;padding:14px;color:inherit;background:hsla(0,0%,100%,.76);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.dashboard-list-item,.dashboard-quick-action{display:flex}.dashboard-activity-item:hover,.dashboard-list-item:hover,.dashboard-quick-action--button:hover,.dashboard-quick-action:hover{transform:translateY(-1px);border-color:var(--dashboard-border-strong);box-shadow:0 18px 36px -30px rgba(15,23,42,.46);color:inherit;text-decoration:none}.dashboard-quick-action--button{width:100%;text-align:left;cursor:pointer}.dashboard-quick-action__badge{flex-shrink:0;align-self:flex-start;min-width:32px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border-radius:999px;background:rgba(var(--dashboard-accent-rgb),.12);color:var(--dashboard-accent);font-size:.78rem}.dashboard-activity-item strong,.dashboard-list-item strong,.dashboard-quick-action strong{display:block;margin-bottom:4px;color:var(--dashboard-ink)}.dashboard-activity-item p,.dashboard-list-item p,.dashboard-quick-action p{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.65}.dashboard-list-item p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-list-item__tone{width:8px;flex:0 0 8px;border-radius:999px;background:rgba(148,163,184,.36)}.dashboard-list-item__tone--primary{background:rgba(79,70,229,.48)}.dashboard-list-item__tone--warning{background:rgba(245,158,11,.55)}.dashboard-list-item__tone--danger{background:rgba(239,68,68,.55)}.dashboard-list-item__tone--neutral{background:rgba(148,163,184,.36)}.dashboard-activity-item{display:flex;flex-direction:column}.dashboard-activity-item__top{align-items:center;justify-content:space-between;gap:10px}.dashboard-activity-item__unread{color:#92400e;font-size:.76rem;font-weight:750}.dashboard-activity-item__time{color:var(--text-muted);font-size:.8rem}.dashboard-security-card{gap:9px}.dashboard-security-card__row{display:flex;justify-content:space-between;gap:14px;padding:12px;background:hsla(0,0%,100%,.76)}.dashboard-security-card__row span{color:var(--text-muted);font-size:.84rem}.dashboard-security-card__row strong{color:var(--text-primary);text-align:right;font-size:.9rem;overflow-wrap:anywhere}.dashboard-empty-search,.dashboard-empty-state{text-align:center}.dashboard-empty-state--embedded{padding:32px 16px;border:1px dashed rgba(148,163,184,.28);border-radius:var(--dashboard-radius-card);background:hsla(0,0%,100%,.66)}.dashboard-empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:14px;border-radius:50%;background:rgba(var(--dashboard-accent-rgb),.1);color:var(--dashboard-accent)}.dashboard-empty-search h3,.dashboard-empty-state h3{margin-bottom:8px}.dashboard-empty-search p,.dashboard-empty-state p{margin-bottom:16px}.dashboard-semester-section{min-width:0;scroll-margin-top:96px}.dashboard-semester-calendar{border-radius:12px;border-color:var(--dashboard-border);background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.96)),linear-gradient(120deg,rgba(var(--dashboard-accent-rgb),.06),transparent 44%);box-shadow:var(--dashboard-shadow-soft)}.dashboard-empty-search[hidden],.dashboard-offering-card[hidden],.dashboard-offering-grid[hidden]{display:none!important}.dashboard-reveal{opacity:1;transform:none}.dashboard-shell.is-reveal-ready .dashboard-reveal{opacity:0;transform:translateY(14px);transition:opacity .32s ease,transform .38s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--reveal-index, 0)*42ms)}.dashboard-shell.is-reveal-ready .dashboard-reveal.is-visible{opacity:1;transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:1280px){.dashboard-page .main-content{padding-inline:24px}.dashboard-hero{grid-template-columns:1fr}.dashboard-hero__aside{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.dashboard-hero__stats{flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-cockpit__layout{grid-template-columns:minmax(260px,.88fr) minmax(0,1fr);grid-template-areas:"primary stats" "steps pulse"}.dashboard-main{grid-template-columns:1fr}.dashboard-main__rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width:960px){.dashboard-page .main-content{padding-inline:20px}.dashboard-hero{padding:24px}.dashboard-hero__aside,.dashboard-main__rail,.dashboard-offering-grid{grid-template-columns:1fr}.dashboard-hero__title{max-width:18ch;font-size:2.1rem}.dashboard-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-cockpit__layout{grid-template-columns:1fr;grid-template-areas:"primary" "stats" "steps" "pulse"}.student-cockpit__primary{min-height:0}.student-cockpit__stats{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-offering-card__bottom,.dashboard-panel__header--spread,.dashboard-toolbar{flex-direction:column;align-items:stretch}.dashboard-toolbar__search{max-width:none}.dashboard-organization-toolbar{align-items:flex-start;flex-direction:column}.dashboard-offering-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-group-card-grid,.dashboard-timeline-shell{grid-template-columns:1fr}.dashboard-timeline-axis{max-height:320px;min-height:220px}}@media (max-width:720px){.dashboard-page .navbar{align-items:flex-start;overflow:hidden}.dashboard-page .navbar-user{align-items:stretch;justify-content:flex-start}.dashboard-page .navbar-user .user-name{width:100%}.dashboard-page .navbar-user>.flex{width:100%;max-width:100%;flex-wrap:wrap;justify-content:flex-start}.dashboard-page .navbar-user>.btn-outline{flex-basis:100%;width:-moz-fit-content;width:fit-content;align-self:flex-start}.dashboard-page .navbar-user a.btn[href="/manage/offerings"]{width:40px;min-width:40px;padding-inline:0;gap:0;font-size:0}.dashboard-page .navbar-user a.btn[href="/manage/offerings"] svg{width:17px;height:17px;margin:0}.dashboard-page .navbar-user>.flex>a[href="/logout"]{flex-basis:100%;width:-moz-fit-content;width:fit-content;align-self:flex-start}.dashboard-page .main-content{padding:18px 14px 36px}.dashboard-shell{gap:22px}.student-cockpit{padding:18px;border-radius:14px}.student-cockpit__head{flex-direction:column;gap:14px}.student-cockpit__head-link{width:100%}.student-cockpit__head h2{font-size:1.28rem}.student-cockpit__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-cockpit-step{grid-template-columns:1fr}.student-cockpit-step__tag{grid-row:auto;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:normal}.student-cockpit-step em{grid-column:1}.student-cockpit-pulse{grid-template-columns:1fr}.dashboard-hero{padding:20px;border-radius:14px;width:100%;max-width:100%;min-width:0}.dashboard-hero__title{max-width:12ch;font-size:1.7rem;word-break:break-all}.dashboard-hero__subtitle{word-break:break-all}.dashboard-hero__actions{display:grid;grid-template-columns:1fr}.dashboard-hero__actions .btn{width:100%}.dashboard-hero__stats{grid-template-columns:1fr}.dashboard-stat-card--compact{grid-template-columns:1fr;grid-template-areas:"label" "value" "note";justify-items:start}.dashboard-stat-card__value{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:1.18rem;text-align:left}.dashboard-spotlight__value{font-size:2.65rem}.dashboard-toolbar{gap:12px}.dashboard-toolbar__filters{flex:none;flex-wrap:nowrap;width:calc(100vw - 28px);max-width:100%;margin-inline:-2px;padding:2px 2px 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dashboard-toolbar__filters::-webkit-scrollbar{display:none}.dashboard-filter-btn{flex:0 0 auto;scroll-snap-align:start}.dashboard-organization-switch{flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dashboard-organization-switch::-webkit-scrollbar{display:none}.dashboard-group-mode-btn{flex:0 0 auto}.dashboard-search-shell{flex-direction:column;align-items:stretch}.dashboard-search-submit{width:100%}.dashboard-results-bar,.dashboard-security-card__row{flex-direction:column;align-items:flex-start}.dashboard-offering-card{padding:15px}.dashboard-offering-card__top{grid-template-columns:1fr;align-items:stretch}.dashboard-offering-card__enter{width:100%}.dashboard-offering-card__metrics{grid-template-columns:1fr}.dashboard-group-header,.dashboard-timeline-focus-group__header,.dashboard-timeline-focus__header,.dashboard-timeline-session{align-items:flex-start;flex-direction:column}.dashboard-group-header__actions{justify-content:flex-start}.dashboard-group-body__inner,.dashboard-timeline-shell{padding:12px}.dashboard-activity-item__top{align-items:flex-start;flex-direction:column}}@media (max-width:460px){.dashboard-page .navbar-user .user-name{display:none}.dashboard-page .navbar-user .btn-sm{min-height:36px;padding-inline:.62rem}.dashboard-page .navbar-user a.btn[href="/manage/offerings"]{width:40px;min-width:40px;padding-inline:0;gap:0;font-size:0}.dashboard-page .navbar-user a.btn[href="/manage/offerings"] svg{width:17px;height:17px;margin:0}.dashboard-hero{padding:18px}.dashboard-hero__title{font-size:1.68rem}.dashboard-hero__subtitle{font-size:.95rem}.student-cockpit{padding:16px}.student-cockpit__stats{grid-template-columns:1fr}.student-cockpit-stat{min-height:0}.student-cockpit-stat strong{font-size:1.42rem}.student-cockpit__section-title{align-items:flex-start;flex-direction:column;gap:2px}.student-cockpit__section-title strong{text-align:left}.dashboard-hero__spotlight{padding:18px}.dashboard-spotlight__value{font-size:2.35rem}.dashboard-stat-card--compact{grid-template-columns:minmax(0,1fr) minmax(3.5rem,auto)}.dashboard-stat-card__value{min-width:0;font-size:1.28rem}.dashboard-panel__header h2{font-size:1.2rem}.dashboard-chip,.dashboard-section-pill{width:-moz-fit-content;width:fit-content}}@media (prefers-reduced-motion:reduce){.dashboard-page *,.dashboard-page :after,.dashboard-page :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.dashboard-reveal,.dashboard-shell.is-reveal-ready .dashboard-reveal{opacity:1;transform:none;transition:none}}.semester-calendar-panel{display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.94)),linear-gradient(135deg,rgba(240,253,250,.46),rgba(255,251,235,.26));box-shadow:0 18px 42px rgba(15,23,42,.08)}.semester-calendar-panel__header,.semester-calendar-panel__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.semester-calendar-panel__heading{display:flex;flex-direction:column;gap:8px}.semester-calendar-panel__title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.semester-calendar-panel__subtitle{margin:0;color:var(--text-secondary);line-height:1.65}.semester-calendar-panel__actions,.semester-calendar-panel__legend{display:flex;flex-wrap:wrap;gap:8px}.semester-calendar-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:rgba(248,250,252,.9);color:var(--text-secondary);font-size:.82rem}.semester-calendar-chip.is-accent{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.2);color:#c2410c}.semester-calendar-chip.is-success{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.2);color:#15803d}.semester-calendar-chip.is-todo{background:rgba(79,70,229,.1);border-color:rgba(79,70,229,.18);color:#4338ca}.semester-calendar-panel__overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.semester-calendar-overview-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;border-radius:8px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.88)}.semester-calendar-overview-card small,.semester-calendar-overview-card span{color:var(--text-muted)}.semester-calendar-overview-card span{font-size:.78rem;letter-spacing:0;text-transform:uppercase}.semester-calendar-overview-card strong{color:var(--text-primary);font-size:1.02rem;line-height:1.4}.semester-calendar-overview-card small{font-size:.8rem;line-height:1.5}.semester-calendar-panel__field{display:flex;flex-direction:column;gap:6px;min-width:260px}.semester-calendar-panel__field span{color:var(--text-secondary);font-size:.82rem;font-weight:600}.semester-calendar-panel__toolbar{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);align-items:end}.semester-calendar-panel__hint{justify-self:end;max-width:720px;padding:12px 14px;border:1px solid rgba(79,70,229,.16);border-radius:8px;background:rgba(238,242,255,.6);color:var(--text-muted);font-size:.84rem;line-height:1.65}.semester-calendar-panel__empty{padding:36px 24px;border-radius:8px;border:1px dashed rgba(148,163,184,.34);background:rgba(248,250,252,.78);color:var(--text-secondary);text-align:center;line-height:1.7}.semester-calendar-panel__empty strong{display:block;margin-bottom:8px;color:var(--text-primary)}.semester-calendar-panel__empty p{margin:0}.semester-chip-line{display:flex;flex-wrap:wrap;gap:6px}.semester-calendar-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:12px;scroll-padding-inline:50%;overscroll-behavior-x:contain;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.semester-calendar-scroll.is-dragging{cursor:grabbing}.semester-calendar-board{display:grid;gap:0;min-width:-moz-max-content;min-width:max-content;border:1px solid rgba(148,163,184,.24);border-radius:8px;overflow:hidden;background:#fff;transition:grid-template-columns .24s cubic-bezier(.2,.8,.2,1)}.semester-sticky-cell{position:sticky;left:0;z-index:6;background:linear-gradient(180deg,#f8fafc,#eef2f7);border-right:1px solid rgba(148,163,184,.18)}.semester-day-cell,.semester-header-cell,.semester-weekday-cell{min-height:58px;padding:9px 10px;border-right:1px solid rgba(148,163,184,.16);border-bottom:1px solid rgba(148,163,184,.16);transition:background-color .18s ease,border-color .18s ease,box-shadow .22s ease,transform .22s ease}.semester-header-cell{display:flex;align-items:center;justify-content:center;min-height:46px;font-weight:700;color:var(--text-primary);background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(241,245,249,.92))}.semester-header-cell.month{min-height:52px;justify-content:flex-start;color:#0f172a;background:linear-gradient(135deg,rgba(255,247,237,.9),rgba(239,246,255,.92))}.semester-header-cell.is-current-week{background:linear-gradient(180deg,rgba(219,234,254,.94),rgba(239,246,255,.98));color:#1d4ed8}.semester-header-cell.is-active-week{position:relative;z-index:3;border-color:rgba(79,70,229,.26);background:linear-gradient(180deg,rgba(238,242,255,.98),hsla(0,0%,100%,.98));color:#3730a3;box-shadow:inset 0 0 0 1px rgba(79,70,229,.18),0 14px 24px -22px rgba(79,70,229,.5)}.semester-header-cell.is-padding-week{color:transparent;background:linear-gradient(180deg,rgba(248,250,252,.72),rgba(241,245,249,.62));border-color:rgba(226,232,240,.9)}.semester-day-cell[data-week-key],.semester-header-cell[data-week-key]{cursor:pointer}.semester-header-cell[data-week-key]:focus-visible{outline:2px solid rgba(79,70,229,.36);outline-offset:-3px}.semester-week-label{display:none}.semester-weekday-cell{display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);background:linear-gradient(180deg,rgba(248,250,252,.98),hsla(0,0%,100%,.98))}.semester-weekday-cell.is-current-week{background:linear-gradient(180deg,rgba(224,231,255,.7),rgba(239,246,255,.94));color:#1e40af}.semester-day-cell{display:flex;flex-direction:column;gap:6px;min-width:0;background:#fff}.semester-day-cell.is-active-week{border-color:rgba(79,70,229,.16);background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(238,242,255,.76));box-shadow:inset 0 0 0 1px rgba(79,70,229,.08)}.semester-day-cell .date-number{font-size:1rem;font-weight:700;color:var(--text-primary)}.semester-day-cell .date-meta{font-size:.74rem;line-height:1.45;color:var(--text-muted)}.semester-day-cell.is-current-week{background:linear-gradient(180deg,rgba(239,246,255,.92),rgba(248,250,252,.98))}.semester-day-cell.is-weekend{background:rgba(248,250,252,.86)}.semester-day-cell.is-holiday{background:linear-gradient(180deg,rgba(255,237,213,.82),rgba(255,247,237,.9))}.semester-day-cell.is-workday{background:linear-gradient(180deg,rgba(224,242,254,.72),rgba(239,246,255,.92))}.semester-day-cell.is-today{box-shadow:inset 0 0 0 2px rgba(14,165,233,.42);background:linear-gradient(180deg,rgba(219,234,254,.92),rgba(239,246,255,.98))}.semester-day-cell.is-todo-highlight{position:relative;background:linear-gradient(180deg,rgba(224,231,255,.92),rgba(238,242,255,.98));box-shadow:inset 0 0 0 1px rgba(79,70,229,.22),inset 0 -3px 0 rgba(79,70,229,.28)}.semester-day-cell.is-todo-range-end,.semester-day-cell.is-todo-range-start{box-shadow:inset 0 0 0 2px rgba(79,70,229,.42),0 12px 22px -22px rgba(79,70,229,.48)}.semester-day-cell.is-todo-range-mid .date-number{color:#4338ca}.semester-day-cell.is-outside{background:rgba(248,250,252,.74)}.semester-day-cell.is-padding-week{background:rgba(248,250,252,.56);cursor:default}.semester-day-cell.is-outside .date-meta,.semester-day-cell.is-outside .date-number{opacity:.56}.semester-mini-tag{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:2px 7px;border-radius:999px;background:rgba(15,23,42,.08);color:var(--text-secondary);font-size:.72rem}.semester-mini-tag.holiday{background:rgba(249,115,22,.16);color:#c2410c}.semester-mini-tag.workday{background:rgba(14,165,233,.16);color:#0369a1}.semester-todo-cell{position:relative;min-width:96px;min-height:108px;padding:10px;border-right:1px solid rgba(148,163,184,.16);border-bottom:1px solid rgba(148,163,184,.16);background:hsla(0,0%,100%,.94)}.semester-todo-axis{display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-weight:750}.semester-todo-cell.is-current-week{background:linear-gradient(180deg,rgba(238,242,255,.94),rgba(248,250,252,.98))}.semester-calendar-gantt-lane{position:relative;display:grid;gap:6px;max-height:128px;min-height:84px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}.semester-calendar-gantt-lane::-webkit-scrollbar{width:6px}.semester-calendar-gantt-lane::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.42)}.semester-calendar-todo-bar{--todo-left:0%;--todo-width:100%;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:var(--todo-width);min-width:42px;min-height:24px;margin-left:var(--todo-left);padding:3px 7px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:rgba(79,70,229,.1);color:#3730a3;font:inherit;font-size:.72rem;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.semester-calendar-todo-bar.is-active,.semester-calendar-todo-bar:focus-visible,.semester-calendar-todo-bar:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.34);box-shadow:0 12px 22px -20px rgba(15,23,42,.48);outline:none}.semester-calendar-todo-bar.is-active{background:rgba(79,70,229,.16);box-shadow:0 14px 24px -18px rgba(79,70,229,.54),0 0 0 2px rgba(79,70,229,.12)}.semester-calendar-todo-bar.is-lesson{border-color:rgba(14,116,144,.2);background:rgba(236,254,255,.78);color:#155e75}.semester-calendar-todo-bar.is-academic_course_exam,.semester-calendar-todo-bar.is-academic_exam,.semester-calendar-todo-bar.is-assignment,.semester-calendar-todo-bar.is-exam{border-color:rgba(180,83,9,.2);background:rgba(255,251,235,.86);color:#92400e}.semester-calendar-todo-bar.is-stage{border-color:rgba(124,58,237,.18);background:rgba(245,243,255,.86);color:#6d28d9}.semester-calendar-todo-bar.is-manual{border-color:rgba(15,118,110,.2);background:rgba(240,253,250,.9);color:#0f766e}.semester-calendar-todo-bar.is-academic_invigilation,.semester-calendar-todo-bar.is-invigilation{border-color:rgba(220,38,38,.2);background:hsla(0,86%,97%,.9);color:#b91c1c}.semester-calendar-todo-bar.is-compact-academic{grid-template-columns:minmax(0,1fr);max-width:100%;overflow:hidden}.semester-calendar-todo-bar.is-completed{opacity:.56}.semester-calendar-todo-bar__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.semester-calendar-todo-bar__label.is-compact-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;width:100%}.semester-calendar-todo-bar__event-location,.semester-calendar-todo-bar__event-type{flex:0 0 auto;white-space:nowrap}.semester-calendar-todo-bar__event-type{font-weight:850}.semester-calendar-todo-bar__event-course{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semester-calendar-todo-bar__event-location{opacity:.82;font-weight:760}.semester-calendar-todo-bar small{color:currentColor;opacity:.72;white-space:nowrap}.semester-todo-cell__empty,.semester-todo-cell__more{color:var(--text-muted);font-size:.76rem}.semester-todo-cell__more{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:6px;padding:2px 7px;border-radius:999px;background:rgba(100,116,139,.1)}.semester-calendar-todo-detail{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.86);box-shadow:0 18px 34px -30px rgba(15,23,42,.5)}.semester-calendar-todo-detail[hidden]{display:none}.semester-calendar-todo-detail__copy{display:grid;gap:4px;min-width:0}.semester-calendar-todo-detail__copy small,.semester-calendar-todo-detail__copy span{color:var(--text-muted)}.semester-calendar-todo-detail__copy strong{color:var(--text-primary);overflow-wrap:anywhere}.semester-calendar-todo-detail__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.semester-calendar-week-todo-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px}.semester-calendar-week-todo-stage[hidden]{display:none}.semester-week-todos__arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(148,163,184,.22);border-radius:50%;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));color:#334155;cursor:pointer;box-shadow:0 14px 26px -22px rgba(15,23,42,.5);transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .22s ease}.semester-week-todos__arrow:focus-visible:not(:disabled),.semester-week-todos__arrow:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(79,70,229,.34);color:#4338ca;box-shadow:0 18px 30px -22px rgba(79,70,229,.46),0 0 0 3px rgba(79,70,229,.08);outline:none}.semester-week-todos__arrow:disabled{opacity:.34;cursor:not-allowed;box-shadow:none}.semester-week-todos__rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:12px;align-items:stretch;min-width:0}.semester-week-todo-card,.semester-week-todo-peek{min-width:0;border-radius:8px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.9);box-shadow:0 18px 34px -32px rgba(15,23,42,.44)}.semester-week-todo-peek{display:grid;align-content:start;gap:6px;padding:14px 12px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;opacity:.76;transition:opacity .18s ease,transform .18s ease,border-color .18s ease}.semester-week-todo-peek:focus-visible:not(:disabled),.semester-week-todo-peek:hover:not(:disabled){opacity:1;transform:translateY(-1px);border-color:rgba(79,70,229,.24);outline:none}.semester-week-todo-peek:disabled{cursor:default;opacity:.38}.semester-week-todo-peek small,.semester-week-todo-peek span{color:var(--text-muted);font-size:.74rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.semester-week-todo-peek strong{min-width:0;color:var(--text-primary);font-size:.86rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.semester-week-todo-card{display:grid;gap:12px;padding:16px;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.96)),linear-gradient(135deg,rgba(238,242,255,.5),rgba(240,253,250,.26))}.semester-week-todo-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.semester-week-todo-card__head div{display:grid;gap:4px;min-width:0}.semester-week-todo-card__head small,.semester-week-todo-card__head span{color:var(--text-muted);font-size:.78rem;font-weight:750}.semester-week-todo-card__head strong{color:var(--text-primary);font-size:.98rem;line-height:1.35}.semester-week-gantt{display:grid;gap:8px;max-height:18rem;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}.semester-week-gantt::-webkit-scrollbar{width:6px}.semester-week-gantt::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.42)}.semester-week-gantt-row{display:grid;grid-template-columns:minmax(7rem,.86fr) minmax(0,1.35fr) minmax(4.2rem,auto);align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:hsla(0,0%,100%,.84);color:#334155;font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .22s ease}.semester-week-gantt-row.is-active,.semester-week-gantt-row:focus-visible,.semester-week-gantt-row:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.32);background:rgba(238,242,255,.82);box-shadow:0 16px 28px -24px rgba(79,70,229,.44);outline:none}.semester-week-gantt-row__lane{position:relative;height:8px;border-radius:999px;background:rgba(226,232,240,.9);overflow:hidden}.semester-week-gantt-row__bar{position:absolute;top:0;bottom:0;left:var(--todo-left);width:var(--todo-width);min-width:10px;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#14b8a6);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.52)}.semester-week-gantt-row.is-lesson .semester-week-gantt-row__bar{background:linear-gradient(90deg,#0891b2,#22c55e)}.semester-week-gantt-row.is-assignment .semester-week-gantt-row__bar,.semester-week-gantt-row.is-exam .semester-week-gantt-row__bar{background:linear-gradient(90deg,#f59e0b,#2563eb)}.semester-week-gantt-row.is-stage .semester-week-gantt-row__bar{background:linear-gradient(90deg,#7c3aed,#f59e0b)}.semester-week-gantt-row.is-manual .semester-week-gantt-row__bar{background:linear-gradient(90deg,#0f766e,#84cc16)}.semester-week-gantt-row.is-invigilation .semester-week-gantt-row__bar{background:linear-gradient(90deg,#dc2626,#f59e0b)}.semester-week-gantt-row.is-completed{opacity:.62}.semester-week-gantt-row__copy{display:grid;gap:3px;min-width:0}.semester-week-gantt-row__copy strong{color:var(--text-primary);font-size:.84rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.semester-week-gantt-row__copy small{color:var(--text-muted);font-size:.72rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.semester-week-gantt-row__chip{justify-self:end;max-width:7.4rem;padding:4px 8px;border-radius:999px;background:rgba(15,23,42,.07);color:var(--text-secondary);font-size:.72rem;font-weight:750;line-height:1.25;white-space:normal;overflow-wrap:anywhere;text-align:center}.semester-week-gantt__empty{display:grid;place-items:center;min-height:5.5rem;border:1px dashed rgba(148,163,184,.28);border-radius:8px;background:rgba(248,250,252,.8);color:var(--text-muted);font-size:.86rem;font-weight:700}.semester-week-todo-focus{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px;border-radius:8px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.84)}.semester-week-todo-focus__copy{display:grid;gap:4px;min-width:0}.semester-week-todo-focus small,.semester-week-todo-focus span{color:var(--text-muted);font-size:.76rem;line-height:1.4}.semester-week-todo-focus strong{color:var(--text-primary);font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.semester-week-todo-focus__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.semester-week-date-axis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0;padding:7px;border-radius:8px;background:rgba(241,245,249,.76)}.semester-week-date-axis__cell{display:grid;justify-items:center;gap:2px;min-width:0;padding:5px 2px;border-radius:7px;background:hsla(0,0%,100%,.78);color:var(--text-muted);line-height:1.15}.semester-week-date-axis__cell em{font-style:normal;font-size:.68rem;font-weight:750}.semester-week-date-axis__cell strong{color:var(--text-primary);font-size:.74rem;font-weight:800;white-space:nowrap}.semester-week-date-axis.is-compact{gap:2px;padding:4px;background:rgba(241,245,249,.58)}.semester-week-date-axis.is-compact .semester-week-date-axis__cell{padding:4px 1px;background:hsla(0,0%,100%,.58)}.semester-week-date-axis.is-compact .semester-week-date-axis__cell em{display:none}.semester-week-date-axis.is-compact .semester-week-date-axis__cell strong{font-size:.66rem}.semester-week-todo-list{display:grid;gap:12px;max-height:24rem;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}.semester-week-todo-list::-webkit-scrollbar{width:6px}.semester-week-todo-list::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.42)}.semester-week-todo-item-card{display:grid;gap:11px;min-width:0;padding:14px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.9);color:#334155;cursor:default;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .22s ease}.semester-week-todo-item-card.has-link{cursor:pointer}.semester-week-todo-item-card.is-active,.semester-week-todo-item-card:focus-visible,.semester-week-todo-item-card:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.3);background:rgba(248,250,252,.98);box-shadow:0 18px 28px -24px rgba(79,70,229,.42);outline:none}.semester-week-todo-item-card.is-completed{opacity:.64}.semester-week-todo-item-card__copy{display:grid;gap:6px;min-width:0}.semester-week-todo-item-card__eyebrow{color:var(--text-muted);font-size:.76rem;font-weight:760;line-height:1.35}.semester-week-todo-item-card__copy strong{color:var(--text-primary);font-size:.96rem;line-height:1.42;white-space:normal;overflow-wrap:anywhere}.semester-week-todo-item-card__copy p{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.58;white-space:normal;overflow-wrap:anywhere}.semester-week-todo-item-card__actions,.semester-week-todo-item-card__meta{display:flex;flex-wrap:wrap;gap:8px}.semester-week-todo-item-card__meta span{max-width:100%;padding:4px 8px;border-radius:999px;background:rgba(15,23,42,.06);color:var(--text-secondary);font-size:.74rem;font-weight:720;line-height:1.28;white-space:normal;overflow-wrap:anywhere}.semester-week-todo-progress{display:grid;gap:6px;min-width:0}.semester-week-todo-progress small{color:var(--text-muted);font-size:.74rem;font-weight:720;line-height:1.35}.semester-week-todo-progress__track{position:relative;display:block;height:11px;border-radius:999px;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(148,163,184,.3),rgba(148,163,184,.3) 1px,transparent 0,transparent 14.28571%),rgba(226,232,240,.9)}.semester-week-todo-progress__bar{position:absolute;top:0;bottom:0;left:var(--todo-left);width:var(--todo-width);min-width:8px;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#14b8a6);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.52)}.semester-week-todo-item-card.is-lesson .semester-week-todo-progress__bar{background:linear-gradient(90deg,#0891b2,#22c55e)}.semester-week-todo-item-card.is-assignment .semester-week-todo-progress__bar,.semester-week-todo-item-card.is-exam .semester-week-todo-progress__bar{background:linear-gradient(90deg,#f59e0b,#2563eb)}.semester-week-todo-item-card.is-stage .semester-week-todo-progress__bar{background:linear-gradient(90deg,#7c3aed,#f59e0b)}.semester-week-todo-item-card.is-manual .semester-week-todo-progress__bar{background:linear-gradient(90deg,#0f766e,#84cc16)}.semester-week-todo-item-card.is-invigilation .semester-week-todo-progress__bar{background:linear-gradient(90deg,#dc2626,#f59e0b)}.semester-todo-modal-shell[hidden]{display:none}.semester-todo-modal-shell{position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:18px}.semester-todo-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.32);opacity:0;transition:opacity .18s ease}.semester-todo-modal-card{position:relative;width:min(560px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;padding:20px;border-radius:8px;border:1px solid rgba(148,163,184,.22);box-shadow:0 34px 70px -42px rgba(15,23,42,.62);opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.semester-todo-modal-shell.is-open .semester-todo-modal-backdrop,.semester-todo-modal-shell.is-open .semester-todo-modal-card{opacity:1}.semester-todo-modal-shell.is-open .semester-todo-modal-card{transform:translateY(0)}.semester-todo-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.semester-todo-modal-head span{font-size:.78rem;font-weight:750}.semester-todo-modal-head h3{margin:4px 0 0}.semester-todo-modal-form,.semester-todo-modal-grid{display:grid;gap:12px}.semester-todo-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.semester-todo-picker{display:grid;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:rgba(248,250,252,.86)}.semester-todo-picker__grid,.semester-todo-picker__head,.semester-todo-picker__roles,.semester-todo-picker__weekdays{display:grid;gap:6px}.semester-todo-picker__roles{grid-template-columns:repeat(2,minmax(0,1fr))}.semester-todo-picker__roles button{min-height:36px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#fff;color:#475569;font:inherit;font-weight:650;cursor:pointer}.semester-todo-picker__roles button.is-active{border-color:rgba(79,70,229,.28);background:rgba(79,70,229,.1);color:#4338ca}.semester-todo-picker__head{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center}.semester-todo-picker__head strong{text-align:center;color:#0f172a}.semester-todo-picker__grid,.semester-todo-picker__weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}.semester-todo-picker__weekdays span{color:#64748b;font-size:.74rem;text-align:center}.semester-todo-picker__day{min-height:36px;border:1px solid transparent;border-radius:8px;background:#fff;color:#0f172a;font:inherit;font-size:.84rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.semester-todo-picker__day:focus-visible,.semester-todo-picker__day:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.28);outline:none}.semester-todo-picker__day.is-outside{color:#94a3b8;background:rgba(241,245,249,.74)}.semester-todo-picker__day.is-today{border-color:rgba(14,165,233,.36)}.semester-todo-picker__day.is-range{background:rgba(224,231,255,.76)}.semester-todo-picker__day.is-due,.semester-todo-picker__day.is-start{border-color:rgba(79,70,229,.42);background:#4f46e5;color:#fff}.semester-todo-picker__result{color:#475569;font-size:.82rem;line-height:1.55}.semester-todo-modal-shell{padding:22px}.semester-todo-modal-backdrop{background:linear-gradient(180deg,rgba(15,23,42,.36),rgba(15,23,42,.28));backdrop-filter:blur(8px)}.semester-todo-modal-card{width:min(760px,100%);max-height:min(780px,calc(100vh - 44px));padding:0;overflow:hidden;background:hsla(0,0%,100%,.98)}.semester-todo-modal-card:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#0f766e,#4f46e5,#f59e0b)}.semester-todo-modal-card>form,.semester-todo-modal-head{padding-inline:22px}.semester-todo-modal-head{align-items:center;margin:0;padding-top:18px;padding-bottom:14px;border-bottom:1px solid rgba(148,163,184,.16)}.semester-todo-modal-head span{color:#0f766e;letter-spacing:0}.semester-todo-modal-head h3{color:var(--text-primary);font-size:1.05rem;line-height:1.35}.semester-todo-modal-form{gap:14px;padding-top:18px;padding-bottom:22px;overflow-y:auto;max-height:calc(min(780px, calc(100vh - 44px)) - 82px)}.semester-todo-modal-form .form-group{gap:7px;min-width:0}.semester-todo-modal-form .form-group>span{color:var(--text-secondary);font-size:.82rem;font-weight:750}.semester-todo-modal-form input,.semester-todo-modal-form select,.semester-todo-modal-form textarea{border-radius:8px;border-color:rgba(148,163,184,.26);background:hsla(0,0%,100%,.96)}.semester-todo-modal-form textarea{resize:vertical;min-height:84px}.semester-todo-picker{gap:12px;padding:14px;background:linear-gradient(180deg,rgba(248,250,252,.96),hsla(0,0%,100%,.94))}.semester-todo-picker__roles{width:min(100%,17rem);padding:3px;border-radius:8px;background:rgba(226,232,240,.64)}.semester-todo-picker__roles button{border-color:transparent;background:transparent}.semester-todo-picker__roles button.is-active{background:#fff;color:#0f766e;box-shadow:0 10px 20px -18px rgba(15,23,42,.4)}.semester-todo-picker__head{grid-template-columns:42px minmax(0,1fr) 42px}.semester-todo-picker__day{min-height:38px}.semester-todo-picker__day.is-due,.semester-todo-picker__day.is-start{border-color:rgba(15,118,110,.52);background:#0f766e}.semester-todo-picker__result{padding:10px 12px;border-radius:8px;background:rgba(240,253,250,.82);color:#115e59;font-weight:650}.semester-todo-modal-form .modal-actions{position:sticky;bottom:0;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px -22px -22px;padding:14px 22px 18px;border-top:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,hsla(0,0%,100%,.94),#fff 42%);box-shadow:0 -16px 24px -26px rgba(15,23,42,.45)}.semester-todo-modal-form .modal-actions .btn{min-width:108px}@media (max-width:960px){.semester-calendar-panel__overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.semester-calendar-panel{padding:20px 18px;border-radius:8px}.semester-calendar-panel__header,.semester-calendar-panel__toolbar{flex-direction:column;align-items:stretch}.semester-calendar-panel__toolbar{grid-template-columns:1fr}.semester-calendar-panel__hint{justify-self:stretch}.semester-calendar-panel__actions{width:100%}.semester-calendar-panel__actions .btn{flex:1 1 auto;min-height:42px}.semester-calendar-panel__field{min-width:0}.semester-calendar-todo-detail{align-items:stretch;flex-direction:column}.semester-calendar-todo-detail__actions{justify-content:flex-start}.semester-calendar-week-todo-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:8px}.semester-week-todos__arrow{width:38px;height:38px}.semester-week-todos__rail{grid-template-columns:minmax(0,.78fr) minmax(0,1.7fr) minmax(0,.78fr);gap:8px}.semester-week-todo-peek{padding:12px 10px}.semester-week-todo-card{padding:14px}.semester-week-date-axis{gap:3px;padding:6px}.semester-week-date-axis__cell{padding-inline:1px}.semester-week-todo-list{max-height:26rem}.semester-week-todo-item-card{padding:13px}.semester-week-gantt-row{grid-template-columns:1fr;align-items:stretch}.semester-week-gantt-row__chip{justify-self:start;max-width:100%}.semester-week-todo-focus{align-items:stretch;flex-direction:column}.semester-week-todo-focus__actions{justify-content:flex-start}}@media (max-width:560px){.semester-calendar-panel__overview,.semester-todo-modal-grid{grid-template-columns:1fr}.semester-calendar-week-todo-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.semester-week-todos__arrow{width:34px;height:34px}.semester-week-todos__rail{grid-template-columns:minmax(0,.52fr) minmax(0,1.72fr) minmax(0,.52fr);overflow:hidden}.semester-week-todo-peek{padding-inline:8px}.semester-week-todo-peek .semester-week-date-axis{margin-inline:-4px}.semester-week-date-axis__cell em{font-size:.62rem}.semester-week-date-axis__cell strong{font-size:.66rem}.semester-week-todo-card__head{flex-direction:column;gap:8px}.semester-week-todo-item-card__copy strong{font-size:.9rem}.semester-week-todo-item-card__meta span{font-size:.7rem}.semester-week-todo-peek small{display:none}.semester-todo-modal-shell{padding:12px}.semester-todo-modal-card{max-height:calc(100vh - 24px)}.semester-todo-modal-form .modal-actions{margin-right:-18px;margin-left:-18px;flex-direction:column-reverse;align-items:stretch}.semester-todo-modal-form .modal-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.semester-calendar-todo-bar,.semester-todo-modal-backdrop,.semester-todo-modal-card,.semester-week-gantt-row,.semester-week-todo-item-card,.semester-week-todo-peek,.semester-week-todos__arrow{transition-duration:.01ms!important}}.blog-shell{max-width:960px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-md)}.blog-shell__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.blog-shell__title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.blog-shell__title-row h2{margin:0;font-size:1.375rem}.blog-shell__title-icon{color:var(--primary-color);flex-shrink:0}.blog-shell__actions{display:flex;gap:var(--spacing-sm);align-items:center}.blog-sort-bar{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.blog-sort-tab{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.blog-sort-tab:hover{color:var(--primary-color);background:var(--primary-light)}.blog-sort-tab.is-active{color:var(--text-inverse);background:var(--primary-color);box-shadow:var(--shadow-sm)}.blog-sort-bar__spacer{flex:1}.blog-sort-bar__search{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--surface-color);font-size:.8125rem;width:180px;outline:none;transition:border-color var(--transition-fast)}.blog-sort-bar__search:focus{border-color:var(--border-color-focus);box-shadow:var(--shadow-focus)}.blog-author-filter{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin:calc(var(--spacing-sm)*-1) 0 var(--spacing-lg);padding:.65rem .85rem;border:1px solid rgba(14,165,233,.22);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(14,165,233,.12),hsla(0,0%,100%,.72));color:#075985;font-size:.84rem}.blog-author-filter[hidden]{display:none!important}.blog-author-filter__clear{border:none;background:hsla(0,0%,100%,.74);color:#0369a1;border-radius:999px;padding:.35rem .7rem;cursor:pointer;font-weight:600}.blog-author-filter__clear:hover{background:#fff}.blog-user-link{border:none;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer}.blog-user-link--avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.blog-user-link--avatar:focus-visible img,.blog-user-link--avatar:hover img{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(79,70,229,.13)}.blog-user-link--name{text-align:left}.blog-user-link--name:focus-visible,.blog-user-link--name:hover{color:var(--primary-color);text-decoration:underline;text-underline-offset:3px}.blog-user-popover{position:fixed;z-index:1100;min-width:168px;padding:.65rem;border-radius:16px;border:1px solid rgba(148,163,184,.22);background:hsla(0,0%,100%,.98);box-shadow:0 22px 46px rgba(15,23,42,.18);animation:blog-fade-in .14s ease-out}.blog-user-popover[hidden]{display:none!important}.blog-user-popover__name{padding:.2rem .25rem .55rem;font-weight:700;color:var(--text-primary)}.blog-user-popover__actions{display:grid;gap:.45rem}.blog-user-popover__btn{width:100%;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-color);color:var(--text-secondary);cursor:pointer;padding:.55rem .7rem;text-align:center;font-weight:600;transition:all var(--transition-fast)}.blog-user-popover__btn:hover:not(:disabled){border-color:var(--primary-color);background:var(--primary-light);color:var(--primary-color)}.blog-user-popover__btn--primary{border-color:var(--primary-color);background:var(--primary-color);color:var(--text-inverse)}.blog-user-popover__btn--primary:hover:not(:disabled){background:var(--primary-dark);color:var(--text-inverse)}.blog-user-popover__btn:disabled{opacity:.48;cursor:not-allowed}.blog-feed{display:flex;flex-direction:column;gap:var(--spacing-md)}.blog-post-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal) cubic-bezier(.4,0,.2,1),box-shadow var(--transition-normal) cubic-bezier(.4,0,.2,1),border-color var(--transition-normal) cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}.blog-post-card:hover{transform:translateY(-3px);border-color:rgba(79,70,229,.3);box-shadow:0 8px 25px -5px rgba(79,70,229,.1),var(--shadow-md)}.blog-post-card.is-pinned{border-left:3px solid var(--warning-color)}.blog-post-card.is-featured{border-left:3px solid var(--primary-color)}.blog-post-card__badges{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.blog-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.02em}.blog-badge--pin{background:var(--warning-light);color:var(--warning-dark)}.blog-badge--feature{background:var(--primary-light);color:var(--primary-dark)}.blog-badge--draft{background:var(--gray-100);color:var(--gray-500)}.blog-badge--hidden,.blog-badge--moderated{background:var(--danger-light);color:var(--danger-color)}.blog-badge--visibility{background:rgba(14,165,233,.12);color:#0369a1}.blog-post-card__title{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs);line-height:1.4;-webkit-line-clamp:2}.blog-post-card__summary,.blog-post-card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.blog-post-card__summary{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-md);-webkit-line-clamp:3}.blog-post-card__cover{max-height:200px;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.blog-post-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.blog-post-card__author{display:flex;align-items:center;gap:var(--spacing-sm)}.blog-post-card__avatar{width:28px;height:28px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;background:var(--gray-100);border:1px solid var(--border-color)}.blog-post-card__author-name{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.blog-author-cultivation{display:inline-flex;align-items:center;max-width:12rem;padding:.08rem .45rem;border-radius:var(--radius-full);border:1px solid rgba(14,165,233,.2);background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(249,115,22,.1));color:#075985;font-size:.68rem;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-author-cultivation--detail{width:-moz-fit-content;width:fit-content;max-width:min(100%,18rem);margin-top:.16rem}.blog-author-cultivation--comment{font-size:.64rem;max-width:10rem}.blog-post-card__author-role{font-size:.6875rem;color:var(--text-muted);padding:.05rem .35rem;border-radius:var(--radius-full);background:var(--gray-100)}.blog-post-card__time{font-size:.75rem;color:var(--text-muted)}.blog-post-card__stats{display:flex;align-items:center;gap:var(--spacing-md)}.blog-stat{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--text-muted)}.blog-stat svg{width:15px;height:15px}.blog-stat--liked{color:var(--danger-color)}.blog-stat--bookmarked{color:var(--warning-color)}.blog-post-card__tags{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-sm)}.blog-tag{padding:.1rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;background:var(--gray-100);color:var(--text-secondary);transition:background var(--transition-fast)}.blog-tag:hover{background:var(--primary-light);color:var(--primary-color)}.blog-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--text-muted)}.blog-empty__icon{width:3rem;height:3rem;margin-bottom:var(--spacing-md);opacity:.4}.blog-empty__title{font-size:1rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.blog-empty__desc{font-size:.875rem}.blog-load-more{display:flex;justify-content:center;padding:var(--spacing-lg)}.blog-skeleton{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);animation:blog-pulse 1.5s ease-in-out infinite}@keyframes blog-pulse{0%,to{opacity:1}50%{opacity:.5}}.blog-detail{max-width:760px;margin:0 auto}.blog-detail__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-muted);margin-bottom:var(--spacing-md);cursor:pointer;transition:color var(--transition-fast);background:none;border:none;padding:var(--spacing-xs) 0}.blog-detail__back:hover{color:var(--primary-color)}.blog-detail__header{margin-bottom:var(--spacing-lg)}.blog-detail__badges{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.blog-detail__title{font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:var(--spacing-md)}.blog-detail__author-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.blog-detail__author{display:flex;align-items:center;gap:var(--spacing-sm)}.blog-detail__avatar{width:40px;height:40px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;background:var(--gray-100);border:2px solid var(--border-color)}.blog-detail__author-info{display:flex;flex-direction:column}.blog-detail__author-name{font-weight:600;font-size:.9375rem}.blog-detail__author-meta{font-size:.75rem;color:var(--text-muted)}.blog-detail__actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.blog-action-btn{display:inline-flex;align-items:center;gap:.3rem;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:.8125rem;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.blog-action-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.blog-action-btn svg{width:14px;height:14px}.blog-action-btn--danger:hover{border-color:var(--danger-color);color:var(--danger-color);background:var(--danger-light)}.blog-action-btn--warning:hover{border-color:var(--warning-color);color:var(--warning-dark);background:var(--warning-light)}.blog-detail__body{font-size:.9375rem;line-height:1.8;color:var(--text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-color)}.blog-detail__body h1{font-size:1.5rem;margin-top:var(--spacing-lg)}.blog-detail__body h2{font-size:1.25rem;margin-top:var(--spacing-lg)}.blog-detail__body h3{font-size:1.125rem;margin-top:var(--spacing-md)}.blog-detail__body pre{background:var(--gray-800);color:var(--gray-100);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-md) 0;font-size:.875rem;line-height:1.6}.blog-detail__body code{background:var(--gray-100);padding:.1rem .35rem;border-radius:var(--radius-sm);font-size:.875em}.blog-detail__body pre code{background:none;padding:0}.blog-detail__body blockquote{border-left:3px solid var(--primary-color);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-md) 0;background:var(--primary-light);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-secondary)}.blog-detail__body img{max-width:100%;border-radius:var(--radius-md);margin:var(--spacing-md) 0}.blog-detail__body a{color:var(--primary-color);text-decoration:underline;text-underline-offset:2px}.blog-detail__body ol,.blog-detail__body ul{padding-left:var(--spacing-lg);margin:var(--spacing-sm) 0}.blog-detail__tags{margin:var(--spacing-md) 0 var(--spacing-lg)}.blog-detail__interactions{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-xl)}.blog-interact-btn{display:inline-flex;align-items:center;gap:.35rem;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:500;border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal) cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.blog-interact-btn svg{width:18px;height:18px}.blog-interact-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.blog-interact-btn.is-active--like{color:var(--danger-color);border-color:var(--danger-color);background:rgba(239,68,68,.08)}.blog-interact-btn.is-active--bookmark{color:var(--warning-dark);border-color:var(--warning-color);background:rgba(245,158,11,.08)}.blog-interact-btn:active{transform:scale(.95)}.blog-interact-btn__count{min-width:1ch}.blog-interact-btn__label{font-size:.8125rem}.blog-comments__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.blog-comments{margin-top:var(--spacing-lg)}.blog-comment-list{display:flex;flex-direction:column}.blog-comments__title{font-size:1rem;font-weight:600}.blog-comment{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) 0;border-bottom:1px solid rgba(148,163,184,.1);transition:background var(--transition-fast)}.blog-comment:hover{background:rgba(79,70,229,.02);border-radius:var(--radius-md)}.blog-comment__avatar{width:32px;height:32px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:var(--gray-100)}.blog-comment__body{flex:1;min-width:0}.blog-comment__author{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.blog-comment__author-name{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.blog-comment__author-role{padding:.05rem .35rem;border-radius:var(--radius-full);background:var(--gray-100)}.blog-comment__author-role,.blog-comment__time{font-size:.6875rem;color:var(--text-muted)}.blog-comment__content{font-size:.875rem;color:var(--text-primary);line-height:1.6;margin-bottom:var(--spacing-xs)}.blog-comment__content p:first-child{margin-top:0}.blog-comment__content p:last-child{margin-bottom:0}.blog-comment__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.blog-comment-action{font-size:.75rem;color:var(--text-muted);cursor:pointer;background:none;border:none;padding:var(--spacing-xs);display:inline-flex;align-items:center;gap:.2rem;transition:color var(--transition-fast)}.blog-comment-action:hover{color:var(--primary-color)}.blog-comment-action svg{width:15px;height:15px}.blog-comment-action--delete:hover,.blog-comment-action--liked{color:var(--danger-color)}.blog-comment-action__count{font-size:inherit}.blog-comment__replies{margin-top:var(--spacing-sm);margin-left:var(--spacing-lg);border-left:2px solid var(--border-color);padding-left:var(--spacing-md)}.blog-composer{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.blog-composer__title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md)}.blog-composer__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;background:var(--bg-color);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast);font-family:inherit}.blog-composer__input:focus{border-color:var(--border-color-focus);box-shadow:var(--shadow-focus)}.blog-composer__textarea{min-height:200px;resize:vertical;line-height:1.7}.blog-composer__toolbar{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);flex-wrap:wrap}.blog-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;transition:all var(--transition-fast)}.blog-toolbar-btn:hover{background:var(--primary-light);color:var(--primary-color)}.blog-composer__options{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap}.blog-composer__option{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.8125rem;color:var(--text-secondary)}.blog-composer__option select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.8125rem;background:var(--bg-color);color:var(--text-primary);outline:none}.blog-composer__footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);gap:var(--spacing-md)}.blog-composer__image-upload{display:flex;align-items:center;gap:var(--spacing-xs)}.blog-image-preview{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-sm)}.blog-image-preview__item{position:relative;width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color)}.blog-image-preview__item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.blog-image-preview__remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:var(--radius-full);background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.blog-image-preview__remove:hover{background:var(--danger-color)}.blog-comment-composer{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid rgba(148,163,184,.24);border-radius:calc(var(--radius-lg) + 4px);background:linear-gradient(135deg,hsla(0,0%,100%,.92),rgba(248,250,252,.84)),var(--surface-color);box-shadow:0 16px 36px -30px rgba(15,23,42,.54);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.blog-comment-composer:focus-within{border-color:rgba(79,70,229,.48);background:radial-gradient(circle at 0 0,rgba(79,70,229,.13),transparent 34%),linear-gradient(135deg,hsla(0,0%,100%,.98),rgba(248,250,252,.9));box-shadow:0 0 0 4px rgba(79,70,229,.11),0 24px 54px -34px rgba(15,23,42,.72)}.blog-comment-composer__avatar{width:32px;height:32px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:var(--gray-100)}.blog-comment-composer__panel{flex:1;min-width:0}.blog-comment-composer__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid rgba(148,163,184,.28);border-radius:1rem;font-size:.875rem;background:var(--bg-color);color:var(--text-primary);outline:none;resize:vertical;min-height:108px;max-height:260px;font-family:inherit;line-height:1.65;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.blog-comment-composer__input:focus{border-color:var(--border-color-focus);background:#fff;box-shadow:0 0 0 3px rgba(79,70,229,.12)}.blog-comment-composer__actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap}.blog-comment-replying{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;margin-bottom:var(--spacing-xs);border-radius:999px;font-size:.75rem;color:var(--primary-color);background:var(--primary-light)}.blog-comment-media-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--spacing-sm)}.blog-comment-media-strip[hidden]{display:none!important}.blog-comment-media-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;min-height:3.25rem;padding:.25rem;border-radius:1rem;border:1px solid rgba(226,232,240,.9);background:hsla(0,0%,100%,.8);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.blog-comment-media-chip img{max-width:4.75rem;max-height:4.75rem;-o-object-fit:contain;object-fit:contain;border-radius:.85rem}.blog-comment-media-chip--image{width:6rem;height:6rem;padding:.35rem}.blog-comment-media-chip--image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.blog-comment-media-chip button,.blog-user-chip__remove{position:absolute;top:-.2rem;right:-.2rem;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;cursor:pointer}.blog-comment-toolbar{position:relative;margin-top:var(--spacing-sm)}.blog-comment-toolbar__group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.blog-comment-toolbar__hint{margin-top:.45rem;font-size:.75rem;color:var(--text-muted)}.blog-comment-toolbar__panels{position:relative}.blog-toolbar-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border:1px solid var(--border-color);border-radius:999px;background:var(--surface-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.blog-toolbar-chip.is-active,.blog-toolbar-chip:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-light)}.blog-toolbar-chip--format{padding-inline:.7rem;background:rgba(248,250,252,.78)}.blog-toolbar-chip--ai{border-color:rgba(14,165,233,.38);background:rgba(14,165,233,.1);color:#0369a1;font-weight:700}.blog-toolbar-chip--ai:hover{border-color:#0284c7;background:rgba(14,165,233,.16);color:#075985}.blog-toolbar-chip svg{width:15px;height:15px}.blog-comment-custom-emoji-panel,.blog-comment-emoji-anchor{position:absolute;right:0;bottom:calc(100% + .65rem);z-index:20}.blog-comment-custom-emoji-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.45rem;width:min(380px,calc(100vw - 2rem));max-height:320px;overflow-y:auto;padding:.8rem;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.98);box-shadow:0 24px 46px rgba(15,23,42,.18)}.blog-comment-custom-emoji-panel[hidden]{display:none!important}.blog-comment-panel-empty{font-size:.82rem;color:var(--text-muted);padding:.35rem}.blog-custom-emoji-picker__item{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:.3rem;border:1px solid rgba(226,232,240,.9);border-radius:14px;background:hsla(0,0%,100%,.84);cursor:pointer;transition:transform .12s ease,border-color .12s ease}.blog-custom-emoji-picker__item:hover{transform:translateY(-1px);border-color:var(--primary-color)}.blog-custom-emoji-picker__item img{max-width:100%;max-height:100%;border-radius:10px;-o-object-fit:contain;object-fit:contain}.blog-rich-emojis{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.blog-rich-emoji{display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;min-height:3.25rem;padding:.3rem;border-radius:1rem;background:hsla(0,0%,100%,.8);border:1px solid rgba(226,232,240,.9)}.blog-rich-emoji img{max-width:4.6rem;max-height:4.6rem;-o-object-fit:contain;object-fit:contain;border-radius:.85rem}.blog-rich-attachments{display:flex;flex-wrap:wrap;gap:.65rem;margin:.55rem 0 .35rem}.blog-rich-attachment{display:flex;flex-direction:column;gap:.4rem;width:min(180px,100%);padding:.42rem;border-radius:1rem;border:1px solid rgba(226,232,240,.85);background:hsla(0,0%,100%,.74);text-decoration:none;overflow:hidden}.blog-rich-attachment img{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:.8rem;background:rgba(226,232,240,.6)}.blog-rich-attachment span{color:var(--text-secondary);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-preview{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.blog-sidebar-nav{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.blog-sidebar-tab{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:var(--surface-color);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast)}.blog-sidebar-tab:hover{border-color:var(--primary-color);color:var(--primary-color)}.blog-sidebar-tab.is-active{background:var(--primary-color);color:var(--text-inverse);border-color:var(--primary-color)}.blog-visibility-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-primary);outline:none}.blog-visibility-config,.blog-visibility-select{border-radius:var(--radius-md);font-size:.8125rem}.blog-visibility-config{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50)}.blog-user-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.blog-user-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .5rem;border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary-color);font-size:.75rem;font-weight:500;position:relative;border:none}.blog-user-chip__remove{transition:opacity var(--transition-fast),background var(--transition-fast)}.blog-user-chip__remove:hover{opacity:1;background:var(--danger-color)}.blog-user-chip--pickable{cursor:pointer;transition:all var(--transition-fast);padding-right:.7rem}.blog-user-chip--pickable:hover{background:var(--primary-color);color:#fff}.blog-user-chip__meta{opacity:.6;font-size:.65rem}.blog-post-card__footnote{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--text-muted)}.blog-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:blog-fade-in .2s ease-out}.blog-modal-overlay[hidden]{display:none!important}.blog-modal{background:var(--surface-color);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);width:100%;max-width:680px;max-height:90vh;overflow-y:auto;animation:blog-slide-up .25s cubic-bezier(.16,1,.3,1)}@keyframes blog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes blog-slide-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.blog-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.blog-modal__close{width:32px;height:32px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.blog-modal__close:hover{background:var(--gray-100);color:var(--text-primary)}.blog-modal__body{padding:var(--spacing-lg)}.blog-empty--compact{padding:var(--spacing-lg) var(--spacing-sm)}.emoji-picker{width:min(380px,calc(100vw - 2rem));max-height:min(360px,52vh);overflow-y:auto;padding:.8rem;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.98);box-shadow:0 24px 46px rgba(15,23,42,.18);transform:translateY(6px);opacity:0;transition:opacity .16s ease,transform .16s ease;pointer-events:none}.emoji-picker.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.emoji-picker-section{margin-bottom:.5rem}.emoji-picker-header{padding:.3rem 0;font-size:.78rem;font-weight:600;color:var(--text-muted)}.emoji-picker-grid{display:flex;flex-wrap:wrap;gap:2px}.emoji-picker-item{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;cursor:pointer;font-size:1.2rem;transition:background .12s ease,transform .12s ease}.emoji-picker-item:hover{background:rgba(59,130,246,.1);transform:scale(1.15)}.emoji-picker-item img{width:22px;height:22px}.emoji-picker-empty{padding:.6rem;color:var(--text-muted);font-size:.82rem}body.page-wrapper:has(.blog-shell){background:linear-gradient(180deg,#f8fafc,#eefaf4 44%,#fff7ed)}.blog-shell{max-width:1180px;padding:24px var(--spacing-md) 36px}.blog-hero{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px;padding:28px;border:1px solid rgba(15,23,42,.08);border-radius:24px;background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(248,250,252,.92)),linear-gradient(120deg,rgba(16,185,129,.12),transparent 48%,rgba(249,115,22,.1));box-shadow:0 24px 60px rgba(15,23,42,.08)}.blog-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.09) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.09) 1px,transparent 0);background-size:34px 34px;-webkit-mask-image:linear-gradient(120deg,rgba(0,0,0,.75),transparent 78%);mask-image:linear-gradient(120deg,rgba(0,0,0,.75),transparent 78%);pointer-events:none}.blog-hero>*{position:relative;z-index:1}.blog-hero__content{max-width:760px}.blog-shell__title-row h1,.blog-shell__title-row h2{margin:0;font-size:1.65rem;line-height:1.22;letter-spacing:0}.blog-hero__lead{max-width:680px;margin:12px 0 0;color:var(--text-secondary);font-size:.98rem;line-height:1.75}.blog-hero__stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.blog-hero__stats span{display:inline-flex;align-items:baseline;gap:6px;padding:7px 11px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:hsla(0,0%,100%,.74);color:var(--text-secondary);font-size:.78rem}.blog-hero__stats strong{color:var(--text-primary);font-size:.98rem}.blog-shell__actions{align-self:flex-start}.blog-hero__ghost{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border:1px solid rgba(148,163,184,.26);border-radius:999px;background:hsla(0,0%,100%,.72);color:var(--text-secondary);font-size:.82rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.blog-hero__ghost:hover{border-color:rgba(37,99,235,.35);color:#1d4ed8;background:#fff}.blog-channel-tabs{position:sticky;top:70px;z-index:9;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 0 18px;padding:5px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:hsla(0,0%,100%,.86);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(15,23,42,.06)}.blog-channel-tabs .blog-sidebar-tab{border:none;background:transparent}.blog-channel-tabs .blog-sidebar-tab.is-active{background:#0f172a;color:#fff}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.blog-stream{min-width:0}.blog-rail{position:sticky;top:128px;display:flex;flex-direction:column;gap:14px}.blog-spotlight{margin-bottom:18px}.blog-rail-card__header,.blog-spotlight__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.blog-rail-card h2,.blog-rail-card__header h2,.blog-spotlight__header h2{margin:0;color:var(--text-primary);font-size:.96rem;line-height:1.35}.blog-spotlight__header p{margin:4px 0 0;color:var(--text-muted);font-size:.78rem}.blog-rail-card__header button,.blog-spotlight__header button{border:none;background:transparent;color:#2563eb;cursor:pointer;font-size:.78rem;font-weight:700}.blog-spotlight__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px}.blog-spotlight-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;width:100%;min-height:132px;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:hsla(0,0%,100%,.84);color:inherit;text-align:left;cursor:pointer;box-shadow:0 18px 40px rgba(15,23,42,.06);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.blog-spotlight-card--lead{grid-row:span 2;grid-template-columns:1fr}.blog-spotlight-card:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.28);box-shadow:0 22px 48px rgba(15,23,42,.1)}.blog-spotlight-card__media{min-height:96px;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(16,185,129,.12)),#f8fafc}.blog-spotlight-card--lead .blog-spotlight-card__media{aspect-ratio:16/7}.blog-spotlight-card__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.blog-spotlight-card__fallback{display:flex;align-items:center;justify-content:center;height:100%;min-height:96px;color:#0f766e;font-weight:800}.blog-spotlight-card__body{min-width:0}.blog-detail__reading-meta,.blog-post-card__signal,.blog-spotlight-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-muted);font-size:.74rem}.blog-spotlight-card h3{display:-webkit-box;margin:8px 0 6px;overflow:hidden;color:var(--text-primary);font-size:1rem;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.blog-spotlight-card--lead h3{font-size:1.18rem}.blog-spotlight-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-secondary);font-size:.82rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.blog-discovery-empty,.blog-rail-empty{padding:16px;border:1px dashed rgba(148,163,184,.28);border-radius:16px;background:rgba(248,250,252,.74);color:var(--text-muted);font-size:.82rem}.blog-sort-bar{position:relative;flex-wrap:wrap;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:hsla(0,0%,100%,.78);box-shadow:0 16px 36px rgba(15,23,42,.05)}.blog-sort-tab{border-radius:999px}.blog-sort-tab.is-active{background:#0f172a}.blog-sort-bar__search{width:min(260px,42vw);min-height:34px;border-color:rgba(148,163,184,.24);background:rgba(248,250,252,.88)}.blog-tag-filter{border-color:rgba(16,185,129,.24);background:linear-gradient(135deg,rgba(16,185,129,.1),hsla(0,0%,100%,.72));color:#047857}.blog-feed{gap:14px}.blog-post-card{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:18px;border-color:rgba(148,163,184,.18);border-radius:18px;box-shadow:0 16px 36px rgba(15,23,42,.06)}.blog-post-card--with-cover{grid-template-columns:minmax(0,1fr) minmax(190px,31%)}.blog-post-card:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.26);box-shadow:0 22px 52px rgba(15,23,42,.1)}.blog-post-card__content{display:flex;min-width:0;flex-direction:column}.blog-post-card__badges{margin-bottom:8px}.blog-badge{letter-spacing:0}.blog-post-card__signal{margin-bottom:6px}.blog-post-card__title{margin:0 0 8px;font-size:1.16rem;line-height:1.42}.blog-post-card__summary{margin-bottom:12px;color:#475569}.blog-post-card__media{align-self:stretch;min-height:168px;overflow:hidden;border-radius:16px;background:#f1f5f9}.blog-post-card__cover{width:100%;height:100%;max-height:none;margin:0;border-radius:0;-o-object-fit:cover;object-fit:cover;display:block}.blog-post-card__tags{margin:0 0 12px}.blog-tag{border:1px solid transparent;cursor:pointer}.blog-tag--hot:hover,.blog-tag.is-active,.blog-tag:hover{border-color:rgba(37,99,235,.24);background:rgba(37,99,235,.1);color:#1d4ed8}.blog-tag--hot{display:inline-flex;align-items:center;gap:6px;padding:.35rem .62rem;background:rgba(248,250,252,.9)}.blog-tag--hot span{color:var(--text-muted);font-size:.68rem}.blog-post-card__meta{margin-top:auto}.blog-post-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.blog-card-action{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:rgba(248,250,252,.82);color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:700;transition:all var(--transition-fast)}.blog-card-action svg{width:15px;height:15px}.blog-card-action:hover{border-color:rgba(37,99,235,.3);color:#1d4ed8;background:rgba(37,99,235,.08)}.blog-card-action.is-active--like{border-color:rgba(239,68,68,.28);color:#dc2626;background:rgba(239,68,68,.08)}.blog-card-action.is-active--bookmark{border-color:rgba(245,158,11,.34);color:#b45309;background:rgba(245,158,11,.1)}.blog-rail-card{padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:hsla(0,0%,100%,.82);box-shadow:0 16px 38px rgba(15,23,42,.06)}.blog-author-rank,.blog-rail-list,.blog-tag-cloud{display:grid;gap:8px}.blog-tag-cloud{display:flex;flex-wrap:wrap}.blog-author-rank__item,.blog-rail-post{display:flex;width:100%;gap:10px;padding:9px;border:none;border-radius:14px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.blog-author-rank__item:hover,.blog-rail-post:hover{transform:translateY(-1px);background:rgba(37,99,235,.07)}.blog-rail-post__rank{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:8px;background:#0f172a;color:#fff;font-size:.72rem;font-weight:800}.blog-author-rank__body,.blog-rail-post__body{display:grid;min-width:0;gap:3px}.blog-author-rank__body strong,.blog-rail-post__body strong{display:-webkit-box;overflow:hidden;color:var(--text-primary);font-size:.84rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.blog-author-rank__body span,.blog-rail-post__body span{overflow:hidden;color:var(--text-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.blog-author-rank__item img{width:34px;height:34px;flex:0 0 34px;border-radius:999px;-o-object-fit:cover;object-fit:cover;border:1px solid rgba(148,163,184,.22);background:#f1f5f9}.blog-author-cultivation--rank{width:-moz-fit-content;width:fit-content;max-width:100%}.blog-rail-card--compose{background:linear-gradient(135deg,rgba(15,23,42,.94),rgba(30,41,59,.9)),linear-gradient(120deg,rgba(249,115,22,.22),transparent 54%);color:#fff}.blog-rail-card--compose h2{color:#fff}.blog-rail-card--compose p{margin:8px 0 14px;color:hsla(0,0%,100%,.78);font-size:.82rem;line-height:1.65}.blog-detail{max-width:820px}.blog-detail__title{margin-bottom:10px;font-size:clamp(1.65rem,3vw,2.35rem)}.blog-detail__reading-meta{margin-bottom:18px}.blog-detail__body{font-size:1rem;line-height:1.86}.blog-detail__interactions{width:-moz-fit-content;width:fit-content;max-width:100%;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);box-shadow:0 18px 42px rgba(15,23,42,.12)}@media (max-width:768px){.blog-shell{padding:var(--spacing-md) var(--spacing-sm)}.blog-shell__header{flex-direction:column;align-items:flex-start}.blog-post-card{padding:var(--spacing-md)}.blog-detail__author-row,.blog-post-card__meta{flex-direction:column;align-items:flex-start}.blog-detail__actions{flex-wrap:wrap}.blog-sort-bar__search{width:140px}.blog-comment-composer{flex-direction:column}.blog-comment-toolbar__group{width:100%}.blog-comment-custom-emoji-panel,.blog-comment-emoji-anchor{left:0;right:auto}.blog-comment__replies{margin-left:var(--spacing-sm);padding-left:var(--spacing-sm)}.blog-composer__footer{flex-direction:column;align-items:stretch}.blog-hero{flex-direction:column;padding:20px;border-radius:20px}.blog-shell__title-row h1,.blog-shell__title-row h2{font-size:1.35rem}.blog-hero__lead{font-size:.9rem}.blog-channel-tabs{position:static;width:100%;border-radius:18px}.blog-channel-tabs .blog-sidebar-tab{flex:1 1 0;text-align:center}.blog-layout{grid-template-columns:1fr}.blog-rail{position:static;order:-1}.blog-spotlight__grid{grid-template-columns:1fr}.blog-spotlight-card,.blog-spotlight-card--lead{grid-template-columns:1fr;grid-row:auto}.blog-sort-bar{align-items:stretch}.blog-sort-bar__spacer{display:none}.blog-sort-bar__search{width:100%;flex-basis:100%}.blog-post-card,.blog-post-card--with-cover{grid-template-columns:1fr}.blog-post-card__media{min-height:auto;aspect-ratio:16/9;order:-1}.blog-post-card__author{flex-wrap:wrap}.blog-detail__interactions{width:100%;justify-content:center;border-radius:18px}}.academic-shell{display:flex;flex-direction:column;gap:24px}.academic-hero{position:relative;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:28px;background:radial-gradient(circle at top right,rgba(14,165,233,.18),transparent 32%),radial-gradient(circle at left center,rgba(251,146,60,.14),transparent 34%),linear-gradient(140deg,hsla(0,0%,100%,.96),rgba(248,250,252,.94));box-shadow:0 24px 60px rgba(15,23,42,.08)}.academic-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:linear-gradient(135deg,rgba(0,0,0,.9),transparent 78%);mask-image:linear-gradient(135deg,rgba(0,0,0,.9),transparent 78%);pointer-events:none}.academic-hero>*{position:relative;z-index:1}.academic-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(15,23,42,.06);color:var(--text-secondary);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.academic-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#f97316,#0ea5e9)}.academic-hero h2,.academic-hero h3{margin:0;color:var(--text-primary)}.academic-hero h2{font-size:clamp(1.8rem,2vw,2.35rem);line-height:1.12}.academic-hero p{max-width:760px;margin:12px 0 0;color:var(--text-secondary);line-height:1.72}.academic-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.academic-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.academic-stat-card{padding:18px 20px;border-radius:22px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.9);box-shadow:var(--shadow-sm)}.academic-stat-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.academic-stat-value{margin-top:10px;font-size:clamp(1.6rem,2.6vw,2rem);font-weight:700;color:var(--text-primary)}.academic-stat-help{margin-top:10px;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.academic-content-grid{display:grid;gap:20px}.academic-card{background:hsla(0,0%,100%,.94);border:1px solid rgba(148,163,184,.18);border-radius:24px;box-shadow:0 18px 40px rgba(15,23,42,.06);overflow:hidden}.academic-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 0}.academic-card-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.academic-card-subtitle{margin:8px 0 0;color:var(--text-secondary);line-height:1.6}.academic-card-body{padding:24px}.academic-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.academic-toolbar-between{justify-content:space-between}.academic-search{position:relative;flex:1 1 260px}.academic-search input{width:100%;padding-left:42px}.academic-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--text-muted)}.academic-filter-row{display:flex;flex-wrap:wrap;gap:10px}.academic-filter-field{min-width:140px;flex:0 1 180px}.academic-filter-field span,.academic-inline-label{display:block;margin-bottom:6px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.academic-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.academic-resource-card{display:flex;flex-direction:column;gap:16px;min-height:100%;padding:20px;border-radius:22px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.9));box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.academic-resource-card:hover{transform:translateY(-3px);border-color:rgba(14,165,233,.34);box-shadow:0 20px 34px rgba(14,165,233,.12)}.academic-card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.academic-card-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#0369a1}.academic-card-main{display:flex;flex-direction:column;gap:8px}.academic-card-main h3,.academic-card-main h4{margin:0;color:var(--text-primary);line-height:1.3}.academic-card-main p{margin:0;color:var(--text-secondary);line-height:1.6}.academic-badge-row,.academic-chip-list,.academic-tag-row{display:flex;flex-wrap:wrap;gap:8px}.academic-badge,.academic-chip,.academic-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:rgba(248,250,252,.9);color:var(--text-secondary);font-size:.82rem;line-height:1.2}.academic-tag{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.2);color:#0369a1}.academic-badge.is-accent{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.2);color:#c2410c}.academic-badge.is-success{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.2);color:#15803d}.academic-badge.is-muted{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.24);color:#475569}.academic-meta-list{display:grid;gap:10px;margin:0}.academic-meta-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:10px;border-bottom:1px dashed rgba(148,163,184,.28)}.academic-meta-row:last-child{padding-bottom:0;border-bottom:none}.academic-meta-label{color:var(--text-muted);font-size:.84rem}.academic-meta-value{color:var(--text-primary);text-align:right;font-weight:600}.academic-card-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(148,163,184,.18)}.academic-action-group{display:flex;flex-wrap:wrap;gap:10px}.academic-empty{padding:36px 24px;border-radius:22px;border:1px dashed rgba(148,163,184,.34);background:rgba(248,250,252,.78);color:var(--text-secondary);text-align:center;line-height:1.8}.academic-empty strong{display:block;margin-bottom:8px;color:var(--text-primary);font-size:1rem}.academic-split-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.academic-quick-links{display:flex;flex-wrap:wrap;gap:8px}.academic-link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:14px;border:1px dashed rgba(14,165,233,.35);background:rgba(14,165,233,.06);color:#0369a1;font-weight:600;text-decoration:none;transition:all .18s ease}.academic-link-btn:hover{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.5)}.academic-modal-backdrop{display:none;position:fixed;inset:0;padding:28px 16px;background:rgba(15,23,42,.4);backdrop-filter:blur(6px);justify-content:center;align-items:center;z-index:1200}.academic-modal-backdrop.is-open{display:flex}.academic-modal{width:min(920px,100%);max-height:calc(100vh - 56px);overflow:auto;border-radius:28px;background:hsla(0,0%,100%,.98);border:1px solid rgba(148,163,184,.2);box-shadow:0 30px 80px rgba(15,23,42,.25)}.academic-modal.slim{width:min(720px,100%)}.academic-modal-footer,.academic-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px}.academic-modal-header{border-bottom:1px solid rgba(148,163,184,.18)}.academic-modal-footer{border-top:1px solid rgba(148,163,184,.18);justify-content:flex-end}.academic-modal-title{margin:0;font-size:1.2rem;color:var(--text-primary)}.academic-modal-subtitle{margin:8px 0 0;color:var(--text-secondary);line-height:1.6}.academic-modal-body{padding:22px 24px 24px}.academic-modal-close{border:none;background:rgba(148,163,184,.12);color:var(--text-secondary);border-radius:999px;width:36px;height:36px;cursor:pointer;font-size:1.15rem;transition:all .18s ease}.academic-modal-close:hover{background:rgba(239,68,68,.12);color:#b91c1c}.academic-form-grid{display:grid;gap:16px}.academic-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-field{display:flex;flex-direction:column;gap:8px}.academic-field label{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.academic-hint{color:var(--text-muted);font-size:.8rem;line-height:1.5}.academic-chip-list{min-height:44px;padding:10px;border-radius:16px;border:1px solid var(--border-color);background:rgba(248,250,252,.78)}.academic-chip button{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;font-size:.9rem;line-height:1}.academic-chip-input-row{display:flex;gap:10px;margin-top:10px}.academic-chip-input-row input{flex:1 1 auto}.academic-panel-stack{display:flex;flex-direction:column;gap:14px}.academic-context-block{padding:16px 18px;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.84)}.academic-context-block h4{margin:0 0 10px;color:var(--text-primary);font-size:.96rem}.academic-context-block p,.academic-context-block pre{margin:0;color:var(--text-secondary);line-height:1.7;white-space:pre-wrap;word-break:break-word}.academic-list{display:grid;gap:12px}.academic-list-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.92)}.academic-list-item.is-active{border-color:rgba(14,165,233,.34);box-shadow:0 18px 30px rgba(14,165,233,.12);background:linear-gradient(180deg,rgba(240,249,255,.94),hsla(0,0%,100%,.98))}.academic-list-main{display:flex;flex-direction:column;gap:6px;min-width:0}.academic-list-main strong{color:var(--text-primary)}.academic-list-main p{margin:0;color:var(--text-secondary)}.academic-list-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.academic-code{padding:2px 8px;border-radius:999px;background:rgba(15,23,42,.08);color:var(--text-secondary);font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.semester-layout{display:flex;flex-direction:column;gap:24px}.semester-summary-grid{display:grid;gap:14px}.semester-summary-grid .academic-context-block{min-height:120px}@media (min-width:1080px){.academic-content-grid.two-column{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}}@media (max-width:900px){.academic-form-grid.three-col,.academic-form-grid.two-col{grid-template-columns:1fr}}@media (max-width:768px){.academic-hero{padding:24px 20px;border-radius:24px}.academic-card-body,.academic-card-header,.academic-modal-body,.academic-modal-footer,.academic-modal-header{padding-left:18px;padding-right:18px}.academic-split-field{grid-template-columns:1fr}.academic-list-item{padding:14px}}.class-page-shell{gap:20px}.class-page-shell .academic-eyebrow{letter-spacing:0}.class-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;padding:24px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:linear-gradient(135deg,rgba(240,253,250,.84),hsla(0,0%,100%,.96));box-shadow:0 18px 42px -34px rgba(15,23,42,.42)}.class-hero h2{margin:0;color:#0f172a;font-size:clamp(1.65rem,2.2vw,2.2rem);line-height:1.15}.class-hero p{max-width:760px;margin:10px 0 0;color:#475569;line-height:1.7}.class-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.class-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.class-stat-card{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.92);box-shadow:0 12px 28px -26px rgba(15,23,42,.34)}.class-stat-card small,.class-stat-card span{color:#64748b;font-size:.82rem;line-height:1.45}.class-stat-card span{font-weight:800}.class-stat-card strong{color:#0f172a;font-size:1.8rem;line-height:1}.class-stat-card.is-warning{border-color:rgba(245,158,11,.32);background:rgba(255,251,235,.72)}.class-stat-card.is-academic{border-color:rgba(20,184,166,.3);background:rgba(240,253,250,.74)}.class-control-panel{display:grid;gap:14px;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.9)}.class-control-main{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,max-content);gap:14px;align-items:end}.class-search{align-self:end;max-width:720px}.class-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,170px));gap:10px;justify-content:flex-end;align-items:end}.class-filter-fields .academic-filter-field{min-width:0;flex-basis:auto}.class-department-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.class-chip{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:rgba(248,250,252,.96);color:#475569;cursor:pointer;font-weight:800}.class-chip b{color:#0f766e;font-size:.78rem}.class-chip.is-active,.class-chip:focus-visible,.class-chip:hover{border-color:rgba(15,118,110,.34);background:rgba(240,253,250,.92);color:#0f766e}.class-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.class-board{display:grid;gap:14px;min-width:0}.class-board-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.class-board-head h3{margin:0;color:#0f172a;font-size:1.12rem}.class-board-head p{margin:4px 0 0;color:#64748b}.class-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.class-manage-card{display:grid;gap:14px;min-width:0;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.94);box-shadow:0 16px 36px -32px rgba(15,23,42,.42);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.class-manage-card[hidden]{display:none}.class-manage-card:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.28);box-shadow:0 18px 36px -30px rgba(15,23,42,.46)}.class-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.class-card-title-block{min-width:0}.class-card-kicker{display:inline-flex;margin-bottom:7px;color:#0f766e;font-size:.78rem;font-weight:800}.class-card-title-block h4{margin:0;overflow:hidden;color:#0f172a;font-size:1.05rem;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}.class-card-title-block p{margin:6px 0 0;color:#64748b;font-size:.86rem;line-height:1.5}.class-card-badges{margin-top:8px}.class-card-status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;color:#0f766e;background:rgba(240,253,250,.92);font-size:.76rem;font-weight:800;white-space:nowrap}.class-card-status.is-warning{color:#b45309;background:rgba(255,251,235,.96)}.class-card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.class-card-metrics div{display:grid;gap:4px;padding:10px;border-radius:8px;background:rgba(248,250,252,.86)}.class-card-metrics span{color:#64748b;font-size:.76rem;font-weight:800}.class-card-metrics strong{color:#0f172a;font-size:1.05rem}.class-card-students{display:flex;align-items:center;gap:6px;min-height:34px;overflow:hidden}.class-student-avatar{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:rgba(240,253,250,.92);color:#0f766e;font-size:.82rem;font-weight:900}.class-student-avatar.is-warning{border-color:rgba(245,158,11,.26);background:rgba(255,251,235,.96);color:#b45309}.class-student-avatar.is-more{background:rgba(241,245,249,.96);color:#475569}.class-student-empty{color:#64748b;font-size:.84rem;font-weight:700}.class-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.class-import-panel{position:sticky;top:92px;display:grid;gap:16px;padding:18px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.94);box-shadow:0 18px 42px -34px rgba(15,23,42,.42)}.class-import-head span{color:#0f766e;font-size:.78rem;font-weight:900}.class-import-head h3{margin:6px 0 0;color:#0f172a;font-size:1.08rem}.class-form-note,.class-import-head p{color:#64748b;line-height:1.65}.class-form-note{padding:12px;border:1px dashed rgba(15,118,110,.24);background:rgba(240,253,250,.66);font-size:.86rem}.class-filter-empty,.class-form-note{border-radius:8px}.class-student-drawer-backdrop{position:fixed;inset:0;z-index:1220;display:flex;justify-content:flex-end;background:rgba(15,23,42,.34);opacity:0;pointer-events:none;transition:opacity .18s ease}.class-student-drawer-backdrop[hidden]{display:none}.class-student-drawer-backdrop.is-open{opacity:1;pointer-events:auto}.class-student-drawer{width:min(560px,100%);height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;overflow:hidden;border-left:1px solid rgba(148,163,184,.24);background:hsla(0,0%,100%,.98);box-shadow:-24px 0 58px -42px rgba(15,23,42,.72);transform:translateX(24px);transition:transform .18s ease}.class-student-drawer-backdrop.is-open .class-student-drawer{transform:translateX(0)}.class-student-drawer-head{display:flex;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid rgba(148,163,184,.18)}.class-student-drawer-head span{color:#0f766e;font-size:.78rem;font-weight:900}.class-student-drawer-head h3{margin:5px 0 0;color:#0f172a;font-size:1.16rem}.class-student-drawer-head p{margin:6px 0 0;color:#64748b;line-height:1.5}.class-student-drawer-close{width:36px;height:36px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#fff;color:#64748b;cursor:pointer;font-size:1.25rem}.class-student-drawer-toolbar{display:flex;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(148,163,184,.18)}.class-student-drawer-toolbar input{min-width:0}.class-student-drawer-list{display:grid;align-content:start;gap:10px;min-height:0;overflow:auto;padding:14px 18px 22px;background:rgba(248,250,252,.72)}.class-student-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.94)}.class-student-row[hidden]{display:none}.class-student-row__avatar{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(240,253,250,.92);color:#0f766e;font-weight:900}.class-student-row__avatar.is-muted{border:1px solid rgba(100,116,139,.18);background:rgba(241,245,249,.92);color:#64748b}.class-student-row__main{min-width:0}.class-student-row__main small,.class-student-row__main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-student-row__main strong{color:#0f172a}.class-student-row__main small{margin-top:3px;color:#64748b;font-size:.8rem}.class-student-row__status{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;color:#0f766e;background:rgba(240,253,250,.92);font-size:.74rem;font-weight:800}.class-student-row__actions,.class-student-row__badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.class-student-row__actions,.class-student-row__badges{grid-column:2}.class-student-row__status.is-warning{color:#b45309;background:rgba(255,251,235,.96)}.class-student-row__status.is-muted{color:#475569;background:rgba(241,245,249,.96)}.class-student-row__status.is-academic{color:#0f766e;background:rgba(204,251,241,.86)}.class-student-drawer-empty{margin:14px 18px;border-radius:8px}.class-student-modal-backdrop{position:fixed;inset:0;z-index:1230;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.38);opacity:0;pointer-events:none;transition:opacity .16s ease}.class-student-modal-backdrop[hidden]{display:none}.class-student-modal-backdrop.is-open{opacity:1;pointer-events:auto}.class-student-modal{width:min(640px,100%);max-height:min(760px,calc(100vh - 36px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 30px 68px -46px rgba(15,23,42,.78);transform:translateY(10px) scale(.98);transition:transform .16s ease}.class-student-modal-backdrop.is-open .class-student-modal{transform:translateY(0) scale(1)}.class-academic-sync-backdrop{position:fixed;inset:0;z-index:1240;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.4);opacity:0;pointer-events:none;transition:opacity .16s ease}.class-academic-sync-backdrop[hidden]{display:none}.class-academic-sync-backdrop.is-open{opacity:1;pointer-events:auto}.class-academic-sync-modal{width:min(820px,100%);max-height:min(820px,calc(100vh - 36px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 30px 68px -46px rgba(15,23,42,.78);transform:translateY(10px) scale(.98);transition:transform .16s ease}.class-academic-sync-backdrop.is-open .class-academic-sync-modal{transform:translateY(0) scale(1)}.class-academic-sync-body{display:grid;gap:16px;min-height:0;overflow:auto;padding:18px;background:rgba(248,250,252,.72)}.class-academic-sync-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.class-academic-sync-item,.class-academic-sync-list,.class-academic-sync-rosters{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.94)}.class-academic-sync-item{display:grid;gap:6px;padding:12px}.class-academic-sync-item small,.class-academic-sync-item span{color:#64748b;font-size:.78rem;line-height:1.4}.class-academic-sync-item strong{color:#0f172a;font-size:1.42rem;line-height:1}.class-academic-sync-list,.class-academic-sync-rosters{padding:14px}.class-academic-sync-list h4,.class-academic-sync-rosters h4{margin:0 0 10px;color:#0f172a;font-size:.94rem}.class-academic-sync-list ul{display:grid;gap:7px;margin:0;padding-left:18px;color:#475569;line-height:1.55}.class-academic-sync-warning{border-color:rgba(245,158,11,.28);background:rgba(255,251,235,.82)}.class-academic-sync-roster-list{display:grid;gap:8px}.class-academic-sync-roster-list div{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.75fr) auto;gap:10px;align-items:center;padding:10px;border-radius:8px;background:rgba(248,250,252,.92)}.class-academic-sync-roster-list small,.class-academic-sync-roster-list span,.class-academic-sync-roster-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-academic-sync-roster-list strong{color:#0f172a}.class-academic-sync-roster-list small,.class-academic-sync-roster-list span{color:#64748b}.class-student-modal-head{display:flex;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid rgba(148,163,184,.18)}.class-student-modal-head span{color:#0f766e;font-size:.78rem;font-weight:900}.class-student-modal-head h3{margin:5px 0 0;color:#0f172a;font-size:1.16rem}.class-student-modal-head p{margin:6px 0 0;color:#64748b;line-height:1.5}.class-student-modal-form{min-height:0;overflow:auto;padding:18px}.class-student-modal-wide{grid-column:1/-1}.class-student-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}body.has-class-academic-sync-modal,body.has-class-student-drawer,body.has-class-student-modal{overflow:hidden}@media (prefers-reduced-motion:reduce){.class-academic-sync-backdrop,.class-academic-sync-modal,.class-manage-card,.class-student-drawer,.class-student-drawer-backdrop,.class-student-modal,.class-student-modal-backdrop{transition:none}.class-manage-card:hover{transform:none}}@media (max-width:1180px){.class-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-control-main,.class-workbench{grid-template-columns:1fr}.class-filter-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));justify-content:flex-start}.class-import-panel{position:static}}@media (max-width:720px){.class-hero{grid-template-columns:1fr;padding:18px}.class-board-head,.class-hero-actions,.class-student-drawer-toolbar{align-items:stretch;flex-direction:column}.class-card-list,.class-card-metrics,.class-card-top,.class-stat-grid{grid-template-columns:1fr}.class-filter-fields .academic-filter-field{flex:1 1 100%}.class-card-actions>.btn,.class-hero-actions>.btn{width:100%}.class-student-drawer{width:100%;border-left:0}.class-student-row__actions,.class-student-row__badges{grid-column:2;justify-self:start}.class-student-modal-form{grid-template-columns:1fr}.class-student-modal-actions{flex-direction:column-reverse}.class-student-modal-actions .btn{width:100%;justify-content:center}.class-academic-sync-grid,.class-academic-sync-roster-list div{grid-template-columns:1fr}}.workflow-shell{display:flex;flex-direction:column;gap:24px}.workflow-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;align-items:start}.workflow-hero-copy{display:grid;gap:14px}.workflow-hero-copy p{margin:0;max-width:780px}.workflow-hero-side{display:grid;gap:12px}.workflow-hero-panel{padding:18px 20px;border-radius:22px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.82);box-shadow:var(--shadow-sm)}.workflow-hero-panel span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.workflow-hero-panel strong{display:block;margin-top:10px;color:var(--text-primary);font-size:1.18rem}.workflow-hero-panel p{margin:8px 0 0;color:var(--text-secondary);line-height:1.65}.workflow-stage-rail{--workflow-rail-fade:rgba(248,250,252,.98);position:relative;overflow-x:auto;padding:4px 0 12px;scroll-padding-inline:12px;scrollbar-width:thin;scrollbar-color:rgba(14,165,233,.28) transparent;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-y}.workflow-stage-rail:after,.workflow-stage-rail:before{content:"";position:absolute;top:0;bottom:12px;width:clamp(28px,4vw,52px);z-index:3;pointer-events:none;opacity:0;transition:opacity .22s ease}.workflow-stage-rail:before{left:0;background:linear-gradient(90deg,var(--workflow-rail-fade) 22%,rgba(248,250,252,0))}.workflow-stage-rail:after{right:0;background:linear-gradient(270deg,var(--workflow-rail-fade) 22%,rgba(248,250,252,0))}.workflow-stage-rail.is-scrollable:not(.is-at-end):after,.workflow-stage-rail.is-scrollable:not(.is-at-start):before{opacity:1}.workflow-stage-rail.is-dragging{cursor:grabbing;-moz-user-select:none;user-select:none;-webkit-user-select:none}.workflow-stage-rail:not(.is-scrollable){cursor:default}.workflow-stage-rail.is-dragging,.workflow-stage-rail.is-gliding{scroll-behavior:auto}.workflow-stage-rail.is-dragging .workflow-step{pointer-events:none}.workflow-stage-rail::-webkit-scrollbar{height:8px}.workflow-stage-rail::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(148,163,184,.28)}.workflow-stage-track{position:relative;z-index:1;display:flex;align-items:stretch;gap:clamp(18px,2vw,32px);min-width:-moz-max-content;min-width:max-content;padding:12px 10px 16px}.workflow-step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;align-content:start;min-width:clamp(220px,23vw,300px);min-height:172px;padding:clamp(18px,2.2vw,26px);border-radius:28px;border:1px solid rgba(148,163,184,.14);background:radial-gradient(circle at top right,rgba(14,165,233,.08),transparent 34%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.96));box-shadow:0 16px 34px rgba(15,23,42,.08),inset 0 1px 0 hsla(0,0%,100%,.72);text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .28s ease,background .24s ease,opacity .24s ease}.workflow-step:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(14,165,233,.14));opacity:0;transition:opacity .24s ease}.workflow-step:after{content:"";position:absolute;inset:auto 22px 0;height:5px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,rgba(249,115,22,.2),rgba(14,165,233,.22));opacity:.34;transition:opacity .24s ease,transform .24s ease}.workflow-step:hover{transform:translateY(-6px);border-color:rgba(14,165,233,.26);box-shadow:0 24px 44px rgba(14,165,233,.16),inset 0 1px 0 hsla(0,0%,100%,.76)}.workflow-step.is-active:before,.workflow-step:focus-visible:before,.workflow-step:hover:before{opacity:1}.workflow-step:focus-visible{outline:none;border-color:rgba(14,165,233,.38);box-shadow:0 0 0 4px rgba(14,165,233,.16),0 24px 44px rgba(14,165,233,.16)}.workflow-step.is-active{transform:translateY(-10px) scale(1.015);border-color:rgba(14,165,233,.42);background:radial-gradient(circle at top right,rgba(14,165,233,.18),transparent 36%),radial-gradient(circle at bottom left,rgba(249,115,22,.16),transparent 26%),linear-gradient(180deg,rgba(240,249,255,.98),hsla(0,0%,100%,.98));box-shadow:0 30px 58px rgba(14,165,233,.22),0 12px 28px rgba(249,115,22,.12),inset 0 1px 0 hsla(0,0%,100%,.92);z-index:2}.workflow-step.is-active:after{transform:scaleX(1.03)}.workflow-step.has-content:not(.is-active){border-color:rgba(34,197,94,.18);background:radial-gradient(circle at top right,rgba(34,197,94,.08),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94))}.workflow-step.is-activating{animation:workflow-step-pulse .46s cubic-bezier(.2,.8,.2,1)}.workflow-step-index{position:relative;z-index:1;grid-row:1/span 2;display:inline-flex;width:clamp(54px,5vw,68px);height:clamp(54px,5vw,68px);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.08),rgba(15,23,42,.03));color:var(--text-primary);font-weight:800;font-size:clamp(1.7rem,3.2vw,2.6rem);letter-spacing:-.08em;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.76),0 8px 18px rgba(15,23,42,.08);transition:transform .28s cubic-bezier(.2,.8,.2,1),background .24s ease,color .24s ease,box-shadow .24s ease}.workflow-step.is-active .workflow-step-index{transform:translateY(-2px) scale(1.05);background:linear-gradient(160deg,#fb923c,#0ea5e9);box-shadow:0 16px 28px rgba(14,165,233,.24),inset 0 1px 0 hsla(0,0%,100%,.28)}.workflow-step.has-content:not(.is-active) .workflow-step-index{background:linear-gradient(160deg,rgba(34,197,94,.18),rgba(14,165,233,.16))}.workflow-step-copy{position:relative;z-index:1;display:grid;gap:8px}.workflow-step-copy strong{color:var(--text-primary);font-size:clamp(1.02rem,1.35vw,1.18rem);line-height:1.24}.workflow-step-copy p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.62;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.workflow-step.is-active .workflow-step-copy p{color:#334155;-webkit-line-clamp:3}.workflow-step .workflow-status-badge{position:relative;z-index:1;grid-column:2;align-self:end;padding:7px 12px;border-color:rgba(148,163,184,.18);background:hsla(0,0%,100%,.88);color:#475569;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72)}.workflow-step .workflow-status-badge.has-count{border-color:rgba(14,165,233,.18);background:rgba(240,249,255,.94);color:#0369a1}.workflow-step .workflow-status-badge.is-empty{border-color:rgba(148,163,184,.16);background:rgba(248,250,252,.88);color:#64748b}.workflow-step .workflow-status-badge.is-active-stage,.workflow-step.is-active .workflow-status-badge{border-color:rgba(14,165,233,.22);background:hsla(0,0%,100%,.94);color:#0f172a;box-shadow:0 10px 22px rgba(14,165,233,.12),inset 0 1px 0 hsla(0,0%,100%,.82)}.workflow-step-arrow{flex:0 0 clamp(64px,6vw,96px);display:flex;align-items:center;justify-content:center;pointer-events:none}.workflow-step-arrow span{position:relative;display:block;width:100%;height:32px}.workflow-step-arrow span:before{content:"";position:absolute;left:0;right:18px;top:50%;height:5px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,rgba(148,163,184,.28),rgba(148,163,184,.12));box-shadow:0 8px 22px rgba(15,23,42,.06);transition:background .24s ease,box-shadow .24s ease}.workflow-step-arrow span:after{content:"";position:absolute;right:0;top:50%;width:18px;height:18px;border-top:5px solid rgba(148,163,184,.44);border-right:5px solid rgba(148,163,184,.44);border-radius:3px;transform:translateY(-50%) rotate(45deg);transition:border-color .24s ease,transform .24s ease}.workflow-step-arrow.is-traversed span:before{background:linear-gradient(90deg,rgba(34,197,94,.4),rgba(14,165,233,.42));box-shadow:0 10px 24px rgba(34,197,94,.12)}.workflow-step-arrow.is-traversed span:after{border-color:rgba(14,165,233,.5)}.workflow-step-arrow.is-current span:before{background:linear-gradient(90deg,rgba(249,115,22,.5),rgba(14,165,233,.7));box-shadow:0 12px 28px rgba(14,165,233,.18)}.workflow-step-arrow.is-current span:after{border-color:rgba(14,165,233,.78);transform:translateY(-50%) rotate(45deg) scale(1.06)}.workflow-focus-card{overflow:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease,opacity .28s ease}.workflow-focus-card.is-switching{animation:workflow-panel-swap .42s cubic-bezier(.2,.8,.2,1)}.workflow-focus-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}.workflow-focus-main{display:grid;gap:14px}.workflow-stage-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#0369a1}.workflow-stage-eyebrow:before{content:"";width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,#f97316,#0ea5e9)}.workflow-focus-title{margin:0;font-size:clamp(1.5rem,2.2vw,1.95rem);line-height:1.12;color:var(--text-primary)}.workflow-focus-description{margin:0;color:var(--text-secondary);line-height:1.72;max-width:760px}.workflow-focus-callout{display:grid;gap:8px;padding:18px 20px;border-radius:22px;border:1px solid rgba(14,165,233,.18);background:radial-gradient(circle at top right,rgba(14,165,233,.12),transparent 32%),rgba(248,250,252,.86)}.workflow-focus-callout strong{color:var(--text-primary)}.workflow-focus-callout p{margin:0;color:var(--text-secondary);line-height:1.68}.workflow-stage-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.workflow-focus-side{display:grid;gap:14px}.workflow-focus-side-panel{display:grid;gap:10px;padding:18px;border-radius:20px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.82)}.workflow-focus-side-panel h4{margin:0;color:var(--text-primary);font-size:.96rem}.workflow-focus-side-panel p{margin:0;color:var(--text-secondary);line-height:1.68}.workflow-stage-checklist{display:grid;gap:10px}.workflow-check-item{display:grid;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid rgba(148,163,184,.14);background:hsla(0,0%,100%,.92)}.workflow-check-item.is-ready{border-color:rgba(34,197,94,.18);background:rgba(240,253,244,.86)}.workflow-check-item-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.workflow-check-item strong{color:var(--text-primary);font-size:.9rem}.workflow-check-item p{margin:0;color:var(--text-secondary);line-height:1.55;font-size:.84rem}.workflow-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.88);color:var(--text-secondary);font-size:.78rem;font-weight:600;white-space:nowrap}.workflow-status-badge.is-complete{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.18);color:#15803d}.workflow-status-badge.is-in_progress{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.18);color:#c2410c}.workflow-status-badge.is-pending{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.2);color:#475569}.workflow-frame-shell{position:relative;display:grid;gap:12px;border-radius:24px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,rgba(248,250,252,.84),hsla(0,0%,100%,.96));transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease,opacity .28s ease}.workflow-frame-shell.is-switching{animation:workflow-frame-swap .46s cubic-bezier(.2,.8,.2,1)}.workflow-frame-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.workflow-frame-toolbar-copy{display:grid;gap:4px}.workflow-frame-toolbar-copy strong{color:var(--text-primary)}.workflow-frame-toolbar-copy span{color:var(--text-secondary);font-size:.88rem}.workflow-frame-loading{position:absolute;inset:58px 14px 14px;display:none;align-items:center;justify-content:center;border-radius:20px;background:hsla(0,0%,100%,.78);backdrop-filter:blur(3px);color:var(--text-secondary);z-index:1}.workflow-frame-loading.is-visible{display:flex}.workflow-frame-loading span{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:rgba(15,23,42,.06)}.workflow-content-frame{width:100%;min-height:920px;border:none;border-radius:20px;background:#fff}@keyframes workflow-step-pulse{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-6px) scale(1.018)}to{transform:translateY(0) scale(1)}}@keyframes workflow-panel-swap{0%{opacity:.9;transform:translateY(10px)}55%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes workflow-frame-swap{0%{opacity:.8;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.workflow-stage-track{gap:22px}.workflow-step{min-width:240px}}@media (max-width:1080px){.workflow-focus-body,.workflow-hero{grid-template-columns:1fr}.workflow-step{min-width:228px}}@media (max-width:768px){.workflow-shell{gap:20px}.workflow-stage-rail{padding-bottom:10px}.workflow-stage-track{gap:16px;padding:10px}.workflow-step{min-width:208px;min-height:160px;padding:18px 16px;border-radius:24px}.workflow-step.is-active{transform:translateY(-6px) scale(1.01)}.workflow-step-arrow{flex-basis:56px}.workflow-step-arrow span{height:28px}.workflow-step-arrow span:before{right:14px;height:4px}.workflow-step-arrow span:after{width:14px;height:14px;border-top-width:4px;border-right-width:4px}.workflow-frame-toolbar,.workflow-stage-actions{justify-content:flex-start}.workflow-content-frame{min-height:760px}}@media (max-width:560px){.workflow-hero-panel{padding:16px 18px}.workflow-stage-track{gap:14px;padding:8px}.workflow-step{min-width:min(78vw,240px);min-height:152px;gap:10px 14px;padding:16px 15px}.workflow-step-copy p{font-size:.84rem;line-height:1.56}.workflow-step-arrow{flex-basis:48px}.workflow-focus-callout,.workflow-focus-side-panel{padding:16px}.workflow-content-frame{min-height:680px}}@media (prefers-reduced-motion:reduce){.workflow-focus-card,.workflow-frame-shell,.workflow-step,.workflow-step-arrow span:after,.workflow-step-arrow span:before,.workflow-step-index,.workflow-step:after,.workflow-step:before{transition:none;animation:none}}.workflow-hero{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.workflow-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.workflow-stage-carousel{position:relative}.workflow-stage-rail{padding:2px 0 14px}.workflow-stage-carousel .workflow-stage-rail:after,.workflow-stage-carousel .workflow-stage-rail:before{content:none;display:none}.workflow-stage-track{gap:12px;padding:10px 3.35rem 18px}.workflow-rail-nav{position:absolute;top:calc(50% - 4px);z-index:6;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:hsla(0,0%,100%,.94);color:#0f172a;box-shadow:0 16px 34px -24px rgba(15,23,42,.72);cursor:pointer;transform:translateY(-50%);transition:opacity .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.workflow-rail-nav span{display:block;margin-top:-.08rem;font-size:1.85rem;font-weight:300;line-height:1}.workflow-rail-nav.is-prev{left:.42rem}.workflow-rail-nav.is-next{right:.42rem}.workflow-rail-nav:focus-visible,.workflow-rail-nav:hover:not(:disabled){border-color:rgba(15,118,110,.28);box-shadow:0 18px 38px -24px rgba(15,118,110,.66);transform:translateY(-50%) scale(1.04)}.workflow-rail-nav:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(20,184,166,.14),0 18px 38px -24px rgba(15,118,110,.66)}.workflow-rail-nav:disabled{opacity:.34;cursor:default;box-shadow:none}.workflow-step-arrow{display:none}.workflow-step{--workflow-card-lift:0px;--workflow-card-scale:1;flex:0 0 13.25rem;min-width:13.25rem;min-height:7.85rem;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:.62rem;padding:.86rem .92rem;border-radius:8px;border-color:rgba(148,163,184,.2);background:hsla(0,0%,100%,.84);box-shadow:0 12px 28px -24px rgba(15,23,42,.5);transform:translateY(var(--workflow-card-lift)) scale(var(--workflow-card-scale))}.workflow-step:before{display:none}.workflow-step:after{left:50%;right:auto;bottom:-.7rem;width:3.8rem;height:1rem;border-radius:999px;background:radial-gradient(ellipse at center,rgba(14,165,233,.18),rgba(14,165,233,0));opacity:0;transform:translateX(-50%) scale(.72);transition:opacity .18s ease,transform .18s ease}.workflow-step:hover{--workflow-card-lift:-2px;border-color:rgba(15,118,110,.26);box-shadow:0 18px 40px -30px rgba(15,23,42,.66)}.workflow-step.is-active{--workflow-card-lift:-2.4px;--workflow-card-scale:1.022;border-color:rgba(15,118,110,.34);background:radial-gradient(circle at top right,rgba(20,184,166,.14),transparent 44%),linear-gradient(135deg,rgba(240,253,250,.98),hsla(0,0%,100%,.98));box-shadow:0 20px 42px -28px rgba(15,118,110,.52)}.workflow-step.is-active:after{opacity:1;transform:translateX(-50%) scale(1)}.workflow-step.is-complete:not(.is-active){border-color:rgba(34,197,94,.22);background:radial-gradient(circle at top right,rgba(34,197,94,.08),transparent 36%),hsla(0,0%,100%,.84)}.workflow-step.is-optional:not(.is-active){border-style:dashed}.workflow-step-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.55rem;min-width:0}.workflow-step-index{grid-row:auto;flex:0 0 1.38rem;width:1.38rem;height:1.38rem;padding:0;border:1px solid rgba(15,118,110,.14);border-radius:999px;background:rgba(240,253,250,.86);box-shadow:none;color:#0f766e;font-size:.68rem;font-weight:700;letter-spacing:0;line-height:1;align-items:center;justify-content:center}.workflow-step.is-active .workflow-step-index{transform:none;border-color:rgba(15,118,110,.2);background:#0f766e;color:#fff;box-shadow:none}.workflow-step.has-content:not(.is-active) .workflow-step-index{border-color:rgba(34,197,94,.18);background:rgba(240,253,244,.9);color:#15803d;box-shadow:none}.workflow-step-state{min-width:0;overflow:hidden;color:var(--text-muted);font-size:.72rem;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.workflow-step.is-active .workflow-step-state{color:#047857}.workflow-step-copy{grid-column:auto;gap:.3rem;min-width:0;align-self:center}.workflow-step-copy strong{font-size:.92rem;line-height:1.34}.workflow-step-copy p,.workflow-step.is-active .workflow-step-copy p{color:var(--text-secondary);font-size:.79rem;line-height:1.46;-webkit-line-clamp:2}.workflow-step-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.42rem;min-width:0}.workflow-step .workflow-status-badge{grid-column:auto;justify-self:start;align-self:start;flex:0 0 auto;padding:.22rem .52rem;border-radius:999px;background:rgba(241,245,249,.9);color:var(--text-muted);font-size:.7rem;font-weight:700;box-shadow:none}.workflow-step .workflow-status-badge.is-complete{border-color:rgba(34,197,94,.2);background:rgba(240,253,244,.92);color:#15803d}.workflow-step .workflow-status-badge.is-in_progress{border-color:rgba(14,165,233,.22);background:rgba(240,249,255,.94);color:#0369a1}.workflow-step .workflow-status-badge.is-optional{border-color:rgba(245,158,11,.24);background:rgba(255,251,235,.94);color:#b45309}.workflow-step .workflow-status-badge.is-active-stage{color:#064e3b}.workflow-step-meta{position:relative;z-index:1;display:block;min-width:0;overflow:hidden;color:var(--text-muted);font-size:.72rem;font-weight:650;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.workflow-check-item,.workflow-content-frame,.workflow-focus-callout,.workflow-focus-card,.workflow-focus-side-panel,.workflow-frame-shell,.workflow-hero-panel{border-radius:8px}.workflow-focus-card{border-color:rgba(148,163,184,.18);box-shadow:0 18px 40px -34px rgba(15,23,42,.45)}.workflow-focus-callout{border-color:rgba(15,118,110,.16);background:rgba(248,250,252,.86)}.workflow-frame-shell{padding:14px;background:rgba(248,250,252,.8)}@media (max-width:1080px){.workflow-hero{grid-template-columns:1fr}.workflow-step{flex-basis:12.75rem;min-width:12.75rem}}@media (max-width:560px){.workflow-stage-track{padding-inline:2.65rem}.workflow-rail-nav{width:2rem;height:2rem}.workflow-rail-nav span{font-size:1.58rem}.workflow-rail-nav.is-prev{left:.22rem}.workflow-rail-nav.is-next{right:.22rem}.workflow-step{flex-basis:min(78vw,14rem);min-width:min(78vw,14rem);min-height:6.2rem;padding:.86rem .92rem}}@media (prefers-reduced-motion:reduce){.workflow-step,.workflow-step:after{transition:none;animation:none}}.student-insight-shell{display:grid;gap:22px}.student-insight-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:24px;padding:28px;border-radius:28px;border:1px solid rgba(15,23,42,.08);background:radial-gradient(circle at top right,rgba(14,165,233,.16),transparent 32%),radial-gradient(circle at bottom left,rgba(249,115,22,.14),transparent 28%),linear-gradient(140deg,hsla(0,0%,100%,.97),rgba(248,250,252,.94));box-shadow:0 24px 60px rgba(15,23,42,.08);animation:insight-rise .42s ease-out both}.student-insight-identity{display:flex;gap:18px;align-items:center;min-width:0}.student-insight-avatar{width:88px;height:88px;border-radius:28px;-o-object-fit:cover;object-fit:cover;border:4px solid hsla(0,0%,100%,.88);box-shadow:0 16px 28px rgba(15,23,42,.16)}.student-insight-copy{min-width:0}.student-insight-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;color:#0369a1;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.student-insight-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#f97316,#0ea5e9)}.student-insight-copy h2{margin:0;color:var(--text-primary);font-size:clamp(1.7rem,2.2vw,2.28rem);line-height:1.12}.student-insight-copy p{margin:10px 0 0;color:var(--text-secondary);line-height:1.65}.student-insight-actions,.student-insight-metric-list,.student-insight-tags{display:flex;flex-wrap:wrap;gap:10px}.student-insight-tags{margin-top:16px}.student-insight-tag{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:hsla(0,0%,100%,.75);color:var(--text-secondary);font-size:.8rem;font-weight:700}.student-insight-tag.is-cultivation{border-color:rgba(249,115,22,.24);background:rgba(255,247,237,.88);color:#c2410c}.student-insight-hero-panel{display:grid;align-content:center;gap:12px;padding:18px;border-radius:22px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.76);backdrop-filter:blur(8px)}.student-insight-hero-panel span{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.student-insight-hero-panel strong{color:var(--text-primary);font-size:1.2rem}.student-insight-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.student-insight-stat{padding:18px 20px;border-radius:22px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.94);box-shadow:var(--shadow-sm);animation:insight-rise .45s ease-out both}.student-insight-stat span{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.student-insight-stat strong{display:block;margin-top:8px;color:var(--text-primary);font-size:1.9rem}.student-insight-stat p{margin:8px 0 0;color:var(--text-secondary);font-size:.86rem}.student-support-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:20px}.student-support-card{align-content:start}.student-support-list{display:grid;gap:12px}.student-support-item{display:grid;gap:6px;min-width:0;padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:linear-gradient(180deg,rgba(248,250,252,.9),hsla(0,0%,100%,.95))}.student-support-item span{color:#0369a1;font-size:.78rem;font-weight:850}.student-support-item p{margin:0;color:var(--text-primary);line-height:1.68;overflow-wrap:anywhere}.student-support-foot,.student-support-note-actions,.student-support-note-meta,.student-support-teachers{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.student-support-foot span,.student-support-teachers span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:rgba(240,249,255,.86);color:#0369a1;font-size:.76rem;font-weight:800}.student-support-empty{display:grid;gap:6px;padding:16px;border:1px dashed rgba(148,163,184,.34);border-radius:14px;background:rgba(248,250,252,.74);color:var(--text-secondary);line-height:1.62}.student-support-empty strong{color:var(--text-primary)}.student-support-note-form{display:grid;gap:10px}.student-support-note-form label{color:var(--text-primary);font-size:.86rem;font-weight:800}.student-support-note-form textarea{width:100%;min-height:180px;resize:vertical;padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:hsla(0,0%,100%,.94);color:var(--text-primary);font:inherit;line-height:1.62;outline:none}.student-support-note-form textarea:focus{border-color:rgba(14,165,233,.46);box-shadow:0 0 0 3px rgba(14,165,233,.12)}.student-support-note-meta{justify-content:space-between;color:var(--text-muted);font-size:.78rem;line-height:1.45}.student-support-note-actions{justify-content:flex-end}.student-insight-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px}.student-insight-band{display:grid;gap:18px;padding:22px;border-radius:24px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.94);box-shadow:0 18px 40px rgba(15,23,42,.06);animation:insight-rise .5s ease-out both}.student-insight-band__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.student-insight-band__head h3{margin:0;color:var(--text-primary);font-size:1.14rem}.student-insight-band__head p{margin:6px 0 0;color:var(--text-secondary);line-height:1.55}.student-course-list{display:grid;gap:14px}.student-course-card{display:grid;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(248,250,252,.92),hsla(0,0%,100%,.96));color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.student-course-card:hover{transform:translateY(-2px);border-color:rgba(14,165,233,.34);box-shadow:0 18px 30px rgba(14,165,233,.1)}.student-course-card__top,.student-course-score,.student-task-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-course-card h4{margin:0;color:var(--text-primary)}.student-course-card small,.student-course-score span,.student-task-row small{color:var(--text-muted)}.student-sect-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;padding:5px 10px;border-radius:999px;background:rgba(249,115,22,.12);color:#c2410c;font-size:.78rem;font-weight:800}.student-mini-bar,.student-progress-bar{overflow:hidden;height:10px;border-radius:999px;background:rgba(148,163,184,.18)}.student-mini-bar span,.student-progress-bar span{display:block;height:100%;width:var(--value,0);border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#22c55e,#f97316);animation:insight-bar .8s ease-out both}.student-course-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-course-metrics div{display:grid;gap:6px;min-width:0}.student-course-metrics span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.student-radar-wrap{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.student-radar{width:180px;height:180px}.student-radar-grid{fill:none;stroke:rgba(148,163,184,.36);stroke-width:1}.student-radar-fill{fill:rgba(14,165,233,.22);stroke:#0ea5e9;stroke-width:3;filter:drop-shadow(0 8px 14px rgba(14,165,233,.18));animation:insight-radar .7s ease-out both}.student-radar-label{fill:#0f766e;font-size:.72rem;font-weight:900;paint-order:stroke;stroke:hsla(0,0%,100%,.86);stroke-linejoin:round;stroke-width:4px}.student-radar-axis-list{display:grid;gap:10px}.student-radar-axis{display:grid;gap:6px}.student-radar-axis div{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:.84rem;font-weight:700}.student-task-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start}.student-task-donut{--value:0;display:grid;place-items:center;width:138px;height:138px;border-radius:50%;background:radial-gradient(circle,#fff 0 54%,transparent 55%),conic-gradient(#0ea5e9 calc(var(--value)*1%),rgba(148,163,184,.18) 0);box-shadow:inset 0 0 0 1px rgba(148,163,184,.16)}.student-task-donut strong{color:var(--text-primary);font-size:1.5rem}.student-task-lists{display:grid;gap:14px}.student-task-list{display:grid;gap:8px}.student-task-list h4{margin:0;color:var(--text-primary)}.student-task-row{padding:10px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.16);background:rgba(248,250,252,.82)}.student-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-activity-card{padding:14px;border-radius:18px;background:rgba(248,250,252,.88);border:1px solid rgba(148,163,184,.18)}.student-activity-card span{color:var(--text-muted);font-size:.78rem}.student-activity-card strong{display:block;margin-top:6px;color:var(--text-primary);font-size:1.35rem}@keyframes insight-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes insight-bar{0%{width:0}to{width:var(--value,0)}}@keyframes insight-radar{0%{opacity:0;transform:scale(.86);transform-origin:center}to{opacity:1;transform:scale(1);transform-origin:center}}@media (max-width:1080px){.student-insight-grid,.student-insight-hero,.student-radar-wrap,.student-support-grid,.student-task-layout{grid-template-columns:1fr}}@media (max-width:680px){.student-insight-band,.student-insight-hero{padding:18px;border-radius:22px}.student-course-card__top,.student-course-score,.student-insight-identity{align-items:flex-start;flex-direction:column}.student-activity-grid,.student-course-metrics{grid-template-columns:1fr}}.teacher-whiteboard-root,.teacher-whiteboard-root *{box-sizing:border-box}.teacher-whiteboard-root{--teacher-whiteboard-bg-alpha:0.78;--teacher-whiteboard-ink-alpha:1;--teacher-whiteboard-pan-x:0px;--teacher-whiteboard-pan-y:0px;--teacher-whiteboard-grid-size:40px;--teacher-whiteboard-major-grid-size:200px;position:fixed;inset:0;z-index:2400;opacity:0;pointer-events:none;transition:opacity .18s ease}.teacher-whiteboard-root.is-open{opacity:1;pointer-events:auto}.teacher-whiteboard-root[hidden]{display:none}.teacher-whiteboard-stage{position:absolute;inset:0;overflow:hidden;cursor:crosshair;touch-action:none}.teacher-whiteboard-stage:before{content:"";position:absolute;inset:0;z-index:0;opacity:var(--teacher-whiteboard-bg-alpha);background-color:#f8fafc;background-image:linear-gradient(rgba(71,85,105,.12) 1px,transparent 0),linear-gradient(90deg,rgba(71,85,105,.12) 1px,transparent 0),linear-gradient(rgba(14,116,144,.16) 1px,transparent 0),linear-gradient(90deg,rgba(14,116,144,.16) 1px,transparent 0);background-size:var(--teacher-whiteboard-grid-size) var(--teacher-whiteboard-grid-size),var(--teacher-whiteboard-grid-size) var(--teacher-whiteboard-grid-size),var(--teacher-whiteboard-major-grid-size) var(--teacher-whiteboard-major-grid-size),var(--teacher-whiteboard-major-grid-size) var(--teacher-whiteboard-major-grid-size);background-position:var(--teacher-whiteboard-pan-x) var(--teacher-whiteboard-pan-y),var(--teacher-whiteboard-pan-x) var(--teacher-whiteboard-pan-y),var(--teacher-whiteboard-pan-x) var(--teacher-whiteboard-pan-y),var(--teacher-whiteboard-pan-x) var(--teacher-whiteboard-pan-y);pointer-events:none}.teacher-whiteboard-root[data-tool=hand] .teacher-whiteboard-stage{cursor:grab}.teacher-whiteboard-root.is-panning .teacher-whiteboard-stage{cursor:grabbing}.teacher-whiteboard-root[data-tool=text] .teacher-whiteboard-stage{cursor:text}.teacher-whiteboard-root[data-tool=shape] .teacher-whiteboard-stage{cursor:crosshair}.teacher-whiteboard-canvas-layer{position:absolute;inset:0;z-index:1;opacity:var(--teacher-whiteboard-ink-alpha)}.teacher-whiteboard-canvas-layer canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.teacher-whiteboard-toolbar{position:fixed;top:max(16px,calc(env(safe-area-inset-top) + 12px));left:max(16px,calc(env(safe-area-inset-left) + 12px));right:max(100px,calc(env(safe-area-inset-right) + 92px));z-index:2420;display:flex;align-items:center;gap:10px;min-height:66px;padding:10px;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.88)),radial-gradient(circle at top left,rgba(20,184,166,.12),transparent 34%);box-shadow:0 22px 42px -28px rgba(15,23,42,.42),inset 0 1px 0 hsla(0,0%,100%,.78);backdrop-filter:blur(18px) saturate(140%);transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .18s ease,opacity .18s ease}.teacher-whiteboard-root.is-open .teacher-whiteboard-toolbar{transform:translateY(0);opacity:1;pointer-events:auto}.teacher-whiteboard-group{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:7px;border-radius:14px;background:hsla(0,0%,100%,.58);border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72)}.teacher-whiteboard-group.is-board{min-width:min(340px,36vw);flex:1 1 320px}.teacher-whiteboard-group.is-actions,.teacher-whiteboard-group.is-tools{flex:0 0 auto}.teacher-whiteboard-control{display:inline-flex;align-items:center;gap:7px;min-width:0}.teacher-whiteboard-control span{color:#475569;font-size:.76rem;font-weight:700;white-space:nowrap}.teacher-whiteboard-name,.teacher-whiteboard-select{min-width:0;height:34px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:hsla(0,0%,100%,.92);color:#0f172a;font:inherit;font-size:.86rem;outline:none;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}.teacher-whiteboard-select{width:min(170px,100%);padding:0 10px}.teacher-whiteboard-name{flex:1 1 120px;width:100%;padding:0 11px}.teacher-whiteboard-name:focus,.teacher-whiteboard-select:focus{border-color:rgba(14,116,144,.42);box-shadow:0 0 0 3px rgba(20,184,166,.14)}.teacher-whiteboard-btn{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;background:transparent;color:#334155;cursor:pointer;transition:transform .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.teacher-whiteboard-btn svg{width:18px;height:18px;stroke-width:2.1}.teacher-whiteboard-btn:focus-visible,.teacher-whiteboard-btn:hover{background:rgba(14,116,144,.1);color:#0f766e;border-color:rgba(20,184,166,.2);transform:translateY(-1px)}.teacher-whiteboard-btn.is-active{background:linear-gradient(180deg,rgba(20,184,166,.18),rgba(14,165,233,.12));color:#0f766e;border-color:rgba(20,184,166,.32);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 10px 18px -16px rgba(15,118,110,.7)}.teacher-whiteboard-btn:disabled{opacity:.42;cursor:not-allowed;transform:none;background:transparent;border-color:transparent;box-shadow:none}.teacher-whiteboard-color{width:34px;height:34px;padding:3px;border:1px solid rgba(148,163,184,.28);border-radius:11px;background:hsla(0,0%,100%,.9);cursor:pointer}.teacher-whiteboard-range{width:92px;accent-color:#0f766e}.teacher-whiteboard-value{min-width:36px;color:#334155;font-size:.78rem;font-weight:700;text-align:right}.teacher-whiteboard-fab{position:fixed;top:max(18px,calc(env(safe-area-inset-top) + 12px));right:max(20px,calc(env(safe-area-inset-right) + 14px));z-index:2440;width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsla(0,0%,100%,.36);border-radius:50%;background:radial-gradient(circle at 32% 24%,hsla(0,0%,100%,.52),transparent 34%),linear-gradient(135deg,#0f766e,#0ea5e9 62%,#f59e0b);color:#fff;box-shadow:0 24px 42px -24px rgba(15,23,42,.62),0 10px 22px -18px rgba(14,116,144,.9);cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.teacher-whiteboard-fab:focus-visible,.teacher-whiteboard-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 30px 48px -24px rgba(15,23,42,.68),0 14px 26px -18px rgba(14,116,144,.92)}.teacher-whiteboard-fab.is-dragging{cursor:grabbing;transform:scale(1.02)}.teacher-whiteboard-fab.is-open{background:radial-gradient(circle at 30% 24%,hsla(0,0%,100%,.48),transparent 34%),linear-gradient(135deg,#ef4444,#f97316)}.teacher-whiteboard-fab svg{width:27px;height:27px;stroke-width:2.2}.teacher-whiteboard-text-editor{position:absolute;z-index:3;min-width:180px;min-height:46px;max-width:min(520px,calc(100vw - 40px));padding:8px 10px;border:1px solid rgba(14,116,144,.36);border-radius:10px;background:hsla(0,0%,100%,.9);color:#0f172a;font-family:var(--font-family-sans);line-height:1.32;resize:both;box-shadow:0 16px 34px -24px rgba(15,23,42,.52);outline:none}.teacher-whiteboard-text-editor:focus{box-shadow:0 0 0 3px rgba(20,184,166,.16),0 16px 34px -24px rgba(15,23,42,.52)}@media (max-width:1180px){.teacher-whiteboard-toolbar{right:max(90px,calc(env(safe-area-inset-right) + 82px));overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.teacher-whiteboard-group{flex-shrink:0}.teacher-whiteboard-group.is-board{min-width:300px;flex-basis:300px}}@media (max-width:760px){.teacher-whiteboard-toolbar{top:max(82px,calc(env(safe-area-inset-top) + 72px));left:10px;right:10px;min-height:58px;padding:8px;border-radius:16px}.teacher-whiteboard-group{min-height:40px;padding:6px}.teacher-whiteboard-group.is-board{min-width:260px;flex-basis:260px}.teacher-whiteboard-range{width:78px}.teacher-whiteboard-btn,.teacher-whiteboard-color,.teacher-whiteboard-name,.teacher-whiteboard-select{height:32px}.teacher-whiteboard-btn{width:32px;flex-basis:32px}.teacher-whiteboard-fab{width:56px;height:56px}}.profile-page{--profile-accent:var(--primary-color);--profile-accent-soft:rgba(79,70,229,.13);--profile-accent-strong:rgba(79,70,229,.22);--profile-card-bg:hsla(0,0%,100%,.82);--profile-card-border:rgba(148,163,184,.22);--profile-shadow:0 24px 48px -30px rgba(15,23,42,.48);background:linear-gradient(135deg,var(--profile-accent-soft),hsla(0,0%,100%,0) 34%),linear-gradient(180deg,rgba(248,250,252,.96),rgba(238,243,251,.92))}.profile-page.role-teacher{--profile-accent:var(--success-color);--profile-accent-soft:rgba(16,185,129,.15);--profile-accent-strong:rgba(16,185,129,.23)}.profile-page .navbar{background:hsla(0,0%,100%,.72);border-bottom-color:rgba(148,163,184,.16);box-shadow:0 20px 32px -28px rgba(15,23,42,.45)}.profile-page .main-content{padding-top:clamp(1.25rem,2vw,2rem);padding-bottom:3rem}.profile-main,.profile-message-center,.profile-overview-primary,.profile-overview-rail,.profile-security-rail,.profile-settings-rail,.profile-shell,.profile-sidebar{display:grid;gap:1rem;min-width:0}.profile-message-center{scroll-margin-top:7.5rem}.profile-shell{gap:1.35rem;overflow-x:hidden}.profile-band,.profile-chart-card,.profile-hero,.profile-metric-card{border:1px solid var(--profile-card-border);background:var(--profile-card-bg);backdrop-filter:blur(16px);box-shadow:var(--profile-shadow)}.profile-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.1rem;padding:clamp(1.4rem,2.2vw,2rem);border-radius:28px;overflow:hidden;background:linear-gradient(135deg,hsla(0,0%,100%,.82),hsla(0,0%,100%,.58)),linear-gradient(120deg,var(--profile-accent-soft),hsla(0,0%,100%,.04) 62%)}.profile-band,.profile-chart-card,.profile-hero,.profile-hero__main,.profile-hero__signal,.profile-metric-card{min-width:0}.profile-hero__main{position:relative;display:flex;flex-direction:column;gap:1rem;min-width:0}.profile-band__head,.profile-hero__eyebrow-row,.profile-section-head,.profile-stream-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-hero__eyebrow-row{flex-wrap:wrap}.profile-eyebrow{width:-moz-fit-content;width:fit-content;padding:.35rem .7rem;background:rgba(15,23,42,.05);color:var(--profile-accent);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.profile-eyebrow,.profile-section-pill{display:inline-flex;align-items:center;border-radius:999px}.profile-section-pill{min-height:32px;padding:.35rem .75rem;background:hsla(0,0%,100%,.68);color:var(--text-secondary);font-size:.84rem;font-weight:700;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.65)}.profile-hero__identity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.1rem;align-items:center}.profile-hero__avatar-ring{display:inline-flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:34px;background:linear-gradient(135deg,hsla(0,0%,100%,.86),var(--profile-accent-soft));border:1px solid hsla(0,0%,100%,.72);box-shadow:0 22px 38px -28px rgba(15,23,42,.62)}.profile-avatar-card img,.profile-hero__avatar{width:92px;height:92px;border-radius:26px;-o-object-fit:cover;object-fit:cover;background:#fff;box-shadow:0 18px 28px -22px rgba(15,23,42,.68)}.profile-hero__copy{min-width:0}.profile-hero__copy h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.profile-activity-item p,.profile-hero__copy p,.profile-hero__signal p,.profile-metric-card p,.profile-quick-links span,.profile-section-head p,.profile-stream-head p{margin:0;color:var(--text-secondary);line-height:1.65}.profile-hero__copy p{max-width:68ch;margin-top:.55rem;overflow-wrap:anywhere}.profile-hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.profile-hero__stat{min-width:0;padding:.72rem .78rem;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.68);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.72)}.profile-hero__stat em,.profile-hero__stat strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hero__stat strong{color:var(--text-primary);font-size:1.18rem;line-height:1.1}.profile-hero__stat strong small{margin-left:.12rem;color:var(--text-muted);font-size:.72rem}.profile-hero__stat em{margin-top:.28rem;color:var(--text-muted);font-size:.78rem;font-style:normal;font-weight:750}.profile-chip-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.profile-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:34px;padding:.46rem .78rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.66);color:var(--text-secondary);font-size:.86rem;font-weight:650;max-width:100%}.profile-chip--role{color:var(--profile-accent);background:hsla(0,0%,100%,.86)}.profile-chip--link{color:var(--profile-accent);text-decoration:none}.profile-chip--link:hover{text-decoration:none;border-color:var(--profile-accent)}.profile-hero__actions,.profile-section-head__actions{display:flex;flex-wrap:wrap;gap:.7rem}.profile-hero__signal{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-height:100%;padding:1.3rem;border-radius:22px;background:linear-gradient(160deg,rgba(15,23,42,.93),rgba(30,41,59,.88));color:var(--text-inverse);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.profile-hero__signal p,.profile-hero__signal>span,.profile-signal-grid span{color:rgba(226,232,240,.78)}.profile-hero__signal-value{display:flex;align-items:flex-end;gap:.35rem}.profile-hero__signal-value strong{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1}.profile-hero__signal-value small{padding-bottom:.42rem;color:rgba(226,232,240,.82);font-size:1.05rem}.profile-progress{height:9px;overflow:hidden;border-radius:999px;background:hsla(0,0%,100%,.14)}.profile-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#38bdf8);transition:width .35s ease}.profile-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.profile-signal-grid div{min-width:0;padding:.74rem;border-radius:16px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.08)}.profile-signal-grid span,.profile-signal-grid strong{display:block}.profile-signal-grid strong{margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.25rem;align-items:start}.profile-sidebar{position:sticky;top:88px}.profile-band,.profile-chart-card,.profile-metric-card{border-radius:20px;padding:1.1rem}.profile-nav{display:grid;gap:.55rem}.profile-nav__link{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:58px;padding:.72rem .8rem;border-radius:16px;color:var(--text-secondary);text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.profile-nav__link.is-active,.profile-nav__link:hover{transform:translateX(2px);background:hsla(0,0%,100%,.82);color:var(--profile-accent);text-decoration:none;box-shadow:0 16px 30px -28px rgba(15,23,42,.58)}.profile-nav__dot{width:9px;height:9px;border-radius:999px;background:rgba(148,163,184,.45)}.profile-nav__link.is-active .profile-nav__dot{background:var(--profile-accent);box-shadow:0 0 0 5px var(--profile-accent-soft)}.profile-nav__copy{min-width:0;display:grid;gap:.15rem}.profile-nav__copy small,.profile-nav__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-nav__copy strong{color:inherit}.profile-nav__copy small{color:var(--text-muted);font-size:.78rem}.profile-nav__badge{min-width:24px;height:24px;padding:0 .45rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:800;line-height:24px;text-align:center}.profile-band__head{margin-bottom:1rem}.profile-band__head h3,.profile-form-section__head h3,.profile-section-head h2,.profile-stream-head h2{margin:.35rem 0 0}.profile-summary-list{display:grid;gap:.55rem}.profile-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.72rem .78rem;border-radius:14px;background:rgba(248,250,252,.76);border:1px solid rgba(148,163,184,.14)}.profile-summary-row span{color:var(--text-muted);font-size:.82rem}.profile-summary-row strong{max-width:60%;color:var(--text-primary);font-size:.88rem;text-align:right;overflow-wrap:anywhere}.profile-quick-links{display:grid;gap:.65rem}.profile-quick-links a{display:grid;gap:.2rem;padding:.82rem;border-radius:16px;background:rgba(248,250,252,.72);border:1px solid rgba(148,163,184,.15);color:var(--text-primary);text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}.profile-quick-links a:hover{transform:translateY(-1px);border-color:var(--profile-accent);background:#fff;text-decoration:none}.profile-section-head,.profile-stream-head{align-items:center}.profile-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.profile-metric-card{min-height:132px;transition:transform .18s ease,box-shadow .18s ease}.profile-metric-card:hover{transform:translateY(-2px);box-shadow:0 28px 52px -32px rgba(15,23,42,.58)}.profile-metric-card span{color:var(--text-muted);font-size:.84rem}.profile-metric-card strong{display:block;margin-top:.42rem;font-size:2rem;line-height:1.05}.profile-cultivation-band{display:grid;gap:1rem;margin-top:1rem}.profile-cultivation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.profile-cultivation-card{--course-a:#14b8a6;--course-b:#f59e0b;display:grid;gap:.7rem;min-width:0;padding:.95rem;border-radius:18px;border:1px solid rgba(148,163,184,.2);background:linear-gradient(135deg,hsla(0,0%,100%,.94),rgba(248,250,252,.72)),linear-gradient(90deg,color-mix(in srgb,var(--course-a) 13%,transparent),color-mix(in srgb,var(--course-b) 12%,transparent));color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.profile-cultivation-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--course-a) 42%,transparent);box-shadow:0 26px 48px -34px color-mix(in srgb,var(--course-a) 45%,#0f172a 20%);text-decoration:none}.profile-cultivation-card[data-theme=mortal]{--course-a:#64748b;--course-b:#cbd5e1}.profile-cultivation-card[data-theme=qi_awakening]{--course-a:#14b8a6;--course-b:#facc15}.profile-cultivation-card[data-theme=qi_refining]{--course-a:#22c55e;--course-b:#67e8f9}.profile-cultivation-card[data-theme=foundation]{--course-a:#0ea5e9;--course-b:#f59e0b}.profile-cultivation-card[data-theme=golden_core]{--course-a:#f59e0b;--course-b:#ef4444}.profile-cultivation-card[data-theme=nascent_soul]{--course-a:#38bdf8;--course-b:#a78bfa}.profile-cultivation-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.profile-cultivation-card__top div{min-width:0;display:grid;gap:.24rem}.profile-cultivation-card__top span,.profile-cultivation-card__top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-cultivation-card__top strong{color:var(--text-primary)}.profile-cultivation-card small,.profile-cultivation-card__top span{color:var(--text-muted);font-size:.82rem}.profile-cultivation-card__top b{flex:0 0 auto;max-width:9.5rem;padding:.26rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--course-a) 16%,#fff);color:color-mix(in srgb,var(--course-a) 78%,#0f172a 22%);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-cultivation-score{display:flex;justify-content:space-between;gap:.8rem;color:var(--text-secondary);font-size:.84rem;font-weight:750}.profile-cultivation-bar{height:.52rem;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.18)}.profile-cultivation-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--course-a),var(--course-b))}.profile-cultivation-stages{display:flex;gap:.38rem;overflow-x:auto;padding-bottom:.12rem}.profile-cultivation-stages span{flex:0 0 auto;min-width:2.35rem;padding:.25rem .38rem;border-radius:999px;background:rgba(148,163,184,.14);color:var(--text-muted);font-size:.72rem;font-weight:750;text-align:center}.profile-cultivation-stages span.is-challenge_ready,.profile-cultivation-stages span.is-generating,.profile-cultivation-stages span.is-in_exam,.profile-cultivation-stages span.is-passed{background:color-mix(in srgb,var(--course-a) 18%,#fff);color:color-mix(in srgb,var(--course-a) 72%,#0f172a 28%)}.profile-portfolio-dashboard{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:stretch;padding:1.15rem;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(248,250,252,.86)),linear-gradient(120deg,rgba(79,70,229,.08),transparent 52%),linear-gradient(310deg,rgba(20,184,166,.08),transparent 54%);box-shadow:0 18px 48px -38px rgba(15,23,42,.52)}.profile-portfolio-ability-list,.profile-portfolio-dashboard,.profile-portfolio-dashboard__copy,.profile-portfolio-form,.profile-portfolio-item-list,.profile-portfolio-next,.profile-portfolio-primary,.profile-portfolio-side,.profile-portfolio-timeline{display:grid;gap:1rem;min-width:0}.profile-portfolio-dashboard__copy{align-content:center}.profile-portfolio-dashboard h2{margin:0;font-size:1.95rem;line-height:1.15;font-weight:850;letter-spacing:0}.profile-portfolio-dashboard p{max-width:64ch;margin:0;color:var(--text-secondary);line-height:1.72}.profile-portfolio-flow{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.15rem}.profile-portfolio-flow span{display:inline-flex;align-items:center;min-height:34px;padding:0 .75rem;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:hsla(0,0%,100%,.72);color:var(--text-secondary);font-size:.85rem;font-weight:850}.profile-portfolio-flow span.is-current{border-color:rgba(79,70,229,.28);background:rgba(238,242,255,.9);color:var(--primary-color)}.profile-portfolio-flow span.is-done{border-color:rgba(20,184,166,.24);background:rgba(240,253,250,.9);color:#0f766e}.profile-portfolio-next{align-content:center;padding:1rem;border:1px solid rgba(79,70,229,.14);border-radius:12px;background:hsla(0,0%,100%,.82)}.profile-portfolio-candidate span,.profile-portfolio-count,.profile-portfolio-event span,.profile-portfolio-feature-card span,.profile-portfolio-next>span,.profile-portfolio-stat span,.profile-portfolio-type{color:var(--text-muted);font-size:.78rem;font-weight:800}.profile-portfolio-next strong{color:var(--text-primary);font-size:1.08rem;line-height:1.4}.profile-portfolio-next div{display:flex;flex-wrap:wrap;gap:.55rem}.profile-portfolio-stat-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.profile-portfolio-stat{min-width:0;min-height:88px;padding:.78rem;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:hsla(0,0%,100%,.78);box-shadow:0 12px 30px -28px rgba(15,23,42,.5)}.profile-portfolio-stat strong{display:block;margin-bottom:.32rem;color:var(--text-primary);font-size:1.42rem;line-height:1;font-weight:900}.profile-portfolio-ability p,.profile-portfolio-candidate p,.profile-portfolio-empty p,.profile-portfolio-event p,.profile-portfolio-feature-card p,.profile-portfolio-panel .profile-band__head p,.profile-portfolio-stat p{margin:0;color:var(--text-secondary);line-height:1.58;overflow-wrap:anywhere}.profile-portfolio-stat p{margin-top:.14rem;font-size:.82rem;color:var(--text-muted)}.profile-portfolio-switcher{position:sticky;top:86px;z-index:5;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;min-width:0;padding:.45rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:hsla(0,0%,100%,.78);box-shadow:0 12px 32px -30px rgba(15,23,42,.5);backdrop-filter:blur(18px)}#portfolio-abilities,#portfolio-candidates,#portfolio-collection,#portfolio-timeline{scroll-margin-top:126px}.profile-portfolio-switcher a{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:38px;padding:0 .78rem;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:.86rem;font-weight:850;text-decoration:none}.profile-portfolio-switcher a.is-active,.profile-portfolio-switcher a:focus-visible,.profile-portfolio-switcher a:hover{border-color:rgba(79,70,229,.2);background:rgba(238,242,255,.82);color:var(--primary-color)}.profile-portfolio-switcher span{color:var(--profile-accent);font-weight:900}.profile-portfolio-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:1rem;align-items:start;min-width:0}.profile-portfolio-side{position:sticky;top:92px}.profile-portfolio-panel{border-radius:14px}.profile-portfolio-panel .profile-band__head{align-items:flex-start}.profile-portfolio-panel .profile-band__head h3{margin-bottom:.22rem}.profile-portfolio-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.profile-portfolio-featured-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.profile-portfolio-candidate,.profile-portfolio-empty,.profile-portfolio-event,.profile-portfolio-feature-card,.profile-portfolio-item{min-width:0;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(248,250,252,.78)}.profile-portfolio-feature-card{display:grid;gap:.5rem;min-height:0;padding:.85rem;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.profile-portfolio-feature-card:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.28);background:#fff;box-shadow:0 18px 34px -30px rgba(15,23,42,.5);text-decoration:none}.profile-portfolio-candidate strong,.profile-portfolio-empty strong,.profile-portfolio-event strong,.profile-portfolio-feature-card strong{color:var(--text-primary);line-height:1.36;overflow-wrap:anywhere}.profile-portfolio-feature-card small{color:var(--text-muted);font-size:.78rem;font-weight:750}.profile-portfolio-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;min-height:112px;padding:.9rem;background:hsla(0,0%,100%,.72)}.profile-portfolio-candidate__body{display:grid;gap:.34rem;min-width:0}.profile-portfolio-candidate .btn{align-self:center;white-space:nowrap}.profile-portfolio-item{padding:1rem;background:linear-gradient(180deg,hsla(0,0%,100%,.88),rgba(248,250,252,.78)),linear-gradient(120deg,rgba(79,70,229,.07),transparent 58%)}.profile-portfolio-actions,.profile-portfolio-check,.profile-portfolio-item__top,.profile-portfolio-source{display:flex;align-items:center;gap:.6rem}.profile-portfolio-item__top{justify-content:space-between}.profile-portfolio-item__top>div{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.profile-portfolio-type{display:inline-flex;align-items:center;min-height:26px;padding:0 .55rem;border-radius:999px;background:rgba(241,245,249,.9);color:var(--text-secondary)}.profile-portfolio-type--featured{background:rgba(238,242,255,.9);color:var(--primary-color)}.profile-portfolio-type--teacher{background:rgba(236,253,245,.9);color:#047857}.profile-portfolio-source{flex:0 0 auto;min-height:32px;padding:0 .65rem;border-radius:999px;background:hsla(0,0%,100%,.72);font-size:.8rem;font-weight:800}.profile-portfolio-source,.profile-portfolio-source:hover{color:var(--profile-accent);text-decoration:none}.profile-portfolio-form textarea.form-control{min-height:92px;resize:vertical}.profile-portfolio-tag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.profile-portfolio-check,.profile-portfolio-tag-grid label{min-width:0;min-height:38px;padding:.45rem .62rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:hsla(0,0%,100%,.72);color:var(--text-secondary);font-size:.84rem;font-weight:750}.profile-portfolio-tag-grid label{display:flex;align-items:center;gap:.45rem}.profile-portfolio-actions{justify-content:flex-end;flex-wrap:wrap}.profile-portfolio-check{margin-right:auto}.profile-portfolio-ability{display:grid;gap:.42rem;padding:.75rem;border-radius:10px;background:rgba(248,250,252,.78);border:1px solid rgba(148,163,184,.15)}.profile-portfolio-ability>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.profile-portfolio-ability strong{color:var(--text-primary)}.profile-portfolio-ability span{color:var(--profile-accent);font-weight:900}.profile-portfolio-ability-bar{height:8px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.2)}.profile-portfolio-ability-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--profile-accent),#14b8a6)}.profile-portfolio-event{position:relative;display:grid;gap:.36rem;padding:.8rem .85rem .8rem 1rem;color:inherit;text-decoration:none}.profile-portfolio-event:before{content:"";position:absolute;left:0;top:.8rem;bottom:.8rem;width:4px;border-radius:999px;background:rgba(148,163,184,.5)}.profile-portfolio-event.is-highlight:before,.profile-portfolio-event.is-milestone:before{background:var(--profile-accent)}.profile-portfolio-event:hover{border-color:var(--profile-accent);background:#fff;color:inherit;text-decoration:none}.profile-portfolio-event time{color:var(--text-muted);font-size:.76rem;font-weight:750}.profile-portfolio-empty{display:grid;gap:.45rem;padding:1rem;border-style:dashed}.profile-portfolio-empty--compact{padding:.85rem}.profile-portfolio-empty--hero{align-content:center;min-height:126px;background:linear-gradient(180deg,hsla(0,0%,100%,.82),rgba(248,250,252,.8)),linear-gradient(120deg,rgba(20,184,166,.08),transparent 56%)}.profile-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start}.profile-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.profile-chart-card{min-height:326px}.profile-chart{width:100%;height:252px}.profile-activity-list{display:grid;gap:.65rem}.profile-activity-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;border-radius:16px;background:rgba(248,250,252,.78);border:1px solid rgba(148,163,184,.16);color:var(--text-primary);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.profile-activity-item:hover{transform:translateY(-1px);border-color:var(--profile-accent);background:#fff;text-decoration:none}.profile-activity-item>span{justify-self:start;padding:.28rem .55rem;border-radius:999px;background:var(--profile-accent-soft);color:var(--profile-accent);font-size:.76rem;font-weight:800}.profile-activity-item.is-unread>span{background:rgba(239,68,68,.1);color:#dc2626}.profile-activity-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-activity-item time{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.profile-empty{padding:1.2rem;border:1px dashed rgba(148,163,184,.34);border-radius:16px;color:var(--text-muted);text-align:center}.profile-security-grid,.profile-settings-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;align-items:start}.profile-security-grid{grid-template-columns:minmax(0,1fr) 330px}.profile-avatar-card,.profile-mood-card{display:grid;justify-items:center}.profile-avatar-card img{width:132px;height:132px;border-radius:32px;margin:.4rem auto 1rem}.profile-avatar-card .btn{width:100%;justify-content:center}.profile-mood-editor{display:grid;gap:.9rem;width:100%}.profile-mood-options{display:flex;flex-wrap:wrap;gap:.55rem}.profile-mood-option{min-height:38px;padding:.5rem .78rem;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:hsla(0,0%,100%,.72);color:var(--text-secondary);cursor:pointer;font-weight:700;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.profile-mood-option.is-active,.profile-mood-option:hover{transform:translateY(-1px);border-color:var(--profile-accent);color:var(--profile-accent);background:hsla(0,0%,100%,.94)}.profile-mood-custom{display:grid;gap:.6rem}.profile-form,.profile-form-band{min-width:0}.profile-form{display:grid;gap:1.1rem}.profile-form-section{display:grid;gap:.9rem;padding:.25rem 0 1.05rem;border-bottom:1px solid rgba(148,163,184,.18)}.profile-form-section:last-of-type{padding-bottom:0;border-bottom:0}.profile-form-section__head{display:grid;gap:.15rem}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.profile-form-grid .form-group{margin-bottom:0}.profile-form-grid__wide{grid-column:1/-1}.profile-form .form-control{min-height:44px;border-color:rgba(148,163,184,.24);border-radius:14px;background:hsla(0,0%,100%,.82)}.profile-form textarea.form-control{min-height:132px;resize:vertical}.profile-form .form-control:focus{border-color:var(--profile-accent);box-shadow:0 0 0 3px var(--profile-accent-soft)}.profile-form .form-control[readonly]{background:rgba(226,232,240,.45);color:var(--text-secondary)}.profile-form-actions{display:flex;justify-content:flex-end;gap:.75rem}.profile-password-form{max-width:760px}.profile-email-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;align-items:start}.profile-email-reminder{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid rgba(14,165,233,.18);border-radius:12px;background:rgba(240,249,255,.72);color:var(--text-secondary)}.profile-email-reminder strong{display:block;margin-top:.18rem;color:var(--text-primary);font-size:.95rem;line-height:1.45}.profile-email-provider-hint{margin-top:.35rem}.profile-email-advanced{border-bottom:1px solid rgba(148,163,184,.18)}.profile-email-advanced summary{width:-moz-fit-content;width:fit-content;cursor:pointer;color:var(--profile-accent);font-weight:800;outline:none}.profile-email-advanced summary:focus-visible{border-radius:8px;box-shadow:0 0 0 3px var(--profile-accent-soft)}.profile-form .form-control.is-managed,.profile-form.is-provider-managed .form-control[readonly]{background:rgba(226,232,240,.45);color:var(--text-secondary)}.profile-email-card,.profile-email-config-list,.profile-email-empty,.profile-email-list{min-width:0}.profile-email-config-list{display:grid;gap:.65rem}.profile-email-card{display:grid;gap:.45rem;width:100%;padding:.85rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(248,250,252,.76);color:var(--text-primary);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.profile-email-card.is-active,.profile-email-card:hover{transform:translateY(-1px);border-color:var(--profile-accent);background:hsla(0,0%,100%,.94);box-shadow:0 18px 34px -30px rgba(15,23,42,.58)}.profile-email-actions,.profile-email-card__head,.profile-email-card__meta,.profile-email-card__top,.profile-email-toggle-row{display:flex;align-items:center;gap:.65rem}.profile-email-card__head,.profile-email-card__meta,.profile-email-card__top{justify-content:space-between}.profile-email-card span,.profile-email-card strong{min-width:0}.profile-email-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email-card small{color:var(--text-muted);line-height:1.5;overflow-wrap:anywhere}.profile-email-card em{flex:0 0 auto;color:var(--text-muted);font-size:.76rem;font-style:normal;font-weight:800}.profile-email-status{flex:0 0 auto;padding:.2rem .52rem;border-radius:999px;background:rgba(148,163,184,.16);color:var(--text-secondary);font-size:.72rem;font-weight:800}.profile-email-status.is-ok{background:rgba(16,185,129,.14);color:#047857}.profile-email-status.is-failed{background:rgba(239,68,68,.12);color:#b91c1c}.profile-email-status.is-testing{background:rgba(245,158,11,.14);color:#92400e}.profile-email-badge{display:inline-flex;align-items:center;min-height:24px;padding:.18rem .52rem;border-radius:999px;background:rgba(14,165,233,.12);color:#0369a1;font-size:.72rem;font-weight:800}.profile-email-empty{padding:1rem;border:1px dashed rgba(148,163,184,.32);border-radius:12px;background:rgba(248,250,252,.62);color:var(--text-secondary);line-height:1.6}.profile-email-toggle-row{flex-wrap:wrap;align-content:flex-start;padding-top:1.8rem}.profile-email-toggle-row label{display:inline-flex;align-items:center;gap:.45rem;min-height:34px;color:var(--text-secondary);font-weight:750}.profile-email-toggle-row input{width:18px;height:18px;accent-color:var(--profile-accent)}.profile-email-actions{flex-wrap:wrap}.profile-stream-head{padding:1.25rem}.profile-message-stats{min-width:min(520px,100%);margin:0}.profile-message-stats .message-center-stat{border-radius:16px;background:hsla(0,0%,100%,.72);box-shadow:none}.profile-message-stats .message-center-stat.is-muted{opacity:.55}.profile-message-toolbar{padding:.95rem;border:1px solid var(--profile-card-border);border-radius:20px;background:hsla(0,0%,100%,.76);box-shadow:var(--profile-shadow)}.profile-message-body{padding:0;border-radius:20px}.profile-message-body .message-center-card,.profile-message-body .message-center-conversation,.profile-message-body .message-center-feed,.profile-message-body .message-center-private-panel,.profile-message-body .message-center-sidebar{border-radius:18px}.profile-message-body .message-center-feed{min-height:420px}.profile-reveal{opacity:1;animation:profileRise .22s ease both}.profile-reveal:nth-child(2){animation-delay:.04s}.profile-reveal:nth-child(3){animation-delay:.08s}@keyframes profileRise{0%{transform:translateY(10px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.profile-activity-item,.profile-email-card,.profile-metric-card,.profile-mood-option,.profile-nav__link,.profile-quick-links a,.profile-reveal{animation:none;transition:none}}@media (max-width:1220px){.profile-email-grid,.profile-hero,.profile-overview-grid,.profile-portfolio-dashboard,.profile-portfolio-workbench,.profile-security-grid,.profile-settings-grid,.profile-workspace{grid-template-columns:1fr}.profile-portfolio-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-portfolio-side,.profile-sidebar{position:static}.profile-nav{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}.profile-nav__link{transform:none}}@media (max-width:960px){.profile-chart-grid,.profile-cultivation-grid,.profile-email-grid,.profile-form-grid,.profile-metric-grid,.profile-portfolio-candidate-grid{grid-template-columns:1fr}.profile-portfolio-stat-strip,.profile-portfolio-tag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-band__head,.profile-hero__identity,.profile-section-head,.profile-stream-head{flex-direction:column}.profile-band__head,.profile-section-head,.profile-stream-head{align-items:flex-start}.profile-activity-item{grid-template-columns:1fr}.profile-activity-item time{white-space:normal}.profile-message-toolbar .message-center-controls{grid-template-columns:1fr}}@media (max-width:640px){.profile-page .navbar{gap:.6rem;padding:.65rem 1rem}.profile-page .navbar-brand{min-width:0;font-size:1rem;white-space:nowrap}.profile-page .navbar-user{min-width:0;gap:.45rem;margin-left:auto}.profile-page .navbar-user .user-name,.profile-page .navbar-user [data-open-student-security],.profile-page .navbar-user a[href="/logout"],.profile-page .navbar-user a[href^="/manage"]{display:none}.profile-page .main-content{padding-left:.85rem;padding-right:.85rem;overflow-x:hidden}.profile-hero{padding:1rem;border-radius:22px;max-width:100%}.profile-section-pill{display:none}.profile-hero__avatar-ring{width:82px;height:82px;border-radius:24px}.profile-hero__avatar{width:66px;height:66px;border-radius:18px}.profile-hero__identity{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem}.profile-hero__copy h1{font-size:1.75rem}.profile-hero__copy p{font-size:.92rem}.profile-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.profile-hero__stat{padding:.58rem;text-align:center}.profile-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.profile-chip{min-width:0;min-height:30px;padding:.38rem .58rem;font-size:.8rem;justify-content:center;text-align:center;overflow-wrap:anywhere}.profile-nav,.profile-signal-grid{grid-template-columns:1fr}.profile-email-reminder,.profile-hero__actions,.profile-portfolio-actions,.profile-portfolio-item__top,.profile-portfolio-next div,.profile-section-head__actions,.profile-summary-row{flex-direction:column;align-items:flex-start}.profile-email-actions .btn,.profile-email-reminder .btn,.profile-hero__actions .btn,.profile-portfolio-actions .btn,.profile-portfolio-candidate .btn,.profile-portfolio-next .btn,.profile-section-head__actions .btn{width:100%;justify-content:center}.profile-portfolio-dashboard{padding:1rem;border-radius:14px}.profile-portfolio-dashboard h2{font-size:1.55rem}.profile-portfolio-switcher{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.55rem;-webkit-overflow-scrolling:touch}.profile-portfolio-switcher a{flex:0 0 auto}.profile-portfolio-candidate{grid-template-columns:1fr}.profile-portfolio-check,.profile-portfolio-source{width:100%;justify-content:center}.profile-portfolio-tag-grid{grid-template-columns:1fr}.profile-portfolio-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary-row strong{max-width:100%;text-align:left}}.classroom-page .classroom-topbar{position:sticky;top:0;z-index:1020;min-height:68px;flex-wrap:wrap;align-items:center;gap:.58rem .78rem;padding:.64rem clamp(.9rem,1.8vw,1.35rem);border-bottom:1px solid rgba(148,163,184,.18);background:hsla(0,0%,100%,.92);box-shadow:0 18px 40px -34px rgba(15,23,42,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.classroom-page .classroom-topbar.role-student{--app-topbar-accent:#4f46e5;--app-topbar-accent-dark:#4338ca;--app-topbar-accent-rgb:79,70,229;--app-topbar-accent-soft:rgba(79,70,229,.1)}.classroom-page .classroom-topbar.role-teacher{--app-topbar-accent:#0f766e;--app-topbar-accent-dark:#0f5f59;--app-topbar-accent-rgb:15,118,110;--app-topbar-accent-soft:rgba(20,184,166,.12)}.classroom-page .classroom-topbar-brand{flex:1 1 16rem;min-width:min(16rem,100%);max-width:min(31rem,32vw)}.classroom-page .classroom-topbar-brand__copy{max-width:100%}.classroom-page .classroom-topbar-brand__copy small,.classroom-page .classroom-topbar-brand__copy strong{overflow:hidden;text-overflow:ellipsis}.classroom-page .classroom-topbar-brand__copy small{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.classroom-page .classroom-topbar-brand__copy small span:not(:last-child):after{content:"/";margin-left:.35rem;color:rgba(100,116,139,.58)}.classroom-page .classroom-topbar-nav{flex:999 1 46rem;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.classroom-page .classroom-topbar-sections{flex:1 1 28rem;justify-content:flex-end}.classroom-page .classroom-topbar-tools{flex:0 1 auto}.classroom-page .classroom-topbar-section-link{min-width:92px}.classroom-page .classroom-topbar .app-topbar-action{border-radius:9px;min-height:42px;min-width:84px;padding:.38rem .52rem;gap:.42rem}.classroom-page .classroom-topbar .app-topbar-action__icon{width:28px;height:28px}.classroom-page .classroom-topbar .app-topbar-action.is-active:not(.app-topbar-action--primary),.classroom-page .classroom-topbar .app-topbar-action[aria-current=location]:not(.app-topbar-action--primary){border-color:rgba(var(--app-topbar-accent-rgb),.26);background:rgba(var(--app-topbar-accent-rgb),.09);color:var(--app-topbar-accent);box-shadow:0 16px 30px -28px rgba(var(--app-topbar-accent-rgb),.56)}.classroom-page .classroom-topbar .app-topbar-action.is-active .app-topbar-action__icon,.classroom-page .classroom-topbar .app-topbar-action[aria-current=location] .app-topbar-action__icon{background:rgba(var(--app-topbar-accent-rgb),.14)}.classroom-page .classroom-topbar .app-topbar-action--primary.is-active,.classroom-page .classroom-topbar .app-topbar-action--primary[aria-current=location]{box-shadow:0 18px 36px -24px rgba(var(--app-topbar-accent-rgb),.82)}.classroom-page .classroom-topbar .message-center-bell-anchor{display:flex;min-width:0}.classroom-page .classroom-topbar .message-center-bell.app-topbar-action{min-width:102px}.classroom-page .classroom-topbar-menu{position:relative;display:flex;min-width:0}.classroom-page .classroom-topbar-menu>summary{list-style:none}.classroom-page .classroom-topbar-menu>summary::-webkit-details-marker{display:none}.classroom-page .classroom-topbar-menu[open]>summary{border-color:rgba(var(--app-topbar-accent-rgb),.3);background:rgba(var(--app-topbar-accent-rgb),.1);color:var(--app-topbar-accent);box-shadow:0 16px 30px -28px rgba(var(--app-topbar-accent-rgb),.56)}.classroom-page .classroom-topbar-menu__panel{position:absolute;top:calc(100% + .48rem);right:0;z-index:1045;min-width:236px;max-width:min(88vw,320px);display:grid;gap:.22rem;padding:.56rem;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:hsla(0,0%,100%,.98);box-shadow:0 24px 54px -32px rgba(15,23,42,.48)}.classroom-page .classroom-topbar-menu__label{padding:.2rem .38rem .32rem;color:var(--text-muted);font-size:.72rem;font-weight:820}.classroom-page .classroom-topbar-menu__item{position:relative;min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.52rem;width:100%;min-height:42px;padding:.46rem .52rem;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;text-decoration:none}.classroom-page .classroom-topbar-menu__item:focus-visible,.classroom-page .classroom-topbar-menu__item:hover{background:rgba(var(--app-topbar-accent-rgb),.08);color:var(--app-topbar-accent);text-decoration:none;outline:none}.classroom-page .classroom-topbar-menu__item .app-topbar-profile__avatar,.classroom-page .classroom-topbar-menu__item>svg{width:30px;height:30px;justify-self:center}.classroom-page .classroom-topbar-menu__item>svg{padding:6px;border-radius:8px;background:var(--app-topbar-accent-soft);color:var(--app-topbar-accent)}.classroom-page .classroom-topbar-menu__item span:not(.app-topbar-action__count):not(.message-center-bell__count){min-width:0;display:grid;gap:.04rem}.classroom-page .classroom-topbar-menu__item small,.classroom-page .classroom-topbar-menu__item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-topbar-menu__item strong{font-size:.82rem;font-weight:820}.classroom-page .classroom-topbar-menu__item small{color:var(--text-muted);font-size:.7rem;font-weight:700}.classroom-page .classroom-topbar-menu__item.is-danger{color:var(--danger-color)}.classroom-page .classroom-topbar-menu__item.is-danger>svg{background:rgba(239,68,68,.1);color:var(--danger-color)}.classroom-page .classroom-topbar-menu .message-center-bell__count{top:3px;right:4px}.classroom-page .classroom-topbar-menu .message-center-bell-toast{right:0;top:calc(100% + .75rem)}@media (max-width:1380px){.classroom-page .classroom-topbar-brand{flex-basis:15rem;max-width:26rem}.classroom-page .classroom-topbar .app-topbar-action{min-width:78px;padding-inline:.46rem}.classroom-page .classroom-topbar-section-link{min-width:82px}}@media (max-width:1120px){.classroom-page .classroom-topbar-brand{width:100%;max-width:none;flex-basis:100%}.classroom-page .classroom-topbar-nav{width:100%;flex-basis:100%;justify-content:flex-start}.classroom-page .classroom-topbar-sections{flex:1 1 25rem;justify-content:flex-start}.classroom-page .classroom-topbar-tools{margin-left:auto}}@media (max-width:768px){.classroom-page .classroom-topbar{align-items:flex-start;padding:.66rem .78rem}.classroom-page .classroom-topbar-brand__copy small span:last-child{display:none}.classroom-page .classroom-topbar-nav{display:grid;grid-template-columns:1fr;gap:.55rem}.classroom-page .classroom-topbar-sections,.classroom-page .classroom-topbar-tools{width:100%;display:grid;gap:.34rem;margin-left:0}.classroom-page .classroom-topbar-sections{grid-template-columns:repeat(auto-fit,minmax(4.35rem,1fr))}.classroom-page .classroom-topbar-tools{width:min(7.4rem,100%);justify-self:end;grid-template-columns:1fr}.classroom-page .classroom-topbar .app-topbar-action,.classroom-page .classroom-topbar .app-topbar-notification,.classroom-page .classroom-topbar .message-center-bell.app-topbar-action{width:100%;min-width:0;justify-content:center}.classroom-page .classroom-topbar-menu,.classroom-page .classroom-topbar-menu>summary{width:100%}.classroom-page .classroom-topbar-menu__panel,.classroom-page .classroom-topbar-section-menu .classroom-topbar-menu__panel{left:auto;right:0}}@media (max-width:560px){.classroom-page .classroom-topbar-brand{min-width:0}.classroom-page .classroom-topbar-brand__copy small{display:none}.classroom-page .classroom-topbar-sections{grid-template-columns:repeat(auto-fit,minmax(4.05rem,1fr))}.classroom-page .classroom-topbar-tools{width:min(6.8rem,100%)}.classroom-page .classroom-topbar .app-topbar-action{min-height:40px;gap:.22rem;padding:.34rem}.classroom-page .classroom-topbar .app-topbar-action__icon{width:24px;height:24px;flex-basis:24px}.classroom-page .classroom-topbar .app-topbar-action__text strong{font-size:.76rem}.classroom-page .classroom-topbar .app-topbar-action__text small{display:none}.classroom-page .classroom-topbar-menu__panel{min-width:min(88vw,250px)}}input.form-control[type=file]::file-selector-button{min-height:2.2rem;margin:-.25rem .75rem -.25rem -.25rem;padding:0 1rem;border:0;border-right:1px solid var(--border-color);border-radius:calc(var(--radius-md) - 1px) 0 0 calc(var(--radius-md) - 1px);background:#f8fafc!important;background-color:#f8fafc!important;color:var(--text-primary)!important;cursor:pointer;font:inherit;font-weight:700;transition:background-color var(--transition-fast),color var(--transition-fast)}input.form-control[type=file]:hover::-webkit-file-upload-button,input.form-control[type=file]:hover::file-selector-button{background:rgba(79,70,229,.08)!important;background-color:rgba(79,70,229,.08)!important;color:var(--primary-color)!important}.learning-path-page .main-content{max-width:1240px}.path-workbench{display:grid;gap:18px;padding:22px 0 34px}.path-card,.path-course-board,.path-empty,.path-hero,.path-ladder,.path-stats,.path-toolbar{min-width:0}.path-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:18px;align-items:stretch;padding:24px;border:1px solid rgba(100,116,139,.16);border-radius:14px;background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.92)),linear-gradient(120deg,rgba(15,118,110,.08),transparent 46%),linear-gradient(300deg,rgba(79,70,229,.08),transparent 52%);box-shadow:0 18px 50px -42px rgba(15,23,42,.5)}.path-hero__copy{min-width:0}.path-eyebrow{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;margin-bottom:10px;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:rgba(240,253,250,.78);color:#0f766e;font-size:.76rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.path-hero h1{margin:0 0 8px;color:#0f172a;font-size:2.2rem;line-height:1.12;font-weight:850}.path-card__description,.path-course-card p,.path-empty p,.path-focus-card p,.path-hero p,.path-ladder-step p{margin:0;color:#475569;line-height:1.7;overflow-wrap:anywhere}.path-hero__copy p{max-width:70ch}.path-focus-card{display:grid;align-content:center;gap:10px;min-width:0;padding:18px;border:1px solid rgba(79,70,229,.18);border-radius:8px;background:hsla(0,0%,100%,.78)}.path-card__meta,.path-card__side label span,.path-course-card small,.path-course-card__top span,.path-focus-card>span,.path-ladder-step small,.path-ladder-step span,.path-section-head small,.path-section-head span,.path-stat small,.path-stat span,.path-toolbar label>span{color:#64748b;font-size:.8rem;font-weight:750}.path-focus-card strong{color:#0f172a;font-size:1.34rem;line-height:1.3;font-weight:900;overflow-wrap:anywhere}.path-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.path-stat{min-height:108px;padding:14px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:hsla(0,0%,100%,.82)}.path-stat strong{display:block;margin:8px 0 6px;color:#0f172a;font-size:1.65rem;line-height:1;font-weight:900;overflow-wrap:anywhere}.path-stat--danger{border-color:rgba(220,38,38,.24);background:hsla(0,86%,97%,.78)}.path-stat--warning{border-color:rgba(180,83,9,.24);background:rgba(255,247,237,.8)}.path-stat--success{border-color:rgba(5,150,105,.2);background:rgba(236,253,245,.78)}.path-stat--primary{border-color:rgba(79,70,229,.2);background:rgba(238,242,255,.78)}.path-stat--neutral{background:rgba(248,250,252,.78)}.path-course-board,.path-ladder{display:grid;gap:14px;padding:18px;border:1px solid rgba(100,116,139,.16);border-radius:12px;background:hsla(0,0%,100%,.78)}.path-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;min-width:0}.path-section-head h2{margin:3px 0 0;color:#0f172a;font-size:1.15rem;line-height:1.32;font-weight:850}.path-section-head small{max-width:520px;line-height:1.55;text-align:right}.path-ladder-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.path-ladder-step{display:grid;gap:7px;min-height:156px;padding:13px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(248,250,252,.8)}.path-ladder-step[data-tier="10"],.path-ladder-step[data-tier="6"],.path-ladder-step[data-tier="8"]{border-color:rgba(79,70,229,.28);background:linear-gradient(180deg,rgba(238,242,255,.86),hsla(0,0%,100%,.88))}.path-ladder-step strong{color:#0f172a;font-size:1rem;line-height:1.35;font-weight:900}.path-ladder-step p{font-size:.84rem}.path-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.path-course-card{display:grid;gap:10px;min-width:0;min-height:174px;padding:14px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:rgba(248,250,252,.78);color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.path-course-card:focus-visible,.path-course-card:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.28);background:hsla(0,0%,100%,.94);box-shadow:0 16px 34px -30px rgba(15,23,42,.48);color:inherit;text-decoration:none}.path-course-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.path-course-card__top strong{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:rgba(240,253,250,.9);color:#0f766e;font-size:.78rem;font-weight:850}.path-course-card h3{margin:0;color:#0f172a;font-size:1.05rem;line-height:1.36;font-weight:850;overflow-wrap:anywhere}.path-course-meter,.path-mini-meter{height:9px;overflow:hidden;border-radius:999px;background:rgba(148,163,184,.2)}.path-course-meter span,.path-mini-meter span{display:block;width:var(--path-progress,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#4f46e5,#f59e0b)}.path-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) minmax(190px,260px);gap:12px;align-items:stretch;padding:12px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:hsla(0,0%,100%,.74)}.path-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.path-course-filter,.path-filter,.path-search{min-width:0;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:rgba(248,250,252,.82)}.path-filter{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 12px;color:#334155;font-weight:800;text-decoration:none}.path-filter strong{color:#64748b;font-size:.78rem}.path-filter.is-active,.path-filter:focus-visible,.path-filter:hover{border-color:rgba(79,70,229,.28);background:rgba(238,242,255,.92);color:#4f46e5;text-decoration:none}.path-course-filter,.path-search{display:grid;gap:4px;padding:8px 10px}.path-course-filter select,.path-search input{width:100%;min-width:0;border:0;padding:0;background:transparent;color:#0f172a;font-size:.92rem;font-weight:700;outline:none}.path-visible-count{color:#64748b;font-size:.9rem;font-weight:700}.path-visible-count strong{color:#0f172a}.path-card-list{display:grid;gap:14px}.path-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px;padding:16px;border:1px solid rgba(100,116,139,.18);border-left:4px solid rgba(100,116,139,.5);border-radius:8px;background:hsla(0,0%,100%,.86);box-shadow:0 14px 38px -34px rgba(15,23,42,.44)}.path-card--danger{border-left-color:#dc2626}.path-card--warning{border-left-color:#b45309}.path-card--success{border-left-color:#0f766e}.path-card--primary{border-left-color:#4f46e5}.path-card--neutral{border-left-color:#64748b}.path-card--done{opacity:.82}.path-card.is-pinned{border-color:rgba(79,70,229,.32);box-shadow:0 20px 46px -36px rgba(79,70,229,.58)}.path-card__main,.path-card__side{display:grid;gap:10px;min-width:0;align-content:start}.path-card__actions,.path-card__topline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.path-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:rgba(241,245,249,.9);color:#475569;font-size:.76rem;font-weight:850}.path-chip--danger{background:hsla(0,93%,94%,.9);color:#dc2626}.path-chip--warning{background:rgba(255,237,213,.9);color:#b45309}.path-chip--success{background:rgba(204,251,241,.78);color:#0f766e}.path-chip--primary,.path-chip--status{background:rgba(238,242,255,.9);color:#4f46e5}.path-chip--neutral{background:rgba(226,232,240,.72);color:#475569}.path-chip--pin{background:hsla(48,97%,77%,.72);color:#92400e}.path-card h2{margin:2px 0 0;color:#0f172a;font-size:1.16rem;line-height:1.36;font-weight:850;overflow-wrap:anywhere}.path-card__meta{margin:0;line-height:1.5}.path-card__side label{display:grid;gap:6px}.path-card__side textarea{width:100%;min-width:0;resize:vertical;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:hsla(0,0%,100%,.92);color:#0f172a;font-size:.92rem;line-height:1.55}.path-card__side textarea:focus{border-color:rgba(79,70,229,.45);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.path-action,.path-source-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border:1px solid rgba(79,70,229,.2);border-radius:8px;background:rgba(238,242,255,.86);color:#4f46e5;font-size:.88rem;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.path-action:focus-visible,.path-action:hover,.path-source-link:focus-visible,.path-source-link:hover{transform:translateY(-1px);border-color:rgba(79,70,229,.35);background:#eef2ff;color:#4f46e5;text-decoration:none;box-shadow:0 12px 24px -22px rgba(79,70,229,.6)}.path-action--primary{border-color:#4f46e5;background:#4f46e5;color:#fff}.path-action--primary:focus-visible,.path-action--primary:hover{background:#4338ca;color:#fff}.path-action--ghost{border-color:rgba(148,163,184,.24);background:rgba(248,250,252,.9);color:#475569}.path-action:disabled{cursor:progress;opacity:.72;transform:none}.path-source-link{width:-moz-max-content;width:max-content;max-width:100%;border-color:rgba(15,118,110,.2);background:rgba(240,253,250,.82);color:#0f766e}.path-source-link:focus-visible,.path-source-link:hover{border-color:rgba(15,118,110,.34);background:#f0fdfa;color:#0f766e}.path-empty{display:grid;justify-items:start;gap:10px;padding:26px;border:1px solid rgba(100,116,139,.16);border-radius:8px;background:hsla(0,0%,100%,.86)}.path-empty strong{color:#0f172a;font-size:1.2rem}@media (max-width:1180px){.path-ladder-grid,.path-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.path-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-toolbar{grid-template-columns:1fr}}@media (max-width:900px){.path-card,.path-hero{grid-template-columns:1fr}.path-focus-card{align-content:start}.path-section-head{align-items:flex-start;flex-direction:column}.path-section-head small{text-align:left}}@media (max-width:640px){.path-workbench{padding-top:14px}.path-course-board,.path-hero,.path-ladder{padding:16px}.path-hero h1{font-size:1.6rem}.path-course-grid,.path-stats{grid-template-columns:1fr}.path-ladder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-card{padding:14px}}@media (max-width:420px){.path-card__actions,.path-filter-tabs,.path-ladder-grid{display:grid;grid-template-columns:1fr}.path-action,.path-filter{width:100%}}.classroom-page .interaction-panel{border-color:rgba(15,118,110,.16);background:linear-gradient(180deg,hsla(0,0%,100%,.97),rgba(248,250,252,.95));scroll-margin-top:6rem}.classroom-page .interaction-panel__header{gap:16px;align-items:flex-start}.classroom-page .interaction-actions{align-items:center}.classroom-page .interaction-content,.classroom-page .interaction-shell{display:grid;gap:1rem}.classroom-page .interaction-loading{display:inline-flex;align-items:center;gap:.62rem;width:-moz-fit-content;width:fit-content;padding:.72rem .9rem;border-radius:.7rem;border:1px solid rgba(148,163,184,.22);background:rgba(248,250,252,.9);color:var(--text-secondary);font-size:.88rem}.classroom-page .interaction-loading__dot{width:.55rem;height:.55rem;border-radius:999px;background:#0f766e;box-shadow:0 0 0 0 rgba(15,118,110,.32);animation:interaction-loading-pulse 1.35s ease-in-out infinite}.classroom-page .interaction-content[hidden],.classroom-page .interaction-loading[hidden]{display:none}@keyframes interaction-loading-pulse{0%,to{box-shadow:0 0 0 0 rgba(15,118,110,.28)}50%{box-shadow:0 0 0 7px rgba(15,118,110,0)}}.classroom-page .interaction-feature-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.58rem;padding:.42rem;border:1px solid rgba(226,232,240,.86);border-radius:.78rem;background:rgba(248,250,252,.72)}.classroom-page .interaction-feature-tab{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.52rem;min-height:4.15rem;padding:.72rem .78rem;border:1px solid transparent;border-radius:.62rem;background:hsla(0,0%,100%,.78);color:#334155;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.classroom-page .interaction-feature-tab:before{content:"";position:absolute;left:.72rem;right:.72rem;bottom:.38rem;height:2px;border-radius:999px;background:transparent}.classroom-page .interaction-feature-tab.has-content:after{content:"";position:absolute;top:.52rem;right:.52rem;width:.46rem;height:.46rem;border-radius:999px;background:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.12)}.classroom-page .interaction-feature-tab__main,.classroom-page .interaction-feature-tab__meta{display:grid;gap:.12rem;min-width:0}.classroom-page .interaction-feature-tab__main strong{color:#0f172a;font-size:.94rem;font-weight:850}.classroom-page .interaction-feature-tab__main small,.classroom-page .interaction-feature-tab__meta small{color:var(--text-muted);font-size:.72rem;font-weight:720}.classroom-page .interaction-feature-tab__meta{justify-items:end;padding-right:.18rem}.classroom-page .interaction-feature-tab__meta em{color:#0f172a;font-style:normal;font-size:1.18rem;font-weight:900;line-height:1}.classroom-page .interaction-feature-tab:focus-visible,.classroom-page .interaction-feature-tab:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.22);background:rgba(240,253,250,.82);outline:none}.classroom-page .interaction-feature-tab.is-active{border-color:rgba(15,118,110,.34);background:linear-gradient(135deg,rgba(240,253,250,.98),hsla(0,0%,100%,.94));box-shadow:inset 0 0 0 1px rgba(15,118,110,.08),0 16px 32px -30px rgba(15,118,110,.58)}.classroom-page .interaction-feature-tab.is-active:before{background:#0f766e}.classroom-page .interaction-feature-tab.has-content .interaction-feature-tab__meta em,.classroom-page .interaction-feature-tab.is-active .interaction-feature-tab__main strong{color:#0f766e}.classroom-page .interaction-create-panel,.classroom-page .interaction-detail-card,.classroom-page .interaction-empty,.classroom-page .interaction-launch-strip,.classroom-page .interaction-list-card,.classroom-page .interaction-side-card{border:1px solid rgba(226,232,240,.9);border-radius:.72rem;background:hsla(0,0%,100%,.94);box-shadow:0 18px 36px -34px rgba(15,23,42,.42)}.classroom-page .interaction-activity-group__head span,.classroom-page .interaction-detail-head p,.classroom-page .interaction-launch-strip span,.classroom-page .interaction-muted,.classroom-page .interaction-question-card span,.classroom-page .interaction-signal-row span{color:var(--text-muted)}.classroom-page .interaction-workbench{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);gap:1rem;align-items:start}.classroom-page .interaction-workbench.is-signal-tab{grid-template-columns:minmax(360px,1fr) minmax(320px,.72fr)}.classroom-page .interaction-activity-group,.classroom-page .interaction-activity-list,.classroom-page .interaction-detail,.classroom-page .interaction-main,.classroom-page .interaction-question-list,.classroom-page .interaction-signal-queue{display:grid;gap:.82rem}.classroom-page .interaction-launch-strip{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.9rem 1rem;background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(248,250,252,.96))}.classroom-page .interaction-launch-strip>div{display:grid;gap:.18rem;min-width:0}.classroom-page .interaction-create-head strong,.classroom-page .interaction-detail-head strong,.classroom-page .interaction-launch-strip strong,.classroom-page .interaction-side-head strong{color:#0f172a;font-weight:850}.classroom-page .interaction-create-panel,.classroom-page .interaction-detail-card,.classroom-page .interaction-empty,.classroom-page .interaction-list-card,.classroom-page .interaction-side-card{display:grid;gap:.95rem;padding:1rem}.classroom-page .interaction-activity-group__head,.classroom-page .interaction-create-head,.classroom-page .interaction-detail-head,.classroom-page .interaction-option-editor__head,.classroom-page .interaction-question-actions,.classroom-page .interaction-response-footer,.classroom-page .interaction-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.classroom-page .interaction-create-head>div,.classroom-page .interaction-detail-head>div,.classroom-page .interaction-side-head{display:grid;gap:.28rem;min-width:0}.classroom-page .interaction-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.22rem .58rem;border-radius:999px;background:rgba(15,118,110,.11);color:#0f766e;font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.classroom-page .interaction-icon-btn{width:2rem;min-width:2rem;height:2rem;border:1px solid rgba(148,163,184,.24);border-radius:.58rem;background:rgba(248,250,252,.86);color:#475569;font-size:1rem;font-weight:800;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.classroom-page .interaction-icon-btn:focus-visible,.classroom-page .interaction-icon-btn:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.28);background:rgba(240,253,250,.92);outline:none}.classroom-page .interaction-kind-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.classroom-page .interaction-kind-tab{display:grid;gap:.18rem;min-height:4.25rem;padding:.72rem;border:1px solid rgba(226,232,240,.9);border-radius:.68rem;background:rgba(248,250,252,.86);color:#334155;text-align:left;cursor:pointer}.classroom-page .interaction-kind-tab span{color:var(--text-muted);font-size:.76rem}.classroom-page .interaction-kind-tab.is-active,.classroom-page .interaction-kind-tab:focus-visible,.classroom-page .interaction-kind-tab:hover{border-color:rgba(15,118,110,.34);background:rgba(240,253,250,.95);color:#0f766e;outline:none}.classroom-page .interaction-create-form,.classroom-page .interaction-question-form,.classroom-page .interaction-response-form,.classroom-page .interaction-signal-note{display:grid;gap:.78rem}.classroom-page .interaction-field,.classroom-page .interaction-option-editor{display:grid;gap:.42rem}.classroom-page .interaction-field>span,.classroom-page .interaction-option-editor__head>span{color:#334155;font-size:.82rem;font-weight:800}.classroom-page .interaction-field input,.classroom-page .interaction-field select,.classroom-page .interaction-field textarea,.classroom-page .interaction-option-editor-row input[type=text],.classroom-page .interaction-question-form textarea,.classroom-page .interaction-signal-note input{width:100%;min-width:0;border:1px solid rgba(203,213,225,.9);border-radius:.64rem;background:rgba(248,250,252,.9);color:#0f172a;font:inherit;line-height:1.45;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.classroom-page .interaction-field input,.classroom-page .interaction-field select,.classroom-page .interaction-option-editor-row input[type=text],.classroom-page .interaction-signal-note input{min-height:2.65rem;padding:.62rem .75rem}.classroom-page .interaction-field textarea,.classroom-page .interaction-question-form textarea{min-height:5.8rem;padding:.74rem .82rem;resize:vertical}.classroom-page .interaction-field input:focus,.classroom-page .interaction-field select:focus,.classroom-page .interaction-field textarea:focus,.classroom-page .interaction-option-editor-row input[type=text]:focus,.classroom-page .interaction-question-form textarea:focus,.classroom-page .interaction-signal-note input:focus{border-color:rgba(15,118,110,.45);background:#fff;box-shadow:0 0 0 3px rgba(15,118,110,.12);outline:none}.classroom-page .interaction-option-list{display:grid;gap:.52rem}.classroom-page .interaction-option-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;align-items:center}.classroom-page .interaction-checkbox,.classroom-page .interaction-correct-radio{display:inline-flex;align-items:center;gap:.45rem;color:#475569;font-size:.84rem;font-weight:700}.classroom-page .interaction-checkbox input,.classroom-page .interaction-correct-radio input{width:1rem;height:1rem;accent-color:#0f766e}.classroom-page .interaction-activity-pill{display:grid;gap:.2rem;width:100%;padding:.82rem .9rem;border:1px solid rgba(226,232,240,.9);border-radius:.68rem;background:rgba(248,250,252,.88);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.classroom-page .interaction-activity-pill span{width:-moz-fit-content;width:fit-content;padding:.18rem .5rem;border-radius:999px;background:rgba(14,165,233,.1);color:#0369a1;font-size:.72rem;font-weight:850}.classroom-page .interaction-activity-pill strong{color:#0f172a;font-size:.96rem}.classroom-page .interaction-activity-pill small{color:var(--text-muted);font-size:.78rem;font-weight:700}.classroom-page .interaction-activity-pill.is-selected,.classroom-page .interaction-activity-pill:focus-visible,.classroom-page .interaction-activity-pill:hover{transform:translateY(-1px);border-color:rgba(15,118,110,.34);background:rgba(240,253,250,.92);outline:none}.classroom-page .interaction-detail-head{padding-bottom:.8rem;border-bottom:1px solid rgba(226,232,240,.82)}.classroom-page .interaction-detail-head strong{font-size:1.12rem}.classroom-page .interaction-detail-head p{margin:0;line-height:1.62}.classroom-page .interaction-option-grid{display:grid;gap:.65rem}.classroom-page .interaction-option-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-height:3.65rem;padding:.78rem .88rem;border:1px solid rgba(226,232,240,.92);border-radius:.72rem;background:rgba(248,250,252,.9);overflow:hidden;cursor:pointer}.classroom-page .interaction-option-card input{width:1rem;height:1rem;accent-color:#0f766e;z-index:1}.classroom-page .interaction-option-main{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:0;z-index:1}.classroom-page .interaction-option-main strong{color:#0f172a}.classroom-page .interaction-option-main small{color:#64748b;font-size:.78rem;font-weight:800;white-space:nowrap}.classroom-page .interaction-option-bar{position:absolute;inset:auto 0 0 0;height:100%;width:var(--option-percent);background:linear-gradient(90deg,rgba(20,184,166,.16),rgba(14,165,233,.08));pointer-events:none}.classroom-page .interaction-option-card.is-selected,.classroom-page .interaction-option-card:focus-within,.classroom-page .interaction-option-card:hover{border-color:rgba(15,118,110,.36);background:rgba(240,253,250,.92)}.classroom-page .interaction-option-card.is-correct .interaction-option-main strong:after{content:" 正确";color:#0f766e;font-size:.75rem;font-weight:850}.classroom-page .interaction-response-footer{align-items:center;color:var(--text-muted);font-size:.84rem;font-weight:700}.classroom-page .interaction-question-form{margin-top:.85rem;padding:.85rem;border-radius:.72rem;border:1px solid rgba(226,232,240,.88);background:rgba(248,250,252,.86)}.classroom-page .interaction-question-card,.classroom-page .interaction-signal-row{display:grid;gap:.48rem;padding:.82rem .88rem;border:1px solid rgba(226,232,240,.9);border-radius:.68rem;background:rgba(248,250,252,.86)}.classroom-page .interaction-question-card>div,.classroom-page .interaction-signal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.72rem}.classroom-page .interaction-question-card strong,.classroom-page .interaction-signal-row strong{color:#0f172a}.classroom-page .interaction-empty p,.classroom-page .interaction-question-card p,.classroom-page .interaction-signal-row p{margin:0;color:var(--text-secondary);line-height:1.58}.classroom-page .interaction-question-card.is-addressed{background:rgba(240,253,244,.78);border-color:rgba(187,247,208,.78)}.classroom-page .interaction-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.classroom-page .interaction-signal-btn{min-height:3rem;border:1px solid rgba(226,232,240,.9);border-radius:.68rem;background:rgba(248,250,252,.9);color:#334155;font-weight:850;cursor:pointer}.classroom-page .interaction-signal-btn.is-active,.classroom-page .interaction-signal-btn:focus-visible,.classroom-page .interaction-signal-btn:hover{transform:translateY(-1px);outline:none}.classroom-page .interaction-signal-btn.is-hand.is-active,.classroom-page .interaction-signal-btn.is-hand:focus-visible,.classroom-page .interaction-signal-btn.is-hand:hover,.classroom-page .interaction-signal-row.is-hand{border-color:rgba(14,165,233,.34);background:rgba(240,249,255,.92)}.classroom-page .interaction-signal-btn.is-help.is-active,.classroom-page .interaction-signal-btn.is-help:focus-visible,.classroom-page .interaction-signal-btn.is-help:hover,.classroom-page .interaction-signal-row.is-help{border-color:rgba(245,158,11,.4);background:rgba(255,251,235,.92)}.classroom-page .interaction-signal-btn.is-slow.is-active,.classroom-page .interaction-signal-btn.is-slow:focus-visible,.classroom-page .interaction-signal-btn.is-slow:hover,.classroom-page .interaction-signal-row.is-slow{border-color:rgba(99,102,241,.32);background:rgba(238,242,255,.9)}.classroom-page .interaction-signal-btn.is-done.is-active,.classroom-page .interaction-signal-btn.is-done:focus-visible,.classroom-page .interaction-signal-btn.is-done:hover,.classroom-page .interaction-signal-row.is-done{border-color:rgba(16,185,129,.34);background:rgba(236,253,245,.92)}.classroom-page .interaction-clear-signal{width:-moz-fit-content;width:fit-content}.classroom-page .interaction-empty{display:grid;gap:.35rem;text-align:left;background:rgba(248,250,252,.86)}.classroom-page .interaction-empty strong{color:#0f172a;font-size:1rem}.classroom-page .interaction-signal-focus p{margin:0;color:var(--text-muted);line-height:1.75}.classroom-page .interaction-signal-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.classroom-page .interaction-signal-mini-grid span{display:grid;gap:.15rem;padding:.68rem .72rem;border:1px solid rgba(226,232,240,.88);border-radius:.62rem;background:rgba(248,250,252,.88)}.classroom-page .interaction-signal-mini-grid span.has-content{border-color:rgba(245,158,11,.32);background:rgba(255,251,235,.92)}.classroom-page .interaction-signal-mini-grid strong{color:#0f172a;font-size:1.16rem;line-height:1}.classroom-page .interaction-signal-mini-grid small{color:var(--text-muted);font-weight:760}@media (max-width:1180px){.classroom-page .interaction-workbench,.classroom-page .interaction-workbench.is-signal-tab{grid-template-columns:1fr}.classroom-page .interaction-feature-tabs{display:flex;gap:.6rem;overflow-x:auto;padding:.42rem;scroll-snap-type:x proximity;scrollbar-width:none}.classroom-page .interaction-feature-tabs::-webkit-scrollbar{display:none}.classroom-page .interaction-feature-tab{min-width:8.9rem;scroll-snap-align:start}}@media (max-width:720px){.classroom-page .interaction-launch-strip,.classroom-page .interaction-option-editor__head,.classroom-page .interaction-panel__header,.classroom-page .interaction-question-actions,.classroom-page .interaction-response-footer{align-items:stretch;flex-direction:column}.classroom-page .interaction-actions,.classroom-page .interaction-actions .btn,.classroom-page .interaction-launch-strip .btn,.classroom-page .interaction-question-actions .btn,.classroom-page .interaction-response-footer .btn{width:100%}.classroom-page .interaction-kind-tabs,.classroom-page .interaction-option-editor-row,.classroom-page .interaction-question-card>div,.classroom-page .interaction-signal-grid,.classroom-page .interaction-signal-row{grid-template-columns:1fr}.classroom-page .interaction-option-main{align-items:flex-start;flex-direction:column;gap:.25rem}}@media (prefers-reduced-motion:reduce){.classroom-page .interaction-loading__dot{animation:none}.classroom-page .interaction-activity-pill,.classroom-page .interaction-icon-btn,.classroom-page .interaction-signal-btn{transition:none}}.classroom-page .collaboration-panel{border-color:rgba(99,102,241,.16);background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.94))}.classroom-page .collaboration-panel__header{gap:16px;align-items:flex-start}.classroom-page .collaboration-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.classroom-page .collaboration-content,.classroom-page .collaboration-shell{display:grid;gap:18px;min-width:0}.classroom-page .collaboration-loading{display:inline-flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:42px;padding:0 14px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.86);color:#475569;font-size:.92rem;font-weight:800}.classroom-page .collaboration-loading__dot{width:9px;height:9px;border-radius:999px;background:#6366f1;box-shadow:0 0 0 5px rgba(99,102,241,.12)}.classroom-page .collaboration-content[hidden],.classroom-page .collaboration-loading[hidden]{display:none}.classroom-page .collaboration-create-panel,.classroom-page .collaboration-detail-card,.classroom-page .collaboration-empty,.classroom-page .collaboration-group-card{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.88);box-shadow:0 18px 36px -32px rgba(15,23,42,.28)}.classroom-page .collaboration-detail-card__head span,.classroom-page .collaboration-group-list__head span,.classroom-page .collaboration-muted{color:#64748b;font-size:.84rem;line-height:1.45}.classroom-page .collaboration-workbench{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:16px;align-items:start}.classroom-page .collaboration-detail,.classroom-page .collaboration-detail-card,.classroom-page .collaboration-detail-panel,.classroom-page .collaboration-group-list,.classroom-page .collaboration-main,.classroom-page .collaboration-review-list,.classroom-page .collaboration-submission-list{display:grid;gap:12px;min-width:0}.classroom-page .collaboration-detail-card__head,.classroom-page .collaboration-group-list__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.classroom-page .collaboration-detail-card__head>div,.classroom-page .collaboration-group-list__head>div{display:grid;gap:3px;min-width:0}.classroom-page .collaboration-detail-card__head strong,.classroom-page .collaboration-group-list__head strong{color:#0f172a;font-size:1rem;font-weight:900}.classroom-page .collaboration-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.classroom-page .collaboration-group-card{display:grid;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.classroom-page .collaboration-group-card:focus-within,.classroom-page .collaboration-group-card:hover{transform:translateY(-1px);border-color:rgba(99,102,241,.34);box-shadow:0 24px 42px -34px rgba(79,70,229,.36)}.classroom-page .collaboration-group-card.is-selected{border-color:rgba(79,70,229,.52);background:rgba(238,242,255,.54)}.classroom-page .collaboration-group-card__body{display:grid;gap:7px;width:100%;min-width:0;padding:14px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.classroom-page .collaboration-detail-hero strong,.classroom-page .collaboration-file-row strong,.classroom-page .collaboration-group-card__body strong,.classroom-page .collaboration-review-list strong,.classroom-page .collaboration-submission-row strong{color:#0f172a;font-weight:900;line-height:1.35;overflow-wrap:anywhere}.classroom-page .collaboration-file-row small,.classroom-page .collaboration-group-card__body small,.classroom-page .collaboration-review-list small,.classroom-page .collaboration-submission-row small{color:#64748b;font-size:.82rem;line-height:1.45}.classroom-page .collaboration-detail-hero p,.classroom-page .collaboration-group-card__body p,.classroom-page .collaboration-review-list p,.classroom-page .collaboration-submission-row p{margin:0;color:#475569;line-height:1.55;overflow-wrap:anywhere}.classroom-page .collaboration-group-card__status{width:-moz-fit-content;width:fit-content;max-width:100%;padding:4px 8px;border-radius:999px;background:rgba(99,102,241,.1);color:#4f46e5;font-size:.74rem;font-weight:900}.classroom-page .collaboration-group-card__meta{color:#334155;font-size:.82rem;font-weight:800;overflow-wrap:anywhere}.classroom-page .collaboration-group-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 14px 14px}.classroom-page .collaboration-submission-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.classroom-page .collaboration-joinable{display:grid;gap:9px;padding-top:10px;border-top:1px dashed rgba(148,163,184,.22)}.classroom-page .collaboration-joinable>strong{color:#334155;font-size:.92rem;font-weight:900}.classroom-page .collaboration-detail-hero{display:grid;gap:7px;padding:16px;border:1px solid rgba(15,118,110,.16);border-radius:8px;background:linear-gradient(135deg,rgba(240,253,250,.92),rgba(238,242,255,.74))}.classroom-page .collaboration-detail-hero span{width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:999px;background:rgba(15,118,110,.11);color:#0f766e;font-size:.74rem;font-weight:900}.classroom-page .collaboration-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.classroom-page .collaboration-detail-summary>div{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:hsla(0,0%,100%,.76)}.classroom-page .collaboration-detail-summary span{color:#64748b;font-size:.76rem;font-weight:850}.classroom-page .collaboration-detail-summary strong{color:#0f172a;font-size:1rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.classroom-page .collaboration-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(248,250,252,.72)}.classroom-page .collaboration-detail-tab{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:42px;min-width:0;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#475569;font-size:.86rem;font-weight:900;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.classroom-page .collaboration-detail-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .collaboration-detail-tab strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:0 6px;border-radius:999px;background:rgba(226,232,240,.78);color:#334155;font-size:.76rem;line-height:1}.classroom-page .collaboration-detail-tab:focus-visible,.classroom-page .collaboration-detail-tab:hover{transform:translateY(-1px);border-color:rgba(99,102,241,.2);color:#3730a3;outline:none}.classroom-page .collaboration-detail-tab.is-active{border-color:rgba(99,102,241,.28);background:hsla(0,0%,100%,.96);color:#4338ca;box-shadow:0 12px 28px -24px rgba(79,70,229,.55)}.classroom-page .collaboration-detail-tab.is-active strong{background:rgba(238,242,255,.95);color:#4f46e5}.classroom-page .collaboration-create-panel,.classroom-page .collaboration-detail-card,.classroom-page .collaboration-empty{padding:14px}.classroom-page .collaboration-member-list{display:flex;flex-wrap:wrap;gap:8px}.classroom-page .collaboration-member-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;max-width:100%;padding:5px 8px;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:rgba(248,250,252,.92)}.classroom-page .collaboration-member-pill.is-leader{border-color:rgba(245,158,11,.26);background:rgba(255,251,235,.9)}.classroom-page .collaboration-member-pill small,.classroom-page .collaboration-member-pill strong{white-space:nowrap}.classroom-page .collaboration-member-pill small{color:#64748b;font-size:.75rem;font-weight:800}.classroom-page .collaboration-close-btn,.classroom-page .collaboration-member-remove{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border:1px solid rgba(239,68,68,.22);border-radius:999px;background:hsla(0,86%,97%,.88);color:#dc2626;font-size:.78rem;font-weight:900;cursor:pointer}.classroom-page .collaboration-close-btn{border-color:rgba(148,163,184,.22);background:rgba(248,250,252,.94);color:#475569}.classroom-page .collaboration-create-form,.classroom-page .collaboration-inline-form,.classroom-page .collaboration-review-form,.classroom-page .collaboration-submission-form,.classroom-page .collaboration-upload-form{display:grid;gap:10px;min-width:0}.classroom-page .collaboration-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.classroom-page .collaboration-form-row,.classroom-page .collaboration-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.classroom-page .collaboration-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-page .collaboration-form-field{display:grid;gap:6px;min-width:0;color:#475569;font-size:.84rem;font-weight:850}.classroom-page .collaboration-create-form>input,.classroom-page .collaboration-create-form>select,.classroom-page .collaboration-create-form>textarea,.classroom-page .collaboration-form-field input,.classroom-page .collaboration-form-field select,.classroom-page .collaboration-form-field textarea,.classroom-page .collaboration-inline-form select,.classroom-page .collaboration-review-form select,.classroom-page .collaboration-review-form textarea,.classroom-page .collaboration-submission-form input,.classroom-page .collaboration-submission-form select,.classroom-page .collaboration-submission-form textarea,.classroom-page .collaboration-upload-form input[type=text]{width:100%;min-width:0;border:1px solid rgba(148,163,184,.26);border-radius:8px;background:hsla(0,0%,100%,.96);color:#0f172a;font-size:.92rem;line-height:1.45}.classroom-page .collaboration-create-form>input,.classroom-page .collaboration-create-form>select,.classroom-page .collaboration-form-field input,.classroom-page .collaboration-form-field select,.classroom-page .collaboration-inline-form select,.classroom-page .collaboration-review-form select,.classroom-page .collaboration-submission-form input,.classroom-page .collaboration-submission-form select,.classroom-page .collaboration-upload-form input[type=text]{min-height:42px;padding:0 11px}.classroom-page .collaboration-create-form>textarea,.classroom-page .collaboration-form-field textarea,.classroom-page .collaboration-review-form textarea,.classroom-page .collaboration-submission-form textarea{padding:10px 11px;resize:vertical}.classroom-page .collaboration-create-form>input:focus,.classroom-page .collaboration-create-form>select:focus,.classroom-page .collaboration-create-form>textarea:focus,.classroom-page .collaboration-form-field input:focus,.classroom-page .collaboration-form-field select:focus,.classroom-page .collaboration-form-field textarea:focus,.classroom-page .collaboration-inline-form select:focus,.classroom-page .collaboration-review-form select:focus,.classroom-page .collaboration-review-form textarea:focus,.classroom-page .collaboration-submission-form input:focus,.classroom-page .collaboration-submission-form select:focus,.classroom-page .collaboration-submission-form textarea:focus,.classroom-page .collaboration-upload-form input[type=text]:focus{border-color:rgba(99,102,241,.5);box-shadow:0 0 0 3px rgba(99,102,241,.12);outline:none}.classroom-page .collaboration-file-list{display:grid;gap:8px}.classroom-page .collaboration-file-row,.classroom-page .collaboration-review-list article,.classroom-page .collaboration-submission-row{display:grid;gap:5px;min-width:0;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:rgba(248,250,252,.72);color:inherit;text-decoration:none}.classroom-page .collaboration-file-row{grid-template-columns:auto minmax(0,1fr);align-items:center}.classroom-page .collaboration-file-row:focus-visible,.classroom-page .collaboration-file-row:hover{border-color:rgba(14,165,233,.28);background:rgba(240,249,255,.9);text-decoration:none}.classroom-page .collaboration-file-icon{position:relative;width:34px;height:40px;border:1px solid rgba(14,165,233,.28);border-radius:8px;background:rgba(224,242,254,.78)}.classroom-page .collaboration-file-icon:before{content:"";position:absolute;top:7px;left:8px;width:16px;height:2px;border-radius:99px;background:#0284c7;box-shadow:0 7px 0 rgba(2,132,199,.68),0 14px 0 rgba(2,132,199,.4)}.classroom-page .collaboration-file-drop{display:grid;gap:4px;padding:12px;border:1px dashed rgba(99,102,241,.32);border-radius:8px;background:rgba(238,242,255,.52);cursor:pointer}.classroom-page .collaboration-file-drop input{width:100%}.classroom-page .collaboration-file-drop span{color:#3730a3;font-weight:900}.classroom-page .collaboration-file-drop small{color:#64748b;line-height:1.45}.classroom-page .collaboration-peer-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.classroom-page .collaboration-peer-summary>div{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid rgba(15,118,110,.16);border-radius:8px;background:rgba(240,253,250,.72)}.classroom-page .collaboration-peer-summary span{color:#334155;font-weight:850;overflow-wrap:anywhere}.classroom-page .collaboration-peer-summary strong{color:#0f766e;font-size:1.35rem;line-height:1}.classroom-page .collaboration-peer-summary small{color:#64748b}.classroom-page .collaboration-checkbox{display:inline-flex;align-items:flex-start;gap:8px;color:#475569;font-size:.86rem;line-height:1.45}.classroom-page .collaboration-checkbox input{margin-top:3px}.classroom-page .collaboration-empty{display:grid;gap:8px;justify-items:start;color:#475569}.classroom-page .collaboration-empty strong{color:#0f172a;font-size:1.05rem;font-weight:900}@media (max-width:1120px){.classroom-page .collaboration-workbench{grid-template-columns:1fr}.classroom-page .collaboration-detail{order:-1}}@media (max-width:760px){.classroom-page .collaboration-panel__header{align-items:stretch}.classroom-page .collaboration-actions,.classroom-page .collaboration-actions .btn{width:100%}.classroom-page .collaboration-detail-summary,.classroom-page .collaboration-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .collaboration-form-row,.classroom-page .collaboration-group-grid,.classroom-page .collaboration-inline-form,.classroom-page .collaboration-score-grid{grid-template-columns:1fr}.classroom-page .collaboration-create-form .btn,.classroom-page .collaboration-inline-form .btn,.classroom-page .collaboration-review-form .btn,.classroom-page .collaboration-submission-actions,.classroom-page .collaboration-submission-actions .btn,.classroom-page .collaboration-submission-form .btn,.classroom-page .collaboration-upload-form .btn{width:100%}}@media (max-width:430px){.classroom-page .collaboration-create-panel,.classroom-page .collaboration-detail-card,.classroom-page .collaboration-detail-hero,.classroom-page .collaboration-empty{padding:12px}.classroom-page .collaboration-member-pill{width:100%;justify-content:space-between}}.classroom-page{--classroom-page-max:1500px;--classroom-layout-gap:clamp(18px,1.7vw,26px);--classroom-panel-pad:clamp(18px,1.55vw,24px);--classroom-ia-border:rgba(148,163,184,.22);--classroom-ia-shadow:0 18px 40px -34px rgba(15,23,42,.48)}.classroom-page .classroom-workspace{width:min(100%,var(--classroom-page-max));max-width:var(--classroom-page-max);gap:var(--classroom-layout-gap)}.classroom-page .workspace-columns{grid-template-columns:minmax(0,1fr) minmax(330px,380px);gap:var(--classroom-layout-gap);align-items:start}.classroom-page .workspace-content{align-content:start}.classroom-page .workspace-content,.classroom-page .workspace-flow{display:grid;gap:var(--classroom-layout-gap);min-width:0}.classroom-page .workspace-flow>.workspace-panel{min-width:0}.classroom-page .workspace-panel{padding:var(--classroom-panel-pad);background:linear-gradient(180deg,hsla(0,0%,100%,.97),rgba(248,250,252,.93));box-shadow:var(--classroom-ia-shadow)}.classroom-page .workspace-flow--priority #assignment-panel{border-color:color-mix(in srgb,var(--classroom-premium-accent) 18%,var(--classroom-ia-border))}.classroom-page.role-teacher .workspace-flow--priority #assignment-panel{border-color:rgba(15,118,110,.22)}.classroom-page .workspace-flow--engagement .workspace-panel,.classroom-page .workspace-flow--library .workspace-panel{box-shadow:0 14px 34px -32px rgba(15,23,42,.42)}.classroom-page #collaboration-panel,.classroom-page #interaction-panel{scroll-margin-top:92px}.classroom-page .classroom-topbar-sections{min-width:0}.classroom-page .classroom-topbar-section-link{flex:1 1 7.6rem;max-width:10.5rem}.classroom-page .section-header{margin-bottom:18px}.classroom-page .section-metric-grid{gap:.72rem}.classroom-page #assignment-panel .assignment-grid{grid-template-columns:minmax(0,1fr)!important;gap:.72rem}.classroom-page .assignment-board{display:grid;gap:.88rem;min-width:0}.classroom-page .assignment-card-unified{min-height:0;border-radius:8px;border-color:rgba(148,163,184,.2);background:hsla(0,0%,100%,.9);box-shadow:none}.classroom-page .assignment-card-unified:hover{border-color:rgba(79,70,229,.24);background:hsla(0,0%,100%,.98);box-shadow:0 18px 34px -30px rgba(15,23,42,.36)}.classroom-page.role-teacher .assignment-card-unified:hover{border-color:rgba(15,118,110,.24)}.classroom-page .assignment-card-unified:before{width:3px;border-radius:8px 0 0 8px}.classroom-page .assignment-card-unified .card-body{gap:.66rem;height:auto;padding:16px 18px}.classroom-page .assignment-card-top{align-items:center;gap:.72rem;margin-bottom:0}.classroom-page .assignment-card-title{margin:0;font-size:1.02rem}.classroom-page .assignment-card-desc{min-height:0;margin:0;-webkit-line-clamp:2}.classroom-page .assignment-time-strip{margin-top:0}.classroom-page .assignment-card-feedback-preview,.classroom-page .assignment-card-insights{margin:0}.classroom-page .assignment-card-footer{margin-top:0;padding-top:.68rem}.classroom-page .assignment-arrow{width:1.8rem;height:1.8rem;flex:0 0 auto}@media (min-width:860px){.classroom-page.role-teacher .assignment-card-unified .card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(176px,220px);-moz-column-gap:18px;column-gap:18px;row-gap:.58rem;align-items:start}.classroom-page.role-teacher .assignment-card-feedback-preview,.classroom-page.role-teacher .assignment-card-footer,.classroom-page.role-teacher .assignment-card-top,.classroom-page.role-teacher .assignment-time-strip{grid-column:1/-1}.classroom-page.role-teacher .assignment-card-desc,.classroom-page.role-teacher .assignment-card-title{grid-column:1}.classroom-page.role-teacher .assignment-card-insights{grid-column:2;grid-row:2/span 2;align-self:stretch;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.classroom-page.role-teacher .assignment-card-insight{min-height:54px;padding:8px 9px}}@media (min-width:1440px){.classroom-page .workspace-flow--engagement,.classroom-page .workspace-flow--library{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.classroom-page .workspace-flow--engagement .collaboration-workbench,.classroom-page .workspace-flow--engagement .interaction-workbench,.classroom-page .workspace-flow--engagement .interaction-workbench.is-signal-tab{grid-template-columns:1fr}.classroom-page .workspace-flow--engagement .collaboration-detail-summary,.classroom-page .workspace-flow--engagement .collaboration-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .workspace-flow--engagement .interaction-feature-tabs{display:flex;gap:.6rem;overflow-x:auto;padding:.42rem;scroll-snap-type:x proximity;scrollbar-width:none}.classroom-page .workspace-flow--engagement .interaction-feature-tabs::-webkit-scrollbar{display:none}.classroom-page .workspace-flow--engagement .interaction-feature-tab{min-width:8.8rem;scroll-snap-align:start}.classroom-page .workspace-flow--library #materials-panel .materials-list-header{display:none}.classroom-page .workspace-flow--library #materials-panel .materials-row{grid-template-columns:34px minmax(0,1fr);grid-template-areas:"checkbox name" ". meta" ". actions";align-items:start}.classroom-page .workspace-flow--library #materials-panel .materials-row>:first-child{grid-area:checkbox}.classroom-page .workspace-flow--library #materials-panel .materials-row>:nth-child(2){grid-area:name}.classroom-page .workspace-flow--library #materials-panel .materials-row>:nth-child(3),.classroom-page .workspace-flow--library #materials-panel .materials-row>:nth-child(4){grid-area:meta;padding-left:56px;color:var(--text-muted);font-size:.82rem}.classroom-page .workspace-flow--library #materials-panel .materials-row>:nth-child(4){margin-top:-10px}.classroom-page .workspace-flow--library #materials-panel .materials-row>:nth-child(5){grid-area:actions;padding-left:56px}.classroom-page .workspace-flow--library .resource-file-card{flex-direction:column;align-items:stretch}.classroom-page .workspace-flow--library .resource-file-title-row{align-items:flex-start;flex-direction:column}}@media (max-width:1180px){.classroom-page .workspace-columns{grid-template-columns:1fr}.classroom-page .workspace-sidebar.is-sticky-active{position:static;top:auto;height:auto}}@media (max-width:860px){.classroom-page .classroom-topbar-section-link{max-width:none}}@media (max-width:720px){.classroom-page .workspace-flow{gap:14px}.classroom-page #assignment-panel .section-metric-grid,.classroom-page .section-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .assignment-card-unified .card-body{padding:14px}}@media (max-width:430px){.classroom-page #assignment-panel .section-metric-grid,.classroom-page .section-metric-grid{grid-template-columns:1fr}}.classroom-page{--classroom-activity-width:clamp(360px,28vw,430px);--classroom-activity-top:84px}.classroom-page .workspace-columns{grid-template-columns:minmax(0,1fr) minmax(340px,var(--classroom-activity-width))}.classroom-page .workspace-flow--library{grid-template-columns:minmax(0,1fr)!important}.classroom-page .workspace-flow--library #materials-panel{width:100%}.classroom-page .classroom-topbar-activity{position:relative}.classroom-page .classroom-topbar-activity-count{position:absolute;top:.42rem;right:.44rem;min-width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .36rem;border-radius:999px;background:#0f172a;color:#fff;font-size:.72rem;font-weight:820;line-height:1;box-shadow:0 8px 20px -14px rgba(15,23,42,.68)}.classroom-page .classroom-topbar-activity-count[data-empty]{background:rgba(100,116,139,.42)}.classroom-page .classroom-activity-sidebar{position:sticky;top:var(--classroom-activity-top);display:block;min-width:0;align-self:start;z-index:4;scroll-margin-top:112px}.classroom-page .classroom-activity-sidebar.is-sticky-active{top:var(--classroom-activity-top);height:auto}.classroom-page .classroom-activity-dock{display:grid;gap:.58rem;min-width:0;max-height:calc(100vh - var(--classroom-activity-top) - 18px)}.classroom-page .classroom-activity-header{display:grid;gap:.62rem;padding:.78rem .86rem;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.94);box-shadow:0 16px 36px -32px rgba(15,23,42,.36)}.classroom-page .classroom-activity-heading{min-width:0}.classroom-page .classroom-activity-header h2{margin:0;color:var(--text-primary);font-size:1.08rem;line-height:1.2;letter-spacing:0}.classroom-page .classroom-activity-header p{max-width:26rem;margin:0;color:var(--text-muted);font-size:.83rem;line-height:1.5}.classroom-page .classroom-activity-workspace-island{display:none}.classroom-page .resource-workspace-island{width:100%;min-width:0;margin-bottom:.76rem}.classroom-page .resource-workspace-sync{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:.62rem;min-width:0;padding:.72rem;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:rgba(248,250,252,.86)}.classroom-page .resource-workspace-sync__summary{min-width:0}.classroom-page .resource-workspace-sync__eyebrow{display:inline-flex;align-items:center;gap:.34rem;width:-moz-fit-content;width:fit-content;min-height:1.55rem;padding:.22rem .46rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8;font-size:.72rem;font-weight:840}.classroom-page .resource-workspace-sync__headline{display:grid;gap:.14rem;min-width:0;margin-top:.4rem}.classroom-page .resource-workspace-sync__headline strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .resource-workspace-sync p,.classroom-page .resource-workspace-sync__headline span{color:var(--text-muted);font-size:.76rem;line-height:1.48}.classroom-page .resource-workspace-sync p{margin:.28rem 0 0}.classroom-page .resource-workspace-sync__progress{position:relative;height:.42rem;margin-top:.58rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.86)}.classroom-page .resource-workspace-sync__progress span{position:absolute;inset:0 auto 0 0;width:var(--progress,0);border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9);transition:width .18s ease}.classroom-page .resource-workspace-sync__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem;min-width:0}.classroom-page .resource-workspace-sync__metric{display:grid;align-items:center;gap:.12rem .4rem;min-width:0;padding:.5rem;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#fff}.classroom-page .resource-workspace-sync__metric span{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:8px;background:rgba(37,99,235,.1);color:#1d4ed8}.classroom-page .resource-workspace-sync__metric small{color:var(--text-muted);font-size:.7rem;font-weight:780;line-height:1.1;white-space:nowrap}.classroom-page .resource-workspace-sync__metric strong{color:var(--text-primary);font-size:1.05rem;font-weight:900;line-height:1}.classroom-page .resource-workspace-sync__metric.is-success strong{color:var(--success-dark)}.classroom-page .resource-workspace-sync__metric.is-warning strong{color:var(--warning-dark)}.classroom-page .resource-workspace-sync__metric.is-link strong{color:#0369a1}.classroom-page .resource-workspace-sync__metric.is-primary strong{color:#1d4ed8}.classroom-page .resource-workspace-sync__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.42rem}.classroom-page .resource-workspace-sync__actions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.12rem;padding:.4rem .56rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.78rem;font-weight:840;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .resource-workspace-sync__actions button:focus-visible:not(:disabled),.classroom-page .resource-workspace-sync__actions button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(37,99,235,.34);color:#1d4ed8;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .resource-workspace-sync__actions button:disabled{cursor:progress;opacity:.55}.classroom-page .learning-progress-sync-island{width:100%;min-width:0;margin:.9rem 0 1rem}.classroom-page .learning-progress-sync{display:grid;grid-template-columns:minmax(220px,.92fr) minmax(280px,1.08fr) minmax(220px,.86fr);gap:clamp(.78rem,1.3vw,1rem);min-width:0;padding:clamp(1.05rem,1.6vw,1.28rem);border:1px solid rgba(148,163,184,.22);border-radius:8px;background:hsla(0,0%,100%,.9)}.classroom-page .learning-progress-sync__summary{min-width:0}.classroom-page .learning-progress-sync__eyebrow{display:inline-flex;align-items:center;gap:.34rem;width:-moz-fit-content;width:fit-content;min-height:1.55rem;padding:.22rem .46rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8;font-size:.72rem;font-weight:840}.classroom-page .learning-progress-sync.is-teacher .learning-progress-sync__eyebrow{background:rgba(20,184,166,.1);color:#0f766e}.classroom-page .learning-progress-sync__headline{display:grid;gap:.14rem;min-width:0;margin-top:.42rem}.classroom-page .learning-progress-sync__headline strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-progress-sync p,.classroom-page .learning-progress-sync__headline span{color:var(--text-muted);font-size:.76rem;line-height:1.48}.classroom-page .learning-progress-sync p{margin:.28rem 0 0}.classroom-page .learning-progress-sync__progress{position:relative;height:.42rem;margin-top:.58rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.86)}.classroom-page .learning-progress-sync__progress span{position:absolute;inset:0 auto 0 0;width:var(--progress,0);border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);transition:width .18s ease}.classroom-page .learning-progress-sync__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.42rem;min-width:0}.classroom-page .learning-progress-sync__metric{display:grid;grid-template-rows:auto auto auto auto;justify-items:start;gap:.16rem;min-width:0;min-height:4.58rem;padding:.48rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .learning-progress-sync__metric span{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8}.classroom-page .learning-progress-sync__metric em,.classroom-page .learning-progress-sync__metric small{overflow:hidden;color:var(--text-muted);font-size:.68rem;font-style:normal;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-progress-sync__metric strong{color:var(--text-primary);font-size:1.06rem;font-weight:900;line-height:1}.classroom-page .learning-progress-sync__metric.is-success span{background:rgba(20,184,166,.12);color:#0f766e}.classroom-page .learning-progress-sync__metric.is-warning span{background:rgba(245,158,11,.13);color:#b45309}.classroom-page .learning-progress-sync__metric.is-link span{background:rgba(14,165,233,.12);color:#0369a1}.classroom-page .learning-progress-sync__metric.is-accent span{background:rgba(244,63,94,.11);color:#be123c}.classroom-page .learning-progress-sync__metric:focus-visible,.classroom-page .learning-progress-sync__metric:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.34);box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .learning-progress-sync__side{display:grid;align-content:start;gap:.48rem;min-width:0}.classroom-page .learning-progress-sync__stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.36rem;min-width:0}.classroom-page .learning-progress-sync__stage{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.34rem;min-width:0;min-height:2.02rem;padding:.34rem .44rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;cursor:pointer}.classroom-page .learning-progress-sync__stage span{width:.72rem;height:.72rem;border-radius:999px;background:rgba(148,163,184,.36)}.classroom-page .learning-progress-sync__stage.is-challenge_ready span,.classroom-page .learning-progress-sync__stage.is-passed span{background:#14b8a6}.classroom-page .learning-progress-sync__stage.is-generating span,.classroom-page .learning-progress-sync__stage.is-in_exam span{background:#f59e0b}.classroom-page .learning-progress-sync__stage strong{overflow:hidden;font-size:.72rem;font-weight:840;text-overflow:ellipsis;white-space:nowrap}.classroom-page .learning-progress-sync__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.42rem}.classroom-page .learning-progress-sync__actions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.12rem;padding:.4rem .56rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.78rem;font-weight:840;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .learning-progress-sync__actions button:focus-visible:not(:disabled),.classroom-page .learning-progress-sync__actions button:hover:not(:disabled),.classroom-page .learning-progress-sync__stage:focus-visible,.classroom-page .learning-progress-sync__stage:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.34);color:#0f766e;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .learning-progress-sync__actions button:disabled{cursor:not-allowed;opacity:.5}.classroom-page .material-learning-path-island{width:100%;min-width:0;margin:.78rem 0 .82rem}.classroom-page .material-learning-path-sync{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.08fr) minmax(220px,.92fr);gap:.66rem;min-width:0;padding:.76rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(248,250,252,.92)}.classroom-page .material-learning-path-sync__summary{min-width:0}.classroom-page .material-learning-path-sync__eyebrow{display:inline-flex;align-items:center;gap:.34rem;width:-moz-fit-content;width:fit-content;min-height:1.55rem;padding:.22rem .46rem;border-radius:999px;background:rgba(20,184,166,.1);color:#0f766e;font-size:.72rem;font-weight:840}.classroom-page .material-learning-path-sync__headline{display:grid;gap:.14rem;min-width:0;margin-top:.42rem}.classroom-page .material-learning-path-sync__headline strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .material-learning-path-sync p,.classroom-page .material-learning-path-sync__headline span{color:var(--text-muted);font-size:.76rem;line-height:1.48}.classroom-page .material-learning-path-sync p{margin:.28rem 0 0}.classroom-page .material-learning-path-sync__progress{position:relative;height:.42rem;margin-top:.58rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.86)}.classroom-page .material-learning-path-sync__progress span{position:absolute;inset:0 auto 0 0;width:var(--progress,0);border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2563eb);transition:width .18s ease}.classroom-page .material-learning-path-sync__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.42rem;min-width:0}.classroom-page .material-learning-path-sync__metric{display:grid;grid-template-rows:auto auto auto;justify-items:start;gap:.18rem;min-width:0;min-height:4.36rem;padding:.48rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .material-learning-path-sync__metric span{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8}.classroom-page .material-learning-path-sync__metric small{color:var(--text-muted);font-size:.7rem;font-weight:780}.classroom-page .material-learning-path-sync__metric strong{color:var(--text-primary);font-size:1.1rem;font-weight:900;line-height:1}.classroom-page .material-learning-path-sync__metric.is-success span{background:rgba(20,184,166,.12);color:#0f766e}.classroom-page .material-learning-path-sync__metric.is-link span{background:rgba(14,165,233,.12);color:#0369a1}.classroom-page .material-learning-path-sync__metric.is-accent span{background:rgba(245,158,11,.13);color:#b45309}.classroom-page .material-learning-path-sync__metric:focus-visible,.classroom-page .material-learning-path-sync__metric:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.34);box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .material-learning-path-sync__sessions{display:grid;gap:.42rem;min-width:0}.classroom-page .material-learning-path-sync__empty,.classroom-page .material-learning-path-sync__session{border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .material-learning-path-sync__session{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.48rem;min-width:0;min-height:2.6rem;padding:.42rem .52rem;text-align:left}.classroom-page .material-learning-path-sync__session-icon{display:inline-flex;align-items:center;justify-content:center;width:1.72rem;height:1.72rem;border-radius:999px;background:rgba(20,184,166,.1);color:#0f766e}.classroom-page .material-learning-path-sync__session.is-missing .material-learning-path-sync__session-icon{background:rgba(245,158,11,.13);color:#b45309}.classroom-page .material-learning-path-sync__session.is-selected{border-color:rgba(37,99,235,.32);box-shadow:inset 3px 0 0 rgba(37,99,235,.58)}.classroom-page .material-learning-path-sync__session-copy{display:grid;gap:.1rem;min-width:0}.classroom-page .material-learning-path-sync__session-copy strong{overflow:hidden;color:var(--text-primary);font-size:.8rem;font-weight:880;text-overflow:ellipsis;white-space:nowrap}.classroom-page .material-learning-path-sync__session em,.classroom-page .material-learning-path-sync__session-copy small{overflow:hidden;color:var(--text-muted);font-size:.68rem;font-style:normal;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.classroom-page .material-learning-path-sync__session em{color:#0f766e}.classroom-page .material-learning-path-sync__session.is-missing em{color:#b45309}.classroom-page .material-learning-path-sync__empty{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:2.6rem;padding:.42rem .58rem;color:#1d4ed8;font-weight:840}.classroom-page .material-learning-path-sync__empty:focus-visible,.classroom-page .material-learning-path-sync__empty:hover,.classroom-page .material-learning-path-sync__session:focus-visible,.classroom-page .material-learning-path-sync__session:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.34);color:#1d4ed8;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .material-learning-path-sync__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.42rem}.classroom-page .material-learning-path-sync__actions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.12rem;padding:.4rem .56rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.78rem;font-weight:840;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .material-learning-path-sync__actions button:focus-visible:not(:disabled),.classroom-page .material-learning-path-sync__actions button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(20,184,166,.34);color:#0f766e;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .material-learning-path-sync__actions button:disabled{cursor:not-allowed;opacity:.5}.classroom-page .assignment-task-board-island{width:100%;min-width:0;margin:.9rem 0 1rem}.classroom-page .assignment-task-board-sync{display:grid;grid-template-columns:minmax(220px,.88fr) minmax(260px,1fr) minmax(220px,.92fr);gap:.7rem;min-width:0;padding:.78rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(248,250,252,.92)}.classroom-page .assignment-task-board-sync__summary{min-width:0}.classroom-page .assignment-task-board-sync__eyebrow{display:inline-flex;align-items:center;gap:.34rem;width:-moz-fit-content;width:fit-content;min-height:1.55rem;padding:.22rem .46rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8;font-size:.72rem;font-weight:840}.classroom-page .assignment-task-board-sync__headline{display:grid;gap:.14rem;min-width:0;margin-top:.42rem}.classroom-page .assignment-task-board-sync__headline strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .assignment-task-board-sync p,.classroom-page .assignment-task-board-sync__headline span{color:var(--text-muted);font-size:.76rem;line-height:1.48}.classroom-page .assignment-task-board-sync p{margin:.28rem 0 0}.classroom-page .assignment-task-board-sync__progress{position:relative;height:.42rem;margin-top:.58rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.86)}.classroom-page .assignment-task-board-sync__progress span{position:absolute;inset:0 auto 0 0;width:var(--progress,0);border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);transition:width .18s ease}.classroom-page .assignment-task-board-sync__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.42rem;min-width:0}.classroom-page .assignment-task-board-sync__metric{display:grid;grid-template-rows:auto auto auto;justify-items:start;gap:.18rem;min-width:0;min-height:4.36rem;padding:.48rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .assignment-task-board-sync__metric span{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8}.classroom-page .assignment-task-board-sync__metric small{color:var(--text-muted);font-size:.7rem;font-weight:780}.classroom-page .assignment-task-board-sync__metric strong{color:var(--text-primary);font-size:1.1rem;font-weight:900;line-height:1}.classroom-page .assignment-task-board-sync__metric.is-exam span,.classroom-page .assignment-task-board-sync__metric.is-warning span{background:rgba(245,158,11,.13);color:#b45309}.classroom-page .assignment-task-board-sync__metric.is-danger span{background:rgba(244,63,94,.12);color:#be123c}.classroom-page .assignment-task-board-sync__metric:focus-visible,.classroom-page .assignment-task-board-sync__metric:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.34);box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .assignment-task-board-sync__queue{display:grid;gap:.42rem;min-width:0}.classroom-page .assignment-task-board-sync__queue-item{display:grid;grid-template-columns:minmax(0,1fr) 2.2rem;gap:.36rem;min-width:0}.classroom-page .assignment-task-board-sync__empty,.classroom-page .assignment-task-board-sync__open,.classroom-page .assignment-task-board-sync__queue-item>button{border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .assignment-task-board-sync__queue-item>button:first-child{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.48rem;min-width:0;min-height:2.6rem;padding:.42rem .52rem;text-align:left}.classroom-page .assignment-task-board-sync__queue-icon{display:inline-flex;align-items:center;justify-content:center;width:1.72rem;height:1.72rem;border-radius:999px;background:rgba(20,184,166,.1);color:#0f766e}.classroom-page .assignment-task-board-sync__queue-copy{display:grid;gap:.1rem;min-width:0}.classroom-page .assignment-task-board-sync__queue-copy strong{overflow:hidden;color:var(--text-primary);font-size:.8rem;font-weight:880;text-overflow:ellipsis;white-space:nowrap}.classroom-page .assignment-task-board-sync__queue-copy small,.classroom-page .assignment-task-board-sync__queue-item em{overflow:hidden;color:var(--text-muted);font-size:.68rem;font-style:normal;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.classroom-page .assignment-task-board-sync__queue-item em{max-width:5.2rem}.classroom-page .assignment-task-board-sync__open{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;min-height:2.6rem;padding:0}.classroom-page .assignment-task-board-sync__empty{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:2.6rem;padding:.42rem .58rem;color:#1d4ed8;font-weight:840}.classroom-page .assignment-task-board-sync__queue-item.is-late>button:first-child,.classroom-page .assignment-task-board-sync__queue-item.is-urgent>button:first-child{border-color:rgba(245,158,11,.28)}.classroom-page .assignment-task-board-sync__queue-item.is-returned>button:first-child,.classroom-page .assignment-task-board-sync__queue-item.is-review>button:first-child,.classroom-page .assignment-task-board-sync__queue-item.is-todo>button:first-child{border-color:rgba(244,63,94,.22)}.classroom-page .assignment-task-board-sync__empty:focus-visible,.classroom-page .assignment-task-board-sync__empty:hover,.classroom-page .assignment-task-board-sync__queue-item>button:focus-visible,.classroom-page .assignment-task-board-sync__queue-item>button:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.34);color:#0f766e;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .assignment-card.is-task-board-focus{border-color:rgba(37,99,235,.46);box-shadow:0 22px 58px -34px rgba(37,99,235,.92)}.classroom-page .assignment-task-board-island{margin:.54rem 0 .72rem}.classroom-page .assignment-task-board-sync{grid-template-columns:minmax(0,1fr);gap:.58rem;padding:.66rem;border-color:rgba(148,163,184,.24);background:linear-gradient(135deg,hsla(0,0%,100%,.96),rgba(248,250,252,.88)),#fff}.classroom-page .assignment-task-board-sync.is-student{grid-template-columns:minmax(210px,.78fr) minmax(300px,1.2fr) minmax(260px,.98fr)}.classroom-page .assignment-task-board-sync.is-teacher{border-color:rgba(20,184,166,.2);background:linear-gradient(135deg,rgba(240,253,250,.72),hsla(0,0%,100%,.94)),#fff}.classroom-page .assignment-task-board-sync.is-teacher .assignment-task-board-sync__metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.classroom-page .assignment-task-board-sync__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.46rem}.classroom-page .assignment-task-board-sync__metric{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:.5rem;min-height:3.14rem;padding:.5rem .58rem;text-align:left}.classroom-page .assignment-task-board-sync__metric .assignment-task-board-sync__metric-icon{width:1.56rem;height:1.56rem}.classroom-page .assignment-task-board-sync__metric .assignment-task-board-sync__metric-copy{display:grid;gap:.08rem;width:auto;height:auto;min-width:0;border-radius:0;background:transparent;color:inherit}.classroom-page .assignment-task-board-sync__metric em,.classroom-page .assignment-task-board-sync__metric small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-page .assignment-task-board-sync__metric em{color:var(--text-muted);font-size:.66rem;font-style:normal;font-weight:760}.classroom-page .assignment-task-board-sync__metric strong{justify-self:end;font-size:1.2rem}.classroom-page .assignment-task-board-sync__metric.is-success .assignment-task-board-sync__metric-icon{background:rgba(20,184,166,.12);color:#0f766e}.classroom-page .assignment-task-board-sync__metric.is-neutral .assignment-task-board-sync__metric-icon{background:rgba(100,116,139,.12);color:#475569}.classroom-page .assignment-task-board-sync__metric.is-active{border-color:rgba(37,99,235,.38);background:rgba(239,246,255,.9);box-shadow:0 16px 34px -30px rgba(37,99,235,.76)}.classroom-page .assignment-task-board-sync.is-teacher .assignment-task-board-sync__metric.is-active{border-color:rgba(20,184,166,.38);background:rgba(240,253,250,.92)}.classroom-page .assignment-task-board-sync__popover{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.72rem;padding:.62rem .68rem;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:hsla(0,0%,100%,.84)}.classroom-page .assignment-task-board-sync__popover div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .52rem;min-width:0}.classroom-page .assignment-task-board-sync__popover span{color:#0f766e;font-size:.74rem;font-weight:860;white-space:nowrap}.classroom-page .assignment-task-board-sync__popover strong{color:var(--text-primary);font-size:.96rem;font-weight:900;line-height:1.2}.classroom-page .assignment-task-board-sync__popover p{grid-column:1/-1;margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.5}.classroom-page .assignment-task-board-sync__popover button{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:2.08rem;padding:.36rem .58rem;border:1px solid rgba(20,184,166,.24);border-radius:8px;background:#fff;color:#0f766e;font:inherit;font-size:.76rem;font-weight:850;white-space:nowrap;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.classroom-page .assignment-task-board-sync__popover button:focus-visible,.classroom-page .assignment-task-board-sync__popover button:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.42);box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .assignment-board{gap:.78rem;margin-top:.66rem;padding:.86rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:linear-gradient(180deg,rgba(248,250,252,.94),hsla(0,0%,100%,.92)),#fff}.classroom-page .assignment-board__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.78rem;min-width:0;padding-bottom:.68rem;border-bottom:1px solid rgba(148,163,184,.18)}.classroom-page .assignment-board__head div{display:grid;gap:.14rem;min-width:0}.classroom-page .assignment-board__head span{color:#0f766e;font-size:.72rem;font-weight:860;line-height:1}.classroom-page .assignment-board__head strong{color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.2}.classroom-page .assignment-board__head small{max-width:34rem;color:var(--text-muted);font-size:.78rem;line-height:1.55;text-align:right}.classroom-page .assignment-card.is-task-board-filtered{border-color:rgba(20,184,166,.38);box-shadow:0 18px 48px -32px rgba(20,184,166,.78)}.classroom-page .learning-progress-sync.is-teacher{padding:.96rem;border-color:rgba(20,184,166,.22)}@media (max-width:1180px){.classroom-page .assignment-task-board-sync.is-student,.classroom-page .assignment-task-board-sync.is-teacher{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.classroom-page .assignment-task-board-sync.is-teacher .assignment-task-board-sync__metrics,.classroom-page .assignment-task-board-sync__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .assignment-board__head,.classroom-page .assignment-task-board-sync__popover{grid-template-columns:minmax(0,1fr)}.classroom-page .assignment-task-board-sync__popover{align-items:stretch}.classroom-page .assignment-task-board-sync__popover button{width:100%;white-space:normal}.classroom-page .assignment-board__head{display:grid}.classroom-page .assignment-board__head small{max-width:none;text-align:left}}@media (max-width:430px){.classroom-page .assignment-task-board-sync.is-teacher .assignment-task-board-sync__metrics,.classroom-page .assignment-task-board-sync__metrics{grid-template-columns:minmax(0,1fr)}}.classroom-page .assignment-authoring-island{width:100%;min-width:0;margin-bottom:.9rem}.classroom-page .assignment-authoring-sync{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);gap:.68rem;min-width:0;padding:.76rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(248,250,252,.9)}.classroom-page .assignment-authoring-sync__summary{min-width:0}.classroom-page .assignment-authoring-sync__eyebrow{display:inline-flex;align-items:center;gap:.34rem;width:-moz-fit-content;width:fit-content;min-height:1.55rem;padding:.22rem .46rem;border-radius:999px;background:rgba(20,184,166,.1);color:#0f766e;font-size:.72rem;font-weight:840}.classroom-page .assignment-authoring-sync__headline{display:grid;gap:.14rem;min-width:0;margin-top:.42rem}.classroom-page .assignment-authoring-sync__headline strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .assignment-authoring-sync p,.classroom-page .assignment-authoring-sync__headline span{color:var(--text-muted);font-size:.76rem;line-height:1.48}.classroom-page .assignment-authoring-sync p{margin:.28rem 0 0}.classroom-page .assignment-authoring-sync__progress{position:relative;height:.42rem;margin-top:.58rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.86)}.classroom-page .assignment-authoring-sync__progress span{position:absolute;inset:0 auto 0 0;width:var(--progress,0);border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2563eb);transition:width .18s ease}.classroom-page .assignment-authoring-sync__actions,.classroom-page .assignment-authoring-sync__chips{display:flex;flex-wrap:wrap;gap:.42rem;min-width:0}.classroom-page .assignment-authoring-sync__actions button,.classroom-page .assignment-authoring-sync__chips button{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:2.12rem;padding:.4rem .54rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.76rem;font-weight:840;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .assignment-authoring-sync__chips button{flex:1 1 8.4rem;min-width:0}.classroom-page .assignment-authoring-sync__actions{grid-column:1/-1;justify-content:flex-end}.classroom-page .assignment-authoring-sync__actions button:focus-visible:not(:disabled),.classroom-page .assignment-authoring-sync__actions button:hover:not(:disabled),.classroom-page .assignment-authoring-sync__chips button:focus-visible,.classroom-page .assignment-authoring-sync__chips button:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.34);color:#0f766e;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .assignment-authoring-sync__actions button:disabled{cursor:not-allowed;opacity:.55}.classroom-page .exam-assign-island{width:100%;min-width:0;margin-bottom:.9rem}.classroom-page .exam-assign-sync{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:.68rem;min-width:0;padding:.76rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(248,250,252,.92)}.classroom-page .exam-assign-sync__summary{min-width:0}.classroom-page .exam-assign-sync__eyebrow{display:inline-flex;align-items:center;gap:.34rem;width:-moz-fit-content;width:fit-content;min-height:1.55rem;padding:.22rem .46rem;border-radius:999px;background:rgba(245,158,11,.12);color:#b45309;font-size:.72rem;font-weight:840}.classroom-page .exam-assign-sync__headline{display:grid;gap:.14rem;min-width:0;margin-top:.42rem}.classroom-page .exam-assign-sync__headline strong{overflow:hidden;color:var(--text-primary);font-size:1rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .exam-assign-sync p,.classroom-page .exam-assign-sync__headline span{color:var(--text-muted);font-size:.76rem;line-height:1.48}.classroom-page .exam-assign-sync p{margin:.28rem 0 0}.classroom-page .exam-assign-sync__progress{position:relative;height:.42rem;margin-top:.58rem;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.86)}.classroom-page .exam-assign-sync__progress span{position:absolute;inset:0 auto 0 0;width:var(--progress,0);border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#2563eb);transition:width .18s ease}.classroom-page .exam-assign-sync__actions,.classroom-page .exam-assign-sync__chips{display:flex;flex-wrap:wrap;gap:.42rem;min-width:0}.classroom-page .exam-assign-sync__actions button,.classroom-page .exam-assign-sync__chips button{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:2.12rem;padding:.4rem .54rem;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.76rem;font-weight:840;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .exam-assign-sync__chips button{flex:1 1 8.4rem;min-width:0}.classroom-page .exam-assign-sync__actions{grid-column:1/-1;justify-content:flex-end}.classroom-page .exam-assign-sync__actions button:focus-visible:not(:disabled),.classroom-page .exam-assign-sync__actions button:hover:not(:disabled),.classroom-page .exam-assign-sync__chips button:focus-visible,.classroom-page .exam-assign-sync__chips button:hover{transform:translateY(-1px);border-color:rgba(245,158,11,.38);color:#b45309;box-shadow:0 14px 30px -28px rgba(15,23,42,.54);outline:none}.classroom-page .exam-assign-sync__actions button:disabled{cursor:not-allowed;opacity:.55}.classroom-page .classroom-activity-total{flex:0 0 auto;min-width:3.25rem;display:grid;justify-items:center;gap:.08rem;padding:.54rem .62rem;border:1px solid rgba(14,165,233,.2);border-radius:8px;background:rgba(240,249,255,.78);color:#0369a1}.classroom-page.role-teacher .classroom-activity-total{border-color:rgba(20,184,166,.22);background:rgba(240,253,250,.82);color:#0f766e}.classroom-page .classroom-activity-total strong{font-size:1.24rem;line-height:1}.classroom-page .classroom-activity-total small{color:currentColor;font-size:.72rem;opacity:.72}.classroom-page .classroom-activity-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.classroom-page .classroom-activity-tab{--classroom-activity-tab-rgb:13,148,136;--classroom-activity-tab-color:#0f766e;--classroom-activity-tab-bg:rgba(240,253,250,.86);position:relative;overflow:hidden;min-width:0;min-height:2.9rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.34rem;padding:.45rem .48rem;border:1px solid rgba(var(--classroom-activity-tab-rgb),.2);border-radius:8px;background:linear-gradient(135deg,var(--classroom-activity-tab-bg),hsla(0,0%,100%,.94));color:var(--text-secondary);cursor:pointer;text-align:left;box-shadow:0 12px 28px -28px rgba(var(--classroom-activity-tab-rgb),.44);transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.classroom-page .classroom-activity-tab:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:rgb(var(--classroom-activity-tab-rgb));opacity:.78}.classroom-page .classroom-activity-tab[data-classroom-activity-tab=interaction]{--classroom-activity-tab-rgb:13,148,136;--classroom-activity-tab-color:#0f766e;--classroom-activity-tab-bg:rgba(240,253,250,.88)}.classroom-page .classroom-activity-tab[data-classroom-activity-tab=discussion]{--classroom-activity-tab-rgb:79,70,229;--classroom-activity-tab-color:#4338ca;--classroom-activity-tab-bg:rgba(238,242,255,.88)}.classroom-page .classroom-activity-tab[data-classroom-activity-tab=collaboration]{--classroom-activity-tab-rgb:217,119,6;--classroom-activity-tab-color:#b45309;--classroom-activity-tab-bg:rgba(255,251,235,.92)}.classroom-page .classroom-activity-tab[data-classroom-activity-tab=resources]{--classroom-activity-tab-rgb:2,132,199;--classroom-activity-tab-color:#0369a1;--classroom-activity-tab-bg:rgba(240,249,255,.9)}.classroom-page .classroom-activity-tab:focus-visible,.classroom-page .classroom-activity-tab:hover{transform:translateY(-1px);border-color:rgba(var(--classroom-activity-tab-rgb),.36);background:hsla(0,0%,100%,.98);color:var(--classroom-activity-tab-color);outline:none;box-shadow:0 16px 34px -28px rgba(var(--classroom-activity-tab-rgb),.62)}.classroom-page .classroom-activity-tab.is-active{border-color:rgba(var(--classroom-activity-tab-rgb),.44);background:linear-gradient(135deg,rgba(var(--classroom-activity-tab-rgb),.16),hsla(0,0%,100%,.98));color:var(--classroom-activity-tab-color);box-shadow:0 18px 36px -30px rgba(var(--classroom-activity-tab-rgb),.72)}.classroom-page .classroom-activity-tab__icon{width:1.55rem;height:1.55rem;display:none;align-items:center;justify-content:center;border-radius:8px;background:rgba(241,245,249,.9);color:currentColor}.classroom-page .classroom-activity-tab.is-active .classroom-activity-tab__icon{background:rgba(var(--classroom-activity-tab-rgb),.13)}.classroom-page .classroom-activity-tab__icon svg{width:.9rem;height:.9rem}.classroom-page .classroom-activity-tab__copy{min-width:0;display:grid;gap:.12rem}.classroom-page .classroom-activity-tab__copy strong{overflow:hidden;color:var(--classroom-activity-tab-color);font-size:.84rem;font-weight:820;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-activity-tab__copy small{overflow:hidden;color:var(--text-muted);font-size:.75rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.classroom-page .classroom-activity-tab em{min-width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .38rem;border-radius:999px;background:rgb(var(--classroom-activity-tab-rgb));color:#fff;font-size:.73rem;font-style:normal;font-weight:820;line-height:1}.classroom-page .classroom-activity-tab em[data-empty]{background:rgba(var(--classroom-activity-tab-rgb),.16);color:var(--classroom-activity-tab-color)}.classroom-page .classroom-activity-panel,.classroom-page .classroom-activity-panels{min-width:0;min-height:0}.classroom-page .classroom-activity-panel[hidden]{display:none!important}.classroom-page .classroom-activity-panel.is-active{display:block;max-height:calc(100vh - var(--classroom-activity-top) - 124px);min-height:0;overflow:auto;padding-right:.18rem;scrollbar-width:thin}.classroom-page .classroom-activity-panel>.discussion-room,.classroom-page .classroom-activity-panel>.workspace-panel{width:100%;min-width:0;border-radius:8px;box-shadow:none}.classroom-page .classroom-activity-panel>.workspace-panel{padding:1rem;background:hsla(0,0%,100%,.94)}.classroom-page .classroom-activity-panel .section-header{flex-direction:column;align-items:flex-start;gap:.6rem;margin-bottom:.7rem}.classroom-page .classroom-activity-panel .section-heading{width:100%;min-width:0}.classroom-page .classroom-activity-panel .section-title{max-width:100%;font-size:1.05rem;word-break:keep-all}.classroom-page .classroom-activity-panel .section-subtitle{font-size:.83rem}.classroom-page .classroom-activity-panel .header-actions{width:100%;justify-content:flex-start}.classroom-page .classroom-activity-panel .collaboration-detail-summary,.classroom-page .classroom-activity-panel .collaboration-detail-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .classroom-activity-panel .collaboration-workbench,.classroom-page .classroom-activity-panel .interaction-workbench,.classroom-page .classroom-activity-panel .interaction-workbench.is-signal-tab{grid-template-columns:minmax(0,1fr)}.classroom-page .classroom-activity-panel .interaction-feature-tabs{display:flex;gap:.56rem;overflow-x:auto;padding:.4rem;scrollbar-width:none}.classroom-page .classroom-activity-panel .interaction-feature-tabs::-webkit-scrollbar{display:none}.classroom-page .classroom-activity-panel .interaction-feature-tab{min-width:8.4rem}.classroom-page .classroom-activity-panel .resource-panel .upload-dropzone-rich{padding:.82rem}.classroom-page .classroom-activity-panel .resource-panel .upload-dropzone-content{grid-template-columns:minmax(0,1fr);justify-items:start}.classroom-page .classroom-activity-panel .resource-file-card{flex-direction:column;align-items:stretch}.classroom-page .classroom-activity-panel .resource-file-title-row{align-items:flex-start;flex-direction:column}.classroom-page .classroom-activity-panel .discussion-room{min-height:min(650px,calc(100vh - var(--classroom-activity-top) - 210px));background:hsla(0,0%,100%,.96)}.classroom-page .classroom-activity-panel .discussion-room.is-sticky-active{height:auto}.classroom-page .classroom-activity-panel .discussion-room.is-sticky-active .discussion-room-composer{position:relative;bottom:auto}.classroom-page .classroom-activity-panel .discussion-room-header{padding:.95rem}.classroom-page .classroom-activity-panel .discussion-room-summary-card{gap:.74rem}.classroom-page .classroom-activity-panel .discussion-room-summary-meta,.classroom-page .classroom-activity-panel .discussion-room-summary-top{align-items:flex-start;flex-direction:column}.classroom-page .classroom-activity-panel .discussion-room-alias-card,.classroom-page .classroom-activity-panel .discussion-room-status{width:100%}.classroom-page .classroom-activity-panel .discussion-room-body{min-height:210px;padding:.78rem}.classroom-page .classroom-activity-panel .discussion-room-composer{padding:.78rem}@media (max-width:1180px){.classroom-page .workspace-columns{grid-template-columns:minmax(0,1fr)}.classroom-page #workspace-content,.classroom-page .classroom-activity-sidebar{width:100%;min-width:0}.classroom-page .classroom-activity-sidebar{position:static;top:auto}.classroom-page .classroom-activity-dock,.classroom-page .classroom-activity-panel.is-active{max-height:none}.classroom-page .classroom-activity-panel .discussion-room{min-height:560px}.classroom-page .assignment-authoring-sync,.classroom-page .assignment-task-board-sync,.classroom-page .exam-assign-sync,.classroom-page .learning-progress-sync,.classroom-page .material-learning-path-sync,.classroom-page .resource-workspace-sync{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.classroom-page .classroom-activity-sidebar{scroll-margin-top:190px}.classroom-page .classroom-activity-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.34rem}.classroom-page .classroom-activity-tab{grid-template-columns:minmax(0,1fr) auto;min-height:2.7rem;padding:.42rem .44rem}.classroom-page .learning-progress-sync__actions,.classroom-page .material-learning-path-sync__actions,.classroom-page .resource-workspace-sync__actions{justify-content:stretch}.classroom-page .learning-progress-sync__actions button,.classroom-page .material-learning-path-sync__actions button,.classroom-page .resource-workspace-sync__actions button{flex:1 1 7.2rem}.classroom-page .assignment-task-board-sync__metrics,.classroom-page .learning-progress-sync__metrics,.classroom-page .material-learning-path-sync__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.classroom-page .assignment-authoring-sync__actions,.classroom-page .exam-assign-sync__actions{justify-content:stretch}.classroom-page .assignment-authoring-sync__actions button,.classroom-page .assignment-authoring-sync__chips button,.classroom-page .exam-assign-sync__actions button,.classroom-page .exam-assign-sync__chips button{flex:1 1 7.2rem}.classroom-page .classroom-activity-tab__copy strong{font-size:.8rem}.classroom-page .classroom-activity-panel>.workspace-panel{padding:.86rem}.classroom-page .classroom-activity-panel .collaboration-detail-summary,.classroom-page .classroom-activity-panel .collaboration-detail-tabs{grid-template-columns:minmax(0,1fr)}}@media (max-width:430px){.classroom-page .classroom-activity-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.classroom-page .classroom-activity-tab{gap:.24rem;padding-inline:.36rem}.classroom-page .assignment-task-board-sync,.classroom-page .learning-progress-sync,.classroom-page .material-learning-path-sync,.classroom-page .resource-workspace-sync{padding:.86rem}.classroom-page .assignment-task-board-sync__metrics,.classroom-page .learning-progress-sync__metrics,.classroom-page .material-learning-path-sync__metrics,.classroom-page .resource-workspace-sync__metrics{grid-template-columns:minmax(0,1fr)}.classroom-page .learning-progress-sync__stages{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-page .assignment-authoring-sync,.classroom-page .exam-assign-sync{padding:.56rem}.classroom-page .classroom-activity-tab em{min-width:1.35rem;height:1.35rem;padding:0 .28rem}}.teaching-session-modal-backdrop{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.42);backdrop-filter:blur(10px)}.teaching-session-modal-backdrop[hidden]{display:none}body.has-teaching-session-modal{overflow:hidden}.teaching-session-modal{width:min(920px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:hsla(0,0%,100%,.98);box-shadow:0 28px 80px rgba(15,23,42,.28)}.teaching-session-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid rgba(226,232,240,.72)}.teaching-session-modal-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:4px 9px;border-radius:999px;background:rgba(244,63,94,.1);color:#be123c;font-size:.76rem;font-weight:800}.teaching-session-modal-head h3{margin:10px 0 0;color:#111827;font-size:1.25rem;font-weight:850;letter-spacing:0}.teaching-session-modal-head p{margin:8px 0 0;color:#64748b;font-size:.9rem;line-height:1.6}.teaching-session-modal-close{width:40px;height:40px;border:1px solid rgba(148,163,184,.28);border-radius:999px;color:#475569;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease,transform .18s ease}.teaching-session-modal-close:hover{color:#be123c;background:rgba(244,63,94,.08);transform:translateY(-1px)}.teaching-session-modal-body{min-height:0;overflow:auto;padding:20px 24px 24px}.teaching-session-modal-summary{display:grid;gap:8px;padding:14px 16px;border:1px solid rgba(226,232,240,.9);border-radius:14px;background:rgba(248,250,252,.86)}.teaching-session-modal-summary p{margin:0;color:#334155;line-height:1.7;font-size:.92rem}.teaching-session-modal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.teaching-session-action{min-height:76px;display:grid;gap:5px;align-content:center;justify-items:start;padding:14px 16px;border:1px solid rgba(148,163,184,.26);border-radius:14px;color:#0f172a;background:#fff;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.teaching-session-action:hover:not(:disabled){border-color:rgba(14,165,233,.36);box-shadow:0 12px 28px rgba(14,165,233,.12);transform:translateY(-1px)}.teaching-session-action:disabled{cursor:not-allowed;opacity:.52}.teaching-session-action span{font-size:.98rem;font-weight:850}.teaching-session-action small{color:#64748b;font-size:.78rem}.teaching-session-action.is-accent{border-color:rgba(244,63,94,.24);background:rgba(255,241,242,.78)}.teaching-session-checkin-panel{margin-top:18px;padding:16px;border:1px solid rgba(244,63,94,.18);border-radius:16px;background:rgba(255,241,242,.48)}.teaching-session-checkin-panel[hidden]{display:none}.teaching-session-checkin-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.teaching-session-checkin-head h4{margin:0;color:#111827;font-size:1rem;font-weight:850}.teaching-session-checkin-head p{margin:6px 0 0;color:#64748b;font-size:.84rem;line-height:1.55}.teaching-session-checkin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.teaching-session-checkin-stats article{padding:12px;border:1px solid rgba(226,232,240,.9);border-radius:12px;background:hsla(0,0%,100%,.92)}.teaching-session-checkin-stats span,.teaching-session-checkin-stats strong{display:block}.teaching-session-checkin-stats strong{color:#111827;font-size:1.18rem;font-weight:850}.teaching-session-checkin-stats span{margin-top:4px;color:#64748b;font-size:.78rem;font-weight:700}.teaching-session-checkin-table-wrap{max-height:320px;overflow:auto;border:1px solid rgba(226,232,240,.88);border-radius:12px;background:#fff}.teaching-session-checkin-table{width:100%;border-collapse:collapse;font-size:.86rem}.teaching-session-checkin-table td,.teaching-session-checkin-table th{padding:10px 12px;border-bottom:1px solid rgba(226,232,240,.76);text-align:left;white-space:nowrap}.teaching-session-checkin-table th{position:sticky;top:0;z-index:1;color:#475569;background:#f8fafc;font-weight:850}.teaching-session-checkin-table td.is-empty{text-align:center;color:#94a3b8;white-space:normal}.checkin-status{display:inline-flex;padding:3px 8px;border-radius:999px;background:rgba(148,163,184,.12);color:#475569;font-size:.76rem;font-weight:800}.checkin-status.is-checked{background:rgba(16,185,129,.12);color:#047857}.checkin-status.is-unchecked{background:rgba(244,63,94,.12);color:#be123c}.checkin-status.is-late_or_early,.checkin-status.is-personal_leave,.checkin-status.is-sick_leave{background:rgba(245,158,11,.14);color:#b45309}@media (max-width:760px){.teaching-session-modal-backdrop{padding:12px;place-items:stretch}.teaching-session-modal{max-height:calc(100vh - 24px)}.teaching-session-checkin-stats,.teaching-session-modal-actions{grid-template-columns:1fr}.teaching-session-checkin-head{flex-direction:column}}.smart-attendance-section{display:grid;gap:16px}.classroom-page .course-popover-card{width:min(1120px,calc(100vw - 32px));max-width:1120px}.smart-attendance-chart-head,.smart-attendance-head,.smart-attendance-table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.smart-attendance-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.smart-attendance-export-group{display:inline-flex;overflow:hidden;min-height:32px;border:1px solid rgba(14,165,233,.22);border-radius:8px;background:rgba(248,250,252,.9)}.smart-attendance-export-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:72px;border:0;border-left:1px solid rgba(14,165,233,.16);background:transparent;color:#0369a1;font:inherit;font-size:.78rem;font-weight:850;line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.smart-attendance-export-btn:first-child{border-left:0}.smart-attendance-export-btn svg{width:15px;height:15px}.smart-attendance-export-btn:focus-visible,.smart-attendance-export-btn:hover{background:rgba(14,165,233,.12);color:#075985}.smart-attendance-export-btn:disabled{cursor:not-allowed;opacity:.46}.smart-attendance-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:4px 9px;border-radius:999px;background:rgba(14,165,233,.1);color:#0369a1;font-size:.72rem;font-weight:850;letter-spacing:0}.smart-attendance-chart-head strong,.smart-attendance-head h4,.smart-attendance-table-head strong{margin:4px 0 0;color:#0f172a}.smart-attendance-chart-head span,.smart-attendance-message,.smart-attendance-table-head span{margin:0;color:#64748b;font-size:.86rem}.smart-attendance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.smart-attendance-chart-card,.smart-attendance-insight,.smart-attendance-metric{border:1px solid rgba(148,163,184,.22);border-radius:8px;background:hsla(0,0%,100%,.86);box-shadow:0 16px 36px -28px rgba(15,23,42,.45)}.smart-attendance-metric{display:grid;gap:4px;padding:12px}.smart-attendance-metric.is-actionable{position:relative;cursor:pointer;outline:0}.smart-attendance-metric.is-actionable:focus-visible,.smart-attendance-metric.is-actionable:hover{transform:translateY(-1px);border-color:rgba(14,165,233,.34);box-shadow:0 18px 42px -28px rgba(2,132,199,.7)}.smart-attendance-metric-action{position:absolute;top:10px;right:12px;color:#0369a1;font-size:.72rem;font-weight:850}.smart-attendance-metric small,.smart-attendance-metric span{color:#64748b;font-size:.78rem;font-weight:700}.smart-attendance-metric strong{color:#0f172a;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1}.smart-attendance-metric.is-success{border-color:rgba(16,185,129,.25);background:linear-gradient(135deg,rgba(236,253,245,.96),hsla(0,0%,100%,.9))}.smart-attendance-metric.is-warning{border-color:rgba(245,158,11,.26);background:linear-gradient(135deg,rgba(255,251,235,.96),hsla(0,0%,100%,.9))}.smart-attendance-metric.is-danger{border-color:rgba(244,63,94,.24);background:linear-gradient(135deg,rgba(255,241,242,.96),hsla(0,0%,100%,.9))}.smart-attendance-visual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.smart-attendance-chart-card{display:grid;gap:10px;min-width:0;padding:14px}.smart-attendance-course-chart,.smart-attendance-week-chart{display:grid;gap:8px}.smart-attendance-bar-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(120px,2fr) minmax(76px,auto);align-items:center;gap:10px;min-width:0;color:#334155;font-size:.82rem}.smart-attendance-bar-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-attendance-bar-row strong{color:#0f172a;font-size:.78rem;text-align:right;white-space:nowrap}.smart-attendance-bar{height:9px;overflow:hidden;border-radius:999px;background:rgba(226,232,240,.9)}.smart-attendance-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#06b6d4,#10b981)}.smart-attendance-bar-row.is-more .smart-attendance-bar i{background:linear-gradient(90deg,#0ea5e9,#22c55e)}.smart-attendance-bar-row.is-more strong{color:#047857}.smart-attendance-bar-row.is-less .smart-attendance-bar i{background:linear-gradient(90deg,#f97316,#e11d48)}.smart-attendance-bar-row.is-less strong{color:#be123c}.smart-attendance-bar-row.is-current .smart-attendance-bar i,.smart-attendance-bar-row.is-even .smart-attendance-bar i{background:linear-gradient(90deg,#64748b,#14b8a6)}.smart-attendance-line-chart{display:grid;gap:8px;min-height:232px}.smart-attendance-line-chart svg{width:100%;height:220px;overflow:visible}.smart-attendance-line-grid line{stroke:rgba(148,163,184,.28);stroke-dasharray:5 7}.smart-attendance-line-grid text,.smart-attendance-line-label,.smart-attendance-line-point text{fill:#64748b;font-size:11px;font-weight:750}.smart-attendance-line-area{fill:rgba(14,165,233,.08)}.smart-attendance-line-path{fill:none;stroke:#0ea5e9;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.smart-attendance-line-point circle{fill:#fff;stroke:#10b981;stroke-width:3}.smart-attendance-line-point text{fill:#0f172a;font-size:10px;text-anchor:middle}.smart-attendance-line-caption{display:flex;flex-wrap:wrap;gap:6px;max-height:46px;overflow:auto}.smart-attendance-line-caption span{display:inline-flex;padding:3px 7px;border-radius:999px;background:rgba(241,245,249,.86);color:#475569;font-size:.72rem;font-weight:760}.smart-attendance-session-view{display:grid;gap:10px}.smart-attendance-session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}.smart-attendance-session-item{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"marker label" "marker time" "marker status";align-items:center;gap:2px 8px;min-width:0;min-height:76px;padding:10px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:rgba(248,250,252,.78)}.smart-attendance-session-marker{grid-area:marker;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:rgba(148,163,184,.14);color:#475569;font-size:1.05rem;font-weight:900}.smart-attendance-session-item strong{grid-area:label;min-width:0;overflow:hidden;color:#0f172a;font-size:.82rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.smart-attendance-session-item small{grid-area:time;min-width:0;overflow:hidden;color:#64748b;font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.smart-attendance-session-item em{grid-area:status;color:#475569;font-size:.72rem;font-style:normal;font-weight:850}.smart-attendance-session-item.is-checked{border-color:rgba(16,185,129,.24);background:rgba(236,253,245,.74)}.smart-attendance-session-item.is-checked .smart-attendance-session-marker{background:rgba(16,185,129,.14);color:#047857}.smart-attendance-session-item.is-absent{border-color:rgba(244,63,94,.26);background:rgba(255,241,242,.78)}.smart-attendance-session-item.is-absent .smart-attendance-session-marker{background:rgba(244,63,94,.14);color:#be123c}.smart-attendance-session-item.is-leave{border-color:rgba(14,165,233,.24);background:rgba(240,249,255,.78)}.smart-attendance-session-item.is-leave .smart-attendance-session-marker{background:rgba(14,165,233,.14);color:#0369a1}.smart-attendance-session-item.is-late{border-color:rgba(245,158,11,.3);background:rgba(255,251,235,.82)}.smart-attendance-session-item.is-late .smart-attendance-session-marker{background:rgba(245,158,11,.16);color:#b45309}.smart-attendance-session-legend{display:flex;flex-wrap:wrap;gap:6px}.smart-attendance-session-legend-item{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:rgba(241,245,249,.86);color:#475569;font-size:.72rem;font-weight:800}.smart-attendance-session-legend-item i{font-style:normal;font-weight:900}.smart-attendance-detail-popover{position:sticky;top:0;z-index:5;display:grid;gap:12px;padding:14px;border:1px solid rgba(14,165,233,.24);border-radius:8px;background:hsla(0,0%,100%,.98);box-shadow:0 22px 60px -34px rgba(15,23,42,.62)}.smart-attendance-detail-popover[hidden]{display:none}.smart-attendance-detail-grid,.smart-attendance-detail-head{display:flex;gap:12px}.smart-attendance-detail-head{align-items:center;justify-content:space-between}.smart-attendance-detail-head div{display:grid;gap:2px}.smart-attendance-detail-grid h5,.smart-attendance-detail-head span{margin:0;color:#64748b;font-size:.78rem;font-weight:850}.smart-attendance-detail-head strong{color:#0f172a;font-size:1.25rem}.smart-attendance-detail-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:999px;background:rgba(226,232,240,.75);color:#475569;font-size:1.1rem;cursor:pointer}.smart-attendance-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.smart-attendance-detail-stat{display:grid;gap:4px;padding:10px;border-radius:8px;background:rgba(248,250,252,.9)}.smart-attendance-detail-stat span{color:#64748b;font-size:.72rem;font-weight:850}.smart-attendance-detail-stat strong{color:#0f172a;font-size:1.1rem}.smart-attendance-detail-stat.is-danger strong{color:#be123c}.smart-attendance-detail-stat.is-warning strong{color:#b45309}.smart-attendance-detail-stat.is-watch strong{color:#0369a1}.smart-attendance-detail-grid{align-items:stretch}.smart-attendance-detail-grid section{flex:1 1 0;min-width:0;padding:10px;border:1px solid rgba(226,232,240,.86);border-radius:8px;background:rgba(248,250,252,.56)}.smart-attendance-detail-grid ul{display:grid;gap:8px;max-height:220px;margin:8px 0 0;padding:0;overflow:auto;list-style:none}.smart-attendance-detail-grid li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:8px 0;border-bottom:1px solid rgba(226,232,240,.78)}.smart-attendance-detail-grid li:last-child{border-bottom:0}.smart-attendance-detail-grid li span{min-width:0;overflow:hidden;color:#0f172a;font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.smart-attendance-detail-grid li strong{color:#be123c;font-size:.82rem;white-space:nowrap}.smart-attendance-detail-grid li strong.is-warning{color:#b45309}.smart-attendance-detail-grid li strong.is-watch{color:#0369a1}.smart-attendance-detail-grid li strong.is-danger{color:#be123c}.smart-attendance-detail-grid li small{grid-column:1/-1;color:#64748b;font-size:.76rem}.smart-attendance-detail-grid li.is-empty{display:block;color:#94a3b8}.smart-attendance-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.smart-attendance-insight{display:grid;gap:4px;padding:12px}.smart-attendance-insight strong{color:#0f172a}.smart-attendance-insight span{color:#475569;font-size:.86rem;line-height:1.65}.smart-attendance-insight.is-success{border-color:rgba(16,185,129,.24)}.smart-attendance-insight.is-warning{border-color:rgba(245,158,11,.28)}.smart-attendance-insight.is-danger{border-color:rgba(244,63,94,.26)}.smart-attendance-table-wrap{display:grid;gap:10px;overflow-x:auto}.smart-attendance-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:hsla(0,0%,100%,.92)}.smart-attendance-table td,.smart-attendance-table th{padding:10px 12px;border-bottom:1px solid rgba(226,232,240,.9);color:#334155;font-size:.84rem;text-align:left;white-space:nowrap}.smart-attendance-table th{background:rgba(248,250,252,.96);color:#475569;font-weight:850}.smart-attendance-table tr:last-child td{border-bottom:0}.smart-attendance-empty,.smart-attendance-table .is-empty{color:#94a3b8;text-align:center}.smart-attendance-empty{padding:20px;border-radius:8px;background:rgba(248,250,252,.75)}.smart-attendance-risk{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:.74rem;font-weight:850}.smart-attendance-risk.is-success{color:#047857;background:rgba(16,185,129,.12)}.smart-attendance-risk.is-warning,.smart-attendance-risk.is-watch{color:#b45309;background:rgba(245,158,11,.14)}.smart-attendance-risk.is-danger{color:#be123c;background:rgba(244,63,94,.12)}.smart-attendance-risk.is-neutral{color:#475569;background:rgba(148,163,184,.14)}@media (max-width:980px){.smart-attendance-insights,.smart-attendance-metrics,.smart-attendance-visual-grid{grid-template-columns:1fr}.smart-attendance-chart-head,.smart-attendance-head,.smart-attendance-table-head{flex-direction:column}.smart-attendance-actions{width:100%;justify-content:flex-start}.smart-attendance-export-group{flex:1 1 210px}.smart-attendance-export-btn{flex:1 1 0;min-height:36px}.smart-attendance-detail-grid,.smart-attendance-detail-stats{grid-template-columns:1fr}.smart-attendance-detail-grid{flex-direction:column}}.dashboard-offering-card[data-offering-card]{cursor:pointer}.dashboard-offering-card[data-offering-card]:active{transform:translateY(0)}.back-to-top{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));z-index:1100;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid rgba(148,163,184,.32);border-radius:50%;color:var(--primary-color,#2563eb);background:hsla(0,0%,100%,.92);backdrop-filter:saturate(1.4) blur(8px);box-shadow:0 8px 22px rgba(15,23,42,.16);cursor:pointer;opacity:0;transform:translateY(10px) scale(.92);transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease,background-color .22s ease}.back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1)}.back-to-top:hover{background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.22);transform:translateY(-2px) scale(1.04)}.back-to-top:focus-visible{outline:2px solid var(--primary-color,#2563eb);outline-offset:3px}@media (max-width:640px){.back-to-top{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity .01ms linear}.back-to-top,.back-to-top.is-visible,.back-to-top:hover{transform:none}}.dashboard-main__rail .dashboard-panel__header{margin-bottom:12px}.dashboard-main__rail .dashboard-panel__header h2{font-size:1.04rem;font-weight:700;letter-spacing:.01em}.dashboard-main__rail .dashboard-panel__header p{font-size:.84rem;line-height:1.6;color:var(--text-muted,var(--text-secondary))}.student-cockpit{margin-bottom:4px}.dashboard-agenda{display:flex;flex-direction:column;gap:16px}.dashboard-agenda__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--dashboard-border);border-radius:var(--dashboard-radius-panel,18px);background:hsla(0,0%,100%,.7)}.dashboard-agenda__summary{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-agenda__summary strong{color:var(--dashboard-ink);font-size:1.04rem;font-weight:750}.dashboard-agenda__summary span{color:var(--text-secondary);font-size:.84rem}.dashboard-agenda__today-btn{flex:0 0 auto;padding:8px 16px;border:1px solid rgba(var(--dashboard-accent-rgb,37,99,235),.32);border-radius:999px;background:rgba(var(--dashboard-accent-rgb,37,99,235),.08);color:var(--dashboard-accent,#2563eb);font-weight:700;font-size:.86rem;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.dashboard-agenda__today-btn:hover{background:rgba(var(--dashboard-accent-rgb,37,99,235),.16)}.dashboard-agenda__today-btn:active{transform:scale(.97)}.dashboard-agenda__track{position:relative}.dashboard-agenda__track:before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:2px;border-radius:2px;background:rgba(148,163,184,.32)}.dashboard-agenda__past{margin-bottom:14px}.dashboard-agenda__past-toggle{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-left:30px;margin-bottom:12px;padding:7px 14px;border:1px dashed rgba(148,163,184,.5);border-radius:999px;background:var(--dashboard-paper,#fff);color:var(--text-secondary);font-size:.84rem;font-weight:650;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.dashboard-agenda__past-toggle:before{content:"\25BE";transition:transform var(--transition-fast)}.dashboard-agenda__past.is-open .dashboard-agenda__past-toggle:before{transform:rotate(180deg)}.dashboard-agenda__past-toggle:hover{border-color:var(--dashboard-accent,#2563eb);color:var(--dashboard-accent,#2563eb)}.dashboard-agenda__past-body{display:flex;flex-direction:column;gap:18px;margin-bottom:18px}.dashboard-agenda__divider{position:relative;display:flex;align-items:center;gap:10px;padding-left:30px;margin:4px 0 18px;color:var(--dashboard-accent,#2563eb);font-weight:700;font-size:.9rem}.dashboard-agenda__divider-dot{position:absolute;left:2px;width:16px;height:16px;border-radius:50%;background:var(--dashboard-accent,#2563eb);border:3px solid var(--dashboard-paper,#fff);box-shadow:0 0 0 4px rgba(var(--dashboard-accent-rgb,37,99,235),.16)}.dashboard-agenda-day{position:relative;padding-left:30px}.dashboard-agenda-day+.dashboard-agenda-day{margin-top:18px}.dashboard-agenda-day__marker{position:absolute;left:2px;top:5px;width:16px;height:16px;border-radius:50%;background:#cbd5e1;border:3px solid var(--dashboard-paper,#fff)}.dashboard-agenda-day.is-current .dashboard-agenda-day__marker{background:var(--dashboard-accent,#2563eb);box-shadow:0 0 0 4px rgba(var(--dashboard-accent-rgb,37,99,235),.18)}.dashboard-agenda-day.is-future .dashboard-agenda-day__marker{background:var(--dashboard-paper,#fff);border-color:var(--dashboard-accent,#2563eb);box-shadow:inset 0 0 0 2px var(--dashboard-paper,#fff)}.dashboard-agenda-day__header{margin-bottom:10px}.dashboard-agenda-day__header h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 2px;font-size:1.02rem;font-weight:750;color:var(--dashboard-ink)}.dashboard-agenda-day__rel{display:inline-flex;align-items:center;padding:1px 10px;border-radius:999px;font-size:.76rem;font-weight:700;background:rgba(148,163,184,.16);color:var(--text-secondary)}.dashboard-agenda-day__rel.is-current{background:rgba(var(--dashboard-accent-rgb,37,99,235),.14);color:var(--dashboard-accent,#2563eb)}.dashboard-agenda-day__rel.is-future{background:rgba(var(--dashboard-warm-rgb,234,88,12),.12);color:#b45309}.dashboard-agenda-day__header p{margin:0;color:var(--text-muted,var(--text-secondary));font-size:.8rem}.dashboard-agenda-day.is-past .dashboard-agenda-day__header h3{color:var(--text-secondary);font-weight:650}.dashboard-agenda-day__sessions{display:flex;flex-direction:column;gap:8px}.dashboard-agenda-session{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 14px;border:1px solid var(--dashboard-border);border-radius:14px;background:linear-gradient(180deg,hsla(0,0%,100%,.96),rgba(248,250,252,.9)),var(--dashboard-paper,#fff);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.dashboard-agenda-session:hover{transform:translateY(-1px);border-color:var(--dashboard-border-strong,rgba(37,99,235,.4));box-shadow:var(--dashboard-shadow-lift,0 10px 24px rgba(15,23,42,.1))}.dashboard-agenda-session__time{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:4px 8px;border-radius:9px;background:rgba(148,163,184,.14);color:var(--dashboard-ink);font-weight:750;font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-agenda-session__body{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-agenda-session__body strong{color:var(--dashboard-ink);font-size:.96rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-agenda-session__meta{color:var(--text-secondary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-agenda-session__go{flex:0 0 auto;padding:4px 12px;border-radius:999px;background:rgba(var(--dashboard-accent-rgb,37,99,235),.1);color:var(--dashboard-accent,#2563eb);font-size:.78rem;font-weight:700;opacity:0;transform:translateX(-4px);transition:opacity var(--transition-fast),transform var(--transition-fast)}.dashboard-agenda-session:focus-visible .dashboard-agenda-session__go,.dashboard-agenda-session:hover .dashboard-agenda-session__go{opacity:1;transform:translateX(0)}.dashboard-agenda-session.is-current{border-color:rgba(var(--dashboard-accent-rgb,37,99,235),.45);box-shadow:inset 3px 0 0 var(--dashboard-accent,#2563eb)}.dashboard-agenda-session.is-completed{opacity:.72}.dashboard-agenda-session.is-completed .dashboard-agenda-session__time{background:rgba(148,163,184,.1);color:var(--text-secondary)}.dashboard-agenda__divider.is-pinged .dashboard-agenda__divider-dot,[data-timeline-today].is-pinged .dashboard-agenda-day__marker{animation:agendaPing 1.2s ease}@keyframes agendaPing{0%,to{box-shadow:0 0 0 4px rgba(var(--dashboard-accent-rgb,37,99,235),.18)}40%{box-shadow:0 0 0 9px rgba(var(--dashboard-accent-rgb,37,99,235),.28)}}@media (max-width:640px){.dashboard-agenda-session{grid-template-columns:auto minmax(0,1fr)}.dashboard-agenda-session__go{display:none}}@media (prefers-reduced-motion:reduce){.dashboard-agenda-session,.dashboard-agenda-session__go,.dashboard-agenda__today-btn{transition:none}.dashboard-agenda__divider.is-pinged .dashboard-agenda__divider-dot,[data-timeline-today].is-pinged .dashboard-agenda-day__marker{animation:none}}.dashboard-agenda__past-body[hidden]{display:none}.dashboard-agenda-session__titlerow{display:flex;align-items:center;gap:8px;min-width:0}.dashboard-agenda-session__titlerow strong{min-width:0}.dashboard-agenda-session__kind{flex:0 0 auto;display:inline-flex;align-items:center;padding:1px 8px;border-radius:6px;font-size:.72rem;font-weight:750;letter-spacing:.02em;background:rgba(148,163,184,.18);color:#475569}.dashboard-agenda-session__kind.kind-invigilation{background:rgba(245,158,11,.16);color:#b45309}.dashboard-agenda-session__kind.kind-exam{background:rgba(239,68,68,.14);color:#dc2626}.dashboard-agenda-session__kind.kind-assignment{background:rgba(139,92,246,.16);color:#7c3aed}.dashboard-agenda-session__kind.kind-todo{background:rgba(14,165,233,.16);color:#0284c7}.dashboard-agenda-session__kind.kind-class{background:rgba(var(--dashboard-accent-rgb,37,99,235),.12);color:var(--dashboard-accent,#2563eb)}.dashboard-agenda-session.is-completed .dashboard-agenda-session__kind{filter:grayscale(.3)}.classroom-page .resource-workspace-sync__metric{grid-template-columns:auto minmax(0,1fr)}.classroom-page .resource-workspace-sync__metric small{overflow:visible}.classroom-page .interaction-side-card:has(.interaction-signal-grid){border-color:rgba(13,148,136,.32);background:linear-gradient(180deg,rgba(240,253,250,.7),hsla(0,0%,100%,.96));box-shadow:inset 3px 0 0 rgba(13,148,136,.55)}.classroom-page .interaction-side-card:has(.interaction-signal-grid) .interaction-side-head strong{color:#0f766e}.agenda-reminder{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0;padding:18px;border-radius:var(--dashboard-radius-panel,18px);background:linear-gradient(145deg,rgba(17,24,39,.97),rgba(31,41,55,.94)),linear-gradient(45deg,rgba(15,118,110,.24),rgba(180,83,9,.16));color:#e5e7eb;box-shadow:0 22px 44px -34px rgba(15,23,42,.62)}.agenda-reminder--cockpit{grid-area:primary;min-height:276px}.agenda-reminder--spotlight{max-height:320px}.agenda-reminder__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.agenda-reminder__heading{display:flex;flex-direction:column;gap:3px;min-width:0}.agenda-reminder__eyebrow{font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:rgba(148,163,184,.92)}.agenda-reminder__lead{font-size:1.04rem;font-weight:750;color:#f8fafc}.agenda-reminder__bell{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;color:#fbbf24;background:rgba(251,191,36,.14)}.agenda-reminder__list{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;margin:0 -6px -2px 0;padding:2px 6px 2px 0;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.5) transparent}.agenda-reminder__list::-webkit-scrollbar{width:7px}.agenda-reminder__list::-webkit-scrollbar-thumb{background:rgba(148,163,184,.4);border-radius:999px}.agenda-reminder__list::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.6)}.agenda-reminder__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:10px 12px;border:1px solid rgba(148,163,184,.14);border-radius:13px;background:hsla(0,0%,100%,.05);color:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.agenda-reminder__item.is-active,.agenda-reminder__item:hover{transform:translateX(2px);background:hsla(0,0%,100%,.1);border-color:rgba(148,163,184,.34)}.agenda-reminder__item.is-next{border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.08)}.agenda-reminder__item:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.agenda-reminder__kind{flex:0 0 auto;display:inline-flex;align-items:center;padding:2px 9px;border-radius:7px;font-size:.72rem;font-weight:800;letter-spacing:.02em;background:rgba(148,163,184,.22);color:#cbd5e1}.agenda-reminder__body{display:flex;flex-direction:column;gap:1px;min-width:0}.agenda-reminder__body strong{font-size:.92rem;font-weight:650;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-reminder__body small{font-size:.76rem;color:rgba(148,163,184,.92);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-reminder__when{flex:0 0 auto;font-size:.76rem;font-weight:700;color:rgba(203,213,225,.9);white-space:nowrap}.agenda-reminder__when.is-now{color:#fca5a5}.agenda-reminder__empty{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 4px}.agenda-reminder__empty strong{font-size:.98rem;color:#f1f5f9}.agenda-reminder__empty p{margin:0;font-size:.82rem;line-height:1.6;color:rgba(148,163,184,.92)}.agenda-reminder__item.kind-invigilation .agenda-reminder__kind{background:rgba(245,158,11,.18);color:#fbbf24}.agenda-reminder__item.kind-exam .agenda-reminder__kind{background:hsla(0,91%,71%,.2);color:#fca5a5}.agenda-reminder__item.kind-assignment .agenda-reminder__kind{background:rgba(167,139,250,.2);color:#c4b5fd}.agenda-reminder__item.kind-todo .agenda-reminder__kind{background:rgba(56,189,248,.18);color:#7dd3fc}.agenda-reminder__item.kind-class .agenda-reminder__kind{background:rgba(45,212,191,.18);color:#5eead4}.agenda-popover{position:fixed;z-index:5300;width:min(320px,calc(100vw - 24px));padding:16px 16px 14px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#fff;box-shadow:0 24px 60px -24px rgba(15,23,42,.45);opacity:0;transform:translateY(6px) scale(.97);transition:opacity .16s ease,transform .16s ease}.agenda-popover.is-open{opacity:1;transform:translateY(0) scale(1)}.agenda-popover__close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:8px;background:rgba(148,163,184,.14);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast)}.agenda-popover__close:hover{background:rgba(148,163,184,.26)}.agenda-popover__kind{display:inline-flex;align-items:center;padding:2px 10px;border-radius:7px;font-size:.74rem;font-weight:800;background:rgba(148,163,184,.2);color:#475569}.agenda-popover__kind.kind-invigilation{background:rgba(245,158,11,.16);color:#b45309}.agenda-popover__kind.kind-exam{background:rgba(239,68,68,.14);color:#dc2626}.agenda-popover__kind.kind-assignment{background:rgba(139,92,246,.16);color:#7c3aed}.agenda-popover__kind.kind-todo{background:rgba(14,165,233,.16);color:#0284c7}.agenda-popover__kind.kind-class{background:rgba(13,148,136,.16);color:#0f766e}.agenda-popover__title{display:block;margin:10px 0 4px;padding-right:24px;font-size:1.04rem;font-weight:750;line-height:1.35;color:var(--text-primary,#0f172a)}.agenda-popover__subtitle{margin:0 0 10px;font-size:.86rem;line-height:1.55;color:var(--text-secondary)}.agenda-popover__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.agenda-popover__when{font-size:.82rem;font-weight:600;color:var(--text-primary,#0f172a)}.agenda-popover__relative{padding:1px 9px;border-radius:999px;font-size:.74rem;background:rgba(37,99,235,.1);color:#2563eb}.agenda-popover__go,.agenda-popover__relative{display:inline-flex;align-items:center;font-weight:700}.agenda-popover__go{justify-content:center;width:100%;padding:9px 14px;border-radius:11px;background:var(--primary-color,#2563eb);color:#fff;font-size:.9rem;text-decoration:none;transition:filter var(--transition-fast),transform var(--transition-fast)}.agenda-popover__go:hover{filter:brightness(1.06)}.agenda-popover__go:active{transform:scale(.98)}.agenda-popover__go.is-disabled{opacity:.5;pointer-events:none}@media (prefers-reduced-motion:reduce){.agenda-popover,.agenda-popover__go,.agenda-reminder__item{transition:none}.agenda-reminder__item.is-active,.agenda-reminder__item:hover{transform:none}}.agenda-reminder__bell--sync{position:relative;cursor:pointer;border:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.agenda-reminder__bell--sync:hover{background:rgba(251,191,36,.22)}.agenda-reminder__bell--sync:active{transform:scale(.94)}.agenda-reminder__bell--sync:focus-visible{outline:2px solid rgba(251,191,36,.7);outline-offset:2px}.agenda-reminder__bell--sync:disabled{cursor:progress}.agenda-reminder__icon{grid-area:1/1;transition:opacity var(--transition-fast),transform var(--transition-fast)}.agenda-reminder__bell--sync{display:grid;place-items:center}.agenda-reminder__icon--sync{opacity:0;transform:rotate(-45deg)}.agenda-reminder__bell--sync.is-synced .agenda-reminder__icon--bell,.agenda-reminder__bell--sync.is-syncing .agenda-reminder__icon--bell,.agenda-reminder__bell--sync:hover .agenda-reminder__icon--bell{opacity:0}.agenda-reminder__bell--sync.is-synced .agenda-reminder__icon--sync,.agenda-reminder__bell--sync.is-syncing .agenda-reminder__icon--sync,.agenda-reminder__bell--sync:hover .agenda-reminder__icon--sync{opacity:1;transform:rotate(0deg)}.agenda-reminder__bell--sync.is-syncing .agenda-reminder__icon--sync{animation:agenda-sync-spin .85s linear infinite}.agenda-reminder__bell--sync.is-synced{color:#34d399;background:rgba(52,211,153,.2);animation:agenda-sync-flash .55s ease}@keyframes agenda-sync-spin{to{transform:rotate(1turn)}}@keyframes agenda-sync-flash{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(52,211,153,.55)}45%{transform:scale(1.18);box-shadow:0 0 0 7px rgba(52,211,153,0)}to{transform:scale(1);box-shadow:0 0 0 0 rgba(52,211,153,0)}}@media (prefers-reduced-motion:reduce){.agenda-reminder__bell--sync,.agenda-reminder__icon{transition:none}.agenda-reminder__bell--sync.is-synced,.agenda-reminder__bell--sync.is-syncing .agenda-reminder__icon--sync{animation:none}}.hover\:bg-primary-light:hover{background-color:var(--primary-light)}.hover\:bg-danger-light:hover{background-color:var(--danger-light)}.hover\:text-danger:hover{color:var(--danger-color)}.hover\:text-primary:hover{color:var(--primary-color)}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}