@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Source+Sans+3:wght@400;500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:"Source Sans 3",system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.left-1\.5{left:.375rem}.top-0{top:0}.top-1{top:.25rem}.z-10{z-index:10}.z-\[100\]{z-index:100}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mr-1\.5{margin-right:.375rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-0\.5{height:.125rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-5{height:1.25rem}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.min-h-0{min-height:0px}.min-h-11{min-height:2.75rem}.min-h-\[12rem\]{min-height:12rem}.min-h-\[4rem\]{min-height:4rem}.min-h-\[8rem\]{min-height:8rem}.min-h-screen{min-height:100vh}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[10\.5rem\]{width:10.5rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[640px\]{min-width:640px}.min-w-\[7rem\]{min-width:7rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[color\:var\(--border\)\]>:not([hidden])~:not([hidden]){border-color:var(--border)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[color\:var\(--accent\)\]{border-color:var(--accent)}.border-\[color\:var\(--border\)\]{border-color:var(--border)}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-red-500\/30{border-color:#ef44444d}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity, 1))}.border-violet-400{--tw-border-opacity: 1;border-color:rgb(167 139 250 / var(--tw-border-opacity, 1))}.border-violet-400\/50{border-color:#a78bfa80}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[color\:var\(--accent\)\]{background-color:var(--accent)}.bg-\[color\:var\(--accent-soft\)\]{background-color:var(--accent-soft)}.bg-\[color\:var\(--bg\)\]{background-color:var(--bg)}.bg-\[color\:var\(--border\)\]{background-color:var(--border)}.bg-\[color\:var\(--input-bg\)\]{background-color:var(--input-bg)}.bg-\[color\:var\(--surface\)\]{background-color:var(--surface)}.bg-\[color\:var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/5{background-color:#f59e0b0d}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/30{background-color:#10b9814d}.bg-orange-400{--tw-bg-opacity: 1;background-color:rgb(251 146 60 / var(--tw-bg-opacity, 1))}.bg-orange-500\/25{background-color:#f9731640}.bg-red-500\/5{background-color:#ef44440d}.bg-rose-400{--tw-bg-opacity: 1;background-color:rgb(251 113 133 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-rose-500\/35{background-color:#f43f5e59}.bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.bg-sky-500\/15{background-color:#0ea5e926}.bg-violet-500\/15{background-color:#8b5cf626}.bg-violet-500\/25{background-color:#8b5cf640}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-5{padding-left:1.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:Fraunces,Georgia,serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[color\:var\(--accent\)\]{color:var(--accent)}.text-\[color\:var\(--input-text\)\]{color:var(--input-text)}.text-\[color\:var\(--muted\)\]{color:var(--muted)}.text-\[color\:var\(--muted-2\)\]{color:var(--muted-2)}.text-\[color\:var\(--text\)\]{color:var(--text)}.text-\[color\:var\(--text-secondary\)\]{color:var(--text-secondary)}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-400\/90{color:#fbbf24e6}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-rose-800{--tw-text-opacity: 1;color:rgb(159 18 57 / var(--tw-text-opacity, 1))}.text-violet-100{--tw-text-opacity: 1;color:rgb(237 233 254 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.line-through{text-decoration-line:line-through}.accent-\[color\:var\(--accent\)\]{accent-color:var(--accent)}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow-color: var(--shadow-sm);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-emerald-500\/40{--tw-ring-color: rgb(16 185 129 / .4)}.ring-orange-500\/35{--tw-ring-color: rgb(249 115 22 / .35)}.ring-rose-500\/45{--tw-ring-color: rgb(244 63 94 / .45)}.ring-sky-500\/25{--tw-ring-color: rgb(14 165 233 / .25)}.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)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg: #f3f0ea;--bg-accent: #e7efe9;--surface: #fffcf7;--surface-2: #f0ebe3;--text: #1c2420;--text-secondary: #3d4a43;--muted: #6b7a72;--border: #d5ddd7;--accent: #1f6f5b;--accent-hover: #185a4a;--accent-soft: rgba(31, 111, 91, .18);--input-bg: #ffffff;--sidebar: #16352d;--sidebar-text: #e8f2ee;--sidebar-muted: #9bb5ab;--shadow-sm: 0 1px 2px rgba(28, 36, 32, .06);color:var(--text);background:var(--bg);font-family:"Source Sans 3",system-ui,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,var(--bg-accent),transparent 55%),radial-gradient(900px 500px at 100% 0%,#efe6d8,transparent 50%),var(--bg)}#root{min-height:100vh}.font-display,.brand-mark{font-family:Fraunces,Georgia,serif}.brand-mark{font-weight:700;letter-spacing:-.03em;color:var(--accent)}.brand-block{display:block;padding:1.25rem 1rem 1rem;text-decoration:none}.brand-home:hover .brand-mark{color:#2a9a7e}.brand-home:hover .brand-school{color:var(--sidebar-text)}.brand-mark{display:block}.brand-school{display:block;margin-top:.25rem;font-size:.85rem;color:var(--sidebar-muted)}.app-shell{display:grid;grid-template-columns:15.5rem 1fr;min-height:100vh}.app-sidebar{display:flex;flex-direction:column;background:linear-gradient(165deg,#1a4036 0%,var(--sidebar) 55%,#102820 100%);color:var(--sidebar-text);border-right:1px solid rgba(255,255,255,.06)}.app-main{min-width:0}.app-main-inner{max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.nav-link{display:flex;align-items:center;gap:.55rem;border-radius:.5rem;padding:.55rem .75rem;font-size:.925rem;font-weight:500;color:var(--sidebar-muted);text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-icon{flex-shrink:0;opacity:.9}.nav-link:hover{background:#ffffff0f;color:var(--sidebar-text)}.nav-link-active{background:#ffffff1f;color:#fff}.auth-stage{position:relative;display:grid;min-height:100vh;place-items:center;padding:2rem 1rem;overflow:hidden}.auth-atmosphere{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 30% 40%,rgba(31,111,91,.22),transparent 45%),radial-gradient(circle at 75% 20%,rgba(196,146,78,.18),transparent 40%),linear-gradient(160deg,#eef5f1,#f7f1e6 60%,#ebe4d8);animation:drift 18s ease-in-out infinite alternate}.auth-panel{position:relative;width:min(36rem,100%);border:1px solid var(--border);border-radius:1.25rem;background:color-mix(in srgb,var(--surface) 92%,white);padding:2.5rem 2rem;box-shadow:0 20px 50px #1c242014}.btn-google{border-radius:.65rem;background:var(--accent);color:#fff;font-weight:600;padding:.75rem 1.25rem;text-decoration:none;transition:transform .16s ease,background .16s ease}.btn-google:hover{background:var(--accent-hover);transform:translateY(-1px)}@keyframes drift{0%{transform:translate3d(-1%,-1%,0) scale(1.02)}to{transform:translate3d(2%,1%,0) scale(1.06)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-rise{animation:rise .48s ease-out both}.animate-fade-in{animation:fade-in .32s ease-out both}@keyframes global-loading-slide{0%{transform:translate(-100%)}to{transform:translate(400%)}}.global-loading-bar{animation:global-loading-slide 1.1s ease-in-out infinite}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:sticky;top:0;z-index:20;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.25rem;padding-bottom:.5rem}.brand-block{width:100%;padding-bottom:.25rem}.app-sidebar nav{flex-direction:row;flex-wrap:wrap;width:100%}}.app-shell.player-mode{height:100vh;min-height:100vh;overflow:hidden}.app-shell.player-mode .app-main{display:flex;min-height:0;height:100%;overflow:hidden}.app-shell.player-mode .app-main-inner{display:flex;flex:1;flex-direction:column;max-width:none;height:100%;min-height:0;margin:0;padding:0}.player-workspace{--deck: #14181f;--deck-2: #1c232d;--deck-3: #262f3c;--deck-line: #343e4d;--deck-text: #e8eef6;--deck-muted: #93a0b3;--deck-accent: #3dceb0;display:flex;flex:1;flex-direction:column;min-height:0;height:100%;color:var(--deck-text);background:var(--deck);font-variant-numeric:tabular-nums}.player-topbar,.player-list-head,.player-transport-main,.player-seek-row,.player-draft,.player-top-actions,.player-list-tools{display:flex;align-items:center;gap:.75rem}.player-topbar{justify-content:space-between;padding:.7rem .9rem;border-bottom:1px solid var(--deck-line);background:#10141a}.player-topbar h1,.player-list-head h2{margin:0;font-size:.95rem;font-weight:650}.player-kicker{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--deck-accent)}.player-top-actions,.player-list-tools{flex-wrap:wrap;justify-content:flex-end}.player-btn,.player-icon-btn,.player-play{border:1px solid var(--deck-line);background:var(--deck-3);color:var(--deck-text);border-radius:6px;cursor:pointer}.player-btn{padding:.35rem .7rem;font-size:.78rem;font-weight:600}.player-btn.is-accent,.player-play{background:var(--deck-accent);border-color:transparent;color:#08241c}.player-btn:disabled,.player-icon-btn:disabled{opacity:.45;cursor:default}.player-icon-btn{width:1.6rem;height:1.6rem;padding:0;font-size:.75rem;line-height:1}.player-icon-btn.is-lg{width:2rem;height:2rem}.player-icon-btn.is-on{color:#08241c;background:var(--deck-accent);border-color:transparent}.player-play{width:2.6rem;height:2.6rem;border-radius:999px;font-size:.95rem}.player-banner,.player-draft{margin:.45rem .75rem 0;padding:.4rem .65rem;border:1px solid var(--deck-line);border-radius:6px;background:var(--deck-2);color:var(--deck-muted);font-size:.8rem}.player-banner.is-error{color:#ffd0d0;border-color:#7a3030;background:#3a1c1c}.player-inline-input,.player-search{min-width:0;border:1px solid var(--deck-line);background:#0f1318;color:var(--deck-text);border-radius:6px;padding:.35rem .55rem;font:inherit;font-size:.82rem}.player-search{width:16rem}.player-body{display:grid;grid-template-columns:16.5rem minmax(0,1fr) 17.5rem;flex:1;min-height:0}.player-pane{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--deck-line)}.player-queue{border-right:0}.player-tree,.player-table-wrap,.player-queue-list{overflow:auto}.player-tree-row,.player-queue-list li{display:flex;align-items:center;gap:.35rem;width:100%;padding:.28rem .45rem;border:0;background:transparent;color:inherit;text-align:left}.player-tree-row.is-selected,.player-queue-list li.is-current{background:#24362f}.player-tree-row.is-focus{box-shadow:inset 2px 0 0 var(--deck-accent)}.player-tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.player-tree-mark,.player-count,.player-sub,.player-tree-label,.player-empty,.player-missing{color:var(--deck-muted)}.player-tree-label{padding:.7rem .7rem .25rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.player-count,.player-queue-index{font-size:.75rem;color:var(--deck-muted)}.player-row-action{opacity:0}.player-tree-row:hover .player-row-action,.player-tree-row:focus-within .player-row-action{opacity:1}.player-list-head{justify-content:space-between;align-items:flex-start;padding:.65rem .75rem;border-bottom:1px solid var(--deck-line)}.player-list-head p,.player-empty{margin:.15rem 0 0;font-size:.75rem}.player-table{width:100%;border-collapse:collapse;font-size:.84rem}.player-table th{position:sticky;top:0;z-index:1;padding:.4rem .65rem;background:var(--deck-2);color:var(--deck-muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;text-align:left}.player-table td{padding:.38rem .65rem;border-top:1px solid rgba(52,62,77,.7);vertical-align:middle}.player-table tr{cursor:grab}.player-table tr.is-missing{opacity:.55}.player-table tr:hover td{background:#3dceb00f}.player-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-sub,.player-missing{display:block;font-size:.72rem}.col-time{width:4.5rem;text-align:right}.col-bpm{width:3.5rem;text-align:right}.col-actions{width:6.2rem;text-align:right;white-space:nowrap}.player-queue-list{list-style:none;margin:0;padding:.25rem}.player-queue-list li{border-radius:6px;cursor:grab}.player-transport{border-top:1px solid var(--deck-line);background:#10141a;padding:.55rem .8rem .7rem}.player-transport-main{justify-content:space-between}.player-now{min-width:10rem;max-width:22rem}.player-transport-controls,.player-slider{display:flex;align-items:center;gap:.4rem}.player-slider{min-width:8rem;color:var(--deck-muted);font-size:.72rem}.player-slider input,.player-seek-row input{flex:1;accent-color:var(--deck-accent)}.player-seek-row{margin-top:.35rem;color:var(--deck-muted);font-size:.75rem}.player-seek-row input{width:100%}@media (max-width: 860px){.app-shell.player-mode{grid-template-rows:auto minmax(0,1fr)}}@media (max-width: 1100px){.player-body{grid-template-columns:13rem minmax(0,1fr);grid-template-rows:minmax(0,1fr) 11rem}.player-queue{grid-column:1 / -1;border-top:1px solid var(--deck-line)}.player-transport-main{flex-wrap:wrap}.player-search{width:10rem}}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-\[color\:var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[color\:var\(--surface\)\]:hover{background-color:var(--surface)}.hover\:bg-\[color\:var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-rose-100:hover{--tw-bg-opacity: 1;background-color:rgb(255 228 230 / var(--tw-bg-opacity, 1))}.hover\:text-\[color\:var\(--text\)\]:hover{color:var(--text)}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);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)}.focus\:border-\[color\:var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[color\:var\(--accent-soft\)\]:focus{--tw-ring-color: var(--accent-soft)}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:w-72{width:18rem}.sm\:w-fit{width:-moz-fit-content;width:fit-content}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[2fr_1fr_auto\]{grid-template-columns:2fr 1fr auto}}@media (min-width: 1024px){.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}
