/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-semibold:600;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.aspect-\[16\/6\]{aspect-ratio:16/6}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.min-h-56{min-height:calc(var(--spacing) * 56)}.min-h-80{min-height:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.grow{flex-grow:1}.list-none{list-style-type:none}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--portal-border\)\]{border-color:var(--portal-border)}.bg-\[var\(--portal-surface-raised\)\]{background-color:var(--portal-surface-raised)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-1{padding-inline:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[var\(--portal-lime\)\]{color:var(--portal-lime)}.text-\[var\(--portal-muted\)\]{color:var(--portal-muted)}.text-\[var\(--portal-subtle\)\]{color:var(--portal-subtle)}.text-\[var\(--portal-text-soft\)\]{color:var(--portal-text-soft)}.text-\[var\(--portal-violet\)\]{color:var(--portal-violet)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[var\(--portal-border-strong\)\]:hover{border-color:var(--portal-border-strong)}.hover\:bg-\[var\(--portal-surface-raised\)\]:hover{background-color:var(--portal-surface-raised)}}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_300px\]{grid-template-columns:minmax(0,1fr) 300px}}@media (width>=80rem){.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(300px\,0\.7fr\)_minmax\(500px\,1\.3fr\)\]{grid-template-columns:minmax(300px,.7fr) minmax(500px,1.3fr)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#07060a;--foreground:#f8f5ff;--portal-bg:#07060a;--portal-bg-soft:#0b0910;--portal-surface:#100d16;--portal-surface-raised:#171221;--portal-surface-hover:#1d1728;--portal-surface-input:#0c0912;--portal-border:#2c243a;--portal-border-strong:#453758;--portal-text:#f8f5ff;--portal-text-soft:#d8d0e4;--portal-muted:#aca3b9;--portal-subtle:#81778e;--portal-violet:#a78bfa;--portal-violet-strong:#8b5cf6;--portal-violet-deep:#6d28d9;--portal-pink:#f472b6;--portal-blue:#60a5fa;--portal-cyan:#67e8f9;--portal-lime:#a3e635;--portal-amber:#fbbf24;--portal-red:#fb7185;--portal-success:#a3e635;--portal-warning:#fbbf24;--portal-danger:#fb7185;--portal-info:#67e8f9;--portal-gradient:linear-gradient(115deg, #f472b6 0%, #a78bfa 43%, #60a5fa 100%);--portal-gradient-soft:linear-gradient(135deg, #f472b621, #8b5cf624 50%, #60a5fa1a);--portal-shadow-sm:0 8px 20px #00000038;--portal-shadow-md:0 18px 45px #00000052;--portal-shadow-lg:0 30px 80px #00000075;--portal-radius-sm:10px;--portal-radius-md:14px;--portal-radius-lg:20px;--portal-radius-xl:26px;--portal-sidebar-width:268px;--portal-sidebar-collapsed:84px;--portal-topbar-height:72px;--portal-content-width:1540px}*,:before,:after{box-sizing:border-box}html{background:var(--portal-bg);scroll-behavior:smooth;scrollbar-color:var(--portal-border-strong) var(--portal-bg);min-width:320px}body{background:radial-gradient(circle at 12% -10%, #6d28d91f, transparent 34rem), var(--portal-bg);min-height:100vh;color:var(--portal-text);font-family:var(--font-geist-sans), "Segoe UI", sans-serif;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{color:inherit;font:inherit}button,select,input[type=checkbox],input[type=radio],input[type=file]{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{color:#fff;background:#a78bfa59}:focus-visible{outline:3px solid var(--portal-cyan);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.portal-eyebrow{color:var(--portal-violet);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:800}.portal-mono{font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;font-size:.86em}.portal-text-success{color:var(--portal-success)}.portal-text-warning{color:var(--portal-warning)}.portal-button,.button-primary,.button-secondary{white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 16px;font-size:.9rem;font-weight:750;line-height:1;transition:transform .15s,border-color .15s,background-color .15s,box-shadow .15s;display:inline-flex}.portal-button svg,.button-primary svg,.button-secondary svg{flex:none;width:17px;height:17px}.portal-button:hover:not(:disabled),.button-primary:hover:not(:disabled),.button-secondary:hover:not(:disabled){transform:translateY(-1px)}.portal-button--primary,.button-primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed 55%,#6d28d9);border-color:#a78bfa6b;box-shadow:inset 0 1px #ffffff24,0 8px 24px #6d28d940}.portal-button--primary:hover:not(:disabled),.button-primary:hover:not(:disabled){background:linear-gradient(135deg,#9f7aea,#8b5cf6 55%,#7c3aed);box-shadow:inset 0 1px #ffffff29,0 10px 28px #6d28d957}.portal-button--secondary,.button-secondary{border-color:var(--portal-border-strong);background:var(--portal-surface-raised);color:var(--portal-text);box-shadow:inset 0 1px #ffffff06}.portal-button--secondary:hover:not(:disabled),.button-secondary:hover:not(:disabled){background:var(--portal-surface-hover);border-color:#a78bfa94}.portal-button--ghost{color:var(--portal-text-soft);background:0 0;border-color:#0000}.portal-button--ghost:hover:not(:disabled){background:var(--portal-surface-hover);color:var(--portal-text)}.portal-button--danger{color:#fecdd3;background:#fb71851f;border-color:#fb718559}.portal-button--danger:hover:not(:disabled){background:#fb718530}.portal-button--sm{border-radius:9px;min-height:36px;padding:0 12px;font-size:.82rem}.portal-icon-button,.portal-chat-message__actions button,.portal-editor-block__actions button,.portal-conversation-header__back,.portal-thread-panel>header button{width:40px;height:40px;color:var(--portal-muted);background:0 0;border:1px solid #0000;border-radius:11px;flex:none;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.portal-icon-button svg,.portal-chat-message__actions button svg,.portal-editor-block__actions button svg,.portal-conversation-header__back svg,.portal-thread-panel>header button svg{width:19px;height:19px}.portal-icon-button:hover,.portal-chat-message__actions button:hover,.portal-editor-block__actions button:hover:not(:disabled),.portal-conversation-header__back:hover,.portal-thread-panel>header button:hover{border-color:var(--portal-border);background:var(--portal-surface-hover);color:var(--portal-text)}.portal-icon-button--secondary{border-color:var(--portal-border);background:var(--portal-surface-raised)}.portal-icon-button--danger,.portal-editor-block__actions .portal-editor-block__delete{color:var(--portal-danger)}.field{min-width:0;color:var(--portal-text-soft);gap:7px;font-size:.88rem;font-weight:680;display:grid}.field__label{justify-content:space-between;align-items:center;display:flex}.field__control{align-items:center;display:flex;position:relative}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea,.portal-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.portal-form select,.portal-form textarea{border:1px solid var(--portal-border-strong);background:var(--portal-surface-input);width:100%;min-height:46px;color:var(--portal-text);border-radius:11px;outline:none;padding:10px 13px;font-weight:480;transition:border-color .15s,box-shadow .15s,background-color .15s}.field textarea,.portal-form textarea{resize:vertical;min-height:120px;line-height:1.55}.field input::placeholder,.field textarea::placeholder,.portal-form input::placeholder,.portal-form textarea::placeholder{color:var(--portal-subtle)}.field input:focus,.field select:focus,.field textarea:focus,.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{border-color:var(--portal-violet);background:#0f0b17;box-shadow:0 0 0 3px #a78bfa24}.field--error input,.field--error select,.field--error textarea{border-color:var(--portal-danger)}.field__leading,.field__trailing{z-index:1;color:var(--portal-muted);display:inline-flex;position:absolute}.field__leading{left:13px}.field__trailing{right:10px}.field__leading+input{padding-left:42px!important}.field__message,.field small{color:var(--portal-muted);font-size:.75rem;font-weight:480}.field__message--error{color:#fecdd3}.portal-form{gap:20px;display:grid}.portal-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-form__actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.portal-search-field,.portal-select-field{min-width:0;color:var(--portal-muted);align-items:center;display:inline-flex;position:relative}.portal-search-field>svg,.portal-select-field>svg{z-index:1;pointer-events:none;width:17px;height:17px;position:absolute;left:12px}.portal-search-field input,.portal-select-field select{border:1px solid var(--portal-border);background:var(--portal-surface-input);min-height:40px;color:var(--portal-text-soft);border-radius:10px;outline:none}.portal-search-field input{width:min(340px,100%);min-width:220px;padding:0 38px}.portal-select-field select{max-width:220px;padding:0 34px 0 12px}.portal-select-field:has(>svg) select{padding-left:37px}.portal-search-field input:focus,.portal-select-field select:focus{border-color:var(--portal-violet);box-shadow:0 0 0 3px #a78bfa1f}.portal-check-filter{border:1px solid var(--portal-border);background:var(--portal-surface-input);min-height:40px;color:var(--portal-text-soft);border-radius:10px;align-items:center;gap:9px;padding:0 12px;font-size:.84rem;font-weight:650;display:inline-flex}input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--portal-violet-strong);flex:none}.portal-filter-clear{min-height:38px;color:var(--portal-violet);background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 9px;font-size:.82rem;font-weight:720;display:inline-flex}.portal-filter-clear:hover{background:#a78bfa17}.portal-filter-clear svg{width:15px;height:15px}.portal-card{border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:linear-gradient(180deg, #ffffff04, transparent 22%), var(--portal-surface);min-width:0;box-shadow:var(--portal-shadow-sm)}.portal-card--elevated{box-shadow:var(--portal-shadow-md);border-color:#a78bfa40}.portal-card--interactive{transition:transform .18s,border-color .18s,box-shadow .18s}.portal-card--interactive:hover{box-shadow:var(--portal-shadow-md);border-color:#a78bfa6b;transform:translateY(-2px)}.portal-badge{width:fit-content;min-height:25px;color:var(--portal-text-soft);letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.7rem;font-weight:760;line-height:1.2;display:inline-flex}.portal-badge svg{width:13px;height:13px}.portal-badge__dot{background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.portal-badge--neutral{border-color:var(--portal-border);color:#c8c0d1;background:#81778e1a}.portal-badge--info{color:#a5f3fc;background:#67e8f917;border-color:#67e8f938}.portal-badge--accent{color:#d8caff;background:#8b5cf621;border-color:#a78bfa47}.portal-badge--success{color:#d9f99d;background:#a3e6351a;border-color:#a3e63540}.portal-badge--warning{color:#fde68a;background:#fbbf241a;border-color:#fbbf2442}.portal-badge--danger{color:#fecdd3;background:#fb71851a;border-color:#fb718545}.portal-avatar{background:linear-gradient(135deg, #f472b63d, #60a5fa3d), var(--portal-surface-raised);color:#fff;border:1px solid #a78bfa59;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.portal-avatar img{object-fit:cover;width:100%;height:100%}.portal-avatar--xs{width:28px;height:28px;font-size:.58rem}.portal-avatar--sm{width:36px;height:36px}.portal-avatar--md{width:44px;height:44px}.portal-avatar--lg{width:58px;height:58px;font-size:.92rem}.portal-avatar--xl{width:76px;height:76px;font-size:1.15rem}.portal-progress{gap:8px;min-width:0;display:grid}.portal-progress__meta{color:var(--portal-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;display:flex}.portal-progress__meta strong{color:var(--portal-text-soft);font-variant-numeric:tabular-nums}.portal-progress__track{background:#282132;border-radius:999px;position:relative;overflow:hidden}.portal-progress__track--sm{height:6px}.portal-progress__track--md{height:9px}.portal-progress__track--lg{height:12px}.portal-progress__fill{border-radius:inherit;min-width:2px;height:100%;transition:width .3s;display:block;box-shadow:0 0 18px}.portal-progress__fill--accent{background:var(--portal-gradient);color:var(--portal-violet)}.portal-progress__fill--success{background:linear-gradient(90deg, #65a30d, var(--portal-lime));color:var(--portal-lime)}.portal-progress__fill--warning{background:linear-gradient(90deg, #d97706, var(--portal-amber));color:var(--portal-amber)}.portal-progress__fill--danger{background:linear-gradient(90deg, #e11d48, var(--portal-red));color:var(--portal-red)}.portal-progress-ring{background:conic-gradient(var(--portal-ring-color) var(--portal-ring-progress), #2a2235 0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;box-shadow:0 0 35px #8b5cf62b,inset 0 0 0 1px #ffffff09}.portal-progress-ring:before{border:1px solid var(--portal-border);border-radius:inherit;background:var(--portal-surface);content:"";position:absolute;inset:9px}.portal-progress-ring--sm{width:78px;height:78px}.portal-progress-ring--md{width:112px;height:112px}.portal-progress-ring--lg{width:154px;height:154px}.portal-progress-ring--accent{--portal-ring-color:var(--portal-violet)}.portal-progress-ring--success{--portal-ring-color:var(--portal-lime)}.portal-progress-ring--warning{--portal-ring-color:var(--portal-amber)}.portal-progress-ring--danger{--portal-ring-color:var(--portal-red)}.portal-progress-ring__inner{z-index:1;color:var(--portal-muted);place-items:center;font-size:.69rem;line-height:1.2;display:grid;position:relative}.portal-progress-ring__inner strong{color:var(--portal-text);letter-spacing:-.04em;font-size:1.55rem;font-weight:820}.portal-progress-ring--lg .portal-progress-ring__inner strong{font-size:2rem}.portal-kpi{align-items:flex-start;gap:15px;min-height:116px;padding:18px;display:flex}.portal-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin-bottom:20px;display:grid}.portal-kpi__icon{border:1px solid;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.portal-kpi__icon svg{width:20px;height:20px}.portal-kpi__icon--neutral{border-color:var(--portal-border);color:var(--portal-text-soft);background:#81778e1a}.portal-kpi__icon--info{color:var(--portal-cyan);background:#67e8f917;border-color:#67e8f940}.portal-kpi__icon--accent{color:var(--portal-violet);background:#a78bfa1a;border-color:#a78bfa40}.portal-kpi__icon--success{color:var(--portal-lime);background:#a3e63517;border-color:#a3e63540}.portal-kpi__icon--warning{color:var(--portal-amber);background:#fbbf2417;border-color:#fbbf2440}.portal-kpi__icon--danger{color:var(--portal-red);background:#fb718517;border-color:#fb718540}.portal-kpi__body{gap:4px;min-width:0;display:grid}.portal-kpi__label{color:var(--portal-muted);font-size:.79rem;font-weight:620}.portal-kpi__value{color:var(--portal-text);font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(1.55rem,2.3vw,2rem);line-height:1.15}.portal-kpi__footer{color:var(--portal-subtle);flex-wrap:wrap;gap:5px 8px;margin-top:6px;font-size:.72rem;display:flex}.portal-kpi__trend{color:var(--portal-text-soft);font-weight:700}.portal-kpi__trend--up{color:var(--portal-success)}.portal-kpi__trend--down{color:var(--portal-danger)}.portal-state{border:1px dashed var(--portal-border-strong);border-radius:var(--portal-radius-lg);text-align:left;background:#ffffff03;justify-content:center;align-items:center;gap:16px;min-height:220px;padding:38px;display:flex}.portal-state--compact{min-height:155px;padding:24px}.portal-state__icon{background:var(--portal-surface-raised);width:46px;height:46px;color:var(--portal-muted);border-radius:14px;flex:none;place-items:center;display:grid}.portal-state__icon svg{width:22px;height:22px}.portal-state h3{color:var(--portal-text);margin:0;font-size:1rem}.portal-state p{max-width:500px;color:var(--portal-muted);margin:4px 0 0;font-size:.85rem}.portal-state__action{margin-top:13px}.portal-state--info .portal-state__icon{color:var(--portal-cyan)}.portal-state--success .portal-state__icon{color:var(--portal-lime)}.portal-state--warning .portal-state__icon{color:var(--portal-amber)}.portal-state--danger .portal-state__icon{color:var(--portal-red)}.portal-state--info .portal-state__icon svg,.portal-skeleton-row{animation:1.55s ease-in-out infinite portal-pulse}.portal-skeleton-list{gap:1px;display:grid}.portal-skeleton-row{grid-template-columns:1.6fr 1fr .7fr;gap:28px;padding:19px;display:grid}.portal-skeleton-row span,.portal-skeleton{background:linear-gradient(90deg, var(--portal-surface-raised), var(--portal-surface-hover), var(--portal-surface-raised));background-size:200% 100%;border-radius:999px;width:100%;height:12px;animation:1.6s linear infinite portal-shimmer;display:block}.portal-skeleton--short{width:32px}.portal-skeleton--avatar{border-radius:50%;width:36px;height:36px}.portal-alert,.alert{border:1px solid var(--portal-border);background:var(--portal-surface-raised);color:var(--portal-text-soft);border-radius:12px;align-items:flex-start;gap:11px;padding:13px 14px;font-size:.84rem;display:flex}.portal-alert>svg,.alert>svg{flex:none;width:18px;height:18px;margin-top:1px}.portal-alert p,.alert p{margin:2px 0 0}.portal-alert--info,.alert--info{color:#cffafe;background:#67e8f912;border-color:#67e8f940}.portal-alert--success,.alert--success{color:#ecfccb;background:#a3e63512;border-color:#a3e6353d}.portal-alert--warning,.alert--warning{color:#fef3c7;background:#fbbf2413;border-color:#fbbf2442}.portal-alert--error,.alert--error{color:#ffe4e6;background:#fb718513;border-color:#fb718545}.auth-shell{background:var(--portal-bg);grid-template-columns:minmax(390px,.88fr) minmax(520px,1.12fr);min-height:100svh;display:grid;position:relative;overflow:hidden}.auth-shell:before{z-index:0;filter:blur(110px);content:"";pointer-events:none;background:#6d28d91c;border-radius:50%;width:55vw;height:55vw;position:absolute;top:-26%;right:-14%}.auth-brand{z-index:1;background:linear-gradient(155deg, #0f0b16ed, #08060cfa), var(--portal-bg);border-right:1px solid #a78bfa2e;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(32px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth-brand:before,.auth-brand:after{content:"";filter:blur(1px);pointer-events:none;border-radius:50%;position:absolute}.auth-brand:before{border:1px solid #a78bfa24;width:430px;height:430px;bottom:14%;right:-180px;box-shadow:0 0 0 42px #8b5cf606,0 0 0 92px #60a5fa05}.auth-brand:after{filter:blur(90px);background:linear-gradient(115deg,#f472b62e,#8b5cf633,#60a5fa24);width:70%;height:44%;bottom:-18%;right:-20%}.auth-brand__logo,.auth-brand__content,.auth-brand__security{z-index:1;position:relative}.auth-brand__logo{width:210px;display:inline-block}.auth-brand__content{max-width:560px;margin:auto 0;padding:70px 0}.auth-brand__content h1{color:#0000;letter-spacing:-.06em;background:linear-gradient(120deg,#fff 15%,#ded3ff 58%,#a5f3fc);-webkit-background-clip:text;background-clip:text;max-width:11ch;margin:0;font-size:clamp(2.4rem,4.6vw,4.8rem);font-weight:840;line-height:.99}.auth-brand__content>p:not(.portal-eyebrow){max-width:54ch;color:var(--portal-muted);margin:24px 0 0;font-size:1rem;line-height:1.7}.auth-brand__content ul{gap:14px;margin:32px 0 0;padding:0;list-style:none;display:grid}.auth-brand__content li{color:var(--portal-text-soft);align-items:center;gap:11px;font-size:.88rem;display:flex}.auth-brand__content li>span{width:25px;height:25px;color:var(--portal-lime);background:#a3e63513;border:1px solid #a3e6353d;border-radius:50%;flex:none;place-items:center;display:grid}.auth-brand__content li svg{width:14px;height:14px}.auth-brand__security{color:var(--portal-subtle);align-items:center;gap:10px;font-size:.76rem;display:flex}.auth-brand__security svg{width:18px;height:18px;color:var(--portal-violet)}.auth-shell__content{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:100%;padding:clamp(28px,5vw,72px);display:flex;position:relative}.auth-shell__content-inner{width:min(100%,520px)}.auth-shell__footer{width:min(100%,520px);color:var(--portal-subtle);text-align:center;margin-top:22px;font-size:.74rem}.auth-shell__footer a{color:var(--portal-text-soft);text-underline-offset:3px;text-decoration:underline}.auth-card{border:1px solid var(--portal-border);border-radius:var(--portal-radius-xl);width:100%;box-shadow:var(--portal-shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff06,#0000 44%),#100d16eb;padding:clamp(25px,4vw,42px)}.auth-card__header{margin-bottom:28px}.auth-card__mobile-logo{display:none}.auth-card__header h2{color:var(--portal-text);letter-spacing:-.045em;margin:0;font-size:clamp(1.75rem,3.8vw,2.3rem);font-weight:810;line-height:1.1}.auth-card__header>div,.auth-card__header>p:not(.portal-eyebrow){color:var(--portal-muted);margin-top:10px;font-size:.9rem}.auth-card__body{min-width:0}.auth-card__body form{gap:18px;display:grid}.auth-card__footer{border-top:1px solid var(--portal-border);color:var(--portal-muted);text-align:center;margin-top:25px;padding-top:20px;font-size:.83rem}.auth-card__footer a{color:var(--portal-violet);font-weight:720}.auth-route-card{position:relative}.auth-heading{margin-bottom:28px}.auth-heading .eyebrow{color:var(--portal-violet);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:800;display:block}.auth-heading h2{color:var(--portal-text);letter-spacing:-.045em;margin:0;font-size:clamp(1.75rem,3.8vw,2.3rem);font-weight:810;line-height:1.1}.auth-heading p{color:var(--portal-muted);margin:10px 0 0;font-size:.9rem}.form-stack{gap:18px;display:grid}.button-block{width:100%}.auth-links{color:var(--portal-muted);justify-content:space-between;align-items:center;gap:14px;font-size:.82rem;display:flex}.auth-links a{color:var(--portal-violet);font-weight:720}.auth-links a:hover{color:#c4b5fd;text-underline-offset:3px;text-decoration:underline}.field-help,.auth-footnote{color:var(--portal-subtle);margin:0;font-size:.76rem;font-weight:500;line-height:1.55}.field-error{color:#fecdd3;font-size:.76rem;font-weight:650}.consent-field,.auth-checkbox{border:1px solid var(--portal-border);color:var(--portal-muted);background:#a78bfa0a;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:13px;font-size:.79rem;line-height:1.5;display:grid}.consent-field input,.auth-checkbox input{width:17px;height:17px;accent-color:var(--portal-lime);margin:2px 0 0}.auth-consent{border:1px solid var(--portal-border);color:var(--portal-muted);background:#a78bfa0a;border-radius:12px;grid-template-columns:auto auto 1fr;align-items:flex-start;gap:10px;padding:13px;font-size:.77rem;font-weight:480;line-height:1.48;display:grid}.auth-consent>span:first-of-type{width:24px;height:24px;color:var(--portal-violet);background:#a78bfa1a;border-radius:7px;place-items:center;display:grid}.auth-consent svg{width:14px;height:14px}.auth-consent a{color:var(--portal-violet);text-underline-offset:2px;text-decoration:underline}.auth-divider{color:var(--portal-subtle);text-transform:uppercase;align-items:center;gap:13px;font-size:.73rem;display:flex}.auth-divider:before,.auth-divider:after{background:var(--portal-border);content:"";flex:1;height:1px}.portal-shell{grid-template-columns:var(--portal-sidebar-width) minmax(0, 1fr);background:radial-gradient(circle at 52% -18%, #6d28d914, transparent 38rem), var(--portal-bg);min-height:100svh;transition:grid-template-columns .18s;display:grid}.portal-shell--nav-collapsed{grid-template-columns:var(--portal-sidebar-collapsed) minmax(0, 1fr)}.portal-skip-link{z-index:200;background:var(--portal-text);color:var(--portal-bg);border-radius:9px;padding:10px 14px;font-weight:800;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.portal-skip-link:focus{transform:translateY(0)}.portal-sidebar{z-index:40;border-right:1px solid var(--portal-border);background:linear-gradient(#8b5cf609,#0000 24%),#0b0910;flex-direction:column;width:100%;min-width:0;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.portal-sidebar__brand{min-height:var(--portal-topbar-height);border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 18px;display:flex}.portal-sidebar__brand>a{align-items:center;min-width:0;display:flex}.portal-sidebar__wordmark{width:128px;height:auto}.portal-sidebar__icon{width:42px;height:42px;display:none}.portal-nav{flex:1;padding:16px 12px 24px;overflow:hidden auto}.portal-nav__group+.portal-nav__group{margin-top:20px}.portal-nav__group h2{color:var(--portal-subtle);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;margin:0 0 7px;padding:0 10px;font-size:.64rem;font-weight:780}.portal-nav__group ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.portal-nav__link{min-height:43px;color:var(--portal-muted);white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:11px;padding:0 10px;font-size:.83rem;font-weight:650;transition:border-color .14s,background-color .14s,color .14s;display:flex;position:relative;overflow:hidden}.portal-nav__link>svg{flex:none;width:19px;height:19px}.portal-nav__link:hover{color:var(--portal-text-soft);background:#a78bfa0e;border-color:#a78bfa1f}.portal-nav__link--current{color:#efe9ff;box-shadow:inset 2px 0 var(--portal-violet);background:linear-gradient(90deg,#8b5cf629,#8b5cf612);border-color:#a78bfa2e}.portal-nav__link--current>svg{color:var(--portal-violet)}.portal-nav__label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.portal-nav__badge{background:var(--portal-violet-deep);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 6px;font-size:.65rem;display:inline-grid}.portal-sidebar__collapse{border:0;border-top:1px solid var(--portal-border);min-height:50px;color:var(--portal-subtle);white-space:nowrap;background:0 0;align-items:center;gap:9px;padding:0 20px;font-size:.75rem;display:flex}.portal-sidebar__collapse:hover{background:var(--portal-surface);color:var(--portal-text-soft)}.portal-sidebar__collapse svg{flex:none;width:18px;height:18px}.portal-shell--nav-collapsed .portal-sidebar__brand{justify-content:center;padding-inline:10px}.portal-shell--nav-collapsed .portal-sidebar__wordmark,.portal-shell--nav-collapsed .portal-sidebar__brand .portal-badge{display:none}.portal-shell--nav-collapsed .portal-sidebar__icon{display:block}.portal-nav--collapsed{padding-inline:10px}.portal-nav--collapsed .portal-nav__group h2,.portal-nav--collapsed .portal-nav__label,.portal-nav--collapsed .portal-nav__badge{display:none}.portal-nav--collapsed .portal-nav__group+.portal-nav__group{border-top:1px solid var(--portal-border);margin-top:12px;padding-top:12px}.portal-nav--collapsed .portal-nav__link{justify-content:center;padding:0}.portal-shell--nav-collapsed .portal-sidebar__collapse{justify-content:center;padding-inline:0}.portal-shell__body{flex-direction:column;min-width:0;min-height:100svh;display:flex}.portal-topbar{z-index:35;min-height:var(--portal-topbar-height);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07060adb;border-bottom:1px solid #2c243ad1;grid-template-columns:minmax(120px,1fr) minmax(260px,520px) minmax(120px,1fr);align-items:center;gap:18px;padding:0 25px;display:grid;position:sticky;top:0}.portal-topbar__start{align-items:center;gap:10px;min-width:0;display:flex}.portal-topbar__menu{display:none}.portal-topbar__context{color:var(--portal-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.81rem;font-weight:700;overflow:hidden}.portal-global-search{border:1px solid var(--portal-border);background:var(--portal-surface-input);border-radius:11px;align-items:center;gap:9px;min-width:0;height:41px;padding:0 10px 0 13px;transition:border-color .15s,box-shadow .15s;display:flex}.portal-global-search:focus-within{border-color:var(--portal-violet);box-shadow:0 0 0 3px #a78bfa1a}.portal-global-search>svg{width:17px;height:17px;color:var(--portal-subtle);flex:none}.portal-global-search input{min-width:0;height:100%;color:var(--portal-text);background:0 0;border:0;outline:none;flex:1}.portal-global-search input::placeholder{color:var(--portal-subtle)}.portal-global-search kbd{border:1px solid var(--portal-border);background:var(--portal-surface-raised);color:var(--portal-subtle);border-radius:5px;padding:1px 6px;font-family:inherit;font-size:.67rem}.portal-topbar__actions{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.portal-topbar__notifications{position:relative}.portal-topbar__notifications>span{border:2px solid var(--portal-bg);background:var(--portal-pink);color:#160612;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 3px;font-size:.55rem;font-weight:850;display:grid;position:absolute;top:-3px;right:-4px}.portal-user-menu{border-radius:12px;align-items:center;gap:9px;min-width:0;padding:4px 6px;display:flex}.portal-user-menu:hover{background:var(--portal-surface-raised)}.portal-user-menu__copy{min-width:0;max-width:156px;display:grid}.portal-user-menu__copy strong,.portal-user-menu__copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-user-menu__copy strong{color:var(--portal-text-soft);font-size:.76rem}.portal-user-menu__copy span{color:var(--portal-subtle);font-size:.63rem}.portal-main{width:min(100%, var(--portal-content-width));outline:none;flex:1;align-self:center;padding:34px clamp(20px,3vw,44px) 60px}.portal-footer{border-top:1px solid var(--portal-border);color:var(--portal-subtle);text-align:center;padding:20px 30px;font-size:.72rem}.portal-mobile-layer{display:none}.portal-page-header{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px;display:flex}.portal-page-header__copy{min-width:0}.portal-page-header h1{color:var(--portal-text);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3.1rem);font-weight:840;line-height:1.05}.portal-page-header__description{max-width:72ch;color:var(--portal-muted);margin:11px 0 0;font-size:.95rem}.portal-page-header__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:9px;display:flex}.portal-breadcrumbs{color:var(--portal-subtle);flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px;padding:0;font-size:.74rem;list-style:none;display:flex}.portal-breadcrumbs li:not(:last-child):after{color:var(--portal-border-strong);content:"/";margin-left:7px}.portal-breadcrumbs a:hover{color:var(--portal-violet)}.portal-section-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.portal-section-header h2,.portal-section-header h3{color:var(--portal-text);letter-spacing:-.025em;margin:0;font-size:1.13rem}.portal-section-header p{color:var(--portal-muted);margin:4px 0 0;font-size:.8rem}.portal-data-table{border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);overflow:hidden}.portal-table-toolbar{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:14px;min-height:68px;padding:13px 16px;display:flex}.portal-table-toolbar__controls,.portal-table-toolbar__actions{flex-wrap:wrap;align-items:center;gap:9px;min-width:0;display:flex}.portal-bulk-bar{min-height:52px;color:var(--portal-text-soft);background:#8b5cf614;border-bottom:1px solid #a78bfa38;justify-content:space-between;align-items:center;gap:15px;padding:8px 16px;font-size:.8rem;display:flex}.portal-bulk-bar>div{flex-wrap:wrap;gap:8px;display:flex}.portal-table-scroll{width:100%;overflow-x:auto}.portal-data-table table,.portal-leaderboard table{border-collapse:collapse;border-spacing:0;width:100%}.portal-data-table th,.portal-data-table td,.portal-leaderboard th,.portal-leaderboard td{text-align:left;vertical-align:middle;padding:14px 16px}.portal-data-table th,.portal-leaderboard th{color:var(--portal-subtle);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:#ffffff05;font-size:.66rem;font-weight:780}.portal-data-table tbody tr,.portal-leaderboard tbody tr{border-top:1px solid var(--portal-border);transition:background-color .14s}.portal-data-table tbody tr:hover,.portal-leaderboard tbody tr:hover{background:#a78bfa09}.portal-data-table tbody tr[data-selected]{background:#8b5cf613}.portal-data-table td,.portal-leaderboard td{color:var(--portal-text-soft);font-size:.8rem}.portal-table__align-center{text-align:center!important}.portal-table__align-end{text-align:right!important}.portal-table__select{width:48px;text-align:center!important}.portal-table-summary{border-top:1px solid var(--portal-border);color:var(--portal-subtle);text-align:right;padding:10px 16px;font-size:.7rem}.portal-table-loading{padding:5px 0}.portal-person-cell{align-items:center;gap:10px;min-width:0;display:inline-flex}a.portal-person-cell:hover strong{color:var(--portal-violet)}.portal-person-cell>span:not(.portal-avatar){min-width:0;display:grid}.portal-person-cell strong,.portal-person-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-person-cell strong{color:var(--portal-text);font-size:.8rem}.portal-person-cell span span{color:var(--portal-subtle);font-size:.69rem}.portal-table-stack{gap:3px;display:inline-grid}.portal-table-stack strong{color:var(--portal-text-soft);font-variant-numeric:tabular-nums}.portal-table-stack>span:not(.portal-badge){color:var(--portal-subtle);font-size:.67rem}.portal-diamond-value{color:#e5deff;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.portal-diamond-value svg{width:15px;height:15px;color:var(--portal-violet)}.portal-dashboard-section{min-width:0}.portal-graduation-hero{position:relative;overflow:hidden}.portal-graduation-hero__glow{pointer-events:none;background:radial-gradient(circle,#8b5cf62e,#60a5fa12 42%,#0000 70%);border-radius:50%;width:450px;height:450px;position:absolute;top:-180px;right:-130px}.portal-graduation-hero__main{z-index:1;gap:24px;padding:clamp(22px,3vw,34px);display:grid;position:relative}.portal-graduation-hero__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portal-graduation-hero__heading h2{color:var(--portal-text);letter-spacing:-.04em;margin:0;font-size:clamp(1.35rem,2.4vw,1.9rem)}.portal-graduation-hero__progress{align-items:center;gap:clamp(24px,4vw,45px);display:flex}.portal-graduation-hero__total{color:var(--portal-muted);gap:4px;font-size:.78rem;display:grid}.portal-graduation-hero__total strong{color:var(--portal-text);font-variant-numeric:tabular-nums;letter-spacing:-.06em;align-items:center;gap:9px;font-size:clamp(2.05rem,5vw,3.7rem);line-height:1;display:flex}.portal-graduation-hero__total strong svg{width:.65em;height:.65em;color:var(--portal-violet)}.portal-graduation-hero__stats{z-index:1;border-top:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);background:#ffffff03;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid;position:relative}.portal-graduation-hero__stats>div{padding:18px clamp(15px,2vw,25px)}.portal-graduation-hero__stats>div+div{border-left:1px solid var(--portal-border)}.portal-graduation-hero__stats dt{color:var(--portal-subtle);font-size:.67rem}.portal-graduation-hero__stats dd{color:var(--portal-text);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.16rem;font-weight:770}.portal-graduation-hero__stats dd span{color:var(--portal-muted);font-size:.72rem;font-weight:520}.portal-graduation-hero__footer{z-index:1;color:var(--portal-subtle);justify-content:space-between;align-items:center;gap:16px;padding:13px clamp(22px,3vw,34px);font-size:.7rem;display:flex;position:relative}.portal-graduation-hero__footer a{color:var(--portal-violet);align-items:center;gap:6px;font-weight:700;display:inline-flex}.portal-graduation-hero__footer svg{width:14px;height:14px}.portal-quick-actions>h2{margin:0 0 13px;font-size:1rem}.portal-quick-actions>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-quick-action{border:1px solid var(--portal-border);background:var(--portal-surface);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-width:0;padding:15px;transition:border-color .15s,background-color .15s,transform .15s;display:grid}.portal-quick-action:hover{background:var(--portal-surface-raised);border-color:#a78bfa61;transform:translateY(-1px)}.portal-quick-action__icon{width:38px;height:38px;color:var(--portal-violet);background:#a78bfa1a;border-radius:11px;place-items:center;display:grid}.portal-quick-action--success .portal-quick-action__icon{color:var(--portal-lime);background:#a3e63517}.portal-quick-action--info .portal-quick-action__icon{color:var(--portal-cyan);background:#67e8f917}.portal-quick-action__icon svg,.portal-quick-action>svg{width:18px;height:18px}.portal-quick-action>span:nth-child(2){min-width:0;display:grid}.portal-quick-action strong{color:var(--portal-text-soft);font-size:.79rem}.portal-quick-action span span{color:var(--portal-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.portal-quick-action>svg{color:var(--portal-subtle)}.portal-manager-card{gap:18px;padding:22px;display:grid}.portal-manager-card__label{color:var(--portal-violet);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:.68rem;font-weight:780;display:flex}.portal-manager-card__label svg{width:15px;height:15px}.portal-manager-card__identity{align-items:center;gap:14px;display:flex}.portal-manager-card__identity h2{margin:0;font-size:1.06rem}.portal-manager-card__identity p{color:var(--portal-muted);margin:3px 0 0;font-size:.76rem}.portal-manager-card__note{color:var(--portal-muted);margin:0;font-size:.78rem}.portal-manager-card__actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.portal-announcements{overflow:hidden}.portal-announcements>header,.portal-academy-summary>header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:15px;padding:18px 20px;display:flex}.portal-announcements>header h2,.portal-academy-summary>header h2{margin:0;font-size:1rem}.portal-announcements>header p,.portal-academy-summary>header p{color:var(--portal-subtle);margin:3px 0 0;font-size:.7rem}.portal-announcements>header>a{color:var(--portal-violet);font-size:.73rem;font-weight:700}.portal-announcements__list article{padding:17px 20px}.portal-announcements__list article+article{border-top:1px solid var(--portal-border)}.portal-announcements__meta{color:var(--portal-subtle);flex-wrap:wrap;align-items:center;gap:7px;font-size:.64rem;display:flex}.portal-announcements__list h3{margin:8px 0 0;font-size:.88rem}.portal-announcements__list h3 a:hover{color:var(--portal-violet)}.portal-announcements__list p{color:var(--portal-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:.75rem;display:-webkit-box;overflow:hidden}.portal-academy-summary{gap:18px;padding-bottom:20px;display:grid}.portal-academy-summary>header{justify-content:flex-start}.portal-academy-summary__icon{width:40px;height:40px;color:var(--portal-violet);background:#a78bfa1c;border-radius:12px;place-items:center;display:grid}.portal-academy-summary__icon svg{width:20px;height:20px}.portal-academy-summary>.portal-progress,.portal-academy-summary>.portal-button,.portal-academy-summary__required,.portal-academy-summary__continue{margin-inline:20px}.portal-academy-summary__required{color:var(--portal-muted);align-items:center;gap:8px;font-size:.74rem;display:flex}.portal-academy-summary__required svg{width:16px;height:16px;color:var(--portal-amber)}.portal-academy-summary__continue{border:1px solid var(--portal-border);background:var(--portal-surface-raised);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.portal-academy-summary__continue:hover{border-color:#a78bfa61}.portal-academy-summary__continue>span{display:grid}.portal-academy-summary__continue small,.portal-academy-summary__continue span span{color:var(--portal-subtle);font-size:.65rem}.portal-academy-summary__continue strong{color:var(--portal-text-soft);font-size:.79rem}.portal-academy-summary__continue>svg{width:17px;color:var(--portal-violet)}.portal-leaderboard{overflow:hidden}.portal-leaderboard__header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:20px;min-height:102px;padding:20px 24px;display:flex}.portal-leaderboard__header h2{letter-spacing:-.03em;margin:0;font-size:1.25rem}.portal-leaderboard__header>div>p:last-child{color:var(--portal-muted);margin:4px 0 0;font-size:.72rem}.portal-period-form{align-items:center;gap:7px;display:flex}.portal-leaderboard__table th:first-child,.portal-leaderboard__table td:first-child{text-align:center;width:76px}.portal-leaderboard__table th:nth-child(2),.portal-leaderboard__table td:nth-child(2){width:62px;padding-right:4px}.portal-leaderboard__table th:last-child,.portal-leaderboard__table td:last-child{text-align:right}.portal-leaderboard__table td{font-size:.87rem}.portal-leaderboard__table td:nth-child(3) a{color:var(--portal-text);font-weight:720}.portal-leaderboard__table td:nth-child(3) a:hover{color:var(--portal-violet)}.portal-leaderboard__top{background:linear-gradient(90deg,#a78bfa0d,#0000 52%)}.portal-leaderboard__rank{color:var(--portal-muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-weight:800;display:inline-flex}.portal-leaderboard__rank svg{width:16px;height:16px;color:var(--portal-amber)}.portal-leaderboard__tie{color:var(--portal-subtle);font-size:.55rem;font-weight:600}.portal-leaderboard__empty{border-top:1px solid var(--portal-border);color:var(--portal-muted);text-align:center;margin:0;padding:35px}.portal-academy-catalog{gap:22px;display:grid}.portal-catalog-toolbar,.portal-directory-filters{border:1px solid var(--portal-border);background:var(--portal-surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:9px;padding:12px;display:flex}.portal-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.portal-course-card{flex-direction:column;min-height:100%;display:flex;overflow:hidden}.portal-course-card__cover{background:radial-gradient(circle at 75% 20%,#60a5fa38,#0000 34%),radial-gradient(circle at 20% 80%,#f472b630,#0000 34%),linear-gradient(135deg,#1b1230,#101425);place-items:center;min-height:174px;display:grid;position:relative;overflow:hidden}.portal-course-card__cover:after{content:"";background:linear-gradient(#0000 50%,#07060ab8);position:absolute;inset:0}.portal-course-card__cover>img{object-fit:cover;width:100%;height:100%;transition:transform .24s;position:absolute;inset:0}.portal-course-card:hover .portal-course-card__cover>img{transform:scale(1.025)}.portal-course-card__cover>span:not(.portal-course-card__category):not(.portal-badge){width:64px;height:64px;color:var(--portal-violet);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0e;border:1px solid #ffffff1a;border-radius:20px;place-items:center;display:grid}.portal-course-card__cover>span svg{width:30px;height:30px}.portal-course-card__category{z-index:2;color:#eee8fa;font-size:.66rem;font-weight:700;position:absolute;bottom:13px;left:15px}.portal-course-card__cover>.portal-badge{z-index:2;position:absolute;top:12px;right:12px}.portal-course-card__body{flex-direction:column;flex:1;align-items:flex-start;padding:18px;display:flex}.portal-course-card__body h3{color:var(--portal-text);letter-spacing:-.02em;margin:10px 0 0;font-size:1rem}.portal-course-card__body h3 a:hover{color:var(--portal-violet)}.portal-course-card__body>p{color:var(--portal-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:7px 0 0;font-size:.75rem;display:-webkit-box;overflow:hidden}.portal-course-card__meta{color:var(--portal-subtle);gap:13px;margin-top:14px;font-size:.67rem;display:flex}.portal-course-card__meta span+span:before{content:"·";margin-right:13px}.portal-course-card__body>.portal-progress{width:100%;margin-top:15px}.portal-course-card__link{color:var(--portal-violet);align-items:center;gap:6px;margin-top:auto;padding-top:17px;font-size:.74rem;font-weight:750;display:flex}.portal-course-card__link svg{width:14px;height:14px}.portal-catalog-empty,.portal-directory-empty{border:1px dashed var(--portal-border-strong);border-radius:var(--portal-radius-lg);min-height:280px;color:var(--portal-muted);text-align:center;align-content:center;place-items:center;padding:30px;display:grid}.portal-catalog-empty>svg,.portal-directory-empty>svg{width:34px;height:34px;color:var(--portal-violet);margin-bottom:10px}.portal-catalog-empty h3,.portal-directory-empty h2{color:var(--portal-text);margin:0;font-size:1rem}.portal-catalog-empty p,.portal-directory-empty p{margin:5px 0 0;font-size:.78rem}.portal-directory-empty .portal-button{margin-top:16px}.portal-academy-editor{gap:22px;display:grid}.portal-academy-editor__header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.portal-academy-editor__status{align-items:center;gap:10px;margin-bottom:8px;display:flex}.portal-academy-editor__status>span:not(.portal-badge){color:var(--portal-subtle);font-size:.69rem}.portal-academy-editor__header h1{letter-spacing:-.05em;margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.portal-academy-editor__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.portal-academy-editor__workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.portal-editor-canvas,.portal-block-library{border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:var(--portal-surface)}.portal-editor-canvas{min-height:560px;padding:18px}.portal-editor-canvas>ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portal-editor-block{border:1px solid var(--portal-border);background:var(--portal-surface-raised);border-radius:13px;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:12px;transition:border-color .15s,opacity .15s,transform .15s;display:grid}.portal-editor-block:hover{border-color:var(--portal-border-strong)}.portal-editor-block--dragging{border-color:var(--portal-violet);opacity:.55;transform:scale(.99)}.portal-editor-block__handle{width:28px;height:34px;color:var(--portal-subtle);cursor:grab;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.portal-editor-block__handle svg{width:17px;height:17px}.portal-editor-block__icon{width:38px;height:38px;color:var(--portal-violet);background:#a78bfa1a;border-radius:10px;place-items:center;display:grid}.portal-editor-block__icon svg{width:18px;height:18px}.portal-editor-block__copy{min-width:0;display:grid}.portal-editor-block__copy small{color:var(--portal-violet);letter-spacing:.06em;text-transform:uppercase;font-size:.59rem;font-weight:750}.portal-editor-block__copy strong{color:var(--portal-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.portal-editor-block__copy>span{color:var(--portal-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.portal-editor-block__actions{align-items:center;gap:2px;display:flex}.portal-editor-block__actions button{border-radius:8px;width:32px;height:32px}.portal-editor-empty{min-height:520px;color:var(--portal-muted);text-align:center;align-content:center;place-items:center;display:grid}.portal-editor-empty svg{width:38px;height:38px;color:var(--portal-violet)}.portal-editor-empty h2{color:var(--portal-text);margin:14px 0 0;font-size:1.05rem}.portal-editor-empty p{margin:4px 0 0;font-size:.76rem}.portal-block-library{top:calc(var(--portal-topbar-height) + 18px);position:sticky;overflow:hidden}.portal-block-library>div{border-bottom:1px solid var(--portal-border);align-items:center;gap:10px;padding:16px;display:flex}.portal-block-library>div>svg{width:20px;color:var(--portal-violet)}.portal-block-library h2{margin:0;font-size:.92rem}.portal-block-library p{color:var(--portal-subtle);margin:2px 0 0;font-size:.66rem}.portal-block-library ul{gap:1px;margin:0;padding:8px;list-style:none;display:grid}.portal-block-library li button{width:100%;min-width:0;color:var(--portal-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.portal-block-library li button:hover{border-color:var(--portal-border);background:var(--portal-surface-raised)}.portal-block-library li button>svg:first-child{width:18px;height:18px;color:var(--portal-violet)}.portal-block-library li button>svg:last-child{width:14px;height:14px}.portal-block-library li button>span{min-width:0;display:grid}.portal-block-library li strong{color:var(--portal-text-soft);font-size:.74rem}.portal-block-library li span span{text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;overflow:hidden}.portal-lesson-nav{border-right:1px solid var(--portal-border);background:var(--portal-surface);padding:20px 13px}.portal-lesson-nav>a{color:var(--portal-muted);align-items:center;gap:7px;font-size:.7rem;display:inline-flex}.portal-lesson-nav>a svg{width:14px;height:14px;transform:rotate(180deg)}.portal-lesson-nav h2{margin:20px 8px 12px;font-size:.95rem}.portal-lesson-nav ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.portal-lesson-nav li a{color:var(--portal-muted);border-radius:9px;align-items:center;gap:9px;padding:9px;font-size:.72rem;display:flex}.portal-lesson-nav li a:hover,.portal-lesson-nav li a.is-current{background:var(--portal-surface-raised);color:var(--portal-text-soft)}.portal-lesson-nav li a.is-current{box-shadow:inset 2px 0 var(--portal-violet)}.portal-lesson-nav li a>span{border:1px solid var(--portal-border);border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:.62rem;display:grid}.portal-lesson-nav li a svg{width:14px;height:14px;color:var(--portal-lime)}.portal-chat-workspace{height:min(790px, calc(100svh - var(--portal-topbar-height) - 68px));border-radius:var(--portal-radius-lg);grid-template-columns:280px minmax(0,1fr);min-height:590px;display:grid;overflow:hidden}.portal-chat-workspace.has-thread{grid-template-columns:260px minmax(380px,1fr) minmax(310px,.66fr)}.portal-spaces-sidebar{border-right:1px solid var(--portal-border);background:#0c0911;flex-direction:column;min-width:0;min-height:0;display:flex}.portal-spaces-sidebar>header{justify-content:space-between;align-items:center;min-height:64px;padding:0 16px;display:flex}.portal-spaces-sidebar>header h1{margin:0;font-size:1rem}.portal-spaces-sidebar>header a{border:1px solid var(--portal-border);background:var(--portal-surface-raised);width:32px;height:32px;color:var(--portal-violet);border-radius:9px;place-items:center;display:grid}.portal-spaces-sidebar>header svg{width:16px;height:16px}.portal-spaces-search{align-items:center;margin:0 12px 10px;display:flex;position:relative}.portal-spaces-search svg{width:15px;color:var(--portal-subtle);position:absolute;left:11px}.portal-spaces-search input{border:1px solid var(--portal-border);background:var(--portal-surface-input);border-radius:9px;outline:none;width:100%;height:38px;padding:0 11px 0 34px;font-size:.74rem}.portal-spaces-search input:focus{border-color:var(--portal-violet)}.portal-spaces-sidebar>nav{flex:1;padding:3px 8px 16px;overflow-y:auto}.portal-spaces-sidebar nav section+section{margin-top:18px}.portal-spaces-sidebar nav h2{color:var(--portal-subtle);letter-spacing:.08em;text-transform:uppercase;margin:0 8px 6px;font-size:.62rem}.portal-spaces-sidebar nav ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.portal-conversation-link{border:1px solid #0000;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:8px;display:grid}.portal-conversation-link:hover{background:var(--portal-surface)}.portal-conversation-link.is-active{background:#8b5cf61c;border-color:#a78bfa2b}.portal-conversation-icon{background:var(--portal-surface-raised);width:32px;height:32px;color:var(--portal-muted);border-radius:9px;place-items:center;display:grid}.portal-conversation-icon svg{width:16px;height:16px}.portal-conversation-avatar{position:relative}.portal-presence{border:2px solid #0c0911;border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:-1px}.portal-presence--online{background:var(--portal-lime)}.portal-presence--away{background:var(--portal-amber)}.portal-presence--offline{background:var(--portal-subtle)}.portal-conversation-link__copy{min-width:0;display:grid}.portal-conversation-link__copy strong,.portal-conversation-link__copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-conversation-link__copy strong{color:var(--portal-text-soft);font-size:.75rem}.portal-conversation-link__copy span{color:var(--portal-subtle);font-size:.63rem}.portal-conversation-link__unread{background:var(--portal-violet-strong);color:#fff;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.58rem;font-weight:800;display:grid}.portal-spaces-sidebar__empty{color:var(--portal-subtle);text-align:center;padding:24px 12px;font-size:.72rem}.portal-chat-workspace__conversation{background:var(--portal-surface);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.portal-conversation-header{border-bottom:1px solid var(--portal-border);align-items:center;gap:11px;min-width:0;min-height:64px;padding:10px 16px;display:flex}.portal-conversation-header__back{display:none}.portal-conversation-header__icon{width:38px;height:38px;color:var(--portal-violet);background:#a78bfa1a;border-radius:11px;flex:none;place-items:center;display:grid}.portal-conversation-header__icon svg{width:19px;height:19px}.portal-conversation-header>div:first-of-type{flex:1;min-width:0}.portal-conversation-header h1,.portal-conversation-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-conversation-header h1{margin:0;font-size:.9rem}.portal-conversation-header p{color:var(--portal-subtle);margin:2px 0 0;font-size:.65rem}.portal-conversation-header__actions{flex:none;align-items:center;gap:5px;display:flex}.portal-chat-timeline{overscroll-behavior:contain;min-height:0;padding:16px 12px 25px;overflow-y:auto}.portal-chat-message{border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;min-width:0;padding:9px 8px;display:grid;position:relative}.portal-chat-message:hover{background:#ffffff05}.portal-chat-message__content{min-width:0}.portal-chat-message__content>header{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.portal-chat-message__content>header strong{color:var(--portal-text);font-size:.75rem}.portal-chat-message__content>header span,.portal-chat-message__content>header time{color:var(--portal-subtle);font-size:.61rem}.portal-chat-message__pinned{align-items:center;gap:3px;display:inline-flex;color:var(--portal-violet)!important}.portal-chat-message__pinned svg{width:11px;height:11px}.portal-chat-message__content blockquote{border-left:2px solid var(--portal-violet);color:var(--portal-muted);margin:8px 0 5px;padding-left:9px;font-size:.68rem;display:grid}.portal-chat-message__body{color:var(--portal-text-soft);overflow-wrap:anywhere;margin-top:3px;font-size:.78rem;line-height:1.55}.portal-chat-message__body p{margin:.25em 0}.portal-chat-message__actions{border:1px solid var(--portal-border);background:var(--portal-surface-raised);opacity:0;border-radius:9px;align-self:flex-start;transition:opacity .12s,transform .12s;display:flex;overflow:hidden;transform:translateY(-4px)}.portal-chat-message:hover .portal-chat-message__actions,.portal-chat-message:focus-within .portal-chat-message__actions{opacity:1;transform:translateY(0)}.portal-chat-message__actions button{border-radius:0;width:31px;height:30px}.portal-chat-message__actions button+button{border-left:1px solid var(--portal-border)}.portal-chat-message__actions button svg{width:14px;height:14px}.portal-chat-message--deleted{color:var(--portal-subtle);align-items:center;font-size:.68rem;font-style:italic;display:flex}.portal-chat-message--deleted p{margin:0}.portal-chat-message--deleted time{margin-left:auto;font-size:.6rem}.portal-chat-message__deleted-icon{background:var(--portal-surface-raised);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.portal-chat-message__deleted-icon svg{width:13px}.portal-chat-attachments{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.portal-chat-attachment{border:1px solid var(--portal-border);background:var(--portal-surface-raised);border-radius:10px;align-items:center;gap:10px;width:min(280px,100%);min-width:0;padding:9px;display:flex;overflow:hidden}.portal-chat-attachment:hover{border-color:var(--portal-border-strong)}.portal-chat-attachment>span:first-child{width:34px;height:34px;color:var(--portal-violet);background:#a78bfa1a;border-radius:9px;flex:none;place-items:center;display:grid}.portal-chat-attachment svg{width:17px}.portal-chat-attachment>span:last-child{min-width:0;display:grid}.portal-chat-attachment strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.portal-chat-attachment small{color:var(--portal-subtle);font-size:.61rem}.portal-chat-attachment--image{max-width:330px;padding:5px;display:grid}.portal-chat-attachment--image img{object-fit:cover;border-radius:7px;width:100%;max-height:260px}.portal-chat-reactions{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.portal-chat-reactions button,.portal-chat-reactions>span{border:1px solid var(--portal-border);background:var(--portal-surface-raised);min-height:26px;color:var(--portal-muted);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.65rem;display:inline-flex}.portal-chat-reactions button:hover,.portal-chat-reactions button.is-active{color:var(--portal-text-soft);background:#a78bfa1a;border-color:#a78bfa6b}.portal-thread-link,.portal-thread-summary{width:fit-content;color:var(--portal-subtle);background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;margin-top:8px;padding:4px 7px;font-size:.64rem;display:flex}.portal-thread-link:hover{background:#a78bfa12}.portal-thread-link strong{color:var(--portal-violet)}.portal-thread-link svg,.portal-thread-summary svg{width:14px;height:14px}.portal-chat-timeline__empty{min-height:100%;color:var(--portal-subtle);align-content:center;place-items:center;font-size:.74rem;display:grid}.portal-chat-timeline__empty svg{width:36px;height:36px;color:var(--portal-violet)}.portal-typing-indicator{color:var(--portal-subtle);align-items:center;gap:7px;margin:7px 8px;font-size:.62rem;display:flex}.portal-typing-indicator>span{gap:2px;display:flex}.portal-typing-indicator i{background:var(--portal-violet);border-radius:50%;width:4px;height:4px;animation:1.1s ease-in-out infinite portal-typing}.portal-typing-indicator i:nth-child(2){animation-delay:.12s}.portal-typing-indicator i:nth-child(3){animation-delay:.24s}.portal-chat-composer{border-top:1px solid var(--portal-border);background:var(--portal-surface);padding:11px 13px 14px;position:relative}.portal-chat-composer__reply{border:1px solid var(--portal-border);background:var(--portal-surface-raised);color:var(--portal-muted);border-bottom:0;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;padding:7px 10px;font-size:.65rem;display:flex}.portal-chat-composer__reply button{width:25px;height:25px;color:var(--portal-muted);background:0 0;border:0;place-items:center;display:grid}.portal-chat-composer__reply svg{width:14px}.portal-chat-composer__input{border:1px solid var(--portal-border-strong);background:var(--portal-surface-input);border-radius:12px;align-items:flex-end;gap:5px;min-width:0;padding:5px;display:flex}.portal-chat-composer__reply+.portal-chat-composer__input{border-radius:0 0 12px 12px}.portal-chat-composer__input:focus-within{border-color:var(--portal-violet);box-shadow:0 0 0 3px #a78bfa17}.portal-chat-composer__input>button{width:34px;height:34px;color:var(--portal-muted);background:0 0;border:0;border-radius:9px;flex:none;place-items:center;display:grid}.portal-chat-composer__input>button:hover{background:var(--portal-surface-raised);color:var(--portal-text)}.portal-chat-composer__input>button[type=submit]{background:var(--portal-violet-strong);color:#fff}.portal-chat-composer__input svg{width:17px;height:17px}.portal-chat-composer__input label{flex:1;min-width:0}.portal-chat-composer textarea{resize:none;background:0 0;border:0;outline:none;width:100%;max-height:160px;padding:7px 4px;font-size:.78rem;line-height:1.4;display:block}.portal-chat-composer__upload{color:var(--portal-subtle);margin-top:5px;font-size:.61rem;display:block}.portal-thread-panel{border-left:1px solid var(--portal-border);background:#0e0b14;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.portal-thread-panel>header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;min-height:64px;padding:10px 13px;display:flex}.portal-thread-panel>header h2{margin:0;font-size:.86rem}.portal-thread-panel>header span{color:var(--portal-subtle);font-size:.62rem}.portal-thread-panel__messages{padding:10px 6px;overflow-y:auto}.portal-thread-panel__divider{color:var(--portal-subtle);align-items:center;gap:8px;font-size:.58rem;display:flex}.portal-thread-panel__divider:before,.portal-thread-panel__divider:after{background:var(--portal-border);content:"";flex:1;height:1px}.portal-thread-panel__composer{border-top:1px solid var(--portal-border)}.portal-thread-panel__composer .portal-chat-composer{border-top:0}.portal-ticket-cell{justify-content:space-between;align-items:center;gap:15px;min-width:230px;display:flex}.portal-ticket-cell>span{min-width:0;display:grid}.portal-ticket-cell strong{color:var(--portal-text);align-items:center;gap:7px;display:flex}.portal-ticket-cell span span{color:var(--portal-subtle);font-size:.67rem}.portal-ticket-cell>svg{width:15px;height:15px;color:var(--portal-subtle);flex:none}.portal-ticket-cell:hover strong,.portal-ticket-cell:hover>svg{color:var(--portal-violet)}.portal-unread-dot{background:var(--portal-violet);width:7px;height:7px;box-shadow:0 0 10px var(--portal-violet);border-radius:50%;flex:none}.portal-ticket-detail{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.portal-ticket-detail__main{overflow:hidden}.portal-ticket-detail__header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px;display:flex}.portal-ticket-detail__header a{color:var(--portal-violet);font-size:.7rem}.portal-ticket-detail__header p{color:var(--portal-subtle);font-family:var(--font-geist-mono), monospace;margin:14px 0 3px;font-size:.65rem}.portal-ticket-detail__header h1{letter-spacing:-.035em;margin:0;font-size:1.5rem}.portal-ticket-detail__header>div>div{color:var(--portal-muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;font-size:.71rem;display:flex}.portal-ticket-opening,.portal-ticket-message{grid-template-columns:auto minmax(0,1fr);gap:11px;padding:20px 24px;display:grid}.portal-ticket-opening{background:#a78bfa06}.portal-ticket-opening header,.portal-ticket-message header{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:5px;display:flex}.portal-ticket-opening header strong,.portal-ticket-message header strong{font-size:.76rem}.portal-ticket-opening time,.portal-ticket-message time{color:var(--portal-subtle);font-size:.61rem}.portal-ticket-opening div>div,.portal-ticket-message>div>div{color:var(--portal-text-soft);font-size:.78rem;line-height:1.6}.portal-ticket-transcript__divider{color:var(--portal-subtle);align-items:center;gap:9px;padding:11px 24px;font-size:.61rem;display:flex}.portal-ticket-transcript__divider:before,.portal-ticket-transcript__divider:after{background:var(--portal-border);content:"";flex:1;height:1px}.portal-ticket-message+.portal-ticket-message{border-top:1px solid var(--portal-border)}.portal-ticket-attachments{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.portal-ticket-attachments a{border:1px solid var(--portal-border);background:var(--portal-surface-raised);color:var(--portal-text-soft);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:.65rem;display:inline-flex}.portal-ticket-attachments svg{width:14px}.portal-ticket-detail__composer{border-top:1px solid var(--portal-border);padding:16px 20px 20px}.portal-ticket-detail__sidebar{gap:14px;display:grid}.portal-ticket-detail__sidebar .portal-card{padding:19px}.portal-ticket-detail__sidebar h2{margin:0 0 15px;font-size:.95rem}.portal-ticket-detail__sidebar dl{gap:11px;margin:0;display:grid}.portal-ticket-detail__sidebar dl>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-ticket-detail__sidebar dt{color:var(--portal-subtle);font-size:.67rem}.portal-ticket-detail__sidebar dd{color:var(--portal-text-soft);text-align:right;margin:0;font-size:.7rem}.portal-ticket-detail__sidebar .portal-card>:last-child:not(dl){margin-top:17px}.portal-private-notice,.portal-support-notice,.portal-directory-privacy{color:var(--portal-muted);background:#67e8f90b;border:1px solid #67e8f92b;border-radius:12px;align-items:flex-start;gap:9px;padding:12px;font-size:.68rem;display:flex}.portal-private-notice svg,.portal-support-notice svg,.portal-directory-privacy svg{width:17px;height:17px;color:var(--portal-cyan);flex:none}.portal-private-notice p,.portal-support-notice p,.portal-directory-privacy p{margin:0}.portal-ticket-composer{gap:9px;display:grid}.portal-ticket-composer textarea{border:1px solid var(--portal-border-strong);background:var(--portal-surface-input);resize:vertical;border-radius:11px;outline:none;width:100%;min-height:100px;padding:11px}.portal-ticket-composer textarea:focus{border-color:var(--portal-violet)}.portal-ticket-composer>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-new-ticket-card{width:min(100%,780px);margin-inline:auto;padding:clamp(22px,4vw,38px)}.portal-new-ticket-card>header{align-items:center;gap:14px;margin-bottom:26px;display:flex}.portal-new-ticket-card>header>span{width:48px;height:48px;color:var(--portal-violet);background:#a78bfa1a;border-radius:14px;place-items:center;display:grid}.portal-new-ticket-card>header svg{width:23px}.portal-new-ticket-card h1{margin:0;font-size:1.6rem}.portal-new-ticket-card header p{color:var(--portal-muted);margin:4px 0 0;font-size:.78rem}.portal-new-ticket-card>.portal-alert{margin-bottom:20px}.portal-file-field{border:1px dashed var(--portal-border-strong);background:#ffffff03;border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.portal-file-field>svg{width:20px;color:var(--portal-violet)}.portal-file-field>span{flex:1;display:grid}.portal-file-field strong{font-size:.76rem}.portal-file-field span span{color:var(--portal-subtle);font-size:.64rem}.portal-file-field input{width:min(230px,45%);color:var(--portal-muted);font-size:.68rem}.portal-support-notice>div{min-width:0}.portal-support-notice strong{color:var(--portal-text-soft);font-size:.72rem}.portal-support-notice--success{background:#a3e6350d;border-color:#a3e63533}.portal-support-notice--success svg{color:var(--portal-lime)}.portal-support-notice--warning{background:#fbbf240d;border-color:#fbbf2433}.portal-support-notice--warning svg{color:var(--portal-amber)}.portal-directory{gap:22px;display:grid}.portal-directory__header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.portal-directory__header h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3rem)}.portal-directory__header>div>p:last-child{color:var(--portal-muted);margin:8px 0 0}.portal-directory__header>span{color:var(--portal-muted);align-items:center;gap:7px;font-size:.76rem;display:inline-flex}.portal-directory__header>span svg{width:17px;color:var(--portal-violet)}.portal-directory-filters .portal-search-field{flex:1}.portal-directory-filters .portal-search-field input{width:100%}.portal-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.portal-directory-card{flex-direction:column;min-height:100%;padding:20px;display:flex}.portal-directory-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portal-directory-card__identity{margin-top:15px}.portal-directory-card__identity h2{margin:0;font-size:1.08rem}.portal-directory-card__identity h2 a:hover{color:var(--portal-violet)}.portal-directory-card__identity p{color:var(--portal-muted);margin:2px 0 0;font-size:.74rem}.portal-directory-card__roles,.portal-directory-card__socials,.portal-collaboration-card__tags{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.portal-directory-card__bio{color:var(--portal-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:13px 0 0;font-size:.74rem;display:-webkit-box;overflow:hidden}.portal-directory-card__details{gap:8px;margin:16px 0 0;display:grid}.portal-directory-card__details>div{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:6px;display:grid}.portal-directory-card__details dt{color:var(--portal-subtle);display:inline-flex}.portal-directory-card__details dt svg{width:14px;height:14px}.portal-directory-card__details dd{color:var(--portal-text-soft);margin:0;font-size:.68rem}.portal-directory-card__socials a{border:1px solid var(--portal-border);background:var(--portal-surface-raised);color:var(--portal-muted);border-radius:7px;align-items:center;gap:4px;padding:4px 7px;font-size:.61rem;display:inline-flex}.portal-directory-card__socials a:hover{border-color:var(--portal-border-strong);color:var(--portal-text-soft)}.portal-directory-card__socials svg{width:10px;height:10px}.portal-directory-card>footer{gap:7px;margin-top:auto;padding-top:18px;display:flex}.portal-directory-card>footer .portal-button{flex:1}.portal-collaboration-card{padding:20px;display:grid}.portal-collaboration-card>header{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.portal-collaboration-card>header>div{display:grid}.portal-collaboration-card>header strong{font-size:.74rem}.portal-collaboration-card>header span,.portal-collaboration-card>header time{color:var(--portal-subtle);font-size:.62rem}.portal-collaboration-card__type{color:var(--portal-lime);align-items:center;gap:7px;margin-top:17px;font-size:.66rem;font-weight:700;display:flex}.portal-collaboration-card__type svg{width:15px}.portal-collaboration-card h2{margin:8px 0 0;font-size:1rem}.portal-collaboration-card h2 a:hover{color:var(--portal-violet)}.portal-collaboration-card>p{color:var(--portal-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;font-size:.74rem;display:-webkit-box;overflow:hidden}.portal-collaboration-card__tags span{color:var(--portal-violet);font-size:.64rem}.portal-collaboration-card>a{color:var(--portal-violet);align-items:center;gap:6px;margin-top:17px;font-size:.7rem;font-weight:700;display:inline-flex}.portal-collaboration-card>a svg{width:14px}.portal-admin-tabs{border-bottom:1px solid var(--portal-border);scrollbar-width:thin;overflow-x:auto}.portal-admin-tabs ul{gap:3px;min-width:max-content;margin:0;padding:0;list-style:none;display:flex}.portal-admin-tabs a{min-height:48px;color:var(--portal-muted);align-items:center;gap:7px;padding:0 13px;font-size:.75rem;font-weight:650;display:flex;position:relative}.portal-admin-tabs a:hover{color:var(--portal-text-soft)}.portal-admin-tabs a.is-current{color:var(--portal-text)}.portal-admin-tabs a.is-current:after{background:var(--portal-gradient);content:"";border-radius:999px 999px 0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.portal-admin-tabs svg{width:15px;height:15px}.portal-admin-tabs strong{background:var(--portal-surface-raised);border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.58rem;display:grid}.portal-import-preview{gap:14px;display:grid}.portal-import-file{align-items:center;gap:14px;padding:18px;display:flex}.portal-import-file__icon{width:48px;height:48px;color:var(--portal-lime);background:#a3e63517;border-radius:14px;flex:none;place-items:center;display:grid}.portal-import-file__icon svg{width:24px;height:24px}.portal-import-file>div{flex:1;min-width:0}.portal-import-file h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.portal-import-file>div>p:last-child{color:var(--portal-subtle);margin:3px 0 0;font-size:.66rem}.portal-import-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0;display:grid}.portal-import-metric{border:1px solid var(--portal-border);background:var(--portal-surface);border-radius:12px;flex-direction:column-reverse;justify-content:space-between;min-width:0;min-height:90px;padding:12px;display:flex}.portal-import-metric dt{color:var(--portal-subtle);align-items:center;gap:6px;font-size:.62rem;line-height:1.25;display:flex}.portal-import-metric dt svg{flex:none;width:14px;height:14px}.portal-import-metric dd{color:var(--portal-text);font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0;font-size:1.35rem;font-weight:800}.portal-import-metric--success{border-color:#a3e63533}.portal-import-metric--success dt{color:var(--portal-lime)}.portal-import-metric--warning{border-color:#fbbf243d}.portal-import-metric--warning dt{color:var(--portal-amber)}.portal-import-metric--danger{border-color:#fb718540}.portal-import-metric--danger dt{color:var(--portal-red)}.portal-conflict-panel{overflow:hidden}.portal-conflict-panel>header{border-bottom:1px solid var(--portal-border);gap:12px;padding:18px;display:flex}.portal-conflict-panel__icon{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.portal-conflict-panel__icon--warning{color:var(--portal-amber);background:#fbbf2417}.portal-conflict-panel__icon--danger{color:var(--portal-red);background:#fb718517}.portal-conflict-panel__icon svg{width:19px}.portal-conflict-panel>header>div{min-width:0}.portal-conflict-panel>header>div>div{color:var(--portal-subtle);text-transform:capitalize;align-items:center;gap:8px;font-size:.62rem;display:flex}.portal-conflict-panel h3{margin:7px 0 0;font-size:.92rem}.portal-conflict-panel header p{color:var(--portal-muted);margin:4px 0 0;font-size:.72rem}.portal-conflict-source{border-bottom:1px solid var(--portal-border);background:#ffffff03;flex-wrap:wrap;gap:22px;margin:0;padding:12px 18px;display:flex}.portal-conflict-source>div{display:grid}.portal-conflict-source dt{color:var(--portal-subtle);font-size:.59rem}.portal-conflict-source dd{color:var(--portal-text-soft);margin:2px 0 0;font-size:.7rem}.portal-conflict-options{border:0;gap:7px;margin:0;padding:16px 18px;display:grid}.portal-conflict-options legend{color:var(--portal-muted);padding:0;font-size:.67rem;font-weight:700}.portal-conflict-options label{border:1px solid var(--portal-border);border-radius:11px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.portal-conflict-options label:hover{background:#a78bfa0e;border-color:#a78bfa6b}.portal-conflict-options label:has(input:checked){background:#a78bfa0e;border-color:#a78bfa6b}.portal-conflict-options label>span:not(.portal-avatar):not(.portal-badge){min-width:0;display:grid}.portal-conflict-options label strong{font-size:.73rem}.portal-conflict-options label span span,.portal-conflict-options label small{color:var(--portal-subtle);font-size:.61rem}.portal-conflict-panel>footer{border-top:1px solid var(--portal-border);background:#ffffff03;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.portal-import-upload{padding:22px}.portal-import-upload>header{align-items:flex-start;gap:11px;margin-bottom:18px;display:flex}.portal-import-upload>header>svg{width:22px;height:22px;color:var(--portal-violet)}.portal-import-upload h2{margin:0;font-size:1rem}.portal-import-upload header p{color:var(--portal-muted);margin:4px 0 0;font-size:.72rem}.portal-import-upload>.portal-alert{margin-bottom:14px}.portal-import-upload form{gap:13px;display:grid}.portal-import-upload form>button{justify-self:end}.portal-import-dropzone{border:1px dashed var(--portal-border-strong);text-align:center;background:#a78bfa06;border-radius:14px;align-content:center;place-items:center;min-height:180px;padding:25px;display:grid;position:relative;overflow:hidden}.portal-import-dropzone:hover,.portal-import-dropzone:focus-within{border-color:var(--portal-violet);background:#a78bfa0b}.portal-import-dropzone>svg{width:34px;height:34px;color:var(--portal-violet);margin-bottom:10px}.portal-import-dropzone>span{display:grid}.portal-import-dropzone strong{font-size:.84rem}.portal-import-dropzone span span{color:var(--portal-subtle);font-size:.67rem}.portal-import-dropzone input{opacity:0;position:absolute;inset:0}.portal-import-commit{padding:20px}.portal-import-commit>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.portal-import-commit h2{margin:0;font-size:1rem}.portal-import-commit header p{color:var(--portal-muted);margin:4px 0 0;font-size:.7rem}.portal-import-commit>.portal-alert{margin-top:16px}.portal-import-commit fieldset{border:0;gap:8px;margin:17px 0 0;padding:0;display:grid}.portal-import-commit legend{color:var(--portal-muted);margin-bottom:7px;font-size:.7rem;font-weight:700}.portal-import-commit fieldset label{border:1px solid var(--portal-border);border-radius:10px;align-items:flex-start;gap:10px;padding:11px;display:flex}.portal-import-commit fieldset label:has(input:checked){background:#a78bfa0d;border-color:#a78bfa66}.portal-import-commit fieldset label>span{display:grid}.portal-import-commit fieldset strong{font-size:.73rem}.portal-import-commit fieldset span span{color:var(--portal-subtle);font-size:.63rem}.portal-import-commit>footer{border-top:1px solid var(--portal-border);justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:16px;display:flex}.portal-import-commit>footer p{max-width:560px;color:var(--portal-subtle);align-items:flex-start;gap:7px;margin:0;font-size:.64rem;display:flex}.portal-import-commit>footer p svg{flex:none;width:15px}.portal-audit-timeline{overflow:hidden}.portal-audit-timeline>header{border-bottom:1px solid var(--portal-border);align-items:center;gap:9px;padding:17px 19px;display:flex}.portal-audit-timeline>header svg{width:18px;color:var(--portal-violet)}.portal-audit-timeline h2{margin:0;font-size:.93rem}.portal-audit-timeline ol{margin:0;padding:0;list-style:none}.portal-audit-timeline li{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 18px;display:grid;position:relative}.portal-audit-timeline li+li{border-top:1px solid var(--portal-border)}.portal-audit-timeline__marker{background:var(--portal-subtle);border-radius:50%;width:7px;height:7px}.portal-audit-timeline__marker--accent{background:var(--portal-violet)}.portal-audit-timeline__marker--success{background:var(--portal-lime)}.portal-audit-timeline__marker--warning{background:var(--portal-amber)}.portal-audit-timeline__marker--danger{background:var(--portal-red)}.portal-audit-timeline li>div{min-width:0}.portal-audit-timeline p{color:var(--portal-text-soft);margin:0;font-size:.7rem}.portal-audit-timeline li>div>span,.portal-audit-timeline time{color:var(--portal-subtle);font-size:.61rem;display:block}.portal-audit-timeline li>a svg{width:15px;color:var(--portal-subtle)}.portal-admin-notice{border:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-muted);border-radius:12px;align-items:flex-start;gap:10px;padding:13px;font-size:.72rem;display:flex}.portal-admin-notice>svg{width:18px;color:var(--portal-violet);flex:none}.portal-admin-notice strong{color:var(--portal-text-soft)}.portal-admin-notice--warning{background:#fbbf240d;border-color:#fbbf2438}.portal-admin-notice--warning>svg{color:var(--portal-amber)}.portal-admin-notice--danger{background:#fb71850d;border-color:#fb71853b}.portal-admin-notice--danger>svg{color:var(--portal-red)}@keyframes portal-shimmer{to{background-position:-200% 0}}@keyframes portal-pulse{50%{opacity:.62}}@keyframes portal-typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-3px)}}@media (width<=1240px){.portal-course-grid,.portal-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-import-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-chat-workspace.has-thread{grid-template-columns:230px minmax(360px,1fr) 320px}.portal-user-menu__copy{display:none}}@media (width<=1050px){.auth-shell{grid-template-columns:minmax(330px,.72fr) minmax(470px,1fr)}.auth-brand{padding:40px}.auth-brand__content h1{font-size:clamp(2.3rem,4.8vw,3.6rem)}.portal-topbar{grid-template-columns:minmax(100px,.7fr) minmax(240px,460px) auto}.portal-graduation-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-graduation-hero__stats>div:nth-child(3){border-top:1px solid var(--portal-border);border-left:0}.portal-graduation-hero__stats>div:nth-child(4){border-top:1px solid var(--portal-border)}.portal-quick-actions>div{grid-template-columns:1fr}.portal-academy-editor__workspace{grid-template-columns:minmax(0,1fr) 280px}.portal-chat-workspace.has-thread{grid-template-columns:250px minmax(0,1fr)}.portal-chat-workspace.has-thread .portal-thread-panel{z-index:20;width:min(390px,90%);position:absolute;top:0;bottom:0;right:0;box-shadow:-20px 0 50px #00000061}.portal-chat-workspace.has-thread{position:relative}}@media (width<=900px){.portal-shell,.portal-shell--nav-collapsed{display:block}.portal-sidebar{display:none}.portal-topbar{grid-template-columns:auto minmax(180px,1fr) auto;padding-inline:15px}.portal-topbar__menu{display:inline-flex}.portal-topbar__context,.portal-user-menu{display:none}.portal-main{padding-top:25px}.portal-mobile-layer{z-index:100;display:block;position:fixed;inset:0}.portal-mobile-layer__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000ad;border:0;width:100%;height:100%;position:absolute;inset:0}.portal-mobile-drawer{border-right:1px solid var(--portal-border-strong);width:min(330px,88vw);box-shadow:var(--portal-shadow-lg);background:#0b0910;flex-direction:column;animation:.18s ease-out portal-drawer-in;display:flex;position:absolute;top:0;bottom:0;left:0}.portal-mobile-drawer__header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;min-height:72px;padding:7px 13px 7px 18px;display:flex}.portal-mobile-drawer__header>a{width:132px}.portal-mobile-drawer .portal-nav{min-height:0}.portal-mobile-drawer__user{border-top:1px solid var(--portal-border);align-items:center;gap:10px;padding:13px 18px;display:flex}.portal-mobile-drawer__user>span{min-width:0;display:grid}.portal-mobile-drawer__user strong,.portal-mobile-drawer__user span span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-mobile-drawer__user strong{font-size:.76rem}.portal-mobile-drawer__user span span{color:var(--portal-subtle);font-size:.64rem}.portal-ticket-detail{grid-template-columns:1fr}.portal-ticket-detail__sidebar{grid-row:1;grid-template-columns:1fr 1fr}.portal-academy-editor__workspace{grid-template-columns:1fr}.portal-block-library{grid-row:1;position:static}.portal-block-library ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes portal-drawer-in{0%{transform:translate(-100%)}}@media (width<=780px){.auth-shell{display:block}.auth-brand{display:none}.auth-shell__content{justify-content:center;min-height:100svh;padding:22px}.auth-card__mobile-logo{width:132px;margin-bottom:24px;display:inline-block}.portal-page-header,.portal-academy-editor__header,.portal-directory__header{flex-direction:column;align-items:flex-start}.portal-page-header__actions,.portal-academy-editor__actions{justify-content:flex-start;width:100%}.portal-graduation-hero__progress{flex-direction:column;align-items:flex-start}.portal-graduation-hero__progress .portal-progress-ring{align-self:center}.portal-course-grid,.portal-directory-grid,.portal-chat-workspace,.portal-chat-workspace.has-thread{grid-template-columns:1fr}.portal-chat-workspace>.portal-spaces-sidebar{display:none}.portal-conversation-header__back{display:inline-flex}.portal-ticket-detail__sidebar{grid-template-columns:1fr}.portal-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-table-toolbar{flex-direction:column;align-items:stretch}.portal-table-toolbar__controls .portal-search-field,.portal-table-toolbar__controls .portal-search-field input{width:100%}.portal-table__hide-small{display:none}.portal-file-field{flex-wrap:wrap;align-items:flex-start}.portal-file-field input{width:100%;padding-left:32px}.portal-import-commit>footer{flex-direction:column;align-items:stretch}}@media (width<=620px){:root{--portal-radius-lg:16px;--portal-radius-xl:20px}.portal-topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.portal-global-search kbd,.portal-topbar__actions>:not(.portal-topbar__notifications){display:none}.portal-main{padding:22px 14px 45px}.portal-page-header{margin-bottom:22px}.portal-page-header h1,.portal-directory__header h1{font-size:2rem}.portal-page-header__actions .portal-button{flex:1}.portal-graduation-hero__heading{flex-direction:column;align-items:flex-start}.portal-graduation-hero__total strong{font-size:2.25rem}.portal-graduation-hero__stats{grid-template-columns:1fr 1fr}.portal-graduation-hero__stats>div{padding:14px}.portal-graduation-hero__footer{flex-direction:column;align-items:flex-start}.portal-manager-card__actions{grid-template-columns:1fr}.portal-leaderboard__header{flex-direction:column;align-items:flex-start}.portal-period-form{width:100%}.portal-period-form .portal-select-field{flex:1}.portal-period-form select{width:100%;max-width:none}.portal-leaderboard th,.portal-leaderboard td{padding:12px 9px}.portal-leaderboard__table th:first-child,.portal-leaderboard__table td:first-child{width:52px}.portal-leaderboard__table th:nth-child(2),.portal-leaderboard__table td:nth-child(2){width:48px}.portal-catalog-toolbar,.portal-directory-filters{flex-direction:column;align-items:stretch}.portal-catalog-toolbar .portal-search-field,.portal-catalog-toolbar .portal-select-field,.portal-directory-filters .portal-search-field,.portal-directory-filters .portal-select-field{width:100%}.portal-catalog-toolbar input,.portal-catalog-toolbar select,.portal-directory-filters input,.portal-directory-filters select{width:100%;max-width:none}.portal-editor-block{grid-template-columns:auto auto minmax(0,1fr)}.portal-editor-block>.portal-badge{grid-column:3}.portal-editor-block__actions{border-top:1px solid var(--portal-border);grid-column:1/-1;justify-content:flex-end;padding-top:8px}.portal-block-library ul{grid-template-columns:1fr}.portal-ticket-detail__header{flex-direction:column}.portal-ticket-opening,.portal-ticket-message{padding-inline:15px}.portal-form__grid{grid-template-columns:1fr}.portal-form__actions{flex-direction:column-reverse;align-items:stretch}.portal-import-file{flex-wrap:wrap;align-items:flex-start}.portal-import-file>.portal-badge{margin-left:62px}.portal-import-metrics{grid-template-columns:1fr 1fr}.portal-conflict-options label{grid-template-columns:auto auto minmax(0,1fr)}.portal-conflict-options label>.portal-badge{grid-column:3}.portal-conflict-panel>footer{flex-direction:column-reverse;align-items:stretch}.portal-conflict-panel>footer .portal-button,.portal-import-upload form>button{width:100%}.portal-import-commit fieldset label{padding:10px}.portal-audit-timeline li{grid-template-columns:auto auto minmax(0,1fr)}.portal-audit-timeline li>a{grid-column:3}.auth-card{padding:24px}}@media (width<=430px){.portal-topbar,.portal-global-search{padding-inline:10px}.portal-global-search input::placeholder{color:#0000}.portal-graduation-hero__stats{grid-template-columns:1fr}.portal-graduation-hero__stats>div+div,.portal-graduation-hero__stats>div:nth-child(3){border-top:1px solid var(--portal-border);border-left:0}.portal-directory-card>footer{flex-direction:column;align-items:stretch}.portal-import-metrics{grid-template-columns:1fr}.portal-chat-attachments{display:block}.portal-chat-attachment+.portal-chat-attachment{margin-top:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.portal-progress__fill,.portal-progress-ring,.portal-badge__dot,.portal-unread-dot{forced-color-adjust:none}}.portal-two-column{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;gap:20px;display:grid}.portal-sticky-card{padding:20px;position:sticky;top:84px}.portal-sticky-card>h2,.portal-form-card>h2{margin-top:0}.portal-workflow-form,.portal-admin-action-form{gap:16px;display:grid}.portal-workflow-form label,.portal-admin-action-form label,.portal-inline-form label,.portal-filter-form label{color:var(--portal-muted);gap:7px;font-size:.82rem;font-weight:700;display:grid}.portal-workflow-form input,.portal-workflow-form textarea,.portal-workflow-form select,.portal-admin-action-form input,.portal-admin-action-form textarea,.portal-admin-action-form select,.portal-inline-form input,.portal-inline-form select,.portal-filter-form input,.portal-filter-form select{border:1px solid var(--portal-border);width:100%;min-height:42px;color:var(--portal-text);background:var(--portal-surface-raised);font:inherit;border-radius:10px;padding:10px 12px;font-weight:500}.portal-workflow-form textarea,.portal-admin-action-form textarea{resize:vertical}.portal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.portal-form-actions,.portal-inline-form,.portal-filter-form,.portal-quick-link-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.portal-filter-form{align-items:end}.portal-filter-form label{flex:170px}.portal-inline-form select,.portal-inline-form input{min-width:180px}.portal-role-checkboxes{border:1px solid var(--portal-border);border-radius:12px;flex-wrap:wrap;gap:9px 14px;padding:14px;display:flex}.portal-role-checkboxes legend{color:var(--portal-text);padding-inline:5px;font-weight:800}.portal-role-checkboxes label{grid-auto-flow:column;align-items:center;gap:7px;display:inline-flex}.portal-role-checkboxes input{width:18px;min-height:18px;accent-color:var(--portal-lime)}.portal-form-success,.portal-form-error{border-radius:10px;padding:10px 12px;font-size:.85rem;display:block}.portal-form-success{color:#dfffb0;background:#97d63d1f}.portal-form-error{color:#ffd5df;background:#ff527e21}.portal-admin-card-list,.portal-collaboration-grid,.portal-search-results{gap:14px;display:grid}.portal-admin-card-list>.portal-card,.portal-search-results>.portal-card{padding:18px}.portal-admin-record-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.portal-admin-record-header h2,.portal-admin-record-header p{margin:0}.portal-admin-record-header p{color:var(--portal-muted);margin-top:4px}.portal-admin-card-list details{border-top:1px solid var(--portal-border);margin-top:12px;padding-top:12px}.portal-admin-card-list summary{cursor:pointer;color:var(--portal-text);font-weight:750}.portal-admin-card-list details>:not(summary){margin-top:12px}.portal-profile-card{gap:22px;padding:22px;display:grid}.portal-profile-card__identity,.portal-avatar-upload{align-items:center;gap:18px;display:flex}.portal-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.portal-detail-list>div{border:1px solid var(--portal-border);border-radius:11px;padding:13px}.portal-detail-list dt{color:var(--portal-muted);text-transform:uppercase;font-size:.75rem;font-weight:800}.portal-detail-list dd{margin:5px 0 0}.portal-chat-workspace--empty{grid-template-columns:300px minmax(0,1fr);min-height:600px;display:grid}.portal-chat-empty-selection{place-items:center;padding:30px;display:grid}.portal-chat-error,.portal-chat-pending-file{border-top:1px solid var(--portal-border);color:var(--portal-muted);background:var(--portal-surface-raised);margin:0;padding:8px 14px}.portal-chat-pending-file{justify-content:space-between;gap:12px;display:flex}.portal-chat-pending-file button{color:var(--portal-cyan);cursor:pointer;background:0 0;border:0}.portal-json-detail{max-height:320px;color:var(--portal-muted);background:var(--portal-black);white-space:pre-wrap;border-radius:10px;padding:12px;overflow:auto}.portal-search-results{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.portal-search-results>.portal-card>svg{color:var(--portal-violet)}.portal-workflow-callout{align-items:flex-start;gap:13px;margin-bottom:18px;padding:16px 18px;display:flex}.portal-task-card{margin-bottom:18px;padding:18px}.portal-task-card .portal-section-header{margin-bottom:12px}.portal-workflow-callout>svg{width:21px;height:21px;color:var(--portal-violet);flex:none}.portal-workflow-callout h2{margin:0;font-size:.9rem}.portal-workflow-callout p{color:var(--portal-muted);margin:4px 0 0;font-size:.78rem}.portal-table-secondary{color:var(--portal-subtle);margin-top:2px;font-size:.72rem}.portal-onboarding-summary{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-bottom:16px;padding:17px 19px;display:flex}.portal-onboarding-summary>div{margin-right:auto;display:grid}.portal-onboarding-summary>div span,.portal-onboarding-item__step{color:var(--portal-subtle);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:760}.portal-onboarding-summary>div strong{color:var(--portal-text);font-size:1.35rem}.portal-onboarding-summary>p{width:100%;color:var(--portal-muted);margin:0;font-size:.78rem}.portal-onboarding-list{gap:10px;display:grid}.portal-onboarding-item{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 17px;display:grid}.portal-onboarding-item>svg{width:20px;height:20px;color:var(--portal-violet)}.portal-onboarding-item__status{border:1px solid var(--portal-border);width:26px;height:26px;color:var(--portal-subtle);border-radius:999px;place-items:center;display:grid}.portal-onboarding-item__status.is-complete{color:var(--portal-lime);background:#a3e63517;border-color:#a3e63547}.portal-onboarding-item__status svg{width:14px;height:14px}.portal-onboarding-item h2{margin:2px 0 0;font-size:.9rem}.portal-onboarding-item p{color:var(--portal-muted);margin:3px 0 0;font-size:.77rem}.portal-onboarding-item__action,.portal-onboarding__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.portal-field-help{color:var(--portal-subtle);font-size:.68rem;font-weight:500}.portal-welcome-call-card{gap:16px;display:grid}.portal-record-eyebrow{color:var(--portal-violet);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:.67rem;font-weight:780;display:inline-flex}.portal-record-eyebrow svg{width:14px;height:14px}@media (width<=900px){.portal-two-column,.portal-chat-workspace--empty{grid-template-columns:1fr}.portal-onboarding-item{grid-template-columns:auto auto minmax(0,1fr)}.portal-onboarding-item__action{grid-column:2/-1;justify-content:flex-start}.portal-sticky-card{position:static}.portal-chat-workspace--empty .portal-spaces-sidebar{max-height:420px}}@media (width<=620px){.portal-form-grid,.portal-detail-list{grid-template-columns:1fr}.portal-admin-record-header,.portal-profile-card__identity,.portal-avatar-upload{flex-direction:column;align-items:flex-start}.portal-form-actions>.portal-button,.portal-inline-form>.portal-button{width:100%}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
