*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;min-height:100vh}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none}a{text-decoration:none;color:inherit}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}:root{--color-bg-base: #1a1a1a;--color-bg-elevated: #2d2d2d;--color-text-primary: #ffffff;--color-text-secondary: #b3b3b3;--color-primary: #0088cc;--color-success: #00d4aa;--color-error: #ff3333;--spacing-base: 4px;--shadow-light-soft: rgba(255, 255, 255, .05);--shadow-dark-soft: rgba(0, 0, 0, .3);--radius-base: 8px;--radius-lg: 16px;--radius-xl: 24px;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--easing-default: cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg-base);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin:0}h1{font-size:3rem;font-weight:700}h2{font-size:2.25rem;font-weight:700}h3{font-size:1.875rem;font-weight:600}h4{font-size:1.5rem;font-weight:600}h5{font-size:1.25rem;font-weight:600}h6{font-size:1.125rem;font-weight:600}p{margin:0;line-height:1.625}a{color:var(--color-primary);transition:color var(--duration-fast) var(--easing-default)}a:hover{color:var(--color-success)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.m-0{margin:0}.m-1{margin:var(--spacing-base)}.m-2{margin:calc(var(--spacing-base) * 2)}.m-3{margin:calc(var(--spacing-base) * 3)}.m-4{margin:calc(var(--spacing-base) * 4)}.p-0{padding:0}.p-1{padding:var(--spacing-base)}.p-2{padding:calc(var(--spacing-base) * 2)}.p-3{padding:calc(var(--spacing-base) * 3)}.p-4{padding:calc(var(--spacing-base) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}#root{width:100%;min-height:100vh}:root{--color-bg-base: #1a1a1a;--color-bg-elevated: #2d2d2d;--color-text-primary: #ffffff;--color-text-secondary: #b3b3b3;--color-primary: #0088cc;--color-success: #00d4aa;--color-error: #ff3333;--spacing-base: 4px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-6: 24px;--spacing-8: 32px;--shadow-light-soft: rgba(255, 255, 255, .05);--shadow-dark-soft: rgba(0, 0, 0, .3);--radius-base: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--easing-default: cubic-bezier(.4, 0, .2, 1)}.neomorphic{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:6px 6px 12px var(--shadow-dark-soft),-6px -6px 12px var(--shadow-light-soft);transition:box-shadow var(--duration-normal) var(--easing-default)}.neomorphic:hover{box-shadow:8px 8px 16px var(--shadow-dark-soft),-8px -8px 16px var(--shadow-light-soft)}.neomorphic:active{box-shadow:inset 4px 4px 8px var(--shadow-dark-soft),inset -4px -4px 8px var(--shadow-light-soft)}.neomorphic-pressed{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:inset 4px 4px 8px var(--shadow-dark-soft),inset -4px -4px 8px var(--shadow-light-soft)}.neomorphic-flat{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:2px 2px 4px var(--shadow-dark-soft),-2px -2px 4px var(--shadow-light-soft)}
