/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-md:28rem;--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-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Plus Jakarta Sans", "Inter", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--color-ink:#0f1b3d;--color-ink-soft:#3b4767;--color-mist:#626b83;--color-paper:#f6f7fb;--color-surface:#fff;--color-surface-2:#f9fafc;--color-surface-3:#f1f3f8;--color-line:#e7e9f0;--color-line-strong:#d6dae4;--color-accent:#f0531c;--color-accent-ink:#c2410c;--color-accent-soft:#fff0e8;--color-orange:#f7931e;--color-link:#2156d9;--color-good:#15803d;--color-good-soft:#e9f8ef;--color-warn:#b45309;--color-warn-soft:#fff5e1;--color-bad:#c81e1e;--color-bad-soft:#fdeeee;--color-info:#2156d9;--color-info-soft:#ebf1fe}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}a{color:var(--color-link)}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-16{height:calc(var(--spacing) * 16)}.h-\[18px\]{height:18px}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-\[18px\]{width:18px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[11rem\]{max-width:11rem}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[9rem\]{min-width:9rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[color\:var\(--color-line\)\]{border-color:var(--color-line)}.bg-orange{background-color:var(--color-orange)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:var(--spacing)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[1\.75rem\]{font-size:1.75rem}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-\[color\:var\(--color-accent\)\]{color:var(--color-accent)}.text-\[color\:var\(--color-bad\)\]{color:var(--color-bad)}.text-\[color\:var\(--color-ink\)\]{color:var(--color-ink)}.text-\[color\:var\(--color-ink-soft\)\]{color:var(--color-ink-soft)}.text-\[color\:var\(--color-mist\)\]{color:var(--color-mist)}.text-inherit{color:inherit}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-3:focus{top:calc(var(--spacing) * 3)}.focus\:left-3:focus{left:calc(var(--spacing) * 3)}.focus\:z-\[90\]:focus{z-index:90}.focus\:rounded-lg:focus{border-radius:var(--radius-lg)}.focus\:bg-\[color\:var\(--color-surface\)\]:focus{background-color:var(--color-surface)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}@media (width>=40rem){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=80rem){.xl\:inline{display:inline}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-gradient:linear-gradient(125deg, #f7931e 0%, #f0531c 48%, #c62828 100%);--brand-gradient-strong:linear-gradient(135deg, #ef5a1f 0%, #e03b1a 55%, #c62828 100%);--hero-gradient:radial-gradient(520px 220px at 100% 0%, #f7931e33, transparent 70%), radial-gradient(420px 200px at 0% 120%, #f0531c14, transparent 70%), linear-gradient(120deg, #fff6ef 0%, #fff 72%);--hero-line:#fbe2d4;--focus-ring:0 0 0 3px #f0531c52;--tile-green:#e7f7ee;--tile-green-ink:#15803d;--tile-orange:#fff1e3;--tile-orange-ink:#c2570c;--tile-purple:#f1ebfd;--tile-purple-ink:#6d28d9;--tile-blue:#e8f0fe;--tile-blue-ink:#1d4ed8;--tile-pink:#fde9ef;--tile-pink-ink:#be123c;--wash-green:#f1fbf5;--wash-orange:#fff7f0;--wash-purple:#f8f4ff;--wash-blue:#f2f6ff;--wash-pink:#fff3f6;--chart-present:#16a34a;--chart-absent:#dc2626;--chart-late:#f59e0b;--chart-other:#94a3b8;--chart-track:#eef0f5;--chart-grid:#eceef3;--chart-marks:#7c3aed;--slot-0:#2563eb;--slot-1:#f7931e;--slot-2:#16a34a;--slot-3:#7c3aed;--slot-4:#e11d48;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--shadow-xs:0 1px 2px #0f1b3d0d;--shadow-sm:0 1px 2px #0f1b3d0d, 0 4px 12px -6px #0f1b3d1a;--shadow-md:0 2px 4px #0f1b3d0a, 0 12px 28px -14px #0f1b3d38;--shadow-lg:0 4px 10px #0f1b3d0d, 0 24px 48px -20px #0f1b3d52;--shadow-xl:0 10px 24px #0f1b3d14, 0 40px 80px -24px #0f1b3d66;--shadow-brand:0 10px 22px -12px #e8401cd9;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--z-topbar:30;--z-rail:40;--z-popover:50;--z-modal:60;--z-toast:80;--overlay:#0a143073;--topbar-bg:#ffffffdb;--skeleton-a:#0f1b3d0f;--skeleton-b:#0f1b3d1c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#eef1f8;--color-ink-deep:#fff;--color-ink-soft:#c3c9d8;--color-mist:#98a1b6;--color-paper:#0b1020;--color-surface:#121829;--color-surface-2:#161d31;--color-surface-3:#1d2539;--color-line:#252e45;--color-line-strong:#34405d;--color-accent-ink:#ff8a5c;--color-accent-soft:#f0531c29;--color-link:#7ea6ff;--color-good:#4ade80;--color-good-soft:#4ade801f;--color-warn:#fbbf24;--color-warn-soft:#fbbf2421;--color-bad:#f87171;--color-bad-soft:#f8717121;--color-info:#7ea6ff;--color-info-soft:#7ea6ff21;--hero-gradient:radial-gradient(520px 220px at 100% 0%, #f7931e33, transparent 70%), linear-gradient(120deg, #1d1a24 0%, #121829 72%);--hero-line:#3a2b2b;--tile-green:#4ade8024;--tile-green-ink:#4ade80;--tile-orange:#fb923c26;--tile-orange-ink:#fb923c;--tile-purple:#a78bfa26;--tile-purple-ink:#a78bfa;--tile-blue:#60a5fa26;--tile-blue-ink:#60a5fa;--tile-pink:#fb718526;--tile-pink-ink:#fb7185;--wash-green:#4ade8012;--wash-orange:#fb923c12;--wash-purple:#a78bfa14;--wash-blue:#60a5fa12;--wash-pink:#fb718512;--chart-track:#232b40;--chart-grid:#232b40;--chart-marks:#a78bfa;--overlay:#020612a8;--topbar-bg:#121829d6;--skeleton-a:#ffffff0d;--skeleton-b:#ffffff1a;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 4px 12px -6px #00000080;--shadow-md:0 2px 4px #0000004d, 0 12px 28px -14px #000000b3;--shadow-lg:0 4px 10px #00000059, 0 24px 48px -20px #000c;--shadow-xl:0 10px 24px #0006, 0 40px 80px -24px #000000d9}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#eef1f8;--color-ink-deep:#fff;--color-ink-soft:#c3c9d8;--color-mist:#98a1b6;--color-paper:#0b1020;--color-surface:#121829;--color-surface-2:#161d31;--color-surface-3:#1d2539;--color-line:#252e45;--color-line-strong:#34405d;--color-accent-ink:#ff8a5c;--color-accent-soft:#f0531c29;--color-link:#7ea6ff;--color-good:#4ade80;--color-good-soft:#4ade801f;--color-warn:#fbbf24;--color-warn-soft:#fbbf2421;--color-bad:#f87171;--color-bad-soft:#f8717121;--color-info:#7ea6ff;--color-info-soft:#7ea6ff21;--hero-gradient:radial-gradient(520px 220px at 100% 0%, #f7931e33, transparent 70%), linear-gradient(120deg, #1d1a24 0%, #121829 72%);--hero-line:#3a2b2b;--tile-green:#4ade8024;--tile-green-ink:#4ade80;--tile-orange:#fb923c26;--tile-orange-ink:#fb923c;--tile-purple:#a78bfa26;--tile-purple-ink:#a78bfa;--tile-blue:#60a5fa26;--tile-blue-ink:#60a5fa;--tile-pink:#fb718526;--tile-pink-ink:#fb7185;--wash-green:#4ade8012;--wash-orange:#fb923c12;--wash-purple:#a78bfa14;--wash-blue:#60a5fa12;--wash-pink:#fb718512;--chart-track:#232b40;--chart-grid:#232b40;--chart-marks:#a78bfa;--overlay:#020612a8;--topbar-bg:#121829d6;--skeleton-a:#ffffff0d;--skeleton-b:#ffffff1a;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 4px 12px -6px #00000080;--shadow-md:0 2px 4px #0000004d, 0 12px 28px -14px #000000b3;--shadow-lg:0 4px 10px #00000059, 0 24px 48px -20px #000c;--shadow-xl:0 10px 24px #0006, 0 40px 80px -24px #000000d9}html,body,#root{min-height:100%}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.5}::selection{background:#f0531c33}.font-display{font-family:var(--font-display);letter-spacing:-.015em;font-weight:700}.tabular{font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-mist);font-weight:600}.mono{color:var(--color-mist);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kbd{border:1px solid var(--color-line);border-radius:var(--radius-xs);background:var(--color-surface);font-family:var(--font-body);font-size:var(--text-2xs);color:var(--color-mist);border-bottom-width:2px;align-items:center;gap:.15rem;padding:0 .35rem;font-weight:600;line-height:1.5;display:inline-flex}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:none}}@keyframes lms-spin{to{transform:rotate(360deg)}}@keyframes lms-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes lms-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}.lms-shell{--rail-w:248px;grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns var(--dur-base) var(--ease-out);display:grid}.lms-shell.is-collapsed{--rail-w:76px}.lms-rail{z-index:var(--z-rail);height:100vh;padding:var(--space-4) var(--space-3) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-line);flex-direction:column;align-self:start;display:flex;position:sticky;top:0}.rail-scroll{min-height:0;margin:0 calc(-1 * var(--space-1));padding:0 var(--space-1);scrollbar-width:thin;flex:1;overflow:hidden auto}.rail-brand{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-5);text-decoration:none;display:flex}.rail-section{margin:var(--space-4) var(--space-3) var(--space-1);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-mist);font-weight:600}.rail-link{align-items:center;gap:var(--space-3);width:100%;min-height:2.5rem;padding:.55rem var(--space-3);border-radius:var(--radius-md);color:var(--color-ink-soft);font:inherit;font-size:var(--text-base);cursor:pointer;text-align:left;transition:background var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-base) ease;background:0 0;border:0;font-weight:500;text-decoration:none;display:flex;position:relative}.rail-link:hover{background:var(--color-surface-3);color:var(--color-ink)}.rail-link.is-active{background:var(--brand-gradient-strong);color:#fff;box-shadow:var(--shadow-brand)}.rail-link.is-open:not(.is-active){color:var(--color-ink)}.rail-link.is-soon{cursor:default;color:var(--color-mist)}.rail-link.is-soon:hover{background:0 0}.rail-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.rail-soon{border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-mist);margin-left:auto;padding:.1rem .45rem;font-size:10px;font-weight:600}.rail-sub{border-left:1px solid var(--color-line);padding-left:var(--space-2);animation:fade-in var(--dur-base) ease;margin:.15rem 0 .4rem 1.55rem}.rail-sublink{border-radius:var(--radius-sm);color:var(--color-ink-soft);font-size:var(--text-sm);transition:background var(--dur-fast) ease, color var(--dur-fast) ease;align-items:center;gap:.35rem;padding:.4rem .6rem;text-decoration:none;display:flex}.rail-sublink:hover{background:var(--color-surface-3);color:var(--color-ink)}.rail-sublink.is-active{color:var(--color-accent-ink);background:var(--color-accent-soft);font-weight:600}.rail-foot{align-items:center;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-2);border-top:1px solid var(--color-line);display:flex}.rail-collapse{margin-left:auto}.lms-shell.is-collapsed .rail-label,.lms-shell.is-collapsed .rail-soon,.lms-shell.is-collapsed .rail-sub,.lms-shell.is-collapsed .rail-wordmark,.lms-shell.is-collapsed .rail-section{display:none}.lms-shell.is-collapsed .rail-link{justify-content:center;padding:.6rem}.lms-shell.is-collapsed .rail-scroll{overflow:visible}.lms-shell.is-collapsed .rail-brand{padding:var(--space-1) 0 var(--space-5);justify-content:center}.lms-shell.is-collapsed .rail-foot{flex-direction:column}.lms-shell.is-collapsed .rail-collapse{margin-left:0}.lms-main{flex-direction:column;min-width:0;display:flex}.lms-topbar{z-index:var(--z-topbar);align-items:center;gap:var(--space-3);min-height:4rem;padding:var(--space-3) var(--space-6);background:var(--topbar-bg);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--color-line);display:flex;position:sticky;top:0}.topbar-menu{display:none!important}.top-search{align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-2);min-width:0;max-width:460px;height:2.5rem;padding:0 var(--space-2) 0 var(--space-3);font:inherit;font-size:var(--text-base);color:var(--color-mist);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, box-shadow var(--dur-fast) ease;flex:1;display:flex}.top-search:hover{border-color:var(--color-line-strong);background:var(--color-surface)}.top-search-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.icon-btn{border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-ink-soft);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) ease;flex-shrink:0;place-items:center;text-decoration:none;display:inline-grid;position:relative}.icon-btn:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-ink);border-color:var(--color-line-strong)}.icon-btn:active:not(:disabled){transform:scale(.95)}.icon-btn:disabled{cursor:not-allowed;opacity:.5}.icon-btn.is-ghost{background:0 0;border-color:#0000}.icon-btn.is-sm{border-radius:var(--radius-sm);width:2rem;height:2rem}.icon-btn-dot{border-radius:var(--radius-full);background:var(--color-accent);border:2px solid var(--color-surface);width:.5rem;height:.5rem;position:absolute;top:.5rem;right:.55rem}.user-chip{align-items:center;gap:var(--space-2);cursor:pointer;font:inherit;color:var(--color-ink);border-radius:var(--radius-md);transition:background var(--dur-fast) ease;background:0 0;border:0;padding:.25rem .4rem .25rem .25rem;display:flex;position:relative}.user-chip:hover{background:var(--color-surface-3)}.avatar{border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;width:2.25rem;height:2.25rem;font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #fff3}.avatar.is-sm{width:1.75rem;height:1.75rem;font-size:var(--text-2xs)}.avatar.is-lg{width:3rem;height:3rem;font-size:var(--text-md)}.avatar.hue-1{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.avatar.hue-2{background:linear-gradient(135deg,#10b981,#047857)}.avatar.hue-3{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.avatar.hue-4{background:linear-gradient(135deg,#f43f5e,#be123c)}.menu{z-index:var(--z-popover);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);min-width:15rem;box-shadow:var(--shadow-lg);text-align:left;animation:pop-in var(--dur-fast) var(--ease-out);transform-origin:100% 0;padding:.35rem;position:absolute;top:calc(100% + .4rem);right:0}.menu-head{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-line);margin-bottom:.25rem;display:flex}.menu-label{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist);padding:.4rem .6rem .2rem;font-weight:600}.menu-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);width:100%;font:inherit;font-size:var(--text-base);color:var(--color-ink);cursor:pointer;background:0 0;border:0;padding:.55rem .6rem;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--color-surface-3)}.menu-item.is-on{color:var(--color-accent-ink);font-weight:600}.menu-item.is-danger{color:var(--color-bad)}.menu-sep{background:var(--color-line);height:1px;margin:.3rem 0}.lms-content{padding:var(--space-6) var(--space-6) var(--space-10);width:100%;max-width:1360px;margin:0 auto}.route-view{animation:fade-up var(--dur-slow) var(--ease-out)}.rail-backdrop{display:none}@media (width<=1199px) and (width>=900px){.lms-shell:not(.is-expanded){--rail-w:76px}.lms-shell:not(.is-expanded) .rail-label,.lms-shell:not(.is-expanded) .rail-soon,.lms-shell:not(.is-expanded) .rail-sub,.lms-shell:not(.is-expanded) .rail-wordmark,.lms-shell:not(.is-expanded) .rail-section{display:none}.lms-shell:not(.is-expanded) .rail-link{justify-content:center;padding:.6rem}.lms-shell:not(.is-expanded) .rail-brand{padding:var(--space-1) 0 var(--space-5);justify-content:center}.lms-shell:not(.is-expanded) .rail-foot{flex-direction:column}.lms-shell:not(.is-expanded) .rail-collapse{margin-left:0}.lms-topbar,.lms-content{padding-left:var(--space-5);padding-right:var(--space-5)}}@media (width<=899px){.lms-shell,.lms-shell.is-collapsed{grid-template-columns:minmax(0,1fr)}.lms-rail{width:min(300px,86vw);height:100dvh;z-index:var(--z-modal);visibility:hidden;box-shadow:var(--shadow-xl);transition:transform var(--dur-slow) var(--ease-out), visibility 0s linear var(--dur-slow);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.lms-shell.is-drawer-open .lms-rail{visibility:visible;transition:transform var(--dur-slow) var(--ease-out);transform:none}.lms-shell.is-collapsed .rail-label,.lms-shell.is-collapsed .rail-wordmark{display:inline}.lms-shell.is-collapsed .rail-soon{display:inline-block}.lms-shell.is-collapsed .rail-sub,.lms-shell.is-collapsed .rail-section{display:block}.lms-shell.is-collapsed .rail-link{padding:.55rem var(--space-3);justify-content:flex-start}.lms-shell.is-collapsed .rail-brand{padding:var(--space-1) var(--space-2) var(--space-5);justify-content:flex-start}.lms-shell.is-collapsed .rail-foot{flex-direction:row}.rail-collapse{display:none!important}.rail-backdrop{z-index:calc(var(--z-modal) - 1);background:var(--overlay);animation:fade-in var(--dur-base) ease;display:block;position:fixed;inset:0}.topbar-menu{display:inline-grid!important}.lms-topbar{padding:var(--space-2) var(--space-4);gap:var(--space-2);min-height:3.5rem}.lms-content{padding:var(--space-4) var(--space-4) var(--space-8)}.user-chip-text,.user-chip-caret{display:none}.top-search{max-width:none}.top-search .kbd{display:none}}.topbar-brand{display:none}@media (width<=899px){.topbar-brand{display:inline-flex}}@media (width<=520px){.top-search-text{display:none}.top-search{flex:none;justify-content:center;width:2.5rem;margin-left:auto;padding:0}.lms-topbar .topbar-actions{margin-left:0}}.crumbs{font-size:var(--text-sm);color:var(--color-mist);flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0;display:flex}.crumbs ol{display:contents}.crumbs li{align-items:center;gap:.25rem;min-width:0;display:inline-flex}.crumbs a{color:var(--color-mist);border-radius:var(--radius-xs);padding:.1rem .25rem;text-decoration:none}.crumbs a:hover{color:var(--color-ink);background:var(--color-surface-3)}.crumbs [aria-current=page]{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;max-width:min(22rem,60vw);padding:.1rem .25rem;font-weight:600;overflow:hidden}.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none!important}}.auth-hero{justify-content:space-between;gap:var(--space-8);padding:var(--space-10);background:radial-gradient(600px 380px at 110% 110%, #c6282873, transparent 60%), radial-gradient(520px 320px at -10% 120%, #f7931e73, transparent 60%), var(--color-surface);border-right:1px solid var(--color-line);flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-panel{padding:var(--space-8) var(--space-5);background:var(--color-paper);place-items:center;display:grid}.auth-card{width:100%;max-width:400px;padding:var(--space-8);animation:pop-in var(--dur-slow) var(--ease-out)}@media (width<=480px){.auth-card{padding:var(--space-6) var(--space-5)}}.card{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-5)}.card-hover{transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) ease}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-line-strong);transform:translateY(-2px)}.card-hover:active{transform:translateY(0)}.field{border-radius:var(--radius-sm);border:1px solid var(--color-line-strong);background:var(--color-surface);width:100%;min-height:2.5rem;color:var(--color-ink);font:inherit;font-size:var(--text-base);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;outline:none;padding:.55rem .75rem}.field::placeholder{color:var(--color-mist)}.field:focus,.field:focus-visible{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.field:disabled{background:var(--color-surface-2);color:var(--color-mist);cursor:not-allowed}.field[aria-invalid=true]{border-color:var(--color-bad)}select.field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23778199' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;padding-right:2.2rem}.form-field{display:block}.form-label{font-size:var(--text-sm);color:var(--color-ink);align-items:baseline;gap:.25rem;font-weight:600;display:flex}.form-required{color:var(--color-bad)}.form-help,.field-hint{font-size:var(--text-xs);color:var(--color-mist);margin-top:.1rem;font-weight:400;display:block}.form-error{font-size:var(--text-xs);color:var(--color-bad);align-items:center;gap:.3rem;margin-top:.3rem;font-weight:500;display:flex}.detail-label{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist);margin:0;font-weight:600}.btn-primary,.btn-secondary,.btn-danger,.btn-quiet{border-radius:var(--radius-sm);min-height:2.5rem;font:inherit;font-size:var(--text-base);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-base) ease, transform var(--dur-fast) ease, filter var(--dur-fast) ease;justify-content:center;align-items:center;gap:.45rem;padding:.5rem 1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(1px)scale(.99)}.btn-primary{background:var(--brand-gradient-strong);color:#fff;box-shadow:var(--shadow-brand), inset 0 1px 0 #ffffff2e;text-shadow:0 1px 1px #78140040;border:0}.btn-primary:hover:not(:disabled){filter:brightness(1.05)saturate(1.05);box-shadow:0 14px 26px -12px #e8401ce6,inset 0 1px #fff3}.btn-secondary{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2);border-color:#8991a6}@supports (color:color-mix(in lab, red, red)){.btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-line-strong) 50%, var(--color-ink-soft))}}.btn-danger{border:1px solid #c81e1e59}@supports (color:color-mix(in lab, red, red)){.btn-danger{border:1px solid color-mix(in srgb, var(--color-bad) 35%, transparent)}}.btn-danger{background:var(--color-bad-soft);color:var(--color-bad)}.btn-danger:hover:not(:disabled){background:#f6dbdb}@supports (color:color-mix(in lab, red, red)){.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-bad) 16%, var(--color-surface))}}.btn-danger.is-solid{color:#fff;background:#c81e1e;border-color:#0000}.btn-danger.is-solid:hover:not(:disabled){background:#b31919}.btn-quiet{color:var(--color-ink-soft);background:0 0;border:0;padding:.45rem .65rem}.btn-quiet:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-ink)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-quiet:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-primary[aria-busy=true],.btn-secondary[aria-busy=true],.btn-danger[aria-busy=true]{opacity:.85;cursor:progress}.btn-sm{min-height:2rem;font-size:var(--text-sm);padding:.3rem .7rem}.btn-lg{min-height:2.875rem;font-size:var(--text-md);padding:.7rem 1.3rem}.btn-block{width:100%}.btn-spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;flex:none;width:1em;height:1em;animation:.7s linear infinite lms-spin}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th{text-align:left;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist);border-bottom:1px solid var(--color-line);background:var(--color-surface-2);white-space:nowrap;padding:.65rem 1rem;font-weight:600}.table td{border-bottom:1px solid var(--color-line);vertical-align:middle;padding:.75rem 1rem}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--dur-fast) ease}.table tbody tr:hover{background:var(--color-surface-2)}.row-link{color:var(--color-ink);font-weight:600;text-decoration:none}.row-link:hover{color:var(--color-accent-ink);text-underline-offset:2px;text-decoration:underline}@media (width<=640px){.table.is-responsive thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.table.is-responsive,.table.is-responsive tbody,.table.is-responsive tr,.table.is-responsive td{width:100%;display:block}.table.is-responsive tr{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line)}.table.is-responsive tbody tr:last-child{border-bottom:0}.table.is-responsive td{justify-content:space-between;align-items:baseline;gap:var(--space-3);text-align:right;overflow-wrap:anywhere;border:0;padding:.2rem 0;display:flex}.table.is-responsive td:first-child{text-align:left;font-size:var(--text-md);padding-bottom:.35rem}.table.is-responsive td[data-label]:before{content:attr(data-label);font-size:var(--text-xs);color:var(--color-mist);text-align:left;flex-shrink:0;font-weight:500}.table.is-responsive td:first-child:before,.table.is-responsive td:empty{display:none}}.pill{border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.35rem;padding:.12rem .6rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.pill-neutral{background:var(--color-surface-3);border-color:var(--color-line);color:var(--color-ink-soft)}.pill-good{background:var(--color-good-soft);border-color:#15803d3d}@supports (color:color-mix(in lab, red, red)){.pill-good{border-color:color-mix(in srgb, var(--color-good) 24%, transparent)}}.pill-good{color:var(--color-good)}.pill-warn{background:var(--color-warn-soft);border-color:#b4530942}@supports (color:color-mix(in lab, red, red)){.pill-warn{border-color:color-mix(in srgb, var(--color-warn) 26%, transparent)}}.pill-warn{color:var(--color-warn)}.pill-bad{background:var(--color-bad-soft);border-color:#c81e1e3d}@supports (color:color-mix(in lab, red, red)){.pill-bad{border-color:color-mix(in srgb, var(--color-bad) 24%, transparent)}}.pill-bad{color:var(--color-bad)}.pill-info{background:var(--color-info-soft);border-color:#2156d93d}@supports (color:color-mix(in lab, red, red)){.pill-info{border-color:color-mix(in srgb, var(--color-info) 24%, transparent)}}.pill-info{color:var(--color-info)}.pill-brand{background:var(--color-accent-soft);border-color:#f0531c3d}@supports (color:color-mix(in lab, red, red)){.pill-brand{border-color:color-mix(in srgb, var(--color-accent) 24%, transparent)}}.pill-brand{color:var(--color-accent-ink)}.pill-dot{border-radius:var(--radius-full);background:currentColor;width:.4rem;height:.4rem}a.pill:hover{filter:brightness(.97)}.status-pill{border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-ink);font-size:var(--text-xs);align-items:center;padding:.12rem .6rem;font-weight:600;display:inline-flex}.notice{align-items:center;gap:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid #c81e1e42;flex-wrap:wrap;display:flex}@supports (color:color-mix(in lab, red, red)){.notice{border:1px solid color-mix(in srgb, var(--color-bad) 26%, transparent)}}.notice{background:var(--color-bad-soft);color:var(--color-bad);font-size:var(--text-base);animation:fade-in var(--dur-base) ease;padding:.65rem .9rem}.notice-good{border-color:#15803d42}@supports (color:color-mix(in lab, red, red)){.notice-good{border-color:color-mix(in srgb, var(--color-good) 26%, transparent)}}.notice-good{background:var(--color-good-soft);color:var(--color-good)}.notice-info{border-color:#2156d938}@supports (color:color-mix(in lab, red, red)){.notice-info{border-color:color-mix(in srgb, var(--color-info) 22%, transparent)}}.notice-info{background:var(--color-info-soft);color:var(--color-ink-soft)}.notice-body{flex:1;min-width:12rem}.notice-icon{flex-shrink:0}.notice .btn-secondary{min-height:2rem;font-size:var(--text-sm);padding:.25rem .7rem}.modal-backdrop{z-index:var(--z-modal);padding:max(1.5rem, 6vh) var(--space-4) var(--space-4);background:var(--overlay);-webkit-backdrop-filter:blur(4px);animation:fade-in var(--dur-base) ease;place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{border-radius:var(--radius-xl);border:1px solid var(--color-line);background:var(--color-surface);width:min(480px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow-xl);animation:pop-in var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-card.is-md{width:min(640px,100%)}.modal-card.is-lg{width:min(760px,100%)}.modal-head{align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-line);display:flex}.modal-title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;font-weight:700;line-height:1.25}.modal-desc{font-size:var(--text-sm);color:var(--color-mist);margin-top:.2rem}.modal-close{margin-top:-.25rem;margin-left:auto;margin-right:-.5rem}.modal-body{min-height:0;padding:var(--space-5) var(--space-6);flex:1;overflow-y:auto}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-line);background:var(--color-surface-2);flex-wrap:wrap;display:flex}.modal-foot-note{font-size:var(--text-xs);color:var(--color-mist);margin-right:auto}.drawer-backdrop{place-items:stretch end;padding:0}.drawer-card{border-radius:var(--radius-xl) 0 0 var(--radius-xl);width:min(520px,100vw);height:100dvh;max-height:none;animation:slide-in-right var(--dur-slow) var(--ease-out)}@media (width<=640px){.modal-backdrop{padding:var(--space-4) 0 0;place-items:end stretch}.modal-card,.modal-card.is-md,.modal-card.is-lg{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92dvh;animation:fade-up var(--dur-slow) var(--ease-out)}.modal-head,.modal-body,.modal-foot{padding-left:var(--space-4);padding-right:var(--space-4)}.modal-foot>.btn-primary,.modal-foot>.btn-secondary,.modal-foot>.btn-danger{flex:1 1 0}.modal-foot-note{flex-basis:100%}.drawer-card{border-radius:0}}.palette{width:min(620px,100%)}.palette-input{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line);color:var(--color-mist);display:flex}.palette-input input{min-width:0;font:inherit;font-size:var(--text-md);color:var(--color-ink);background:0 0;border:0;outline:none;flex:1}.palette-input input:focus-visible{box-shadow:none}.palette-list{max-height:min(58vh,460px);padding:var(--space-2);overflow-y:auto}.palette-group{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist);font-weight:600}.palette-item{align-items:center;gap:var(--space-3);width:100%;padding:.5rem var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);text-align:left;color:var(--color-ink);cursor:pointer;background:0 0;border:0;display:flex}.palette-item .tile-icon{border-radius:var(--radius-sm);width:2rem;height:2rem}.palette-item[aria-selected=true]{background:var(--color-accent-soft)}.palette-item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.palette-item-meta{font-size:var(--text-xs);color:var(--color-mist);white-space:nowrap}.palette-foot{gap:var(--space-4);padding:var(--space-2) var(--space-5);border-top:1px solid var(--color-line);background:var(--color-surface-2);font-size:var(--text-xs);color:var(--color-mist);flex-wrap:wrap;display:flex}.toaster{right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(380px,100vw - 2rem);display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--text-base);color:var(--color-ink);pointer-events:auto;animation:pop-in var(--dur-base) var(--ease-spring);display:flex}.toast-icon{flex-shrink:0;margin-top:.1rem}.toast.is-success .toast-icon{color:var(--color-good)}.toast.is-error .toast-icon{color:var(--color-bad)}.toast.is-info .toast-icon{color:var(--color-info)}.toast-body{flex:1;min-width:0;padding-top:.05rem}@media (width<=640px){.toaster{left:50%;right:auto;bottom:var(--space-4);transform:translate(-50%)}}.tt{display:inline-flex;position:relative}.tt.is-block{display:flex}.tt-bubble{z-index:var(--z-popover);border-radius:var(--radius-xs);color:#fff;font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) ease, transform var(--dur-fast) ease, visibility 0s linear var(--dur-fast);background:#0f1b3d;padding:.3rem .55rem;font-weight:500;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,-2px)}.tt.is-right .tt-bubble{top:50%;left:calc(100% + 8px);transform:translate(-2px,-50%)}.tt:hover>.tt-bubble,.tt:focus-within>.tt-bubble{opacity:1;visibility:visible;transition-delay:.25s;transform:translate(-50%)}.tt.is-right:hover>.tt-bubble,.tt.is-right:focus-within>.tt-bubble{transform:translateY(-50%)}:root[data-theme=dark] .tt-bubble{color:#0f1b3d;background:#eef1f8}.tt.is-off>.tt-bubble{display:none}@media (hover:none){.tt-bubble{display:none}}.field-check{align-items:center;gap:var(--space-2);min-height:2.5rem;font-size:var(--text-md);padding:0 .25rem;display:inline-flex}.field-check input{width:1.05rem;height:1.05rem;accent-color:var(--color-accent)}.field-color{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.field-color-swatch{border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;width:2.5rem;height:2.5rem;padding:0}.field-color-swatch:disabled{opacity:.55;cursor:not-allowed}.field-color-hex{letter-spacing:.02em;flex:8rem;min-width:8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field-color-preview{border-radius:var(--radius-full);border:1px solid var(--color-line-strong);flex:none;width:1.35rem;height:1.35rem}.field-url{gap:.65rem;display:grid}.field-url-preview{border-radius:var(--radius-md);border:1px dashed var(--color-line-strong);background:var(--color-surface-2);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.field-url-preview-img{object-fit:contain;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-line);width:3.25rem;height:3.25rem}.field-url-preview-error{font-size:var(--text-sm);color:var(--color-bad);margin:0}.field-url-open{font-size:var(--text-sm);color:var(--color-accent-ink);font-weight:600;text-decoration:none}.field-url-open:hover{text-decoration:underline}.detail-color,.trail-color{align-items:center;gap:.45rem;display:inline-flex}.color-swatch{border-radius:var(--radius-full);border:1px solid var(--color-line-strong);flex:none;width:.85rem;height:.85rem}.color-swatch-lg{width:1.35rem;height:1.35rem}.detail-url{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.detail-url-logo{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-line);background:var(--color-surface);width:2.5rem;height:2.5rem}.combo{position:relative}.combo-selected{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-2);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.5rem;padding:.4rem .7rem;display:flex}.combo-selected:focus-within{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.combo-selected-label{font-weight:600}.combo-clear{color:var(--color-accent-ink);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;font-weight:600}.combo-menu,.mpv-menu{z-index:var(--z-popover);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);max-height:260px;box-shadow:var(--shadow-lg);animation:pop-in var(--dur-fast) var(--ease-out);margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .3rem);left:0;right:0;overflow:auto}.combo-option,.mpv-option{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;font:inherit;color:var(--color-ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.combo-option:hover,.combo-option:focus-visible,.mpv-option:hover,.mpv-option:focus-visible{background:var(--color-surface-3);box-shadow:none;outline:none}.combo-option-meta{font-size:var(--text-xs);color:var(--color-mist)}.combo-empty,.mpv-empty{color:var(--color-mist);font-size:var(--text-sm);padding:.65rem .7rem}.file-field{gap:var(--space-2);flex-direction:column;display:flex}.dropzone{width:100%;padding:var(--space-5) var(--space-4);border:1.5px dashed var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-mist);font:inherit;font-size:var(--text-sm);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, transform var(--dur-fast) ease;flex-direction:column;align-items:center;gap:.3rem;display:flex}.dropzone:hover,.dropzone:focus-visible{border-color:var(--color-accent);background:var(--color-accent-soft)}.dropzone.is-over{border-color:var(--color-accent);background:var(--color-accent-soft);transform:scale(1.01)}.dropzone:disabled{cursor:not-allowed;opacity:.6}.dropzone-icon{border-radius:var(--radius-md);background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-accent);box-shadow:var(--shadow-xs);place-items:center;margin-bottom:.15rem;display:grid}.dropzone-title{color:var(--color-ink);font-weight:600}.dropzone-title u{color:var(--color-accent-ink);text-underline-offset:2px}.file-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.file-chip{align-items:center;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);animation:fade-in var(--dur-base) ease;padding:.5rem .4rem .5rem .55rem;display:flex;position:relative;overflow:hidden}.file-chip-icon{border-radius:var(--radius-sm);background:var(--tile-blue);width:2rem;height:2rem;color:var(--tile-blue-ink);flex-shrink:0;place-items:center;display:grid}.file-chip-main{flex:1;min-width:0}.file-chip-name{max-width:100%;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:0;font-weight:600;display:block;overflow:hidden}.file-chip-name:hover{color:var(--color-accent-ink);text-decoration:underline}.file-chip-meta{font-size:var(--text-xs);color:var(--color-mist);display:block}.file-progress{background:var(--brand-gradient);height:2px;transition:width var(--dur-base) ease;position:absolute;bottom:0;left:0}.file-empty{font-size:var(--text-sm);color:var(--color-mist);margin:0}.file-error{font-size:var(--text-xs);color:var(--color-bad);margin:0}.mpv{position:relative}.mpv-box{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:2.5rem;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem .6rem;display:flex}.mpv-box.is-open,.mpv-box:focus-within{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.mpv-box.is-disabled{opacity:.65;cursor:not-allowed}.mpv-placeholder{color:var(--color-mist);font-size:var(--text-base)}.mpv-chips,.mpv-chips-readonly{flex-wrap:wrap;gap:.35rem;display:flex}.mpv-chip{border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-ink);font-size:var(--text-xs);align-items:center;gap:.3rem;max-width:100%;padding:.15rem .55rem;font-weight:600;display:inline-flex}.mpv-chip-x{color:var(--color-accent-ink);cursor:pointer;background:0 0;border:0;padding:0 .1rem;font-size:1rem;line-height:1}.mpv-input{min-width:6rem;font:inherit;color:var(--color-ink);background:0 0;border:0;outline:none;flex:7rem;padding:.15rem .1rem}.mpv-input:focus-visible{box-shadow:none}.record-detail{animation:fade-up var(--dur-slow) var(--ease-out)}.record-hero{border-radius:var(--radius-xl);border:1px solid var(--color-line);background:radial-gradient(720px 260px at 0% -30%, #f0531c1a, transparent 55%), var(--color-surface);padding:var(--space-6);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.record-hero-main{align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.record-hero-icon{border-radius:var(--radius-lg);color:#fff;background:var(--brand-gradient);width:3.25rem;height:3.25rem;box-shadow:var(--shadow-brand);flex-shrink:0;place-items:center;display:grid}.record-hero-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.record-hero-ops{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex}.ops-toolbar{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.detail-section-sub{font-size:var(--text-xs);color:var(--color-mist);margin:0;font-weight:500}.detail-grid{gap:0 var(--space-6);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.detail-cell{padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);min-width:0}.detail-value{font-size:var(--text-md);overflow-wrap:anywhere;margin-top:.25rem;line-height:1.4}.field-empty{color:var(--color-mist)}.trail-timeline{flex-direction:column;margin:0;padding:0 0 0 .35rem;list-style:none;display:flex;position:relative}.trail-timeline:before{content:"";border-radius:var(--radius-full);background:linear-gradient(180deg, #f0531c80, var(--color-line));width:2px;position:absolute;top:.35rem;bottom:.35rem;left:.55rem}.trail-item{gap:var(--space-3);padding:var(--space-3) .25rem var(--space-3) 0;grid-template-columns:1.2rem 1fr;display:grid;position:relative}.trail-dot{border-radius:var(--radius-full);background:var(--color-surface);border:2px solid var(--color-accent);width:.72rem;height:.72rem;box-shadow:0 0 0 4px var(--color-accent-soft);z-index:1;margin-top:.28rem}.trail-body{min-width:0}.trail-label{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist);margin:0;font-weight:600}.trail-value{color:var(--color-ink);margin-top:.2rem;font-weight:600;display:inline-block}.trail-item.trail-created_by .trail-dot,.trail-item.trail-created_at .trail-dot,.trail-item.trail-created_time .trail-dot{border-color:var(--color-good);box-shadow:0 0 0 4px var(--color-good-soft)}.trail-item.trail-owned_by .trail-dot{border-color:var(--color-ink-soft);box-shadow:0 0 0 4px var(--color-surface-3)}@media (width<=720px){.record-hero{padding:var(--space-4)}.record-hero-actions>*{flex:auto}}.list-page{animation:fade-up var(--dur-slow) var(--ease-out)}.list-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.list-hero-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.list-hero-icon{border-radius:var(--radius-md);background:var(--color-accent-soft);width:2.75rem;height:2.75rem;color:var(--color-accent-ink);flex:none;place-items:center;display:grid}.list-hero-blurb{max-width:38rem;font-size:var(--text-base);color:var(--color-mist);margin:.15rem 0 0}.list-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.list-toolbar-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.list-search{align-items:center;min-width:min(100%,17rem);display:flex;position:relative}.list-search-icon{width:1rem;height:1rem;color:var(--color-mist);pointer-events:none;position:absolute;left:.75rem}.list-search-input{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:15rem;height:2.5rem;font:inherit;color:var(--color-ink);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;padding:.5rem 2.2rem .5rem 2.25rem}.list-search-input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.list-search-clear{border-radius:var(--radius-full);background:var(--color-surface-3);width:1.6rem;height:1.6rem;color:var(--color-ink-soft);cursor:pointer;border:0;place-items:center;display:grid;position:absolute;right:.45rem}.list-search-clear:hover{background:var(--color-accent-soft);color:var(--color-accent-ink)}.list-card{position:relative}.list-card-meta{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);flex-wrap:wrap;display:flex}.list-card-count{font-size:var(--text-sm);color:var(--color-mist);margin:0}.list-card-count strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-weight:600}.list-card-query{font-size:var(--text-xs);color:var(--color-mist);margin:0}.list-row-clickable{cursor:pointer}.list-row-clickable:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent);background:var(--color-accent-soft)}.list-view-bar{border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface);width:fit-content;max-width:100%;box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:center;gap:.25rem;padding:.25rem;display:flex}.list-view-tab{border-radius:var(--radius-sm);min-height:2rem;color:var(--color-ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:0;align-items:center;gap:.35rem;padding:.3rem .8rem;font-weight:600;display:inline-flex}.list-view-tab:hover{background:var(--color-surface-3);color:var(--color-ink)}.list-view-tab.is-active{background:var(--color-accent-soft);color:var(--color-accent-ink)}.list-card-filters{gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:flex-end;display:flex}.list-table-wrap{min-height:8rem;position:relative}.list-card.is-refreshing .list-table{opacity:.6;pointer-events:none;transition:opacity var(--dur-base) ease}.list-pager{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line);background:var(--color-surface-2);flex-wrap:wrap;display:flex}.list-page-size{font-size:var(--text-sm);color:var(--color-mist);align-items:center;gap:.45rem;font-weight:500;display:inline-flex}.list-page-size select{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);height:2rem;font:inherit;color:var(--color-ink);padding:0 .55rem}.list-pager-nav{align-items:center;gap:.35rem;display:inline-flex}.list-pager-btn{min-height:2rem;padding-inline:.65rem}.list-pager-status{text-align:center;min-width:6.5rem;font-size:var(--text-sm);color:var(--color-mist);font-variant-numeric:tabular-nums}.list-pager-status strong{color:var(--color-ink)}@media (width<=720px){.list-search,.list-search-input{width:100%;min-width:100%}.list-toolbar,.list-toolbar-actions{width:100%}.list-toolbar-actions>*{flex:auto}.list-pager{flex-direction:column;align-items:stretch}.list-pager-nav{justify-content:space-between}}.skeleton{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--skeleton-a) 0%, var(--skeleton-b) 45%, var(--skeleton-a) 90%);background-size:200% 100%;animation:1.3s ease-in-out infinite lms-shimmer;display:block}.skeleton.is-round{border-radius:var(--radius-full)}.skeleton-row{align-items:center;gap:var(--space-3);padding:.6rem 0;display:flex}.skeleton-stack{flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.loading-bar{z-index:3;height:2px;position:absolute;inset:0 0 auto;overflow:hidden}.loading-bar:after{content:"";background:var(--brand-gradient);width:40%;animation:lms-progress 1.1s var(--ease-out) infinite;position:absolute;inset:0}.table-skeleton{padding:.35rem 0 .75rem}.table-skeleton-head,.table-skeleton-row{grid-template-columns:minmax(10rem,1.4fr) repeat(auto-fit,minmax(6rem,1fr));align-items:center;gap:.85rem;padding:.85rem 1.1rem;display:grid}.table-skeleton-head{border-bottom:1px solid var(--color-line)}.table-skeleton-row+.table-skeleton-row{border-top:1px solid var(--color-line)}.table-skeleton-cell{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--skeleton-a) 0%, var(--skeleton-b) 45%, var(--skeleton-a) 90%);background-size:200% 100%;height:.8rem;animation:1.3s ease-in-out infinite lms-shimmer;display:block}.table-skeleton-th{opacity:.7;height:.65rem}.table-skeleton-primary{max-width:14rem;height:1rem}@media (width<=640px){.table-skeleton-head,.table-skeleton-row{grid-template-columns:1fr 1fr}.table-skeleton-cell:nth-child(n+3){display:none}}.empty{align-items:center;gap:var(--space-1);padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;display:flex}.empty.is-compact{padding:var(--space-5) var(--space-3)}.empty-art{width:3.5rem;height:3.5rem;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent-ink);place-items:center;display:grid;position:relative}.empty-art:before,.empty-art:after{content:"";border-radius:var(--radius-full);position:absolute}.empty-art:before{background:var(--tile-orange);width:.55rem;height:.55rem;top:-.35rem;right:-.45rem}.empty-art:after{background:var(--tile-blue);width:.4rem;height:.4rem;bottom:.1rem;left:-.6rem}.empty.is-compact .empty-art{border-radius:var(--radius-md);width:2.5rem;height:2.5rem}.empty-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--color-ink);font-weight:700}.empty-hint{max-width:26rem;font-size:var(--text-sm);color:var(--color-mist)}.empty-action{margin-top:var(--space-3)}.dash{gap:var(--space-5);flex-direction:column;display:flex}.dash-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dash-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--color-ink);font-weight:700;line-height:1.2}.dash-sub{font-size:var(--text-base);color:var(--color-mist);margin-top:.2rem}.date-chip{align-items:center;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs);padding:.5rem .85rem .5rem .55rem;display:flex}.date-chip-icon{border-radius:var(--radius-sm);background:var(--tile-orange);width:2.1rem;height:2.1rem;color:var(--tile-orange-ink);place-items:center;display:grid}.stat-row{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@media (width<=1280px){.stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.stat-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{align-items:center;gap:var(--space-3);padding:var(--space-4);min-width:0;color:inherit;text-decoration:none;display:flex}.stat-body{min-width:0}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-ink);font-size:1.625rem;font-weight:700;line-height:1.1;display:block}.stat-label{font-size:var(--text-sm);color:var(--color-ink-soft);margin-top:.1rem;font-weight:500;display:block}.stat-foot{font-size:var(--text-xs);color:var(--color-mist);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.2rem;margin-top:.15rem;display:flex;overflow:hidden}.stat-foot.is-up{color:var(--color-good)}.stat-foot.is-down{color:var(--color-bad)}@media (width<=760px){.stat-row>:last-child:nth-child(odd){grid-column:span 2}}@media (width<=480px){.stat{gap:var(--space-3);padding:var(--space-3)}.stat .tile-icon{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem}.stat-value{font-size:1.3rem}}.tile-icon{border-radius:var(--radius-md);flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;display:grid}.tone-green{background:var(--tile-green);color:var(--tile-green-ink)}.tone-orange{background:var(--tile-orange);color:var(--tile-orange-ink)}.tone-purple{background:var(--tile-purple);color:var(--tile-purple-ink)}.tone-blue{background:var(--tile-blue);color:var(--tile-blue-ink)}.tone-pink{background:var(--tile-pink);color:var(--tile-pink-ink)}.dash-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.dash-grid-2{gap:var(--space-4);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=1180px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.dash-grid,.dash-grid-2{grid-template-columns:1fr}}.dash-col{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.panel{padding:var(--space-4) var(--space-5) var(--space-3);min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);min-height:2rem;display:flex}.panel-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.01em}.panel-sub{font-size:var(--text-xs);color:var(--color-mist)}.panel-link{border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--color-link);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) ease;background:0 0;border:0;align-items:center;gap:.15rem;margin-right:-.35rem;padding:.15rem .35rem;font-family:inherit;font-weight:600;text-decoration:none;display:inline-flex}.panel-link:hover{background:var(--color-info-soft)}.panel-link svg{transition:transform var(--dur-fast) ease}.panel-link:hover svg{transform:translate(2px)}.panel-empty{padding:var(--space-5) var(--space-1);font-size:var(--text-sm);color:var(--color-mist);text-align:center}.slot-row{align-items:center;gap:var(--space-3);margin:0 calc(-1 * var(--space-2));padding:.5rem var(--space-2);border-radius:var(--radius-sm);color:inherit;transition:background var(--dur-fast) ease;grid-template-columns:4.4rem 3px minmax(0,1fr) auto;text-decoration:none;display:grid}.slot-row+.slot-row{box-shadow:inset 0 1px 0 var(--color-line)}.slot-row:hover{background:var(--color-surface-2)}.slot-time{font-size:var(--text-sm);color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-weight:500}.slot-bar{background:var(--slot-0);border-radius:3px;align-self:stretch;min-height:2.25rem}.slot-bar.c1{background:var(--slot-1)}.slot-bar.c2{background:var(--slot-2)}.slot-bar.c3{background:var(--slot-3)}.slot-bar.c4{background:var(--slot-4)}.slot-title{font-size:var(--text-base);color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.slot-meta{font-size:var(--text-xs);color:var(--color-mist);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.item-row{align-items:center;gap:var(--space-3);margin:0 calc(-1 * var(--space-2));padding:.5rem var(--space-2);border-radius:var(--radius-sm);color:inherit;transition:background var(--dur-fast) ease;text-decoration:none;display:flex}.item-row+.item-row{box-shadow:inset 0 1px 0 var(--color-line)}a.item-row:hover,button.item-row:hover{background:var(--color-surface-2)}button.item-row{width:calc(100% + 2 * var(--space-2));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.item-row .tile-icon{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem}.item-main{min-width:0;color:inherit;flex:1;text-decoration:none}.item-side{font-size:var(--text-xs);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.due-soon{color:var(--color-bad)}.due-later{color:var(--color-mist)}.donut-wrap{align-items:center;gap:var(--space-6);padding:var(--space-1) 0 var(--space-2);display:flex}.donut-center{font-family:var(--font-display);fill:var(--color-ink);font-weight:700}.donut-caption{fill:var(--color-mist)}.chart-arc{transition:stroke-dasharray var(--dur-slow) var(--ease-out)}.legend{gap:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-soft);flex-direction:column;flex:1;display:flex}.legend-row{align-items:center;gap:var(--space-2);display:flex}.legend-dot{border-radius:var(--radius-full);width:.6rem;height:.6rem}.legend-value{color:var(--color-ink);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.bars{gap:var(--space-3);border-bottom:1px solid var(--color-line);height:172px;padding:0 .25rem 0 2.2rem;display:flex;position:relative}.bars-grid{pointer-events:none;position:absolute;inset:0}.bars-grid span{border-top:1px dashed var(--chart-grid);font-size:var(--text-2xs);color:var(--color-mist);position:absolute;left:0;right:0}.bars-grid span em{font-variant-numeric:tabular-nums;font-style:normal;position:absolute;top:-.45rem;left:0}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;display:flex;position:relative}.bar{transform-origin:bottom;width:min(36px,72%);animation:bar-grow var(--dur-slow) var(--ease-out);transition:filter var(--dur-fast) ease;background:linear-gradient(#f0531c 0%,#f7931e 100%);border-radius:8px 8px 2px 2px}.bar-col:hover .bar{filter:brightness(1.08)}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:none}}.bar-value{font-size:var(--text-2xs);color:var(--color-ink-soft);font-variant-numeric:tabular-nums;margin-bottom:.25rem;font-weight:600}.bar-labels{gap:var(--space-3);padding:.4rem .25rem 0 2.2rem;display:flex}.bar-labels span{text-align:center;font-size:var(--text-2xs);color:var(--color-mist);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-line);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font:inherit;font-size:var(--text-base);color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--dur-fast) ease;background:0 0;border:0;align-items:center;gap:.35rem;padding:.7rem .85rem;font-weight:500;display:inline-flex;position:relative}.tab:hover:not(:disabled){color:var(--color-ink)}.tab.is-active{color:var(--color-accent-ink);font-weight:600}.tab:after{content:"";background:var(--brand-gradient-strong);height:2px;transition:transform var(--dur-base) var(--ease-out);border-radius:2px;position:absolute;bottom:-1px;left:.6rem;right:.6rem;transform:scaleX(0)}.tab.is-active:after{transform:scaleX(1)}.tab:disabled{cursor:default;color:var(--color-mist)}.tab-count{border-radius:var(--radius-full);background:var(--color-surface-3);min-width:1.25rem;color:var(--color-mist);font-size:var(--text-2xs);text-align:center;font-variant-numeric:tabular-nums;padding:0 .35rem;font-weight:600;line-height:1.5}.tab.is-active .tab-count{background:var(--color-accent-soft);color:var(--color-accent-ink)}.tab-panel{animation:fade-up var(--dur-base) var(--ease-out)}.pill-tabs{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);width:fit-content;max-width:100%;box-shadow:var(--shadow-xs);flex-wrap:wrap;gap:.25rem;padding:.25rem;display:inline-flex}.pill-tab{border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);color:var(--color-ink-soft);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:0;align-items:center;gap:.35rem;padding:.4rem .9rem;font-weight:500;display:inline-flex}.pill-tab:hover{color:var(--color-ink);background:var(--color-surface-3)}@media (width<=640px){.pill-tabs{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.pill-tab{flex:1 0 auto;justify-content:center}}.pill-tab.is-active{background:var(--brand-gradient-strong);color:#fff;box-shadow:var(--shadow-brand);font-weight:600}.day-tabs{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-line);scrollbar-width:none;gap:.2rem;padding:.2rem;display:flex;overflow-x:auto}.day-tab{border-radius:var(--radius-xs);font:inherit;font-size:var(--text-xs);color:var(--color-ink-soft);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:0;flex:1;padding:.25rem .4rem;font-weight:500}.day-tab:hover{color:var(--color-ink)}.day-tab.is-active{background:var(--color-surface);color:var(--color-accent-ink);box-shadow:var(--shadow-xs);font-weight:600}.hero-card{padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--hero-line);background:var(--hero-gradient);position:relative;overflow:hidden}.hero-card .dash-title{font-size:1.75rem}.hero-kicker{font-size:var(--text-base);color:var(--color-ink-soft)}.hero-meta{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=640px){.hero-card{padding:var(--space-5)}.hero-card .dash-title{font-size:1.5rem}.dash-title{font-size:1.375rem}}.quick-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1000px){.quick-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}.quick{align-items:flex-start;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-line);background:var(--color-surface);text-align:left;font:inherit;cursor:pointer;color:var(--color-ink);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) ease;flex-direction:column;display:flex;position:relative}.quick:hover:not(:disabled){box-shadow:var(--shadow-md);border-color:var(--color-line-strong);transform:translateY(-2px)}.quick:active:not(:disabled){transform:translateY(0)}.quick:disabled{opacity:.55;cursor:not-allowed}.quick-arrow{top:var(--space-4);right:var(--space-4);color:var(--color-mist);opacity:0;transition:opacity var(--dur-base) ease, transform var(--dur-base) var(--ease-out);position:absolute;transform:translate(-4px)}.quick:hover .quick-arrow,.mini:hover .quick-arrow,.quick:focus-visible .quick-arrow{opacity:1;transform:none}.quick.bg-green,.mini.bg-green,.ring-card.bg-green{background:var(--wash-green)}.quick.bg-orange,.mini.bg-orange{background:var(--wash-orange)}.quick.bg-blue,.mini.bg-blue{background:var(--wash-blue)}.quick.bg-pink,.mini.bg-pink{background:var(--wash-pink)}.quick.bg-purple,.mini.bg-purple,.ring-card.bg-purple{background:var(--wash-purple)}.quick-title{margin-top:var(--space-2);font-weight:700;font-size:var(--text-md)}.quick-sub{font-size:var(--text-sm);color:var(--color-mist)}.mini-grid{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@media (width<=1100px){.mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mini{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-line);color:var(--color-ink);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative}.mini:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mini-title{margin-top:var(--space-2);font-weight:700;font-size:var(--text-base)}.mini-sub{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.mini.bg-green .mini-sub{color:var(--tile-green-ink)}.mini.bg-orange .mini-sub{color:var(--tile-orange-ink)}.mini.bg-blue .mini-sub{color:var(--tile-blue-ink)}.mini.bg-pink .mini-sub{color:var(--tile-pink-ink)}.mini.bg-purple .mini-sub{color:var(--tile-purple-ink)}.progress{border-radius:var(--radius-full);background:var(--chart-track);height:.5rem;overflow:hidden}.progress>span{border-radius:var(--radius-full);height:100%;transition:width var(--dur-slow) var(--ease-out);background:linear-gradient(90deg,#16a34a,#22c55e);display:block}.count-tiles{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=760px){.count-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.count-tile{align-items:center;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);min-width:0;padding:var(--space-3);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;color:inherit;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-base) ease, transform var(--dur-base) var(--ease-out);text-decoration:none;display:flex}.count-tile:hover{border-color:var(--color-line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.count-tile .tile-icon{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem}.workspace-card{max-width:460px}.workspace-row{padding:var(--space-3) var(--space-4)}.workspace-row.is-current{border-color:var(--color-accent);background:var(--color-accent-soft)}.workspace-row:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.workspace-row[aria-busy=true]{opacity:1;border-color:var(--color-line-strong)}.workspace-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.count-value{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;display:block}.count-label{font-size:var(--text-xs);color:var(--color-mist);display:block}.class-hero{padding:var(--space-5) var(--space-6) 0}.class-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.class-title-row{align-items:center;gap:var(--space-3);min-width:0;display:flex}.class-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=640px){.class-hero{padding:var(--space-4) var(--space-4) 0}.class-actions{width:100%}.class-actions>*{flex:auto}}.course-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.course-card{gap:var(--space-2);padding:var(--space-4);min-width:0;color:inherit;transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) ease;flex-direction:column;text-decoration:none;display:flex}a.course-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-line-strong);transform:translateY(-2px)}.course-card-foot{gap:var(--space-3);padding-top:var(--space-2);font-size:var(--text-xs);color:var(--color-mist);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin-top:auto;display:flex}.course-card-foot span{align-items:center;gap:.25rem;display:inline-flex}.soon-tile{align-items:center;gap:var(--space-3);border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-surface-2);color:var(--color-ink-soft);font-size:var(--text-sm);display:flex}.soon-tile .tile-icon{border-radius:var(--radius-sm);background:var(--color-surface-3);width:2rem;height:2rem;color:var(--color-mist)}.soon-sub{font-size:var(--text-xs);color:var(--color-mist);display:block}.soon-badge{border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-mist);white-space:nowrap;margin-left:auto;padding:.1rem .5rem;font-size:10.5px;font-weight:600}.att-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.att-counts{flex-wrap:wrap;gap:.35rem;display:flex}.att-grid{flex-direction:column;gap:.35rem;display:flex}.att-row{justify-content:space-between;align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease;flex-wrap:wrap;padding:.45rem .5rem .45rem .75rem;display:flex}.att-row:focus-within{border-color:var(--color-line-strong);background:var(--color-surface-2)}.att-row.is-absent{border-color:#dca2a7}@supports (color:color-mix(in lab, red, red)){.att-row.is-absent{border-color:color-mix(in srgb, var(--color-bad) 35%, var(--color-line))}}.att-who{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-base);font-weight:500;display:flex}.att-roll{min-width:1.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);color:var(--color-mist)}.att-choices{flex-wrap:wrap;gap:.25rem;display:flex}.att-choice{border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-full);min-height:2rem;font:inherit;font-size:var(--text-xs);cursor:pointer;color:var(--color-ink-soft);transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, transform var(--dur-fast) ease;padding:.2rem .7rem;font-weight:500}.att-choice:hover{border-color:var(--color-line-strong);color:var(--color-ink)}.att-choice:active{transform:scale(.96)}.att-choice.is-on.tone-good{background:var(--color-good-soft);border-color:#15803d59}@supports (color:color-mix(in lab, red, red)){.att-choice.is-on.tone-good{border-color:color-mix(in srgb, var(--color-good) 35%, transparent)}}.att-choice.is-on.tone-good{color:var(--color-good);font-weight:600}.att-choice.is-on.tone-bad{background:var(--color-bad-soft);border-color:#c81e1e59}@supports (color:color-mix(in lab, red, red)){.att-choice.is-on.tone-bad{border-color:color-mix(in srgb, var(--color-bad) 35%, transparent)}}.att-choice.is-on.tone-bad{color:var(--color-bad);font-weight:600}.att-choice.is-on.tone-warn{background:var(--color-warn-soft);border-color:#b4530959}@supports (color:color-mix(in lab, red, red)){.att-choice.is-on.tone-warn{border-color:color-mix(in srgb, var(--color-warn) 35%, transparent)}}.att-choice.is-on.tone-warn{color:var(--color-warn);font-weight:600}.att-choice.is-on.tone-neutral{background:var(--color-surface-3);border-color:var(--color-line-strong);color:var(--color-ink);font-weight:600}.child-switch{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.child-switch select{max-width:14rem;margin-left:auto}.ring-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=480px){.ring-card{align-items:flex-start;gap:var(--space-3);flex-direction:column}}@media (width<=340px){.ring-row{grid-template-columns:1fr}}.ring-card{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-line);display:flex}.ring-text{font-family:var(--font-display);fill:var(--color-ink);font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logo-mark{-webkit-user-select:none;user-select:none;flex-shrink:0;display:block}.rail-badge{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;min-width:1.25rem;height:1.25rem;font-size:var(--text-2xs);text-align:center;margin-left:auto;padding:0 .35rem;font-weight:700;line-height:1.25rem}.lms-shell.is-collapsed .rail-badge{min-width:1rem;height:1rem;padding:0 .25rem;line-height:1rem;position:absolute;top:.2rem;right:.2rem}.icon-btn-count{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;border:2px solid var(--color-surface);text-align:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.625rem;font-weight:700;line-height:calc(1.1rem - 4px);position:absolute;top:.2rem;right:.15rem}.notif-menu{width:min(24rem,100vw - 1.5rem);padding:0;overflow:hidden}.notif-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);display:flex}.notif-empty{padding:var(--space-5) var(--space-4);font-size:var(--text-sm);color:var(--color-mist)}.notif-list{max-height:min(26rem,60vh);padding:var(--space-1);margin:0;list-style:none;overflow-y:auto}.notif-item{align-items:flex-start;gap:var(--space-1);border-radius:var(--radius-sm);display:flex}.notif-item:hover{background:var(--color-surface-3)}.notif-main{align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:1;display:flex}.notif-main:focus-visible{box-shadow:var(--focus-ring);outline:none}.notif-icon{border-radius:var(--radius-sm);background:var(--tile-orange);width:2rem;height:2rem;color:var(--tile-orange-ink);flex-shrink:0;place-items:center;display:grid}.notif-title{font-size:var(--text-sm);color:var(--color-ink);font-weight:600;display:block}.notif-item:not(.is-unread) .notif-title{color:var(--color-ink-soft);font-weight:500}.notif-body{font-size:var(--text-xs);color:var(--color-ink-soft);overflow-wrap:anywhere;margin-top:.1rem;display:block}.notif-time{font-size:var(--text-2xs);color:var(--color-mist);margin-top:.2rem;display:block}.notif-dot{border-radius:var(--radius-full);background:var(--color-accent);flex-shrink:0;width:.5rem;height:.5rem;margin-top:.4rem}.notif-foot{border-top:1px solid var(--color-line);padding:var(--space-3) var(--space-4);border-radius:0;margin:0;text-decoration:none}@media (width<=520px){.notif-menu{top:3.75rem;left:var(--space-3);right:var(--space-3);width:auto;position:fixed}}.progress-row{align-items:center;gap:var(--space-3);display:flex}.progress.is-sm{height:.375rem}.progress-value{text-align:right;min-width:2.75rem;font-family:var(--font-display);font-size:var(--text-md);color:var(--color-good);font-weight:700}.btn-secondary.is-done{border-color:#15803d59}@supports (color:color-mix(in lab, red, red)){.btn-secondary.is-done{border-color:color-mix(in srgb, var(--color-good) 35%, transparent)}}.btn-secondary.is-done{background:var(--color-good-soft);color:var(--color-good)}.doubt-list,.leave-list{gap:var(--space-4);flex-direction:column;display:flex}.doubt-card,.leave-card{padding:var(--space-5);scroll-margin-top:5rem}.doubt-card.is-focused,.leave-card.is-focused{box-shadow:var(--focus-ring), var(--shadow-sm)}.doubt-head,.leave-head{align-items:flex-start;gap:var(--space-3);display:flex}.doubt-question{margin-top:var(--space-3);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-base);color:var(--color-ink)}.answer-thread{margin:var(--space-4) 0 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.answer-item{padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-good);border-radius:var(--radius-sm);background:var(--wash-green)}.answer-meta{font-size:var(--text-xs);color:var(--color-mist)}.answer-text{margin-top:var(--space-1);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-base);color:var(--color-ink-soft)}.answer-waiting{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-mist)}.answer-composer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--color-line)}.attachment-list{margin-top:var(--space-2)}.leave-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.cal-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 20rem;align-items:start;display:grid}@media (width<=1099px){.cal-layout{grid-template-columns:minmax(0,1fr)}}.cal-card{padding:var(--space-4)}.cal-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.cal-heading{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);min-width:0;font-weight:700}.cal-grid{border-top:1px solid var(--color-line);border-left:1px solid var(--color-line);border-radius:var(--radius-sm);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cal-weekday{padding:var(--space-2);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:var(--color-surface-2);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-mist);text-align:center;font-weight:600}.cal-day{min-width:0;min-height:6rem;padding:var(--space-1) var(--space-1) var(--space-2);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;transition:background var(--dur-fast) ease;flex-direction:column;gap:.2rem;display:flex;position:relative}.cal-grid.is-week .cal-day{min-height:14rem}.cal-day:hover{background:var(--color-surface-2)}.cal-day:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.cal-day.is-outside{background:var(--color-surface-2)}.cal-day.is-outside .cal-date{color:var(--color-mist);opacity:.6}.cal-day.is-selected{background:var(--color-accent-soft)}.cal-date{border-radius:var(--radius-full);min-width:1.6rem;height:1.6rem;font-size:var(--text-xs);color:var(--color-ink-soft);align-self:flex-start;place-items:center;padding:0 .25rem;font-weight:600;display:grid}.cal-day.is-today .cal-date{background:var(--brand-gradient);color:#fff}.cal-wd{display:none}.cal-events{flex-direction:column;gap:.2rem;min-width:0;display:flex}.cal-chip{border-radius:var(--radius-xs);min-width:0;font-size:var(--text-2xs);align-items:center;gap:.3rem;padding:.15rem .4rem;font-weight:600;text-decoration:none;display:flex}.cal-chip-dot{border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:.375rem;height:.375rem}.cal-chip-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-more,.cal-slot{font-size:var(--text-2xs);color:var(--color-mist);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-slot{border-left:2px solid var(--color-line-strong);padding:.1rem .4rem}.cal-dots{justify-content:center;gap:.2rem;display:none}.cal-dot{border-radius:var(--radius-full);width:.45rem;height:.45rem}.cal-dots .cal-dot,.cal-legend .cal-dot{background:currentColor}.cal-legend{gap:var(--space-4);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-ink-soft);flex-wrap:wrap;display:flex}@media (width<=640px){.cal-card{padding:var(--space-3)}.cal-day{align-items:center;min-height:3.25rem}.cal-date{align-self:center}.cal-grid:not(.is-week) .cal-events{display:none}.cal-grid:not(.is-week) .cal-dots{display:flex}.cal-grid.is-week{grid-template-columns:minmax(0,1fr)}.cal-grid.is-week .cal-weekday{display:none}.cal-grid.is-week .cal-day{align-items:flex-start;gap:var(--space-3);min-height:0;padding:var(--space-2) var(--space-3);flex-direction:row}.cal-grid.is-week .cal-events{flex:1}.cal-grid.is-week .cal-date{gap:.25rem;min-width:4.25rem;display:flex}.cal-grid.is-week .cal-wd{display:inline}}.progress-stats{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=520px){.progress-stats{grid-template-columns:minmax(0,1fr)}}.progress-stat{flex-direction:column;gap:.3rem;min-width:0;display:flex}.progress-stat-label{font-size:var(--text-sm);color:var(--color-ink);font-weight:600}.progress-stat-foot{font-size:var(--text-xs);color:var(--color-mist)}.course-progress{padding:var(--space-3) var(--space-2);margin:0 calc(-1 * var(--space-2));border-radius:var(--radius-sm);color:inherit;flex-direction:column;gap:.35rem;text-decoration:none;display:flex}.course-progress+.course-progress{border-top:1px solid var(--color-line)}.course-progress:hover{background:var(--color-surface-2)}.course-progress-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.course-progress-head .slot-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.course-progress-head .slot-meta{flex-shrink:0}.item-row-link{align-items:center;gap:var(--space-3);min-width:0;color:inherit;flex:1;text-decoration:none;display:flex}.icon-btn.pw-toggle{position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.icon-btn.pw-toggle:active:not(:disabled){transform:translateY(-50%)scale(.94)}.doubt-head .slot-title,.doubt-head .slot-meta,.leave-head .slot-title,.leave-head .slot-meta{white-space:normal;overflow-wrap:anywhere}.bank-toolbar,.bank-filters,.report-filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bank-toolbar,.report-filters{padding:var(--space-3) var(--space-4)}.bank-toolbar .field:not(.list-search-input),.bank-filters .field:not(.list-search-input),.report-filters .field{width:auto;min-width:10rem}.bank-filters{margin-bottom:var(--space-3)}.bank-list{gap:var(--space-2);flex-direction:column;max-height:min(55vh,32rem);padding-right:2px;display:flex;overflow-y:auto}.bank-item{align-items:center;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease;display:flex}.bank-item.is-on{border-color:var(--color-accent);background:var(--color-accent-soft)}.bank-check{align-items:flex-start;gap:var(--space-3);cursor:pointer;flex:1;min-width:0;display:flex}.bank-check input{accent-color:var(--color-accent);width:1rem;height:1rem;margin-top:.2rem}.bank-marks{align-items:center;gap:var(--space-1);display:flex}.bank-marks .field{width:4.5rem;min-height:2rem;padding:.3rem .5rem}.tq-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tq-item{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface)}.tq-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tq-num{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--color-accent-ink)}.tq-tools{gap:.125rem;display:inline-flex}.q-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-md);color:var(--color-ink);line-height:1.55}.q-options{gap:var(--space-1);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.q-option{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-ink-soft);overflow-wrap:anywhere;padding:.35rem .5rem;display:flex}.q-option.is-right{background:var(--color-good-soft);color:var(--color-ink)}.q-letter{border-radius:var(--radius-full);border:1px solid var(--color-line-strong);width:1.6rem;height:1.6rem;font-size:var(--text-xs);color:var(--color-ink-soft);background:var(--color-surface);flex:none;place-items:center;font-weight:700;display:inline-grid}.q-option.is-wrong{background:var(--color-bad-soft);color:var(--color-ink)}.q-letter.is-given{border-color:var(--color-ink-soft);background:var(--color-ink);color:var(--color-surface)}.q-given-tag{font-size:var(--text-xs);color:var(--color-ink-soft);font-weight:600}.answer-item.is-wrong{border-left-color:var(--color-bad);background:var(--color-bad-soft)}.result-detail{margin:var(--space-2) 0 var(--space-4)}.q-right-tag{font-size:var(--text-xs);color:var(--color-good);align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.q-model{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-ink-soft);white-space:pre-wrap;overflow-wrap:anywhere}.q-model-label{color:var(--color-ink);margin-right:.35rem;font-weight:600}.grade-box{margin-top:var(--space-3);border-top:1px dashed var(--color-line);padding-top:var(--space-3)}.grade-row{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.grade-row .field{width:6rem}.player{gap:var(--space-4);flex-direction:column;display:flex}.player-bar{top:calc(var(--topbar-h,4rem) + .5rem);z-index:5;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex;position:sticky}.player-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-sub,.player-hint{font-size:var(--text-sm);color:var(--color-mist)}.player-hint{margin-top:var(--space-2)}.player-save{white-space:nowrap;font-size:var(--text-xs);color:var(--color-mist);align-items:center;gap:.3rem;display:inline-flex}.player-save.is-saved{color:var(--color-good)}.player-save.is-error{color:var(--color-bad)}.player-timer{border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--text-lg);background:var(--color-info-soft);color:var(--color-info);align-items:center;gap:.4rem;padding:.4rem .85rem;font-weight:700;display:inline-flex}.player-timer.is-warn{background:var(--color-warn-soft);color:var(--color-warn)}.player-timer.is-low{background:var(--color-bad-soft);color:var(--color-bad);animation:1s ease-in-out infinite timer-pulse}@keyframes timer-pulse{50%{opacity:.65}}.player-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 17rem;align-items:start;display:grid}.player-q{padding:var(--space-5) var(--space-6);flex-direction:column;min-height:22rem;display:flex}.player-q-text{margin-top:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600;line-height:1.45}.player-options{gap:var(--space-2);margin-top:var(--space-4);display:grid}.player-option{align-items:center;gap:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:3rem;font:inherit;font-size:var(--text-md);color:var(--color-ink);cursor:pointer;overflow-wrap:anywhere;transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, transform var(--dur-fast) ease;padding:.6rem .9rem;display:flex}.player-option:hover:not(:disabled){border-color:var(--color-line-strong);background:var(--color-surface-2)}.player-option:focus-visible{box-shadow:var(--focus-ring);outline:none}.player-option.is-on,.player-option.is-on:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-ink)}.player-option.is-on .q-letter{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.player-option.is-multi .q-letter{border-radius:var(--radius-xs)}.player-textarea{resize:vertical;min-height:10rem;line-height:1.55}.player-nav{justify-content:space-between;gap:var(--space-2);padding-top:var(--space-5);flex-wrap:wrap;margin-top:auto;display:flex}.player-nav .is-flagged{color:var(--color-warn)}.player-palette{top:calc(var(--topbar-h,4rem) + 6rem);padding:var(--space-4);position:sticky}.palette-grid{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.palette-cell{aspect-ratio:1;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:2.25rem;font:inherit;font-size:var(--text-sm);color:var(--color-ink-soft);cursor:pointer;font-weight:600;position:relative}.palette-cell.is-answered{border-color:var(--color-good);background:var(--color-good-soft);color:var(--color-good)}.palette-cell.is-flagged:after{content:"";border-radius:var(--radius-full);background:var(--color-warn);width:7px;height:7px;position:absolute;top:3px;right:3px}.palette-cell.is-current{border-color:var(--color-accent);box-shadow:var(--focus-ring);color:var(--color-accent-ink)}.palette-cell:focus-visible{box-shadow:var(--focus-ring);outline:none}.palette-legend{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--color-ink-soft);gap:.35rem;padding:0;list-style:none;display:grid}.palette-legend li{align-items:center;gap:var(--space-2);display:flex}.palette-swatch{border:1.5px solid var(--color-line-strong);border-radius:4px;width:.9rem;height:.9rem;position:relative}.palette-swatch.is-answered{border-color:var(--color-good);background:var(--color-good-soft)}.palette-swatch.is-flagged{border-color:var(--color-warn);background:var(--color-warn)}.player-intro{padding:var(--space-6);max-width:46rem}.player-rules{gap:var(--space-2);margin:var(--space-5) 0 0;font-size:var(--text-base);color:var(--color-ink-soft);padding:0;list-style:none;display:grid}.player-rules li{align-items:flex-start;gap:var(--space-2);display:flex}.player-rules svg{color:var(--color-accent);flex:none;margin-top:.15rem}.player-end{align-items:center}.player-end-card{width:100%;max-width:34rem;padding:var(--space-8) var(--space-6);text-align:center}.player-end-icon{width:3.5rem;height:3.5rem;margin-bottom:var(--space-3);border-radius:var(--radius-full);background:var(--tile-green);color:var(--tile-green-ink);place-items:center;display:inline-grid}.player-end-icon.is-time{background:var(--tile-orange);color:var(--tile-orange-ink)}.player-score{align-items:center;gap:var(--space-4);margin-top:var(--space-5);text-align:left;display:inline-flex}.player-end-card .notice{text-align:left}@media (width<=899px){.player-grid{grid-template-columns:minmax(0,1fr)}.player-palette{padding:var(--space-3);order:-1;position:static}.palette-grid{padding-bottom:2px;display:flex;overflow-x:auto}.palette-cell{aspect-ratio:auto;flex:none;width:2.5rem;height:2.5rem}.palette-legend{gap:var(--space-3);flex-wrap:wrap;display:flex}.player-palette .player-hint{display:none}}@media (width<=640px){.player-bar{top:calc(var(--topbar-h,3.5rem) + .25rem);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.player-bar .min-w-0{flex-basis:100%}.player-save{flex:1}.player-q{padding:var(--space-4)}.player-q-text{font-size:var(--text-lg)}.player-nav>*{flex:auto}.bank-toolbar .field:not(.list-search-input),.bank-filters .field:not(.list-search-input),.report-filters .field,.bank-toolbar .list-search,.bank-filters .list-search{flex:100%}.bank-toolbar .list-search-input,.bank-filters .list-search-input{min-width:0}}.result-block+.result-block{box-shadow:inset 0 1px 0 var(--color-line)}.exam-row{flex-wrap:wrap}.exam-actions{gap:var(--space-1);display:inline-flex}.band-list{gap:var(--space-2);display:grid}.band-row{align-items:center;gap:var(--space-3);display:flex}.band-grade,.report-grade-chip{border-radius:var(--radius-sm);background:var(--tile-purple);min-width:2.25rem;height:2.25rem;color:var(--tile-purple-ink);font-family:var(--font-display);place-items:center;padding:0 .5rem;font-weight:800;display:inline-grid}.report-grade-chip{min-width:1.9rem;height:1.9rem;font-size:var(--text-sm)}.panel-select{width:auto;max-width:min(18rem,60vw)}.marks-toolbar{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.marks-max{gap:.3rem;display:grid}.marks-max .field{width:8rem}.marks-stats{gap:var(--space-2);flex-wrap:wrap;margin-right:auto;display:inline-flex}.marks-input{width:6.5rem}.marks-table tr.is-dirty td{background:var(--wash-orange)}.report-sheet{padding:var(--space-6)}.report-head{align-items:center;gap:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-line);flex-wrap:wrap;display:flex}.report-title{flex:1;min-width:12rem}.report-name{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-ink);font-weight:700}.report-meta{font-size:var(--text-sm);color:var(--color-mist)}.report-grade{border-radius:var(--radius-lg);min-width:7rem;padding:var(--space-3) var(--space-4);background:var(--hero-gradient);border:1px solid var(--hero-line);justify-items:center;display:grid}.report-grade-letter{font-family:var(--font-display);background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800;line-height:1}.report-grade-pct{color:var(--color-ink);font-weight:700}.report-grade-label{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-mist);font-weight:600}.report-remark{margin-top:var(--space-3);color:var(--color-ink-soft);font-weight:600}.report-warn{margin-top:var(--space-3)}.report-table-wrap{margin:var(--space-4) calc(-1 * var(--space-6)) 0;overflow-x:auto}.report-table th,.report-table td{white-space:nowrap}.report-table th:first-child,.report-table td:first-child{padding-left:var(--space-6)}.report-att{align-items:center;gap:var(--space-2);display:inline-flex}.report-foot{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-line);font-size:var(--text-xs);color:var(--color-mist);flex-wrap:wrap;display:flex}@media (width<=640px){.report-sheet{padding:var(--space-4)}.report-table th,.report-table td{white-space:normal}.report-table-wrap{margin:var(--space-4) calc(-1 * var(--space-4)) 0}.report-table th:first-child,.report-table td:first-child{padding-left:var(--space-4)}}@media print{@page{size:A4;margin:14mm}html,body{background:#fff!important}.lms-rail,.lms-topbar,.rail-backdrop,.toaster,.crumbs,.no-print{display:none!important}.lms-shell,.lms-main,.lms-content{min-height:0!important;margin:0!important;padding:0!important;display:block!important}.report-page{gap:0}.report-sheet{box-shadow:none;color:#0f1b3d;border:0;padding:0}.report-table-wrap{margin:var(--space-4) 0 0;overflow:visible}.report-table{font-size:10pt}.report-table th:first-child,.report-table td:first-child{padding-left:.4rem}.report-table tr{break-inside:avoid}.report-grade-letter,.pill,.report-grade,.report-grade-chip,.notice{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.assist-fab{z-index:60;border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;font-weight:600;font-size:var(--text-sm);box-shadow:var(--shadow-brand), var(--shadow-md);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);align-items:center;gap:.4rem;padding:.65rem 1.05rem;display:inline-flex;position:fixed;bottom:20px;right:20px}.assist-fab:hover{transform:translateY(-1px)}.assist-fab:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.assist-panel{z-index:60;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);width:min(400px,100vw - 32px);height:min(600px,100vh - 100px);box-shadow:var(--shadow-xl);animation:assist-in var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden}@keyframes assist-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.assist-head{border-bottom:1px solid var(--color-line);background:var(--hero-gradient), var(--color-surface);align-items:center;gap:.65rem;padding:.8rem .9rem;display:flex}.assist-avatar{border-radius:var(--radius-full);background:var(--brand-gradient);color:#fff;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.assist-title{color:var(--color-ink);font-weight:700;font-size:var(--text-md)}.assist-sub,.assist-foot,.assist-status{font-size:var(--text-xs);color:var(--color-mist)}.assist-context{font-size:var(--text-xs);color:var(--color-ink-soft);background:var(--color-accent-soft);align-items:center;gap:.3rem;padding:.45rem .9rem;display:flex}.assist-body{background:var(--color-paper);flex-direction:column;flex:1;gap:.55rem;padding:.9rem;display:flex;overflow-y:auto}.assist-empty{flex-direction:column;gap:.6rem;display:flex}.assist-starters{flex-wrap:wrap;gap:.4rem;display:flex}.assist-starter{border:1px solid var(--color-line-strong);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-xs);color:var(--color-ink-soft);text-align:left;padding:.4rem .7rem}.assist-starter:hover{border-color:var(--color-accent);color:var(--color-accent-ink)}.assist-bubble{border-radius:var(--radius-md);max-width:88%;font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;padding:.55rem .75rem;line-height:1.45}.assist-bubble.is-user{background:var(--brand-gradient);color:#fff;border-bottom-right-radius:var(--radius-xs);align-self:flex-end}.assist-bubble.is-assistant{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-ink);border-bottom-left-radius:var(--radius-xs);align-self:flex-start}.assist-bubble.is-error{background:var(--color-bad-soft);color:var(--color-bad);border-color:#0000}.assist-bubble.is-typing{gap:4px;display:inline-flex}.assist-bubble.is-typing span{background:var(--color-mist);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite assist-dot}.assist-bubble.is-typing span:nth-child(2){animation-delay:.15s}.assist-bubble.is-typing span:nth-child(3){animation-delay:.3s}@keyframes assist-dot{0%,80%,to{opacity:.3}40%{opacity:1}}.assist-input{border-top:1px solid var(--color-line);align-items:flex-end;gap:.5rem;padding:.65rem .75rem .3rem;display:flex}.assist-input textarea{resize:none;min-height:2.6rem}.assist-send{flex-shrink:0}.assist-foot{padding:0 .9rem .6rem}@media (width<=640px){.assist-panel{width:auto;height:calc(100vh - 80px);bottom:8px;left:8px;right:8px}.assist-fab{bottom:14px;right:14px}}.act-grid{gap:var(--space-4,1rem);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.act-card{flex-direction:column;gap:.6rem;padding:1rem;display:flex}.act-card-head{align-items:flex-start;gap:.7rem;display:flex}.act-card-title{color:var(--color-ink);font-weight:700;line-height:1.3}.act-meta{font-size:var(--text-xs);color:var(--color-mist);flex-direction:column;gap:.3rem;display:flex}.act-meta span{align-items:center;gap:.35rem;display:inline-flex}.act-desc{font-size:var(--text-sm);color:var(--color-ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.act-card-foot{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.6rem;display:flex}.act-capacity{font-size:var(--text-xs);color:var(--color-mist)}.act-bar{border-radius:var(--radius-full);background:var(--color-line);height:4px;overflow:hidden}.act-bar>span{background:var(--brand-gradient);height:100%;display:block}.ach-level{font-size:var(--text-2xs)}.sort-th{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;align-items:center;gap:.25rem;display:inline-flex}.sort-th:hover,.sort-th.is-active{color:var(--color-accent-ink)}.flag-chips{flex-wrap:wrap;gap:.25rem;display:flex}.analytics-filters{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.analytics-filters .field{width:auto;min-width:220px}.is-low{color:var(--color-bad);font-weight:600}.report-extra{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.25rem;display:grid}.report-extra h3{color:var(--color-ink);font-weight:700;font-size:var(--text-md);margin-bottom:.4rem}.report-extra ul{font-size:var(--text-sm);flex-direction:column;gap:.35rem;display:flex}.report-extra li{border-bottom:1px dashed var(--color-line);justify-content:space-between;gap:.5rem;padding-bottom:.35rem;display:flex}.report-extra .muted{color:var(--color-mist);font-size:var(--text-xs)}@media print{.assist-fab,.assist-panel{display:none!important}.report-extra{break-inside:avoid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
