*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:#131313;color:#e5e2e1;min-height:100vh}

/* Layout */
.flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.flex-1{flex:1}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.grid{display:grid}
.hidden{display:none}
.block{display:block}
.w-full{width:100%}
.min-h-screen{min-height:100vh}
.max-w-sm{max-width:24rem}
.max-w-4xl{max-width:56rem}
.mx-auto{margin-left:auto;margin-right:auto}
.relative{position:relative}
.sticky{position:sticky}
.top-0{top:0}
.z-50{z-index:50}
.h-14{height:3.5rem}
.aspect-video{aspect-ratio:16/9}
.object-contain{object-fit:contain}

/* Spacing */
.p-8{padding:2rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-6{gap:1.5rem}
.space-y-2>*+*{margin-top:0.5rem}
.space-y-6>*+*{margin-top:1.5rem}

/* Typography */
.text-center{text-align:center}
.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-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-5xl{font-size:3rem;line-height:1.1}
.text-\[10px\]{font-size:10px}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.tracking-tight{letter-spacing:-0.025em}
.tracking-\[0\.1em\]{letter-spacing:0.1em}
.uppercase{text-transform:uppercase}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Font families */
.font-heading{font-family:'IBM Plex Sans','Segoe UI',Arial,sans-serif}
.font-body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.font-mono{font-family:'JetBrains Mono','Cascadia Code','Consolas',monospace}

/* Colors */
.bg-surface{background:#131313}
.bg-surface-dim{background:#131313}
.bg-surface-container{background:#201f1f}
.bg-surface-container-high{background:#2a2a2a}
.bg-surface-container-highest{background:#353534}
.bg-black{background:#000}
.bg-primary{background:#ffb3b5}
.bg-tertiary{background:#38debb}
.text-on-surface{color:#e5e2e1}
.text-on-surface-variant{color:#e6bcbd}
.text-primary{color:#ffb3b5}
.text-on-primary{color:#680019}
.text-outline{color:#ad8888}
.text-tertiary{color:#38debb}
.text-error{color:#ffb4ab}
.bg-error{background:#ffb4ab}
.text-on-tertiary{color:#00382d}
.hover\:bg-error:hover{background:#ffb4ab}

/* Borders */
.border{border:1px solid}
.border-b{border-bottom:1px solid}
.border-t{border-top:1px solid}
.border-outline\/10{border-color:rgba(173,136,136,0.1)}
.border-outline\/20{border-color:rgba(173,136,136,0.2)}
.border-outline\/30{border-color:rgba(173,136,136,0.3)}
.border-tertiary\/30{border-color:rgba(56,222,187,0.3)}
.border-tertiary\/40{border-color:rgba(56,222,187,0.4)}
.border-error\/30{border-color:rgba(255,180,171,0.3)}

/* Input */
input{font-family:inherit}
.outline-none{outline:none}
input:focus{outline:none}

/* Transitions */
.transition-colors{transition:color 0.15s,background-color 0.15s,border-color 0.15s}
.hover\:bg-primary-container:hover{background:#ff5167}
.hover\:bg-surface-container-highest:hover{background:#353534}
.hover\:text-primary-container:hover{color:#ff5167}
.hover\:text-on-surface:hover{color:#e5e2e1}
.focus\:border-primary:focus{border-color:#ffb3b5}

/* Responsive */
@media(min-width:768px){
.md\:px-16{padding-left:4rem;padding-right:4rem}
.md\:py-12{padding-top:3rem;padding-bottom:3rem}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.md\:text-6xl{font-size:3.75rem;line-height:1}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Buttons */
button{cursor:pointer;border:none;font-family:inherit}
