.skin-toggle[data-v-822709df]{overflow:visible}.skin-ico--current[data-v-822709df]{color:var(--accent);margin-bottom:4px;transition:opacity .18s ease}.skin-peek[data-v-822709df]{position:absolute;top:1px;right:1px;display:grid;place-items:center;width:16px;height:16px;border-radius:5px;color:var(--text-primary);background:var(--surface-strong);border:1px solid var(--border-strong);opacity:0;transform:scale(.6);transform-origin:top right;transition:opacity .16s ease,transform .16s ease;pointer-events:none}.skin-toggle:hover .skin-peek[data-v-822709df],.skin-toggle:focus-visible .skin-peek[data-v-822709df]{opacity:1;transform:scale(1)}.skin-dots[data-v-822709df]{position:absolute;bottom:5px;left:50%;display:flex;gap:3px;transform:translate(-50%);pointer-events:none}.skin-dot[data-v-822709df]{width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.45;transition:background .18s ease,opacity .18s ease,transform .18s ease}.skin-dot.is-active[data-v-822709df]{background:var(--accent);opacity:1;transform:scale(1.25)}@media (prefers-reduced-motion: reduce){.skin-ico--current[data-v-822709df],.skin-peek[data-v-822709df]{transition:none}}.menu-down-enter-active[data-v-822709df]{transition:opacity .18s ease,transform .18s ease}.menu-down-leave-active[data-v-822709df]{transition:opacity .14s ease,transform .14s ease}.menu-down-enter-from[data-v-822709df],.menu-down-leave-to[data-v-822709df]{opacity:0;transform:translateY(-6px)}.hero-grid-mask[data-v-04c0b163]{-webkit-mask-image:radial-gradient(ellipse 85% 65% at 28% 32%,#000 25%,transparent 80%);mask-image:radial-gradient(ellipse 85% 65% at 28% 32%,#000 25%,transparent 80%)}.project-filter-enter-active[data-v-cedbc2b1]{transition:opacity .28s ease,transform .28s ease}.project-filter-leave-active[data-v-cedbc2b1]{transition:opacity .18s ease}.project-filter-enter-from[data-v-cedbc2b1]{opacity:0;transform:translateY(6px)}.project-filter-leave-to[data-v-cedbc2b1]{opacity:0}.project-filter-move[data-v-cedbc2b1]{transition:transform .28s ease}.modal-enter-active[data-v-cedbc2b1]{transition:opacity .22s ease}.modal-leave-active[data-v-cedbc2b1]{transition:opacity .18s ease}.modal-enter-from[data-v-cedbc2b1],.modal-leave-to[data-v-cedbc2b1]{opacity:0}.modal-enter-active .case-study-modal[data-v-cedbc2b1]{animation:modal-panel-in-cedbc2b1 .26s cubic-bezier(.16,1,.3,1)}.modal-leave-active .case-study-modal[data-v-cedbc2b1]{animation:modal-panel-out-cedbc2b1 .18s ease forwards}@keyframes modal-panel-in-cedbc2b1{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-panel-out-cedbc2b1{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.case-study-backdrop[data-v-cedbc2b1]{background:rgb(var(--page-bg-rgb) / .46)}:root[data-theme=light] .case-study-backdrop[data-v-cedbc2b1]{background:#0f172a47}.case-study-modal[data-v-cedbc2b1]{border:1px solid var(--border-strong);background:#1b222e;box-shadow:var(--shadow);color:var(--text-primary)}:root[data-theme=light] .case-study-modal[data-v-cedbc2b1]{background:#fff}.case-study-prose[data-v-cedbc2b1]{color:var(--text-secondary)}.case-study-prose[data-v-cedbc2b1] h1{margin:0 0 1rem;color:var(--text-primary);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;line-height:1.15}.case-study-prose[data-v-cedbc2b1] h2{margin:2rem 0 .75rem;color:var(--text-primary);font-size:1.15rem;font-weight:900}.case-study-prose[data-v-cedbc2b1] p,.case-study-prose[data-v-cedbc2b1] li{color:var(--text-secondary);font-size:.98rem;line-height:1.8}.case-study-prose[data-v-cedbc2b1] p{margin:0 0 1rem}.case-study-prose[data-v-cedbc2b1] ul{margin:0;padding-left:1.25rem;list-style:disc}.case-study-prose[data-v-cedbc2b1] li+li{margin-top:.45rem}.case-study-prose[data-v-cedbc2b1] blockquote{margin:0 0 1.5rem;border-left:4px solid var(--accent);border-radius:.5rem;background:var(--accent-soft);padding:.9rem 1rem}.case-study-prose[data-v-cedbc2b1] blockquote p{margin:0;color:var(--text-primary);font-size:.9rem}.case-study-prose[data-v-cedbc2b1] code{border:1px solid var(--border);border-radius:.35rem;background:var(--surface-soft);padding:.1rem .35rem;color:var(--accent)}.scroll-top-enter-active[data-v-0749d618],.scroll-top-leave-active[data-v-0749d618]{transition:opacity .2s ease,transform .2s ease}.scroll-top-enter-from[data-v-0749d618],.scroll-top-leave-to[data-v-0749d618]{opacity:0;transform:translateY(.6rem)}/*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-amber-400:oklch(.828 .189 84.429);--color-emerald-500:oklch(.696 .17 162.48);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-wider:.05em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.app-root{min-height:100vh;color:var(--text-primary);background:0 0;transition:background-color .22s,color .22s;position:relative;overflow-x:hidden}.font-display{font-family:var(--font-display);letter-spacing:-.01em}.font-mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}.site-header{border-bottom:1px solid var(--border);background:rgb(var(--page-bg-rgb)/.85);color:var(--text-primary)}.nav-panel{border:1px solid var(--border);background:var(--surface)}.grid-backdrop{background-image:linear-gradient(var(--page-grid)1px,transparent 1px),linear-gradient(90deg,var(--page-grid)1px,transparent 1px);background-size:48px 48px}.section-shell{width:100%;max-width:var(--container-6xl);padding-inline:calc(var(--spacing)*6);margin-inline:auto}.section-kicker{color:var(--text-kicker);font-family:var(--font-display);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.28em;letter-spacing:.28em;text-transform:uppercase}.section-title{color:var(--text-primary);font-family:var(--font-display);margin-top:calc(var(--spacing)*3);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.02em;letter-spacing:-.02em}@media (width>=48rem){.section-title{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.section-copy{color:var(--text-muted);margin-top:calc(var(--spacing)*4);max-width:var(--container-3xl);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.section-index{font-family:var(--font-mono);color:var(--accent);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.surface{border:1px solid var(--border);background:var(--surface);box-shadow:var(--elev-1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.surface-strong{border:1px solid var(--border);background:var(--surface-strong)}.interactive-surface{transition:transform .24s,border-color .24s,box-shadow .24s}.interactive-surface:hover{box-shadow:var(--elev-2);border-color:#fff3;transform:translateY(-.2rem)}:root[data-theme=light] .interactive-surface:hover{border-color:#0f172a38}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.accent-text{color:var(--accent)}.accent-bg{background:var(--accent-gradient);color:var(--accent-contrast)}.accent-soft{border-color:var(--border);background:var(--surface-soft);color:var(--text-muted)}.focus-ring{outline-color:var(--accent)}.focus-ring:focus-visible{outline-width:1px;outline-style:var(--tw-outline-style);outline-offset:4px;outline-width:2px}.reveal{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(1.5rem)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.reveal-d4{transition-delay:.4s}.reveal-d5{transition-delay:.5s}.nav-active{color:var(--accent-strong)!important;background:rgb(var(--accent-rgb)/.08)!important}.cursor-spotlight{pointer-events:none;z-index:0;background:radial-gradient(600px circle at var(--cursor-x,-9999px)var(--cursor-y,-9999px),rgb(var(--accent-rgb)/.04),transparent 40%);position:fixed;top:0;right:0;bottom:0;left:0}.scroll-progress{z-index:60;background:var(--accent-gradient);transform-origin:0;will-change:transform;height:2px;position:fixed;top:0;left:0}.typing-cursor{background:var(--accent-strong);vertical-align:middle;border-radius:1px;width:2px;height:.8em;margin-left:3px;animation:1s step-end infinite cursor-blink;display:inline-block}.tech-chip{transition:border-color .18s,background-color .18s}.tech-chip:hover{background:#ffffff12;border-color:#fff3}:root[data-theme=light] .tech-chip:hover{background:#0f172a0d;border-color:#0f172a33}.filter-chip-active{border-color:var(--accent)!important;color:var(--accent)!important}.tech-chip svg{filter:grayscale()opacity(.6);transition:filter .18s}.tech-chip:hover svg,.filter-chip-active svg{filter:none}.skeleton{background:linear-gradient(90deg,var(--surface-strong)25%,var(--border-strong)50%,var(--surface-strong)75%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}.tilt{transform-style:preserve-3d;will-change:transform;transition:transform .16s}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.right-6{right:calc(var(--spacing)*6)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-\[7px\]{left:7px}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-14{margin-top:calc(var(--spacing)*14)}.-mb-1{margin-bottom:calc(var(--spacing)*-1)}.-mb-2{margin-bottom:calc(var(--spacing)*-2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-7{margin-bottom:calc(var(--spacing)*7)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-28{height:calc(var(--spacing)*28)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[88vh\]{max-height:88vh}.max-h-\[calc\(88vh-110px\)\]{max-height:calc(88vh - 110px)}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[calc\(100dvh-6rem\)\]{min-height:calc(100dvh - 6rem)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing)*2)}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing)*5)}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing)*6)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-11\/12{width:91.6667%}.w-28{width:calc(var(--spacing)*28)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*7)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*7)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-amber-400\/20{border-color:color-mix(in oklab,var(--color-amber-400)20%,transparent)}.border-emerald-500\/20{border-color:color-mix(in oklab,var(--color-emerald-500)20%,transparent)}.border-white\/6{border-color:color-mix(in oklab,var(--color-white)6%,transparent)}.border-white\/8{border-color:color-mix(in oklab,var(--color-white)8%,transparent)}.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}.bg-\[var\(--border-strong\)\]{background-color:var(--border-strong)}.bg-\[var\(--page-bg\)\]{background-color:var(--page-bg)}.bg-\[var\(--surface-soft\)\]{background-color:var(--surface-soft)}.bg-amber-400\/5{background-color:color-mix(in oklab,var(--color-amber-400)5%,transparent)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500)10%,transparent)}.bg-white\/3{background-color:color-mix(in oklab,var(--color-white)3%,transparent)}.bg-white\/4{background-color:color-mix(in oklab,var(--color-white)4%,transparent)}.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-24{padding-top:calc(var(--spacing)*24)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pl-9{padding-left:calc(var(--spacing)*9)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-amber-400\/60{color:color-mix(in oklab,var(--color-amber-400)60%,transparent)}.text-emerald-500{color:var(--color-emerald-500)}.text-white{color:var(--color-white)}.text-white\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}.text-white\/25{color:color-mix(in oklab,var(--color-white)25%,transparent)}.text-white\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}.text-white\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}.text-white\/45{color:color-mix(in oklab,var(--color-white)45%,transparent)}.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}.text-white\/55{color:color-mix(in oklab,var(--color-white)55%,transparent)}.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}.uppercase{text-transform:uppercase}.opacity-20{opacity:.2}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-white\/15{--tw-ring-color:color-mix(in oklab,var(--color-white)15%,transparent)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-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: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-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-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: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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:text-\[var\(--accent-strong\)\]:is(:where(.group):hover *){color:var(--accent-strong)}.group-hover\:brightness-110:is(:where(.group):hover *){--tw-brightness:brightness(110%);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,)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:gap-2\.5:hover{gap:calc(var(--spacing)*2.5)}.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}.hover\:text-\[var\(--accent-strong\)\]:hover{color:var(--accent-strong)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}}.focus\:not-sr-only:focus{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing)*4)}.focus\:left-4:focus{left:calc(var(--spacing)*4)}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:px-4:focus{padding-inline:calc(var(--spacing)*4)}.focus\:py-2:focus{padding-block:calc(var(--spacing)*2)}.focus\:text-sm:focus{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.focus\:font-black:focus{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (width>=40rem){.sm\:block{display:block}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (width>=48rem){.md\:flex{display:flex}.md\:hidden{display:none}.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\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:p-7{padding:calc(var(--spacing)*7)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (width>=64rem){.lg\:grid-cols-\[0\.32fr_0\.68fr\]{grid-template-columns:.32fr .68fr}.lg\:grid-cols-\[0\.82fr_1\.18fr\]{grid-template-columns:.82fr 1.18fr}.lg\:grid-cols-\[1\.02fr_0\.98fr\]{grid-template-columns:1.02fr .98fr}.lg\:items-start{align-items:flex-start}}}:root{color-scheme:dark;--font-body:"Pretendard Variable",Pretendard,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Space Grotesk","Pretendard Variable",Pretendard,ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-family:var(--font-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-bg:#08090d;--page-bg-rgb:8 9 13;--page-grid:#ffffff08;--text-primary:#f8fafc;--text-secondary:#c8cdd6;--text-muted:#808896;--text-kicker:#fff6;--surface:#ffffff0a;--surface-strong:#ffffff0f;--surface-soft:#ffffff06;--border:#ffffff14;--border-strong:#ffffff24;--elev-1:0 1px 2px #0000004d;--elev-2:0 12px 36px #00000073;--elev-3:0 24px 64px #0000008c;--shadow:var(--elev-3);--accent:#2dd4bf;--accent-strong:#5eead4;--accent-contrast:#042f2a;--accent-rgb:45 212 191;--accent-soft:rgb(var(--accent-rgb)/.1);--accent-gradient:linear-gradient(135deg,#2dd4bf 0%,#22d3ee 100%);--emerald-soft:#10b9811a;--amber-soft:#f59e0b1a;--violet-soft:#8b5cf61a}:root[data-theme=light]{color-scheme:light;--page-bg:#fafafa;--page-bg-rgb:250 250 250;--page-grid:#0f172a0a;--text-primary:#0f172a;--text-secondary:#374151;--text-muted:#5d6578;--text-kicker:#0f172a75;--surface:#ffffffe6;--surface-strong:#fff;--surface-soft:#0f172a08;--border:#0f172a17;--border-strong:#0f172a29;--elev-1:0 1px 2px #0f172a0f;--elev-2:0 12px 36px #0f172a1a;--elev-3:0 24px 64px #0f172a1f;--shadow:var(--elev-3);--accent:#0d9488;--accent-strong:#0f766e;--accent-contrast:#fff;--accent-rgb:13 148 136;--accent-soft:rgb(var(--accent-rgb)/.1);--accent-gradient:linear-gradient(135deg,#0d9488 0%,#0891b2 100%);--emerald-soft:#05966917;--amber-soft:#b4530917;--violet-soft:#7c3aed17}html{scroll-behavior:smooth;background:var(--page-bg)}[id]{scroll-margin-top:5.5rem}body{background:radial-gradient(ellipse 70% 45% at 10% 0%,rgb(var(--accent-rgb)/.06),transparent),radial-gradient(ellipse 50% 35% at 90% 10%,#10b98108,transparent),var(--page-bg);margin:0}body:before{content:"";z-index:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;top:0;right:0;bottom:0;left:0}:root[data-theme=light] body{background:radial-gradient(ellipse 70% 45% at 10% 0%,rgb(var(--accent-rgb)/.07),transparent),var(--page-bg)}button,a{-webkit-tap-highlight-color:transparent}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hero-enter{animation:.7s cubic-bezier(.16,1,.3,1) both hero-fade-up}.hero-enter-d1{animation-delay:.1s}.hero-enter-d2{animation-delay:.2s}.hero-enter-d3{animation-delay:.3s}.hero-enter-d4{animation-delay:.4s}.hero-enter-d5{animation-delay:.5s}.hero-enter-d6{animation-delay:.6s}:root[data-theme=light] .bg-white\/3{background-color:#0f172a08!important}:root[data-theme=light] .bg-white\/4{background-color:#0f172a0a!important}:root[data-theme=light] .bg-white\/5{background-color:#0f172a0d!important}:root[data-theme=light] .bg-white\/8{background-color:#0f172a14!important}:root[data-theme=light] .bg-white\/10{background-color:#0f172a1a!important}:root[data-theme=light] .border-white\/6{border-color:#0f172a1a!important}:root[data-theme=light] .border-white\/8{border-color:#0f172a1f!important}:root[data-theme=light] .border-white\/10{border-color:#0f172a24!important}:root[data-theme=light] .border-white\/15{border-color:#0f172a2e!important}:root[data-theme=light] .text-white\/25{color:#0f172a59!important}:root[data-theme=light] .text-white\/30{color:#0f172a66!important}:root[data-theme=light] .text-white\/40{color:#0f172a80!important}:root[data-theme=light] .text-white\/45{color:#0f172a8c!important}:root[data-theme=light] .text-white\/50{color:#0f172a99!important}:root[data-theme=light] .text-white\/55{color:#0f172aa6!important}:root[data-theme=light] .text-white\/70{color:#0f172abf!important}:root[data-theme=light] .text-white\/80{color:#0f172ad9!important}:root[data-theme=light] .text-white{color:#0f172a!important}:root[data-theme=light] .text-amber-400\/60{color:#92400eb3!important}:root[data-skin=maple]{--font-body:"Jua","Pretendard Variable",sans-serif;--font-display:"Do Hyeon","Jua",sans-serif;--page-bg:#c8ecfb;--page-bg-rgb:200 236 251;--page-grid:#785a3c0d;--text-primary:#4a3424;--text-secondary:#6b4f3a;--text-muted:#9a7d62;--text-kicker:#c47a35;--surface:#fff8e8;--surface-strong:#fffdf6;--surface-soft:#fdeecb;--border:#e3c293;--border-strong:#b07d45;--accent:#ff8a3d;--accent-strong:#ef5f1e;--accent-contrast:#fff;--accent-rgb:255 138 61;--accent-soft:#ff8a3d29;--accent-gradient:linear-gradient(135deg,#ffb648,#ff7a2e);--elev-1:0 3px 0 #b07d4559;--elev-2:0 6px 0 #b07d4566;--elev-3:0 10px 0 #b07d4573;--shadow:var(--elev-2)}:root[data-skin=maple] body{background:radial-gradient(120% 60% at 50% 118%,#a8e398,#a8e39800 46%),linear-gradient(#bfe8fb,#e9f7ff 62%)}:root[data-skin=maple] body:before{display:none}:root[data-skin=maple] .surface,:root[data-skin=maple] .surface-strong,:root[data-skin=maple] .nav-panel{border-style:solid;border-width:2.5px;border-color:var(--border-strong);box-shadow:var(--elev-1);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px}:root[data-skin=maple] .site-header{border-bottom:2.5px solid var(--border-strong);background:#fff8e8eb}:root[data-skin=maple] .accent-bg{border-radius:999px;box-shadow:0 4px #c14d12}:root[data-skin=maple] .accent-bg:active{transform:translateY(3px);box-shadow:0 1px #c14d12}:root[data-skin=maple] h1,:root[data-skin=maple] .section-title{text-shadow:2px 2px #b07d452e}:root[data-skin=maple] .section-kicker:before{content:"✦ "}:root[data-skin=maple] .nav-active{border-radius:999px;color:var(--accent-strong)!important;background:var(--accent-soft)!important}:root[data-skin=maple] .grid-backdrop{background-image:none}:root[data-skin=maple] .tech-chip{border-width:2px;border-color:var(--border);background:var(--surface-soft);border-radius:12px}:root[data-skin=maple] .tech-chip svg{filter:none}:root[data-skin=maple] .filter-chip-active{background:var(--accent-soft)!important}:root[data-skin=maple] .scroll-progress{height:4px}:root[data-skin=maple] .hero-photo{border:3px solid var(--border-strong);box-shadow:var(--elev-1)}:root[data-skin=maple] .bg-white\/3{background-color:#4a34240a!important}:root[data-skin=maple] .bg-white\/4{background-color:#4a34240d!important}:root[data-skin=maple] .bg-white\/5{background-color:#4a34240f!important}:root[data-skin=maple] .bg-white\/8{background-color:#4a342414!important}:root[data-skin=maple] .bg-white\/10{background-color:#4a34241a!important}:root[data-skin=maple] .border-white\/6{border-color:#b07d4580!important}:root[data-skin=maple] .border-white\/8{border-color:#b07d458c!important}:root[data-skin=maple] .border-white\/10{border-color:#b07d4599!important}:root[data-skin=maple] .border-white\/15{border-color:#b07d45a6!important}:root[data-skin=maple] .text-white\/25{color:#4a342473!important}:root[data-skin=maple] .text-white\/30{color:#4a342480!important}:root[data-skin=maple] .text-white\/40{color:#4a342499!important}:root[data-skin=maple] .text-white\/45{color:#4a3424a6!important}:root[data-skin=maple] .text-white\/50{color:#4a3424b3!important}:root[data-skin=maple] .text-white\/55{color:#4a3424b8!important}:root[data-skin=maple] .text-white\/70{color:#4a3424d1!important}:root[data-skin=maple] .text-white\/80{color:#4a3424e6!important}:root[data-skin=maple] .text-white{color:#4a3424!important}.maple-lv-badge,.hero-clouds,.maple-mascot{display:none}:root[data-skin=maple] .maple-lv-badge{display:inline-flex}:root[data-skin=maple] .hero-clouds{display:block}:root[data-skin=maple] .maple-mascot{display:flex}.hero-clouds{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-clouds .cloud{opacity:.9;font-size:2.6rem;animation:linear infinite cloud-drift;position:absolute}@keyframes cloud-drift{0%{transform:translate(-14vw)}to{transform:translate(114vw)}}.maple-mascot{z-index:40;cursor:pointer;background:0 0;border:0;align-items:flex-end;gap:6px;padding:0;animation:2.4s ease-in-out infinite mascot-bob;position:fixed;bottom:18px;left:18px}.maple-mascot .maple-mob{font-size:2.4rem;line-height:1;transition:transform .16s}.maple-mascot:hover .maple-mob{transform:scale(1.15)rotate(-6deg)}.maple-mascot:active .maple-mob{transform:scale(.92)}.maple-mascot .maple-bubble{border:2px solid var(--border-strong);font-family:var(--font-body);color:var(--text-primary);background:#fffdf6;border-radius:12px;margin-bottom:1.2rem;padding:.35rem .6rem;font-size:.75rem;font-weight:700;box-shadow:0 3px #b07d4559}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}:root[data-skin=maple]{--font-pixel:"Galmuri11","JetBrains Mono",monospace}:root[data-skin=maple] .maple-pixel{font-family:var(--font-pixel)}.maple-divider{display:none}:root[data-skin=maple] .maple-divider{opacity:.75;background:radial-gradient(circle at 9px 14px,#8fd14f 9px,#0000 10px) 0 0/18px 14px repeat-x;height:14px;margin:-8px 0 0;display:block}.maple-quest-head,.maple-quest-clear{display:none}:root[data-skin=maple] .maple-quest-head,:root[data-skin=maple] .maple-quest-clear{display:inline-flex}:root[data-skin=maple] .maple-quest-head{border:2px solid var(--border-strong);background:var(--surface-soft);color:var(--accent-strong);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.7rem;font-weight:700}:root[data-skin=maple] .maple-quest-clear{color:#2fa86b;letter-spacing:.1em;border:2px solid #2fa86b;border-radius:8px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:800;transform:rotate(-8deg)}.maple-label{display:none}:root[data-skin=maple] .maple-label{color:var(--accent-strong);font-weight:700;display:block}:root[data-skin=maple] .rarity-unique{box-shadow:inset 0 0 0 1px #f0932b66;border-color:#f0932b!important}:root[data-skin=maple] .rarity-rare{box-shadow:inset 0 0 0 1px #4a90d966;border-color:#4a90d9!important}.maple-legend{display:none}:root[data-skin=maple] .maple-legend{display:flex}.maple-gauges{display:none}:root[data-skin=maple] .maple-gauges{display:grid}:root[data-skin=maple] .default-stats{display:none}.maple-gauge-track{border:2px solid var(--border-strong);background:#f0e2c4;border-radius:999px;height:14px;overflow:hidden}.maple-gauge-fill{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.maple-gauge-hp{background:linear-gradient(90deg,#ff6b6b,#ff9f43)}.maple-gauge-mp{background:linear-gradient(90deg,#4a90d9,#54a0ff)}.maple-gauge-exp{background:linear-gradient(90deg,#f6c945,#ffe178)}.maple-statblock{display:none}:root[data-skin=maple] .maple-statblock{display:grid}:root[data-skin=overwatch]{--font-display:"Rajdhani","Pretendard Variable",sans-serif;--page-bg:#0b1120;--page-bg-rgb:11 17 32;--page-grid:#78a0dc0d;--text-primary:#eef4fc;--text-secondary:#b9c7de;--text-muted:#8195b6;--text-kicker:#fa9c1e;--surface:#2636566b;--surface-strong:#2d3f639e;--surface-soft:#2636563d;--border:#7e9ed238;--border-strong:#fa9c1e8c;--accent:#fa9c1e;--accent-strong:#ffb648;--accent-contrast:#1a1206;--accent-rgb:250 156 30;--accent-soft:#fa9c1e1f;--accent-gradient:linear-gradient(135deg,#fa9c1e,#f0741e);--elev-1:0 2px 16px #00000080;--elev-2:0 16px 44px #0009;--elev-3:0 26px 64px #000000b8;--shadow:var(--elev-2)}:root[data-skin=overwatch] body{background:radial-gradient(60% 50% at 50% -8%,#fa9c1e1a,#0000 60%),linear-gradient(#0c1326,#0a0f1c)}:root[data-skin=overwatch] body:before{opacity:.04;background-image:repeating-linear-gradient(0deg,#fff9 0,#fff9 1px,#0000 1px,#0000 3px);display:block}:root[data-skin=overwatch] .surface,:root[data-skin=overwatch] .surface-strong,:root[data-skin=overwatch] .nav-panel{border-color:var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px}:root[data-skin=overwatch] .surface{border-top:2px solid #fa9c1e8c}:root[data-skin=overwatch] .site-header{background:#080d1ad9;border-bottom:1px solid #fa9c1e59}:root[data-skin=overwatch] .section-kicker{letter-spacing:.32em}:root[data-skin=overwatch] .accent-bg{border-radius:3px;box-shadow:0 0 0 1px #ffffff26,0 8px 22px #fa9c1e59}:root[data-skin=overwatch] .nav-active{box-shadow:inset 0 -2px 0 var(--accent);border-radius:3px;color:var(--accent)!important;background:#fa9c1e1a!important}:root[data-skin=overwatch] .tech-chip{border-color:#7e9ed24d;border-radius:3px}:root[data-skin=overwatch] .tech-chip svg{filter:none}:root[data-skin=overwatch] .filter-chip-active{background:#fa9c1e1f!important}:root[data-skin=overwatch] .interactive-surface:hover{box-shadow:0 0 0 1px #fa9c1e4d,var(--elev-2);border-color:#fa9c1e99}:root[data-skin=overwatch] .grid-backdrop{opacity:.4}:root[data-skin=overwatch] .bg-white\/3{background-color:#ffffff08!important}:root[data-skin=overwatch] .bg-white\/4{background-color:#ffffff0a!important}:root[data-skin=overwatch] .bg-white\/5{background-color:#ffffff0d!important}:root[data-skin=overwatch] .bg-white\/8{background-color:#ffffff14!important}:root[data-skin=overwatch] .bg-white\/10{background-color:#ffffff1a!important}:root[data-skin=overwatch] .border-white\/6{border-color:#ffffff14!important}:root[data-skin=overwatch] .border-white\/8{border-color:#ffffff1a!important}:root[data-skin=overwatch] .border-white\/10{border-color:#ffffff24!important}:root[data-skin=overwatch] .border-white\/15{border-color:#ffffff2e!important}:root[data-skin=overwatch] .text-white\/25{color:#ffffff4d!important}:root[data-skin=overwatch] .text-white\/30{color:#ffffff59!important}:root[data-skin=overwatch] .text-white\/40{color:#ffffff73!important}:root[data-skin=overwatch] .text-white\/45{color:#ffffff80!important}:root[data-skin=overwatch] .text-white\/50{color:#fff9!important}:root[data-skin=overwatch] .text-white\/55{color:#ffffff9e!important}:root[data-skin=overwatch] .text-white\/70{color:#ffffffc7!important}:root[data-skin=overwatch] .text-white\/80{color:#ffffffe0!important}:root[data-skin=overwatch] .text-white{color:#fff!important}.ow-role-badge,.ow-stats,.ow-match-head,.ow-victory,.ow-label{display:none}:root[data-skin=overwatch] .ow-role-badge{display:inline-flex}:root[data-skin=overwatch] .ow-stats{display:block}:root[data-skin=overwatch] .ow-match-head,:root[data-skin=overwatch] .ow-victory{display:inline-flex}:root[data-skin=overwatch] .ow-label{display:block}:root[data-skin=overwatch] .default-stats{display:none}:root[data-skin=overwatch] .grid-backdrop{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill='none' stroke='%23fa9c1e' stroke-opacity='0.16'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5z'/%3E%3Cpath d='M14 0l14 8.06v16.12L14 32 0 24.18V8.06L14 0z'/%3E%3C/g%3E%3C/svg%3E");background-size:28px 49px}.ow-role-badge{clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);background:linear-gradient(135deg,#fa9c1e33,#fa9c1e0a);border:1px solid #fa9c1e80;align-items:center;gap:10px;padding:8px 20px 8px 14px}.ow-role-icon{color:var(--accent);font-size:1.4rem;line-height:1}.ow-role-text{flex-direction:column;font-family:Rajdhani,sans-serif;line-height:1.15;display:flex}.ow-role-text b{letter-spacing:.14em;color:var(--text-primary);font-size:1.05rem;font-weight:700}.ow-role-text small{letter-spacing:.08em;color:var(--accent-strong);font-size:.66rem;font-weight:600}.ow-stats-head{justify-content:space-between;align-items:center;display:flex}.ow-stats-title{letter-spacing:.2em;color:var(--accent);font-family:Rajdhani,sans-serif;font-size:.82rem;font-weight:700}.ow-ult{letter-spacing:.1em;color:var(--text-secondary);align-items:center;gap:6px;font-family:Rajdhani,sans-serif;font-size:.78rem;font-weight:700;display:inline-flex}.ow-ult b{color:var(--accent)}.ow-ult-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:1.2s ease-in-out infinite ow-pulse}@keyframes ow-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}.ow-bar{gap:3px;height:14px;display:flex}.ow-seg{background:#ffffff12;border:1px solid #ffffff1a;flex:1;transform:skew(-18deg)}.ow-bar-health .ow-seg-on{background:#f4f4ee;border-color:#fff;box-shadow:0 0 6px #f4f4ee8c}.ow-bar-armor .ow-seg-on{background:#f0a23c;border-color:#ffc16b;box-shadow:0 0 6px #f0a23c99}.ow-bar-shield .ow-seg-on{background:#33b6e8;border-color:#7ad3ff;box-shadow:0 0 6px #33b6e899}.ow-match-head{letter-spacing:.18em;color:var(--accent);align-items:center;gap:6px;font-family:Rajdhani,sans-serif;font-size:.72rem;font-weight:700}.ow-label{letter-spacing:.14em;color:var(--accent);text-transform:uppercase;font-family:Rajdhani,sans-serif;font-weight:700}.ow-victory{letter-spacing:.18em;color:#fff;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);background:linear-gradient(135deg,#fa9c1e,#f0741e);align-items:center;padding:4px 16px;font-family:Rajdhani,sans-serif;font-size:.9rem;font-weight:700;transform:rotate(-6deg);box-shadow:0 4px 16px #fa9c1e66}:root[data-skin=overwatch] .tech-chip{clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);border-radius:0}.ow-reticle{display:none}:root[data-skin=overwatch] .ow-reticle{left:var(--cursor-x,-200px);top:var(--cursor-y,-200px);z-index:70;pointer-events:none;mix-blend-mode:screen;filter:drop-shadow(0 0 1px #000000b3);width:46px;height:46px;display:block;position:fixed;transform:translate(-50%,-50%)}:root[data-skin=overwatch] .ow-reticle:before,:root[data-skin=overwatch] .ow-reticle:after{content:"";margin:auto;position:absolute;top:0;right:0;bottom:0;left:0}:root[data-skin=overwatch] .ow-reticle:before{background:linear-gradient(#fff 0,#fff 13px,#0000 13px,#0000 33px,#fff 33px,#fff 46px);width:2px;height:46px}:root[data-skin=overwatch] .ow-reticle:after{background:linear-gradient(90deg,#fff 0,#fff 13px,#0000 13px,#0000 33px,#fff 33px,#fff 46px);width:46px;height:2px}.ow-reticle-ring{border:1.5px solid #fa9c1e99;border-radius:50%;width:26px;height:26px;margin:auto;animation:7s linear infinite ow-reticle-spin;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 6px #fa9c1e80,inset 0 0 5px #fa9c1e40}.ow-reticle-ring:before,.ow-reticle-ring:after{content:"";background:#fa9c1ed9;position:absolute}.ow-reticle-ring:before{width:2px;height:4px;top:-4px;left:50%;transform:translate(-50%)}.ow-reticle-ring:after{width:2px;height:4px;bottom:-4px;left:50%;transform:translate(-50%)}.ow-reticle-dot{background:#fff;border-radius:50%;width:3px;height:3px;margin:auto;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 5px #fff}@keyframes ow-reticle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root[data-skin=overwatch] .interactive-surface{position:relative}:root[data-skin=overwatch] .interactive-surface:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(var(--accent),var(--accent))left top/15px 2px no-repeat,linear-gradient(var(--accent),var(--accent))left top/2px 15px no-repeat,linear-gradient(var(--accent),var(--accent))right top/15px 2px no-repeat,linear-gradient(var(--accent),var(--accent))right top/2px 15px no-repeat,linear-gradient(var(--accent),var(--accent))left bottom/15px 2px no-repeat,linear-gradient(var(--accent),var(--accent))left bottom/2px 15px no-repeat,linear-gradient(var(--accent),var(--accent))right bottom/15px 2px no-repeat,linear-gradient(var(--accent),var(--accent))right bottom/2px 15px no-repeat;transition:opacity .18s,transform .18s cubic-bezier(.16,1,.3,1);position:absolute;top:5px;right:5px;bottom:5px;left:5px;transform:scale(1.05)}:root[data-skin=overwatch] .interactive-surface:hover:after{opacity:.95;transform:scale(1)}.ow-stats-legend{letter-spacing:.02em;color:var(--text-muted);margin-top:7px;font-size:.68rem;line-height:1.45}.ow-abilities-cap{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:18px;font-family:Rajdhani,sans-serif;font-size:.72rem;font-weight:700}.ow-abilities{display:none}:root[data-skin=overwatch] .ow-abilities{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.ow-ability,.ow-ultimate{grid-template-rows:auto auto;grid-template-columns:auto auto;align-items:center;gap:1px 8px;display:grid}.ow-ability-frame,.ow-ult-badge{width:46px;height:46px;color:var(--accent-strong);clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));background:linear-gradient(150deg,#fa9c1e2e,#26365680);border:1.5px solid #fa9c1e80;grid-row:1/span 2;place-items:center;display:grid}.ow-key{letter-spacing:.08em;color:var(--text-primary);background:#080d1ad9;border:1px solid #7e9ed24d;border-radius:2px;align-self:end;padding:1px 5px;font-family:Rajdhani,sans-serif;font-size:.68rem;font-weight:700}.ow-ability-name{color:var(--text-muted);white-space:nowrap;align-self:start;font-size:.72rem;font-weight:600}.ow-ult-badge{color:#fff;background:linear-gradient(150deg,#fa9c1e,#f0741e);border-color:#ffd089;width:50px;height:50px;position:relative;box-shadow:0 0 14px #fa9c1e80}.ow-ult-charge{color:#fff;text-shadow:0 0 4px #0009;font-family:Rajdhani,sans-serif;font-size:.6rem;font-weight:700;position:absolute;bottom:-2px;right:1px}.ow-key-ult{color:var(--accent-strong);border-color:#fa9c1e80}.ow-ultimate.is-ready .ow-ult-badge:after{content:"";clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));border:1.5px solid #ffc878e6;animation:1.3s ease-out infinite ow-ult-pulse;position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@keyframes ow-ult-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}:root[data-skin=overwatch] #hero h1{padding-bottom:.4rem;display:inline-block;position:relative}:root[data-skin=overwatch] #hero h1:after{content:"";background:var(--accent);width:72px;height:3px;box-shadow:0 0 10px var(--accent);position:absolute;bottom:0;left:0}:root[data-skin=overwatch] .hero-photo{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));border:2px solid #fa9c1e99!important;border-radius:4px!important;box-shadow:0 0 0 1px #080d1acc,0 0 18px #fa9c1e4d!important}.ow-skin-toggle{color:var(--accent);box-shadow:inset 0 0 8px #fa9c1e26;border-color:#fa9c1e80!important}:root[data-skin=overwatch] .app-root:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,#0000 55%,#0509108c);position:fixed;top:0;right:0;bottom:0;left:0}@media (prefers-reduced-motion:reduce){.ow-reticle-ring{animation:none!important}.ow-ultimate.is-ready .ow-ult-badge:after{opacity:0!important;animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}.cursor-spotlight{display:none!important}.skeleton{background:var(--surface-strong)!important;animation:none!important}.tilt{transform:none!important}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2147483646}@media print{.site-header,.cursor-spotlight,.scroll-progress,footer,[aria-label="맨 위로 이동"],.case-study-backdrop,body:before{display:none!important}html,body{color:#0f172a!important;background:#fff!important}.reveal{opacity:1!important;transform:none!important}.surface,.surface-strong{box-shadow:none!important;background:#f8f9fa!important;border-color:#e2e8f0!important}section,article{page-break-inside:avoid}a[href^=http]:after{content:" (" attr(href)")";color:#64748b;font-size:.75em}.text-primary{color:#0f172a!important}.text-secondary{color:#374151!important}.text-muted{color:#5d6578!important}.section-kicker{color:#64748b!important}.text-white{color:#0f172a!important}}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}}
