@howssatoshi/quantumcss 1.0.2 → 1.2.0

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.
@@ -1 +1,4162 @@
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-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;}.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;}.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;}}.q-prose{max-width:65ch;line-height:1.75;}.q-prose h1{font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem;}.q-prose h2{font-size:1.875rem;font-weight:600;line-height:1.25;margin-top:2rem;margin-bottom:1rem;}.q-prose p{margin-bottom:1rem;}.q-prose a{color:var(--color-primary);text-decoration:underline;}.q-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-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-visible{box-shadow:0 0 0 2px var(--light-bg),0 0 0 4px var(--color-starlight-blue);}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:var(--color-secondary);color:white;border-color:var(--color-secondary);}.btn-secondary:hover{background-color:var(--color-secondary-600);border-color:var(--color-secondary-600);}.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);}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary);}.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:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;}.badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-800);}.badge-secondary{background-color:#e5e7eb;color:#374151;}.badge-success{background-color:#d1fae5;color:#065f46;}.badge-warning{background-color:#fed7aa;color:#92400e;}.badge-error{background-color:#fee2e2;color:#991b1b;}.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 transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.spinner-sm{width:1rem;height:1rem;}.spinner-lg{width:2rem;height:2rem;}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-md);}@keyframes loading{0%{background-position:200% 0;}100%{background-position:-200% 0;}}.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;}}.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);}.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;z-index:1;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);}.starlight-card.has-open-menu{z-index:1000;}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%;}body.light-mode .checkbox-starlight,body.light-mode .radio-starlight{background:#f1f5f9;border-color:#cbd5e1;}.has-tooltip{position:relative;}.has-tooltip:hover{z-index:2000;}.has-tooltip:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(-10px);}body.light-mode .tooltip{background-color:#ffffff;border-color:var(--color-starlight-blue);color:var(--light-text);}.skeleton{animation:shimmer 2s infinite;}@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}body.light-mode .skeleton{background-color:#cbd5e1;background-image:linear-gradient(90deg,transparent,#f1f5f9,transparent);}.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) infinite ease-in-out;}@keyframes twinkle{0%,100%{opacity:0.3;transform:scale(1);}50%{opacity:1;transform:scale(1.2);}}select option{background-color:#1a1a2e;color:var(--text-primary);}body.light-mode select option{background-color:white;color:var(--light-text);}body.light-mode .input-starlight{background-color:#ffffff;border-color:#cbd5e1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 9l4 4 4-4' /%3E%3C/svg%3E");background-repeat:no-repeat;}body.light-mode .btn-secondary{border-color:#cbd5e1;}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:var(--light-text);box-shadow:0 25px 50px -12px rgba(0,0,0,0.15);}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;}.dropdown-item:hover{background-color:var(--color-starlight-blue) !important;color:#000000 !important;}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb;}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,sans-serif;}body{margin:0;line-height:inherit;}img{display:block;max-width:100%;height:auto;}button{cursor:pointer;background:transparent;padding:0;color:inherit;font:inherit;}.block{display:block;}.shadow{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.rounded{border-radius:0.25rem;}.border{border-width:1px;}.gap{gap:0px;}.grid{display:grid;}.grid-template-columns{display:grid;}.flex{display:flex;}.flex-direction{display:flex;}.inline-block{display:inline-block;}.items-center{align-items:center;}.items-start{align-items:flex-start;}.flex-start{display:flex;}.items-end{align-items:flex-end;}.flex-end{display:flex;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.justify-start{justify-content:flex-start;}.justify-end{justify-content:flex-end;}.flex-col{flex-direction:column;}.flex-grow{flex-grow:1;}.flex-wrap{flex-wrap:wrap;}.w-full{width:100%;}.h-full{height:100%;}.max-w-prose{max-width:65ch;}.min-h-screen{min-height:100vh;}.font-bold{font-weight:700;}.font-medium{font-weight:500;}.font-light{font-weight:300;}.tracking-tighter{letter-spacing:-0.05em;}.tracking-tight{letter-spacing:-0.025em;}.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}.rounded-full{border-radius:9999px;}.rounded-xl{border-radius:0.75rem;}.border-t{border-top-width:1px;}.border-b{border-bottom-width:1px;}.transition{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.scale-105{transform:scale(1.05);}.active-scale{transform:scale(0.96);}.cursor-pointer{cursor:pointer;}.overflow-hidden{overflow:hidden;}.hidden{display:none;}.glass{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 32px 0 rgba(0,0,0,0.37);}.glow-blue{box-shadow:0 0 30px rgba(0,212,255,0.25);}.glow-peach{box-shadow:0 0 30px rgba(255,179,138,0.2);}.bg-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.text-gradient-starlight{background:linear-gradient(to right,#ffb38a,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;}.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;}.btn-secondary{background:rgba(255,255,255,0.05);color:inherit;border:1px solid rgba(255,255,255,0.15);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;}.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 2.5rem 0 1rem;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='rgba(255,255,255,0.4)'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 9l4 4 4-4' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;transition:all 0.2s ease;height:3rem;}.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;}.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:50%;cursor:pointer;transition:all 0.2s ease;position:relative;display:inline-flex;align-items:center;justify-content:center;}.dialog-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;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;width:90%;max-width:600px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.5);overflow:hidden;position:relative;}.dropdown-menu{background-color:rgba(15,15,30,0.98);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.1);border-radius:1rem;padding:0.5rem;box-shadow:0 20px 40px rgba(0,0,0,0.4);min-width:200px;z-index:600;margin-top:0.5rem;}.dropdown-item{padding:0.625rem 1rem;color:rgba(255,255,255,0.7);border-radius:0.625rem;display:block;width:100%;text-align:left;transition:all 0.2s;cursor:pointer;font-size:0.875rem;}.tooltip{position:absolute;bottom:125%;left:50%;transform:translateX(-50%);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);}.skeleton{background-color:rgba(255,255,255,0.1);background-image:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);background-size:200% 100%;background-repeat:no-repeat;border-radius:0.5rem;width:100%;height:1rem;}.p-8{padding:2rem;}.bg-starlight-deep{background-color:#08081a;}.mx-auto{margin-left:auto;margin-right:auto;}.mb-20{margin-bottom:5rem;}.pt-16{padding-top:4rem;}.text-6xl{font-size:4.5rem;}.mb-6{margin-bottom:1.5rem;}.text-xl{font-size:1.25rem;}.text-gray-400{color:#9ca3af;}.mb-10{margin-bottom:2.5rem;}.gap-6{gap:1.5rem;}.text-black{color:#000000;}.px-10{padding-left:2.5rem;padding-right:2.5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.hover\:bg-white:hover{background-color:#ffffff;}.text-white{color:#ffffff;}.text-sm{font-size:0.875rem;}.text-starlight{color:#00d4ff;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.gap-10{gap:2.5rem;}.p-10{padding:2.5rem;}.rounded-2xl{border-radius:0.25rem;}.text-2xl{font-size:1.5rem;}.mb-4{margin-bottom:1rem;}.bg-white{background-color:#ffffff;}.p-4{padding:1rem;}.border-white{border-color:#ffffff;}.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}.p-12{padding:3rem;}.rounded-3xl{border-radius:0.375rem;}.text-4xl{font-size:2.5rem;}.text-lg{font-size:1.125rem;}.gap-4{gap:1rem;}.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;}.text-gray-500{color:#6b7280;}.mb-2{margin-bottom:0.5rem;}.text-muted{color:var(--text-muted);}.mb-8{margin-bottom:2rem;}.text-xs{font-size:0.75rem;}.px-8{padding-left:2rem;padding-right:2rem;}.pt-20{padding-top:5rem;}.pb-12{padding-bottom:3rem;}.pb-20{padding-bottom:5rem;}.grid-3{display:grid;}.gap-3{gap:0.75rem;}.mt-6{margin-top:1.5rem;}.w-3\/4{width:75.00%;}.h-6{height:1.5rem;}.h-12{height:3rem;}.w-1\/2{width:50.00%;}.h-4{height:1rem;}.bg-gray-50{background-color:#f9fafb;}.text-gray-900{color:#111827;}.mb-16{margin-bottom:4rem;}.border-gray-200{border-color:#e5e7eb;}.pb-8{padding-bottom:2rem;}.text-5xl{font-size:3.5rem;}.bg-blue-600{background-color:#2563eb;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.text-blue-600{color:#2563eb;}.text-gray-700{color:#374151;}.text-base{font-size:1rem;}.text-gray-600{color:#4b5563;}.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.bg-gray-800{background-color:#1f2937;}.hover\:bg-black:hover{background-color:#000000;}.border-gray-300{border-color:#d1d5db;}.hover\:bg-gray-100:hover{background-color:#f3f4f6;}.rounded-lg{border-radius:0.5rem;}.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);}.border-gray-100{border-color:#f3f4f6;}.mt-8{margin-top:2rem;}.bg-blue-50{background-color:#eff6ff;}.w-1\/4{width:25.00%;}.gap-12{gap:3rem;}.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);}.bg-gray-900{background-color:#111827;}.border-gray-700{border-color:#374151;}.text-gray-300{color:#d1d5db;}.px-4{padding-left:1rem;padding-right:1rem;}.focus\:border-blue-600:focus{border-color:#2563eb;}.pt-8{padding-top:2rem;}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:flex-row{flex-direction:row;}.md\:w-80{width:80;}.md\:text-5xl{font-size:3.5rem;}.md\:text-lg{font-size:1.125rem;}.md\:w-1\/2{width:50.00%;}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
1
+ /*!
2
+ * QuantumCSS v1.0.0 - Advanced Utility-First CSS Framework
3
+ * https://github.com/macroadster/quantumcss
4
+ * Copyright (c) 2026 Eric Yang
5
+ * License: MIT
6
+ */
7
+
8
+ /*!
9
+ * QuantumCSS - Utility-First CSS Framework
10
+ * Advanced utility framework with modern CSS features
11
+ * Version: 1.0.0
12
+ * Features: Modern CSS, Container Queries, Logical Properties, Dark Mode, etc.
13
+ */
14
+
15
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
16
+
17
+ /* CSS Custom Properties (Design Tokens) */
18
+ :root {
19
+ /* Colors */
20
+ --color-primary: #3b82f6;
21
+ --color-primary-50: #eff6ff;
22
+ --color-primary-100: #dbeafe;
23
+ --color-primary-200: #bfdbfe;
24
+ --color-primary-300: #93c5fd;
25
+ --color-primary-400: #60a5fa;
26
+ --color-primary-500: #3b82f6;
27
+ --color-primary-600: #2563eb;
28
+ --color-primary-700: #1d4ed8;
29
+ --color-primary-800: #1e40af;
30
+ --color-primary-900: #1e3a8a;
31
+
32
+ --color-secondary: #64748b;
33
+ --color-success: #10b981;
34
+ --color-warning: #f59e0b;
35
+ --color-error: #ef4444;
36
+ --color-neutral: #6b7280;
37
+
38
+ /* Typography */
39
+ --font-sans: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
40
+ --font-serif: Georgia, Cambria, serif;
41
+ --font-mono: 'SF Mono', Monaco, 'Cascadia Code', monospace;
42
+
43
+ /* Spacing Scale (4px base unit) */
44
+ --space-0: 0px;
45
+ --space-1: 0.25rem; /* 4px */
46
+ --space-2: 0.5rem; /* 8px */
47
+ --space-3: 0.75rem; /* 12px */
48
+ --space-4: 1rem; /* 16px */
49
+ --space-5: 1.25rem; /* 20px */
50
+ --space-6: 1.5rem; /* 24px */
51
+ --space-8: 2rem; /* 32px */
52
+ --space-10: 2.5rem; /* 40px */
53
+ --space-12: 3rem; /* 48px */
54
+ --space-16: 4rem; /* 64px */
55
+ --space-20: 5rem; /* 80px */
56
+ --space-24: 6rem; /* 96px */
57
+ --space-32: 8rem; /* 128px */
58
+
59
+ /* Border Radius */
60
+ --radius-none: 0px;
61
+ --radius-sm: 0.125rem;
62
+ --radius-md: 0.375rem;
63
+ --radius-lg: 0.5rem;
64
+ --radius-xl: 0.75rem;
65
+ --radius-2xl: 1rem;
66
+ --radius-3xl: 1.5rem;
67
+ --radius-full: 9999px;
68
+
69
+ /* Shadows */
70
+ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
71
+ --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
72
+ --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
73
+ --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
74
+ --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
75
+
76
+ /* Animation */
77
+ --duration-75: 75ms;
78
+ --duration-100: 100ms;
79
+ --duration-150: 150ms;
80
+ --duration-200: 200ms;
81
+ --duration-300: 300ms;
82
+ --duration-500: 500ms;
83
+ --duration-700: 700ms;
84
+ --duration-1000: 1000ms;
85
+
86
+ --ease-linear: linear;
87
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
88
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
89
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
90
+
91
+ /* --- Starlight Specific Tokens --- */
92
+ --color-starlight-blue: #00d4ff;
93
+ --color-starlight-peach: #ffb38a;
94
+ --color-starlight-orange: #ff7e5f;
95
+ --color-starlight-deep: #08081a;
96
+ --color-starlight-glow: rgba(0, 212, 255, 0.35);
97
+
98
+ /* Semantic Text Colors */
99
+ --text-primary: #f1f5f9;
100
+ --text-secondary: rgba(241, 245, 249, 0.7);
101
+ --text-muted: rgba(241, 245, 249, 0.45);
102
+
103
+ /* Light Mode Palette */
104
+ --light-bg: #f1f5f9;
105
+ --light-text: #1e293b;
106
+ --light-text-muted: #64748b;
107
+ --light-card-bg: #ffffff;
108
+ --light-card-border: rgba(0, 0, 0, 0.06);
109
+
110
+ /* Glassmorphism */
111
+ --glass-bg: rgba(255, 255, 255, 0.03);
112
+ --glass-border: rgba(255, 255, 255, 0.1);
113
+ --glass-blur: blur(16px);
114
+
115
+ /* Transitions */
116
+ --transition-fast: 150ms ease-in-out;
117
+ --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
118
+ --transition-slow: 400ms ease-in-out;
119
+ }
120
+
121
+ /* High Contrast (Accessibility) Mode Support */
122
+ @media (prefers-contrast: more) {
123
+ :root {
124
+ --color-starlight-blue: #0088cc; /* Darkened for better contrast on light */
125
+ --color-starlight-orange: #d14d33;
126
+ --glass-bg: rgba(255, 255, 255, 0.1);
127
+ --glass-border: rgba(255, 255, 255, 0.4);
128
+ --text-muted: rgba(241, 245, 249, 0.8);
129
+ }
130
+ }
131
+
132
+ @media (forced-colors: active) {
133
+ :root {
134
+ --radius-none: 0;
135
+ --radius-sm: 0;
136
+ --radius-md: 0;
137
+ --radius-lg: 0;
138
+ --radius-xl: 0;
139
+ --radius-2xl: 0;
140
+ --radius-3xl: 0;
141
+ --radius-full: 0;
142
+ }
143
+
144
+ .starlight-card, .glass, .q-card {
145
+ border: 2px solid CanvasText !important;
146
+ }
147
+
148
+ .btn-starlight, .q-btn-primary {
149
+ background: ButtonFace !important;
150
+ color: ButtonText !important;
151
+ border: 2px solid ButtonText !important;
152
+ }
153
+ }
154
+
155
+ /* Dark Mode */
156
+ @media (prefers-color-scheme: dark) {
157
+ :root {
158
+ --color-primary: #60a5fa;
159
+ --color-secondary: #94a3b8;
160
+ --color-neutral: #9ca3af;
161
+ }
162
+ }
163
+
164
+ /* Base Reset */
165
+ *, *::before, *::after {
166
+ box-sizing: border-box;
167
+ margin: 0;
168
+ padding: 0;
169
+ }
170
+
171
+ html {
172
+ line-height: 1.6;
173
+ -webkit-text-size-adjust: 100%;
174
+ font-family: 'Inter', system-ui, -apple-system, sans-serif;
175
+ font-size: 16px;
176
+ -webkit-font-smoothing: antialiased;
177
+ -moz-osx-font-smoothing: grayscale;
178
+ }
179
+
180
+ body {
181
+ line-height: inherit;
182
+ }
183
+
184
+ input, textarea, select, button {
185
+ font-family: inherit;
186
+ font-size: inherit;
187
+ line-height: inherit;
188
+ color: inherit;
189
+ border: none;
190
+ background: transparent;
191
+ }
192
+
193
+ textarea {
194
+ resize: vertical;
195
+ min-height: 5rem;
196
+ }
197
+
198
+ /* Layout Utilities */
199
+ .container {
200
+ width: 100%;
201
+ max-width: 1200px;
202
+ margin-left: auto;
203
+ margin-right: auto;
204
+ padding-left: var(--space-4);
205
+ padding-right: var(--space-4);
206
+ }
207
+
208
+ @container (min-width: 640px) {
209
+ .container {
210
+ max-width: 640px;
211
+ }
212
+ }
213
+
214
+ @container (min-width: 768px) {
215
+ .container {
216
+ max-width: 768px;
217
+ }
218
+ }
219
+
220
+ @container (min-width: 1024px) {
221
+ .container {
222
+ max-width: 1024px;
223
+ }
224
+ }
225
+
226
+ @container (min-width: 1280px) {
227
+ .container {
228
+ max-width: 1280px;
229
+ }
230
+ }
231
+
232
+ /* Display Utilities */
233
+ .block { display: block; }
234
+ .inline-block { display: inline-block; }
235
+ .inline { display: inline; }
236
+ .flex { display: flex; }
237
+ .inline-flex { display: inline-flex; }
238
+ .grid { display: grid; }
239
+ .inline-grid { display: inline-grid; }
240
+ .hidden { display: none; }
241
+
242
+ /* Flexbox Utilities */
243
+ .flex-row { flex-direction: row; }
244
+ .flex-row-reverse { flex-direction: row-reverse; }
245
+ .flex-col { flex-direction: column; }
246
+ .flex-col-reverse { flex-direction: column-reverse; }
247
+
248
+ .flex-wrap { flex-wrap: wrap; }
249
+ .flex-wrap-reverse { flex-wrap: wrap-reverse; }
250
+ .flex-nowrap { flex-wrap: nowrap; }
251
+
252
+ .items-start { align-items: flex-start; }
253
+ .items-end { align-items: flex-end; }
254
+ .items-center { align-items: center; }
255
+ .items-baseline { align-items: baseline; }
256
+ .items-stretch { align-items: stretch; }
257
+
258
+ .justify-start { justify-content: flex-start; }
259
+ .justify-end { justify-content: flex-end; }
260
+ .justify-center { justify-content: center; }
261
+ .justify-between { justify-content: space-between; }
262
+ .justify-around { justify-content: space-around; }
263
+ .justify-evenly { justify-content: space-evenly; }
264
+
265
+ .flex-1 { flex: 1 1 0%; }
266
+ .flex-auto { flex: 1 1 auto; }
267
+ .flex-initial { flex: 0 1 auto; }
268
+ .flex-none { flex: none; }
269
+
270
+ /* Grid Utilities */
271
+ .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
272
+ .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
273
+ .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
274
+ .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
275
+ .grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
276
+ .grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
277
+ .grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
278
+
279
+ .gap-0 { gap: var(--space-0); }
280
+ .gap-1 { gap: var(--space-1); }
281
+ .gap-2 { gap: var(--space-2); }
282
+ .gap-3 { gap: var(--space-3); }
283
+ .gap-4 { gap: var(--space-4); }
284
+ .gap-5 { gap: var(--space-5); }
285
+ .gap-6 { gap: var(--space-6); }
286
+ .gap-8 { gap: var(--space-8); }
287
+
288
+ /* Spacing Utilities */
289
+ .m-0 { margin: var(--space-0); }
290
+ .m-1 { margin: var(--space-1); }
291
+ .m-2 { margin: var(--space-2); }
292
+ .m-3 { margin: var(--space-3); }
293
+ .m-4 { margin: var(--space-4); }
294
+ .m-5 { margin: var(--space-5); }
295
+ .m-6 { margin: var(--space-6); }
296
+ .m-8 { margin: var(--space-8); }
297
+ .m-auto { margin: auto; }
298
+
299
+ .mx-auto { margin-left: auto; margin-right: auto; }
300
+ .my-auto { margin-top: auto; margin-bottom: auto; }
301
+
302
+ .p-0 { padding: var(--space-0); }
303
+ .p-1 { padding: var(--space-1); }
304
+ .p-2 { padding: var(--space-2); }
305
+ .p-3 { padding: var(--space-3); }
306
+ .p-4 { padding: var(--space-4); }
307
+ .p-5 { padding: var(--space-5); }
308
+ .p-6 { padding: var(--space-6); }
309
+ .p-8 { padding: var(--space-8); }
310
+
311
+ /* Typography Utilities */
312
+ .text-xs { font-size: 0.75rem; line-height: 1rem; }
313
+ .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
314
+ .text-base { font-size: 1rem; line-height: 1.5rem; }
315
+ .text-lg { font-size: 1.125rem; line-height: 1.75rem; }
316
+ .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
317
+ .text-2xl { font-size: 1.5rem; line-height: 2rem; }
318
+ .text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
319
+ .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
320
+ .text-5xl { font-size: 3rem; line-height: 1.2; }
321
+
322
+ .font-light { font-weight: 300; }
323
+ .font-normal { font-weight: 400; }
324
+ .font-medium { font-weight: 500; }
325
+ .font-semibold { font-weight: 600; }
326
+ .font-bold { font-weight: 700; }
327
+ .font-extrabold { font-weight: 800; }
328
+
329
+ .text-left { text-align: left; }
330
+ .text-center { text-align: center; }
331
+ .text-right { text-align: right; }
332
+ .text-justify { text-align: justify; }
333
+
334
+ /* Color Utilities */
335
+ .text-primary { color: var(--color-primary); }
336
+ .text-secondary { color: var(--color-secondary); }
337
+ .text-success { color: var(--color-success); }
338
+ .text-warning { color: var(--color-warning); }
339
+ .text-error { color: var(--color-error); }
340
+ .text-neutral { color: var(--color-neutral); }
341
+ .text-white { color: #ffffff; }
342
+ .text-black { color: #000000; }
343
+
344
+ .bg-primary { background-color: var(--color-primary); }
345
+ .bg-secondary { background-color: var(--color-secondary); }
346
+ .bg-success { background-color: var(--color-success); }
347
+ .bg-warning { background-color: var(--color-warning); }
348
+ .bg-error { background-color: var(--color-error); }
349
+ .bg-neutral { background-color: var(--color-neutral); }
350
+ .bg-white { background-color: #ffffff; }
351
+ .bg-black { background-color: #000000; }
352
+
353
+ /* Border Utilities */
354
+ .border-0 { border-width: 0px; }
355
+ .border { border-width: 1px; }
356
+ .border-2 { border-width: 2px; }
357
+ .border-4 { border-width: 4px; }
358
+
359
+ .border-solid { border-style: solid; }
360
+ .border-dashed { border-style: dashed; }
361
+ .border-dotted { border-style: dotted; }
362
+
363
+ .border-neutral { border-color: var(--color-neutral); }
364
+
365
+ .rounded-none { border-radius: var(--radius-none); }
366
+ .rounded-sm { border-radius: var(--radius-sm); }
367
+ .rounded-md { border-radius: var(--radius-md); }
368
+ .rounded-lg { border-radius: var(--radius-lg); }
369
+ .rounded-xl { border-radius: var(--radius-xl); }
370
+ .rounded-2xl { border-radius: var(--radius-2xl); }
371
+ .rounded-3xl { border-radius: var(--radius-3xl); }
372
+ .rounded-full { border-radius: var(--radius-full); }
373
+
374
+ /* Shadow Utilities */
375
+ .shadow-none { box-shadow: none; }
376
+ .shadow-sm { box-shadow: var(--shadow-sm); }
377
+ .shadow-md { box-shadow: var(--shadow-md); }
378
+ .shadow-lg { box-shadow: var(--shadow-lg); }
379
+ .shadow-xl { box-shadow: var(--shadow-xl); }
380
+ .shadow-2xl { box-shadow: var(--shadow-2xl); }
381
+
382
+ /* Position Utilities */
383
+ .static { position: static; }
384
+ .fixed { position: fixed; }
385
+ .absolute { position: absolute; }
386
+ .relative { position: relative; }
387
+ .sticky { position: sticky; }
388
+
389
+ .inset-0 { inset: 0px; }
390
+ .top-0 { top: 0px; }
391
+ .right-0 { right: 0px; }
392
+ .bottom-0 { bottom: 0px; }
393
+ .left-0 { left: 0px; }
394
+
395
+ /* Size Utilities */
396
+ .w-auto { width: auto; }
397
+ .w-full { width: 100%; }
398
+ .w-screen { width: 100vw; }
399
+ .w-fit { width: fit-content; }
400
+
401
+ .h-auto { height: auto; }
402
+ .h-full { height: 100%; }
403
+ .h-screen { height: 100vh; }
404
+ .h-fit { height: fit-content; }
405
+
406
+ /* Transition Utilities */
407
+ .transition-none {
408
+ transition-property: none;
409
+ }
410
+
411
+ .transition-all {
412
+ transition-property: all;
413
+ transition-timing-function: var(--ease-in-out);
414
+ transition-duration: var(--duration-150);
415
+ }
416
+
417
+ .transition-colors {
418
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
419
+ transition-timing-function: var(--ease-in-out);
420
+ transition-duration: var(--duration-150);
421
+ }
422
+
423
+ /* Transform Utilities */
424
+ .scale-95 { transform: scale(0.95); }
425
+ .scale-100 { transform: scale(1); }
426
+ .scale-105 { transform: scale(1.05); }
427
+ .scale-110 { transform: scale(1.1); }
428
+
429
+ .rotate-0 { transform: rotate(0deg); }
430
+ .rotate-45 { transform: rotate(45deg); }
431
+ .rotate-90 { transform: rotate(90deg); }
432
+ .rotate-180 { transform: rotate(180deg); }
433
+
434
+ /* Interactivity */
435
+ .cursor-pointer { cursor: pointer; }
436
+ .cursor-default { cursor: default; }
437
+ .cursor-not-allowed { cursor: not-allowed; }
438
+
439
+ .select-none { user-select: none; }
440
+ .select-text { user-select: text; }
441
+ .select-all { user-select: all; }
442
+
443
+ .pointer-events-none { pointer-events: none; }
444
+ .pointer-events-auto { pointer-events: auto; }
445
+
446
+ /* Accessibility */
447
+ .sr-only {
448
+ position: absolute;
449
+ width: 1px;
450
+ height: 1px;
451
+ padding: 0;
452
+ margin: -1px;
453
+ overflow: hidden;
454
+ clip: rect(0, 0, 0, 0);
455
+ white-space: nowrap;
456
+ border-width: 0;
457
+ }
458
+
459
+ .not-sr-only {
460
+ position: static;
461
+ width: auto;
462
+ height: auto;
463
+ padding: 0;
464
+ margin: 0;
465
+ overflow: visible;
466
+ clip: auto;
467
+ white-space: normal;
468
+ }
469
+
470
+ /* ====== QUANTUM CSS ENHANCEMENTS ====== */
471
+
472
+ /* Responsive Design System - Better Breakpoints */
473
+ @media (max-width: 639px) {
474
+ .q-sm\:block { display: block; }
475
+ .q-sm\:hidden { display: none; }
476
+ .q-sm\:text-center { text-align: center; }
477
+ .q-sm\:flex-col { flex-direction: column; }
478
+ }
479
+
480
+ @media (min-width: 640px) {
481
+ .q-md\:block { display: block; }
482
+ .q-md\:hidden { display: none; }
483
+ .q-md\:flex-row { flex-direction: row; }
484
+ }
485
+
486
+ @media (min-width: 768px) {
487
+ .q-lg\:block { display: block; }
488
+ .q-lg\:hidden { display: none; }
489
+ .q-lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
490
+ }
491
+
492
+ @media (min-width: 1024px) {
493
+ .q-xl\:block { display: block; }
494
+ .q-xl\:hidden { display: none; }
495
+ .q-xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
496
+ }
497
+
498
+ @media (min-width: 1280px) {
499
+ .q-2xl\:block { display: block; }
500
+ .q-2xl\:hidden { display: none; }
501
+ .q-2xl\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
502
+ }
503
+
504
+ /* Component Utilities - Semantic & Reusable */
505
+ .q-card {
506
+ background: white;
507
+ border-radius: var(--radius-lg);
508
+ box-shadow: var(--shadow-md);
509
+ padding: var(--space-6);
510
+ border: 1px solid var(--color-neutral);
511
+ transition: var(--duration-200) all var(--ease-in-out);
512
+ }
513
+
514
+ .q-card:hover {
515
+ box-shadow: var(--shadow-lg);
516
+ transform: translateY(-2px);
517
+ }
518
+
519
+ .q-btn {
520
+ display: inline-flex;
521
+ align-items: center;
522
+ justify-content: center;
523
+ gap: var(--space-2);
524
+ padding: var(--space-3) var(--space-6);
525
+ border-radius: var(--radius-md);
526
+ font-weight: 500;
527
+ font-size: 0.875rem;
528
+ line-height: 1.25rem;
529
+ transition: all var(--duration-150) var(--ease-in-out);
530
+ cursor: pointer;
531
+ border: none;
532
+ text-decoration: none;
533
+ position: relative;
534
+ overflow: hidden;
535
+ }
536
+
537
+ .q-btn:disabled {
538
+ opacity: 0.5;
539
+ cursor: not-allowed;
540
+ }
541
+
542
+ .q-btn-primary {
543
+ background-color: var(--color-primary);
544
+ color: white;
545
+ }
546
+
547
+ .q-btn-primary:hover:not(:disabled) {
548
+ background-color: var(--color-primary-600);
549
+ transform: translateY(-1px);
550
+ box-shadow: var(--shadow-md);
551
+ }
552
+
553
+ .q-btn-secondary {
554
+ background-color: var(--color-neutral);
555
+ color: white;
556
+ }
557
+
558
+ .q-btn-outline {
559
+ background-color: transparent;
560
+ border: 1px solid var(--color-primary);
561
+ color: var(--color-primary);
562
+ }
563
+
564
+ .q-btn-outline:hover:not(:disabled) {
565
+ background-color: var(--color-primary);
566
+ color: white;
567
+ }
568
+
569
+ .q-input {
570
+ display: block;
571
+ width: 100%;
572
+ padding: var(--space-3) var(--space-4);
573
+ border: 1px solid var(--color-neutral);
574
+ border-radius: var(--radius-md);
575
+ font-size: 0.875rem;
576
+ line-height: 1.25rem;
577
+ transition: all var(--duration-150) var(--ease-in-out);
578
+ background-color: white;
579
+ }
580
+
581
+ .q-input:focus {
582
+ outline: none;
583
+ border-color: var(--color-primary);
584
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
585
+ }
586
+
587
+ .q-input-error {
588
+ border-color: var(--color-error);
589
+ }
590
+
591
+ .q-input-error:focus {
592
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
593
+ }
594
+
595
+ .q-badge {
596
+ display: inline-flex;
597
+ align-items: center;
598
+ padding: var(--space-1) var(--space-3);
599
+ border-radius: var(--radius-full);
600
+ font-size: 0.75rem;
601
+ font-weight: 500;
602
+ text-transform: uppercase;
603
+ letter-spacing: 0.05em;
604
+ }
605
+
606
+ .q-badge-primary {
607
+ background-color: var(--color-primary-100);
608
+ color: var(--color-primary-800);
609
+ }
610
+
611
+ .q-badge-success {
612
+ background-color: #dcfce7;
613
+ color: #166534;
614
+ }
615
+
616
+ .q-badge-warning {
617
+ background-color: #fef3c7;
618
+ color: #92400e;
619
+ }
620
+
621
+ .q-badge-error {
622
+ background-color: #fee2e2;
623
+ color: #991b1b;
624
+ }
625
+
626
+ /* Advanced Layout Patterns */
627
+ .q-center {
628
+ display: flex;
629
+ align-items: center;
630
+ justify-content: center;
631
+ }
632
+
633
+ .q-stack {
634
+ display: flex;
635
+ flex-direction: column;
636
+ gap: var(--space-4);
637
+ }
638
+
639
+ .q-cluster {
640
+ display: flex;
641
+ flex-wrap: wrap;
642
+ gap: var(--space-4);
643
+ align-items: flex-start;
644
+ }
645
+
646
+ .q-switcher {
647
+ display: flex;
648
+ flex-wrap: wrap;
649
+ gap: var(--space-2);
650
+ }
651
+
652
+ .q-sidebar {
653
+ display: grid;
654
+ grid-template-columns: auto 1fr;
655
+ gap: var(--space-6);
656
+ }
657
+
658
+ .q-cover {
659
+ position: absolute;
660
+ inset: 0;
661
+ width: 100%;
662
+ height: 100%;
663
+ object-fit: cover;
664
+ }
665
+
666
+ .q-frame {
667
+ position: relative;
668
+ overflow: hidden;
669
+ }
670
+
671
+ /* Smart Spacing - Logical Properties */
672
+ .q-space-y > * + * {
673
+ margin-top: var(--space-4);
674
+ }
675
+
676
+ .q-space-y-2 > * + * {
677
+ margin-top: var(--space-2);
678
+ }
679
+
680
+ .q-space-y-6 > * + * {
681
+ margin-top: var(--space-6);
682
+ }
683
+
684
+ .q-space-x > * + * {
685
+ margin-left: var(--space-4);
686
+ }
687
+
688
+ .q-space-x-2 > * + * {
689
+ margin-left: var(--space-2);
690
+ }
691
+
692
+ .q-space-x-6 > * + * {
693
+ margin-left: var(--space-6);
694
+ }
695
+
696
+ /* Animation Utilities */
697
+ .q-animate-fade-in {
698
+ animation: fadeIn var(--duration-300) var(--ease-out);
699
+ }
700
+
701
+ .q-animate-slide-up {
702
+ animation: slideUp var(--duration-300) var(--ease-out);
703
+ }
704
+
705
+ .q-animate-slide-down {
706
+ animation: slideDown var(--duration-300) var(--ease-out);
707
+ }
708
+
709
+ .q-animate-scale-in {
710
+ animation: scaleIn var(--duration-200) var(--ease-out);
711
+ }
712
+
713
+ .q-animate-spin {
714
+ animation: spin 1s linear infinite;
715
+ }
716
+
717
+ .q-animate-ping {
718
+ animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
719
+ }
720
+
721
+ .q-animate-pulse {
722
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
723
+ }
724
+
725
+ .q-animate-bounce {
726
+ animation: bounce 1s infinite;
727
+ }
728
+
729
+ /* Keyframes */
730
+ @keyframes fadeIn {
731
+ from { opacity: 0; }
732
+ to { opacity: 1; }
733
+ }
734
+
735
+ @keyframes slideUp {
736
+ from { opacity: 0; transform: translateY(20px); }
737
+ to { opacity: 1; transform: translateY(0); }
738
+ }
739
+
740
+ @keyframes slideDown {
741
+ from { opacity: 0; transform: translateY(-20px); }
742
+ to { opacity: 1; transform: translateY(0); }
743
+ }
744
+
745
+ @keyframes scaleIn {
746
+ from { opacity: 0; transform: scale(0.95); }
747
+ to { opacity: 1; transform: scale(1); }
748
+ }
749
+
750
+ @keyframes spin {
751
+ from { transform: rotate(0deg); }
752
+ to { transform: rotate(360deg); }
753
+ }
754
+
755
+ @keyframes ping {
756
+ 75%, 100% {
757
+ transform: scale(2);
758
+ opacity: 0;
759
+ }
760
+ }
761
+
762
+ @keyframes pulse {
763
+ 0%, 100% { opacity: 1; }
764
+ 50% { opacity: 0.5; }
765
+ }
766
+
767
+ @keyframes bounce {
768
+ 0%, 100% {
769
+ transform: translateY(-25%);
770
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
771
+ }
772
+ 50% {
773
+ transform: none;
774
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
775
+ }
776
+ }
777
+
778
+ /* Interactive States */
779
+ .q-hover-lift:hover {
780
+ transform: translateY(-4px);
781
+ box-shadow: var(--shadow-lg);
782
+ }
783
+
784
+ .q-hover-scale:hover {
785
+ transform: scale(1.05);
786
+ }
787
+
788
+ .q-hover-rotate:hover {
789
+ transform: rotate(1deg);
790
+ }
791
+
792
+ .q-hover-glow:hover {
793
+ box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
794
+ }
795
+
796
+ .q-active:active {
797
+ transform: scale(0.98);
798
+ }
799
+
800
+ .q-focus-ring:focus {
801
+ outline: 2px solid var(--color-primary);
802
+ outline-offset: 2px;
803
+ }
804
+
805
+ /* Form States */
806
+ .q-required::after {
807
+ content: " *";
808
+ color: var(--color-error);
809
+ }
810
+
811
+ .q-disabled {
812
+ opacity: 0.5;
813
+ cursor: not-allowed;
814
+ pointer-events: none;
815
+ }
816
+
817
+ .q-loading {
818
+ position: relative;
819
+ overflow: hidden;
820
+ }
821
+
822
+ .q-loading::after {
823
+ content: "";
824
+ position: absolute;
825
+ top: 0;
826
+ left: -100%;
827
+ width: 100%;
828
+ height: 100%;
829
+ background: linear-gradient(
830
+ 90deg,
831
+ transparent,
832
+ rgba(255, 255, 255, 0.2),
833
+ transparent
834
+ );
835
+ animation: loading 1.5s infinite;
836
+ }
837
+
838
+ @keyframes loading {
839
+ to { left: 100%; }
840
+ }
841
+
842
+ /* Visual Feedback */
843
+ .q-success {
844
+ border-color: var(--color-success) !important;
845
+ box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
846
+ }
847
+
848
+ .q-warning {
849
+ border-color: var(--color-warning) !important;
850
+ box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1) !important;
851
+ }
852
+
853
+ .q-error {
854
+ border-color: var(--color-error) !important;
855
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
856
+ }
857
+
858
+ .q-info {
859
+ border-color: var(--color-primary) !important;
860
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
861
+ }
862
+
863
+ /* Dark Mode Enhancements */
864
+ @media (prefers-color-scheme: dark) {
865
+ .q-card {
866
+ background-color: #1f2937;
867
+ border-color: #374151;
868
+ }
869
+
870
+ .q-input {
871
+ background-color: #1f2937;
872
+ border-color: #374151;
873
+ color: #f9fafb;
874
+ }
875
+
876
+ .q-dark\:text-white { color: #ffffff !important; }
877
+ .q-dark\:bg-gray-800 { background-color: #1f2937 !important; }
878
+ .q-dark\:bg-gray-900 { background-color: #111827 !important; }
879
+ .q-dark\:border-gray-700 { border-color: #374151 !important; }
880
+ }
881
+
882
+ /* Print Styles */
883
+ @media print {
884
+ .q-print-hidden {
885
+ display: none !important;
886
+ }
887
+
888
+ .q-print-block {
889
+ display: block !important;
890
+ }
891
+
892
+ .q-no-shadow {
893
+ box-shadow: none !important;
894
+ }
895
+
896
+ .q-black-text {
897
+ color: black !important;
898
+ }
899
+ }
900
+
901
+ /* Utility for Quick Prototyping */
902
+ .prose {
903
+ max-width: 65ch;
904
+ line-height: 1.75;
905
+ }
906
+
907
+ .prose h1 {
908
+ font-size: 2.25rem;
909
+ font-weight: 700;
910
+ line-height: 1.25;
911
+ margin-bottom: 1rem;
912
+ }
913
+
914
+ .prose h2 {
915
+ font-size: 1.875rem;
916
+ font-weight: 600;
917
+ line-height: 1.25;
918
+ margin-top: 2rem;
919
+ margin-bottom: 1rem;
920
+ }
921
+
922
+ .prose p {
923
+ margin-bottom: 1rem;
924
+ }
925
+
926
+ .prose a {
927
+ color: var(--color-primary);
928
+ text-decoration: underline;
929
+ }
930
+
931
+ .prose a:hover {
932
+ color: var(--color-primary-600);
933
+ }
934
+
935
+ /* Performance Optimizations */
936
+ .q-will-change-transform {
937
+ will-change: transform;
938
+ }
939
+
940
+ .q-will-change-opacity {
941
+ will-change: opacity;
942
+ }
943
+
944
+ .q-gpu-accelerated {
945
+ transform: translateZ(0);
946
+ backface-visibility: hidden;
947
+ perspective: 1000px;
948
+ }
949
+
950
+ /* Container Queries - Future Ready */
951
+ @container (min-width: 320px) {
952
+ .q-cq-sm\:flex { display: flex; }
953
+ }
954
+
955
+ @container (min-width: 640px) {
956
+ .q-cq-md\:grid { display: grid; }
957
+ }
958
+
959
+ @container (min-width: 1024px) {
960
+ .q-cq-lg\:block { display: block; }
961
+ }
962
+
963
+ /* Reduced Motion Support */
964
+ @media (prefers-reduced-motion: reduce) {
965
+ *,
966
+ *::before,
967
+ *::after {
968
+ animation-duration: 0.01ms !important;
969
+ animation-iteration-count: 1 !important;
970
+ transition-duration: 0.01ms !important;
971
+ scroll-behavior: auto !important;
972
+ }
973
+ }
974
+
975
+ /* High Contrast Mode Support */
976
+ @media (prefers-contrast: high) {
977
+ .q-card {
978
+ border-width: 2px;
979
+ }
980
+
981
+ .q-btn {
982
+ border: 2px solid;
983
+ }
984
+ }
985
+
986
+ /* Focus Visible Support */
987
+ .q-focus-visible:focus-visible {
988
+ outline: 2px solid var(--color-primary);
989
+ outline-offset: 2px;
990
+ }
991
+
992
+ /* Modern CSS Features */
993
+ .q-backdrop-blur-sm {
994
+ backdrop-filter: blur(4px);
995
+ }
996
+
997
+ .q-backdrop-blur {
998
+ backdrop-filter: blur(8px);
999
+ }
1000
+
1001
+ .q-backdrop-blur-md {
1002
+ backdrop-filter: blur(12px);
1003
+ }
1004
+
1005
+ .q-backdrop-blur-lg {
1006
+ backdrop-filter: blur(16px);
1007
+ }
1008
+
1009
+ .q-text-shadow-sm {
1010
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
1011
+ }
1012
+
1013
+ .q-text-shadow {
1014
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
1015
+ }
1016
+
1017
+ .q-text-shadow-lg {
1018
+ text-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
1019
+ }
1020
+
1021
+ /* Gradient Utilities */
1022
+ .q-gradient-primary {
1023
+ background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-600) 100%);
1024
+ }
1025
+
1026
+ .q-gradient-secondary {
1027
+ background: linear-gradient(135deg, var(--color-secondary) 0%, #475569 100%);
1028
+ }
1029
+
1030
+ .q-gradient-radial {
1031
+ background: radial-gradient(circle at center, var(--color-primary) 0%, var(--color-primary-600) 100%);
1032
+ }
1033
+
1034
+ .q-gradient-text {
1035
+ background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-600) 100%);
1036
+ -webkit-background-clip: text;
1037
+ -webkit-text-fill-color: transparent;
1038
+ background-clip: text;
1039
+ }
1040
+
1041
+ /* Scrollbar Styling */
1042
+ .q-scrollbar-thin {
1043
+ scrollbar-width: thin;
1044
+ scrollbar-color: var(--color-neutral) transparent;
1045
+ }
1046
+
1047
+ .q-scrollbar-thin::-webkit-scrollbar {
1048
+ width: 6px;
1049
+ }
1050
+
1051
+ .q-scrollbar-thin::-webkit-scrollbar-track {
1052
+ background: transparent;
1053
+ }
1054
+
1055
+ .q-scrollbar-thin::-webkit-scrollbar-thumb {
1056
+ background-color: var(--color-neutral);
1057
+ border-radius: 3px;
1058
+ }
1059
+
1060
+ .q-scrollbar-none {
1061
+ -ms-overflow-style: none;
1062
+ scrollbar-width: none;
1063
+ }
1064
+
1065
+ .q-scrollbar-none::-webkit-scrollbar {
1066
+
1067
+ display: none;
1068
+
1069
+ }
1070
+
1071
+
1072
+
1073
+ /* --- Restored Core Styles --- */
1074
+
1075
+
1076
+
1077
+ /* Nebula Scrollbar */
1078
+
1079
+ ::-webkit-scrollbar { width: 8px; }
1080
+
1081
+ ::-webkit-scrollbar-track { background: var(--color-starlight-deep); }
1082
+
1083
+ body.light-mode ::-webkit-scrollbar-track { background: var(--light-bg); }
1084
+
1085
+
1086
+
1087
+ ::-webkit-scrollbar-thumb {
1088
+
1089
+ background: linear-gradient(to bottom, var(--color-starlight-peach), var(--color-starlight-blue));
1090
+
1091
+ border-radius: 10px;
1092
+
1093
+ border: 2px solid var(--color-starlight-deep);
1094
+
1095
+ }
1096
+
1097
+ body.light-mode ::-webkit-scrollbar-thumb { border-color: var(--light-bg); }
1098
+
1099
+
1100
+
1101
+ /* Starlight Focus Ring */
1102
+
1103
+
1104
+
1105
+ :focus, :focus-visible {
1106
+
1107
+
1108
+
1109
+ outline: none;
1110
+
1111
+
1112
+
1113
+ box-shadow: 0 0 0 2px var(--color-starlight-deep), 0 0 0 4px var(--color-starlight-blue);
1114
+
1115
+
1116
+
1117
+ transition: box-shadow var(--transition-fast);
1118
+
1119
+
1120
+
1121
+ }
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+ body.light-mode :focus, body.light-mode :focus-visible {
1130
+
1131
+
1132
+
1133
+ box-shadow: 0 0 0 2px var(--light-bg), 0 0 0 4px rgba(59, 130, 246, 0.4);
1134
+
1135
+
1136
+
1137
+ }
1138
+
1139
+
1140
+
1141
+ /* Body defaults */
1142
+
1143
+
1144
+
1145
+ body {
1146
+
1147
+
1148
+
1149
+ margin: 0;
1150
+
1151
+
1152
+
1153
+ min-height: 100vh;
1154
+
1155
+
1156
+
1157
+ background-color: var(--color-starlight-deep);
1158
+
1159
+
1160
+
1161
+ color: var(--text-primary);
1162
+
1163
+
1164
+
1165
+ transition: background-color var(--transition-slow), color var(--transition-slow);
1166
+
1167
+
1168
+
1169
+ }
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+ body.light-mode {
1178
+ background-color: var(--light-bg);
1179
+ color: var(--light-text);
1180
+ --text-primary: var(--light-text);
1181
+ --text-secondary: var(--light-text-muted);
1182
+ --text-muted: var(--light-text-muted);
1183
+ }
1184
+
1185
+ /* Tactile Active State for all interactive elements */
1186
+ button:active,
1187
+ input:active,
1188
+ .active-scale:active {
1189
+ transform: scale(0.96);
1190
+ }
1191
+
1192
+ /*!
1193
+ * QuantumCSS Responsive Design System
1194
+ * Advanced responsive utilities with container queries and modern breakpoints
1195
+ */
1196
+
1197
+ /* Modern Responsive Breakpoints */
1198
+ /* Using logical properties and container queries */
1199
+
1200
+ @custom-media --sm (min-width: 640px);
1201
+ @custom-media --md (min-width: 768px);
1202
+ @custom-media --lg (min-width: 1024px);
1203
+ @custom-media --xl (min-width: 1280px);
1204
+ @custom-media --2xl (min-width: 1536px);
1205
+
1206
+ /* Container Query Support */
1207
+ @container (min-width: 320px) {
1208
+ .container\:flex { display: flex; }
1209
+ .container\:grid { display: grid; }
1210
+ .container\:hidden { display: none; }
1211
+ }
1212
+
1213
+ @container (min-width: 640px) {
1214
+ .container\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1215
+ .container\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1216
+ .container\:p-6 { padding: var(--space-6); }
1217
+ }
1218
+
1219
+ @container (min-width: 768px) {
1220
+ .container\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1221
+ .container\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1222
+ .container\:p-8 { padding: var(--space-8); }
1223
+ }
1224
+
1225
+ @container (min-width: 1024px) {
1226
+ .container\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1227
+ .container\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1228
+ }
1229
+
1230
+ /* Standard Responsive Utilities */
1231
+ @media (--sm) {
1232
+ .sm\:block { display: block; }
1233
+ .sm\:inline-block { display: inline-block; }
1234
+ .sm\:inline { display: inline; }
1235
+ .sm\:flex { display: flex; }
1236
+ .sm\:grid { display: grid; }
1237
+ .sm\:hidden { display: none; }
1238
+
1239
+ .sm\:flex-row { flex-direction: row; }
1240
+ .sm\:flex-col { flex-direction: column; }
1241
+
1242
+ .sm\:items-start { align-items: flex-start; }
1243
+ .sm\:items-center { align-items: center; }
1244
+ .sm\:items-end { align-items: flex-end; }
1245
+
1246
+ .sm\:justify-start { justify-content: flex-start; }
1247
+ .sm\:justify-center { justify-content: center; }
1248
+ .sm\:justify-end { justify-content: flex-end; }
1249
+ .sm\:justify-between { justify-content: space-between; }
1250
+
1251
+ .sm\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1252
+ .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1253
+ .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1254
+
1255
+ .sm\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1256
+ .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1257
+ .sm\:text-base { font-size: 1rem; line-height: 1.5rem; }
1258
+ .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1259
+ .sm\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1260
+ .sm\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1261
+
1262
+ .sm\:m-0 { margin: var(--space-0); }
1263
+ .sm\:m-1 { margin: var(--space-1); }
1264
+ .sm\:m-2 { margin: var(--space-2); }
1265
+ .sm\:m-3 { margin: var(--space-3); }
1266
+ .sm\:m-4 { margin: var(--space-4); }
1267
+ .sm\:m-6 { margin: var(--space-6); }
1268
+ .sm\:m-8 { margin: var(--space-8); }
1269
+ .sm\:mx-auto { margin-left: auto; margin-right: auto; }
1270
+
1271
+ .sm\:p-0 { padding: var(--space-0); }
1272
+ .sm\:p-1 { padding: var(--space-1); }
1273
+ .sm\:p-2 { padding: var(--space-2); }
1274
+ .sm\:p-3 { padding: var(--space-3); }
1275
+ .sm\:p-4 { padding: var(--space-4); }
1276
+ .sm\:p-6 { padding: var(--space-6); }
1277
+ .sm\:p-8 { padding: var(--space-8); }
1278
+
1279
+ .sm\:w-full { width: 100%; }
1280
+ .sm\:w-auto { width: auto; }
1281
+ .sm\:h-full { height: 100%; }
1282
+ .sm\:h-auto { height: auto; }
1283
+ }
1284
+
1285
+ @media (--md) {
1286
+ .md\:block { display: block; }
1287
+ .md\:inline-block { display: inline-block; }
1288
+ .md\:inline { display: inline; }
1289
+ .md\:flex { display: flex; }
1290
+ .md\:grid { display: grid; }
1291
+ .md\:hidden { display: none; }
1292
+
1293
+ .md\:flex-row { flex-direction: row; }
1294
+ .md\:flex-col { flex-direction: column; }
1295
+
1296
+ .md\:items-start { align-items: flex-start; }
1297
+ .md\:items-center { align-items: center; }
1298
+ .md\:items-end { align-items: flex-end; }
1299
+
1300
+ .md\:justify-start { justify-content: flex-start; }
1301
+ .md\:justify-center { justify-content: center; }
1302
+ .md\:justify-end { justify-content: flex-end; }
1303
+ .md\:justify-between { justify-content: space-between; }
1304
+
1305
+ .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1306
+ .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1307
+ .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1308
+ .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1309
+
1310
+ .md\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1311
+ .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1312
+ .md\:text-base { font-size: 1rem; line-height: 1.5rem; }
1313
+ .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1314
+ .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1315
+ .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1316
+ .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
1317
+
1318
+ .md\:m-0 { margin: var(--space-0); }
1319
+ .md\:m-1 { margin: var(--space-1); }
1320
+ .md\:m-2 { margin: var(--space-2); }
1321
+ .md\:m-3 { margin: var(--space-3); }
1322
+ .md\:m-4 { margin: var(--space-4); }
1323
+ .md\:m-6 { margin: var(--space-6); }
1324
+ .md\:m-8 { margin: var(--space-8); }
1325
+ .md\:m-12 { margin: var(--space-12); }
1326
+ .md\:mx-auto { margin-left: auto; margin-right: auto; }
1327
+
1328
+ .md\:p-0 { padding: var(--space-0); }
1329
+ .md\:p-1 { padding: var(--space-1); }
1330
+ .md\:p-2 { padding: var(--space-2); }
1331
+ .md\:p-3 { padding: var(--space-3); }
1332
+ .md\:p-4 { padding: var(--space-4); }
1333
+ .md\:p-6 { padding: var(--space-6); }
1334
+ .md\:p-8 { padding: var(--space-8); }
1335
+ .md\:p-12 { padding: var(--space-12); }
1336
+
1337
+ .md\:w-full { width: 100%; }
1338
+ .md\:w-auto { width: auto; }
1339
+ .md\:w-1\/2 { width: 50%; }
1340
+ .md\:w-1\/3 { width: 33.333333%; }
1341
+ .md\:w-2\/3 { width: 66.666667%; }
1342
+ .md\:w-1\/4 { width: 25%; }
1343
+ .md\:w-3\/4 { width: 75%; }
1344
+
1345
+ .md\:h-full { height: 100%; }
1346
+ .md\:h-auto { height: auto; }
1347
+ .md\:h-screen { height: 100vh; }
1348
+ }
1349
+
1350
+ @media (--lg) {
1351
+ .lg\:block { display: block; }
1352
+ .lg\:inline-block { display: inline-block; }
1353
+ .lg\:inline { display: inline; }
1354
+ .lg\:flex { display: flex; }
1355
+ .lg\:grid { display: grid; }
1356
+ .lg\:hidden { display: none; }
1357
+
1358
+ .lg\:flex-row { flex-direction: row; }
1359
+ .lg\:flex-col { flex-direction: column; }
1360
+
1361
+ .lg\:items-start { align-items: flex-start; }
1362
+ .lg\:items-center { align-items: center; }
1363
+ .lg\:items-end { align-items: flex-end; }
1364
+ .lg\:items-stretch { align-items: stretch; }
1365
+
1366
+ .lg\:justify-start { justify-content: flex-start; }
1367
+ .lg\:justify-center { justify-content: center; }
1368
+ .lg\:justify-end { justify-content: flex-end; }
1369
+ .lg\:justify-between { justify-content: space-between; }
1370
+ .lg\:justify-around { justify-content: space-around; }
1371
+
1372
+ .lg\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1373
+ .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1374
+ .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1375
+ .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1376
+ .lg\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
1377
+ .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
1378
+
1379
+ .lg\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1380
+ .lg\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1381
+ .lg\:text-base { font-size: 1rem; line-height: 1.5rem; }
1382
+ .lg\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1383
+ .lg\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1384
+ .lg\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1385
+ .lg\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
1386
+ .lg\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
1387
+
1388
+ .lg\:m-0 { margin: var(--space-0); }
1389
+ .lg\:m-1 { margin: var(--space-1); }
1390
+ .lg\:m-2 { margin: var(--space-2); }
1391
+ .lg\:m-3 { margin: var(--space-3); }
1392
+ .lg\:m-4 { margin: var(--space-4); }
1393
+ .lg\:m-6 { margin: var(--space-6); }
1394
+ .lg\:m-8 { margin: var(--space-8); }
1395
+ .lg\:m-12 { margin: var(--space-12); }
1396
+ .lg\:m-16 { margin: var(--space-16); }
1397
+ .lg\:mx-auto { margin-left: auto; margin-right: auto; }
1398
+
1399
+ .lg\:p-0 { padding: var(--space-0); }
1400
+ .lg\:p-1 { padding: var(--space-1); }
1401
+ .lg\:p-2 { padding: var(--space-2); }
1402
+ .lg\:p-3 { padding: var(--space-3); }
1403
+ .lg\:p-4 { padding: var(--space-4); }
1404
+ .lg\:p-6 { padding: var(--space-6); }
1405
+ .lg\:p-8 { padding: var(--space-8); }
1406
+ .lg\:p-12 { padding: var(--space-12); }
1407
+ .lg\:p-16 { padding: var(--space-16); }
1408
+
1409
+ .lg\:w-full { width: 100%; }
1410
+ .lg\:w-auto { width: auto; }
1411
+ .lg\:w-1\/2 { width: 50%; }
1412
+ .lg\:w-1\/3 { width: 33.333333%; }
1413
+ .lg\:w-2\/3 { width: 66.666667%; }
1414
+ .lg\:w-1\/4 { width: 25%; }
1415
+ .lg\:w-3\/4 { width: 75%; }
1416
+ .lg\:w-1\/5 { width: 20%; }
1417
+ .lg\:w-2\/5 { width: 40%; }
1418
+ .lg\:w-3\/5 { width: 60%; }
1419
+ .lg\:w-4\/5 { width: 80%; }
1420
+
1421
+ .lg\:h-full { height: 100%; }
1422
+ .lg\:h-auto { height: auto; }
1423
+ .lg\:h-screen { height: 100vh; }
1424
+ }
1425
+
1426
+ @media (--xl) {
1427
+ .xl\:block { display: block; }
1428
+ .xl\:inline-block { display: inline-block; }
1429
+ .xl\:inline { display: inline; }
1430
+ .xl\:flex { display: flex; }
1431
+ .xl\:grid { display: grid; }
1432
+ .xl\:hidden { display: none; }
1433
+
1434
+ .xl\:flex-row { flex-direction: row; }
1435
+ .xl\:flex-col { flex-direction: column; }
1436
+
1437
+ .xl\:items-start { align-items: flex-start; }
1438
+ .xl\:items-center { align-items: center; }
1439
+ .xl\:items-end { align-items: flex-end; }
1440
+ .xl\:items-stretch { align-items: stretch; }
1441
+
1442
+ .xl\:justify-start { justify-content: flex-start; }
1443
+ .xl\:justify-center { justify-content: center; }
1444
+ .xl\:justify-end { justify-content: flex-end; }
1445
+ .xl\:justify-between { justify-content: space-between; }
1446
+ .xl\:justify-around { justify-content: space-around; }
1447
+ .xl\:justify-evenly { justify-content: space-evenly; }
1448
+
1449
+ .xl\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1450
+ .xl\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1451
+ .xl\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1452
+ .xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1453
+ .xl\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
1454
+ .xl\:grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
1455
+ .xl\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
1456
+
1457
+ .xl\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1458
+ .xl\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1459
+ .xl\:text-base { font-size: 1rem; line-height: 1.5rem; }
1460
+ .xl\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1461
+ .xl\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1462
+ .xl\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1463
+ .xl\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
1464
+ .xl\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
1465
+ .xl\:text-5xl { font-size: 3rem; line-height: 1; }
1466
+
1467
+ .xl\:m-0 { margin: var(--space-0); }
1468
+ .xl\:m-1 { margin: var(--space-1); }
1469
+ .xl\:m-2 { margin: var(--space-2); }
1470
+ .xl\:m-3 { margin: var(--space-3); }
1471
+ .xl\:m-4 { margin: var(--space-4); }
1472
+ .xl\:m-6 { margin: var(--space-6); }
1473
+ .xl\:m-8 { margin: var(--space-8); }
1474
+ .xl\:m-12 { margin: var(--space-12); }
1475
+ .xl\:m-16 { margin: var(--space-16); }
1476
+ .xl\:m-20 { margin: var(--space-20); }
1477
+ .xl\:mx-auto { margin-left: auto; margin-right: auto; }
1478
+
1479
+ .xl\:p-0 { padding: var(--space-0); }
1480
+ .xl\:p-1 { padding: var(--space-1); }
1481
+ .xl\:p-2 { padding: var(--space-2); }
1482
+ .xl\:p-3 { padding: var(--space-3); }
1483
+ .xl\:p-4 { padding: var(--space-4); }
1484
+ .xl\:p-6 { padding: var(--space-6); }
1485
+ .xl\:p-8 { padding: var(--space-8); }
1486
+ .xl\:p-12 { padding: var(--space-12); }
1487
+ .xl\:p-16 { padding: var(--space-16); }
1488
+ .xl\:p-20 { padding: var(--space-20); }
1489
+
1490
+ .xl\:w-full { width: 100%; }
1491
+ .xl\:w-auto { width: auto; }
1492
+ .xl\:w-1\/2 { width: 50%; }
1493
+ .xl\:w-1\/3 { width: 33.333333%; }
1494
+ .xl\:w-2\/3 { width: 66.666667%; }
1495
+ .xl\:w-1\/4 { width: 25%; }
1496
+ .xl\:w-3\/4 { width: 75%; }
1497
+ .xl\:w-1\/5 { width: 20%; }
1498
+ .xl\:w-2\/5 { width: 40%; }
1499
+ .xl\:w-3\/5 { width: 60%; }
1500
+ .xl\:w-4\/5 { width: 80%; }
1501
+
1502
+ .xl\:h-full { height: 100%; }
1503
+ .xl\:h-auto { height: auto; }
1504
+ .xl\:h-screen { height: 100vh; }
1505
+ }
1506
+
1507
+ /* Landscape/Portrait Orientation Utilities */
1508
+ @media (orientation: landscape) {
1509
+ .landscape\:flex-row { flex-direction: row; }
1510
+ .landscape\:hidden { display: none; }
1511
+ }
1512
+
1513
+ @media (orientation: portrait) {
1514
+ .portrait\:flex-col { flex-direction: column; }
1515
+ .portrait\:hidden { display: none; }
1516
+ }
1517
+
1518
+ /* High DPI Display Utilities */
1519
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
1520
+ .retina\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1521
+ .retina\:border { border-width: 0.5px; }
1522
+ }
1523
+
1524
+ /* Reduced Motion Support */
1525
+ @media (prefers-reduced-motion: reduce) {
1526
+ .motion-reduce\:transition-none {
1527
+ transition-property: none;
1528
+ }
1529
+ }
1530
+
1531
+ /* Dark Mode Utilities */
1532
+ @media (prefers-color-scheme: dark) {
1533
+ .dark\:text-white { color: #ffffff; }
1534
+ .dark\:text-gray-200 { color: #e5e7eb; }
1535
+ .dark\:text-gray-300 { color: #d1d5db; }
1536
+ .dark\:bg-gray-900 { background-color: #111827; }
1537
+ .dark\:bg-gray-800 { background-color: #1f2937; }
1538
+ .dark\:bg-gray-700 { background-color: #374151; }
1539
+ .dark\:border-gray-700 { border-color: #374151; }
1540
+ .dark\:border-gray-600 { border-color: #4b5563; }
1541
+ }
1542
+
1543
+ /* Light Mode Utilities */
1544
+ @media (prefers-color-scheme: light) {
1545
+ .light\:text-black { color: #000000; }
1546
+ .light\:text-gray-800 { color: #1f2937; }
1547
+ .light\:text-gray-700 { color: #374151; }
1548
+ .light\:bg-white { background-color: #ffffff; }
1549
+ .light\:bg-gray-50 { background-color: #f9fafb; }
1550
+ .light\:bg-gray-100 { background-color: #f3f4f6; }
1551
+ .light\:border-gray-300 { border-color: #d1d5db; }
1552
+ .light\:border-gray-200 { border-color: #e5e7eb; }
1553
+ }
1554
+ /*!
1555
+ * QuantumCSS Component Utilities & Variants
1556
+ * Advanced component patterns, states, and interactive utilities
1557
+ */
1558
+
1559
+ /* Hover State Utilities */
1560
+ .hover\:text-primary:hover { color: var(--color-primary); }
1561
+ .hover\:text-secondary:hover { color: var(--color-secondary); }
1562
+ .hover\:text-white:hover { color: #ffffff; }
1563
+ .hover\:text-black:hover { color: #000000; }
1564
+
1565
+ .hover\:bg-primary:hover { background-color: var(--color-primary); }
1566
+ .hover\:bg-secondary:hover { background-color: var(--color-secondary); }
1567
+ .hover\:bg-gray-100:hover { background-color: #f3f4f6; }
1568
+ .hover\:bg-gray-200:hover { background-color: #e5e7eb; }
1569
+
1570
+ .hover\:border-primary:hover { border-color: var(--color-primary); }
1571
+ .hover\:border-secondary:hover { border-color: var(--color-secondary); }
1572
+
1573
+ .hover\:shadow-lg:hover { box-shadow: var(--shadow-lg); }
1574
+ .hover\:shadow-xl:hover { box-shadow: var(--shadow-xl); }
1575
+
1576
+ .hover\:scale-105:hover { transform: scale(1.05); }
1577
+ .hover\:scale-110:hover { transform: scale(1.1); }
1578
+ .hover\:scale-95:hover { transform: scale(0.95); }
1579
+
1580
+ .hover\:rotate-90:hover { transform: rotate(90deg); }
1581
+ .hover\:rotate-180:hover { transform: rotate(180deg); }
1582
+
1583
+ .hover\:opacity-75:hover { opacity: 0.75; }
1584
+ .hover\:opacity-50:hover { opacity: 0.5; }
1585
+ .hover\:opacity-100:hover { opacity: 1; }
1586
+
1587
+ /* Focus State Utilities */
1588
+ .focus\:outline-none:focus { outline: none; }
1589
+ .focus\:outline:focus { outline: 2px solid; outline-offset: 2px; }
1590
+ .focus\:outline-primary:focus { outline-color: var(--color-primary); }
1591
+ .focus\:outline-secondary:focus { outline-color: var(--color-secondary); }
1592
+
1593
+ .focus\:ring:focus { box-shadow: 0 0 0 3px; }
1594
+ .focus\:ring-primary:focus { box-shadow: 0 0 0 3px var(--color-primary); }
1595
+ .focus\:ring-secondary:focus { box-shadow: 0 0 0 3px var(--color-secondary); }
1596
+
1597
+ .focus\:border-primary:focus { border-color: var(--color-primary); }
1598
+ .focus\:border-secondary:focus { border-color: var(--color-secondary); }
1599
+
1600
+ /* Active State Utilities */
1601
+ .active\:scale-95:active { transform: scale(0.95); }
1602
+ .active\:scale-90:active { transform: scale(0.9); }
1603
+
1604
+ .active\:bg-primary:active { background-color: var(--color-primary); }
1605
+ .active\:bg-secondary:active { background-color: var(--color-secondary); }
1606
+
1607
+ /* Disabled State Utilities */
1608
+ .disabled\:opacity-50:disabled { opacity: 0.5; }
1609
+ .disabled\:opacity-75:disabled { opacity: 0.75; }
1610
+ .disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
1611
+ .disabled\:pointer-events-none:disabled { pointer-events: none; }
1612
+
1613
+ /* Group Hover Utilities */
1614
+ .group:hover .group-hover\:text-primary { color: var(--color-primary); }
1615
+ .group:hover .group-hover\:text-white { color: #ffffff; }
1616
+
1617
+ .group:hover .group-hover\:bg-primary { background-color: var(--color-primary); }
1618
+ .group:hover .group-hover\:bg-secondary { background-color: var(--color-secondary); }
1619
+
1620
+ .group:hover .group-hover\:opacity-100 { opacity: 1; }
1621
+ .group:hover .group-hover\:scale-110 { transform: scale(1.1); }
1622
+
1623
+ /* Component-Specific Utilities */
1624
+
1625
+ /* Button Variants */
1626
+ .btn {
1627
+ display: inline-flex;
1628
+ align-items: center;
1629
+ justify-content: center;
1630
+ padding: var(--space-2) var(--space-4);
1631
+ border-radius: var(--radius-md);
1632
+ font-weight: 500;
1633
+ transition: all var(--duration-150) var(--ease-in-out);
1634
+ cursor: pointer;
1635
+ border: 1px solid transparent;
1636
+ text-decoration: none;
1637
+ font-family: inherit;
1638
+ }
1639
+
1640
+ .btn:disabled {
1641
+ opacity: 0.5;
1642
+ cursor: not-allowed;
1643
+ pointer-events: none;
1644
+ }
1645
+
1646
+ .btn-primary {
1647
+ background-color: var(--color-primary);
1648
+ color: white;
1649
+ border-color: var(--color-primary);
1650
+ }
1651
+
1652
+ .btn-primary:hover {
1653
+ background-color: var(--color-primary-600);
1654
+ border-color: var(--color-primary-600);
1655
+ }
1656
+
1657
+ .btn-secondary {
1658
+ background-color: rgba(255, 255, 255, 0.05);
1659
+ color: white;
1660
+ border: 1px solid rgba(255, 255, 255, 0.1);
1661
+ backdrop-filter: blur(12px);
1662
+ -webkit-backdrop-filter: blur(12px);
1663
+ }
1664
+
1665
+ .btn-secondary:hover {
1666
+ background-color: rgba(255, 255, 255, 0.1);
1667
+ }
1668
+
1669
+ body.light-mode .btn-secondary {
1670
+ background-color: rgba(0, 0, 0, 0.03);
1671
+ color: #1e293b;
1672
+ border-color: rgba(0, 0, 0, 0.1);
1673
+ }
1674
+
1675
+ .btn-outline {
1676
+ background-color: transparent;
1677
+ color: var(--color-primary);
1678
+ border-color: var(--color-primary);
1679
+ }
1680
+
1681
+ .btn-outline:hover {
1682
+ background-color: var(--color-primary);
1683
+ color: white;
1684
+ }
1685
+
1686
+ .btn-ghost {
1687
+ background-color: transparent;
1688
+ color: var(--color-primary);
1689
+ border-color: transparent;
1690
+ }
1691
+
1692
+ .btn-ghost:hover {
1693
+ background-color: var(--color-primary-100);
1694
+ }
1695
+
1696
+ .btn-sm {
1697
+ padding: var(--space-1) var(--space-3);
1698
+ font-size: 0.875rem;
1699
+ }
1700
+
1701
+ .btn-lg {
1702
+ padding: var(--space-3) var(--space-6);
1703
+ font-size: 1.125rem;
1704
+ }
1705
+
1706
+ .btn-xl {
1707
+ padding: var(--space-4) var(--space-8);
1708
+ font-size: 1.25rem;
1709
+ }
1710
+
1711
+ /* Card Component */
1712
+ .card {
1713
+ background-color: white;
1714
+ border-radius: var(--radius-lg);
1715
+ box-shadow: var(--shadow-md);
1716
+ overflow: hidden;
1717
+ transition: all var(--duration-200) var(--ease-in-out);
1718
+ }
1719
+
1720
+ .card:hover {
1721
+ box-shadow: var(--shadow-lg);
1722
+ transform: translateY(-2px);
1723
+ }
1724
+
1725
+ .card-header {
1726
+ padding: var(--space-6);
1727
+ border-bottom: 1px solid #e5e7eb;
1728
+ }
1729
+
1730
+ .card-body {
1731
+ padding: var(--space-6);
1732
+ }
1733
+
1734
+ .card-footer {
1735
+ padding: var(--space-6);
1736
+ border-top: 1px solid #e5e7eb;
1737
+ background-color: #f9fafb;
1738
+ }
1739
+
1740
+ /* Input Component */
1741
+ .input {
1742
+ display: block;
1743
+ width: 100%;
1744
+ padding: var(--space-2) var(--space-3);
1745
+ border: 1px solid #d1d5db;
1746
+ border-radius: var(--radius-md);
1747
+ background-color: white;
1748
+ font-size: 1rem;
1749
+ transition: all var(--duration-150) var(--ease-in-out);
1750
+ }
1751
+
1752
+ textarea.input {
1753
+ min-height: 100px;
1754
+ }
1755
+
1756
+ .input:focus {
1757
+ outline: none;
1758
+ border-color: var(--color-primary);
1759
+ box-shadow: 0 0 0 3px var(--color-primary);
1760
+ }
1761
+
1762
+ /* Date & Time Input Specifics */
1763
+ input[type="date"].input,
1764
+ input[type="datetime-local"].input,
1765
+ input[type="time"].input {
1766
+ appearance: none;
1767
+ -webkit-appearance: none;
1768
+ min-height: 2.5rem;
1769
+ display: inline-flex;
1770
+ align-items: center;
1771
+ }
1772
+
1773
+ /* Ensure dark-mode calendar picker */
1774
+ .glass input[type="date"],
1775
+ .starlight-card input[type="date"],
1776
+ [class*="dark"] input[type="date"] {
1777
+ color-scheme: dark;
1778
+ }
1779
+
1780
+ /* Fix for alignment in flex containers */
1781
+ input[type="date"]::-webkit-calendar-picker-indicator {
1782
+ cursor: pointer;
1783
+ filter: invert(0.5);
1784
+ margin-left: 0.5rem;
1785
+ }
1786
+
1787
+ .input:disabled {
1788
+ background-color: #f3f4f6;
1789
+ color: #6b7280;
1790
+ cursor: not-allowed;
1791
+ }
1792
+
1793
+ .input-error {
1794
+ border-color: var(--color-error);
1795
+ }
1796
+
1797
+ .input-error:focus {
1798
+ border-color: var(--color-error);
1799
+ box-shadow: 0 0 0 3px var(--color-error);
1800
+ }
1801
+
1802
+ /* Badge Component */
1803
+ .badge {
1804
+ display: inline-flex;
1805
+ align-items: center;
1806
+ padding: 0.25rem 0.75rem;
1807
+ border-radius: 0.375rem;
1808
+ font-size: 0.75rem;
1809
+ font-weight: 600;
1810
+ text-transform: uppercase;
1811
+ letter-spacing: 0.05em;
1812
+ border: 1px solid;
1813
+ backdrop-filter: blur(4px);
1814
+ -webkit-backdrop-filter: blur(4px);
1815
+ }
1816
+
1817
+ .badge-primary {
1818
+ background-color: rgba(0, 212, 255, 0.15);
1819
+ color: #00d4ff;
1820
+ border-color: rgba(0, 212, 255, 0.3);
1821
+ }
1822
+
1823
+ .badge-secondary {
1824
+ background-color: rgba(255, 255, 255, 0.05);
1825
+ color: rgba(255, 255, 255, 0.8);
1826
+ border-color: rgba(255, 255, 255, 0.1);
1827
+ }
1828
+
1829
+ .badge-success {
1830
+ background-color: rgba(16, 185, 129, 0.15);
1831
+ color: #10b981;
1832
+ border-color: rgba(16, 185, 129, 0.3);
1833
+ }
1834
+
1835
+ .badge-warning {
1836
+ background-color: rgba(245, 158, 11, 0.15);
1837
+ color: #f59e0b;
1838
+ border-color: rgba(245, 158, 11, 0.3);
1839
+ }
1840
+
1841
+ .badge-error {
1842
+ background-color: rgba(239, 68, 68, 0.15);
1843
+ color: #ef4444;
1844
+ border-color: rgba(239, 68, 68, 0.3);
1845
+ }
1846
+
1847
+ /* Light Mode Overrides for Badges */
1848
+ body.light-mode .badge-primary {
1849
+ background-color: rgba(59, 130, 246, 0.1);
1850
+ color: #2563eb;
1851
+ border-color: rgba(59, 130, 246, 0.2);
1852
+ }
1853
+
1854
+ body.light-mode .badge-secondary {
1855
+ background-color: rgba(0, 0, 0, 0.05);
1856
+ color: #475569;
1857
+ border-color: rgba(0, 0, 0, 0.1);
1858
+ }
1859
+
1860
+ body.light-mode .badge-success {
1861
+ background-color: rgba(16, 185, 129, 0.1);
1862
+ color: #059669;
1863
+ border-color: rgba(16, 185, 129, 0.2);
1864
+ }
1865
+
1866
+ body.light-mode .badge-warning {
1867
+ background-color: rgba(245, 158, 11, 0.1);
1868
+ color: #d97706;
1869
+ border-color: rgba(245, 158, 11, 0.2);
1870
+ }
1871
+
1872
+ body.light-mode .badge-error {
1873
+ background-color: rgba(239, 68, 68, 0.1);
1874
+ color: #dc2626;
1875
+ border-color: rgba(239, 68, 68, 0.2);
1876
+ }
1877
+
1878
+ /* Alert Component */
1879
+ .alert {
1880
+ padding: var(--space-4);
1881
+ border-radius: var(--radius-md);
1882
+ border: 1px solid;
1883
+ }
1884
+
1885
+ .alert-success {
1886
+ background-color: #d1fae5;
1887
+ border-color: #6ee7b7;
1888
+ color: #065f46;
1889
+ }
1890
+
1891
+ .alert-warning {
1892
+ background-color: #fed7aa;
1893
+ border-color: #fbbf24;
1894
+ color: #92400e;
1895
+ }
1896
+
1897
+ .alert-error {
1898
+ background-color: #fee2e2;
1899
+ border-color: #f87171;
1900
+ color: #991b1b;
1901
+ }
1902
+
1903
+ .alert-info {
1904
+ background-color: #dbeafe;
1905
+ border-color: #60a5fa;
1906
+ color: #1e40af;
1907
+ }
1908
+
1909
+ /* Modal Component */
1910
+ .modal-overlay {
1911
+ position: fixed;
1912
+ inset: 0;
1913
+ background-color: rgba(0, 0, 0, 0.5);
1914
+ display: flex;
1915
+ align-items: center;
1916
+ justify-content: center;
1917
+ z-index: 50;
1918
+ }
1919
+
1920
+ .modal-content {
1921
+ background-color: white;
1922
+ border-radius: var(--radius-lg);
1923
+ box-shadow: var(--shadow-2xl);
1924
+ max-width: 90vw;
1925
+ max-height: 90vh;
1926
+ overflow-y: auto;
1927
+ }
1928
+
1929
+ /* Loading Spinner */
1930
+ .spinner {
1931
+ display: inline-block;
1932
+ width: 1.5rem;
1933
+ height: 1.5rem;
1934
+ border: 2px solid rgba(255, 255, 255, 0.1);
1935
+ border-top-color: var(--color-primary);
1936
+ border-radius: 50%;
1937
+ animation: spin 1s linear infinite;
1938
+ }
1939
+
1940
+ @keyframes spin {
1941
+ to { transform: rotate(360deg); }
1942
+ }
1943
+
1944
+ /* Skeleton Loading */
1945
+ .skeleton {
1946
+ 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%);
1947
+ background-size: 200% 100%;
1948
+ animation: shimmer 2s infinite;
1949
+ border-radius: var(--radius-md);
1950
+ }
1951
+
1952
+ @keyframes shimmer {
1953
+ 0% { background-position: 200% 0; }
1954
+ 100% { background-position: -200% 0; }
1955
+ }
1956
+
1957
+ body.light-mode .skeleton {
1958
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
1959
+ background-size: 200% 100%;
1960
+ }
1961
+
1962
+ /* Tooltip Component */
1963
+ .tooltip {
1964
+ position: relative;
1965
+ }
1966
+
1967
+ .tooltip-content {
1968
+ position: absolute;
1969
+ bottom: 100%;
1970
+ left: 50%;
1971
+ transform: translateX(-50%);
1972
+ background-color: #1f2937;
1973
+ color: white;
1974
+ padding: var(--space-1) var(--space-2);
1975
+ border-radius: var(--radius-md);
1976
+ font-size: 0.875rem;
1977
+ white-space: nowrap;
1978
+ opacity: 0;
1979
+ visibility: hidden;
1980
+ transition: all var(--duration-150) var(--ease-in-out);
1981
+ z-index: 10;
1982
+ margin-bottom: var(--space-1);
1983
+ }
1984
+
1985
+ .tooltip:hover .tooltip-content {
1986
+ opacity: 1;
1987
+ visibility: visible;
1988
+ }
1989
+
1990
+ /* Dropdown Component */
1991
+ .dropdown {
1992
+ position: relative;
1993
+ display: inline-block;
1994
+ }
1995
+
1996
+ .dropdown-content {
1997
+ position: absolute;
1998
+ top: 100%;
1999
+ left: 0;
2000
+ background-color: white;
2001
+ border: 1px solid #e5e7eb;
2002
+ border-radius: var(--radius-md);
2003
+ box-shadow: var(--shadow-lg);
2004
+ min-width: 200px;
2005
+ z-index: 20;
2006
+ opacity: 0;
2007
+ visibility: hidden;
2008
+ transform: translateY(-10px);
2009
+ transition: all var(--duration-150) var(--ease-in-out);
2010
+ }
2011
+
2012
+ .dropdown.active .dropdown-content {
2013
+ opacity: 1;
2014
+ visibility: visible;
2015
+ transform: translateY(0);
2016
+ }
2017
+
2018
+ .dropdown-item {
2019
+ display: block;
2020
+ width: 100%;
2021
+ padding: var(--space-2) var(--space-3);
2022
+ text-align: left;
2023
+ background: none;
2024
+ border: none;
2025
+ cursor: pointer;
2026
+ transition: background-color var(--duration-150) var(--ease-in-out);
2027
+ }
2028
+
2029
+ .dropdown-item:hover {
2030
+ background-color: #f3f4f6;
2031
+ }
2032
+
2033
+ /* Accordion Component */
2034
+ .accordion-item {
2035
+ border: 1px solid #e5e7eb;
2036
+ border-radius: var(--radius-md);
2037
+ margin-bottom: var(--space-2);
2038
+ overflow: hidden;
2039
+ }
2040
+
2041
+ .accordion-header {
2042
+ padding: var(--space-4);
2043
+ background-color: #f9fafb;
2044
+ cursor: pointer;
2045
+ display: flex;
2046
+ justify-content: space-between;
2047
+ align-items: center;
2048
+ transition: background-color var(--duration-150) var(--ease-in-out);
2049
+ }
2050
+
2051
+ .accordion-header:hover {
2052
+ background-color: #f3f4f6;
2053
+ }
2054
+
2055
+ .accordion-content {
2056
+ padding: var(--space-4);
2057
+ background-color: white;
2058
+ max-height: 0;
2059
+ overflow: hidden;
2060
+ transition: max-height var(--duration-300) var(--ease-in-out);
2061
+ }
2062
+
2063
+ .accordion-item.active .accordion-content {
2064
+ max-height: 500px;
2065
+ }
2066
+
2067
+ .accordion-item.active .accordion-icon {
2068
+ transform: rotate(180deg);
2069
+ }
2070
+
2071
+ .accordion-icon {
2072
+ transition: transform var(--duration-300) var(--ease-in-out);
2073
+ }
2074
+
2075
+ /* Tab Component */
2076
+ .tab-list {
2077
+ display: flex;
2078
+ border-bottom: 1px solid #e5e7eb;
2079
+ }
2080
+
2081
+ .tab-button {
2082
+ padding: var(--space-2) var(--space-4);
2083
+ background: none;
2084
+ border: none;
2085
+ cursor: pointer;
2086
+ border-bottom: 2px solid transparent;
2087
+ transition: all var(--duration-150) var(--ease-in-out);
2088
+ }
2089
+
2090
+ .tab-button:hover {
2091
+ background-color: #f3f4f6;
2092
+ }
2093
+
2094
+ .tab-button.active {
2095
+ border-bottom-color: var(--color-primary);
2096
+ color: var(--color-primary);
2097
+ }
2098
+
2099
+ .tab-content {
2100
+ padding: var(--space-4);
2101
+ }
2102
+
2103
+ .tab-panel {
2104
+ display: none;
2105
+ }
2106
+
2107
+ .tab-panel.active {
2108
+ display: block;
2109
+ }
2110
+
2111
+ /* Progress Component */
2112
+ .progress {
2113
+ width: 100%;
2114
+ height: 0.5rem;
2115
+ background-color: #e5e7eb;
2116
+ border-radius: var(--radius-full);
2117
+ overflow: hidden;
2118
+ }
2119
+
2120
+ .progress-bar {
2121
+ height: 100%;
2122
+ background-color: var(--color-primary);
2123
+ transition: width var(--duration-300) var(--ease-in-out);
2124
+ }
2125
+
2126
+ /* Toggle Switch */
2127
+ .toggle {
2128
+ position: relative;
2129
+ display: inline-block;
2130
+ width: 3rem;
2131
+ height: 1.5rem;
2132
+ }
2133
+
2134
+ .toggle-input {
2135
+ opacity: 0;
2136
+ width: 0;
2137
+ height: 0;
2138
+ }
2139
+
2140
+ .toggle-slider {
2141
+ position: absolute;
2142
+ cursor: pointer;
2143
+ inset: 0;
2144
+ background-color: #cbd5e1;
2145
+ transition: background-color var(--duration-150) var(--ease-in-out);
2146
+ border-radius: var(--radius-full);
2147
+ }
2148
+
2149
+ .toggle-slider:before {
2150
+ position: absolute;
2151
+ content: "";
2152
+ height: 1.25rem;
2153
+ width: 1.25rem;
2154
+ left: 0.125rem;
2155
+ bottom: 0.125rem;
2156
+ background-color: white;
2157
+ transition: transform var(--duration-150) var(--ease-in-out);
2158
+ border-radius: 50%;
2159
+ }
2160
+
2161
+ .toggle-input:checked + .toggle-slider {
2162
+ background-color: var(--color-primary);
2163
+ }
2164
+
2165
+ .toggle-input:checked + .toggle-slider:before {
2166
+ transform: translateX(1.5rem);
2167
+ }
2168
+
2169
+ /* Animation Utilities */
2170
+ .animate-pulse {
2171
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
2172
+ }
2173
+
2174
+ @keyframes pulse {
2175
+ 0%, 100% { opacity: 1; }
2176
+ 50% { opacity: 0.5; }
2177
+ }
2178
+
2179
+ .animate-bounce {
2180
+ animation: bounce 1s infinite;
2181
+ }
2182
+
2183
+ @keyframes bounce {
2184
+ 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
2185
+ 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
2186
+ }
2187
+
2188
+ .animate-fade-in {
2189
+ animation: fadeIn var(--duration-500) var(--ease-in-out);
2190
+ }
2191
+
2192
+ @keyframes fadeIn {
2193
+ from { opacity: 0; }
2194
+ to { opacity: 1; }
2195
+ }
2196
+
2197
+ .animate-slide-up {
2198
+ animation: slideUp var(--duration-300) var(--ease-out);
2199
+ }
2200
+
2201
+ @keyframes slideUp {
2202
+ from { transform: translateY(20px); opacity: 0; }
2203
+ to { transform: translateY(0); opacity: 1; }
2204
+ }
2205
+
2206
+ .animate-slide-down {
2207
+ animation: slideDown var(--duration-300) var(--ease-out);
2208
+ }
2209
+
2210
+ @keyframes slideDown {
2211
+ from { transform: translateY(-20px); opacity: 0; }
2212
+ to { transform: translateY(0); opacity: 1; }
2213
+ }
2214
+ /* Cosmic Animation Library */
2215
+
2216
+ @keyframes nebula-drift {
2217
+ 0% { transform: translate(-5%, -5%) scale(1); opacity: 0.4; }
2218
+ 50% { transform: translate(5%, 5%) scale(1.2); opacity: 0.7; }
2219
+ 100% { transform: translate(-5%, -5%) scale(1); opacity: 0.4; }
2220
+ }
2221
+
2222
+ @keyframes cosmic-pulse {
2223
+ 0%, 100% { box-shadow: 0 0 20px rgba(0, 212, 255, 0.2), 0 0 40px rgba(0, 212, 255, 0.1); }
2224
+ 50% { box-shadow: 0 0 40px rgba(0, 212, 255, 0.5), 0 0 80px rgba(0, 212, 255, 0.2); }
2225
+ }
2226
+
2227
+ @keyframes star-twinkle {
2228
+ 0%, 100% { opacity: 0.3; transform: scale(0.8); }
2229
+ 50% { opacity: 1; transform: scale(1.2); }
2230
+ }
2231
+
2232
+ @keyframes orbit {
2233
+ from { transform: rotate(0deg) translateX(20px) rotate(0deg); }
2234
+ to { transform: rotate(360deg) translateX(20px) rotate(-360deg); }
2235
+ }
2236
+
2237
+ @keyframes svg-draw {
2238
+ from { stroke-dashoffset: 1000; }
2239
+ to { stroke-dashoffset: 0; }
2240
+ }
2241
+
2242
+ @keyframes float-y {
2243
+ 0%, 100% { transform: translateY(0); }
2244
+ 50% { transform: translateY(-20px); }
2245
+ }
2246
+
2247
+ /* Animation Classes */
2248
+
2249
+ .ani-nebula {
2250
+ animation: nebula-drift 20s ease-in-out infinite;
2251
+ will-change: transform, opacity;
2252
+ }
2253
+
2254
+ .ani-cosmic-pulse {
2255
+ animation: cosmic-pulse 4s ease-in-out infinite;
2256
+ }
2257
+
2258
+ .ani-twinkle {
2259
+ animation: star-twinkle var(--twinkle-duration, 3s) ease-in-out infinite;
2260
+ }
2261
+
2262
+ .ani-orbit {
2263
+ animation: orbit var(--orbit-duration, 10s) linear infinite;
2264
+ }
2265
+
2266
+ .ani-svg-draw {
2267
+ stroke-dasharray: 1000;
2268
+ stroke-dashoffset: 1000;
2269
+ animation: svg-draw 3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
2270
+ }
2271
+
2272
+ .ani-float {
2273
+ animation: float-y 6s ease-in-out infinite;
2274
+ }
2275
+
2276
+ /* Staggered Animations */
2277
+ .ani-stagger-1 { animation-delay: 0.1s; }
2278
+ .ani-stagger-2 { animation-delay: 0.2s; }
2279
+ .ani-stagger-3 { animation-delay: 0.3s; }
2280
+ .ani-stagger-4 { animation-delay: 0.4s; }
2281
+ .ani-stagger-5 { animation-delay: 0.5s; }
2282
+
2283
+ /* Speed Modifiers */
2284
+ .ani-fast { animation-duration: 0.5s !important; }
2285
+ .ani-slow { animation-duration: 8s !important; }
2286
+ .ani-slower { animation-duration: 15s !important; }
2287
+
2288
+ /* Starlight UI - Premium Components */
2289
+
2290
+ /* 0. Layout Helpers */
2291
+ .container {
2292
+ max-width: 1100px;
2293
+ margin: 0 auto;
2294
+ padding: 0 var(--space-8);
2295
+ }
2296
+
2297
+ .grid-3 {
2298
+ display: grid;
2299
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
2300
+ gap: var(--space-8);
2301
+ }
2302
+
2303
+ /* Links */
2304
+ a {
2305
+ color: var(--color-starlight-blue);
2306
+ text-decoration: none;
2307
+ transition: all var(--transition-base);
2308
+ position: relative;
2309
+ }
2310
+
2311
+ a:hover {
2312
+ color: var(--color-starlight-peach);
2313
+ text-shadow: 0 0 8px rgba(255, 179, 138, 0.4);
2314
+ }
2315
+
2316
+ a:active {
2317
+ transform: scale(0.98);
2318
+ }
2319
+
2320
+ body.light-mode a {
2321
+ color: #2563eb;
2322
+ }
2323
+
2324
+ body.light-mode a:hover {
2325
+ color: #1d4ed8;
2326
+ }
2327
+
2328
+ /* 1. Starlight Card */
2329
+ .starlight-card {
2330
+ background: var(--glass-bg);
2331
+ border: 1px solid var(--glass-border);
2332
+ border-radius: var(--radius-2xl);
2333
+ padding: var(--space-10);
2334
+ backdrop-filter: var(--glass-blur);
2335
+ -webkit-backdrop-filter: var(--glass-blur);
2336
+ position: relative;
2337
+ transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
2338
+ }
2339
+
2340
+ .starlight-card:hover {
2341
+ border-color: rgba(0, 212, 255, 0.3);
2342
+ }
2343
+
2344
+ body.light-mode .starlight-card {
2345
+ background: var(--light-card-bg);
2346
+ border-color: var(--light-card-border);
2347
+ color: #334155;
2348
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
2349
+ }
2350
+
2351
+ /* 2. Checkboxes & Radio Buttons */
2352
+ .checkbox-starlight, .radio-starlight {
2353
+ appearance: none;
2354
+ width: 1.25rem;
2355
+ height: 1.25rem;
2356
+ background: rgba(255, 255, 255, 0.05);
2357
+ border: 1px solid rgba(255, 255, 255, 0.2);
2358
+ border-radius: 0.375rem;
2359
+ cursor: pointer;
2360
+ transition: all 0.2s ease;
2361
+ display: inline-flex;
2362
+ align-items: center;
2363
+ justify-content: center;
2364
+ position: relative;
2365
+ }
2366
+
2367
+ .radio-starlight { border-radius: 50%; }
2368
+
2369
+ .checkbox-starlight:checked, .radio-starlight:checked {
2370
+ background: var(--color-starlight-blue);
2371
+ border-color: var(--color-starlight-blue);
2372
+ }
2373
+
2374
+ .checkbox-starlight:checked::after {
2375
+ content: '✓';
2376
+ color: black;
2377
+ font-size: 0.8rem;
2378
+ font-weight: 900;
2379
+ }
2380
+
2381
+ .radio-starlight:checked::after {
2382
+ content: '';
2383
+ width: 0.5rem;
2384
+ height: 0.5rem;
2385
+ background: black;
2386
+ border-radius: 50%;
2387
+ }
2388
+
2389
+ /* 3. Tooltips */
2390
+ .has-tooltip {
2391
+ position: relative;
2392
+ }
2393
+
2394
+ .has-tooltip .tooltip {
2395
+ position: absolute;
2396
+ bottom: 125%;
2397
+ left: 50%;
2398
+ transform: translateX(-50%) translateY(10px);
2399
+ padding: 0.5rem 0.75rem;
2400
+ background-color: rgba(10, 10, 30, 0.98);
2401
+ backdrop-filter: blur(12px);
2402
+ border: 1px solid rgba(0, 212, 255, 0.3);
2403
+ border-radius: 0.5rem;
2404
+ color: #f1f5f9;
2405
+ font-size: 0.75rem;
2406
+ white-space: nowrap;
2407
+ pointer-events: none;
2408
+ opacity: 0;
2409
+ transition: all 0.2s ease;
2410
+ z-index: 800;
2411
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
2412
+ }
2413
+
2414
+ .has-tooltip:hover .tooltip {
2415
+ opacity: 1;
2416
+ transform: translateX(-50%) translateY(0);
2417
+ }
2418
+
2419
+ /* 4. Skeletons & Twinkle */
2420
+ .stars-container {
2421
+ position: fixed;
2422
+ top: 0; left: 0; width: 100%; height: 100%;
2423
+ pointer-events: none;
2424
+ z-index: -1;
2425
+ overflow: hidden;
2426
+ }
2427
+
2428
+ .star {
2429
+ position: absolute;
2430
+ background: white;
2431
+ border-radius: 50%;
2432
+ opacity: 0.3;
2433
+ animation: twinkle var(--duration, 3s) infinite ease-in-out;
2434
+ }
2435
+
2436
+ @keyframes twinkle {
2437
+ 0%, 100% { opacity: 0.3; transform: scale(1); }
2438
+ 50% { opacity: 1; transform: scale(1.2); }
2439
+ }
2440
+
2441
+ /* 5. Dialog & Overlays */
2442
+ .dialog-overlay {
2443
+ position: fixed;
2444
+ inset: 0;
2445
+ background: rgba(0, 0, 0, 0.6);
2446
+ backdrop-filter: blur(12px);
2447
+ display: flex;
2448
+ align-items: center;
2449
+ justify-content: center;
2450
+ z-index: 400;
2451
+ }
2452
+
2453
+ .dialog-content {
2454
+ background-color: rgba(10, 10, 20, 0.98);
2455
+ backdrop-filter: blur(20px);
2456
+ border: 1px solid rgba(255, 255, 255, 0.1);
2457
+ border-radius: 1.5rem;
2458
+ padding: 2rem;
2459
+ max-width: 90%;
2460
+ width: 600px;
2461
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2462
+ position: relative;
2463
+ }
2464
+
2465
+ body.light-mode .dialog-overlay {
2466
+ background: rgba(255, 255, 255, 0.4);
2467
+ }
2468
+
2469
+ body.light-mode .dialog-content {
2470
+ background-color: rgba(255, 255, 255, 0.98);
2471
+ border-color: rgba(0, 0, 0, 0.1);
2472
+ color: #1e293b;
2473
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
2474
+ }
2475
+
2476
+ /* 6. Dropdown Menu */
2477
+ .dropdown-menu {
2478
+ position: absolute;
2479
+ top: 100%;
2480
+ left: 0;
2481
+ background-color: rgba(15, 15, 30, 0.98);
2482
+ backdrop-filter: blur(20px);
2483
+ border: 1px solid rgba(255, 255, 255, 0.1);
2484
+ border-radius: 0.75rem;
2485
+ padding: 0.5rem;
2486
+ margin-top: 0.5rem;
2487
+ min-width: 200px;
2488
+ z-index: 600;
2489
+ box-shadow: 0 20px 40px rgba(0,0,0,0.4);
2490
+ }
2491
+
2492
+ .dropdown-item {
2493
+ display: block;
2494
+ width: 100%;
2495
+ padding: 0.625rem 1rem;
2496
+ border-radius: 0.5rem;
2497
+ color: rgba(255, 255, 255, 0.7);
2498
+ transition: all 0.2s ease;
2499
+ text-align: left;
2500
+ background: transparent;
2501
+ border: none;
2502
+ cursor: pointer;
2503
+ }
2504
+
2505
+ .dropdown-item:hover {
2506
+ background-color: var(--color-starlight-blue);
2507
+ color: black;
2508
+ }
2509
+
2510
+ body.light-mode .dropdown-menu {
2511
+ background-color: rgba(255, 255, 255, 0.99);
2512
+ border-color: #cbd5e1;
2513
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
2514
+ }
2515
+
2516
+ body.light-mode .dropdown-item {
2517
+ color: #475569;
2518
+ }
2519
+
2520
+ body.light-mode .dropdown-item:hover {
2521
+ background-color: #f1f5f9;
2522
+ color: #1e293b;
2523
+ }
2524
+
2525
+ /* 7. Input & Glass Fixes */
2526
+ .input-starlight, .textarea-starlight {
2527
+ height: auto;
2528
+ padding: 1rem;
2529
+ background-color: rgba(255, 255, 255, 0.04);
2530
+ border: 1px solid rgba(255, 255, 255, 0.15);
2531
+ border-radius: 0.75rem;
2532
+ color: inherit;
2533
+ width: 100%;
2534
+ }
2535
+
2536
+ textarea.input-starlight, .textarea-starlight {
2537
+ min-height: 120px;
2538
+ display: block;
2539
+ }
2540
+
2541
+ body.light-mode .input-starlight,
2542
+ body.light-mode .textarea-starlight {
2543
+ background-color: #ffffff;
2544
+ border-color: #cbd5e1;
2545
+ }
2546
+
2547
+ body.light-mode .glass {
2548
+ background-color: rgba(0, 0, 0, 0.02);
2549
+ border-color: rgba(0, 0, 0, 0.05);
2550
+ }
2551
+
2552
+ /* 8. Input Focus States */
2553
+ .input-starlight:focus, .textarea-starlight:focus {
2554
+ outline: none;
2555
+ border-color: var(--color-starlight-blue);
2556
+ box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1);
2557
+ }
2558
+
2559
+ body.light-mode .input-starlight:focus,
2560
+ body.light-mode .textarea-starlight:focus {
2561
+ border-color: #93c5fd;
2562
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
2563
+ }
2564
+
2565
+ /* 9. Code Interface Window */
2566
+ .code-window {
2567
+ background: rgba(0, 0, 0, 0.4);
2568
+ backdrop-filter: blur(20px);
2569
+ -webkit-backdrop-filter: blur(20px);
2570
+ border: 1px solid rgba(255, 255, 255, 0.1);
2571
+ border-radius: var(--radius-xl);
2572
+ overflow: hidden;
2573
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2574
+ }
2575
+
2576
+ .code-window-header {
2577
+ background: rgba(255, 255, 255, 0.05);
2578
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2579
+ padding: 1rem 1.5rem;
2580
+ display: flex;
2581
+ align-items: center;
2582
+ justify-content: space-between;
2583
+ }
2584
+
2585
+ .code-window-controls {
2586
+ display: flex;
2587
+ gap: 0.5rem;
2588
+ }
2589
+
2590
+ .code-window-dot {
2591
+ width: 0.75rem;
2592
+ height: 0.75rem;
2593
+ border-radius: 50%;
2594
+ opacity: 0.6;
2595
+ }
2596
+
2597
+ .code-window-title {
2598
+ font-size: 0.65rem;
2599
+ font-weight: 800;
2600
+ text-transform: uppercase;
2601
+ letter-spacing: 0.15em;
2602
+ color: rgba(255, 255, 255, 0.4);
2603
+ }
2604
+
2605
+ body.light-mode .code-window {
2606
+ background: #f8fafc;
2607
+ border-color: #e2e8f0;
2608
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
2609
+ }
2610
+
2611
+ body.light-mode .code-window-header {
2612
+ background: #f1f5f9;
2613
+ border-color: #e2e8f0;
2614
+ }
2615
+
2616
+ body.light-mode .code-window-title {
2617
+ color: #94a3b8;
2618
+ }
2619
+
2620
+ /* 10. Starlight Accordion */
2621
+ .accordion-starlight.accordion-item {
2622
+ background: rgba(255, 255, 255, 0.02);
2623
+ backdrop-filter: blur(12px);
2624
+ -webkit-backdrop-filter: blur(12px);
2625
+ border: 1px solid rgba(255, 255, 255, 0.08);
2626
+ border-radius: var(--radius-xl);
2627
+ margin-bottom: var(--space-4);
2628
+ transition: all var(--transition-base);
2629
+ position: relative;
2630
+ }
2631
+
2632
+ .accordion-starlight.accordion-item:hover {
2633
+ border-color: rgba(0, 212, 255, 0.3);
2634
+ background: rgba(255, 255, 255, 0.04);
2635
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.05);
2636
+ }
2637
+
2638
+ .accordion-starlight.accordion-item.active {
2639
+ border-color: var(--color-starlight-blue);
2640
+ background: rgba(0, 212, 255, 0.03);
2641
+ box-shadow: 0 0 30px rgba(0, 212, 255, 0.1), inset 0 0 20px rgba(0, 212, 255, 0.05);
2642
+ }
2643
+
2644
+ .accordion-starlight .accordion-header {
2645
+ background: transparent !important;
2646
+ padding: var(--space-6) var(--space-8);
2647
+ color: white;
2648
+ font-weight: 700;
2649
+ letter-spacing: 0.02em;
2650
+ font-size: 1.125rem;
2651
+ }
2652
+
2653
+ .accordion-starlight.active .accordion-header {
2654
+ background: linear-gradient(to right, rgba(255, 179, 138, 0.15), rgba(0, 212, 255, 0.15)) !important;
2655
+ border-bottom: 1px solid rgba(0, 212, 255, 0.2);
2656
+ }
2657
+
2658
+ .accordion-starlight .accordion-content {
2659
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1)) !important;
2660
+ color: rgba(255, 255, 255, 0.6) !important;
2661
+ font-size: 1rem;
2662
+ line-height: 1.8;
2663
+ padding: 0;
2664
+ }
2665
+
2666
+ .accordion-starlight.active .accordion-content {
2667
+ padding: var(--space-6) var(--space-8);
2668
+ }
2669
+
2670
+ .accordion-starlight .accordion-icon {
2671
+ color: var(--color-starlight-blue);
2672
+ filter: drop-shadow(0 0 5px rgba(0, 212, 255, 0.5));
2673
+ }
2674
+
2675
+ body.light-mode .accordion-starlight.accordion-item {
2676
+ background: white;
2677
+ border-color: #e2e8f0;
2678
+ }
2679
+
2680
+ body.light-mode .accordion-starlight.accordion-item.active {
2681
+ border-color: #3b82f6;
2682
+ background: #f8fafc;
2683
+ }
2684
+
2685
+ body.light-mode .accordion-starlight .accordion-header {
2686
+ color: #1e293b;
2687
+ }
2688
+
2689
+ body.light-mode .accordion-starlight .accordion-content {
2690
+ background: #f1f5f9 !important;
2691
+ color: #475569 !important;
2692
+ }
2693
+
2694
+ @media (forced-colors: active) {
2695
+ button:focus, input:focus, select:focus, textarea:focus {
2696
+ outline: 2px solid SelectedItem !important;
2697
+ outline-offset: 2px;
2698
+ }
2699
+
2700
+ .starlight-card:hover, .accordion-starlight.accordion-item:hover {
2701
+ border-color: SelectedItem !important;
2702
+ }
2703
+
2704
+ .text-gradient-starlight, .bg-starlight {
2705
+ background: none !important;
2706
+ -webkit-text-fill-color: CanvasText !important;
2707
+ color: CanvasText !important;
2708
+ text-decoration: underline;
2709
+ }
2710
+
2711
+ .btn-starlight {
2712
+ border: 2px solid ButtonText !important;
2713
+ }
2714
+ }
2715
+
2716
+
2717
+ /* JIT Generated Utilities */
2718
+ /* Quantum CSS JIT Output */
2719
+ .p-12 {
2720
+ padding: 3rem;
2721
+ }
2722
+
2723
+ .max-w-4xl {
2724
+ max-width: 4xl;
2725
+ }
2726
+
2727
+ .mx-auto {
2728
+ margin-left: auto;
2729
+ margin-right: auto;
2730
+ }
2731
+
2732
+ .space-y-12 > * + * {
2733
+ margin-top: 3rem;
2734
+ }
2735
+
2736
+ .text-4xl {
2737
+ font-size: 2.5rem;
2738
+ line-height: 1.2;
2739
+ }
2740
+
2741
+ .space-y-4 > * + * {
2742
+ margin-top: 1rem;
2743
+ }
2744
+
2745
+ .text-xl {
2746
+ font-size: 1.25rem;
2747
+ line-height: 1.2;
2748
+ }
2749
+
2750
+ .flex {
2751
+ display: flex;
2752
+ }
2753
+
2754
+ .gap-4 {
2755
+ gap: 1rem;
2756
+ }
2757
+
2758
+ .btn-primary {
2759
+ background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
2760
+ color: #000;
2761
+ border: none;
2762
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
2763
+ font-weight: 700;
2764
+ transition: all 0.2s ease;
2765
+ height: 3rem;
2766
+ padding: 0 1.5rem;
2767
+ display: inline-flex;
2768
+ align-items: center;
2769
+ justify-content: center;
2770
+ border-radius: 0.75rem;
2771
+ cursor: pointer;
2772
+ padding-left: 1.5rem;
2773
+ padding-right: 1.5rem;
2774
+ padding-top: 0.5rem;
2775
+ padding-bottom: 0.5rem;
2776
+ border-radius: 0.5rem;
2777
+ }
2778
+
2779
+ .btn-primary:hover {
2780
+ transform: scale(1.05);
2781
+ }
2782
+
2783
+ .btn-secondary {
2784
+ background-color: rgba(255, 255, 255, 0.03);
2785
+ backdrop-filter: blur(16px);
2786
+ -webkit-backdrop-filter: blur(16px);
2787
+ border-width: 1px;
2788
+ border-color: rgba(255, 255, 255, 0.1);
2789
+ color: #3b82f6;
2790
+ padding-left: 1.5rem;
2791
+ padding-right: 1.5rem;
2792
+ padding-top: 0.5rem;
2793
+ padding-bottom: 0.5rem;
2794
+ border-radius: 0.5rem;
2795
+ }
2796
+
2797
+ .btn-secondary:hover {
2798
+ background-color: rgba(255, 255, 255, 0.1);
2799
+ }
2800
+
2801
+ .card-premium {
2802
+ background-color: rgba(255, 255, 255, 0.95);
2803
+ backdrop-filter: blur(4px);
2804
+ -webkit-backdrop-filter: blur(4px);
2805
+ padding: 2rem;
2806
+ border-radius: 1rem;
2807
+ border-color: #f1f5f9;
2808
+ }
2809
+
2810
+ .card-premium:hover {
2811
+ transform: scale(1.05);
2812
+ }
2813
+
2814
+ .max-w-sm {
2815
+ max-width: sm;
2816
+ }
2817
+
2818
+ .text-2xl {
2819
+ font-size: 1.5rem;
2820
+ line-height: 1.2;
2821
+ }
2822
+
2823
+ .mb-4 {
2824
+ margin-bottom: 1rem;
2825
+ }
2826
+
2827
+ .p-10 {
2828
+ padding: 2.5rem;
2829
+ }
2830
+
2831
+ .space-y-8 > * + * {
2832
+ margin-top: 2rem;
2833
+ }
2834
+
2835
+ .bg-black {
2836
+ background-color: #000000;
2837
+ }
2838
+
2839
+ .text-white {
2840
+ color: #ffffff;
2841
+ }
2842
+
2843
+ .top-0 {
2844
+ top: 0px;
2845
+ }
2846
+
2847
+ .z-50 {
2848
+ z-index: 50;
2849
+ }
2850
+
2851
+ .glass {
2852
+ background-color: rgba(255, 255, 255, 0.03);
2853
+ backdrop-filter: blur(16px);
2854
+ -webkit-backdrop-filter: blur(16px);
2855
+ border-width: 1px;
2856
+ border-color: rgba(255, 255, 255, 0.1);
2857
+ }
2858
+
2859
+ .p-4 {
2860
+ padding: 1rem;
2861
+ }
2862
+
2863
+ .mb-8 {
2864
+ margin-bottom: 2rem;
2865
+ }
2866
+
2867
+ .ml-4 {
2868
+ margin-left: 1rem;
2869
+ }
2870
+
2871
+ .mt-8 {
2872
+ margin-top: 2rem;
2873
+ }
2874
+
2875
+ .grid {
2876
+ display: grid;
2877
+ }
2878
+
2879
+ .grid-cols-1 {
2880
+ grid-template-columns: repeat(1, minmax(0, 1fr));
2881
+ }
2882
+
2883
+ .bg-blue-500 {
2884
+ background-color: #3b82f6;
2885
+ }
2886
+
2887
+ .bg-red-500 {
2888
+ background-color: #ef4444;
2889
+ }
2890
+
2891
+ .input-starlight {
2892
+ background-color: rgba(255, 255, 255, 0.04);
2893
+ border: 1px solid rgba(255, 255, 255, 0.15);
2894
+ color: inherit;
2895
+ border-radius: 0.75rem;
2896
+ padding: 0 1rem;
2897
+ appearance: none;
2898
+ transition: all 0.2s ease;
2899
+ height: 3rem;
2900
+ }
2901
+
2902
+ .textarea-starlight {
2903
+ background-color: rgba(255, 255, 255, 0.04);
2904
+ border: 1px solid rgba(255, 255, 255, 0.15);
2905
+ color: inherit;
2906
+ border-radius: 0.75rem;
2907
+ padding: 1rem;
2908
+ appearance: none;
2909
+ transition: all 0.2s ease;
2910
+ min-height: 8rem;
2911
+ width: 100%;
2912
+ display: block;
2913
+ }
2914
+
2915
+ .bg-green-500 {
2916
+ background-color: #10b981;
2917
+ }
2918
+
2919
+ .mt-4 {
2920
+ margin-top: 1rem;
2921
+ }
2922
+
2923
+ .p-8 {
2924
+ padding: 2rem;
2925
+ }
2926
+
2927
+ .bg-starlight-deep {
2928
+ background-color: #08081a;
2929
+ }
2930
+
2931
+ .min-h-screen {
2932
+ min-height: screen;
2933
+ }
2934
+
2935
+ .w-6 {
2936
+ width: 1.5rem;
2937
+ }
2938
+
2939
+ .h-6 {
2940
+ height: 1.5rem;
2941
+ }
2942
+
2943
+ .hidden {
2944
+ display: none;
2945
+ }
2946
+
2947
+ .max-w-144 {
2948
+ max-width: 36rem;
2949
+ }
2950
+
2951
+ .mb-20 {
2952
+ margin-bottom: 5rem;
2953
+ }
2954
+
2955
+ .pt-16 {
2956
+ padding-top: 4rem;
2957
+ }
2958
+
2959
+ .text-6xl {
2960
+ font-size: 4rem;
2961
+ line-height: 1.2;
2962
+ }
2963
+
2964
+ .mb-6 {
2965
+ margin-bottom: 1.5rem;
2966
+ }
2967
+
2968
+ .text-gradient-starlight {
2969
+ background: linear-gradient(to right, #ffb38a, #00d4ff);
2970
+ -webkit-background-clip: text;
2971
+ -webkit-text-fill-color: transparent;
2972
+ display: inline-block;
2973
+ }
2974
+
2975
+ .max-w-prose {
2976
+ max-width: prose;
2977
+ }
2978
+
2979
+ .mb-10 {
2980
+ margin-bottom: 2.5rem;
2981
+ }
2982
+
2983
+ .justify-center {
2984
+ justify-content: center;
2985
+ }
2986
+
2987
+ .gap-6 {
2988
+ gap: 1.5rem;
2989
+ }
2990
+
2991
+ .bg-starlight {
2992
+ background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
2993
+ }
2994
+
2995
+ .text-black {
2996
+ color: #000000;
2997
+ }
2998
+
2999
+ .px-10 {
3000
+ padding-left: 2.5rem;
3001
+ padding-right: 2.5rem;
3002
+ }
3003
+
3004
+ .py-4 {
3005
+ padding-top: 1rem;
3006
+ padding-bottom: 1rem;
3007
+ }
3008
+
3009
+ .rounded-full {
3010
+ border-radius: 9999px;
3011
+ }
3012
+
3013
+ .glow-blue {
3014
+ box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
3015
+ }
3016
+
3017
+ .scale-105 {
3018
+ transform: scale(1.05);
3019
+ }
3020
+
3021
+ .hover\:bg-white:hover {
3022
+ background-color: #ffffff;
3023
+ }
3024
+
3025
+ .border-none {
3026
+ border-width: 0;
3027
+ }
3028
+
3029
+ .px-12 {
3030
+ padding-left: 3rem;
3031
+ padding-right: 3rem;
3032
+ }
3033
+
3034
+ .border-2 {
3035
+ border-width: 2px;
3036
+ }
3037
+
3038
+ .border-white {
3039
+ border-color: #ffffff;
3040
+ }
3041
+
3042
+ .text-sm {
3043
+ font-size: 0.875rem;
3044
+ line-height: 1.5;
3045
+ }
3046
+
3047
+ .text-starlight {
3048
+ color: #00d4ff;
3049
+ }
3050
+
3051
+ .gap-10 {
3052
+ gap: 2.5rem;
3053
+ }
3054
+
3055
+ .rounded-2xl {
3056
+ border-radius: 1rem;
3057
+ }
3058
+
3059
+ .rounded-xl {
3060
+ border-radius: 0.75rem;
3061
+ }
3062
+
3063
+ .w-full {
3064
+ width: 100%;
3065
+ }
3066
+
3067
+ .py-3 {
3068
+ padding-top: 0.75rem;
3069
+ padding-bottom: 0.75rem;
3070
+ }
3071
+
3072
+ .rounded-3xl {
3073
+ border-radius: 1.5rem;
3074
+ }
3075
+
3076
+ .text-lg {
3077
+ font-size: 1.125rem;
3078
+ line-height: 1.5;
3079
+ }
3080
+
3081
+ .flex-col {
3082
+ flex-direction: column;
3083
+ }
3084
+
3085
+ .px-6 {
3086
+ padding-left: 1.5rem;
3087
+ padding-right: 1.5rem;
3088
+ }
3089
+
3090
+ .focus\:border-starlight:focus {
3091
+ border-color: #00d4ff;
3092
+ }
3093
+
3094
+ .hover\:scale-105:hover {
3095
+ transform: scale(1.05);
3096
+ }
3097
+
3098
+ .mt-32 {
3099
+ margin-top: 8rem;
3100
+ }
3101
+
3102
+ .pt-10 {
3103
+ padding-top: 2.5rem;
3104
+ }
3105
+
3106
+ .border-t {
3107
+ border-top-width: undefinedpx;
3108
+ }
3109
+
3110
+ .border-b {
3111
+ border-bottom-width: undefinedpx;
3112
+ }
3113
+
3114
+ .border-slate-100 {
3115
+ border-color: #f1f5f9;
3116
+ }
3117
+
3118
+ .py-2 {
3119
+ padding-top: 0.5rem;
3120
+ padding-bottom: 0.5rem;
3121
+ }
3122
+
3123
+ .bg-slate-50 {
3124
+ background-color: #f8fafc;
3125
+ }
3126
+
3127
+ .justify-between {
3128
+ justify-content: space-between;
3129
+ }
3130
+
3131
+ .items-center {
3132
+ align-items: center;
3133
+ }
3134
+
3135
+ .text-slate-500 {
3136
+ color: #64748b;
3137
+ }
3138
+
3139
+ .hover\:text-slate-900:hover {
3140
+ color: #0f172a;
3141
+ }
3142
+
3143
+ .border-slate-900 {
3144
+ border-color: #0f172a;
3145
+ }
3146
+
3147
+ .border-b-4 {
3148
+ border-bottom-width: 4px;
3149
+ }
3150
+
3151
+ .bg-white {
3152
+ background-color: #ffffff;
3153
+ }
3154
+
3155
+ .py-6 {
3156
+ padding-top: 1.5rem;
3157
+ padding-bottom: 1.5rem;
3158
+ }
3159
+
3160
+ .text-blue-600 {
3161
+ color: #2563eb;
3162
+ }
3163
+
3164
+ .gap-8 {
3165
+ gap: 2rem;
3166
+ }
3167
+
3168
+ .text-xs {
3169
+ font-size: 0.75rem;
3170
+ line-height: 1.5;
3171
+ }
3172
+
3173
+ .border-b-2 {
3174
+ border-bottom-width: 2px;
3175
+ }
3176
+
3177
+ .border-transparent {
3178
+ border-color: transparent;
3179
+ }
3180
+
3181
+ .hover\:border-blue-600:hover {
3182
+ border-color: #2563eb;
3183
+ }
3184
+
3185
+ .transition-colors {
3186
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
3187
+ }
3188
+
3189
+ .p-2 {
3190
+ padding: 0.5rem;
3191
+ }
3192
+
3193
+ .w-5 {
3194
+ width: 1.25rem;
3195
+ }
3196
+
3197
+ .h-5 {
3198
+ height: 1.25rem;
3199
+ }
3200
+
3201
+ .bg-slate-900 {
3202
+ background-color: #0f172a;
3203
+ }
3204
+
3205
+ .rounded {
3206
+ border-radius: 0.375rem;
3207
+ }
3208
+
3209
+ .bg-blue-600 {
3210
+ background-color: #2563eb;
3211
+ }
3212
+
3213
+ .overflow-hidden {
3214
+ overflow: hidden;
3215
+ }
3216
+
3217
+ .inline-block {
3218
+ display: inline-block;
3219
+ }
3220
+
3221
+ .py-12 {
3222
+ padding-top: 3rem;
3223
+ padding-bottom: 3rem;
3224
+ }
3225
+
3226
+ .px-3 {
3227
+ padding-left: 0.75rem;
3228
+ padding-right: 0.75rem;
3229
+ }
3230
+
3231
+ .py-1 {
3232
+ padding-top: 0.25rem;
3233
+ padding-bottom: 0.25rem;
3234
+ }
3235
+
3236
+ .text-5xl {
3237
+ font-size: 3rem;
3238
+ line-height: 1.2;
3239
+ }
3240
+
3241
+ .text-slate-300 {
3242
+ color: #cbd5e1;
3243
+ }
3244
+
3245
+ .max-w-2xl {
3246
+ max-width: 2xl;
3247
+ }
3248
+
3249
+ .gap-12 {
3250
+ gap: 3rem;
3251
+ }
3252
+
3253
+ .aspect-video {
3254
+ aspect-ratio: 16 / 9;
3255
+ width: 100%;
3256
+ height: auto;
3257
+ }
3258
+
3259
+ .bg-slate-100 {
3260
+ background-color: #f1f5f9;
3261
+ }
3262
+
3263
+ .rounded-lg {
3264
+ border-radius: 0.5rem;
3265
+ }
3266
+
3267
+ .h-full {
3268
+ height: 100%;
3269
+ }
3270
+
3271
+ .group:hover .group-hover\:scale-105 {
3272
+ transform: scale(1.05);
3273
+ }
3274
+
3275
+ .transition-transform {
3276
+ transition-property: transform;
3277
+ }
3278
+
3279
+ .pb-2 {
3280
+ padding-bottom: 0.5rem;
3281
+ }
3282
+
3283
+ .space-y-6 > * + * {
3284
+ margin-top: 1.5rem;
3285
+ }
3286
+
3287
+ .items-start {
3288
+ align-items: flex-start;
3289
+ }
3290
+
3291
+ .text-slate-100 {
3292
+ color: #f1f5f9;
3293
+ }
3294
+
3295
+ .group:hover .group-hover\:text-blue-100 {
3296
+ color: #dbeafe;
3297
+ }
3298
+
3299
+ .group:hover .group-hover\:text-blue-600 {
3300
+ color: #2563eb;
3301
+ }
3302
+
3303
+ .text-slate-400 {
3304
+ color: #94a3b8;
3305
+ }
3306
+
3307
+ .mt-1 {
3308
+ margin-top: 0.25rem;
3309
+ }
3310
+
3311
+ .p-6 {
3312
+ padding: 1.5rem;
3313
+ }
3314
+
3315
+ .border-slate-200 {
3316
+ border-color: #e2e8f0;
3317
+ }
3318
+
3319
+ .p-3 {
3320
+ padding: 0.75rem;
3321
+ }
3322
+
3323
+ .focus\:border-blue-600:focus {
3324
+ border-color: #2563eb;
3325
+ }
3326
+
3327
+ .py-20 {
3328
+ padding-top: 5rem;
3329
+ padding-bottom: 5rem;
3330
+ }
3331
+
3332
+ .mt-24 {
3333
+ margin-top: 6rem;
3334
+ }
3335
+
3336
+ .border-slate-800 {
3337
+ border-color: #1e293b;
3338
+ }
3339
+
3340
+ .pb-16 {
3341
+ padding-bottom: 4rem;
3342
+ }
3343
+
3344
+ .col-span-1 {
3345
+ grid-column: span 1 / span 1;
3346
+ }
3347
+
3348
+ .text-3xl {
3349
+ font-size: 2rem;
3350
+ line-height: 1.2;
3351
+ }
3352
+
3353
+ .max-w-md {
3354
+ max-width: md;
3355
+ }
3356
+
3357
+ .space-y-3 > * + * {
3358
+ margin-top: 0.75rem;
3359
+ }
3360
+
3361
+ .p-0 {
3362
+ padding: 0px;
3363
+ }
3364
+
3365
+ .hover\:text-blue-600:hover {
3366
+ color: #2563eb;
3367
+ }
3368
+
3369
+ .pt-12 {
3370
+ padding-top: 3rem;
3371
+ }
3372
+
3373
+ .text-slate-600 {
3374
+ color: #475569;
3375
+ }
3376
+
3377
+ .max-w-6xl {
3378
+ max-width: 6xl;
3379
+ }
3380
+
3381
+ .mb-12 {
3382
+ margin-bottom: 3rem;
3383
+ }
3384
+
3385
+ .mb-2 {
3386
+ margin-bottom: 0.5rem;
3387
+ }
3388
+
3389
+ .w-24 {
3390
+ width: 6rem;
3391
+ }
3392
+
3393
+ .text-base {
3394
+ font-size: 1rem;
3395
+ line-height: 1.5;
3396
+ }
3397
+
3398
+ .w-20 {
3399
+ width: 5rem;
3400
+ }
3401
+
3402
+ .h-20 {
3403
+ height: 5rem;
3404
+ }
3405
+
3406
+ .bg-blue-100 {
3407
+ background-color: #dbeafe;
3408
+ }
3409
+
3410
+ .border-blue-200 {
3411
+ border-color: #bfdbfe;
3412
+ }
3413
+
3414
+ .w-32 {
3415
+ width: 8rem;
3416
+ }
3417
+
3418
+ .h-32 {
3419
+ height: 8rem;
3420
+ }
3421
+
3422
+ .w-16 {
3423
+ width: 4rem;
3424
+ }
3425
+
3426
+ .h-16 {
3427
+ height: 4rem;
3428
+ }
3429
+
3430
+ .bg-orange-500 {
3431
+ background-color: #f97316;
3432
+ }
3433
+
3434
+ .h-48 {
3435
+ height: 12rem;
3436
+ }
3437
+
3438
+ .w-4 {
3439
+ width: 1rem;
3440
+ }
3441
+
3442
+ .h-4 {
3443
+ height: 1rem;
3444
+ }
3445
+
3446
+ .bg-slate-500\/10 {
3447
+ background-color: rgba(100, 116, 139, 0.1);
3448
+ }
3449
+
3450
+ .bg-black\/20 {
3451
+ background-color: rgba(0, 0, 0, 0.2);
3452
+ }
3453
+
3454
+ .border-white\/20 {
3455
+ border-color: rgba(255, 255, 255, 0.2);
3456
+ }
3457
+
3458
+ .btn-starlight {
3459
+ background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3460
+ color: #000;
3461
+ border: none;
3462
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
3463
+ font-weight: 700;
3464
+ transition: all 0.2s ease;
3465
+ height: 3rem;
3466
+ padding: 0 1.5rem;
3467
+ display: inline-flex;
3468
+ align-items: center;
3469
+ justify-content: center;
3470
+ border-radius: 0.75rem;
3471
+ cursor: pointer;
3472
+ }
3473
+
3474
+ .mt-20 {
3475
+ margin-top: 5rem;
3476
+ }
3477
+
3478
+ .pt-8 {
3479
+ padding-top: 2rem;
3480
+ }
3481
+
3482
+ .border-white\/10 {
3483
+ border-color: rgba(255, 255, 255, 0.1);
3484
+ }
3485
+
3486
+ .block {
3487
+ display: block;
3488
+ }
3489
+
3490
+ .h-14 {
3491
+ height: 3.5rem;
3492
+ }
3493
+
3494
+ .pb-12 {
3495
+ padding-bottom: 3rem;
3496
+ }
3497
+
3498
+ .max-w-3xl {
3499
+ max-width: 3xl;
3500
+ }
3501
+
3502
+ .text-muted {
3503
+ color: var(--text-muted);
3504
+ }
3505
+
3506
+ .gap-3 {
3507
+ gap: 0.75rem;
3508
+ }
3509
+
3510
+ .checkbox-starlight {
3511
+ appearance: none;
3512
+ width: 1.25rem;
3513
+ height: 1.25rem;
3514
+ background: rgba(255, 255, 255, 0.05);
3515
+ border: 1px solid rgba(255, 255, 255, 0.2);
3516
+ border-radius: 0.375rem;
3517
+ cursor: pointer;
3518
+ transition: all 0.2s ease;
3519
+ position: relative;
3520
+ display: inline-flex;
3521
+ align-items: center;
3522
+ justify-content: center;
3523
+ }
3524
+
3525
+ .mt-6 {
3526
+ margin-top: 1.5rem;
3527
+ }
3528
+
3529
+ .w-3\/4 {
3530
+ width: 75.00%;
3531
+ }
3532
+
3533
+ .h-12 {
3534
+ height: 3rem;
3535
+ }
3536
+
3537
+ .w-1\/2 {
3538
+ width: 50.00%;
3539
+ }
3540
+
3541
+ .px-8 {
3542
+ padding-left: 2rem;
3543
+ padding-right: 2rem;
3544
+ }
3545
+
3546
+ .hover\:text-starlight:hover {
3547
+ color: #00d4ff;
3548
+ }
3549
+
3550
+ .py-2.5 {
3551
+ padding-top: 2.5;
3552
+ padding-bottom: 2.5;
3553
+ }
3554
+
3555
+ .gap-1.5 {
3556
+ gap: 1.5;
3557
+ }
3558
+
3559
+ .h-0.5 {
3560
+ height: 0.5;
3561
+ }
3562
+
3563
+ .bg-starlight-deep\/98 {
3564
+ background-color: rgba(8, 8, 26, 0.98);
3565
+ }
3566
+
3567
+ .z-40 {
3568
+ z-index: 40;
3569
+ }
3570
+
3571
+ .max-w-\[1200px] {
3572
+ max-width: 1200px;
3573
+ }
3574
+
3575
+ .hover\:bg-starlight:hover {
3576
+ background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3577
+ }
3578
+
3579
+ .py-24 {
3580
+ padding-top: 6rem;
3581
+ padding-bottom: 6rem;
3582
+ }
3583
+
3584
+ .items-end {
3585
+ align-items: flex-end;
3586
+ }
3587
+
3588
+ .border-starlight {
3589
+ border-color: #00d4ff;
3590
+ }
3591
+
3592
+ .pb-1 {
3593
+ padding-bottom: 0.25rem;
3594
+ }
3595
+
3596
+ .hover\:text-white:hover {
3597
+ color: #ffffff;
3598
+ }
3599
+
3600
+ .hover\:border-white:hover {
3601
+ border-color: #ffffff;
3602
+ }
3603
+
3604
+ .duration-500 {
3605
+ transition-duration: 500ms;
3606
+ }
3607
+
3608
+ .gap-2 {
3609
+ gap: 0.5rem;
3610
+ }
3611
+
3612
+ .mb-32 {
3613
+ margin-bottom: 8rem;
3614
+ }
3615
+
3616
+ .p-16 {
3617
+ padding: 4rem;
3618
+ }
3619
+
3620
+ .grid-cols-2 {
3621
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3622
+ }
3623
+
3624
+ .mb-16 {
3625
+ margin-bottom: 4rem;
3626
+ }
3627
+
3628
+ .col-span-2 {
3629
+ grid-column: span 2 / span 2;
3630
+ }
3631
+
3632
+ .max-w-160 {
3633
+ max-width: 160;
3634
+ }
3635
+
3636
+ .pb-8 {
3637
+ padding-bottom: 2rem;
3638
+ }
3639
+
3640
+ .hover\:bg-black:hover {
3641
+ background-color: #000000;
3642
+ }
3643
+
3644
+ .bg-blue-50 {
3645
+ background-color: #eff6ff;
3646
+ }
3647
+
3648
+ .w-1\/4 {
3649
+ width: 25.00%;
3650
+ }
3651
+
3652
+ .max-w-128 {
3653
+ max-width: 32rem;
3654
+ }
3655
+
3656
+ .px-4 {
3657
+ padding-left: 1rem;
3658
+ padding-right: 1rem;
3659
+ }
3660
+
3661
+ .text-primary {
3662
+ color: #3b82f6;
3663
+ }
3664
+
3665
+ .left-0 {
3666
+ left: 0px;
3667
+ }
3668
+
3669
+ .-z-10 {
3670
+ z-index: -10;
3671
+ }
3672
+
3673
+ .h-24 {
3674
+ height: 6rem;
3675
+ }
3676
+
3677
+ .w-8 {
3678
+ width: 2rem;
3679
+ }
3680
+
3681
+ .h-8 {
3682
+ height: 2rem;
3683
+ }
3684
+
3685
+ .hover\:text-primary:hover {
3686
+ color: #3b82f6;
3687
+ }
3688
+
3689
+ .gap-16 {
3690
+ gap: 4rem;
3691
+ }
3692
+
3693
+ .space-y-16 > * + * {
3694
+ margin-top: 4rem;
3695
+ }
3696
+
3697
+ .text-secondary {
3698
+ color: #64748b;
3699
+ }
3700
+
3701
+ .pt-4 {
3702
+ padding-top: 1rem;
3703
+ }
3704
+
3705
+ .w-12 {
3706
+ width: 3rem;
3707
+ }
3708
+
3709
+ .border-primary\/30 {
3710
+ border-color: rgba(59, 130, 246, 0.3);
3711
+ }
3712
+
3713
+ .p-1 {
3714
+ padding: 0.25rem;
3715
+ }
3716
+
3717
+ .bg-black\/40 {
3718
+ background-color: rgba(0, 0, 0, 0.4);
3719
+ }
3720
+
3721
+ .max-w-none {
3722
+ max-width: none;
3723
+ }
3724
+
3725
+ .space-y-10 > * + * {
3726
+ margin-top: 2.5rem;
3727
+ }
3728
+
3729
+ .w-2 {
3730
+ width: 0.5rem;
3731
+ }
3732
+
3733
+ .h-10 {
3734
+ height: 2.5rem;
3735
+ }
3736
+
3737
+ .border-l-4 {
3738
+ border-left-width: 4px;
3739
+ }
3740
+
3741
+ .border-primary {
3742
+ border-color: #3b82f6;
3743
+ }
3744
+
3745
+ .bg-primary\/5 {
3746
+ background-color: rgba(59, 130, 246, 0.05);
3747
+ }
3748
+
3749
+ .bg-white\/5 {
3750
+ background-color: rgba(255, 255, 255, 0.05);
3751
+ }
3752
+
3753
+ .mt-12 {
3754
+ margin-top: 3rem;
3755
+ }
3756
+
3757
+ .mr-2 {
3758
+ margin-right: 0.5rem;
3759
+ }
3760
+
3761
+ .hover\:bg-white\/10:hover {
3762
+ background-color: rgba(255, 255, 255, 0.1);
3763
+ }
3764
+
3765
+ .border-white\/5 {
3766
+ border-color: rgba(255, 255, 255, 0.05);
3767
+ }
3768
+
3769
+ .hover\:bg-white\/5:hover {
3770
+ background-color: rgba(255, 255, 255, 0.05);
3771
+ }
3772
+
3773
+ .group:hover .group-hover\:text-primary {
3774
+ color: #3b82f6;
3775
+ }
3776
+
3777
+ .backdrop-blur-md {
3778
+ backdrop-filter: blur(12px);
3779
+ -webkit-backdrop-filter: blur(12px);
3780
+ }
3781
+
3782
+ .space-x-12 > * + * {
3783
+ margin-left: 3rem;
3784
+ }
3785
+
3786
+ .py-16 {
3787
+ padding-top: 4rem;
3788
+ padding-bottom: 4rem;
3789
+ }
3790
+
3791
+ .py-1.5 {
3792
+ padding-top: 1.5;
3793
+ padding-bottom: 1.5;
3794
+ }
3795
+
3796
+ .rounded-\[2.5rem] {
3797
+ border-radius: 2.5rem;
3798
+ }
3799
+
3800
+ .max-w-5xl {
3801
+ max-width: 5xl;
3802
+ }
3803
+
3804
+ .flex-1 {
3805
+ flex: 1 1 0%;
3806
+ }
3807
+
3808
+ .mb-3 {
3809
+ margin-bottom: 0.75rem;
3810
+ }
3811
+
3812
+ .bg-transparent {
3813
+ background-color: transparent;
3814
+ }
3815
+
3816
+ .placeholder\:text-white\/10:placeholder {
3817
+ color: rgba(255, 255, 255, 0.1);
3818
+ }
3819
+
3820
+ .border-l {
3821
+ border-left-width: undefinedpx;
3822
+ }
3823
+
3824
+ .px-16 {
3825
+ padding-left: 4rem;
3826
+ padding-right: 4rem;
3827
+ }
3828
+
3829
+ .h-auto {
3830
+ height: auto;
3831
+ }
3832
+
3833
+ .hover\:glow-blue:hover {
3834
+ box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
3835
+ }
3836
+
3837
+ .text-orange-600 {
3838
+ color: #ea580c;
3839
+ }
3840
+
3841
+ .transition-all {
3842
+ transition-property: all;
3843
+ }
3844
+
3845
+ .h-80 {
3846
+ height: 80;
3847
+ }
3848
+
3849
+ .group:hover .group-hover\:scale-110 {
3850
+ transform: scale(1.1);
3851
+ }
3852
+
3853
+ .duration-700 {
3854
+ transition-duration: 700ms;
3855
+ }
3856
+
3857
+ .z-10 {
3858
+ z-index: 10;
3859
+ }
3860
+
3861
+ .bottom-8 {
3862
+ bottom: 2rem;
3863
+ }
3864
+
3865
+ .left-8 {
3866
+ left: 2rem;
3867
+ }
3868
+
3869
+ .z-20 {
3870
+ z-index: 20;
3871
+ }
3872
+
3873
+ .bg-blue-600\/20 {
3874
+ background-color: rgba(37, 99, 235, 0.2);
3875
+ }
3876
+
3877
+ .ml-2 {
3878
+ margin-left: 0.5rem;
3879
+ }
3880
+
3881
+ .hover\:text-black:hover {
3882
+ color: #000000;
3883
+ }
3884
+
3885
+ .bg-orange-600\/20 {
3886
+ background-color: rgba(234, 88, 12, 0.2);
3887
+ }
3888
+
3889
+ .rounded-\[3rem] {
3890
+ border-radius: 3rem;
3891
+ }
3892
+
3893
+ .max-w-xl {
3894
+ max-width: xl;
3895
+ }
3896
+
3897
+ .placeholder\:text-white\/20:placeholder {
3898
+ color: rgba(255, 255, 255, 0.2);
3899
+ }
3900
+
3901
+ .space-x-6 > * + * {
3902
+ margin-left: 1.5rem;
3903
+ }
3904
+
3905
+ .bg-white\/80 {
3906
+ background-color: rgba(255, 255, 255, 0.8);
3907
+ }
3908
+
3909
+ .max-w-\[1440px] {
3910
+ max-width: 1440px;
3911
+ }
3912
+
3913
+ .text-slate-900 {
3914
+ color: #0f172a;
3915
+ }
3916
+
3917
+ .hover\:text-orange-600:hover {
3918
+ color: #ea580c;
3919
+ }
3920
+
3921
+ .hover\:bg-slate-200:hover {
3922
+ background-color: #e2e8f0;
3923
+ }
3924
+
3925
+ .right-0 {
3926
+ right: 0px;
3927
+ }
3928
+
3929
+ .bg-orange-600 {
3930
+ background-color: #ea580c;
3931
+ }
3932
+
3933
+ .min-w-56 {
3934
+ min-width: 56;
3935
+ }
3936
+
3937
+ .flex-shrink-0 {
3938
+ flex-shrink: 0;
3939
+ }
3940
+
3941
+ .space-x-4 > * + * {
3942
+ margin-left: 1rem;
3943
+ }
3944
+
3945
+ .group:hover .group-hover\:text-slate-900 {
3946
+ color: #0f172a;
3947
+ }
3948
+
3949
+ .w-10 {
3950
+ width: 2.5rem;
3951
+ }
3952
+
3953
+ .min-w-0 {
3954
+ min-width: 0;
3955
+ }
3956
+
3957
+ .gap-x-8 {
3958
+ column-gap: 2rem;
3959
+ }
3960
+
3961
+ .gap-y-16 {
3962
+ row-gap: 4rem;
3963
+ }
3964
+
3965
+ .aspect-\[3\/4] {
3966
+ aspect-ratio: 3 / 4;
3967
+ width: 100%;
3968
+ height: auto;
3969
+ }
3970
+
3971
+ .top-4 {
3972
+ top: 1rem;
3973
+ }
3974
+
3975
+ .left-4 {
3976
+ left: 1rem;
3977
+ }
3978
+
3979
+ .space-y-2 > * + * {
3980
+ margin-top: 0.5rem;
3981
+ }
3982
+
3983
+ .bottom-4 {
3984
+ bottom: 1rem;
3985
+ }
3986
+
3987
+ .duration-300 {
3988
+ transition-duration: 300ms;
3989
+ }
3990
+
3991
+ .px-1 {
3992
+ padding-left: 0.25rem;
3993
+ padding-right: 0.25rem;
3994
+ }
3995
+
3996
+ .bg-slate-900\/80 {
3997
+ background-color: rgba(15, 23, 42, 0.8);
3998
+ }
3999
+
4000
+ .border-blue-600\/50 {
4001
+ border-color: rgba(37, 99, 235, 0.5);
4002
+ }
4003
+
4004
+ .text-slate-200 {
4005
+ color: #e2e8f0;
4006
+ }
4007
+
4008
+ .bg-slate-950 {
4009
+ background-color: #020617;
4010
+ }
4011
+
4012
+ .placeholder\:text-slate-600:placeholder {
4013
+ color: #475569;
4014
+ }
4015
+
4016
+ @media (min-width: 640px) {
4017
+ .sm\:flex-row {
4018
+ flex-direction: row;
4019
+ }
4020
+ }
4021
+
4022
+ @media (min-width: 768px) {
4023
+ .md\:btn-primary {
4024
+ background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
4025
+ color: #000;
4026
+ border: none;
4027
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
4028
+ font-weight: 700;
4029
+ transition: all 0.2s ease;
4030
+ height: 3rem;
4031
+ padding: 0 1.5rem;
4032
+ display: inline-flex;
4033
+ align-items: center;
4034
+ justify-content: center;
4035
+ border-radius: 0.75rem;
4036
+ cursor: pointer;
4037
+ padding-left: 1.5rem;
4038
+ padding-right: 1.5rem;
4039
+ padding-top: 0.5rem;
4040
+ padding-bottom: 0.5rem;
4041
+ border-radius: 0.5rem;
4042
+ }
4043
+
4044
+ .md\:btn-primary:hover {
4045
+ transform: scale(1.05);
4046
+ }
4047
+
4048
+ .md\:grid-cols-2 {
4049
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4050
+ }
4051
+
4052
+ .md\:flex-row {
4053
+ flex-direction: row;
4054
+ }
4055
+
4056
+ .md\:w-80 {
4057
+ width: 80;
4058
+ }
4059
+
4060
+ .md\:grid-cols-4 {
4061
+ grid-template-columns: repeat(4, minmax(0, 1fr));
4062
+ }
4063
+
4064
+ .md\:col-span-2 {
4065
+ grid-column: span 2 / span 2;
4066
+ }
4067
+
4068
+ .md\:grid-cols-3 {
4069
+ grid-template-columns: repeat(3, minmax(0, 1fr));
4070
+ }
4071
+
4072
+ .md\:flex {
4073
+ display: flex;
4074
+ }
4075
+
4076
+ .md\:hidden {
4077
+ display: none;
4078
+ }
4079
+
4080
+ .md\:w-96 {
4081
+ width: 96;
4082
+ }
4083
+
4084
+ .md\:col-span-1 {
4085
+ grid-column: span 1 / span 1;
4086
+ }
4087
+
4088
+ .md\:text-5xl {
4089
+ font-size: 3rem;
4090
+ line-height: 1.2;
4091
+ }
4092
+
4093
+ .md\:text-lg {
4094
+ font-size: 1.125rem;
4095
+ line-height: 1.5;
4096
+ }
4097
+
4098
+ .md\:w-1\/2 {
4099
+ width: 50.00%;
4100
+ }
4101
+
4102
+ .md\:block {
4103
+ display: block;
4104
+ }
4105
+
4106
+ .md\:h-full {
4107
+ height: 100%;
4108
+ }
4109
+ }
4110
+
4111
+ @media (min-width: 1024px) {
4112
+ .lg\:grid-cols-12 {
4113
+ grid-template-columns: repeat(12, minmax(0, 1fr));
4114
+ }
4115
+
4116
+ .lg\:col-span-8 {
4117
+ grid-column: span 8 / span 8;
4118
+ }
4119
+
4120
+ .lg\:col-span-4 {
4121
+ grid-column: span 4 / span 4;
4122
+ }
4123
+
4124
+ .lg\:grid-cols-3 {
4125
+ grid-template-columns: repeat(3, minmax(0, 1fr));
4126
+ }
4127
+
4128
+ .lg\:grid-cols-4 {
4129
+ grid-template-columns: repeat(4, minmax(0, 1fr));
4130
+ }
4131
+
4132
+ .lg\:flex {
4133
+ display: flex;
4134
+ }
4135
+
4136
+ .lg\:flex-row {
4137
+ flex-direction: row;
4138
+ }
4139
+
4140
+ .lg\:w-64 {
4141
+ width: 16rem;
4142
+ }
4143
+
4144
+ .lg\:col-span-2 {
4145
+ grid-column: span 2 / span 2;
4146
+ }
4147
+ }
4148
+
4149
+ @media (min-width: 1280px) {
4150
+ .xl\:grid-cols-4 {
4151
+ grid-template-columns: repeat(4, minmax(0, 1fr));
4152
+ }
4153
+ }
4154
+
4155
+ @media (prefers-color-scheme: dark) {
4156
+ .card-premium {
4157
+ background-color: rgba(255, 255, 255, 0.05);
4158
+ border-color: rgba(255, 255, 255, 0.1);
4159
+ backdrop-filter: blur(12px);
4160
+ -webkit-backdrop-filter: blur(12px);
4161
+ }
4162
+ }