.site-header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0d10d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--base02);transition:border-color .3s ease,transform .3s ease}.site-header[data-astro-cid-3ef6ksr2].scrolled{border-bottom-color:var(--base03);background:#0a0d10f2}.nav-container[data-astro-cid-3ef6ksr2]{max-width:1400px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem}.brand[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.25rem;font-family:Fira Code,JetBrains Mono,monospace;font-size:1.125rem;font-weight:700;color:var(--text-primary);text-decoration:none;padding:.375rem .625rem;border-radius:var(--radius-sm);transition:all .2s ease;position:relative}.brand[data-astro-cid-3ef6ksr2]:before{content:">";position:absolute;left:0;color:var(--base0B);opacity:0;transform:translate(-4px);transition:all .2s ease}.brand[data-astro-cid-3ef6ksr2]:hover{color:var(--accent-primary);background:#ff9f5c1a}.brand[data-astro-cid-3ef6ksr2]:hover:before{opacity:1;transform:translate(0)}.brand[data-astro-cid-3ef6ksr2].active,.brand-icon[data-astro-cid-3ef6ksr2]{color:var(--accent-primary)}.brand-divider[data-astro-cid-3ef6ksr2]{color:var(--base04)}.nav-desktop[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.125rem;margin-left:auto;margin-right:1rem}.nav-link[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.875rem;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:all .2s ease;position:relative}.nav-link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));transform:translate(-50%);transition:width .3s ease;border-radius:2px}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--text-primary);background:#ffffff0d}.nav-link[data-astro-cid-3ef6ksr2]:hover:after{width:60%}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--accent-primary)}.nav-link[data-astro-cid-3ef6ksr2].active:after{width:80%}.nav-icon[data-astro-cid-3ef6ksr2]{font-size:.75rem;opacity:.7;transition:opacity .2s ease}.nav-link[data-astro-cid-3ef6ksr2]:hover .nav-icon[data-astro-cid-3ef6ksr2]{opacity:1}.nav-link[data-astro-cid-3ef6ksr2].active .nav-icon[data-astro-cid-3ef6ksr2]{opacity:1;color:var(--accent-primary)}.github-btn[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--base03);color:var(--text-secondary);transition:all .2s ease}.github-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--accent-primary);border-color:var(--accent-primary);background:#ff9f5c1a;transform:translateY(-1px);box-shadow:0 2px 8px #ff9f5c4d}.github-icon[data-astro-cid-3ef6ksr2]{width:18px;height:18px}.mobile-toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;justify-content:center;align-items:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--base03);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.mobile-toggle[data-astro-cid-3ef6ksr2]:hover{border-color:var(--accent-primary);background:#ff9f5c1a}.mobile-toggle[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.hamburger[data-astro-cid-3ef6ksr2]{width:16px;height:2px;background:var(--text-secondary);border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger[data-astro-cid-3ef6ksr2]:nth-child(1){margin-bottom:4px}.hamburger[data-astro-cid-3ef6ksr2]:nth-child(3){margin-top:4px}.mobile-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .hamburger[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .hamburger[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .hamburger[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu[data-astro-cid-3ef6ksr2]{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border-bottom:1px solid var(--base03);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:0 8px 32px #0006}.mobile-menu[data-astro-cid-3ef6ksr2][aria-hidden=false]{transform:translateY(0);opacity:1;visibility:visible}.mobile-menu-inner[data-astro-cid-3ef6ksr2]{max-width:1400px;margin:0 auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.25rem}.mobile-nav-link[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;font-size:1rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all .2s ease}.mobile-nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--text-primary);background:var(--bg-surface)}.mobile-nav-link[data-astro-cid-3ef6ksr2].active{color:var(--accent-primary);background:#ff9f5c1a}.mobile-nav-link[data-astro-cid-3ef6ksr2] .nav-icon[data-astro-cid-3ef6ksr2]{font-size:1rem}.active-indicator[data-astro-cid-3ef6ksr2]{font-size:.75rem;color:var(--accent-primary)}@media(max-width:768px){.nav-desktop[data-astro-cid-3ef6ksr2]{display:none}.mobile-toggle[data-astro-cid-3ef6ksr2]{display:flex}.github-btn[data-astro-cid-3ef6ksr2]{display:none}.mobile-menu[data-astro-cid-3ef6ksr2] .github-btn[data-astro-cid-3ef6ksr2]{display:flex;width:100%;height:auto;padding:.875rem 1rem;margin-top:.5rem}}@media(max-width:480px){.nav-container[data-astro-cid-3ef6ksr2]{padding:.75rem 1rem}.brand[data-astro-cid-3ef6ksr2]{font-size:1rem;padding:.375rem .5rem}}.skip-link[data-astro-cid-3ef6ksr2]{position:absolute;top:-100%;left:0;background:var(--accent-primary);color:var(--bg-primary);padding:.5rem 1rem;text-decoration:none;z-index:9999;border-radius:0 0 var(--radius-sm) 0;transition:top .3s ease}.skip-link[data-astro-cid-3ef6ksr2]:focus{top:0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Fira Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 10 10% 4%;--foreground: 220 10% 98%;--card: 10 10% 4%;--card-foreground: 220 10% 98%;--popover: 10 10% 4%;--popover-foreground: 220 10% 98%;--primary: 24 95% 53%;--primary-foreground: 0 0% 98%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 4% 16%;--muted-foreground: 240 5% 64%;--accent: 24 95% 53%;--accent-foreground: 0 0% 9%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 98%;--border: 240 5% 20%;--input: 240 5% 20%;--ring: 24 95% 53%;--radius: .5rem}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:80px}body{background:var(--bg-primary);color:var(--text-secondary);font-family:system-ui,-apple-system,sans-serif;line-height:1.6}.main-content{padding-top:var(--header-height, 64px)}::-moz-selection{background:var(--accent-primary);color:var(--bg-primary)}::selection{background:var(--accent-primary);color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2;text-wrap:balance}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}a,button,.bento-item{touch-action:manipulation}html{scroll-behavior:smooth;scroll-padding-top:80px}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-primary);color:var(--bg-primary);padding:8px;text-decoration:none;z-index:100}.skip-link:focus{top:0}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.glass:hover{box-shadow:0 8px 32px #0000004d,0 0 24px var(--glow-color);transform:translateY(-2px);transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.bento-item{composes:glass;padding:var(--space-6);position:relative;overflow:hidden;transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.bento-item:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0006,0 0 32px var(--glow-color)}.btn-accent{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);background:var(--accent-primary);color:var(--bg-primary);font-weight:600;border-radius:var(--radius-full);border:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-out),background-color var(--duration-fast) var(--ease-out);text-decoration:none}.btn-accent:hover{transform:scale(1.05);box-shadow:0 0 24px var(--glow-color)}.btn-accent:active{transform:scale(.98)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);background:transparent;color:var(--text-secondary);border:1px solid var(--text-subtle);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast),background-color var(--duration-fast) var(--ease-out);text-decoration:none}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background-color:#ff9f5c1a}.btn-outline:active{transform:scale(.98)}.gradient-text{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--base13) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge-live{background:#4ecdc426;color:var(--base0B);border:1px solid rgba(78,205,196,.3)}.badge-active{background:#ff9f5c26;color:var(--accent-primary);border:1px solid rgba(255,159,92,.3)}.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}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.right-0{right:0}.top-0{top:0}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.max-h-\[400px\]{max-height:400px}.min-h-\[300px\]{min-height:300px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-\[1px\]{width:1px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-md{max-width:28rem}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-2{--tw-translate-x: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-m-20{scroll-margin:5rem}.auto-rows-\[120px\]{grid-auto-rows:120px}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[var\(--base02\)\]{border-color:var(--base02)}.border-\[var\(--base03\)\]{border-color:var(--base03)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-transparent{border-color:transparent}.bg-\[var\(--accent-primary\)\]{background-color:var(--accent-primary)}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--base01\)\]{background-color:var(--base01)}.bg-\[var\(--base02\)\]{background-color:var(--base02)}.bg-\[var\(--base09\)\]{background-color:var(--base09)}.bg-\[var\(--base0B\)\]{background-color:var(--base0B)}.bg-\[var\(--base0D\)\]{background-color:var(--base0D)}.bg-\[var\(--bg-surface\)\]{background-color:var(--bg-surface)}.bg-\[var\(--destructive\)\]{background-color:var(--destructive)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--secondary\)\]{background-color:var(--secondary)}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:Fira Code,monospace}.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}.text-\[10px\]{font-size:10px}.text-\[8px\]{font-size:8px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--base00\)\]{color:var(--base00)}.text-\[var\(--base04\)\]{color:var(--base04)}.text-\[var\(--base05\)\]{color:var(--base05)}.text-\[var\(--base06\)\]{color:var(--base06)}.text-\[var\(--base07\)\]{color:var(--base07)}.text-\[var\(--base09\)\]{color:var(--base09)}.text-\[var\(--base0B\)\]{color:var(--base0B)}.text-\[var\(--base0D\)\]{color:var(--base0D)}.text-\[var\(--destructive-foreground\)\]{color:var(--destructive-foreground)}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--primary-foreground\)\]{color:var(--primary-foreground)}.text-\[var\(--secondary-foreground\)\]{color:var(--secondary-foreground)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{color-scheme:dark;image-rendering:auto}@media(forced-colors:active){:root{color-scheme:only dark}.glass,.bento-item,.btn-accent,.btn-outline{forced-color-adjust:auto;border:1px solid CanvasText}}:root{--base00: #0a0c10;--base01: #141820;--base02: #1e2430;--base03: #2a3242;--base04: #5a6278;--base05: #8a92a8;--base06: #c8ced8;--base07: #f0f2f8;--base08: #ff6b6b;--base09: #ff9f5c;--base0A: #ffd93d;--base0B: #4ecdc4;--base0C: #7dd3fc;--base0D: #a78bfa;--base0E: #f472b6;--base0F: #a38d56;--base10: #ff8787;--base11: #ffb87a;--base12: #ffe066;--base13: #6ee7de;--base14: #93c5fd;--base15: #c4b5fd;--base16: #f9a8d4;--base17: #d4c4a0;--bg-primary: var(--base00);--bg-elevated: var(--base01);--bg-surface: var(--base02);--bg-hover: var(--base03);--text-primary: var(--base07);--text-secondary: var(--base06);--text-muted: var(--base05);--text-subtle: var(--base04);--accent-primary: var(--base09);--accent-secondary: var(--base0D);--accent-success: var(--base0B);--accent-error: var(--base08);--glass-bg: rgba(30, 36, 48, .7);--glass-border: rgba(138, 146, 168, .15);--glass-blur: 16px;--glow-color: rgba(255, 159, 92, .4);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--text-hero: clamp(3rem, 10vw, 8rem);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .6s}@media(color-gamut:p3){:root{--base08: color(display-p3 1 .45 .45);--base09: color(display-p3 1 .65 .4);--base0A: color(display-p3 1 .9 .35);--base0B: color(display-p3 .35 .85 .82);--base0C: color(display-p3 .55 .85 1);--base0D: color(display-p3 .7 .6 1);--base0E: color(display-p3 .98 .5 .75);--base0F: color(display-p3 .68 .6 .4);--base10: color(display-p3 1 .55 .55);--base11: color(display-p3 1 .75 .5);--base12: color(display-p3 1 .9 .45);--base13: color(display-p3 .45 .93 .9);--base14: color(display-p3 .6 .8 1);--base15: color(display-p3 .8 .75 1);--base16: color(display-p3 .98 .68 .85);--base17: color(display-p3 .85 .8 .65)}}@media(color-gamut:rec2020){:root{--base09: color(rec2020 1 .6 .35);--base0D: color(rec2020 .65 .55 1);--glow-color: color(rec2020 1 .6 .35 / .5)}}@media(dynamic-range:high){:root{--glow-color: color(display-p3 1 .65 .4 / .6)}.glass:hover,.bento-item:hover{box-shadow:0 8px 32px #0006,0 0 40px color(display-p3 1 .65 .4),0 0 80px color(display-p3 1 .65 .4 / .3)}.bento-item:hover:after{filter:blur(12px);opacity:.7}.btn-accent:hover{box-shadow:0 0 30px color(display-p3 1 .65 .4),0 0 60px color(display-p3 1 .65 .4 / .4)}}@media(color-gamut:p3){:root{--accent-primary: oklch(.72 .18 55);--accent-secondary: oklch(.68 .15 290);--accent-success: oklch(.7 .12 195);--accent-error: oklch(.65 .2 25);--glow-color: oklch(.72 .18 55 / .5)}}img,video,picture,svg{color-rendering:optimizeQuality;image-rendering:auto}@supports (color: color(srgb 0 0 0)){img:not([style*=color-profile]),picture img{color:#fff}}img[src$=".png"]{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}img[src$=".jpg"],img[src$=".jpeg"]{image-rendering:auto}svg{color-rendering:optimizeQuality;shape-rendering:geometricPrecision}@keyframes glow-float-1{0%,to{transform:translate(0)}50%{transform:translate(100px,50px)}}@keyframes glow-float-2{0%,to{transform:translate(0)}50%{transform:translate(-80px,-40px)}}#glow-1{animation:glow-float-1 25s ease-in-out infinite}#glow-2{animation:glow-float-2 30s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-animate]{opacity:1;transform:none}#glow-1,#glow-2,#glow-3{animation:none}}.crt-overlay{position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0px,transparent 1px,transparent 2px,transparent 3px);pointer-events:none;z-index:9999;opacity:.6}.crt-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.1) 100%);pointer-events:none}#hero-heading{font-size:clamp(2.5rem,6vw,5rem)!important;letter-spacing:-.02em;line-height:1.1;font-weight:700}#projects-heading,#about-heading,#contact-heading{font-size:clamp(1.5rem,3vw,2.5rem)!important;letter-spacing:-.01em;font-weight:600}@media(min-width:768px){.bento-item:nth-child(1){grid-column:span 2;grid-row:span 2}.bento-item:nth-child(4){transform:rotate(-2deg);transition:transform .3s ease}.bento-item:nth-child(4):hover{transform:rotate(0) translateY(-8px)}.bento-item:nth-child(6){grid-column:span 2}.bento-item:nth-child(8){transform:rotate(1deg);transition:transform .3s ease}.bento-item:nth-child(8):hover{transform:rotate(0) translateY(-8px)}}@media(max-width:767px){.bento-item:nth-child(2){grid-column:span 2}.bento-item:nth-child(5){grid-column:span 2}}.bento-item:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(45deg,var(--base09),var(--base0D),var(--base0B),var(--base09));background-size:400% 400%;z-index:-1;opacity:0;transition:opacity .3s;filter:blur(8px);animation:none}.bento-item:hover:after{opacity:.5;animation:border-rotate 3s linear infinite}@keyframes border-rotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.beat-indicator{height:4px!important;background:linear-gradient(135deg,transparent 0%,var(--base09) 25%,var(--base0D) 50%,var(--base0B) 75%,transparent 100%)!important;transform:scaleY(2)!important}.beat-indicator:after{display:none}.command-feedback{position:absolute;right:20px;top:50%;transform:translateY(-50%);pointer-events:none}.command-hit{color:var(--base0B);font-size:24px;font-weight:700;animation:hit-confirm .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes hit-confirm{0%{transform:translateY(-50%) scale(0);opacity:0}50%{transform:translateY(-50%) scale(1.3);opacity:1}to{transform:translateY(-50%) scale(1);opacity:0}}.combo-milestone{position:fixed;top:20px;left:50%;transform:translate(-50%) scale(.5);background:linear-gradient(135deg,var(--base09) 0%,var(--base0D) 100%);color:var(--base00);padding:8px 16px;border-radius:20px;font-weight:700;font-size:14px;animation:combo-pop .5s cubic-bezier(.34,1.56,.64,1) forwards;z-index:1000;box-shadow:0 4px 20px #ff9f394d}@keyframes combo-pop{0%{transform:translate(-50%) scale(.5);opacity:0}60%{transform:translate(-50%) scale(1.1);opacity:1}to{transform:translate(-50%) scale(1);opacity:0}}.bento-item{position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.bento-item:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0006}.bento-item:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--mouse-x, 50%) or circle at 50% var(--mouse-y),rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;transition:opacity .2s ease-out;pointer-events:none}.bento-item:hover:before{opacity:1}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.link-underline{position:relative}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--base09),var(--base0D));transition:width .3s cubic-bezier(.4,0,.2,1)}.link-underline:hover:after{width:100%}.btn-accent,.btn-outline{position:relative;overflow:hidden;transition:transform .15s ease-out,background-color .15s ease-out}.btn-accent:active,.btn-outline:active{transform:scale(.95)}.btn-accent:before,.btn-outline:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, var(--ripple-y)),rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.btn-accent:active:before,.btn-outline:active:before{opacity:1}.beat-indicator{width:100%;height:2px;background:var(--base02);position:relative;overflow:hidden}.beat-indicator:after{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--base09),var(--base0D));transition:width .6s cubic-bezier(.4,0,.2,1)}.beat-indicator.active:after{width:100%}.beat-indicator.hit:after{animation:beat-flash .3s ease-out forwards}@keyframes beat-flash{0%{width:100%;opacity:1}to{width:100%;opacity:.3}}.terminal-status{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;background:var(--base01);border-radius:12px;font-size:11px}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}.status-dot.online{background:var(--base0B)}.status-dot.busy{background:var(--base09)}.status-dot.offline{background:var(--base08)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.glass{background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.glass:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.glass:hover{border-color:#ffffff26;box-shadow:0 8px 32px #0000004d}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bento-item:hover{transform:none}.command-hit,.combo-milestone{display:none}}html{scroll-behavior:smooth}:root{--judgment-perfect: #FFD700;--judgment-great: #C0C0C0;--judgment-good: #CD7F32;--judgment-miss: #FF4444}.judgment-perfect{color:var(--judgment-perfect)}.judgment-great{color:var(--judgment-great)}.judgment-good{color:var(--judgment-good)}.judgment-miss{color:var(--judgment-miss)}.typewriter{overflow:hidden;border-right:2px solid var(--base0D);white-space:nowrap;animation:typing 2s steps(40) forwards,blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--base0D)}}.progress-meter{height:4px;background:var(--base01);border-radius:2px;overflow:hidden}.progress-meter-fill{height:100%;background:linear-gradient(90deg,var(--base09),var(--base0D));transition:width .3s cubic-bezier(.4,0,.2,1)}.floating-label{position:relative}.floating-label input:not(:-moz-placeholder)+label{transform:translateY(-24px) scale(.85);color:var(--base0D)}.floating-label input:focus+label,.floating-label input:not(:placeholder-shown)+label{transform:translateY(-24px) scale(.85);color:var(--base0D)}.loader{width:40px;height:40px;border:3px solid var(--base02);border-top-color:var(--base0D);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--base01) 0%,var(--base02) 50%,var(--base01) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;bottom:20px;right:20px;padding:12px 20px;background:var(--base00);border:1px solid var(--base02);border-left:4px solid var(--base0B);border-radius:4px;box-shadow:0 4px 20px #0000004d;animation:slide-in .3s ease-out,fade-out .3s ease-in 2.7s forwards;z-index:1000}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade-out{to{opacity:0;transform:translateY(-10px)}}.stat-pulse{animation:stat-pulse-animation 2s ease-in-out infinite}@keyframes stat-pulse-animation{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.stat-pulse{animation:none}}:root{--retro-pixel-unit: 4px;--retro-transition-instant: 0ms;--retro-transition-fast: .15s;--retro-transition-normal: .3s;--retro-transition-slow: .6s;--retro-scanline-opacity: .6;--retro-marquee-speed: 20s;--retro-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--retro-ease-snap: cubic-bezier(.85, 0, .15, 1);--retro-ease-retro: cubic-bezier(.25, .46, .45, .94)}[data-theme=ddr]{--bg-primary: #0a0e1a;--bg-elevated: #141a2e;--bg-surface: #1a2040;--bg-hover: #222850;--text-primary: #ffffff;--text-secondary: #c8cee0;--text-muted: #8890a8;--text-subtle: #5a6080;--accent-primary: #ffd93d;--accent-secondary: #ff2d78;--accent-tertiary: #00b4d8;--accent-success: #00ff88;--accent-error: #ff4444;--accent-warning: #ff9f5c;--ddr-marvelous: #ffd93d;--ddr-perfect: #ff9f5c;--ddr-great: #00ff88;--ddr-good: #00b4d8;--ddr-almost: #8888ff;--ddr-miss: #ff4444;--glass-bg: rgba(20, 26, 46, .85);--glass-border: rgba(255, 217, 61, .15);--glow-color: rgba(255, 217, 61, .4);--font-display: "Anton", "Impact", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "Fira Code", monospace;--heading-size-hero: clamp(2rem, 5vw, 4rem);--heading-size-1: clamp(1.75rem, 4vw, 3rem);--heading-size-2: clamp(1.25rem, 2.5vw, 1.75rem);--letter-spacing-display: .05em;--letter-spacing-body: .01em;--song-row-height: 60px;--sidebar-width: 280px;--footer-height: 48px;--bpm-base: 120;--radius-theme: 4px;--border-width: 1px;--border-color: rgba(255, 217, 61, .2);--retro-scanline-opacity: .5}[data-theme=iidx]{--bg-primary: #0d0a1a;--bg-elevated: #1a1432;--bg-surface: #241e40;--bg-hover: #2e2850;--text-primary: #f0f0f0;--text-secondary: #c8c0e0;--text-muted: #7068a0;--text-subtle: #504880;--accent-primary: #00aaff;--accent-secondary: #ff1744;--accent-tertiary: #c0c0c0;--accent-success: #00c853;--accent-error: #ff1744;--accent-warning: #ffeb3b;--iidx-beginner: #00c853;--iidx-normal: #2196f3;--iidx-hyper: #ffeb3b;--iidx-another: #ff1744;--iidx-leggendaria: #e040fb;--iidx-grade-aaa: #ffd700;--iidx-grade-aa: #c0c0c0;--iidx-grade-a: #cd7f32;--iidx-grade-b: #4fc3f7;--iidx-grade-c: #81c784;--iidx-grade-d: #e0e0e0;--iidx-grade-e: #9e9e9e;--iidx-grade-f: #ef5350;--glass-bg: rgba(26, 20, 50, .85);--glass-border: rgba(0, 170, 255, .15);--glow-color: rgba(0, 170, 255, .3);--font-display: "Orbitron", "Exo 2", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "Fira Code", monospace;--heading-size-hero: clamp(2rem, 4.5vw, 3.5rem);--heading-size-1: clamp(1.5rem, 3.5vw, 2.5rem);--heading-size-2: clamp(1.1rem, 2vw, 1.5rem);--letter-spacing-display: .08em;--letter-spacing-body: .02em;--column-count: 7;--column-gap: 2px;--note-width: 40px;--footer-height: 32px;--radius-theme: 2px;--border-width: 1px;--border-color: rgba(0, 170, 255, .2);--retro-scanline-opacity: .4}[data-theme=gamecube]{--n64-button-a: #3333FF;--n64-button-b: #45D043;--n64-button-start: #F86039;--n64-button-c: #E9CD35;--n64-shoulder-cyan: #17D6E8;--n64-menu-purple: #B97DF2;--n64-bg-dark: #121018;--n64-bg-surface: #1a1628;--n64-bg-card: #221e30;--gc-indigo: #4A3A92;--gc-spice-orange: #E8621C;--gc-jet-black: #0a0a0a;--gc-platinum: #d0d0d0;--gc-orange-gradient-start: #E8621C;--gc-orange-gradient-end: #FF8C42;--snes-purple: #A25CC9;--snes-gray: #B7B7B7;--snes-bg-light: #B7B7B7;--snes-panel: #E5E5E5;--snes-dark-accent: #8C78C7;--snes-pixel-blue: #3A88E4;--snes-sprite-green: #8CCB3A;--snes-retro-red: #E94E4E;--snes-golden-yellow: #FFC700;--snes-text: #515051;--bg-primary: #121018;--bg-elevated: #1a1628;--bg-surface: #221e30;--bg-hover: #2e2a40;--text-primary: #F2F2F2;--text-secondary: #CCCCCC;--text-muted: #808080;--text-subtle: #5a5a6a;--accent-primary: #B97DF2;--accent-secondary: #17D6E8;--accent-success: #45D043;--accent-error: #F86039;--accent-warning: #E9CD35;--accent-info: #3333FF;--glass-bg: rgba(34, 30, 48, .8);--glass-border: rgba(185, 125, 242, .2);--glow-color: rgba(185, 125, 242, .4);--glow-color-secondary: rgba(23, 214, 232, .3);--font-display: "Bebas Neue", "Oswald", sans-serif;--font-sub-display: "Oswald", "Impact", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-pixel: "Press Start 2P", monospace;--font-mono: "Fira Code", monospace;--heading-size-hero: clamp(2.5rem, 6vw, 4.25rem);--heading-size-1: clamp(1.75rem, 4vw, 3.25rem);--heading-size-2: clamp(1.25rem, 3vw, 2rem);--heading-size-3: clamp(1rem, 2vw, 1.5rem);--letter-spacing-hero: .1em;--letter-spacing-display: .08em;--letter-spacing-sub: .06em;--letter-spacing-body: .02em;--letter-spacing-pixel: .05em;--gc-unit: .5rem;--gc-space-xs: .25rem;--gc-space-sm: .5rem;--gc-space-md: 1rem;--gc-space-lg: 1.5rem;--gc-space-xl: 2rem;--gc-space-2xl: 3rem;--section-padding: 2rem;--card-padding: 1.5rem;--footer-height: 40px;--radius-theme: 6px;--border-width: 2px;--border-color: rgba(185, 125, 242, .3);--gc-focus-ring: 3px solid var(--accent-primary);--gc-focus-offset: 0px;--gc-card-bg: linear-gradient( 135deg, rgba(74, 58, 146, .15) 0%, rgba(34, 30, 48, .9) 100% );--gc-card-border: 2px solid rgba(185, 125, 242, .15);--retro-scanline-opacity: .35;--gc-mode7-angle: 2deg}[data-theme=dreamcast]{color-scheme:light;--bg-primary: #FFFFFF;--bg-elevated: #F5F5F5;--bg-surface: #EEEEEE;--bg-hover: #E5E5E5;--text-primary: #1a1a1a;--text-secondary: #333333;--text-muted: #666666;--text-subtle: #999999;--accent-primary: #E8621C;--accent-secondary: #0072CE;--accent-success: #4CAF50;--accent-error: #D32F2F;--accent-warning: #F5E6C8;--accent-info: #0072CE;--vmu-cream: #F5E6C8;--vmu-screen: #8bac0f;--vmu-screen-off: #9BBC0F;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .1);--glow-color: rgba(232, 98, 28, .2);--font-display: "Exo 2", "Orbitron", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-vmu: "VT323", "Fira Code", monospace;--font-mono: "Fira Code", monospace;--heading-size-hero: clamp(2rem, 4.5vw, 3.5rem);--heading-size-1: clamp(1.5rem, 3.5vw, 2.5rem);--heading-size-2: clamp(1.1rem, 2vw, 1.5rem);--letter-spacing-display: .04em;--letter-spacing-body: .01em;--vmu-width: 48px;--vmu-height: 32px;--footer-height: 36px;--radius-theme: 8px;--border-width: 1px;--border-color: rgba(0, 0, 0, .1);--retro-scanline-opacity: 0}[data-theme=win95]{color-scheme:light;--bg-primary: #008080;--bg-elevated: #C0C0C0;--bg-surface: #FFFFFF;--bg-hover: #D4D4D4;--text-primary: #000000;--text-secondary: #1a1a1a;--text-muted: #808080;--text-subtle: #A0A0A0;--accent-primary: #000080;--accent-secondary: #800080;--accent-success: #008000;--accent-error: #800000;--accent-warning: #808000;--accent-info: #0000FF;--win-title-active: #000080;--win-title-inactive: #808080;--win-title-text: #FFFFFF;--win-highlight: #FFFFFF;--win-light: #DFDFDF;--win-shadow: #808080;--win-dark-shadow: #000000;--win-button-face: #C0C0C0;--glass-bg: #C0C0C0;--glass-border: #808080;--glow-color: transparent;--font-display: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-body: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-mono: "Fira Code", "Courier New", monospace;--heading-size-hero: 16px;--heading-size-1: 14px;--heading-size-2: 13px;--heading-size-3: 12px;--body-size: 11px;--letter-spacing-display: 0em;--letter-spacing-body: 0em;--dlu-base: 4px;--win-title-height: 18px;--win-button-height: 23px;--win-padding: 4px;--win-status-height: 20px;--footer-height: 20px;--radius-theme: 0px;--border-width: 1px;--border-color: #808080;--win-raised: inset 1px 1px 0 #FFFFFF, inset -1px -1px 0 #808080, inset 2px 2px 0 #DFDFDF, inset -2px -2px 0 #000000;--win-sunken: inset 1px 1px 0 #808080, inset -1px -1px 0 #FFFFFF, inset 2px 2px 0 #000000, inset -2px -2px 0 #DFDFDF;--retro-scanline-opacity: 0}[data-theme=linux]{--bg-primary: #282828;--bg-elevated: #3c3836;--bg-surface: #504945;--bg-hover: #665c54;--text-primary: #ebdbb2;--text-secondary: #bdae93;--text-muted: #928374;--text-subtle: #665c54;--accent-primary: #689d6a;--accent-secondary: #d65d0e;--accent-success: #98971a;--accent-error: #cc241d;--accent-warning: #d79921;--accent-info: #458588;--gruvbox-red: #cc241d;--gruvbox-green: #98971a;--gruvbox-yellow: #d79921;--gruvbox-blue: #458588;--gruvbox-purple: #b16286;--gruvbox-aqua: #689d6a;--gruvbox-orange: #d65d0e;--glass-bg: rgba(40, 40, 40, .92);--glass-border: rgba(146, 131, 116, .3);--glow-color: transparent;--font-display: "JetBrains Mono", "Fira Code", monospace;--font-body: "JetBrains Mono", "Fira Code", monospace;--font-mono: "JetBrains Mono", "Fira Code", monospace;--heading-size-hero: 18px;--heading-size-1: 15px;--heading-size-2: 14px;--body-size: 13px;--letter-spacing-display: 0em;--letter-spacing-body: 0em;--wm-gap: 8px;--wm-border-width: 2px;--wm-focus-border: #689d6a;--wm-unfocus-border: #504945;--wm-status-height: 24px;--wm-inner-padding: 4px;--footer-height: 24px;--radius-theme: 0px;--border-width: 2px;--border-color: #665c54;--retro-scanline-opacity: .15}@media(prefers-reduced-motion:reduce){:root,[data-theme=ddr],[data-theme=iidx],[data-theme=gamecube],[data-theme=dreamcast],[data-theme=win95],[data-theme=linux]{--retro-transition-instant: 0ms;--retro-transition-fast: 0ms;--retro-transition-normal: 0ms;--retro-transition-slow: 0ms;--retro-marquee-speed: 0s}}[data-theme=ddr]{--font-display: "Anton", "Impact", sans-serif;--font-body: "Inter", system-ui, sans-serif}[data-theme=ddr] .retro-card{background:var(--glass-bg);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-theme);padding:1rem;position:relative;overflow:hidden}[data-theme=ddr] .retro-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--ddr-marvelous),var(--accent-secondary),var(--accent-tertiary))}[data-theme=ddr] .retro-heading{font-family:var(--font-display);font-size:var(--heading-size-hero);text-transform:uppercase;letter-spacing:var(--letter-spacing-display);color:var(--accent-primary);text-shadow:0 0 10px rgba(255,217,61,.5),0 0 30px rgba(255,217,61,.2);line-height:1.1}[data-theme=ddr] .retro-subheading{font-family:var(--font-display);font-size:var(--heading-size-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-display);color:var(--text-primary)}[data-theme=ddr] .retro-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;font-family:var(--font-display);font-size:1rem;text-transform:uppercase;letter-spacing:var(--letter-spacing-display);color:var(--bg-primary);background:var(--accent-primary);border:2px solid var(--accent-primary);border-radius:var(--radius-theme);cursor:pointer;transition:transform var(--retro-transition-fast) var(--retro-ease-bounce),box-shadow var(--retro-transition-fast)}[data-theme=ddr] .retro-btn:hover{transform:scale(1.05);box-shadow:0 0 20px var(--glow-color),0 0 40px #ffd93d33}[data-theme=ddr] .retro-btn:active{transform:scale(.97)}[data-theme=ddr] .retro-btn--outline{background:transparent;color:var(--accent-primary)}[data-theme=ddr] .retro-btn--pink{background:var(--accent-secondary);border-color:var(--accent-secondary)}[data-theme=ddr] .retro-btn--blue{background:var(--accent-tertiary);border-color:var(--accent-tertiary)}[data-theme=ddr] .retro-list{list-style:none;padding:0;margin:0}[data-theme=ddr] .retro-list-item{padding:.75rem 1rem;border-bottom:1px solid rgba(255,217,61,.1);display:flex;align-items:center;gap:1rem;cursor:pointer;transition:background var(--retro-transition-fast),transform var(--retro-transition-fast)}[data-theme=ddr] .retro-list-item:hover{background:var(--bg-hover);transform:translate(4px)}[data-theme=ddr] .retro-list-item--active{background:var(--bg-hover);border-left:3px solid var(--accent-primary)}[data-theme=ddr] .retro-judgment{display:inline-block;font-family:var(--font-display);font-size:1.5rem;text-transform:uppercase;letter-spacing:.1em;padding:.25rem .75rem;border-radius:2px}[data-theme=ddr] .retro-judgment--marvelous{color:var(--ddr-marvelous);text-shadow:0 0 15px rgba(255,217,61,.6)}[data-theme=ddr] .retro-judgment--perfect{color:var(--ddr-perfect)}[data-theme=ddr] .retro-judgment--great{color:var(--ddr-great)}[data-theme=ddr] .retro-judgment--good{color:var(--ddr-good)}[data-theme=ddr] .retro-judgment--miss{color:var(--ddr-miss)}@keyframes ddr-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}@keyframes ddr-arrow-scroll{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes ddr-flash{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}to{opacity:0;transform:scale(1.5)}}[data-theme=ddr] .retro-animate-pulse{animation:ddr-pulse .5s ease-in-out infinite}[data-theme=ddr] .retro-animate-arrow{animation:ddr-arrow-scroll 1.5s linear infinite}[data-theme=ddr] .retro-animate-flash{animation:ddr-flash .4s ease-out forwards}[data-theme=ddr] .retro-bpm-bar{height:4px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary));border-radius:2px;animation:ddr-bpm-glow .5s ease-in-out infinite alternate}@keyframes ddr-bpm-glow{0%{box-shadow:0 0 4px var(--glow-color)}to{box-shadow:0 0 12px var(--glow-color)}}[data-theme=ddr] *:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){[data-theme=ddr] .retro-animate-pulse,[data-theme=ddr] .retro-animate-arrow,[data-theme=ddr] .retro-animate-flash,[data-theme=ddr] .retro-bpm-bar{animation:none}[data-theme=ddr] .retro-list-item:hover{transform:none}}[data-theme=iidx]{--font-display: "Orbitron", "Exo 2", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "Fira Code", monospace}[data-theme=iidx] .retro-card{background:var(--glass-bg);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-theme);padding:1rem;position:relative}[data-theme=iidx] .retro-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--iidx-beginner) 14%,var(--iidx-normal) 28%,var(--iidx-hyper) 42%,var(--iidx-another) 57%,var(--iidx-leggendaria) 71%,transparent 100%)}[data-theme=iidx] .retro-heading{font-family:var(--font-display);font-size:var(--heading-size-hero);text-transform:uppercase;letter-spacing:var(--letter-spacing-display);color:var(--accent-primary);text-shadow:0 0 8px rgba(0,170,255,.4)}[data-theme=iidx] .retro-subheading{font-family:var(--font-display);font-size:var(--heading-size-1);letter-spacing:var(--letter-spacing-display);color:var(--text-secondary)}[data-theme=iidx] .retro-btn{display:inline-flex;align-items:center;justify-content:center;padding:.4rem 1.2rem;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:var(--letter-spacing-display);color:var(--bg-primary);background:var(--accent-primary);border:none;border-radius:var(--radius-theme);cursor:pointer;transition:transform var(--retro-transition-fast),box-shadow var(--retro-transition-fast)}[data-theme=iidx] .retro-btn:hover{transform:translateY(-2px);box-shadow:0 0 16px var(--glow-color)}[data-theme=iidx] .retro-btn--outline{background:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary)}[data-theme=iidx] .retro-difficulty{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .6rem;border-radius:2px}[data-theme=iidx] .retro-difficulty--beginner{color:var(--iidx-beginner);border:1px solid var(--iidx-beginner)}[data-theme=iidx] .retro-difficulty--normal{color:var(--iidx-normal);border:1px solid var(--iidx-normal)}[data-theme=iidx] .retro-difficulty--hyper{color:var(--iidx-hyper);border:1px solid var(--iidx-hyper)}[data-theme=iidx] .retro-difficulty--another{color:var(--iidx-another);border:1px solid var(--iidx-another)}[data-theme=iidx] .retro-difficulty--leggendaria{color:var(--iidx-leggendaria);border:1px solid var(--iidx-leggendaria);text-shadow:0 0 8px rgba(224,64,251,.5)}[data-theme=iidx] .retro-grade{font-family:var(--font-display);font-weight:700;font-size:2rem;letter-spacing:.05em}[data-theme=iidx] .retro-grade--aaa{color:var(--iidx-grade-aaa)}[data-theme=iidx] .retro-grade--aa{color:var(--iidx-grade-aa)}[data-theme=iidx] .retro-grade--a{color:var(--iidx-grade-a)}[data-theme=iidx] .retro-grade--b{color:var(--iidx-grade-b)}[data-theme=iidx] .retro-grade--c{color:var(--iidx-grade-c)}[data-theme=iidx] .retro-grade--d{color:var(--iidx-grade-d)}[data-theme=iidx] .retro-grade--e{color:var(--iidx-grade-e)}[data-theme=iidx] .retro-grade--f{color:var(--iidx-grade-f)}[data-theme=iidx] .retro-stat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--column-gap)}[data-theme=iidx] .retro-stat-item{text-align:center;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);padding:.25rem}[data-theme=iidx] .retro-stat-value{display:block;font-size:1rem;color:var(--text-primary);font-weight:600}@keyframes iidx-note-fall{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes iidx-key-flash{0%{background-color:var(--accent-primary)}to{background-color:transparent}}@keyframes iidx-grade-reveal{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}[data-theme=iidx] .retro-animate-note{animation:iidx-note-fall 2s linear infinite}[data-theme=iidx] .retro-animate-grade{animation:iidx-grade-reveal .6s var(--retro-ease-bounce) forwards}[data-theme=iidx] *:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){[data-theme=iidx] .retro-animate-note,[data-theme=iidx] .retro-animate-grade{animation:none}}[data-theme=gamecube]{--font-display: "Bebas Neue", "Oswald", sans-serif;--font-sub-display: "Oswald", "Impact", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-pixel: "Press Start 2P", monospace}[data-theme=gamecube] .retro-card{background:var(--gc-card-bg);border:var(--gc-card-border);border-radius:var(--radius-theme);padding:var(--gc-space-lg);position:relative;overflow:hidden;transition:transform var(--retro-transition-normal) var(--retro-ease-retro),box-shadow var(--retro-transition-normal)}[data-theme=gamecube] .retro-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(185,125,242,.08) 0%,transparent 60%);pointer-events:none}[data-theme=gamecube] .retro-card:hover{transform:translateY(-4px) perspective(800px) rotateX(var(--gc-mode7-angle));box-shadow:0 8px 32px #0006,0 0 24px var(--glow-color),0 0 48px var(--glow-color-secondary)}[data-theme=gamecube] .retro-card--snes{background:var(--snes-panel);border:3px solid var(--snes-dark-accent);color:var(--snes-text)}[data-theme=gamecube] .retro-card--snes .retro-heading,[data-theme=gamecube] .retro-card--snes h1,[data-theme=gamecube] .retro-card--snes h2,[data-theme=gamecube] .retro-card--snes h3{color:var(--snes-text)}[data-theme=gamecube] .retro-card--pixel{border:4px solid var(--accent-primary);border-radius:0;background:var(--bg-surface);image-rendering:pixelated}[data-theme=gamecube] .retro-heading{font-family:var(--font-display);font-size:var(--heading-size-hero);letter-spacing:var(--letter-spacing-hero);color:var(--text-primary);text-transform:uppercase;line-height:1.1}[data-theme=gamecube] .retro-heading--purple{color:var(--accent-primary);text-shadow:0 0 20px rgba(185,125,242,.4)}[data-theme=gamecube] .retro-heading--cyan{color:var(--accent-secondary);text-shadow:0 0 20px rgba(23,214,232,.4)}[data-theme=gamecube] .retro-heading--pixel{font-family:var(--font-pixel);font-size:clamp(1rem,2.5vw,1.5rem);letter-spacing:var(--letter-spacing-pixel);color:var(--snes-golden-yellow);text-shadow:2px 2px 0 rgba(0,0,0,.5)}[data-theme=gamecube] .retro-subheading{font-family:var(--font-sub-display);font-size:var(--heading-size-1);letter-spacing:var(--letter-spacing-display);color:var(--text-secondary);text-transform:uppercase}[data-theme=gamecube] .retro-subheading--gc{color:var(--gc-spice-orange)}[data-theme=gamecube] .retro-subheading--snes{font-family:var(--font-pixel);font-size:.7rem;color:var(--snes-purple)}[data-theme=gamecube] .retro-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--gc-space-sm) var(--gc-space-md);font-family:var(--font-sub-display);font-size:.9rem;text-transform:uppercase;letter-spacing:var(--letter-spacing-sub);border:2px solid transparent;border-radius:var(--radius-theme);cursor:pointer;transition:transform var(--retro-transition-fast) var(--retro-ease-bounce),box-shadow var(--retro-transition-fast),background-color var(--retro-transition-fast)}[data-theme=gamecube] .retro-btn--a{background:var(--n64-button-a);color:#fff;border-color:var(--n64-button-a)}[data-theme=gamecube] .retro-btn--a:hover{box-shadow:0 0 16px #3333ff80;transform:scale(1.05)}[data-theme=gamecube] .retro-btn--b{background:var(--n64-button-b);color:#fff;border-color:var(--n64-button-b)}[data-theme=gamecube] .retro-btn--b:hover{box-shadow:0 0 16px #45d04380;transform:scale(1.05)}[data-theme=gamecube] .retro-btn--start{background:var(--n64-button-start);color:#fff;border-color:var(--n64-button-start);border-radius:50%;padding:var(--gc-space-sm) var(--gc-space-md)}[data-theme=gamecube] .retro-btn--start:hover{box-shadow:0 0 20px #f8603980;transform:scale(1.08)}[data-theme=gamecube] .retro-btn--outline{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}[data-theme=gamecube] .retro-btn--outline:hover{background:#b97df21a;box-shadow:0 0 12px var(--glow-color)}[data-theme=gamecube] .retro-btn--gc-orange{background:linear-gradient(135deg,var(--gc-spice-orange),var(--gc-orange-gradient-end));color:#fff;border-color:var(--gc-spice-orange)}[data-theme=gamecube] .retro-btn--snes{font-family:var(--font-pixel);font-size:.6rem;background:var(--snes-gray);color:var(--snes-text);border:3px solid var(--snes-dark-accent);border-radius:0}[data-theme=gamecube] .retro-btn--snes:hover{background:var(--snes-dark-accent);color:var(--snes-panel)}[data-theme=gamecube] .retro-nav{display:flex;gap:var(--gc-space-md);padding:var(--gc-space-sm) 0}[data-theme=gamecube] .retro-nav-item{font-family:var(--font-sub-display);font-size:.85rem;text-transform:uppercase;letter-spacing:var(--letter-spacing-sub);color:var(--text-muted);text-decoration:none;padding:var(--gc-space-xs) var(--gc-space-sm);border-left:2px solid transparent;transition:color var(--retro-transition-fast),border-color var(--retro-transition-fast)}[data-theme=gamecube] .retro-nav-item:hover,[data-theme=gamecube] .retro-nav-item--active{color:var(--accent-primary);border-left-color:var(--accent-primary)}[data-theme=gamecube] .retro-badge{display:inline-block;font-family:var(--font-pixel);font-size:.5rem;padding:.2rem .5rem;letter-spacing:.05em}[data-theme=gamecube] .retro-badge--n64{background:var(--n64-menu-purple);color:#fff;border-radius:2px}[data-theme=gamecube] .retro-badge--gc{background:var(--gc-indigo);color:var(--gc-platinum);border-radius:2px}[data-theme=gamecube] .retro-badge--snes{background:var(--snes-dark-accent);color:var(--snes-panel);border-radius:0;border:2px solid var(--snes-purple)}[data-theme=gamecube] .retro-badge--c-button{background:var(--n64-button-c);color:#1a1a1a;border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;text-align:center}[data-theme=gamecube] .retro-divider{height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary) 20%,var(--accent-secondary) 50%,var(--accent-warning) 80%,transparent);border:none;margin:var(--gc-space-xl) 0}[data-theme=gamecube] .retro-section{padding:var(--section-padding)}[data-theme=gamecube] .retro-grid{display:grid;gap:var(--gc-space-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@keyframes gc-cube-spin{0%{transform:perspective(800px) rotateY(0)}to{transform:perspective(800px) rotateY(360deg)}}@keyframes gc-fade-slide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes gc-zoom-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes snes-mode7-wobble{0%,to{transform:perspective(800px) rotateX(0)}50%{transform:perspective(800px) rotateX(3deg)}}@keyframes n64-polygon-shimmer{0%,to{border-color:var(--accent-primary)}33%{border-color:var(--accent-secondary)}66%{border-color:var(--accent-warning)}}[data-theme=gamecube] .retro-animate-cube{animation:gc-cube-spin 3s ease-in-out infinite}[data-theme=gamecube] .retro-animate-slide{animation:gc-fade-slide .4s var(--retro-ease-retro) forwards}[data-theme=gamecube] .retro-animate-zoom{animation:gc-zoom-in .3s var(--retro-ease-retro) forwards}[data-theme=gamecube] .retro-animate-mode7{animation:snes-mode7-wobble 4s ease-in-out infinite}[data-theme=gamecube] .retro-animate-polygon{animation:n64-polygon-shimmer 3s ease-in-out infinite}[data-theme=gamecube] *:focus-visible{outline:var(--gc-focus-ring);outline-offset:var(--gc-focus-offset)}[data-theme=gamecube] .retro-snes-border{border:4px solid var(--snes-dark-accent);outline:2px solid var(--snes-purple);outline-offset:2px;image-rendering:pixelated}[data-theme=gamecube] .retro-gc-gradient{background:linear-gradient(135deg,var(--gc-indigo),var(--n64-menu-purple));color:#fff}[data-theme=gamecube] .retro-tag-list{display:flex;flex-wrap:wrap;gap:var(--gc-space-xs)}[data-theme=gamecube] .retro-tag{font-family:var(--font-pixel);font-size:.45rem;padding:.15rem .4rem;background:#b97df226;color:var(--accent-primary);border:1px solid rgba(185,125,242,.3)}@media(prefers-reduced-motion:reduce){[data-theme=gamecube] .retro-animate-cube,[data-theme=gamecube] .retro-animate-slide,[data-theme=gamecube] .retro-animate-zoom,[data-theme=gamecube] .retro-animate-mode7,[data-theme=gamecube] .retro-animate-polygon{animation:none}[data-theme=gamecube] .retro-card:hover{transform:none}}[data-theme=dreamcast]{--font-display: "Exo 2", "Orbitron", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-vmu: "VT323", "Fira Code", monospace}[data-theme=dreamcast] .retro-card{background:var(--glass-bg);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-theme);padding:1.5rem;position:relative;transition:transform var(--retro-transition-normal),box-shadow var(--retro-transition-normal)}[data-theme=dreamcast] .retro-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px var(--glow-color)}[data-theme=dreamcast] .retro-card--vmu{background:var(--vmu-cream);border-radius:12px 12px 4px 4px;padding:.75rem;min-width:120px;position:relative;border:2px solid rgba(0,0,0,.15)}[data-theme=dreamcast] .retro-card--vmu:before{content:"";position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:16px;height:16px;border-radius:50%;background:var(--vmu-screen);opacity:.8}[data-theme=dreamcast] .retro-heading{font-family:var(--font-display);font-size:var(--heading-size-hero);font-weight:700;letter-spacing:var(--letter-spacing-display);color:var(--text-primary)}[data-theme=dreamcast] .retro-heading--orange{color:var(--accent-primary)}[data-theme=dreamcast] .retro-subheading{font-family:var(--font-display);font-size:var(--heading-size-1);font-weight:600;letter-spacing:var(--letter-spacing-display);color:var(--text-secondary)}[data-theme=dreamcast] .retro-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:var(--letter-spacing-display);color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-theme);cursor:pointer;transition:transform var(--retro-transition-fast),box-shadow var(--retro-transition-fast)}[data-theme=dreamcast] .retro-btn:hover{transform:scale(1.03);box-shadow:0 4px 16px var(--glow-color)}[data-theme=dreamcast] .retro-btn--blue{background:var(--accent-secondary)}[data-theme=dreamcast] .retro-btn--outline{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary)}[data-theme=dreamcast] .retro-btn--outline:hover{background:#e8621c14}[data-theme=dreamcast] .retro-vmu-display{font-family:var(--font-vmu);font-size:1.2rem;background:var(--vmu-screen);color:#1a2a0a;padding:.5rem;border-radius:2px;line-height:1.3;image-rendering:pixelated;min-height:2rem}[data-theme=dreamcast] .retro-spiral{display:inline-block;width:24px;height:24px;border:3px solid var(--accent-primary);border-radius:50%;border-right-color:transparent;border-bottom-color:transparent}[data-theme=dreamcast] .retro-spiral--animated{animation:dc-spiral-spin 2s ease-in-out infinite}@keyframes dc-spiral-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dc-vmu-pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes dc-fade{0%{opacity:0}to{opacity:1}}[data-theme=dreamcast] .retro-animate-pop{animation:dc-vmu-pop .3s var(--retro-ease-bounce) forwards}[data-theme=dreamcast] .retro-animate-fade{animation:dc-fade .2s linear forwards}[data-theme=dreamcast] *:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){[data-theme=dreamcast] .retro-spiral--animated,[data-theme=dreamcast] .retro-animate-pop,[data-theme=dreamcast] .retro-animate-fade{animation:none}[data-theme=dreamcast] .retro-card:hover{transform:none}}[data-theme=win95]{--font-display: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-body: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-mono: "Fira Code", "Courier New", monospace}[data-theme=win95] .retro-card{background:var(--bg-surface);border:none;box-shadow:var(--win-raised);padding:2px}[data-theme=win95] .retro-card-titlebar{background:linear-gradient(90deg,var(--win-title-active),#1084d0);color:var(--win-title-text);font-weight:700;font-size:var(--body-size);padding:2px 4px;display:flex;align-items:center;justify-content:space-between}[data-theme=win95] .retro-card-titlebar--inactive{background:var(--win-title-inactive)}[data-theme=win95] .retro-card-titlebar-buttons{display:flex;gap:2px}[data-theme=win95] .retro-card-titlebar-btn{width:16px;height:14px;background:var(--win-button-face);box-shadow:var(--win-raised);border:none;font-size:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}[data-theme=win95] .retro-card-titlebar-btn:active{box-shadow:var(--win-sunken)}[data-theme=win95] .retro-card-body{padding:var(--win-padding);background:var(--bg-surface)}[data-theme=win95] .retro-heading{font-family:var(--font-body);font-size:var(--heading-size-hero);font-weight:700;color:var(--text-primary);margin:0}[data-theme=win95] .retro-subheading{font-family:var(--font-body);font-size:var(--heading-size-1);font-weight:700;color:var(--text-primary)}[data-theme=win95] .retro-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 16px;font-family:var(--font-body);font-size:var(--body-size);background:var(--win-button-face);box-shadow:var(--win-raised);border:none;cursor:pointer;min-height:var(--win-button-height);color:var(--text-primary)}[data-theme=win95] .retro-btn:active{box-shadow:var(--win-sunken)}[data-theme=win95] .retro-btn:focus-visible{outline:1px dotted #000;outline-offset:-4px}[data-theme=win95] .retro-btn--default{box-shadow:var(--win-raised),inset 0 0 0 1px #000}[data-theme=win95] .retro-statusbar{background:var(--win-button-face);box-shadow:var(--win-sunken);padding:2px 4px;font-size:var(--body-size);color:var(--text-primary);display:flex;gap:2px}[data-theme=win95] .retro-statusbar-section{padding:1px 4px;box-shadow:inset 1px 1px #fff}[data-theme=win95] .retro-menubar{background:var(--win-button-face);display:flex;padding:2px 0;font-size:var(--body-size)}[data-theme=win95] .retro-menubar-item{padding:2px 8px;cursor:pointer;color:var(--text-primary)}[data-theme=win95] .retro-menubar-item:hover{background:var(--win-title-active);color:var(--win-title-text)}[data-theme=win95] .retro-fieldset{border:1px solid #808080;box-shadow:1px 1px #fff inset,-1px -1px #dfdfdf inset;padding:8px;margin:8px 0}[data-theme=win95] .retro-fieldset legend{padding:0 4px;font-size:var(--body-size)}[data-theme=win95] .retro-progress{height:16px;background:var(--win-button-face);box-shadow:var(--win-sunken);overflow:hidden}[data-theme=win95] .retro-progress-fill{height:100%;background:repeating-linear-gradient(90deg,var(--win-title-active) 0px,var(--win-title-active) 8px,transparent 8px,transparent 10px)}[data-theme=win95] .retro-taskbar{background:var(--win-button-face);box-shadow:inset 0 1px #fff;height:var(--footer-height);display:flex;align-items:center;padding:2px 4px;gap:4px}[data-theme=win95] .retro-taskbar-start{font-weight:700;font-size:var(--body-size);padding:2px 6px;background:var(--win-button-face);box-shadow:var(--win-raised);display:flex;align-items:center;gap:4px}[data-theme=win95] .retro-taskbar-start:active{box-shadow:var(--win-sunken)}[data-theme=win95] .retro-taskbar-tray{margin-left:auto;box-shadow:var(--win-sunken);padding:2px 8px;font-size:var(--body-size);display:flex;align-items:center;gap:8px}[data-theme=win95] *:focus-visible{outline:1px dotted #000;outline-offset:-3px}@media(prefers-reduced-motion:reduce){[data-theme=win95] .retro-card,[data-theme=win95] .retro-btn{transition:none}}[data-theme=linux]{--font-display: "JetBrains Mono", "Fira Code", monospace;--font-body: "JetBrains Mono", "Fira Code", monospace;--font-mono: "JetBrains Mono", "Fira Code", monospace}[data-theme=linux] .retro-card{background:var(--bg-elevated);border:var(--wm-border-width) solid var(--wm-unfocus-border);padding:var(--wm-inner-padding);position:relative;transition:border-color 0ms}[data-theme=linux] .retro-card:focus-within,[data-theme=linux] .retro-card:hover{border-color:var(--wm-focus-border)}[data-theme=linux] .retro-card--floating{border-color:var(--wm-focus-border);box-shadow:0 2px 8px #0000004d}[data-theme=linux] .retro-heading{font-family:var(--font-display);font-size:var(--heading-size-hero);font-weight:700;color:var(--text-primary);letter-spacing:0;margin:0}[data-theme=linux] .retro-subheading{font-family:var(--font-body);font-size:var(--heading-size-1);font-weight:700;color:var(--text-secondary)}[data-theme=linux] .retro-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 12px;font-family:var(--font-body);font-size:var(--body-size);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:background 0ms,border-color 0ms}[data-theme=linux] .retro-btn:hover{background:var(--bg-hover);border-color:var(--wm-focus-border)}[data-theme=linux] .retro-btn:active{background:var(--wm-focus-border);color:var(--bg-primary)}[data-theme=linux] .retro-btn--accent{background:var(--gruvbox-aqua);color:var(--bg-primary);border-color:var(--gruvbox-aqua)}[data-theme=linux] .retro-statusbar{background:var(--bg-primary);height:var(--wm-status-height);display:flex;align-items:center;padding:0 8px;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border-color)}[data-theme=linux] .retro-statusbar-left{display:flex;gap:4px}[data-theme=linux] .retro-statusbar-tag{padding:0 6px;color:var(--text-muted)}[data-theme=linux] .retro-statusbar-tag--active{background:var(--gruvbox-aqua);color:var(--bg-primary)}[data-theme=linux] .retro-statusbar-tag--urgent{background:var(--gruvbox-red);color:#fff}[data-theme=linux] .retro-statusbar-right{margin-left:auto;color:var(--text-muted)}[data-theme=linux] .retro-tiling-grid{display:grid;gap:var(--wm-gap)}[data-theme=linux] .retro-tiling-grid--bspwm{grid-template-columns:1fr 1fr}[data-theme=linux] .retro-tiling-grid--i3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}[data-theme=linux] .retro-terminal{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--body-size);line-height:1.4;padding:var(--wm-inner-padding);border:var(--wm-border-width) solid var(--wm-focus-border)}[data-theme=linux] .retro-terminal-prompt{color:var(--gruvbox-aqua)}[data-theme=linux] .retro-terminal-path{color:var(--gruvbox-blue)}[data-theme=linux] .retro-terminal-cmd{color:var(--text-primary)}[data-theme=linux] .retro-terminal-output{color:var(--text-muted)}[data-theme=linux] .retro-terminal-error{color:var(--gruvbox-red)}[data-theme=linux] .retro-terminal-success{color:var(--gruvbox-green)}[data-theme=linux] .retro-terminal-warning{color:var(--gruvbox-yellow)}@keyframes wm-window-open{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes wm-window-close{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0}}[data-theme=linux] .retro-animate-open{animation:wm-window-open .15s ease-out forwards}[data-theme=linux] .retro-animate-close{animation:wm-window-close .1s ease-in forwards}[data-theme=linux] *:focus-visible{outline:2px solid var(--wm-focus-border);outline-offset:-2px}@media(prefers-reduced-motion:reduce){[data-theme=linux] .retro-animate-open,[data-theme=linux] .retro-animate-close{animation:none}}.retro-status-bar{position:fixed;bottom:0;left:0;right:0;height:28px;background:#000000d9;border-top:1px solid var(--accent-primary, #ff9f5c);display:flex;align-items:center;padding:0 12px;font-family:Fira Code,monospace;font-size:11px;color:var(--text-muted, #888);z-index:1000;gap:16px;backdrop-filter:blur(8px)}.retro-status-bar-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.retro-status-bar-dot{width:6px;height:6px;border-radius:50%;background:#0f8;animation:retro-dot-pulse 2s ease-in-out infinite}@keyframes retro-dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.retro-status-bar-center{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retro-status-bar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.retro-status-bar-score{color:var(--accent-primary, #ff9f5c);font-weight:700}.retro-btn-88x31{display:inline-flex;align-items:center;justify-content:center;width:88px;height:31px;border:1px solid var(--text-subtle, #666);background:var(--bg-elevated, #1a1a2e);font-family:Fira Code,monospace;font-size:10px;color:var(--text-secondary, #ccc);text-decoration:none;image-rendering:pixelated;transition:filter var(--retro-transition-fast, .15s),transform var(--retro-transition-fast, .15s);cursor:pointer;overflow:hidden}.retro-btn-88x31:hover{filter:brightness(1.2);transform:scale(1.05)}.retro-btn-88x31--link{background:linear-gradient(180deg,var(--bg-surface, #2a2a4e) 0%,var(--bg-elevated, #1a1a2e) 100%)}.retro-btn-88x31--made-with{background:linear-gradient(180deg,#4a2a6e,#2a1a3e);border-color:#8a5abf;color:#d0b0ff}.retro-btn-88x31--valid{background:linear-gradient(180deg,#1a3a1a,#0a2a0a);border-color:#2a8a2a;color:#5adf5a}.retro-counter{display:inline-flex;flex-direction:column;align-items:center;gap:4px}.retro-counter-label{font-family:Fira Code,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted, #888)}.retro-counter-digits{display:flex;gap:2px}.retro-counter-digit{width:16px;height:22px;display:flex;align-items:center;justify-content:center;background:#0a0a0a;color:#0f8;font-family:Fira Code,monospace;font-size:14px;font-weight:700;border:1px solid #333;box-shadow:inset 0 0 4px #0f83}.retro-changelog{max-height:300px;overflow-y:auto;font-family:Fira Code,monospace;font-size:12px}.retro-changelog-header{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-primary, #ff9f5c);padding-bottom:8px;border-bottom:1px dashed var(--text-subtle, #444);margin-bottom:8px;font-weight:700}.retro-changelog-entry{display:flex;gap:12px;padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.05);line-height:1.4}.retro-changelog-date{color:var(--accent-primary, #ff9f5c);flex-shrink:0;min-width:70px}.retro-changelog-text{color:var(--text-secondary, #ccc)}.retro-changelog-badge{display:inline-block;font-size:9px;padding:1px 5px;background:var(--accent-primary, #ff9f5c);color:var(--bg-primary, #0a0c10);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-left:6px;vertical-align:middle}.retro-guestbook{border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:4px;overflow:hidden}.retro-guestbook-header{background:var(--bg-elevated, #141820);padding:8px 12px;font-family:Fira Code,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-primary, #ff9f5c);font-weight:700}.retro-guestbook-entry{display:flex;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.retro-guestbook-entry:nth-child(2n){background:#ffffff05}.retro-guestbook-user{font-weight:700;color:var(--accent-secondary, #a78bfa);min-width:80px}.retro-guestbook-date{font-size:11px;color:var(--text-muted, #666);min-width:70px}.retro-guestbook-msg{color:var(--text-secondary, #ccc);flex:1}.retro-guestbook-footer{padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.retro-marquee{overflow:hidden;white-space:nowrap;position:relative}.retro-marquee-content{display:inline-block;padding-left:100%;animation:retro-marquee-scroll var(--retro-marquee-speed, 20s) linear infinite}.retro-marquee:hover .retro-marquee-content{animation-play-state:paused}@keyframes retro-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.retro-marquee--vertical{overflow-y:hidden;white-space:normal;height:100px}.retro-marquee--vertical .retro-marquee-content{padding-left:0;animation:retro-marquee-vertical var(--retro-marquee-speed, 20s) linear infinite}@keyframes retro-marquee-vertical{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.retro-pixel-frame{border:4px solid var(--accent-primary, #ff9f5c);padding:12px;image-rendering:pixelated;position:relative;box-shadow:4px 4px 0 0 var(--bg-primary, #0a0c10),inset 0 0 0 0 transparent}.retro-pixel-frame:before,.retro-pixel-frame:after{content:"";position:absolute;width:8px;height:8px;background:var(--accent-primary, #ff9f5c);image-rendering:pixelated}.retro-pixel-frame:before{top:-8px;left:-8px}.retro-pixel-frame:after{bottom:-8px;right:-8px}.retro-webring{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 12px;border:1px dotted var(--text-subtle, #666);font-family:Fira Code,monospace;font-size:11px;color:var(--text-muted, #888)}.retro-webring a{color:var(--accent-primary, #ff9f5c);text-decoration:none}.retro-webring a:hover{text-decoration:underline}.retro-webring-name{font-weight:700;color:var(--text-secondary, #ccc)}.retro-under-construction{position:relative;overflow:hidden;padding:8px 16px;text-align:center;font-family:Fira Code,monospace;font-size:12px;font-weight:700;color:#1a1a1a;background:repeating-linear-gradient(-45deg,#ffd93d,#ffd93d 10px,#1a1a1a 10px 20px);background-size:200% 100%;animation:retro-construction-stripes 2s linear infinite}@keyframes retro-construction-stripes{0%{background-position:0 0}to{background-position:28px 0}}.retro-under-construction-text{display:inline-block;background:#ffffffe6;padding:2px 12px;border:1px solid #333}.retro-under-construction--hidden{display:none}.retro-crt--curved{border-radius:16px;overflow:hidden}.retro-crt--flicker{animation:retro-crt-flicker .15s linear infinite}@keyframes retro-crt-flicker{0%,to{opacity:1}50%{opacity:.98}}.retro-crt--scanlines-heavy{position:relative}.retro-crt--scanlines-heavy:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,transparent 1px,transparent 2px);pointer-events:none}.retro-crt--phosphor{filter:sepia(.3) hue-rotate(80deg) brightness(.9)}.retro-crt--vhs{animation:retro-vhs-glitch 3s linear infinite}@keyframes retro-vhs-glitch{0%,90%,to{transform:none;filter:none}91%{transform:translate(-2px);filter:hue-rotate(10deg)}92%{transform:translate(1px) skew(-.5deg)}93%{transform:none;filter:none}95%{transform:translate(3px);filter:saturate(1.5)}96%{transform:none;filter:none}}.retro-link--blink{text-decoration:none;animation:retro-blink 1s step-end infinite}@keyframes retro-blink{0%,to{opacity:1}50%{opacity:0}}.retro-link--rainbow:hover{animation:retro-rainbow 2s linear infinite}@keyframes retro-rainbow{0%{color:red}17%{color:#f80}33%{color:#ff0}50%{color:#0f0}67%{color:#08f}83%{color:#80f}to{color:red}}.retro-link--pixel{text-decoration:none;border-bottom:2px dashed var(--accent-primary, #ff9f5c)}.retro-link--hot{color:red;text-decoration:underline;font-weight:700}.retro-badge--new{display:inline-block;font-family:"Press Start 2P",monospace;font-size:8px;padding:2px 6px;background:red;color:#fff;animation:retro-blink 1s step-end infinite;font-weight:700}.retro-badge--beta{display:inline-block;font-family:"Press Start 2P",monospace;font-size:8px;padding:2px 6px;background:var(--accent-warning, #ffd93d);color:#1a1a1a;transform:rotate(-3deg);font-weight:700}.retro-badge--best{display:inline-block;font-family:"Press Start 2P",monospace;font-size:8px;padding:2px 6px;background:linear-gradient(135deg,gold,#fa0);color:#1a1a1a;font-weight:700}.retro-badge--level{display:inline-block;font-family:"Press Start 2P",monospace;font-size:7px;padding:3px 8px;background:var(--bg-elevated, #141820);color:var(--accent-primary, #ff9f5c);border:1px solid var(--accent-primary, #ff9f5c)}@media(prefers-reduced-motion:reduce){.retro-status-bar-dot,.retro-crt--flicker,.retro-crt--vhs,.retro-link--blink,.retro-badge--new,.retro-under-construction,.retro-marquee-content{animation:none}.retro-btn-88x31:hover,.retro-badge--beta{transform:none}.retro-crt--phosphor{filter:none}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-\[var\(--muted-foreground\)\]::file-selector-button{color:var(--muted-foreground)}.placeholder\:text-\[var\(--muted-foreground\)\]::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-\[var\(--muted-foreground\)\]::placeholder{color:var(--muted-foreground)}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--accent-primary\)\]:hover{border-color:var(--accent-primary)}.hover\:border-\[var\(--base09\)\]:hover{border-color:var(--base09)}.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-\[var\(--base01\)\]:hover{background-color:var(--base01)}.hover\:text-\[var\(--accent-foreground\)\]:hover{color:var(--accent-foreground)}.hover\:text-\[var\(--accent-primary\)\]:hover{color:var(--accent-primary)}.hover\:text-\[var\(--base09\)\]:hover{color:var(--base09)}.hover\:text-\[var\(--base0D\)\]:hover{color:var(--base0D)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/item:hover .group-hover\/item\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/category:hover .group-hover\/category\:rotate-6{--tw-rotate: 6deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/category:hover .group-hover\/category\:scale-110,.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/item:hover .group-hover\/item\:text-\[var\(--base07\)\]{color:var(--base07)}.group\/link:hover .group-hover\/link\:text-\[var\(--base09\)\]{color:var(--base09)}.group\/link:hover .group-hover\/link\:text-\[var\(--base0D\)\]{color:var(--base0D)}.group:hover .group-hover\:text-\[var\(--base07\)\]{color:var(--base07)}.group:hover .group-hover\:text-\[var\(--base09\)\]{color:var(--base09)}.group:hover .group-hover\:text-\[var\(--base0B\)\]{color:var(--base0B)}.group:hover .group-hover\:text-\[var\(--base0D\)\]{color:var(--base0D)}.group\/link:hover .group-hover\/link\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:brightness-110{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}@media(min-width:768px){.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-6xl{font-size:3.75rem;line-height:1}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:text-5xl{font-size:3rem;line-height:1}}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
