@howssatoshi/quantumcss 1.3.1 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/quantum.min.css +1 -1
- package/package.json +1 -1
- package/src/defaults.js +36 -9
- package/src/generator.js +10 -10
- package/src/starlight.js +86 -0
- package/src/styles/quantum-animations.css +69 -0
- package/src/styles/{quantum.css → quantum-base.css} +47 -552
- package/src/styles/{starlight-ui.css → starlight.css} +322 -45
- package/dist/quantum.css +0 -1425
package/README.md
CHANGED
|
@@ -55,6 +55,26 @@ Define your own components in `quantum.config.json`:
|
|
|
55
55
|
}
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
+
### High-Level Component Presets (AI-Optimized)
|
|
59
|
+
|
|
60
|
+
Starlight UI provides "Organism-level" presets that compose multiple utilities into functional semantic blocks. Perfect for rapid prototyping and AI generation.
|
|
61
|
+
|
|
62
|
+
- `starlight-nav` - Complete sticky glassmorphic navigation bar
|
|
63
|
+
- `starlight-search` - Search container with integrated icon and padding
|
|
64
|
+
- `starlight-dashboard` - Responsive 3-column dashboard grid
|
|
65
|
+
- `starlight-gallery` - Optimized grid for image/media galleries
|
|
66
|
+
- `starlight-form` - Multi-column layout for advanced form controls
|
|
67
|
+
- `starlight-dialog` - Centered, animated glassmorphic modal
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<!-- Example: Create a full dashboard grid with one class -->
|
|
71
|
+
<div class="starlight-dashboard">
|
|
72
|
+
<div class="starlight-card">...</div>
|
|
73
|
+
<div class="starlight-card">...</div>
|
|
74
|
+
<div class="starlight-card">...</div>
|
|
75
|
+
</div>
|
|
76
|
+
```
|
|
77
|
+
|
|
58
78
|
## ✨ Cosmic Animations
|
|
59
79
|
|
|
60
80
|
Bring your UI to life with space-inspired effects:
|
package/dist/quantum.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');:root{--color-primary:#3b82f6;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-secondary:#64748b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-neutral:#6b7280;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:Georgia,Cambria,serif;--font-mono:'SF Mono',Monaco,'Cascadia Code',monospace;--space-0:0px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-none:0px;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 0.25);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--duration-1000:1000ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--color-starlight-blue:#00d4ff;--color-starlight-peach:#ffb38a;--color-starlight-orange:#ff7e5f;--color-starlight-deep:#08081a;--color-starlight-glow:rgba(0,212,255,0.35);--text-primary:#f1f5f9;--text-secondary:rgba(241,245,249,0.7);--text-muted:rgba(241,245,249,0.45);--light-bg:#f1f5f9;--light-text:#1e293b;--light-text-muted:#64748b;--light-card-bg:#ffffff;--light-card-border:rgba(0,0,0,0.06);--glass-bg:rgba(255,255,255,0.03);--glass-border:rgba(255,255,255,0.1);--glass-blur:blur(16px);--transition-fast:150ms ease-in-out;--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms ease-in-out;}@media (prefers-contrast:more){:root{--color-starlight-blue:#0088cc;--color-starlight-orange:#d14d33;--glass-bg:rgba(255,255,255,0.1);--glass-border:rgba(255,255,255,0.4);--text-muted:rgba(241,245,249,0.8);}}@media (forced-colors:active){:root{--radius-none:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-2xl:0;--radius-3xl:0;--radius-full:0;}.starlight-card,.glass,.q-card{border:2px solid CanvasText !important;}.btn-starlight,.q-btn-primary{background:ButtonFace !important;color:ButtonText !important;border:2px solid ButtonText !important;}}@media (prefers-color-scheme:dark){:root{--color-primary:#60a5fa;--color-secondary:#94a3b8;--color-neutral:#9ca3af;}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{line-height:1.6;-webkit-text-size-adjust:100%;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}body{line-height:inherit;}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;border:none;background:transparent;}textarea{resize:vertical;min-height:5rem;}.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4);}@container (min-width:640px){.container{max-width:640px;}}@container (min-width:768px){.container{max-width:768px;}}@container (min-width:1024px){.container{max-width:1024px;}}@container (min-width:1280px){.container{max-width:1280px;}}.block{display:block;}.inline-block{display:inline-block;}.inline{display:inline;}.flex{display:flex;}.inline-flex{display:inline-flex;}.grid{display:grid;}.inline-grid{display:inline-grid;}.hidden{display:none;}.flex-row{flex-direction:row;}.flex-row-reverse{flex-direction:row-reverse;}.flex-col{flex-direction:column;}.flex-col-reverse{flex-direction:column-reverse;}.flex-wrap{flex-wrap:wrap;}.flex-wrap-reverse{flex-wrap:wrap-reverse;}.flex-nowrap{flex-wrap:nowrap;}.items-start{align-items:flex-start;}.items-end{align-items:flex-end;}.items-center{align-items:center;}.items-baseline{align-items:baseline;}.items-stretch{align-items:stretch;}.justify-start{justify-content:flex-start;}.justify-end{justify-content:flex-end;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.justify-around{justify-content:space-around;}.justify-evenly{justify-content:space-evenly;}.flex-1{flex:1 1 0%;}.flex-auto{flex:1 1 auto;}.flex-initial{flex:0 1 auto;}.flex-none{flex:none;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.gap-0{gap:var(--space-0);}.gap-1{gap:var(--space-1);}.gap-2{gap:var(--space-2);}.gap-3{gap:var(--space-3);}.gap-4{gap:var(--space-4);}.gap-5{gap:var(--space-5);}.gap-6{gap:var(--space-6);}.gap-8{gap:var(--space-8);}.m-0{margin:var(--space-0);}.m-1{margin:var(--space-1);}.m-2{margin:var(--space-2);}.m-3{margin:var(--space-3);}.m-4{margin:var(--space-4);}.m-5{margin:var(--space-5);}.m-6{margin:var(--space-6);}.m-8{margin:var(--space-8);}.m-auto{margin:auto;}.mx-auto{margin-left:auto;margin-right:auto;}.my-auto{margin-top:auto;margin-bottom:auto;}.p-0{padding:var(--space-0);}.p-1{padding:var(--space-1);}.p-2{padding:var(--space-2);}.p-3{padding:var(--space-3);}.p-4{padding:var(--space-4);}.p-5{padding:var(--space-5);}.p-6{padding:var(--space-6);}.p-8{padding:var(--space-8);}.text-xs{font-size:0.75rem;line-height:1rem;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-base{font-size:1rem;line-height:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.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.2;}.font-light{font-weight:300;}.font-normal{font-weight:400;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.font-bold{font-weight:700;}.font-extrabold{font-weight:800;}.text-left{text-align:left;}.text-center{text-align:center;}.text-right{text-align:right;}.text-justify{text-align:justify;}.text-primary{color:var(--color-primary);}.text-secondary{color:var(--color-secondary);}.text-success{color:var(--color-success);}.text-warning{color:var(--color-warning);}.text-error{color:var(--color-error);}.text-neutral{color:var(--color-neutral);}.text-white{color:#ffffff;}.text-black{color:#000000;}.bg-primary{background-color:var(--color-primary);}.bg-secondary{background-color:var(--color-secondary);}.bg-success{background-color:var(--color-success);}.bg-warning{background-color:var(--color-warning);}.bg-error{background-color:var(--color-error);}.bg-neutral{background-color:var(--color-neutral);}.bg-white{background-color:#ffffff;}.bg-black{background-color:#000000;}.border-0{border-width:0px;}.border{border-width:1px;}.border-2{border-width:2px;}.border-4{border-width:4px;}.border-solid{border-style:solid;}.border-dashed{border-style:dashed;}.border-dotted{border-style:dotted;}.border-neutral{border-color:var(--color-neutral);}.rounded-none{border-radius:var(--radius-none);}.rounded-sm{border-radius:var(--radius-sm);}.rounded-md{border-radius:var(--radius-md);}.rounded-lg{border-radius:var(--radius-lg);}.rounded-xl{border-radius:var(--radius-xl);}.rounded-2xl{border-radius:var(--radius-2xl);}.rounded-3xl{border-radius:var(--radius-3xl);}.rounded-full{border-radius:var(--radius-full);}.shadow-none{box-shadow:none;}.shadow-sm{box-shadow:var(--shadow-sm);}.shadow-md{box-shadow:var(--shadow-md);}.shadow-lg{box-shadow:var(--shadow-lg);}.shadow-xl{box-shadow:var(--shadow-xl);}.shadow-2xl{box-shadow:var(--shadow-2xl);}.static{position:static;}.fixed{position:fixed;}.absolute{position:absolute;}.relative{position:relative;}.sticky{position:sticky;}.inset-0{inset:0px;}.top-0{top:0px;}.right-0{right:0px;}.bottom-0{bottom:0px;}.left-0{left:0px;}.w-auto{width:auto;}.w-full{width:100%;}.w-screen{width:100vw;}.w-fit{width:fit-content;}.h-auto{height:auto;}.h-full{height:100%;}.h-screen{height:100vh;}.h-fit{height:fit-content;}.transition-none{transition-property:none;}.transition-all{transition-property:all;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.scale-95{transform:scale(0.95);}.scale-100{transform:scale(1);}.scale-105{transform:scale(1.05);}.scale-110{transform:scale(1.1);}.rotate-0{transform:rotate(0deg);}.rotate-45{transform:rotate(45deg);}.rotate-90{transform:rotate(90deg);}.rotate-180{transform:rotate(180deg);}.cursor-pointer{cursor:pointer;}.cursor-default{cursor:default;}.cursor-not-allowed{cursor:not-allowed;}.select-none{user-select:none;}.select-text{user-select:text;}.select-all{user-select:all;}.pointer-events-none{pointer-events:none;}.pointer-events-auto{pointer-events:auto;}.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;}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}@media (max-width:639px){.q-sm\:block{display:block;}.q-sm\:hidden{display:none;}.q-sm\:text-center{text-align:center;}.q-sm\:flex-col{flex-direction:column;}}@media (min-width:640px){.q-md\:block{display:block;}.q-md\:hidden{display:none;}.q-md\:flex-row{flex-direction:row;}}@media (min-width:768px){.q-lg\:block{display:block;}.q-lg\:hidden{display:none;}.q-lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}@media (min-width:1024px){.q-xl\:block{display:block;}.q-xl\:hidden{display:none;}.q-xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (min-width:1280px){.q-2xl\:block{display:block;}.q-2xl\:hidden{display:none;}.q-2xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}}.q-card{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);border:1px solid var(--color-neutral);transition:var(--duration-200) all var(--ease-in-out);}.q-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}.q-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:500;font-size:0.875rem;line-height:1.25rem;transition:all var(--duration-150) var(--ease-in-out);cursor:pointer;border:none;text-decoration:none;position:relative;overflow:hidden;}.q-btn:disabled{opacity:0.5;cursor:not-allowed;}.q-btn-primary{background-color:var(--color-primary);color:white;}.q-btn-primary:hover:not(:disabled){background-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:var(--shadow-md);}.q-btn-secondary{background-color:var(--color-neutral);color:white;}.q-btn-outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);}.q-btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:white;}.q-input{display:block;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-neutral);border-radius:var(--radius-md);font-size:0.875rem;line-height:1.25rem;transition:all var(--duration-150) var(--ease-in-out);background-color:white;}.q-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(59,130,246,0.1);}.q-input-error{border-color:var(--color-error);}.q-input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,0.1);}.q-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;}.q-badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-800);}.q-badge-success{background-color:#dcfce7;color:#166534;}.q-badge-warning{background-color:#fef3c7;color:#92400e;}.q-badge-error{background-color:#fee2e2;color:#991b1b;}.q-center{display:flex;align-items:center;justify-content:center;}.q-stack{display:flex;flex-direction:column;gap:var(--space-4);}.q-cluster{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-start;}.q-switcher{display:flex;flex-wrap:wrap;gap:var(--space-2);}.q-sidebar{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);}.q-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.q-frame{position:relative;overflow:hidden;}.q-space-y > * + *{margin-top:var(--space-4);}.q-space-y-2 > * + *{margin-top:var(--space-2);}.q-space-y-6 > * + *{margin-top:var(--space-6);}.q-space-x > * + *{margin-left:var(--space-4);}.q-space-x-2 > * + *{margin-left:var(--space-2);}.q-space-x-6 > * + *{margin-left:var(--space-6);}.q-animate-fade-in{animation:fadeIn var(--duration-300) var(--ease-out);}.q-animate-slide-up{animation:slideUp var(--duration-300) var(--ease-out);}.q-animate-slide-down{animation:slideDown var(--duration-300) var(--ease-out);}.q-animate-scale-in{animation:scaleIn var(--duration-200) var(--ease-out);}.q-animate-spin{animation:spin 1s linear infinite;}.q-animate-ping{animation:ping 1s cubic-bezier(0,0,0.2,1) infinite;}.q-animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}.q-animate-bounce{animation:bounce 1s infinite;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes ping{75%,100%{transform:scale(2);opacity:0;}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}.q-hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}.q-hover-scale:hover{transform:scale(1.05);}.q-hover-rotate:hover{transform:rotate(1deg);}.q-hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,0.5);}.q-active:active{transform:scale(0.98);}.q-focus-ring:focus{outline:2px solid var(--color-primary);outline-offset:2px;}.q-required::after{content:" *";color:var(--color-error);}.q-disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.q-loading{position:relative;overflow:hidden;}.q-loading::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient( 90deg,transparent,rgba(255,255,255,0.2),transparent );animation:loading 1.5s infinite;}@keyframes loading{to{left:100%;}}.q-success{border-color:var(--color-success) !important;box-shadow:0 0 0 3px rgba(16,185,129,0.1) !important;}.q-warning{border-color:var(--color-warning) !important;box-shadow:0 0 0 3px rgba(245,158,11,0.1) !important;}.q-error{border-color:var(--color-error) !important;box-shadow:0 0 0 3px rgba(239,68,68,0.1) !important;}.q-info{border-color:var(--color-primary) !important;box-shadow:0 0 0 3px rgba(59,130,246,0.1) !important;}@media (prefers-color-scheme:dark){.q-card{background-color:#1f2937;border-color:#374151;}.q-input{background-color:#1f2937;border-color:#374151;color:#f9fafb;}.q-dark\:text-white{color:#ffffff !important;}.q-dark\:bg-gray-800{background-color:#1f2937 !important;}.q-dark\:bg-gray-900{background-color:#111827 !important;}.q-dark\:border-gray-700{border-color:#374151 !important;}}@media print{.q-print-hidden{display:none !important;}.q-print-block{display:block !important;}.q-no-shadow{box-shadow:none !important;}.q-black-text{color:black !important;}}.prose{max-width:65ch;line-height:1.75;}.prose h1{font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem;}.prose h2{font-size:1.875rem;font-weight:600;line-height:1.25;margin-top:2rem;margin-bottom:1rem;}.prose p{margin-bottom:1rem;}.prose a{color:var(--color-primary);text-decoration:underline;}.prose a:hover{color:var(--color-primary-600);}.q-will-change-transform{will-change:transform;}.q-will-change-opacity{will-change:opacity;}.q-gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px;}@container (min-width:320px){.q-cq-sm\:flex{display:flex;}}@container (min-width:640px){.q-cq-md\:grid{display:grid;}}@container (min-width:1024px){.q-cq-lg\:block{display:block;}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}@media (prefers-contrast:high){.q-card{border-width:2px;}.q-btn{border:2px solid;}}.q-focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;}.q-backdrop-blur-sm{backdrop-filter:blur(4px);}.q-backdrop-blur{backdrop-filter:blur(8px);}.q-backdrop-blur-md{backdrop-filter:blur(12px);}.q-backdrop-blur-lg{backdrop-filter:blur(16px);}.q-text-shadow-sm{text-shadow:0 1px 2px rgba(0,0,0,0.05);}.q-text-shadow{text-shadow:0 1px 3px rgba(0,0,0,0.1);}.q-text-shadow-lg{text-shadow:0 4px 6px rgba(0,0,0,0.1);}.q-gradient-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-600) 100%);}.q-gradient-secondary{background:linear-gradient(135deg,var(--color-secondary) 0%,#475569 100%);}.q-gradient-radial{background:radial-gradient(circle at center,var(--color-primary) 0%,var(--color-primary-600) 100%);}.q-gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-600) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.q-scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-neutral) transparent;}.q-scrollbar-thin::-webkit-scrollbar{width:6px;}.q-scrollbar-thin::-webkit-scrollbar-track{background:transparent;}.q-scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--color-neutral);border-radius:3px;}.q-scrollbar-none{-ms-overflow-style:none;scrollbar-width:none;}.q-scrollbar-none::-webkit-scrollbar{display:none;}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:var(--color-starlight-deep);}body.light-mode::-webkit-scrollbar-track{background:var(--light-bg);}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--color-starlight-peach),var(--color-starlight-blue));border-radius:10px;border:2px solid var(--color-starlight-deep);}body.light-mode::-webkit-scrollbar-thumb{border-color:var(--light-bg);}:focus,:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-starlight-deep),0 0 0 4px var(--color-starlight-blue);transition:box-shadow var(--transition-fast);}body.light-mode:focus,body.light-mode:focus-visible{box-shadow:0 0 0 2px var(--light-bg),0 0 0 4px rgba(59,130,246,0.4);}body{margin:0;min-height:100vh;background-color:var(--color-starlight-deep);color:var(--text-primary);transition:background-color var(--transition-slow),color var(--transition-slow);}body.light-mode{background-color:var(--light-bg);color:var(--light-text);--text-primary:var(--light-text);--text-secondary:var(--light-text-muted);--text-muted:var(--light-text-muted);}button:active,input:active,.active-scale:active{transform:scale(0.96);}@custom-media --sm (min-width:640px);@custom-media --md (min-width:768px);@custom-media --lg (min-width:1024px);@custom-media --xl (min-width:1280px);@custom-media --2xl (min-width:1536px);@container (min-width:320px){.container\:flex{display:flex;}.container\:grid{display:grid;}.container\:hidden{display:none;}}@container (min-width:640px){.container\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.container\:text-lg{font-size:1.125rem;line-height:1.75rem;}.container\:p-6{padding:var(--space-6);}}@container (min-width:768px){.container\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.container\:text-xl{font-size:1.25rem;line-height:1.75rem;}.container\:p-8{padding:var(--space-8);}}@container (min-width:1024px){.container\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.container\:text-2xl{font-size:1.5rem;line-height:2rem;}}@media (--sm){.sm\:block{display:block;}.sm\:inline-block{display:inline-block;}.sm\:inline{display:inline;}.sm\:flex{display:flex;}.sm\:grid{display:grid;}.sm\:hidden{display:none;}.sm\:flex-row{flex-direction:row;}.sm\:flex-col{flex-direction:column;}.sm\:items-start{align-items:flex-start;}.sm\:items-center{align-items:center;}.sm\:items-end{align-items:flex-end;}.sm\:justify-start{justify-content:flex-start;}.sm\:justify-center{justify-content:center;}.sm\:justify-end{justify-content:flex-end;}.sm\:justify-between{justify-content:space-between;}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.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\:text-xs{font-size:0.75rem;line-height:1rem;}.sm\:text-sm{font-size:0.875rem;line-height:1.25rem;}.sm\:text-base{font-size:1rem;line-height:1.5rem;}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem;}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem;}.sm\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\:m-0{margin:var(--space-0);}.sm\:m-1{margin:var(--space-1);}.sm\:m-2{margin:var(--space-2);}.sm\:m-3{margin:var(--space-3);}.sm\:m-4{margin:var(--space-4);}.sm\:m-6{margin:var(--space-6);}.sm\:m-8{margin:var(--space-8);}.sm\:mx-auto{margin-left:auto;margin-right:auto;}.sm\:p-0{padding:var(--space-0);}.sm\:p-1{padding:var(--space-1);}.sm\:p-2{padding:var(--space-2);}.sm\:p-3{padding:var(--space-3);}.sm\:p-4{padding:var(--space-4);}.sm\:p-6{padding:var(--space-6);}.sm\:p-8{padding:var(--space-8);}.sm\:w-full{width:100%;}.sm\:w-auto{width:auto;}.sm\:h-full{height:100%;}.sm\:h-auto{height:auto;}}@media (--md){.md\:block{display:block;}.md\:inline-block{display:inline-block;}.md\:inline{display:inline;}.md\:flex{display:flex;}.md\:grid{display:grid;}.md\:hidden{display:none;}.md\:flex-row{flex-direction:row;}.md\:flex-col{flex-direction:column;}.md\:items-start{align-items:flex-start;}.md\:items-center{align-items:center;}.md\:items-end{align-items:flex-end;}.md\:justify-start{justify-content:flex-start;}.md\:justify-center{justify-content:center;}.md\:justify-end{justify-content:flex-end;}.md\:justify-between{justify-content:space-between;}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.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-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:text-xs{font-size:0.75rem;line-height:1rem;}.md\:text-sm{font-size:0.875rem;line-height:1.25rem;}.md\:text-base{font-size:1rem;line-height:1.5rem;}.md\:text-lg{font-size:1.125rem;line-height:1.75rem;}.md\:text-xl{font-size:1.25rem;line-height:1.75rem;}.md\:text-2xl{font-size:1.5rem;line-height:2rem;}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.md\:m-0{margin:var(--space-0);}.md\:m-1{margin:var(--space-1);}.md\:m-2{margin:var(--space-2);}.md\:m-3{margin:var(--space-3);}.md\:m-4{margin:var(--space-4);}.md\:m-6{margin:var(--space-6);}.md\:m-8{margin:var(--space-8);}.md\:m-12{margin:var(--space-12);}.md\:mx-auto{margin-left:auto;margin-right:auto;}.md\:p-0{padding:var(--space-0);}.md\:p-1{padding:var(--space-1);}.md\:p-2{padding:var(--space-2);}.md\:p-3{padding:var(--space-3);}.md\:p-4{padding:var(--space-4);}.md\:p-6{padding:var(--space-6);}.md\:p-8{padding:var(--space-8);}.md\:p-12{padding:var(--space-12);}.md\:w-full{width:100%;}.md\:w-auto{width:auto;}.md\:w-1\/2{width:50%;}.md\:w-1\/3{width:33.333333%;}.md\:w-2\/3{width:66.666667%;}.md\:w-1\/4{width:25%;}.md\:w-3\/4{width:75%;}.md\:h-full{height:100%;}.md\:h-auto{height:auto;}.md\:h-screen{height:100vh;}}@media (--lg){.lg\:block{display:block;}.lg\:inline-block{display:inline-block;}.lg\:inline{display:inline;}.lg\:flex{display:flex;}.lg\:grid{display:grid;}.lg\:hidden{display:none;}.lg\:flex-row{flex-direction:row;}.lg\:flex-col{flex-direction:column;}.lg\:items-start{align-items:flex-start;}.lg\:items-center{align-items:center;}.lg\:items-end{align-items:flex-end;}.lg\:items-stretch{align-items:stretch;}.lg\:justify-start{justify-content:flex-start;}.lg\:justify-center{justify-content:center;}.lg\:justify-end{justify-content:flex-end;}.lg\:justify-between{justify-content:space-between;}.lg\:justify-around{justify-content:space-around;}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:text-xs{font-size:0.75rem;line-height:1rem;}.lg\:text-sm{font-size:0.875rem;line-height:1.25rem;}.lg\:text-base{font-size:1rem;line-height:1.5rem;}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem;}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem;}.lg\:text-2xl{font-size:1.5rem;line-height:2rem;}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.lg\:m-0{margin:var(--space-0);}.lg\:m-1{margin:var(--space-1);}.lg\:m-2{margin:var(--space-2);}.lg\:m-3{margin:var(--space-3);}.lg\:m-4{margin:var(--space-4);}.lg\:m-6{margin:var(--space-6);}.lg\:m-8{margin:var(--space-8);}.lg\:m-12{margin:var(--space-12);}.lg\:m-16{margin:var(--space-16);}.lg\:mx-auto{margin-left:auto;margin-right:auto;}.lg\:p-0{padding:var(--space-0);}.lg\:p-1{padding:var(--space-1);}.lg\:p-2{padding:var(--space-2);}.lg\:p-3{padding:var(--space-3);}.lg\:p-4{padding:var(--space-4);}.lg\:p-6{padding:var(--space-6);}.lg\:p-8{padding:var(--space-8);}.lg\:p-12{padding:var(--space-12);}.lg\:p-16{padding:var(--space-16);}.lg\:w-full{width:100%;}.lg\:w-auto{width:auto;}.lg\:w-1\/2{width:50%;}.lg\:w-1\/3{width:33.333333%;}.lg\:w-2\/3{width:66.666667%;}.lg\:w-1\/4{width:25%;}.lg\:w-3\/4{width:75%;}.lg\:w-1\/5{width:20%;}.lg\:w-2\/5{width:40%;}.lg\:w-3\/5{width:60%;}.lg\:w-4\/5{width:80%;}.lg\:h-full{height:100%;}.lg\:h-auto{height:auto;}.lg\:h-screen{height:100vh;}}@media (--xl){.xl\:block{display:block;}.xl\:inline-block{display:inline-block;}.xl\:inline{display:inline;}.xl\:flex{display:flex;}.xl\:grid{display:grid;}.xl\:hidden{display:none;}.xl\:flex-row{flex-direction:row;}.xl\:flex-col{flex-direction:column;}.xl\:items-start{align-items:flex-start;}.xl\:items-center{align-items:center;}.xl\:items-end{align-items:flex-end;}.xl\:items-stretch{align-items:stretch;}.xl\:justify-start{justify-content:flex-start;}.xl\:justify-center{justify-content:center;}.xl\:justify-end{justify-content:flex-end;}.xl\:justify-between{justify-content:space-between;}.xl\:justify-around{justify-content:space-around;}.xl\:justify-evenly{justify-content:space-evenly;}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr));}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.xl\:text-xs{font-size:0.75rem;line-height:1rem;}.xl\:text-sm{font-size:0.875rem;line-height:1.25rem;}.xl\:text-base{font-size:1rem;line-height:1.5rem;}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem;}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem;}.xl\:text-2xl{font-size:1.5rem;line-height:2rem;}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.xl\:text-5xl{font-size:3rem;line-height:1;}.xl\:m-0{margin:var(--space-0);}.xl\:m-1{margin:var(--space-1);}.xl\:m-2{margin:var(--space-2);}.xl\:m-3{margin:var(--space-3);}.xl\:m-4{margin:var(--space-4);}.xl\:m-6{margin:var(--space-6);}.xl\:m-8{margin:var(--space-8);}.xl\:m-12{margin:var(--space-12);}.xl\:m-16{margin:var(--space-16);}.xl\:m-20{margin:var(--space-20);}.xl\:mx-auto{margin-left:auto;margin-right:auto;}.xl\:p-0{padding:var(--space-0);}.xl\:p-1{padding:var(--space-1);}.xl\:p-2{padding:var(--space-2);}.xl\:p-3{padding:var(--space-3);}.xl\:p-4{padding:var(--space-4);}.xl\:p-6{padding:var(--space-6);}.xl\:p-8{padding:var(--space-8);}.xl\:p-12{padding:var(--space-12);}.xl\:p-16{padding:var(--space-16);}.xl\:p-20{padding:var(--space-20);}.xl\:w-full{width:100%;}.xl\:w-auto{width:auto;}.xl\:w-1\/2{width:50%;}.xl\:w-1\/3{width:33.333333%;}.xl\:w-2\/3{width:66.666667%;}.xl\:w-1\/4{width:25%;}.xl\:w-3\/4{width:75%;}.xl\:w-1\/5{width:20%;}.xl\:w-2\/5{width:40%;}.xl\:w-3\/5{width:60%;}.xl\:w-4\/5{width:80%;}.xl\:h-full{height:100%;}.xl\:h-auto{height:auto;}.xl\:h-screen{height:100vh;}}@media (orientation:landscape){.landscape\:flex-row{flex-direction:row;}.landscape\:hidden{display:none;}}@media (orientation:portrait){.portrait\:flex-col{flex-direction:column;}.portrait\:hidden{display:none;}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.retina\:text-sm{font-size:0.875rem;line-height:1.25rem;}.retina\:border{border-width:0.5px;}}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none;}}@media (prefers-color-scheme:dark){.dark\:text-white{color:#ffffff;}.dark\:text-gray-200{color:#e5e7eb;}.dark\:text-gray-300{color:#d1d5db;}.dark\:bg-gray-900{background-color:#111827;}.dark\:bg-gray-800{background-color:#1f2937;}.dark\:bg-gray-700{background-color:#374151;}.dark\:border-gray-700{border-color:#374151;}.dark\:border-gray-600{border-color:#4b5563;}}@media (prefers-color-scheme:light){.light\:text-black{color:#000000;}.light\:text-gray-800{color:#1f2937;}.light\:text-gray-700{color:#374151;}.light\:bg-white{background-color:#ffffff;}.light\:bg-gray-50{background-color:#f9fafb;}.light\:bg-gray-100{background-color:#f3f4f6;}.light\:border-gray-300{border-color:#d1d5db;}.light\:border-gray-200{border-color:#e5e7eb;}}.hover\:text-primary:hover{color:var(--color-primary);}.hover\:text-secondary:hover{color:var(--color-secondary);}.hover\:text-white:hover{color:#ffffff;}.hover\:text-black:hover{color:#000000;}.hover\:bg-primary:hover{background-color:var(--color-primary);}.hover\:bg-secondary:hover{background-color:var(--color-secondary);}.hover\:bg-gray-100:hover{background-color:#f3f4f6;}.hover\:bg-gray-200:hover{background-color:#e5e7eb;}.hover\:border-primary:hover{border-color:var(--color-primary);}.hover\:border-secondary:hover{border-color:var(--color-secondary);}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg);}.hover\:shadow-xl:hover{box-shadow:var(--shadow-xl);}.hover\:scale-105:hover{transform:scale(1.05);}.hover\:scale-110:hover{transform:scale(1.1);}.hover\:scale-95:hover{transform:scale(0.95);}.hover\:rotate-90:hover{transform:rotate(90deg);}.hover\:rotate-180:hover{transform:rotate(180deg);}.hover\:opacity-75:hover{opacity:0.75;}.hover\:opacity-50:hover{opacity:0.5;}.hover\:opacity-100:hover{opacity:1;}.focus\:outline-none:focus{outline:none;}.focus\:outline:focus{outline:2px solid;outline-offset:2px;}.focus\:outline-primary:focus{outline-color:var(--color-primary);}.focus\:outline-secondary:focus{outline-color:var(--color-secondary);}.focus\:ring:focus{box-shadow:0 0 0 3px;}.focus\:ring-primary:focus{box-shadow:0 0 0 3px var(--color-primary);}.focus\:ring-secondary:focus{box-shadow:0 0 0 3px var(--color-secondary);}.focus\:border-primary:focus{border-color:var(--color-primary);}.focus\:border-secondary:focus{border-color:var(--color-secondary);}.active\:scale-95:active{transform:scale(0.95);}.active\:scale-90:active{transform:scale(0.9);}.active\:bg-primary:active{background-color:var(--color-primary);}.active\:bg-secondary:active{background-color:var(--color-secondary);}.disabled\:opacity-50:disabled{opacity:0.5;}.disabled\:opacity-75:disabled{opacity:0.75;}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed;}.disabled\:pointer-events-none:disabled{pointer-events:none;}.group:hover .group-hover\:text-primary{color:var(--color-primary);}.group:hover .group-hover\:text-white{color:#ffffff;}.group:hover .group-hover\:bg-primary{background-color:var(--color-primary);}.group:hover .group-hover\:bg-secondary{background-color:var(--color-secondary);}.group:hover .group-hover\:opacity-100{opacity:1;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;transition:all var(--duration-150) var(--ease-in-out);cursor:pointer;border:1px solid transparent;text-decoration:none;font-family:inherit;}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.btn-primary{background-color:var(--color-primary);color:white;border-color:var(--color-primary);}.btn-primary:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600);}.btn-secondary{background-color:rgba(255,255,255,0.05);color:white;border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.btn-secondary:hover{background-color:rgba(255,255,255,0.1);}body.light-mode .btn-secondary{background-color:rgba(0,0,0,0.03);color:#1e293b;border-color:rgba(0,0,0,0.1);}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary);}.btn-outline:hover{background-color:var(--color-primary);color:white;}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent;}.btn-ghost:hover{background-color:var(--color-primary-100);}.btn-sm{padding:var(--space-1) var(--space-3);font-size:0.875rem;}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1.125rem;}.btn-xl{padding:var(--space-4) var(--space-8);font-size:1.25rem;}.card{background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--duration-200) var(--ease-in-out);}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}.card-header{padding:var(--space-6);border-bottom:1px solid #e5e7eb;}.card-body{padding:var(--space-6);}.card-footer{padding:var(--space-6);border-top:1px solid #e5e7eb;background-color:#f9fafb;}.input{display:block;width:100%;padding:var(--space-2) var(--space-3);border:1px solid #d1d5db;border-radius:var(--radius-md);background-color:white;font-size:1rem;transition:all var(--duration-150) var(--ease-in-out);}textarea.input{min-height:100px;}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary);}input[type="date"].input,input[type="datetime-local"].input,input[type="time"].input{appearance:none;-webkit-appearance:none;min-height:2.5rem;display:inline-flex;align-items:center;}.glass input[type="date"],.starlight-card input[type="date"],[class*="dark"] input[type="date"]{color-scheme:dark;}input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(0.5);margin-left:0.5rem;}.input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed;}.input-error{border-color:var(--color-error);}.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error);}.badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:0.375rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border:1px solid;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}.badge-primary{background-color:rgba(0,212,255,0.15);color:#00d4ff;border-color:rgba(0,212,255,0.3);}.badge-secondary{background-color:rgba(255,255,255,0.05);color:rgba(255,255,255,0.8);border-color:rgba(255,255,255,0.1);}.badge-success{background-color:rgba(16,185,129,0.15);color:#10b981;border-color:rgba(16,185,129,0.3);}.badge-warning{background-color:rgba(245,158,11,0.15);color:#f59e0b;border-color:rgba(245,158,11,0.3);}.badge-error{background-color:rgba(239,68,68,0.15);color:#ef4444;border-color:rgba(239,68,68,0.3);}body.light-mode .badge-primary{background-color:rgba(59,130,246,0.1);color:#2563eb;border-color:rgba(59,130,246,0.2);}body.light-mode .badge-secondary{background-color:rgba(0,0,0,0.05);color:#475569;border-color:rgba(0,0,0,0.1);}body.light-mode .badge-success{background-color:rgba(16,185,129,0.1);color:#059669;border-color:rgba(16,185,129,0.2);}body.light-mode .badge-warning{background-color:rgba(245,158,11,0.1);color:#d97706;border-color:rgba(245,158,11,0.2);}body.light-mode .badge-error{background-color:rgba(239,68,68,0.1);color:#dc2626;border-color:rgba(239,68,68,0.2);}.alert{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;}.alert-success{background-color:#d1fae5;border-color:#6ee7b7;color:#065f46;}.alert-warning{background-color:#fed7aa;border-color:#fbbf24;color:#92400e;}.alert-error{background-color:#fee2e2;border-color:#f87171;color:#991b1b;}.alert-info{background-color:#dbeafe;border-color:#60a5fa;color:#1e40af;}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:50;}.modal-content{background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow-y:auto;}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid rgba(255,255,255,0.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,0.05) 25%,rgba(255,255,255,0.1) 50%,rgba(255,255,255,0.05) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md);}@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}body.light-mode .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;}.tooltip{position:relative;}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:#1f2937;color:white;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:0.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--duration-150) var(--ease-in-out);z-index:10;margin-bottom:var(--space-1);}.tooltip:hover .tooltip-content{opacity:1;visibility:visible;}.dropdown{position:relative;display:inline-block;}.dropdown-content{position:absolute;top:100%;left:0;background-color:white;border:1px solid #e5e7eb;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:20;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--duration-150) var(--ease-in-out);}.dropdown.active .dropdown-content{opacity:1;visibility:visible;transform:translateY(0);}.dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:none;border:none;cursor:pointer;transition:background-color var(--duration-150) var(--ease-in-out);}.dropdown-item:hover{background-color:#f3f4f6;}.accordion-item{border:1px solid #e5e7eb;border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden;}.accordion-header{padding:var(--space-4);background-color:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--duration-150) var(--ease-in-out);}.accordion-header:hover{background-color:#f3f4f6;}.accordion-content{padding:var(--space-4);background-color:white;max-height:0;overflow:hidden;transition:max-height var(--duration-300) var(--ease-in-out);}.accordion-item.active .accordion-content{max-height:500px;}.accordion-item.active .accordion-icon{transform:rotate(180deg);}.accordion-icon{transition:transform var(--duration-300) var(--ease-in-out);}.tab-list{display:flex;border-bottom:1px solid #e5e7eb;}.tab-button{padding:var(--space-2) var(--space-4);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--duration-150) var(--ease-in-out);}.tab-button:hover{background-color:#f3f4f6;}.tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);}.tab-content{padding:var(--space-4);}.tab-panel{display:none;}.tab-panel.active{display:block;}.progress{width:100%;height:0.5rem;background-color:#e5e7eb;border-radius:var(--radius-full);overflow:hidden;}.progress-bar{height:100%;background-color:var(--color-primary);transition:width var(--duration-300) var(--ease-in-out);}.toggle{position:relative;display:inline-block;width:3rem;height:1.5rem;}.toggle-input{opacity:0;width:0;height:0;}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:background-color var(--duration-150) var(--ease-in-out);border-radius:var(--radius-full);}.toggle-slider:before{position:absolute;content:"";height:1.25rem;width:1.25rem;left:0.125rem;bottom:0.125rem;background-color:white;transition:transform var(--duration-150) var(--ease-in-out);border-radius:50%;}.toggle-input:checked + .toggle-slider{background-color:var(--color-primary);}.toggle-input:checked + .toggle-slider:before{transform:translateX(1.5rem);}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.animate-bounce{animation:bounce 1s infinite;}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}.animate-fade-in{animation:fadeIn var(--duration-500) var(--ease-in-out);}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.animate-slide-up{animation:slideUp var(--duration-300) var(--ease-out);}@keyframes slideUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.animate-slide-down{animation:slideDown var(--duration-300) var(--ease-out);}@keyframes slideDown{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}@keyframes nebula-drift{0%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}50%{transform:translate(5%,5%) scale(1.2);opacity:0.7;}100%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}}@keyframes cosmic-pulse{0%,100%{box-shadow:0 0 20px rgba(0,212,255,0.2),0 0 40px rgba(0,212,255,0.1);}50%{box-shadow:0 0 40px rgba(0,212,255,0.5),0 0 80px rgba(0,212,255,0.2);}}@keyframes star-twinkle{0%,100%{opacity:0.3;transform:scale(0.8);}50%{opacity:1;transform:scale(1.2);}}@keyframes orbit{from{transform:rotate(0deg) translateX(20px) rotate(0deg);}to{transform:rotate(360deg) translateX(20px) rotate(-360deg);}}@keyframes svg-draw{from{stroke-dashoffset:1000;}to{stroke-dashoffset:0;}}@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-20px);}}.ani-nebula{animation:nebula-drift 20s ease-in-out infinite;will-change:transform,opacity;}.ani-cosmic-pulse{animation:cosmic-pulse 4s ease-in-out infinite;}.ani-twinkle{animation:star-twinkle var(--twinkle-duration,3s) ease-in-out infinite;}.ani-orbit{animation:orbit var(--orbit-duration,10s) linear infinite;}.ani-svg-draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:svg-draw 3s cubic-bezier(0.4,0,0.2,1) forwards;}.ani-float{animation:float-y 6s ease-in-out infinite;}.ani-stagger-1{animation-delay:0.1s;}.ani-stagger-2{animation-delay:0.2s;}.ani-stagger-3{animation-delay:0.3s;}.ani-stagger-4{animation-delay:0.4s;}.ani-stagger-5{animation-delay:0.5s;}.ani-fast{animation-duration:0.5s !important;}.ani-slow{animation-duration:8s !important;}.ani-slower{animation-duration:15s !important;}.container{max-width:1100px;margin:0 auto;padding:0 var(--space-8);}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);}a{color:var(--color-starlight-blue);text-decoration:none;transition:all var(--transition-base);position:relative;}a:hover{color:var(--color-starlight-peach);text-shadow:0 0 8px rgba(255,179,138,0.4);}a:active{transform:scale(0.98);}body.light-mode a{color:#2563eb;}body.light-mode a:hover{color:#1d4ed8;}.starlight-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-10);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;transition:border-color var(--transition-base),transform var(--transition-base),background-color var(--transition-base);}.starlight-card:hover{border-color:rgba(0,212,255,0.3);}body.light-mode .starlight-card{background:var(--light-card-bg);border-color:var(--light-card-border);color:#334155;box-shadow:0 4px 20px rgba(0,0,0,0.02);}.checkbox-starlight,.radio-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;position:relative;}.radio-starlight{border-radius:50%;}.checkbox-starlight:checked,.radio-starlight:checked{background:var(--color-starlight-blue);border-color:var(--color-starlight-blue);}.checkbox-starlight:checked::after{content:'✓';color:black;font-size:0.8rem;font-weight:900;}.radio-starlight:checked::after{content:'';width:0.5rem;height:0.5rem;background:black;border-radius:50%;}.has-tooltip{position:relative;}.has-tooltip .tooltip{position:absolute;bottom:125%;left:50%;transform:translateX(-50%) translateY(10px);padding:0.5rem 0.75rem;background-color:rgba(10,10,30,0.98);backdrop-filter:blur(12px);border:1px solid rgba(0,212,255,0.3);border-radius:0.5rem;color:#f1f5f9;font-size:0.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:all 0.2s ease;z-index:800;box-shadow:0 4px 15px rgba(0,0,0,0.4);}.has-tooltip:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(0);}.stars-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden;}.star{position:absolute;background:white;border-radius:50%;opacity:0.3;animation:twinkle var(--duration,3s) infinite ease-in-out;}@keyframes twinkle{0%,100%{opacity:0.3;transform:scale(1);}50%{opacity:1;transform:scale(1.2);}}.dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:400;}.dialog-content{background-color:rgba(10,10,20,0.98);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:1.5rem;padding:2rem;max-width:90%;width:600px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);position:relative;}body.light-mode .dialog-overlay{background:rgba(255,255,255,0.4);}body.light-mode .dialog-content{background-color:rgba(255,255,255,0.98);border-color:rgba(0,0,0,0.1);color:#1e293b;box-shadow:0 25px 50px -12px rgba(0,0,0,0.15);}.dropdown-menu{position:absolute;top:100%;left:0;background-color:rgba(15,15,30,0.98);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:0.75rem;padding:0.5rem;margin-top:0.5rem;min-width:200px;z-index:600;box-shadow:0 20px 40px rgba(0,0,0,0.4);}.dropdown-item{display:block;width:100%;padding:0.625rem 1rem;border-radius:0.5rem;color:rgba(255,255,255,0.7);transition:all 0.2s ease;text-align:left;background:transparent;border:none;cursor:pointer;}.dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}body.light-mode .dropdown-menu{background-color:rgba(255,255,255,0.99);border-color:#cbd5e1;box-shadow:0 10px 30px rgba(0,0,0,0.1);}body.light-mode .dropdown-item{color:#475569;}body.light-mode .dropdown-item:hover{background-color:#f1f5f9;color:#1e293b;}.input-starlight,.textarea-starlight{height:auto;padding:1rem;background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);border-radius:0.75rem;color:inherit;width:100%;}textarea.input-starlight,.textarea-starlight{min-height:120px;display:block;}body.light-mode .input-starlight,body.light-mode .textarea-starlight{background-color:#ffffff;border-color:#cbd5e1;}body.light-mode .glass{background-color:rgba(0,0,0,0.02);border-color:rgba(0,0,0,0.05);}.input-starlight:focus,.textarea-starlight:focus{outline:none;border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgba(0,212,255,0.1);}body.light-mode .input-starlight:focus,body.light-mode .textarea-starlight:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,0.08);}.code-window{background:rgba(0,0,0,0.4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);}.code-window-header{background:rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.05);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}.code-window-controls{display:flex;gap:0.5rem;}.code-window-dot{width:0.75rem;height:0.75rem;border-radius:50%;opacity:0.6;}.code-window-title{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.15em;color:rgba(255,255,255,0.4);}body.light-mode .code-window{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 10px 30px rgba(0,0,0,0.05);}body.light-mode .code-window-header{background:#f1f5f9;border-color:#e2e8f0;}body.light-mode .code-window-title{color:#94a3b8;}.accordion-starlight.accordion-item{background:rgba(255,255,255,0.02);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-xl);margin-bottom:var(--space-4);transition:all var(--transition-base);position:relative;}.accordion-starlight.accordion-item:hover{border-color:rgba(0,212,255,0.3);background:rgba(255,255,255,0.04);box-shadow:0 0 20px rgba(0,212,255,0.05);}.accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:rgba(0,212,255,0.03);box-shadow:0 0 30px rgba(0,212,255,0.1),inset 0 0 20px rgba(0,212,255,0.05);}.accordion-starlight .accordion-header{background:transparent !important;padding:var(--space-6) var(--space-8);color:white;font-weight:700;letter-spacing:0.02em;font-size:1.125rem;}.accordion-starlight.active .accordion-header{background:linear-gradient(to right,rgba(255,179,138,0.15),rgba(0,212,255,0.15)) !important;border-bottom:1px solid rgba(0,212,255,0.2);}.accordion-starlight .accordion-content{background:linear-gradient(to bottom,rgba(0,0,0,0.3),rgba(0,0,0,0.1)) !important;color:rgba(255,255,255,0.6) !important;font-size:1rem;line-height:1.8;padding:0;}.accordion-starlight.active .accordion-content{padding:var(--space-6) var(--space-8);}.accordion-starlight .accordion-icon{color:var(--color-starlight-blue);filter:drop-shadow(0 0 5px rgba(0,212,255,0.5));}body.light-mode .accordion-starlight.accordion-item{background:white;border-color:#e2e8f0;}body.light-mode .accordion-starlight.accordion-item.active{border-color:#3b82f6;background:#f8fafc;}body.light-mode .accordion-starlight .accordion-header{color:#1e293b;}body.light-mode .accordion-starlight .accordion-content{background:#f1f5f9 !important;color:#475569 !important;}.search-container{position:relative;width:100%;max-width:400px;}.search-input{padding-left:3rem !important;}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;width:1.25rem;height:1.25rem;}.starlight-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-base);}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);}.gallery-item:hover img{transform:scale(1.1);}.gallery-item:hover{border-color:var(--color-starlight-blue);box-shadow:0 0 20px var(--color-starlight-glow);}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.8),transparent);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity 0.3s ease;}.gallery-item:hover .gallery-overlay{opacity:1;}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);}.stat-card{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);}.stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}body.light-mode .stat-value{background:linear-gradient(135deg,#1e293b 0%,var(--color-primary-600) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}.stat-label{text-transform:uppercase;letter-spacing:0.1em;font-size:0.75rem;color:var(--text-muted);}.stat-trend{font-size:0.875rem;display:flex;align-items:center;gap:0.25rem;}.stat-trend.up{color:var(--color-success);}.stat-trend.down{color:var(--color-error);}.nav-glass{background:rgba(255,255,255,0.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.05);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;}body.light-mode .nav-glass{background:rgba(255,255,255,0.8);border-bottom-color:rgba(0,0,0,0.1);}.hamburger{width:2.5rem;height:2.5rem;display:flex;flex-direction:column;justify-content:center;gap:0.4rem;cursor:pointer;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:0.5rem;padding:0.5rem;transition:all 0.3s;}body.light-mode .hamburger{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1);}.hamburger:hover{background:rgba(255,255,255,0.1);border-color:var(--color-starlight-blue);}body.light-mode .hamburger:hover{background:rgba(0,0,0,0.1);}.hamburger span{width:100%;height:2px;background:white;border-radius:2px;transition:all 0.3s;}body.light-mode .hamburger span{background:#1e293b;}.nav-menu-mobile{position:absolute;top:100%;right:2rem;width:250px;background:rgba(10,10,25,0.98);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,0.1);border-radius:1rem;padding:1rem;margin-top:0.5rem;box-shadow:0 20px 40px rgba(0,0,0,0.5);display:none;animation:slideInDown 0.3s ease forwards;}body.light-mode .nav-menu-mobile{background:rgba(255,255,255,0.98);border-color:rgba(0,0,0,0.1);box-shadow:0 10px 30px rgba(0,0,0,0.1);}.nav-menu-mobile.active{display:block;}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.select-starlight{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem !important;}body.light-mode .select-starlight{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231e293b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");}.range-starlight{appearance:none;width:100%;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;outline:none;}body.light-mode .range-starlight{background:rgba(0,0,0,0.1);}.range-starlight::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--color-starlight-blue);border-radius:50%;cursor:pointer;box-shadow:0 0 10px var(--color-starlight-glow);transition:all 0.2s;}.range-starlight::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px var(--color-starlight-blue);}.toggle-starlight{width:3.5rem;height:1.75rem;}.toggle-starlight .toggle-slider{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.1);}body.light-mode .toggle-starlight .toggle-slider{background:rgba(0,0,0,0.1);border-color:rgba(0,0,0,0.1);}.toggle-starlight .toggle-input:checked + .toggle-slider{background:var(--color-starlight-blue);}body.light-mode .text-success{color:#059669;}body.light-mode .text-warning{color:#d97706;}body.light-mode .dialog-content .bg-black\/40{background-color:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1);}@media (forced-colors:active){button:focus,input:focus,select:focus,textarea:focus{outline:2px solid SelectedItem !important;outline-offset:2px;}.starlight-card:hover,.accordion-starlight.accordion-item:hover{border-color:SelectedItem !important;}.text-gradient-starlight,.bg-starlight{background:none !important;-webkit-text-fill-color:CanvasText !important;color:CanvasText !important;text-decoration:underline;}.btn-starlight{border:2px solid ButtonText !important;}}.p-12{padding:3rem;}.max-w-4xl{max-width:4xl;}.mx-auto{margin-left:auto;margin-right:auto;}.space-y-12 > * + *{margin-top:3rem;}.text-4xl{font-size:2.5rem;line-height:1.2;}.space-y-4 > * + *{margin-top:1rem;}.text-xl{font-size:1.25rem;line-height:1.2;}.flex{display:flex;}.gap-4{gap:1rem;}.btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.75rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;}.btn-primary:hover{transform:scale(1.05);}.btn-secondary{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);color:#3b82f6;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;}.btn-secondary:hover{background-color:rgba(255,255,255,0.1);}.card-premium{background-color:rgba(255,255,255,0.95);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:2rem;border-radius:1rem;border-color:#f1f5f9;}.card-premium:hover{transform:scale(1.05);}.max-w-sm{max-width:sm;}.text-2xl{font-size:1.5rem;line-height:1.2;}.mb-4{margin-bottom:1rem;}.p-10{padding:2.5rem;}.space-y-8 > * + *{margin-top:2rem;}.bg-black{background-color:#000000;}.text-white{color:#ffffff;}.top-0{top:0px;}.z-50{z-index:50;}.glass{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);}.p-4{padding:1rem;}.mb-8{margin-bottom:2rem;}.ml-4{margin-left:1rem;}.mt-8{margin-top:2rem;}.grid{display:grid;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.bg-blue-500{background-color:#3b82f6;}.bg-red-500{background-color:#ef4444;}.input-starlight{background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:inherit;border-radius:0.75rem;padding:0 1rem;appearance:none;transition:all 0.2s ease;height:3rem;}.textarea-starlight{background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:inherit;border-radius:0.75rem;padding:1rem;appearance:none;transition:all 0.2s ease;min-height:8rem;width:100%;display:block;}.bg-green-500{background-color:#10b981;}.mt-4{margin-top:1rem;}.p-8{padding:2rem;}.bg-starlight-deep{background-color:#08081a;}.min-h-screen{min-height:screen;}.w-6{width:1.5rem;}.h-6{height:1.5rem;}.hidden{display:none;}.max-w-144{max-width:36rem;}.mb-20{margin-bottom:5rem;}.pt-16{padding-top:4rem;}.text-6xl{font-size:4rem;line-height:1.2;}.mb-6{margin-bottom:1.5rem;}.text-gradient-starlight{background:linear-gradient(to right,#ffb38a,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;}.max-w-prose{max-width:prose;}.mb-10{margin-bottom:2.5rem;}.justify-center{justify-content:center;}.gap-6{gap:1.5rem;}.bg-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.text-black{color:#000000;}.px-10{padding-left:2.5rem;padding-right:2.5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.rounded-full{border-radius:9999px;}.glow-blue{box-shadow:0 0 30px rgba(0,212,255,0.25);}.scale-105{transform:scale(1.05);}.hover\:bg-white:hover{background-color:#ffffff;}.border-none{border-width:0;}.px-12{padding-left:3rem;padding-right:3rem;}.border-2{border-width:2px;}.border-white{border-color:#ffffff;}.text-sm{font-size:0.875rem;line-height:1.5;}.text-starlight{color:#00d4ff;}.gap-10{gap:2.5rem;}.rounded-2xl{border-radius:1rem;}.rounded-xl{border-radius:0.75rem;}.w-full{width:100%;}.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}.rounded-3xl{border-radius:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.5;}.flex-col{flex-direction:column;}.px-6{padding-left:1.5rem;padding-right:1.5rem;}.focus\:border-starlight:focus{border-color:#00d4ff;}.hover\:scale-105:hover{transform:scale(1.05);}.mt-32{margin-top:8rem;}.pt-10{padding-top:2.5rem;}.border-t{border-top-width:undefinedpx;}.border-b{border-bottom-width:undefinedpx;}.border-slate-100{border-color:#f1f5f9;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.bg-slate-50{background-color:#f8fafc;}.justify-between{justify-content:space-between;}.items-center{align-items:center;}.text-slate-500{color:#64748b;}.hover\:text-slate-900:hover{color:#0f172a;}.border-slate-900{border-color:#0f172a;}.border-b-4{border-bottom-width:4px;}.bg-white{background-color:#ffffff;}.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}.text-blue-600{color:#2563eb;}.gap-8{gap:2rem;}.text-xs{font-size:0.75rem;line-height:1.5;}.border-b-2{border-bottom-width:2px;}.border-transparent{border-color:transparent;}.hover\:border-blue-600:hover{border-color:#2563eb;}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}.p-2{padding:0.5rem;}.w-5{width:1.25rem;}.h-5{height:1.25rem;}.bg-slate-900{background-color:#0f172a;}.rounded{border-radius:0.375rem;}.bg-blue-600{background-color:#2563eb;}.overflow-hidden{overflow:hidden;}.inline-block{display:inline-block;}.py-12{padding-top:3rem;padding-bottom:3rem;}.px-3{padding-left:0.75rem;padding-right:0.75rem;}.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}.text-5xl{font-size:3rem;line-height:1.2;}.text-slate-300{color:#cbd5e1;}.max-w-2xl{max-width:2xl;}.gap-12{gap:3rem;}.aspect-video{aspect-ratio:16 / 9;width:100%;height:auto;}.bg-slate-100{background-color:#f1f5f9;}.rounded-lg{border-radius:0.5rem;}.h-full{height:100%;}.group:hover .group-hover\:scale-105{transform:scale(1.05);}.transition-transform{transition-property:transform;}.pb-2{padding-bottom:0.5rem;}.space-y-6 > * + *{margin-top:1.5rem;}.items-start{align-items:flex-start;}.text-slate-100{color:#f1f5f9;}.group:hover .group-hover\:text-blue-100{color:#dbeafe;}.group:hover .group-hover\:text-blue-600{color:#2563eb;}.text-slate-400{color:#94a3b8;}.mt-1{margin-top:0.25rem;}.p-6{padding:1.5rem;}.border-slate-200{border-color:#e2e8f0;}.p-3{padding:0.75rem;}.focus\:border-blue-600:focus{border-color:#2563eb;}.py-20{padding-top:5rem;padding-bottom:5rem;}.mt-24{margin-top:6rem;}.border-slate-800{border-color:#1e293b;}.pb-16{padding-bottom:4rem;}.col-span-1{grid-column:span 1 / span 1;}.text-3xl{font-size:2rem;line-height:1.2;}.max-w-md{max-width:md;}.space-y-3 > * + *{margin-top:0.75rem;}.p-0{padding:0px;}.hover\:text-blue-600:hover{color:#2563eb;}.pt-12{padding-top:3rem;}.text-slate-600{color:#475569;}.max-w-6xl{max-width:6xl;}.mb-12{margin-bottom:3rem;}.mb-2{margin-bottom:0.5rem;}.w-24{width:6rem;}.text-base{font-size:1rem;line-height:1.5;}.w-20{width:5rem;}.h-20{height:5rem;}.bg-blue-100{background-color:#dbeafe;}.border-blue-200{border-color:#bfdbfe;}.w-32{width:8rem;}.h-32{height:8rem;}.w-16{width:4rem;}.h-16{height:4rem;}.bg-orange-500{background-color:#f97316;}.h-48{height:12rem;}.w-4{width:1rem;}.h-4{height:1rem;}.bg-slate-500\/10{background-color:rgba(100,116,139,0.1);}.bg-black\/20{background-color:rgba(0,0,0,0.2);}.border-white\/20{border-color:rgba(255,255,255,0.2);}.btn-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.75rem;cursor:pointer;}.text-muted{color:var(--text-muted);}.gap-2{gap:0.5rem;}.border-white\/10{border-color:rgba(255,255,255,0.1);}.my-1{margin-top:0.25rem;margin-bottom:0.25rem;}.text-error{color:#ef4444;}.p-20{padding:5rem;}.w-2{width:0.5rem;}.h-2{height:0.5rem;}.bg-success{background-color:#10b981;}.mr-1{margin-right:0.25rem;}.gap-3{gap:0.75rem;}.checkbox-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;position:relative;display:inline-flex;align-items:center;justify-content:center;}.mt-auto{margin-top:auto;}.flex-1{flex:1 1 0%;}.bg-black\/40{background-color:rgba(0,0,0,0.4);}.border-white\/5{border-color:rgba(255,255,255,0.05);}.text-success{color:#10b981;}.text-warning{color:#f59e0b;}.mt-20{margin-top:5rem;}.pt-8{padding-top:2rem;}.block{display:block;}.h-14{height:3.5rem;}.pb-12{padding-bottom:3rem;}.max-w-3xl{max-width:3xl;}.mt-6{margin-top:1.5rem;}.w-3\/4{width:75.00%;}.h-12{height:3rem;}.w-1\/2{width:50.00%;}.px-8{padding-left:2rem;padding-right:2rem;}.hover\:text-starlight:hover{color:#00d4ff;}.py-2.5{padding-top:2.5;padding-bottom:2.5;}.gap-1.5{gap:1.5;}.h-0.5{height:0.5;}.bg-starlight-deep\/98{background-color:rgba(8,8,26,0.98);}.z-40{z-index:40;}.max-w-\[1200px]{max-width:1200px;}.hover\:bg-starlight:hover{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.py-24{padding-top:6rem;padding-bottom:6rem;}.items-end{align-items:flex-end;}.border-starlight{border-color:#00d4ff;}.pb-1{padding-bottom:0.25rem;}.hover\:text-white:hover{color:#ffffff;}.hover\:border-white:hover{border-color:#ffffff;}.duration-500{transition-duration:500ms;}.mb-32{margin-bottom:8rem;}.p-16{padding:4rem;}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.mb-16{margin-bottom:4rem;}.col-span-2{grid-column:span 2 / span 2;}.text-primary{color:#3b82f6;}.left-0{left:0px;}.-z-10{z-index:-10;}.h-24{height:6rem;}.w-8{width:2rem;}.h-8{height:2rem;}.hover\:text-primary:hover{color:#3b82f6;}.gap-16{gap:4rem;}.space-y-16 > * + *{margin-top:4rem;}.text-secondary{color:#64748b;}.pt-4{padding-top:1rem;}.w-12{width:3rem;}.border-primary\/30{border-color:rgba(59,130,246,0.3);}.p-1{padding:0.25rem;}.max-w-none{max-width:none;}.space-y-10 > * + *{margin-top:2.5rem;}.h-10{height:2.5rem;}.border-l-4{border-left-width:4px;}.border-primary{border-color:#3b82f6;}.bg-primary\/5{background-color:rgba(59,130,246,0.05);}.bg-white\/5{background-color:rgba(255,255,255,0.05);}.mt-12{margin-top:3rem;}.mr-2{margin-right:0.5rem;}.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,0.1);}.hover\:bg-white\/5:hover{background-color:rgba(255,255,255,0.05);}.group:hover .group-hover\:text-primary{color:#3b82f6;}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.space-x-12 > * + *{margin-left:3rem;}.py-16{padding-top:4rem;padding-bottom:4rem;}.px-4{padding-left:1rem;padding-right:1rem;}.py-1.5{padding-top:1.5;padding-bottom:1.5;}.rounded-\[2.5rem]{border-radius:2.5rem;}.max-w-5xl{max-width:5xl;}.mb-3{margin-bottom:0.75rem;}.bg-transparent{background-color:transparent;}.placeholder\:text-white\/10:placeholder{color:rgba(255,255,255,0.1);}.border-l{border-left-width:undefinedpx;}.px-16{padding-left:4rem;padding-right:4rem;}.h-auto{height:auto;}.hover\:glow-blue:hover{box-shadow:0 0 30px rgba(0,212,255,0.25);}.text-orange-600{color:#ea580c;}.transition-all{transition-property:all;}.h-80{height:80;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.duration-700{transition-duration:700ms;}.z-10{z-index:10;}.bottom-8{bottom:2rem;}.left-8{left:2rem;}.z-20{z-index:20;}.bg-blue-600\/20{background-color:rgba(37,99,235,0.2);}.ml-2{margin-left:0.5rem;}.hover\:text-black:hover{color:#000000;}.bg-orange-600\/20{background-color:rgba(234,88,12,0.2);}.rounded-\[3rem]{border-radius:3rem;}.max-w-xl{max-width:xl;}.placeholder\:text-white\/20:placeholder{color:rgba(255,255,255,0.2);}.space-x-6 > * + *{margin-left:1.5rem;}.bg-white\/80{background-color:rgba(255,255,255,0.8);}.max-w-\[1440px]{max-width:1440px;}.text-slate-900{color:#0f172a;}.hover\:text-orange-600:hover{color:#ea580c;}.hover\:bg-slate-200:hover{background-color:#e2e8f0;}.right-0{right:0px;}.bg-orange-600{background-color:#ea580c;}.min-w-56{min-width:56;}.flex-shrink-0{flex-shrink:0;}.space-x-4 > * + *{margin-left:1rem;}.group:hover .group-hover\:text-slate-900{color:#0f172a;}.w-10{width:2.5rem;}.min-w-0{min-width:0;}.gap-x-8{column-gap:2rem;}.gap-y-16{row-gap:4rem;}.aspect-\[3\/4]{aspect-ratio:3 / 4;width:100%;height:auto;}.top-4{top:1rem;}.left-4{left:1rem;}.space-y-2 > * + *{margin-top:0.5rem;}.bottom-4{bottom:1rem;}.duration-300{transition-duration:300ms;}.px-1{padding-left:0.25rem;padding-right:0.25rem;}.bg-slate-900\/80{background-color:rgba(15,23,42,0.8);}.border-blue-600\/50{border-color:rgba(37,99,235,0.5);}.text-slate-200{color:#e2e8f0;}.bg-slate-950{background-color:#020617;}.placeholder\:text-slate-600:placeholder{color:#475569;}@media (min-width:640px){.sm\:flex-row{flex-direction:row;}}@media (min-width:768px){.md\:btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.75rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;}.md\:btn-primary:hover{transform:scale(1.05);}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:flex-row{flex-direction:row;}.md\:w-80{width:80;}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:col-span-2{grid-column:span 2 / span 2;}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.md\:flex{display:flex;}.md\:hidden{display:none;}.md\:w-96{width:96;}.md\:col-span-1{grid-column:span 1 / span 1;}.md\:block{display:block;}.md\:h-full{height:100%;}}@media (min-width:1024px){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:col-span-8{grid-column:span 8 / span 8;}.lg\:col-span-4{grid-column:span 4 / span 4;}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:flex{display:flex;}.lg\:flex-row{flex-direction:row;}.lg\:w-64{width:16rem;}.lg\:col-span-2{grid-column:span 2 / span 2;}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (prefers-color-scheme:dark){.card-premium{background-color:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}}
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');:root{color-scheme:dark;--color-primary:#3b82f6;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-secondary:#64748b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-neutral:#6b7280;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:Georgia,Cambria,serif;--font-mono:'SF Mono',Monaco,'Cascadia Code',monospace;--space-0:0px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-none:0px;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 0.25);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--duration-1000:1000ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--color-starlight-blue:#00d4ff;--color-starlight-peach:#ffb38a;--color-starlight-orange:#ff7e5f;--color-starlight-deep:#08081a;--color-starlight-glow:rgba(0,212,255,0.35);--text-primary:#f1f5f9;--text-secondary:rgba(241,245,249,0.7);--text-muted:rgba(241,245,249,0.45);--light-bg:#f1f5f9;--light-text:#1e293b;--light-text-muted:#64748b;--light-card-bg:#ffffff;--light-card-border:rgba(0,0,0,0.06);--glass-bg:rgba(255,255,255,0.03);--glass-border:rgba(255,255,255,0.1);--glass-blur:blur(16px);--transition-fast:150ms ease-in-out;--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms ease-in-out;}@media (prefers-contrast:more){:root{--color-starlight-blue:#0088cc;--color-starlight-orange:#d14d33;--glass-bg:rgba(255,255,255,0.1);--glass-border:rgba(255,255,255,0.4);--text-muted:rgba(241,245,249,0.8);}}@media (forced-colors:active){:root{--radius-none:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-2xl:0;--radius-3xl:0;--radius-full:0;}.starlight-card,.glass{border:2px solid CanvasText !important;}.btn-starlight{background:ButtonFace !important;color:ButtonText !important;border:2px solid ButtonText !important;}}@media (prefers-color-scheme:dark){:root{--color-primary:#60a5fa;--color-secondary:#94a3b8;--color-neutral:#9ca3af;}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{line-height:1.6;-webkit-text-size-adjust:100%;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-starlight-deep);scrollbar-width:thin;scrollbar-color:var(--color-starlight-blue) transparent;}body{line-height:inherit;}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;border:none;background:transparent;}textarea{resize:vertical;min-height:5rem;}.container{width:100%;max-width:1100px;margin-left:auto;margin-right:auto;padding-left:var(--space-8);padding-right:var(--space-8);}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);}@container (min-width:640px){.container{max-width:640px;}}@container (min-width:768px){.container{max-width:768px;}}@container (min-width:1024px){.container{max-width:1024px;}}@container (min-width:1280px){.container{max-width:1280px;}}.block{display:block;}.inline-block{display:inline-block;}.inline{display:inline;}.flex{display:flex;}.inline-flex{display:inline-flex;}.grid{display:grid;}.inline-grid{display:inline-grid;}.hidden{display:none;}.flex-row{flex-direction:row;}.flex-row-reverse{flex-direction:row-reverse;}.flex-col{flex-direction:column;}.flex-col-reverse{flex-direction:column-reverse;}.flex-wrap{flex-wrap:wrap;}.flex-wrap-reverse{flex-wrap:wrap-reverse;}.flex-nowrap{flex-wrap:nowrap;}.items-start{align-items:flex-start;}.items-end{align-items:flex-end;}.items-center{align-items:center;}.items-baseline{align-items:baseline;}.items-stretch{align-items:stretch;}.justify-start{justify-content:flex-start;}.justify-end{justify-content:flex-end;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.justify-around{justify-content:space-around;}.justify-evenly{justify-content:space-evenly;}.flex-1{flex:1 1 0%;}.flex-auto{flex:1 1 auto;}.flex-initial{flex:0 1 auto;}.flex-none{flex:none;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.gap-0{gap:var(--space-0);}.gap-1{gap:var(--space-1);}.gap-2{gap:var(--space-2);}.gap-3{gap:var(--space-3);}.gap-4{gap:var(--space-4);}.gap-5{gap:var(--space-5);}.gap-6{gap:var(--space-6);}.gap-8{gap:var(--space-8);}.m-0{margin:var(--space-0);}.m-1{margin:var(--space-1);}.m-2{margin:var(--space-2);}.m-3{margin:var(--space-3);}.m-4{margin:var(--space-4);}.m-5{margin:var(--space-5);}.m-6{margin:var(--space-6);}.m-8{margin:var(--space-8);}.m-auto{margin:auto;}.mx-auto{margin-left:auto;margin-right:auto;}.my-auto{margin-top:auto;margin-bottom:auto;}.p-0{padding:var(--space-0);}.p-1{padding:var(--space-1);}.p-2{padding:var(--space-2);}.p-3{padding:var(--space-3);}.p-4{padding:var(--space-4);}.p-5{padding:var(--space-5);}.p-6{padding:var(--space-6);}.p-8{padding:var(--space-8);}.text-xs{font-size:0.75rem;line-height:1rem;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-base{font-size:1rem;line-height:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.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.2;}.font-light{font-weight:300;}.font-normal{font-weight:400;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.font-bold{font-weight:700;}.font-extrabold{font-weight:800;}.text-left{text-align:left;}.text-center{text-align:center;}.text-right{text-align:right;}.text-justify{text-align:justify;}.text-primary{color:var(--color-primary);}.text-secondary{color:var(--color-secondary);}.text-success{color:var(--color-success);}.text-warning{color:var(--color-warning);}.text-error{color:var(--color-error);}.text-neutral{color:var(--color-neutral);}.text-white{color:#ffffff;}.text-black{color:#000000;}.bg-primary{background-color:var(--color-primary);}.bg-secondary{background-color:var(--color-secondary);}.bg-success{background-color:var(--color-success);}.bg-warning{background-color:var(--color-warning);}.bg-error{background-color:var(--color-error);}.bg-neutral{background-color:var(--color-neutral);}.bg-white{background-color:#ffffff;}.bg-black{background-color:#000000;}.border-0{border-width:0px;}.border{border-width:1px;}.border-2{border-width:2px;}.border-4{border-width:4px;}.border-solid{border-style:solid;}.border-dashed{border-style:dashed;}.border-dotted{border-style:dotted;}.border-neutral{border-color:var(--color-neutral);}.rounded-none{border-radius:var(--radius-none);}.rounded-sm{border-radius:var(--radius-sm);}.rounded-md{border-radius:var(--radius-md);}.rounded-lg{border-radius:var(--radius-lg);}.rounded-xl{border-radius:var(--radius-xl);}.rounded-2xl{border-radius:var(--radius-2xl);}.rounded-3xl{border-radius:var(--radius-3xl);}.rounded-full{border-radius:var(--radius-full);}.shadow-none{box-shadow:none;}.shadow-sm{box-shadow:var(--shadow-sm);}.shadow-md{box-shadow:var(--shadow-md);}.shadow-lg{box-shadow:var(--shadow-lg);}.shadow-xl{box-shadow:var(--shadow-xl);}.shadow-2xl{box-shadow:var(--shadow-2xl);}.static{position:static;}.fixed{position:fixed;}.absolute{position:absolute;}.relative{position:relative;}.sticky{position:sticky;}.inset-0{inset:0px;}.top-0{top:0px;}.right-0{right:0px;}.bottom-0{bottom:0px;}.left-0{left:0px;}.w-auto{width:auto;}.w-full{width:100%;}.w-screen{width:100vw;}.w-fit{width:fit-content;}.h-auto{height:auto;}.h-full{height:100%;}.h-screen{height:100vh;}.h-fit{height:fit-content;}.transition-none{transition-property:none;}.transition-all{transition-property:all;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.scale-95{transform:scale(0.95);}.scale-100{transform:scale(1);}.scale-105{transform:scale(1.05);}.scale-110{transform:scale(1.1);}.rotate-0{transform:rotate(0deg);}.rotate-45{transform:rotate(45deg);}.rotate-90{transform:rotate(90deg);}.rotate-180{transform:rotate(180deg);}.cursor-pointer{cursor:pointer;}.cursor-default{cursor:default;}.cursor-not-allowed{cursor:not-allowed;}.select-none{user-select:none;}.select-text{user-select:text;}.select-all{user-select:all;}.pointer-events-none{pointer-events:none;}.pointer-events-auto{pointer-events:auto;}.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;}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;}.prose{max-width:65ch;line-height:1.75;}.prose h1{font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem;}.prose h2{font-size:1.875rem;font-weight:600;line-height:1.25;margin-top:2rem;margin-bottom:1rem;}.prose p{margin-bottom:1rem;}.prose a{color:var(--color-primary);text-decoration:underline;}.prose a:hover{color:var(--color-primary-600);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-starlight-peach) 0%,var(--color-starlight-blue) 100%);border-radius:10px;border:2px solid var(--color-starlight-deep);}body.light-mode,html.light-mode{scrollbar-color:var(--color-starlight-blue) transparent;}body.light-mode::-webkit-scrollbar-thumb,body.light-mode::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-starlight-peach) 40%,var(--color-starlight-blue) 100%);border-color:var(--light-bg);}:focus,:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-starlight-deep),0 0 0 4px var(--color-starlight-blue);transition:box-shadow var(--transition-fast);}body.light-mode:focus,body.light-mode:focus-visible{box-shadow:0 0 0 2px var(--light-bg),0 0 0 4px rgba(59,130,246,0.4);}body{margin:0;min-height:100vh;background-color:var(--color-starlight-deep);color:var(--text-primary);transition:background-color var(--transition-slow),color var(--transition-slow);}body.light-mode,html.light-mode{color-scheme:light;background-color:var(--light-bg);color:var(--light-text);--text-primary:var(--light-text);--text-secondary:var(--light-text-muted);--text-muted:var(--light-text-muted);}button:active,input:active,.active-scale:active{transform:scale(0.96);}@custom-media --sm (min-width:640px);@custom-media --md (min-width:768px);@custom-media --lg (min-width:1024px);@custom-media --xl (min-width:1280px);@custom-media --2xl (min-width:1536px);@container (min-width:320px){.container\:flex{display:flex;}.container\:grid{display:grid;}.container\:hidden{display:none;}}@container (min-width:640px){.container\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.container\:text-lg{font-size:1.125rem;line-height:1.75rem;}.container\:p-6{padding:var(--space-6);}}@container (min-width:768px){.container\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.container\:text-xl{font-size:1.25rem;line-height:1.75rem;}.container\:p-8{padding:var(--space-8);}}@container (min-width:1024px){.container\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.container\:text-2xl{font-size:1.5rem;line-height:2rem;}}@media (--sm){.sm\:block{display:block;}.sm\:inline-block{display:inline-block;}.sm\:inline{display:inline;}.sm\:flex{display:flex;}.sm\:grid{display:grid;}.sm\:hidden{display:none;}.sm\:flex-row{flex-direction:row;}.sm\:flex-col{flex-direction:column;}.sm\:items-start{align-items:flex-start;}.sm\:items-center{align-items:center;}.sm\:items-end{align-items:flex-end;}.sm\:justify-start{justify-content:flex-start;}.sm\:justify-center{justify-content:center;}.sm\:justify-end{justify-content:flex-end;}.sm\:justify-between{justify-content:space-between;}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.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\:text-xs{font-size:0.75rem;line-height:1rem;}.sm\:text-sm{font-size:0.875rem;line-height:1.25rem;}.sm\:text-base{font-size:1rem;line-height:1.5rem;}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem;}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem;}.sm\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\:m-0{margin:var(--space-0);}.sm\:m-1{margin:var(--space-1);}.sm\:m-2{margin:var(--space-2);}.sm\:m-3{margin:var(--space-3);}.sm\:m-4{margin:var(--space-4);}.sm\:m-6{margin:var(--space-6);}.sm\:m-8{margin:var(--space-8);}.sm\:mx-auto{margin-left:auto;margin-right:auto;}.sm\:p-0{padding:var(--space-0);}.sm\:p-1{padding:var(--space-1);}.sm\:p-2{padding:var(--space-2);}.sm\:p-3{padding:var(--space-3);}.sm\:p-4{padding:var(--space-4);}.sm\:p-6{padding:var(--space-6);}.sm\:p-8{padding:var(--space-8);}.sm\:w-full{width:100%;}.sm\:w-auto{width:auto;}.sm\:h-full{height:100%;}.sm\:h-auto{height:auto;}}@media (--md){.md\:block{display:block;}.md\:inline-block{display:inline-block;}.md\:inline{display:inline;}.md\:flex{display:flex;}.md\:grid{display:grid;}.md\:hidden{display:none;}.md\:flex-row{flex-direction:row;}.md\:flex-col{flex-direction:column;}.md\:items-start{align-items:flex-start;}.md\:items-center{align-items:center;}.md\:items-end{align-items:flex-end;}.md\:justify-start{justify-content:flex-start;}.md\:justify-center{justify-content:center;}.md\:justify-end{justify-content:flex-end;}.md\:justify-between{justify-content:space-between;}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.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-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:text-xs{font-size:0.75rem;line-height:1rem;}.md\:text-sm{font-size:0.875rem;line-height:1.25rem;}.md\:text-base{font-size:1rem;line-height:1.5rem;}.md\:text-lg{font-size:1.125rem;line-height:1.75rem;}.md\:text-xl{font-size:1.25rem;line-height:1.75rem;}.md\:text-2xl{font-size:1.5rem;line-height:2rem;}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.md\:m-0{margin:var(--space-0);}.md\:m-1{margin:var(--space-1);}.md\:m-2{margin:var(--space-2);}.md\:m-3{margin:var(--space-3);}.md\:m-4{margin:var(--space-4);}.md\:m-6{margin:var(--space-6);}.md\:m-8{margin:var(--space-8);}.md\:m-12{margin:var(--space-12);}.md\:mx-auto{margin-left:auto;margin-right:auto;}.md\:p-0{padding:var(--space-0);}.md\:p-1{padding:var(--space-1);}.md\:p-2{padding:var(--space-2);}.md\:p-3{padding:var(--space-3);}.md\:p-4{padding:var(--space-4);}.md\:p-6{padding:var(--space-6);}.md\:p-8{padding:var(--space-8);}.md\:p-12{padding:var(--space-12);}.md\:w-full{width:100%;}.md\:w-auto{width:auto;}.md\:w-1\/2{width:50%;}.md\:w-1\/3{width:33.333333%;}.md\:w-2\/3{width:66.666667%;}.md\:w-1\/4{width:25%;}.md\:w-3\/4{width:75%;}.md\:h-full{height:100%;}.md\:h-auto{height:auto;}.md\:h-screen{height:100vh;}}@media (--lg){.lg\:block{display:block;}.lg\:inline-block{display:inline-block;}.lg\:inline{display:inline;}.lg\:flex{display:flex;}.lg\:grid{display:grid;}.lg\:hidden{display:none;}.lg\:flex-row{flex-direction:row;}.lg\:flex-col{flex-direction:column;}.lg\:items-start{align-items:flex-start;}.lg\:items-center{align-items:center;}.lg\:items-end{align-items:flex-end;}.lg\:items-stretch{align-items:stretch;}.lg\:justify-start{justify-content:flex-start;}.lg\:justify-center{justify-content:center;}.lg\:justify-end{justify-content:flex-end;}.lg\:justify-between{justify-content:space-between;}.lg\:justify-around{justify-content:space-around;}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:text-xs{font-size:0.75rem;line-height:1rem;}.lg\:text-sm{font-size:0.875rem;line-height:1.25rem;}.lg\:text-base{font-size:1rem;line-height:1.5rem;}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem;}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem;}.lg\:text-2xl{font-size:1.5rem;line-height:2rem;}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.lg\:m-0{margin:var(--space-0);}.lg\:m-1{margin:var(--space-1);}.lg\:m-2{margin:var(--space-2);}.lg\:m-3{margin:var(--space-3);}.lg\:m-4{margin:var(--space-4);}.lg\:m-6{margin:var(--space-6);}.lg\:m-8{margin:var(--space-8);}.lg\:m-12{margin:var(--space-12);}.lg\:m-16{margin:var(--space-16);}.lg\:mx-auto{margin-left:auto;margin-right:auto;}.lg\:p-0{padding:var(--space-0);}.lg\:p-1{padding:var(--space-1);}.lg\:p-2{padding:var(--space-2);}.lg\:p-3{padding:var(--space-3);}.lg\:p-4{padding:var(--space-4);}.lg\:p-6{padding:var(--space-6);}.lg\:p-8{padding:var(--space-8);}.lg\:p-12{padding:var(--space-12);}.lg\:p-16{padding:var(--space-16);}.lg\:w-full{width:100%;}.lg\:w-auto{width:auto;}.lg\:w-1\/2{width:50%;}.lg\:w-1\/3{width:33.333333%;}.lg\:w-2\/3{width:66.666667%;}.lg\:w-1\/4{width:25%;}.lg\:w-3\/4{width:75%;}.lg\:w-1\/5{width:20%;}.lg\:w-2\/5{width:40%;}.lg\:w-3\/5{width:60%;}.lg\:w-4\/5{width:80%;}.lg\:h-full{height:100%;}.lg\:h-auto{height:auto;}.lg\:h-screen{height:100vh;}}@media (--xl){.xl\:block{display:block;}.xl\:inline-block{display:inline-block;}.xl\:inline{display:inline;}.xl\:flex{display:flex;}.xl\:grid{display:grid;}.xl\:hidden{display:none;}.xl\:flex-row{flex-direction:row;}.xl\:flex-col{flex-direction:column;}.xl\:items-start{align-items:flex-start;}.xl\:items-center{align-items:center;}.xl\:items-end{align-items:flex-end;}.xl\:items-stretch{align-items:stretch;}.xl\:justify-start{justify-content:flex-start;}.xl\:justify-center{justify-content:center;}.xl\:justify-end{justify-content:flex-end;}.xl\:justify-between{justify-content:space-between;}.xl\:justify-around{justify-content:space-around;}.xl\:justify-evenly{justify-content:space-evenly;}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr));}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.xl\:text-xs{font-size:0.75rem;line-height:1rem;}.xl\:text-sm{font-size:0.875rem;line-height:1.25rem;}.xl\:text-base{font-size:1rem;line-height:1.5rem;}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem;}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem;}.xl\:text-2xl{font-size:1.5rem;line-height:2rem;}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.xl\:text-5xl{font-size:3rem;line-height:1;}.xl\:m-0{margin:var(--space-0);}.xl\:m-1{margin:var(--space-1);}.xl\:m-2{margin:var(--space-2);}.xl\:m-3{margin:var(--space-3);}.xl\:m-4{margin:var(--space-4);}.xl\:m-6{margin:var(--space-6);}.xl\:m-8{margin:var(--space-8);}.xl\:m-12{margin:var(--space-12);}.xl\:m-16{margin:var(--space-16);}.xl\:m-20{margin:var(--space-20);}.xl\:mx-auto{margin-left:auto;margin-right:auto;}.xl\:p-0{padding:var(--space-0);}.xl\:p-1{padding:var(--space-1);}.xl\:p-2{padding:var(--space-2);}.xl\:p-3{padding:var(--space-3);}.xl\:p-4{padding:var(--space-4);}.xl\:p-6{padding:var(--space-6);}.xl\:p-8{padding:var(--space-8);}.xl\:p-12{padding:var(--space-12);}.xl\:p-16{padding:var(--space-16);}.xl\:p-20{padding:var(--space-20);}.xl\:w-full{width:100%;}.xl\:w-auto{width:auto;}.xl\:w-1\/2{width:50%;}.xl\:w-1\/3{width:33.333333%;}.xl\:w-2\/3{width:66.666667%;}.xl\:w-1\/4{width:25%;}.xl\:w-3\/4{width:75%;}.xl\:w-1\/5{width:20%;}.xl\:w-2\/5{width:40%;}.xl\:w-3\/5{width:60%;}.xl\:w-4\/5{width:80%;}.xl\:h-full{height:100%;}.xl\:h-auto{height:auto;}.xl\:h-screen{height:100vh;}}@media (orientation:landscape){.landscape\:flex-row{flex-direction:row;}.landscape\:hidden{display:none;}}@media (orientation:portrait){.portrait\:flex-col{flex-direction:column;}.portrait\:hidden{display:none;}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.retina\:text-sm{font-size:0.875rem;line-height:1.25rem;}.retina\:border{border-width:0.5px;}}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none;}}@media (prefers-color-scheme:dark){.dark\:text-white{color:#ffffff;}.dark\:text-gray-200{color:#e5e7eb;}.dark\:text-gray-300{color:#d1d5db;}.dark\:bg-gray-900{background-color:#111827;}.dark\:bg-gray-800{background-color:#1f2937;}.dark\:bg-gray-700{background-color:#374151;}.dark\:border-gray-700{border-color:#374151;}.dark\:border-gray-600{border-color:#4b5563;}}@media (prefers-color-scheme:light){.light\:text-black{color:#000000;}.light\:text-gray-800{color:#1f2937;}.light\:text-gray-700{color:#374151;}.light\:bg-white{background-color:#ffffff;}.light\:bg-gray-50{background-color:#f9fafb;}.light\:bg-gray-100{background-color:#f3f4f6;}.light\:border-gray-300{border-color:#d1d5db;}.light\:border-gray-200{border-color:#e5e7eb;}}.hover\:text-primary:hover{color:var(--color-primary);}.hover\:text-secondary:hover{color:var(--color-secondary);}.hover\:text-white:hover{color:#ffffff;}.hover\:text-black:hover{color:#000000;}.hover\:bg-primary:hover{background-color:var(--color-primary);}.hover\:bg-secondary:hover{background-color:var(--color-secondary);}.hover\:bg-gray-100:hover{background-color:#f3f4f6;}.hover\:bg-gray-200:hover{background-color:#e5e7eb;}.hover\:border-primary:hover{border-color:var(--color-primary);}.hover\:border-secondary:hover{border-color:var(--color-secondary);}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg);}.hover\:shadow-xl:hover{box-shadow:var(--shadow-xl);}.hover\:scale-105:hover{transform:scale(1.05);}.hover\:scale-110:hover{transform:scale(1.1);}.hover\:scale-95:hover{transform:scale(0.95);}.hover\:rotate-90:hover{transform:rotate(90deg);}.hover\:rotate-180:hover{transform:rotate(180deg);}.hover\:opacity-75:hover{opacity:0.75;}.hover\:opacity-50:hover{opacity:0.5;}.hover\:opacity-100:hover{opacity:1;}.focus\:outline-none:focus{outline:none;}.focus\:outline:focus{outline:2px solid;outline-offset:2px;}.focus\:outline-primary:focus{outline-color:var(--color-primary);}.focus\:outline-secondary:focus{outline-color:var(--color-secondary);}.focus\:ring:focus{box-shadow:0 0 0 3px;}.focus\:ring-primary:focus{box-shadow:0 0 0 3px var(--color-primary);}.focus\:ring-secondary:focus{box-shadow:0 0 0 3px var(--color-secondary);}.focus\:border-primary:focus{border-color:var(--color-primary);}.focus\:border-secondary:focus{border-color:var(--color-secondary);}.active\:scale-95:active{transform:scale(0.95);}.active\:scale-90:active{transform:scale(0.9);}.active\:bg-primary:active{background-color:var(--color-primary);}.active\:bg-secondary:active{background-color:var(--color-secondary);}.disabled\:opacity-50:disabled{opacity:0.5;}.disabled\:opacity-75:disabled{opacity:0.75;}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed;}.disabled\:pointer-events-none:disabled{pointer-events:none;}.group:hover .group-hover\:text-primary{color:var(--color-primary);}.group:hover .group-hover\:text-white{color:#ffffff;}.group:hover .group-hover\:bg-primary{background-color:var(--color-primary);}.group:hover .group-hover\:bg-secondary{background-color:var(--color-secondary);}.group:hover .group-hover\:opacity-100{opacity:1;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;transition:all var(--duration-150) var(--ease-in-out);cursor:pointer;border:1px solid transparent;text-decoration:none;font-family:inherit;}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.btn-primary{background-color:var(--color-primary);color:white;border-color:var(--color-primary);}.btn-primary:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600);}.btn-secondary{background-color:rgba(255,255,255,0.05);color:white;border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.btn-secondary:hover{background-color:rgba(255,255,255,0.1);}body.light-mode .btn-secondary{background-color:rgba(0,0,0,0.03);color:#1e293b;border-color:rgba(0,0,0,0.1);}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary);}.btn-outline:hover{background-color:var(--color-primary);color:white;}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent;}.btn-ghost:hover{background-color:var(--color-primary-100);}.btn-sm{padding:var(--space-1) var(--space-3);font-size:0.875rem;}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1.125rem;}.btn-xl{padding:var(--space-4) var(--space-8);font-size:1.25rem;}.card{background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--duration-200) var(--ease-in-out);}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}.card-header{padding:var(--space-6);border-bottom:1px solid #e5e7eb;}.card-body{padding:var(--space-6);}.card-footer{padding:var(--space-6);border-top:1px solid #e5e7eb;background-color:#f9fafb;}.input{display:block;width:100%;padding:var(--space-2) var(--space-3);border:1px solid #d1d5db;border-radius:var(--radius-md);background-color:white;font-size:1rem;transition:all var(--duration-150) var(--ease-in-out);}textarea.input{min-height:100px;}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary);}input[type="date"].input,input[type="datetime-local"].input,input[type="time"].input{appearance:none;-webkit-appearance:none;min-height:2.5rem;display:inline-flex;align-items:center;}.glass input[type="date"],.starlight-card input[type="date"],[class*="dark"] input[type="date"]{color-scheme:dark;}input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(0.5);margin-left:0.5rem;}.input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed;}.input-error{border-color:var(--color-error);}.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error);}.badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:0.375rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border:1px solid;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}.badge-primary{background-color:rgba(0,212,255,0.15);color:#00d4ff;border-color:rgba(0,212,255,0.3);}.badge-secondary{background-color:rgba(255,255,255,0.05);color:rgba(255,255,255,0.8);border-color:rgba(255,255,255,0.1);}.badge-success{background-color:rgba(16,185,129,0.15);color:#10b981;border-color:rgba(16,185,129,0.3);}.badge-warning{background-color:rgba(245,158,11,0.15);color:#f59e0b;border-color:rgba(245,158,11,0.3);}.badge-error{background-color:rgba(239,68,68,0.15);color:#ef4444;border-color:rgba(239,68,68,0.3);}body.light-mode .badge-primary{background-color:rgba(59,130,246,0.1);color:#2563eb;border-color:rgba(59,130,246,0.2);}body.light-mode .badge-secondary{background-color:rgba(0,0,0,0.05);color:#475569;border-color:rgba(0,0,0,0.1);}body.light-mode .badge-success{background-color:rgba(16,185,129,0.1);color:#059669;border-color:rgba(16,185,129,0.2);}body.light-mode .badge-warning{background-color:rgba(245,158,11,0.1);color:#d97706;border-color:rgba(245,158,11,0.2);}body.light-mode .badge-error{background-color:rgba(239,68,68,0.1);color:#dc2626;border-color:rgba(239,68,68,0.2);}.alert{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;}.alert-success{background-color:#d1fae5;border-color:#6ee7b7;color:#065f46;}.alert-warning{background-color:#fed7aa;border-color:#fbbf24;color:#92400e;}.alert-error{background-color:#fee2e2;border-color:#f87171;color:#991b1b;}.alert-info{background-color:#dbeafe;border-color:#60a5fa;color:#1e40af;}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:50;}.modal-content{background-color:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow-y:auto;}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid rgba(255,255,255,0.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.skeleton{background:linear-gradient(90deg,rgba(255,255,255,0.05) 25%,rgba(255,255,255,0.1) 50%,rgba(255,255,255,0.05) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md);}@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}body.light-mode .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;}.tooltip{position:relative;}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:#1f2937;color:white;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:0.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--duration-150) var(--ease-in-out);z-index:10;margin-bottom:var(--space-1);}.tooltip:hover .tooltip-content{opacity:1;visibility:visible;}.dropdown{position:relative;display:inline-block;}.dropdown-content{position:absolute;top:100%;left:0;background-color:white;border:1px solid #e5e7eb;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:20;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--duration-150) var(--ease-in-out);}.dropdown.active .dropdown-content{opacity:1;visibility:visible;transform:translateY(0);}.dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:none;border:none;cursor:pointer;transition:background-color var(--duration-150) var(--ease-in-out);}.dropdown-item:hover{background-color:#f3f4f6;}.accordion-item{border:1px solid #e5e7eb;border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden;}.accordion-header{padding:var(--space-4);background-color:#f9fafb;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--duration-150) var(--ease-in-out);}.accordion-header:hover{background-color:#f3f4f6;}.accordion-content{padding:var(--space-4);background-color:white;max-height:0;overflow:hidden;transition:max-height var(--duration-300) var(--ease-in-out);}.accordion-item.active .accordion-content{max-height:500px;}.accordion-item.active .accordion-icon{transform:rotate(180deg);}.accordion-icon{transition:transform var(--duration-300) var(--ease-in-out);}.tab-list{display:flex;border-bottom:1px solid #e5e7eb;}.tab-button{padding:var(--space-2) var(--space-4);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--duration-150) var(--ease-in-out);}.tab-button:hover{background-color:#f3f4f6;}.tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);}.tab-content{padding:var(--space-4);}.tab-panel{display:none;}.tab-panel.active{display:block;}.progress{width:100%;height:0.5rem;background-color:#e5e7eb;border-radius:var(--radius-full);overflow:hidden;}.progress-bar{height:100%;background-color:var(--color-primary);transition:width var(--duration-300) var(--ease-in-out);}.toggle{position:relative;display:inline-block;width:3rem;height:1.5rem;}.toggle-input{opacity:0;width:0;height:0;}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:background-color var(--duration-150) var(--ease-in-out);border-radius:var(--radius-full);}.toggle-slider:before{position:absolute;content:"";height:1.25rem;width:1.25rem;left:0.125rem;bottom:0.125rem;background-color:white;transition:transform var(--duration-150) var(--ease-in-out);border-radius:50%;}.toggle-input:checked + .toggle-slider{background-color:var(--color-primary);}.toggle-input:checked + .toggle-slider:before{transform:translateX(1.5rem);}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.animate-bounce{animation:bounce 1s infinite;}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}.animate-fade-in{animation:fadeIn var(--duration-500) var(--ease-in-out);}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.animate-slide-up{animation:slideUp var(--duration-300) var(--ease-out);}@keyframes slideUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.animate-slide-down{animation:slideDown var(--duration-300) var(--ease-out);}@keyframes slideDown{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}@keyframes nebula-drift{0%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}50%{transform:translate(5%,5%) scale(1.2);opacity:0.7;}100%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}}@keyframes cosmic-pulse{0%,100%{box-shadow:0 0 20px rgba(0,212,255,0.2),0 0 40px rgba(0,212,255,0.1);}50%{box-shadow:0 0 40px rgba(0,212,255,0.5),0 0 80px rgba(0,212,255,0.2);}}@keyframes star-twinkle{0%,100%{opacity:0.3;transform:scale(0.8);}50%{opacity:1;transform:scale(1.2);}}@keyframes orbit{from{transform:rotate(0deg) translateX(20px) rotate(0deg);}to{transform:rotate(360deg) translateX(20px) rotate(-360deg);}}@keyframes svg-draw{from{stroke-dashoffset:1000;}to{stroke-dashoffset:0;}}@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-20px);}}.ani-nebula{animation:nebula-drift 20s ease-in-out infinite;will-change:transform,opacity;}.ani-cosmic-pulse{animation:cosmic-pulse 4s ease-in-out infinite;}.ani-twinkle{animation:star-twinkle var(--twinkle-duration,3s) ease-in-out infinite;}.ani-orbit{animation:orbit var(--orbit-duration,10s) linear infinite;}.ani-svg-draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:svg-draw 3s cubic-bezier(0.4,0,0.2,1) forwards;}.ani-float{animation:float-y 6s ease-in-out infinite;}.ani-fade-in{animation:fadeIn 0.3s ease-out forwards;}.ani-slide-up{animation:slideUp 0.3s ease-out forwards;}.ani-slide-down{animation:slideDown 0.3s ease-out forwards;}.ani-scale-in{animation:scaleIn 0.2s ease-out forwards;}.ani-spin{animation:spin 1s linear infinite;}.ani-stagger-1{animation-delay:0.1s;}.ani-stagger-2{animation-delay:0.2s;}.ani-stagger-3{animation-delay:0.3s;}.ani-stagger-4{animation-delay:0.4s;}.ani-stagger-5{animation-delay:0.5s;}.ani-fast{animation-duration:0.5s !important;}.ani-slow{animation-duration:8s !important;}.ani-slower{animation-duration:15s !important;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes ping{75%,100%{transform:scale(2);opacity:0;}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}a{color:var(--color-starlight-blue);text-decoration:none;transition:all var(--transition-base);position:relative;}a:hover{color:var(--color-starlight-peach);text-shadow:0 0 8px rgba(255,179,138,0.4);}a:active{transform:scale(0.98);}body.light-mode a{color:var(--color-starlight-blue);}body.light-mode a:hover{color:var(--color-starlight-peach);}.starlight-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-10);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;transition:border-color var(--transition-base),transform var(--transition-base),background-color var(--transition-base);}.starlight-card:hover{border-color:rgba(0,212,255,0.4);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.4),0 0 20px rgba(0,212,255,0.1);background-color:rgba(255,255,255,0.04);}body.light-mode .starlight-card{background:var(--light-card-bg);border-color:var(--light-card-border);color:#334155;box-shadow:0 4px 20px rgba(0,0,0,0.02);}.checkbox-starlight,.radio-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;position:relative;}.radio-starlight{border-radius:50%;}body.light-mode .checkbox-starlight,body.light-mode .radio-starlight{border-color:rgba(0,0,0,0.2);background:rgba(0,0,0,0.05);}.checkbox-starlight:checked,.radio-starlight:checked{background:var(--color-starlight-blue);border-color:var(--color-starlight-blue);}.checkbox-starlight:checked::after{content:'✓';color:black;font-size:0.8rem;font-weight:900;}.radio-starlight:checked::after{content:'';width:0.5rem;height:0.5rem;background:black;border-radius:50%;}.has-tooltip{position:relative;}.has-tooltip .tooltip{position:absolute;bottom:125%;left:50%;transform:translateX(-50%) translateY(10px);padding:0.5rem 0.75rem;background-color:rgba(10,10,30,0.98);backdrop-filter:blur(12px);border:1px solid rgba(0,212,255,0.3);border-radius:0.5rem;color:#f1f5f9;font-size:0.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:all 0.2s ease;z-index:800;box-shadow:0 4px 15px rgba(0,0,0,0.4);}.has-tooltip:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(0);}.starlight-stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden;}.star{position:absolute;background:white;border-radius:50%;opacity:0.3;animation:star-twinkle var(--duration,3s) infinite ease-in-out;}body.light-mode .star{background:var(--color-starlight-blue);opacity:0.15;}.dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:400;}.dialog-content{background-color:rgba(10,10,20,0.98);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:1.5rem;padding:2.5rem;max-width:90%;width:600px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);position:relative;}.starlight-dialog{background-color:rgba(10,10,20,0.98);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.1);border-radius:1.5rem;padding:3rem;width:100%;max-width:600px;margin:auto;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);}body.light-mode .starlight-dialog{background-color:rgba(255,255,255,0.98);border-color:rgba(0,0,0,0.1);color:#1e293b;box-shadow:0 25px 50px -12px rgba(0,0,0,0.15);}.dialog-close{position:absolute;top:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;padding:0;}body.light-mode .dialog-close{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1);color:#1e293b;}.dialog-close:hover{background:rgba(255,255,255,0.15);border-color:var(--color-starlight-blue);transform:rotate(90deg);}.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}body.light-mode .dialog-overlay{background:rgba(255,255,255,0.4);}body.light-mode .dialog-content{background-color:rgba(255,255,255,0.98);border-color:rgba(0,0,0,0.1);color:#1e293b;box-shadow:0 25px 50px -12px rgba(0,0,0,0.15);}.dropdown-menu{position:absolute;top:100%;left:0;background-color:var(--color-starlight-deep);;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:0.75rem;padding:0.5rem;margin-top:0.5rem;min-width:200px;z-index:600;box-shadow:0 20px 40px rgba(0,0,0,0.4);}.dropdown-item{display:block;width:100%;padding:0.625rem 1rem;border-radius:0.5rem;color:rgba(255,255,255,0.7);transition:all 0.2s ease;text-align:left;background:transparent;border:none;cursor:pointer;}.dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}body.light-mode .dropdown-menu{background-color:rgba(255,255,255,0.99);border-color:#cbd5e1;box-shadow:0 10px 30px rgba(0,0,0,0.1);}body.light-mode .dropdown-item{color:#475569;}body.light-mode .dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}.input-starlight,.textarea-starlight{height:auto;padding:1rem;background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);border-radius:0.75rem;color:inherit;width:100%;}textarea.input-starlight,.textarea-starlight{min-height:120px;display:block;}body.light-mode .input-starlight,body.light-mode .textarea-starlight{background-color:#ffffff;border-color:#cbd5e1;}body.light-mode .glass{background-color:rgba(0,0,0,0.02);border-color:rgba(0,0,0,0.05);}.input-starlight:focus,.textarea-starlight:focus{outline:none;border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgba(0,212,255,0.1),0 0 20px rgba(0,212,255,0.1);background-color:rgba(255,255,255,0.06);}body.light-mode .input-starlight:focus,body.light-mode .textarea-starlight:focus{border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgba(0,212,255,0.1),0 4px 12px rgba(0,0,0,0.05);background-color:#ffffff;}.code-window{background:rgba(0,0,0,0.4);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);}.code-window-header{background:rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.05);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}.code-window-controls{display:flex;gap:0.5rem;}.code-window-dot{width:0.75rem;height:0.75rem;border-radius:50%;opacity:0.6;}.code-window-title{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.15em;color:rgba(255,255,255,0.4);}body.light-mode .code-window{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 10px 30px rgba(0,0,0,0.05);}body.light-mode .code-window-header{background:#f1f5f9;border-color:#e2e8f0;}body.light-mode .code-window-title{color:#94a3b8;}.accordion-starlight.accordion-item{background:rgba(255,255,255,0.02);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-xl);margin-bottom:var(--space-4);transition:all var(--transition-base);position:relative;}.accordion-starlight.accordion-item:hover{border-color:rgba(0,212,255,0.3);background:rgba(255,255,255,0.04);box-shadow:0 0 20px rgba(0,212,255,0.05);}.accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:rgba(0,212,255,0.03);box-shadow:0 0 30px rgba(0,212,255,0.1),inset 0 0 20px rgba(0,212,255,0.05);}.accordion-starlight .accordion-header{background:transparent !important;padding:var(--space-6) var(--space-8);color:white;font-weight:700;letter-spacing:0.02em;font-size:1.125rem;}.accordion-starlight.active .accordion-header{background:linear-gradient(to right,rgba(255,179,138,0.15),rgba(0,212,255,0.15)) !important;border-bottom:1px solid rgba(0,212,255,0.2);}.accordion-starlight .accordion-content{background:linear-gradient(to bottom,rgba(0,0,0,0.3),rgba(0,0,0,0.1)) !important;color:rgba(255,255,255,0.6) !important;font-size:1rem;line-height:1.8;padding:0;}.accordion-starlight.active .accordion-content{padding:var(--space-6) var(--space-8);}.accordion-starlight .accordion-icon{color:var(--color-starlight-blue);filter:drop-shadow(0 0 5px rgba(0,212,255,0.5));}body.light-mode .accordion-starlight.accordion-item{background:white;border-color:#e2e8f0;}body.light-mode .accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:#f8fafc;}body.light-mode .accordion-starlight .accordion-header{color:#1e293b;}body.light-mode .accordion-starlight .accordion-content{background:#f1f5f9 !important;color:#475569 !important;}.search-container{position:relative;display:block;width:100%;}.search-input{padding-left:3rem !important;width:100%;}.search-icon{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;width:1.25rem;height:1.25rem;z-index:10;}body.light-mode .search-icon{color:#64748b;}.starlight-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-base);}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);}.gallery-item:hover img{transform:scale(1.1);}.gallery-item:hover{border-color:var(--color-starlight-blue);box-shadow:0 0 20px var(--color-starlight-glow);}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.8),transparent);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity 0.3s ease;}.gallery-item:hover .gallery-overlay{opacity:1;}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);}.stat-card{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);}.stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}body.light-mode .stat-value{background:linear-gradient(135deg,#1e293b 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}.stat-label{text-transform:uppercase;letter-spacing:0.1em;font-size:0.75rem;color:var(--text-muted);}.stat-trend{font-size:0.875rem;display:flex;align-items:center;gap:0.25rem;}.stat-trend.up{color:var(--color-success);}.stat-trend.down{color:var(--color-error);}.nav-glass{background:rgba(255,255,255,0.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.05);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;}body.light-mode .nav-glass{background:rgba(255,255,255,0.8);border-bottom-color:rgba(0,0,0,0.1);}.nav-desktop{display:none;gap:2rem;align-items:center;}.nav-link{font-size:0.875rem;font-weight:500;color:rgba(255,255,255,0.7);transition:all 0.3s;position:relative;padding:0.5rem 0;}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-starlight-blue);transition:width 0.3s;box-shadow:0 0 10px var(--color-starlight-glow);}.nav-link:hover{color:white;}.nav-link:hover::after{width:100%;}body.light-mode .nav-link{color:#475569;}body.light-mode .nav-link:hover{color:#1e293b;}.hamburger{width:2.5rem;height:2.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0.4rem;cursor:pointer;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:0.5rem;padding:0.5rem;transition:all 0.3s;position:relative;}body.light-mode .hamburger{background:rgba(0,0,0,0.02);border-color:rgba(0,0,0,0.1);}.hamburger:hover{background:rgba(255,255,255,0.1);border-color:var(--color-starlight-blue);}body.light-mode .hamburger:hover{background:rgba(0,0,0,0.1);}.hamburger span{width:1.5rem;height:2px;background:white;border-radius:2px;transition:all 0.3s;transform-origin:center;}body.light-mode .hamburger span{background:#1e293b;}.hamburger.active span:nth-child(1){transform:translateY(6px) rotate(45deg);}.hamburger.active span:nth-child(2){opacity:0;}.hamburger.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}.nav-menu-mobile{position:absolute;top:100%;right:2rem;width:250px;background:var(--color-starlight-deep);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.05);border-radius:1rem;padding:1rem;margin-top:0.5rem;box-shadow:0 20px 40px rgba(0,0,0,0.5);display:none;animation:slideInDown 0.3s ease forwards;z-index:1001;}body.light-mode .nav-menu-mobile{background:rgba(255,255,255,0.95);border-color:rgba(0,0,0,0.1);box-shadow:0 10px 30px rgba(0,0,0,0.1);}.nav-menu-mobile.active{display:block;}@media (min-width:768px){.nav-desktop{display:flex;}.hamburger{display:none;}.nav-menu-mobile{display:none !important;}}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.select-starlight{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem !important;}body.light-mode .select-starlight{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231e293b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");}.range-starlight{appearance:none;width:100%;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;outline:none;}body.light-mode .range-starlight{background:rgba(0,0,0,0.1);}.range-starlight::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--color-starlight-blue);border-radius:50%;cursor:pointer;box-shadow:0 0 10px var(--color-starlight-glow);transition:all 0.2s;}.range-starlight::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px var(--color-starlight-blue);}.toggle-starlight{width:3.5rem;height:1.75rem;}.toggle-starlight .toggle-slider{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.1);}body.light-mode .toggle-starlight .toggle-slider{background:rgba(0,0,0,0.1);border-color:rgba(0,0,0,0.15);}body.light-mode .bg-starlight,body.light-mode .bg-starlight:hover,body.light-mode .hover\:bg-starlight:hover,body.light-mode .btn-starlight,body.light-mode .btn-starlight:hover,body.light-mode .hover\:btn-starlight:hover,body.light-mode .btn-primary,body.light-mode .btn-primary:hover{background:linear-gradient(135deg,#ffb38a 40%,#00d4ff 100%) !important;}body.light-mode .text-gradient-starlight{background:linear-gradient(135deg,#ffb38a 40%,#00d4ff 100%) !important;-webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;}body.light-mode .text-success{color:#059669;}body.light-mode .text-warning{color:#d97706;}body.light-mode .dialog-content .bg-black\/40{background-color:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.1);}.text-glow{text-shadow:0 0 10px rgba(0,212,255,0.5),0 0 20px rgba(0,212,255,0.2);}.text-glass{color:rgba(255,255,255,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}body.light-mode .text-glow{text-shadow:0 0 8px rgba(0,212,255,0.3);}body.light-mode .text-glass{color:rgba(0,0,0,0.5);}.starlight-loading{background:linear-gradient( 90deg,rgba(255,255,255,0.03) 25%,rgba(255,255,255,0.08) 50%,rgba(255,255,255,0.03) 75% );background-size:200% 100%;animation:starlight-shimmer 2s infinite linear;border-radius:var(--radius-md);min-height:1rem;}@keyframes starlight-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}body.light-mode .starlight-loading{background:linear-gradient( 90deg,rgba(0,0,0,0.03) 25%,rgba(0,0,0,0.06) 50%,rgba(0,0,0,0.03) 75% );background-size:200% 100%;}::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-track{background:rgba(255,255,255,0.02);backdrop-filter:blur(10px);}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.05);border-radius:10px;transition:all 0.3s;}::-webkit-scrollbar-thumb:hover{background:rgba(0,212,255,0.3);box-shadow:0 0 10px rgba(0,212,255,0.2);}body.light-mode::-webkit-scrollbar-track{background:rgba(0,0,0,0.03);}body.light-mode::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.1);border-color:rgba(0,0,0,0.05);}body.light-mode::-webkit-scrollbar-thumb:hover{background:var(--color-starlight-blue);}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.1) transparent;}body.light-mode *{scrollbar-color:rgba(0,0,0,0.1) transparent;}@media (forced-colors:active){button:focus,input:focus,select:focus,textarea:focus{outline:2px solid SelectedItem !important;outline-offset:2px;}.starlight-card:hover,.accordion-starlight.accordion-item:hover{border-color:SelectedItem !important;}.text-gradient-starlight,.bg-starlight{background:none !important;-webkit-text-fill-color:CanvasText !important;color:CanvasText !important;text-decoration:underline;}.btn-starlight{background:linear-gradient(135deg,var(--color-starlight-peach) 0%,var(--color-starlight-blue) 100%);color:#000;font-weight:700;border:none;border-radius:0.5rem;padding:0 1.5rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;box-shadow:0 0 20px rgba(0,212,255,0.3);text-decoration:none;}.btn-starlight:hover{transform:translateY(-2px);box-shadow:0 5px 25px rgba(0,212,255,0.4);filter:brightness(1.1);}.btn-starlight:active{transform:translateY(0) scale(0.95);box-shadow:0 2px 10px rgba(0,212,255,0.2);filter:brightness(0.9);}.btn-starlight:focus-visible{outline:2px solid white;outline-offset:2px;box-shadow:0 0 0 4px rgba(0,212,255,0.3);}body.light-mode .btn-starlight:focus-visible{outline-color:var(--color-starlight-blue);}}.p-12{padding:3rem;}.max-w-4xl{max-width:4xl;}.mx-auto{margin-left:auto;margin-right:auto;}.space-y-12 > * + *{margin-top:3rem;}.text-4xl{font-size:2.5rem;line-height:1.2;}.space-y-4 > * + *{margin-top:1rem;}.text-xl{font-size:1.25rem;line-height:1.2;}.flex{display:flex;}.gap-4{gap:1rem;}.btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;}.btn-primary:hover{transform:scale(1.05);}.btn-secondary{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);color:#64748b;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;}.btn-secondary:hover{background-color:rgba(255,255,255,0.1);}.card-premium{background-color:rgba(255,255,255,0.95);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:2rem;border-radius:1rem;border-color:#f1f5f9;}.card-premium:hover{transform:scale(1.05);}.max-w-sm{max-width:sm;}.text-2xl{font-size:1.5rem;line-height:1.2;}.mb-4{margin-bottom:1rem;}.p-10{padding:2.5rem;}.space-y-8 > * + *{margin-top:2rem;}.bg-black{background-color:#000000;}.text-white{color:#ffffff;}.top-0{top:0px;}.z-50{z-index:50;}.glass{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);}.p-4{padding:1rem;}.mb-8{margin-bottom:2rem;}.ml-4{margin-left:1rem;}.mt-8{margin-top:2rem;}.grid{display:grid;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.bg-blue-500{background-color:#3b82f6;}.bg-red-500{background-color:#ef4444;}.input-starlight{background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:inherit;border-radius:0.75rem;padding:0 1rem;appearance:none;transition:all 0.2s ease;height:3rem;}.textarea-starlight{background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:inherit;border-radius:0.75rem;padding:1rem;appearance:none;transition:all 0.2s ease;min-height:8rem;width:100%;display:block;}.bg-green-500{background-color:#10b981;}.mt-4{margin-top:1rem;}.p-8{padding:2rem;}.min-h-screen{min-height:screen;}.w-6{width:1.5rem;}.h-6{height:1.5rem;}.hidden{display:none;}.max-w-144{max-width:36rem;}.mb-20{margin-bottom:5rem;}.pt-16{padding-top:4rem;}.text-6xl{font-size:4rem;line-height:1.2;}.mb-6{margin-bottom:1.5rem;}.text-gradient-starlight{background:linear-gradient(to right,#ffb38a,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;}.max-w-prose{max-width:prose;}.mb-10{margin-bottom:2.5rem;}.justify-center{justify-content:center;}.gap-6{gap:1.5rem;}.bg-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.text-black{color:#000000;}.px-10{padding-left:2.5rem;padding-right:2.5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.rounded-full{border-radius:9999px;}.glow-blue{box-shadow:0 0 30px rgba(0,212,255,0.25);}.scale-105{transform:scale(1.05);}.hover\:bg-white:hover{background-color:#ffffff;}.border-none{border-width:0;}.px-12{padding-left:3rem;padding-right:3rem;}.border-2{border-width:2px;}.border-white{border-color:#ffffff;}.text-sm{font-size:0.875rem;line-height:1.5;}.text-starlight{color:#00d4ff;}.gap-10{gap:2.5rem;}.rounded-2xl{border-radius:1rem;}.rounded-xl{border-radius:0.75rem;}.w-full{width:100%;}.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}.bg-starlight-deep{background-color:#08081a;}.rounded-3xl{border-radius:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.5;}.flex-col{flex-direction:column;}.px-6{padding-left:1.5rem;padding-right:1.5rem;}.focus\:border-starlight:focus{border-color:#00d4ff;}.hover\:scale-105:hover{transform:scale(1.05);}.mt-32{margin-top:8rem;}.pt-10{padding-top:2.5rem;}.border-t{border-top-width:undefinedpx;}.border-b{border-bottom-width:undefinedpx;}.border-slate-100{border-color:#f1f5f9;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.bg-slate-50{background-color:#f8fafc;}.justify-between{justify-content:space-between;}.items-center{align-items:center;}.text-slate-500{color:#64748b;}.hover\:text-slate-900:hover{color:#0f172a;}.border-slate-900{border-color:#0f172a;}.border-b-4{border-bottom-width:4px;}.bg-white{background-color:#ffffff;}.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}.text-blue-600{color:#2563eb;}.gap-8{gap:2rem;}.text-xs{font-size:0.75rem;line-height:1.5;}.border-b-2{border-bottom-width:2px;}.border-transparent{border-color:transparent;}.hover\:border-blue-600:hover{border-color:#2563eb;}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}.w-10{width:2.5rem;}.h-10{height:2.5rem;}.bg-slate-900{background-color:#0f172a;}.rounded{border-radius:0.375rem;}.bg-blue-600{background-color:#2563eb;}.overflow-hidden{overflow:hidden;}.inline-block{display:inline-block;}.py-12{padding-top:3rem;padding-bottom:3rem;}.px-3{padding-left:0.75rem;padding-right:0.75rem;}.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}.text-5xl{font-size:3rem;line-height:1.2;}.text-slate-300{color:#cbd5e1;}.max-w-2xl{max-width:2xl;}.gap-12{gap:3rem;}.aspect-video{aspect-ratio:16 / 9;width:100%;height:auto;}.bg-slate-100{background-color:#f1f5f9;}.rounded-lg{border-radius:0.5rem;}.h-full{height:100%;}.group:hover .group-hover\:scale-105{transform:scale(1.05);}.transition-transform{transition-property:transform;}.pb-2{padding-bottom:0.5rem;}.space-y-6 > * + *{margin-top:1.5rem;}.items-start{align-items:flex-start;}.text-slate-100{color:#f1f5f9;}.group:hover .group-hover\:text-blue-100{color:#dbeafe;}.group:hover .group-hover\:text-blue-600{color:#2563eb;}.text-slate-400{color:#94a3b8;}.mt-1{margin-top:0.25rem;}.p-6{padding:1.5rem;}.border-slate-200{border-color:#e2e8f0;}.p-3{padding:0.75rem;}.focus\:border-blue-600:focus{border-color:#2563eb;}.py-20{padding-top:5rem;padding-bottom:5rem;}.mt-24{margin-top:6rem;}.border-slate-800{border-color:#1e293b;}.pb-16{padding-bottom:4rem;}.col-span-1{grid-column:span 1 / span 1;}.text-3xl{font-size:2rem;line-height:1.2;}.max-w-md{max-width:md;}.space-y-3 > * + *{margin-top:0.75rem;}.p-0{padding:0px;}.hover\:text-blue-600:hover{color:#2563eb;}.pt-12{padding-top:3rem;}.text-slate-600{color:#475569;}.max-w-6xl{max-width:6xl;}.mb-12{margin-bottom:3rem;}.mb-2{margin-bottom:0.5rem;}.w-24{width:6rem;}.text-base{font-size:1rem;line-height:1.5;}.w-20{width:5rem;}.h-20{height:5rem;}.bg-blue-100{background-color:#dbeafe;}.border-blue-200{border-color:#bfdbfe;}.w-32{width:8rem;}.h-32{height:8rem;}.w-16{width:4rem;}.h-16{height:4rem;}.bg-orange-500{background-color:#f97316;}.relative{position:relative;}.h-48{height:12rem;}.absolute{position:absolute;}.w-4{width:1rem;}.h-4{height:1rem;}.bg-slate-500\/10{background-color:rgba(100,116,139,0.1);}.bg-black\/20{background-color:rgba(0,0,0,0.2);}.border-white\/20{border-color:rgba(255,255,255,0.2);}.btn-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;}.border-white\/5{border-color:rgba(255,255,255,0.05);}.bg-white\/5{background-color:rgba(255,255,255,0.05);}.starlight-nav{width:100%;top:0px;z-index:[1000];}.starlight-search{position:relative;display:block;width:100%;position:relative;width:100%;max-width:36rem;}.search-icon{position:absolute;left:1rem;top:50%;pointer-events:none;z-index:10;width:1.25rem;height:1.25rem;}.search-input{padding-left:3rem;width:100%;}.text-muted{color:var(--text-muted);}.starlight-dashboard{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;}.w-2{width:0.5rem;}.h-2{height:0.5rem;}.bg-success{background-color:#10b981;}.mr-1{margin-right:0.25rem;}.starlight-gallery{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;}.starlight-form{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;}.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}.mt-auto{margin-top:auto;}.flex-1{flex:1 1 0%;}.dialog-close{position:absolute;top:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;}.text-success{color:#10b981;}.mt-20{margin-top:5rem;}.pt-8{padding-top:2rem;}.border-white\/10{border-color:rgba(255,255,255,0.1);}.block{display:block;}.h-14{height:3.5rem;}.pb-12{padding-bottom:3rem;}.max-w-3xl{max-width:3xl;}.gap-3{gap:0.75rem;}.checkbox-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;position:relative;display:inline-flex;align-items:center;justify-content:center;}.mt-6{margin-top:1.5rem;}.w-3\/4{width:75.00%;}.h-12{height:3rem;}.w-1\/2{width:50.00%;}.px-8{padding-left:2rem;padding-right:2rem;}.py-2.5{padding-top:2.5;padding-bottom:2.5;}.max-w-\[1200px]{max-width:1200px;}.hover\:bg-starlight:hover{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.py-24{padding-top:6rem;padding-bottom:6rem;}.items-end{align-items:flex-end;}.border-starlight{border-color:#00d4ff;}.pb-1{padding-bottom:0.25rem;}.hover\:text-white:hover{color:#ffffff;}.hover\:border-white:hover{border-color:#ffffff;}.duration-500{transition-duration:500ms;}.gap-2{gap:0.5rem;}.mb-32{margin-bottom:8rem;}.w-5{width:1.25rem;}.h-5{height:1.25rem;}.p-16{padding:4rem;}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.mb-16{margin-bottom:4rem;}.col-span-2{grid-column:span 2 / span 2;}.hover\:text-starlight:hover{color:#00d4ff;}.text-primary{color:#3b82f6;}.left-0{left:0px;}.z-0{z-index:0;}.pointer-events-none{pointer-events:none;}.h-24{height:6rem;}.w-8{width:2rem;}.h-8{height:2rem;}.hover\:text-primary:hover{color:#3b82f6;}.gap-16{gap:4rem;}.space-y-16 > * + *{margin-top:4rem;}.text-secondary{color:#64748b;}.pt-4{padding-top:1rem;}.w-12{width:3rem;}.border-primary\/30{border-color:rgba(59,130,246,0.3);}.p-1{padding:0.25rem;}.bg-black\/40{background-color:rgba(0,0,0,0.4);}.max-w-none{max-width:none;}.space-y-10 > * + *{margin-top:2.5rem;}.border-l-4{border-left-width:4px;}.border-primary{border-color:#3b82f6;}.bg-primary\/5{background-color:rgba(59,130,246,0.05);}.mt-12{margin-top:3rem;}.mr-2{margin-right:0.5rem;}.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,0.1);}.hover\:bg-white\/5:hover{background-color:rgba(255,255,255,0.05);}.group:hover .group-hover\:text-primary{color:#3b82f6;}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.space-x-12 > * + *{margin-left:3rem;}.py-16{padding-top:4rem;padding-bottom:4rem;}.px-4{padding-left:1rem;padding-right:1rem;}.py-1.5{padding-top:1.5;padding-bottom:1.5;}.rounded-\[2.5rem]{border-radius:2.5rem;}.max-w-5xl{max-width:5xl;}.mb-3{margin-bottom:0.75rem;}.bg-transparent{background-color:transparent;}.placeholder\:text-white\/10:placeholder{color:rgba(255,255,255,0.1);}.border-l{border-left-width:undefinedpx;}.px-16{padding-left:4rem;padding-right:4rem;}.h-auto{height:auto;}.hover\:glow-blue:hover{box-shadow:0 0 30px rgba(0,212,255,0.25);}.text-orange-600{color:#ea580c;}.transition-all{transition-property:all;}.h-80{height:80;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.duration-700{transition-duration:700ms;}.z-10{z-index:10;}.bottom-8{bottom:2rem;}.left-8{left:2rem;}.z-20{z-index:20;}.bg-blue-600\/20{background-color:rgba(37,99,235,0.2);}.ml-2{margin-left:0.5rem;}.hover\:text-black:hover{color:#000000;}.bg-orange-600\/20{background-color:rgba(234,88,12,0.2);}.rounded-\[3rem]{border-radius:3rem;}.max-w-xl{max-width:xl;}.placeholder\:text-white\/20:placeholder{color:rgba(255,255,255,0.2);}.space-x-6 > * + *{margin-left:1.5rem;}.bg-white\/80{background-color:rgba(255,255,255,0.8);}.max-w-\[1440px]{max-width:1440px;}.text-slate-900{color:#0f172a;}.hover\:text-orange-600:hover{color:#ea580c;}.hover\:bg-slate-200:hover{background-color:#e2e8f0;}.-top-1{top:-0.25rem;}.-right-1{right:-0.25rem;}.bg-orange-600{background-color:#ea580c;}.min-w-56{min-width:56;}.flex-shrink-0{flex-shrink:0;}.space-x-4 > * + *{margin-left:1rem;}.group:hover .group-hover\:text-slate-900{color:#0f172a;}.min-w-0{min-width:0;}.gap-x-8{column-gap:2rem;}.gap-y-16{row-gap:4rem;}.aspect-\[3\/4]{aspect-ratio:3 / 4;width:100%;height:auto;}.top-4{top:1rem;}.left-4{left:1rem;}.space-y-2 > * + *{margin-top:0.5rem;}.bottom-4{bottom:1rem;}.duration-300{transition-duration:300ms;}.px-1{padding-left:0.25rem;padding-right:0.25rem;}.bg-slate-900\/80{background-color:rgba(15,23,42,0.8);}.border-blue-600\/50{border-color:rgba(37,99,235,0.5);}.text-slate-200{color:#e2e8f0;}.bg-slate-950{background-color:#020617;}.placeholder\:text-slate-600:placeholder{color:#475569;}@media (min-width:640px){.starlight-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.sm\:flex-row{flex-direction:row;}}@media (min-width:768px){.md\:btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;}.md\:btn-primary:hover{transform:scale(1.05);}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:flex-row{flex-direction:row;}.md\:w-80{width:80;}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:col-span-2{grid-column:span 2 / span 2;}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.starlight-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));}.starlight-form{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:hidden{display:none;}.md\:w-96{width:96;}.md\:col-span-1{grid-column:span 1 / span 1;}.md\:flex{display:flex;}.md\:block{display:block;}.md\:h-full{height:100%;}}@media (min-width:1024px){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:col-span-8{grid-column:span 8 / span 8;}.lg\:col-span-4{grid-column:span 4 / span 4;}.starlight-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));}.starlight-gallery{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:flex{display:flex;}.lg\:flex-row{flex-direction:row;}.lg\:w-64{width:16rem;}.lg\:col-span-2{grid-column:span 2 / span 2;}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (prefers-color-scheme:dark){.card-premium{background-color:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}}
|
package/package.json
CHANGED
package/src/defaults.js
CHANGED
|
@@ -62,6 +62,24 @@ const utilityMaps = {
|
|
|
62
62
|
'overflow-visible': { property: 'overflow', value: 'visible' },
|
|
63
63
|
'border-none': { property: 'border-width', value: '0' },
|
|
64
64
|
'bg-transparent': { property: 'background-color', value: 'transparent' },
|
|
65
|
+
'relative': { property: 'position', value: 'relative' },
|
|
66
|
+
'absolute': { property: 'position', value: 'absolute' },
|
|
67
|
+
'top-1/2': { property: 'top', value: '50%' },
|
|
68
|
+
'left-4': { property: 'left', value: '1rem' },
|
|
69
|
+
'pl-12': { property: 'padding-left', value: '3rem' },
|
|
70
|
+
'-translate-y-1/2': { property: 'transform', value: 'translateY(-50%)' },
|
|
71
|
+
'pointer-events-none': { property: 'pointer-events', value: 'none' },
|
|
72
|
+
'w-5': { property: 'width', value: '1.25rem' },
|
|
73
|
+
'h-5': { property: 'height', value: '1.25rem' },
|
|
74
|
+
'z-10': { property: 'z-index', value: '10' },
|
|
75
|
+
'form-row': {
|
|
76
|
+
property: ['display', 'justify-content', 'align-items', 'gap'],
|
|
77
|
+
value: ['flex', 'space-between', 'center', '1rem']
|
|
78
|
+
},
|
|
79
|
+
'dialog-close': {
|
|
80
|
+
property: ['position', 'top', 'right', 'width', 'height', 'border-radius', 'display', 'align-items', 'justify-content', 'cursor'],
|
|
81
|
+
value: ['absolute', '1.5rem', '1.5rem', '2rem', '2rem', '50%', 'flex', 'center', 'center', 'pointer']
|
|
82
|
+
},
|
|
65
83
|
'glass': {
|
|
66
84
|
property: ['background-color', 'backdrop-filter', '-webkit-backdrop-filter', 'border-width', 'border-color'],
|
|
67
85
|
value: ['rgba(255, 255, 255, 0.03)', 'blur(16px)', 'blur(16px)', '1px', 'rgba(255, 255, 255, 0.1)']
|
|
@@ -74,11 +92,11 @@ const utilityMaps = {
|
|
|
74
92
|
},
|
|
75
93
|
'btn-starlight': {
|
|
76
94
|
property: ['background', 'color', 'border', 'box-shadow', 'font-weight', 'transition', 'height', 'padding', 'display', 'align-items', 'justify-content', 'border-radius', 'cursor'],
|
|
77
|
-
value: ['linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%)', '#000', 'none', '0 0 20px rgba(0, 212, 255, 0.3)', '700', 'all 0.2s ease', '3rem', '0 1.5rem', 'inline-flex', 'center', 'center', '0.
|
|
95
|
+
value: ['linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%)', '#000', 'none', '0 0 20px rgba(0, 212, 255, 0.3)', '700', 'all 0.2s ease', '3rem', '0 1.5rem', 'inline-flex', 'center', 'center', '0.5rem', 'pointer']
|
|
78
96
|
},
|
|
79
97
|
'btn-secondary': {
|
|
80
98
|
property: ['background', 'color', 'border', 'font-weight', 'transition', 'height', 'padding', 'display', 'align-items', 'justify-content', 'border-radius', 'cursor', 'backdrop-filter', '-webkit-backdrop-filter'],
|
|
81
|
-
value: ['rgba(255, 255, 255, 0.05)', '
|
|
99
|
+
value: ['rgba(255, 255, 255, 0.05)', '#ffffff', '1px solid rgba(255, 255, 255, 0.15)', '700', 'all 0.2s ease', '3rem', '0 1.5rem', 'inline-flex', 'center', 'center', '0.5rem', 'pointer', 'blur(12px)', 'blur(12px)']
|
|
82
100
|
},
|
|
83
101
|
'input-starlight': {
|
|
84
102
|
property: ['background-color', 'border', 'color', 'border-radius', 'padding', 'appearance', 'transition', 'height'],
|
|
@@ -88,10 +106,19 @@ const utilityMaps = {
|
|
|
88
106
|
property: ['background-color', 'border', 'color', 'border-radius', 'padding', 'appearance', 'transition', 'min-height', 'width', 'display'],
|
|
89
107
|
value: ['rgba(255, 255, 255, 0.04)', '1px solid rgba(255, 255, 255, 0.15)', 'inherit', '0.75rem', '1rem', 'none', 'all 0.2s ease', '8rem', '100%', 'block']
|
|
90
108
|
},
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
109
|
+
'checkbox-starlight': {
|
|
110
|
+
property: ['appearance', 'width', 'height', 'background', 'border', 'border-radius', 'cursor', 'transition', 'position', 'display', 'align-items', 'justify-content'],
|
|
111
|
+
value: ['none', '1.25rem', '1.25rem', 'rgba(255, 255, 255, 0.05)', '1px solid rgba(255, 255, 255, 0.2)', '0.375rem', 'pointer', 'all 0.2s ease', 'relative', 'inline-flex', 'center', 'center']
|
|
112
|
+
},
|
|
113
|
+
'search-container': 'relative block w-full',
|
|
114
|
+
'search-input': 'pl-12 w-full',
|
|
115
|
+
'search-icon': 'absolute left-4 top-1/2 -translate-y-1/2 pointer-events-none z-10 w-5 h-5',
|
|
116
|
+
'starlight-nav': 'nav-glass w-full sticky top-0 z-[1000]',
|
|
117
|
+
'starlight-search': 'search-container w-full max-w-144',
|
|
118
|
+
'starlight-dashboard': 'dashboard-grid grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8',
|
|
119
|
+
'starlight-gallery': 'starlight-gallery grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4',
|
|
120
|
+
'starlight-form': 'starlight-card grid grid-cols-1 md:grid-cols-2 gap-8',
|
|
121
|
+
'starlight-dialog': 'starlight-dialog ani-scale-in'
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
module.exports = { defaultTheme, utilityMaps };
|
package/src/generator.js
CHANGED
|
@@ -77,7 +77,7 @@ function generateCSS(configPath) {
|
|
|
77
77
|
gap: 'gap', 'gap-x': 'column-gap', 'gap-y': 'row-gap'
|
|
78
78
|
};
|
|
79
79
|
|
|
80
|
-
function getRulesForClass(fullCls) {
|
|
80
|
+
function getRulesForClass(fullCls, processedPresets = new Set()) {
|
|
81
81
|
let cls = fullCls, variant = null, breakpoint = null, isNeg = false;
|
|
82
82
|
if (cls.startsWith('-')) { isNeg = true; cls = cls.substring(1); }
|
|
83
83
|
const parts = cls.split(':');
|
|
@@ -91,17 +91,17 @@ function generateCSS(configPath) {
|
|
|
91
91
|
currentPart++;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
// Check Presets
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
// Check Presets (User Config & Defaults)
|
|
95
|
+
const presetValue = (config.componentPresets && config.componentPresets[cls]) || (utilityMaps[cls] && typeof utilityMaps[cls] === 'string' ? utilityMaps[cls] : null);
|
|
96
|
+
|
|
97
|
+
if (presetValue && !processedPresets.has(cls)) {
|
|
98
|
+
processedPresets.add(cls);
|
|
99
|
+
const presetClasses = presetValue.split(/\s+/);
|
|
97
100
|
let allGroups = [];
|
|
98
101
|
presetClasses.forEach(pCls => {
|
|
99
|
-
const subGroups = getRulesForClass(pCls);
|
|
102
|
+
const subGroups = getRulesForClass(pCls, new Set(processedPresets));
|
|
100
103
|
if (subGroups) {
|
|
101
104
|
subGroups.forEach(group => {
|
|
102
|
-
// Apply the preset's own breakpoint/variant to sub-groups if they don't have one?
|
|
103
|
-
// Actually, usually presets are used as base classes.
|
|
104
|
-
// If someone does md:btn-primary, we want the md: to apply to all rules in the preset.
|
|
105
105
|
allGroups.push({
|
|
106
106
|
breakpoint: breakpoint || group.breakpoint,
|
|
107
107
|
variant: variant || group.variant,
|
|
@@ -114,9 +114,9 @@ function generateCSS(configPath) {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
let property = null, value = null, customSelector = null;
|
|
117
|
-
if (utilityMaps[cls]) {
|
|
117
|
+
if (utilityMaps[cls] && typeof utilityMaps[cls] === 'object') {
|
|
118
118
|
const entry = utilityMaps[cls];
|
|
119
|
-
if (
|
|
119
|
+
if (!Array.isArray(entry)) { property = entry.property; value = entry.value; }
|
|
120
120
|
else { property = entry; }
|
|
121
121
|
}
|
|
122
122
|
|
package/src/starlight.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Starlight UI - Interactive Helpers
|
|
3
|
+
* Standardized components for the QuantumCSS framework
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const Starlight = {
|
|
7
|
+
/**
|
|
8
|
+
* Initializes a randomized star field in the target container.
|
|
9
|
+
* @param {string} selector - CSS selector for the container (default: '.starlight-stars')
|
|
10
|
+
* @param {number} count - Number of stars to generate (default: 150)
|
|
11
|
+
*/
|
|
12
|
+
initStars(selector = '.starlight-stars', count = 150) {
|
|
13
|
+
const containers = document.querySelectorAll(selector);
|
|
14
|
+
|
|
15
|
+
containers.forEach(container => {
|
|
16
|
+
// Clear existing stars if any
|
|
17
|
+
container.innerHTML = '';
|
|
18
|
+
|
|
19
|
+
for (let i = 0; i < count; i++) {
|
|
20
|
+
const star = document.createElement('div');
|
|
21
|
+
star.className = 'star';
|
|
22
|
+
|
|
23
|
+
// Randomize position
|
|
24
|
+
star.style.left = `${Math.random() * 100}%`;
|
|
25
|
+
star.style.top = `${Math.random() * 100}%`;
|
|
26
|
+
|
|
27
|
+
// Randomize size (1px to 3px)
|
|
28
|
+
const size = Math.random() * 2 + 1;
|
|
29
|
+
star.style.width = `${size}px`;
|
|
30
|
+
star.style.height = `${size}px`;
|
|
31
|
+
|
|
32
|
+
// Randomize animation duration (2s to 5s)
|
|
33
|
+
star.style.setProperty('--duration', `${Math.random() * 3 + 2}s`);
|
|
34
|
+
|
|
35
|
+
container.appendChild(star);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Initializes navigation menu toggles for mobile view.
|
|
42
|
+
* Expects a toggle element with class '.hamburger' and a menu with class '.nav-menu-mobile'.
|
|
43
|
+
*/
|
|
44
|
+
initNavigation() {
|
|
45
|
+
const toggles = document.querySelectorAll('.hamburger');
|
|
46
|
+
|
|
47
|
+
toggles.forEach(toggle => {
|
|
48
|
+
// Find the closest navigation container or parent
|
|
49
|
+
const nav = toggle.closest('nav') || toggle.closest('.starlight-nav') || toggle.parentElement;
|
|
50
|
+
if (!nav) return;
|
|
51
|
+
|
|
52
|
+
// Find the menu - it might be inside the nav or a sibling
|
|
53
|
+
let menu = nav.querySelector('.nav-menu-mobile');
|
|
54
|
+
if (!menu && nav.nextElementSibling && nav.nextElementSibling.classList.contains('nav-menu-mobile')) {
|
|
55
|
+
menu = nav.nextElementSibling;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (menu) {
|
|
59
|
+
toggle.addEventListener('click', (e) => {
|
|
60
|
+
e.stopPropagation();
|
|
61
|
+
const isActive = toggle.classList.toggle('active');
|
|
62
|
+
menu.classList.toggle('active', isActive);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Close menu when clicking outside
|
|
66
|
+
document.addEventListener('click', (e) => {
|
|
67
|
+
if (!menu.contains(e.target) && !toggle.contains(e.target)) {
|
|
68
|
+
menu.classList.remove('active');
|
|
69
|
+
toggle.classList.remove('active');
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// Auto-initialize if the element exists and we're in a browser
|
|
78
|
+
if (typeof window !== 'undefined') {
|
|
79
|
+
window.Starlight = Starlight;
|
|
80
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
81
|
+
if (document.querySelector('.starlight-stars')) {
|
|
82
|
+
Starlight.initStars();
|
|
83
|
+
}
|
|
84
|
+
Starlight.initNavigation();
|
|
85
|
+
});
|
|
86
|
+
}
|