:root{--hue-primary: 225;--sat-primary: 70%;--lig-primary: 45%;--color-primary: hsl(var(--hue-primary), var(--sat-primary), var(--lig-primary));--color-primary-light: hsl(var(--hue-primary), var(--sat-primary), 65%);--color-primary-dark: hsl(var(--hue-primary), var(--sat-primary), 30%);--color-primary-fade: hsl(var(--hue-primary), var(--sat-primary), 90%);--color-surface: hsl(0, 0%, 100%);--color-surface-translucent: hsla(0, 0%, 100%, .8);--color-background: hsl(210, 20%, 98%);--color-text-main: hsl(220, 20%, 20%);--color-text-muted: hsl(220, 10%, 50%);--color-text-on-primary: hsl(0, 0%, 100%);--color-border: hsl(220, 20%, 90%);--color-success: hsl(150, 60%, 45%);--color-warning: hsl(35, 90%, 55%);--color-error: hsl(0, 70%, 55%);--font-family-base: "Inter", system-ui, -apple-system, sans-serif;--font-size-sm: clamp(.8rem, 1vw + .5rem, .9rem);--font-size-base: clamp(1rem, 1.5vw + .75rem, 1.125rem);--font-size-lg: clamp(1.25rem, 2vw + 1rem, 1.5rem);--font-size-xl: clamp(1.75rem, 3vw + 1rem, 2.5rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 8px hsla(220, 20%, 20%, .05);--shadow-md: 0 8px 24px hsla(220, 20%, 20%, .08);--shadow-lg: 0 16px 48px hsla(220, 20%, 20%, .12);--transition-fast: .2s cubic-bezier(.25, .46, .45, .94);--transition-smooth: .4s cubic-bezier(.25, 1, .5, 1);--app-max-width: 480px;--app-max-width-desktop: 1200px}@media (prefers-color-scheme: dark){:root{--color-surface: hsl(222, 20%, 15%);--color-surface-translucent: hsla(222, 20%, 15%, .8);--color-background: hsl(222, 30%, 10%);--color-text-main: hsl(220, 20%, 95%);--color-text-muted: hsl(220, 10%, 70%);--color-border: hsl(220, 20%, 25%);--shadow-sm: 0 2px 8px hsla(0, 0%, 0%, .2);--shadow-md: 0 8px 24px hsla(0, 0%, 0%, .3)}}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);background-color:var(--color-background);color:var(--color-text-main);line-height:1.5;min-height:100vh;display:flex;justify-content:center;align-items:stretch}#root{width:100%;max-width:none;background-color:var(--color-background);min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center}.layout-container{width:100%;max-width:var(--app-max-width);margin:0 auto;min-height:100vh;display:flex;flex-direction:column;position:relative;background:var(--color-background);overflow:hidden}.layout-main{flex:1;display:flex;flex-direction:column;padding:var(--space-md);position:relative}.text-xl{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.02em}.text-lg{font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.01em}.text-base{font-size:var(--font-size-base)}.text-sm{font-size:var(--font-size-sm);color:var(--color-text-muted)}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.mt-auto{margin-top:auto}.mb-md{margin-bottom:var(--space-md)}button{font-family:inherit;border:none;cursor:pointer;background:none}input,textarea{font-family:inherit;border:none;outline:none;background:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-smooth) forwards}.glass-card{background:var(--color-surface-translucent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@media (min-width: 900px){body{padding:var(--space-lg)}.layout-container{max-width:var(--app-max-width-desktop);min-height:calc(100vh - (var(--space-lg) * 2));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:var(--color-background)}.layout-main{padding:calc(var(--space-lg) + var(--space-sm))}}
