.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@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;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-family-sans:"Inter", system-ui, sans-serif;--font-family-heading:"Space Grotesk", system-ui, sans-serif;--font-family-mono:"JetBrains Mono", ui-monospace, monospace}}@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%;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}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}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-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;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-7{top:calc(var(--spacing) * 7)}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-12{margin:calc(var(--spacing) * 12)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-49{height:calc(var(--spacing) * 49)}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.invert{--tw-invert:invert(100%);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-filter{-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,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[data-gallery-project\]\:visible:is(data-gallery-project),.\[data-mobile-menu-toggle\]\:visible:is(data-mobile-menu-toggle),.\[data-preserve-project-query\]\:visible:is(data-preserve-project-query),.\[data-registry-project\]\:visible:is(data-registry-project),.\[data-registry-project\=\"dochub\"\]\:visible:is(){visibility:visible}}@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Variable.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Variable.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg:#101010;--bg-subtle:#111;--bg-card:#141414;--border:#404040;--border-card:#303030;--rule-dr:#232323;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#828282;--accent:#72ffff;--accent-text:#72ffff;--accent-hover:#5ef;--accent-glow:#72ffff26;--dot-color:#303030;--shadow-card:0 1px 4px #00000080, 0 4px 24px #0006;--shadow-card-hover:0 10px 32px 4px #72ffff1f;--shadow-teal:0 10px 32px 4px #72ffff1f;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-xl:1.25rem;--radius-pill:9999px;--radius-card:var(--radius-lg);--radius-tag:var(--radius-sm);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.16s;--dur-mid:.26s;--dur-slow:.44s;--gutter:clamp(1.25rem, 4vw, 2.5rem);--space-section:clamp(3rem, 7vw, 5rem);--tap-min:44px}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text-primary);font-family:var(--font-family-sans,system-ui, sans-serif);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background-color:var(--bg);background-image:radial-gradient(circle,var(--dot-color) 1px,transparent 1px);background-size:20px 20px;background-attachment:fixed;margin:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading,system-ui, sans-serif);color:var(--text-primary);text-wrap:balance;line-height:1.15}a{color:inherit}p,li,h1,h2,h3,h4{overflow-wrap:break-word}img,video,svg{max-width:100%}details[id],section[id],footer[id]{scroll-margin-top:5rem}:where(a,button,[role=button],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{clip-path:inset(50%);white-space:nowrap;border-radius:var(--radius-pill);background:var(--accent);color:#08110f;width:1px;height:1px;font:600 .85rem var(--font-family-sans);padding:.7rem 1.1rem;text-decoration:none;position:absolute;top:0;left:0;overflow:hidden}.skip-link:focus{z-index:400;clip-path:none;outline-offset:2px;width:auto;height:auto;position:fixed;top:1rem;left:1rem}@media(pointer:coarse){#contact a[href^="mailto:"]{min-height:var(--tap-min);align-items:center;display:inline-flex}}#contact a[href^="mailto:"]{overflow-wrap:anywhere}.gradient-name{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#72ffff,#20ffb8 55%,#0096ff) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite gradient-shift;display:inline-block}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.immersion-on .reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transform:translateY(18px)}.reveal.visible{opacity:1;transform:none}.immersion-on .reveal-left,.immersion-on .reveal-right{opacity:0;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.reveal-left{transform:translate(-32px)}.reveal-right{transform:translate(32px)}.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}@media(max-width:1024px){.reveal-left,.reveal-right{transform:translateY(18px)}}.reveal-stagger>:first-child{transition-delay:0s}.reveal-stagger>:nth-child(2){transition-delay:45ms}.reveal-stagger>:nth-child(3){transition-delay:90ms}.reveal-stagger>:nth-child(4){transition-delay:.135s}.reveal-stagger>:nth-child(5){transition-delay:.18s}.reveal-stagger>:nth-child(6){transition-delay:.225s}.reveal-stagger>:nth-child(n+7){transition-delay:.24s}.hero-card{box-shadow:var(--shadow-teal);border-radius:var(--radius-xl);background:linear-gradient(135deg,#101010,#202020);border:1px solid #252525}.social-icon{width:var(--tap-min);height:var(--tap-min);color:#111;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) ease;background:#f4f4f4;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media(hover:hover){.social-icon:hover{background:var(--accent);color:#000;transform:translateY(-2px)}}.contact-card{text-align:center;border-radius:var(--radius-xl);width:min(540px,100% - 2.5rem);box-shadow:var(--shadow-teal);background:linear-gradient(160deg,#141414,#0e0e0e);border:1px solid #262626;flex-direction:column;align-items:center;margin:0 auto;padding:clamp(1.75rem,5vw,2.75rem) clamp(1.25rem,5vw,2.5rem);display:flex}.contact-avatar{background:radial-gradient(circle at 30% 30%,#243030,#141818);border:2px solid #72ffff99;border-radius:50%;flex-shrink:0;width:clamp(88px,22vw,112px);height:clamp(88px,22vw,112px);margin-bottom:1.25rem;box-shadow:0 0 0 5px #72ffff12}.contact-name{-webkit-text-fill-color:transparent;background:linear-gradient(110deg,#72ffff,#6cf6d8 60%,#7affc6);-webkit-background-clip:text;background-clip:text;margin:0 0 .375rem;font-size:clamp(1.375rem,5vw,1.625rem);font-weight:700}.contact-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;width:100%;display:flex}.contact-sep{background:#2e2e2e;width:1px;height:38px}@media(max-width:480px){.contact-sep{display:none}}.card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-mid) ease,transform var(--dur-mid) var(--ease-out),border-color var(--dur-mid) ease;cursor:pointer}@media(hover:hover)and (pointer:fine){.card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--accent)}.card-3d .card:hover{transform:rotateY(3deg)rotateX(2deg)scale(1.02)}}.card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-card-hover)}.card-3d{perspective:800px}.card-3d .card{transform-style:preserve-3d}.tag{font-family:var(--font-family-mono,monospace);background:var(--bg-subtle);color:var(--text-secondary);border-radius:var(--radius-tag);white-space:nowrap;border:1px solid var(--border);padding:.25em .6em;font-size:.72rem}.section-pad{padding-block:var(--space-section)}.tab-list{border-radius:var(--radius-md);background:#181818;gap:2px;width:100%;margin-bottom:0;padding:3px;display:flex}.tab-btn{color:var(--text-muted);border-radius:var(--radius-sm);min-height:var(--tap-min);font-family:var(--font-family-sans);cursor:pointer;transition:background var(--dur-mid) ease,color var(--dur-mid) ease;white-space:nowrap;background:0 0;border:none;flex:1;padding:.625rem 1rem;font-size:.875rem}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:#fff;background:#272727}.tab-panel{background:0 0;border-top:1px solid #262626;padding:1.5rem .25rem}.tab-panel.hidden{display:none}.timeline-line{background:linear-gradient(to bottom,transparent,var(--border),transparent);background-size:100% 200%;width:1px;height:80px;margin:0 auto;animation:2s linear infinite lineGlow}@keyframes lineGlow{to{background-position:0 200%}}.btn-accent,.btn-ghost{border-radius:var(--radius-md);min-height:var(--tap-min);font-family:var(--font-family-sans,system-ui, sans-serif);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;text-decoration:none;display:inline-flex}.btn-accent{background:var(--accent);color:#000;border:1px solid var(--accent);transition:background var(--dur-fast) ease,transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease;font-weight:600}@media(hover:hover){.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}}.btn-accent:active{transform:translateY(0)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) ease;background:0 0;font-weight:500}@media(hover:hover){.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}}.btn-ghost:active{transform:translateY(0)}.hero-connector{max-width:880px;padding-inline:var(--gutter);flex-direction:column;align-items:center;margin:0 auto;display:flex}.hero-connector-h{background:linear-gradient(90deg,#0000,#404040 25% 75%,#0000);width:100%;height:1px}.hero-connector-v{background:linear-gradient(#404040,#0000);width:1px;height:clamp(40px,8vw,72px)}#site-header{transition:top var(--dur-mid) cubic-bezier(.4,0,.2,1);transition:top .26s cubic-bezier(.22,1,.36,1)}#site-header.header-hidden{top:-5rem}@media(prefers-reduced-motion:reduce){#site-header{transition:none}}.proj-row{flex-direction:column;align-items:center;gap:clamp(1.75rem,4vw,2.5rem);width:100%;margin-bottom:clamp(3.5rem,8vw,6rem);display:flex}.proj-row:last-child{margin-bottom:0}@media(min-width:1025px){.proj-row--left{flex-direction:row}.proj-row--right{flex-direction:row-reverse}}.proj-img-container{aspect-ratio:16/9;width:min(100%,700px);margin-inline:auto;display:flex;position:relative}@media(min-width:1025px){.proj-img-container{perspective:1400px;flex-shrink:0;width:50%;max-width:700px}}.proj-bg-img,.proj-front-img{aspect-ratio:16/9;border-radius:var(--radius-lg);object-fit:cover;width:100%;max-width:700px;transition:transform var(--dur-slow) var(--ease-out);border:1px solid #2a2a2a;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proj-bg-img{opacity:.4}.proj-front-img{opacity:1}@media(min-width:1025px){.proj-front-img.left{transform:translate(-50%,-50%)rotateY(5deg)}.proj-front-img.right{transform:translate(-50%,-50%)rotateY(-5deg)}.proj-bg-img.left{transform:translate(calc(24px - 50%),calc(12px - 50%))rotateY(5deg)}.proj-bg-img.right{transform:translate(calc(-50% - 24px),calc(12px - 50%))rotateY(-5deg)}.proj-img-container:hover .proj-bg-img,.proj-img-container:hover .proj-front-img{transform:translate(-50%,-50%)}.proj-img-container:hover .proj-visit-div{opacity:1;transition:opacity var(--dur-mid) ease-in-out .18s}}.proj-visit-div{aspect-ratio:16/9;border-radius:var(--radius-lg);opacity:0;pointer-events:none;width:min(100%,700px);transition:opacity var(--dur-fast) ease-in-out;background:#0000008c;border:1px solid #606060;justify-content:center;align-items:center;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(min-width:1025px){.proj-visit-div{pointer-events:auto;display:flex}.proj-img-container:focus-within .proj-visit-div{opacity:1}}.proj-visit-btn{color:var(--accent);border:2px solid var(--accent);border-radius:var(--radius-md);font-weight:700;font-family:var(--font-family-sans,system-ui, sans-serif);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease;background:#000;padding:.75rem 1.5rem;font-size:.9375rem;text-decoration:none}.proj-visit-btn:hover{background:var(--accent);color:#000}.proj-text{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}@media(min-width:1025px){.proj-text{width:50%;padding-inline:clamp(1.5rem,3vw,2.5rem)}.proj-text--left{text-align:left;align-items:flex-start}.proj-text--right{text-align:right;align-items:flex-end}}.proj-title{color:var(--text-primary);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;font-family:var(--font-family-heading,sans-serif);letter-spacing:-.01em;margin:0 0 .75rem}.proj-claim{color:var(--text-secondary);max-width:48ch;margin:0 0 .75rem;font-size:clamp(.9375rem,1.5vw,1.125rem);line-height:1.65}.proj-proof{color:var(--accent);font-size:.8125rem;font-family:var(--font-family-mono,monospace);margin:0;line-height:1.6}.proj-tags{flex-wrap:wrap;justify-content:center;gap:.375rem;margin-top:1.125rem;display:flex}@media(min-width:1025px){.proj-text--left .proj-tags{justify-content:flex-start}.proj-text--right .proj-tags{justify-content:flex-end}}.proj-tag{background:var(--accent);color:#000;border-radius:var(--radius-pill);white-space:nowrap;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4}.proj-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}@media(min-width:1025px){.proj-text--left .proj-actions{justify-content:flex-start}.proj-text--right .proj-actions{justify-content:flex-end}}.clothify-demo{grid-template-columns:1fr;align-items:start;gap:1.5rem;display:grid}@media(min-width:900px){.clothify-demo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.clothify-picker{grid-area:1/1}.clothify-panel{grid-area:2/1}.clothify-output{grid-area:1/2/span 2}}.clothify-picker{min-width:0}.clothify-heading{color:var(--text-primary);font-family:var(--font-family-heading);margin:0;font-size:1.125rem;font-weight:600}.clothify-panel{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.clothify-field{flex-direction:column;gap:.5rem;display:flex}.clothify-label{font-family:var(--font-family-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}.clothify-hint{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.6}.clothify-code-row{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-muted);border-radius:.5rem;align-items:center;gap:.5rem;padding:0 .75rem;transition:border-color .18s;display:flex}.clothify-code-row:focus-within{border-color:var(--accent)}.clothify-input{min-width:0;color:var(--text-primary);font-family:var(--font-family-mono,monospace);letter-spacing:.08em;background:0 0;border:none;outline:none;flex:1;padding:.65rem 0;font-size:.9rem}.clothify-input::placeholder{color:var(--text-muted);letter-spacing:normal}.clothify-presets{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem;display:grid}.clothify-preset{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-family-sans);cursor:pointer;border-radius:.625rem;flex-direction:column;align-items:center;gap:.4rem;padding:.4rem;font-size:.7rem;transition:border-color .18s,color .18s,transform .18s;display:flex}.clothify-preset:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.clothify-preset.is-active{border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 0 1px var(--accent)}.clothify-preset:disabled{opacity:.55;cursor:not-allowed}.clothify-upload-slot{display:flex;position:relative}.clothify-upload-slot>.clothify-preset{flex:1}.clothify-upload-clear{border:1px solid var(--border);background:var(--bg);width:1.25rem;height:1.25rem;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:color .18s,border-color .18s,transform .18s;display:grid;position:absolute;top:.25rem;right:.25rem}.clothify-upload-clear:hover:not(:disabled),.clothify-upload-clear:focus-visible{color:var(--accent);border-color:var(--accent);transform:scale(1.08)}.clothify-upload-clear:disabled{opacity:.55;cursor:not-allowed}.clothify-preset img{aspect-ratio:3/4;object-fit:cover;background:var(--bg);border-radius:.375rem;width:100%}.clothify-preset-icon{aspect-ratio:3/4;border:1px dashed var(--border);width:100%;color:var(--text-muted);border-radius:.375rem;justify-content:center;align-items:center;display:flex}.clothify-chips{flex-wrap:wrap;gap:.375rem;display:flex}.clothify-chip{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family-sans);border-radius:9999px;padding:.35rem .85rem;font-size:.8125rem;transition:border-color .18s,color .18s,background .18s}.clothify-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.clothify-chip.is-active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.clothify-chip:disabled{opacity:.55;cursor:not-allowed}.clothify-actions{flex-wrap:wrap;align-items:center;gap:.875rem;display:flex}.clothify-actions .btn-accent:disabled{opacity:.7;cursor:not-allowed}.clothify-credits{font-family:var(--font-family-mono,monospace);color:var(--text-secondary);font-size:.78rem}.clothify-error{color:#ff8080;background:#ff505014;border:1px solid #ff50504d;border-radius:.5rem;align-items:flex-start;gap:.5rem;padding:.7rem .85rem;font-size:.84rem;line-height:1.5;display:flex}.clothify-output{flex-direction:column;align-items:center;gap:.875rem;display:flex;position:sticky;top:6rem}.clothify-result-caption{align-self:stretch}.clothify-result-label{color:var(--accent);font-family:var(--font-family-mono);margin-bottom:.35rem;font-size:.75rem;display:block}@media(max-width:899px){.clothify-picker{order:0}.clothify-output{order:1;position:static}.clothify-panel{order:2}}.clothify-result{object-fit:contain;background:var(--bg-subtle);border-radius:var(--radius-card);border:1px solid var(--border-card);width:100%;max-height:640px;box-shadow:var(--shadow-card);display:block}.clothify-download{align-self:center}.clothify-gallery{touch-action:pan-y pinch-zoom;width:100%;min-width:0}.clothify-gallery-stage{position:relative}.clothify-gallery-control{border:1px solid var(--border-card);width:44px;height:44px;color:var(--text-primary);background:var(--bg-card);box-shadow:var(--shadow-card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.clothify-gallery-control:disabled{opacity:.5;cursor:not-allowed}.clothify-gallery-control:hover:not(:disabled){border-color:var(--accent)}.clothify-gallery:focus-visible,.clothify-gallery-control:focus-visible,.clothify-info-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.clothify-info-button{z-index:2;width:36px;height:36px;top:.5rem;right:.5rem}.clothify-gallery-prev,.clothify-gallery-next{top:50%;transform:translateY(-50%)}.clothify-gallery-prev{left:.5rem}.clothify-gallery-next{right:.5rem}.clothify-gallery-position{text-align:center;color:var(--text-secondary);font:.78rem var(--font-family-mono);margin:.75rem 0 0}.clothify-image-info{z-index:3;width:min(310px,100% - 1rem);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-wrap:anywhere;padding:1rem;font-size:.78rem;position:absolute;top:3.25rem;right:.5rem}.clothify-info-header{justify-content:space-between;align-items:center;gap:.5rem;font-weight:600;display:flex}.clothify-info-close{height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.clothify-image-info dl{gap:.6rem;margin:.8rem 0 0;display:grid}.clothify-image-info dl>div{gap:.15rem;display:grid}.clothify-image-info dt{color:var(--text-secondary)}.clothify-image-info dd{margin:0}.clothify-placeholder{text-align:center;aspect-ratio:3/4;width:100%;min-height:320px;max-height:560px;color:var(--text-muted);background:var(--bg-subtle);border:1px dashed var(--border);border-radius:var(--radius-card);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.clothify-placeholder p{max-width:34ch;margin:0;font-size:.875rem;line-height:1.55}.clothify-spin{animation:1s linear infinite clothifySpin}@keyframes clothifySpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.clothify-spin{animation:none}}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageFadeOut{0%{opacity:1}to{opacity:0}}.prose{color:var(--text-secondary);border-top:1px solid var(--border);overflow-wrap:break-word;padding-top:1.5rem;font-size:.9375rem;line-height:1.7}.prose h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;font-family:var(--font-family-heading);margin:1.75rem 0 .75rem}.prose h2:first-child{margin-top:0}.prose h3{color:var(--text-primary);margin:1.25rem 0 .5rem;font-size:1rem;font-weight:600}.prose p{margin:0 0 .875rem}.prose ul,.prose ol{margin:0 0 .875rem;padding-left:1.25rem}.prose li{margin-bottom:.375rem}.prose strong{color:var(--text-primary);font-weight:600}.prose em{color:var(--text-muted)}.prose a{color:var(--accent);text-decoration:none}.prose a:hover{text-decoration:underline}.prose img{border-radius:var(--radius-md);height:auto}.prose hr{border:0;border-top:1px solid var(--border);margin:1.5rem 0}.prose blockquote{border-left:2px solid var(--accent);color:var(--text-secondary);margin:0 0 .875rem;padding-left:1rem}.prose code{font-family:var(--font-family-mono);background:var(--bg-subtle);border-radius:var(--radius-sm);color:var(--text-primary);overflow-wrap:break-word;padding:.15em .4em;font-size:.85em}.prose pre{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);margin:0 0 1rem;padding:1rem;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:.8125rem;line-height:1.6}.prose table{border-collapse:collapse;width:100%;margin:0 0 1rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.5rem .75rem}.prose th{color:var(--text-primary);font-weight:600}.dr-root{outline:none;grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.dr-root:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:1rem}@media(min-width:1080px){.dr-root{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.dr-provenance{grid-column:1/-1}}.dr-main{flex-direction:column;gap:.75rem;min-width:0;display:flex}.dr-stage{aspect-ratio:16/11;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);width:100%;min-height:320px;max-height:68vh;box-shadow:var(--shadow-card);isolation:isolate;position:relative;overflow:hidden}@media(min-width:768px){.dr-stage{aspect-ratio:16/9}}.dr-map{background:0 0;position:absolute;inset:0}.dr-canvas{z-index:500;transform-origin:0 0;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.dr-stage:has(.leaflet-zoom-anim) .dr-canvas{transition:transform .25s cubic-bezier(0,0,.25,1)}.dr-hud{z-index:1002;pointer-events:none;gap:.5rem;display:flex;position:absolute;top:.75rem;left:.75rem}.dr-hud-item{background:var(--bg-card);border-radius:.5rem;flex-direction:column;gap:.1rem;padding:.4rem .7rem;display:flex}@supports (color:color-mix(in lab,red,red)){.dr-hud-item{background:color-mix(in srgb,var(--bg-card) 82%,transparent)}}.dr-hud-item{border:1px solid var(--border-card);-webkit-backdrop-filter:blur(8px)}.dr-hud-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.6rem}.dr-hud-value{font-family:var(--font-family-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600;line-height:1.1}.dr-hud-total{color:var(--text-muted);font-size:.8rem;font-weight:400}.dr-legend{z-index:1002;pointer-events:none;flex-wrap:wrap;gap:.25rem .7rem;max-width:calc(100% - 8rem);display:flex;position:absolute;bottom:.75rem;left:.75rem}.dr-lg{color:var(--text-secondary);font-size:.68rem;font-family:var(--font-family-mono);align-items:center;gap:.35rem;display:inline-flex}.dr-sw{flex-shrink:0;width:9px;height:9px;display:inline-block}.dr-sw--depot{background:var(--accent)}.dr-sw--hub{border:1.5px dashed var(--text-secondary);background:0 0;transform:rotate(45deg)}.dr-sw--pending{border:1.5px solid var(--text-muted);background:0 0;border-radius:50%}.dr-sw--done{background:var(--text-secondary);border-radius:50%}.dr-tip{z-index:1004;pointer-events:none;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);font-size:.7rem;font-family:var(--font-family-mono);color:var(--text-secondary);white-space:nowrap;border-radius:.45rem;padding:.45rem .6rem;line-height:1.5;position:absolute}.dr-tip-head{color:var(--text-primary);font-weight:600}.dr-controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dr-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-family-sans);cursor:pointer;border-radius:.5rem;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.8rem;font-weight:500;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.dr-btn:hover{border-color:var(--accent);color:var(--accent)}.dr-btn--primary{background:var(--accent);border-color:var(--accent);color:#000;min-width:6.2rem;font-weight:600}.dr-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#000}.dr-scrub,.dr-range{appearance:none;background:linear-gradient(to right,var(--accent) 0 var(--dr-progress,0%),var(--bg-subtle) var(--dr-progress,0%) 100%);border:1px solid var(--border-card);cursor:pointer;border-radius:999px;height:6px}.dr-scrub{flex:180px;min-width:140px}.dr-range{width:100%}.dr-scrub::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg-card);cursor:grab;border-radius:50%;width:15px;height:15px}.dr-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg-card);cursor:grab;border-radius:50%;width:15px;height:15px}.dr-scrub::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-card);cursor:grab;border-radius:50%;width:13px;height:13px}.dr-range::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-card);cursor:grab;border-radius:50%;width:13px;height:13px}.dr-scrub:focus-visible,.dr-range:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dr-range:disabled{opacity:.45;cursor:not-allowed}.dr-speeds,.dr-seg{background:var(--bg-subtle);border:1px solid var(--border-card);border-radius:.5rem;gap:2px;padding:3px;display:flex}.dr-speed,.dr-segbtn{color:var(--text-muted);font-family:var(--font-family-mono);cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.28rem .45rem;font-size:.7rem;transition:background .18s,color .18s}.dr-speed:hover,.dr-segbtn:hover:not(:disabled){color:var(--text-primary)}.dr-speed.is-active,.dr-segbtn.is-active{background:var(--accent);color:#000;font-weight:600}.dr-segbtn{text-align:center;flex:1 1 0;min-width:0}.dr-segbtn:disabled{cursor:not-allowed;opacity:.5}.dr-note{color:var(--text-muted);font-size:.75rem;font-family:var(--font-family-mono);margin:0}.dr-side{flex-direction:column;gap:.75rem;min-width:0;display:flex}.dr-side-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-family:var(--font-family-mono);margin:0 0 .6rem;font-weight:500}.dr-couriers{flex-direction:column;gap:.5rem;display:flex}.dr-courier{text-align:left;border:0;border-bottom:1px solid var(--rule-dr);cursor:pointer;width:100%;transition:opacity var(--dur-fast) var(--ease-out);background:0 0;flex-direction:column;gap:.4rem;padding:.7rem 0;font-family:inherit;display:flex}.dr-courier:hover{opacity:.72}.dr-couriers:has(.is-focused) .dr-courier:not(.is-focused){opacity:.4}.dr-courier-top{align-items:baseline;gap:.5rem;display:flex}.dr-line{border-radius:2px;flex-shrink:0;align-self:center;width:20px;height:3px}.dr-courier-count{font-family:var(--font-family-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.9375rem}.dr-courier-of{color:var(--text-muted);font-size:.8em}.dr-total{flex-direction:column;gap:.4rem;padding:.9rem 0 .2rem;display:flex}.dr-gauge-fill--total{background:var(--accent)}.dr-chip{width:18px;height:18px;font-family:var(--font-family-mono);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:inline-flex}.dr-courier-name{color:var(--text-primary);font-size:.82rem;font-weight:500}.dr-phase{font-family:var(--font-family-mono);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.12rem .4rem;font-size:.62rem}.dr-phase--driving{color:var(--accent-text);border-color:var(--accent)}.dr-phase--serving{color:#fbbf24;border-color:#fbbf24}.dr-phase--waiting{color:var(--text-secondary)}.dr-phase--done{color:var(--text-muted)}.dr-gauge{background:var(--bg-subtle);border-radius:0;height:2px;display:block;overflow:hidden}.dr-gauge-fill{border-radius:999px;height:100%;transition:width .15s linear;display:block}.dr-courier-meta{font-family:var(--font-family-mono);color:var(--text-muted);justify-content:space-between;gap:.5rem;font-size:.66rem;display:flex}.dr-courier-meta b{color:var(--text-primary);font-weight:600}.dr-stats,.dr-feed{border-top:1px solid var(--rule-dr);padding:1rem 0 0}.dr-stats dl{grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin:0;display:grid}.dr-stats dl>div{flex-direction:column;gap:.1rem;min-width:0;display:flex}.dr-stat-wide{grid-column:1/-1}.dr-stats dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.62rem}.dr-stats dd{font-family:var(--font-family-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.dr-stat-wide dd{color:var(--text-secondary);font-size:.72rem;line-height:1.45}.dr-feed ul{flex-direction:column;gap:.35rem;max-height:190px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dr-feed li{color:var(--text-secondary);align-items:baseline;gap:.4rem;font-size:.7rem;line-height:1.45;display:flex}.dr-feed-time{font-family:var(--font-family-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.64rem}.dr-feed-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dr-provenance{color:var(--text-muted);font-size:.7rem;font-family:var(--font-family-mono);margin:0;line-height:1.6}@media(prefers-reduced-motion:reduce){.dr-gauge-fill{transition:none}}:root{--ease-settle:cubic-bezier(.18, .86, .22, 1);--dur-settle:.56s}html.immersion-on .reveal{filter:blur(5px);transition-property:opacity,transform,filter;transition-duration:var(--dur-settle),var(--dur-settle),.36s;transition-timing-function:var(--ease-settle),var(--ease-settle),ease-out;transform:translateY(22px)scale(.985)}html.immersion-on .reveal.visible{filter:blur();transform:none}html.immersion-on .reveal-left,html.immersion-on .reveal-right{transition-property:opacity,transform;transition-duration:.64s;transition-timing-function:var(--ease-settle)}html.immersion-on .reveal-left{transform:translate(-38px)scale(.965)}html.immersion-on .reveal-right{transform:translate(38px)scale(.965)}html.immersion-on .reveal-left.visible,html.immersion-on .reveal-right.visible{transform:none}@media(max-width:1024px){html.immersion-on .reveal-left,html.immersion-on .reveal-right{transform:translateY(22px)scale(.98)}}@media(prefers-reduced-motion:reduce){html.immersion-on .reveal,html.immersion-on .reveal-left,html.immersion-on .reveal-right{filter:none;transform:none}}.status-chip{overflow-wrap:anywhere;min-width:0;max-width:100%;font-family:var(--font-family-mono,monospace);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-secondary);white-space:normal;align-items:center;gap:.45em;padding:.45em .7em;font-size:.7rem;font-weight:500;line-height:1.5;display:inline-flex}.status-chip-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status-chip--live{color:var(--accent);border-color:var(--accent);background:var(--accent-glow);font-weight:600}.status-chip--live .status-chip-dot{box-shadow:0 0 0 3px var(--accent-glow);animation:2.6s ease-in-out infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.status-chip--demo{color:var(--text-primary);border-color:var(--border)}.status-chip--demo .status-chip-dot{opacity:.65}.status-chip--wip{color:var(--text-muted);background:0 0;border-style:dashed}.status-chip--wip .status-chip-dot{background:0 0;box-shadow:inset 0 0 0 1px}.pc{--pc-mx:50%;--pc-my:0%;--pc-rx:0deg;--pc-ry:0deg}.pc:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(circle 260px at var(--pc-mx) var(--pc-my),var(--accent),var(--accent) 45%,transparent 72%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.pc:before{background:radial-gradient(circle 260px at var(--pc-mx) var(--pc-my),color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent) 6%,transparent) 45%,transparent 72%)}}.pc:before{opacity:0;transition:opacity var(--dur-mid) ease;pointer-events:none}.pc:after{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;height:1px;transition:opacity var(--dur-mid) ease,transform var(--dur-mid) var(--ease-out);pointer-events:none;position:absolute;top:-1px;left:1.25rem;right:1.25rem;transform:scaleX(.35)}.pc-open{transition:color var(--dur-mid) ease,transform var(--dur-mid) var(--ease-out)}.pc-media img,.pc-media video{transition:transform var(--dur-slow) var(--ease-out)}@media(hover:hover)and (pointer:fine){.card-3d .pc{transition:box-shadow var(--dur-mid) ease,border-color var(--dur-mid) ease,transform var(--dur-fast) var(--ease-out)}.card-3d .pc:hover{transform:translateY(-4px) rotateX(var(--pc-rx)) rotateY(var(--pc-ry)) scale(1.012)}.pc:hover:before{opacity:1}.pc:hover:after{opacity:1;transform:scaleX(1)}.pc:hover .pc-open{color:var(--accent);transform:translate(2px,-2px)}.pc:hover .pc-media img,.pc:hover .pc-media video{transform:scale(1.045)}}.card-3d .pc:focus-visible{transform:translateY(-4px)scale(1.012)}.pc:focus-visible:before{opacity:1}.pc:focus-visible:after{opacity:1;transform:scaleX(1)}.pc:focus-visible .pc-open{color:var(--accent)}.pf-media .proj-front-img{transition:transform var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) ease,border-color var(--dur-slow) ease}@media(min-width:1025px){.pf-overlay{-webkit-backdrop-filter:blur(2px);background:linear-gradient(#00000052,#000000b8);border-color:#ffffff29}.pf-visit{min-height:var(--tap-min);transition:transform var(--dur-mid) var(--ease-out),background var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-mid) ease;align-items:center;gap:.5rem;display:inline-flex;transform:translateY(10px)scale(.98)}.pf-visit:after{content:"→";transition:transform var(--dur-fast) var(--ease-out)}.pf-media:hover .pf-visit,.pf-media:focus-within .pf-visit{transform:none}.pf-media .pf-visit:active{transform:translateY(2px)scale(.99)}}@media(hover:hover)and (min-width:1025px){.pf-media:hover .proj-front-img{border-color:var(--accent);box-shadow:0 24px 60px #00000073}.pf-visit:hover{box-shadow:0 8px 24px var(--accent-glow)}.pf-visit:hover:after{transform:translate(3px)}}.pm-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);background:radial-gradient(120% 100% at 50% 0,#0000008c,#000c);position:fixed;inset:0}.pm-panel{z-index:101;max-width:780px;padding:.75rem 1.1rem max(1.75rem,env(safe-area-inset-bottom,0px));background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);overscroll-behavior:contain;flex-direction:column;gap:1rem;margin:0 auto;display:flex;position:fixed;inset:.625rem;overflow-y:auto;box-shadow:0 24px 70px #00000080}.pm-panel>*{flex:none}@media(min-width:480px){.pm-panel{gap:1.1rem;padding:.75rem 1.5rem 2rem;inset:1.25rem}}@media(min-width:768px){.pm-panel{gap:1.25rem;padding:.85rem 2.25rem 2.25rem;inset:2rem}}.pm-close{z-index:3;width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);background:var(--bg-card);box-shadow:0 0 0 4px var(--bg-card),0 0 16px 11px var(--bg-card);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease,background var(--dur-fast) ease;border:1px solid #0000;flex:none;justify-content:center;align-self:flex-end;align-items:center;margin:0 -.35rem -.5rem 0;display:inline-flex;position:sticky;top:0}@media(hover:hover){.pm-close:hover{color:var(--text-primary);border-color:var(--border)}}.pm-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.pm-head{flex-direction:column;gap:.6rem;display:flex}.pm-title{font-family:var(--font-family-heading);letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(1.35rem,4.5vw,1.75rem);font-weight:700;line-height:1.15}.pm-claim{max-width:46ch;color:var(--text-primary);text-wrap:pretty;margin:0;font-size:1rem;font-weight:500;line-height:1.6}.pm-proof{max-width:46ch;font-family:var(--font-family-mono,monospace);color:var(--accent);margin:0;font-size:.8125rem;line-height:1.6}.pm-actions{flex-wrap:wrap;align-self:flex-start;gap:.625rem;display:flex}.pm-media{border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-subtle);overflow:hidden}.pm-media img,.pm-media video{width:100%;height:auto;display:block}.pm-diagram{margin:0;font-size:.8rem}.pm-diagram a{color:var(--text-secondary);text-underline-offset:4px}.pm-diagram a:hover{color:var(--accent)}.pm-skills{border-top:1px solid var(--border-card);flex-direction:column;gap:.75rem;padding-top:1.25rem;display:flex}.pm-skills h3{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600}.pm-skills p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.65}.pm-skills strong{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;display:block}.pm-panel .prose{max-width:52ch;margin-top:.25rem;padding-top:1.75rem;font-size:.95rem;line-height:1.75}.pm-panel .prose>:first-child{margin-top:0}.pm-panel .prose p{text-wrap:pretty;margin:0 0 1.05rem}.pm-panel .prose h2{letter-spacing:-.01em;border-left:2px solid var(--accent);margin:2.1rem 0 .7rem;padding-left:.7rem;font-size:1.0625rem;line-height:1.35}.pm-panel .prose h3{letter-spacing:.01em;margin:1.6rem 0 .5rem;font-size:.95rem}.pm-panel .prose ul{margin:0 0 1.05rem;padding-left:1.15rem;list-style:none}.pm-panel .prose ul>li{margin-bottom:.5rem;position:relative}.pm-panel .prose ul>li:before{content:"";background:var(--accent);opacity:.65;border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:-1rem}.pm-panel .prose ol{margin:0 0 1.05rem;padding-left:1.35rem}.pm-panel .prose ol>li{margin-bottom:.5rem}.pm-panel .prose ol>li::marker{color:var(--accent);font-variant-numeric:tabular-nums}.pm-panel .prose blockquote{border-left:2px solid var(--accent);color:var(--text-primary);padding:.15rem 0 .15rem 1rem}@media(prefers-reduced-motion:reduce){.card-3d .pc:hover,.card-3d .pc:focus-visible,.pc:after,.pc:hover:after,.pc:focus-visible:after,.pc:hover .pc-open,.pc:hover .pc-media img,.pc:hover .pc-media video,.pf-visit,.pf-media:hover .pf-visit,.pf-media:focus-within .pf-visit,.pf-media .pf-visit:active,.pf-visit:hover:after{transform:none}.status-chip--live .status-chip-dot{animation:none}}.back-link{min-height:var(--tap-min);border-radius:var(--radius-md);color:var(--text-muted);transition:color var(--dur-fast) ease,background var(--dur-fast) ease;align-items:center;gap:.5rem;margin-left:-.875rem;padding:.5rem .875rem;font-size:.875rem;text-decoration:none;display:inline-flex}.back-link-arrow{transition:transform var(--dur-fast) var(--ease-out);display:inline-block}@media(hover:hover)and (pointer:fine){.back-link:hover{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.back-link:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}}.back-link:hover .back-link-arrow{transform:translate(-3px)}}.back-link:focus-visible{color:var(--accent)}@keyframes navPageOut{to{opacity:0}}@keyframes navPageIn{0%{opacity:0;transform:translateY(10px)}}::view-transition-old(root){animation:.14s cubic-bezier(.4,0,1,1) forwards navPageOut}::view-transition-new(root){animation:navPageIn var(--dur-mid,.26s) var(--ease-out,cubic-bezier(.16, 1, .3, 1)) forwards}::view-transition-group(site-nav){animation-duration:var(--dur-mid,.26s);animation-timing-function:var(--ease-out,cubic-bezier(.16, 1, .3, 1))}::view-transition-old(site-nav){animation-duration:var(--dur-fast,.16s)}::view-transition-new(site-nav){animation-duration:var(--dur-fast,.16s)}::view-transition-group(nav-indicator){animation-duration:.38s;animation-timing-function:var(--ease-out,cubic-bezier(.16, 1, .3, 1))}::view-transition-old(nav-indicator){animation-duration:var(--dur-fast,.16s)}::view-transition-new(nav-indicator){animation-duration:var(--dur-fast,.16s)}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-group(site-nav){animation:none!important}::view-transition-group(nav-indicator){animation:none!important}::view-transition-old(site-nav){animation:none!important}::view-transition-new(site-nav){animation:none!important}::view-transition-old(nav-indicator){animation:none!important}::view-transition-new(nav-indicator){animation:none!important}.back-link-arrow{transform:none!important}}.dr-headline{flex-wrap:wrap;grid-column:1/-1;gap:1.25rem 2rem;display:flex}.dr-headline-item{flex-direction:column;gap:.2rem;display:flex}.dr-headline-value{font-family:var(--font-family-mono);color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:500;line-height:1}.dr-headline-label{color:var(--text-muted);letter-spacing:0;font-size:.8125rem}.dr-canvas,.dr-map,.dr-stage .dr-hud,.dr-stage .dr-legend{transition:opacity var(--dur-mid) var(--ease-out)}.dr-stage.is-swapping .dr-canvas,.dr-stage.is-swapping .dr-map,.dr-stage.is-swapping .dr-hud,.dr-stage.is-swapping .dr-legend{opacity:.25}.dr-banner{z-index:1003;background:var(--bg-card);border-radius:.6rem;align-items:flex-start;gap:.55rem;max-width:min(20rem,100% - 1.5rem);padding:.55rem .7rem;display:flex;position:absolute;bottom:2.6rem;right:.75rem}@supports (color:color-mix(in lab,red,red)){.dr-banner{background:color-mix(in srgb,var(--bg-card) 88%,transparent)}}.dr-banner{border:1px solid var(--border-card);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-card)}@media(max-width:640px){.dr-banner{bottom:3.9rem}.dr-legend{bottom:2rem}}.dr-banner--ready{border-color:var(--accent)}.dr-banner-icon{color:var(--accent);padding-top:.1rem;display:flex}.dr-banner-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.dr-banner-text b{color:var(--text-primary);font-size:.78rem;font-weight:600}.dr-banner-text span{color:var(--text-secondary);font-size:.68rem;line-height:1.45}.dr-banner-text .dr-banner-meta{font-family:var(--font-family-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.64rem}.dr-banner-cancel{width:1.5rem;height:1.5rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;margin:-.15rem -.2rem 0 0;display:inline-flex}.dr-banner-cancel:hover{color:var(--text-primary);background:var(--bg-subtle)}.dr-spinner{animation:.9s linear infinite dr-spin}@keyframes dr-spin{to{transform:rotate(360deg)}}.dr-solve{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);flex-direction:column;gap:.9rem;margin-top:.35rem;padding:1rem;display:flex}.dr-solve-head .dr-side-title{margin-bottom:.3rem}.dr-solve-lede{color:var(--text-secondary);max-width:62ch;margin:0;font-size:.8rem;line-height:1.55}.dr-solve-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.9rem 1.25rem;display:grid}.dr-field{flex-direction:column;gap:.45rem;min-width:0;display:flex}.dr-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.68rem;display:flex}.dr-field-value{font-family:var(--font-family-mono);color:var(--text-primary);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:.85rem}.dr-disclosure{color:var(--text-muted);font-family:var(--font-family-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.35rem;padding:.3rem .1rem;font-size:.7rem;display:inline-flex}.dr-disclosure:hover{color:var(--accent)}.dr-disclosure svg{transition:transform var(--dur-fast) var(--ease-out)}.dr-disclosure.is-open svg{transform:rotate(180deg)}.dr-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dr-solve-note{color:var(--text-muted);font-size:.68rem;font-family:var(--font-family-mono);margin:0;line-height:1.5}.dr-btn:disabled{cursor:not-allowed;opacity:.45}.dr-btn:disabled:hover{border-color:var(--border);color:var(--text-secondary)}.dr-btn--primary:disabled:hover{background:var(--accent);border-color:var(--accent);color:#000}.dr-alert-slot{min-height:1.25rem}.dr-alert{color:var(--text-secondary);align-items:flex-start;gap:.5rem;margin:0;font-size:.78rem;line-height:1.5;display:flex}.dr-alert svg{color:var(--dr-warn);flex-shrink:0;margin-top:.15rem}:root{--dr-good:#4ade80;--dr-bad:#fbbf24;--dr-warn:#fbbf24}.dr-delta dd{flex-wrap:wrap;align-items:baseline;gap:.35rem;display:flex}.dr-d{font-size:.64rem;font-family:var(--font-family-mono);border:1px solid;border-radius:999px;padding:.05rem .3rem}.dr-d--good{color:var(--dr-good)}.dr-d--bad{color:var(--dr-bad)}.dr-d--flat{color:var(--text-muted)}.dr-delta-ref{color:var(--text-muted);font-size:.64rem;line-height:1.5;font-family:var(--font-family-mono);margin:.7rem 0 0}.dr-mapctl{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.dr-ctl-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.64rem;font-family:var(--font-family-mono);white-space:nowrap}.dr-mapbtn{width:var(--tap-min);height:var(--tap-min);flex:none;justify-content:center;padding:0}.dr-mapbtn.is-active{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dr-mapbtn.is-active{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}}.dr-mapbtn.is-active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dr-mapbtn.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent)}}.dr-stage.has-basemap .dr-lg{background:var(--bg-card);border-radius:.3rem;padding:.05rem .35rem}@supports (color:color-mix(in lab,red,red)){.dr-stage.has-basemap .dr-lg{background:color-mix(in srgb,var(--bg-card) 78%,transparent)}}.dr-map .leaflet-tile-pane{opacity:.42;filter:grayscale()invert()brightness(1.75)contrast(.78)}.dr-map .leaflet-control-zoom{box-shadow:none;border:none;flex-direction:column;gap:2px;display:flex}.dr-map .leaflet-control-zoom a{border:1px solid var(--border-card);background:var(--bg-card);border-radius:.4rem;width:26px;height:26px;line-height:24px}@supports (color:color-mix(in lab,red,red)){.dr-map .leaflet-control-zoom a{background:color-mix(in srgb,var(--bg-card) 82%,transparent)}}.dr-map .leaflet-control-zoom a{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);font-family:var(--font-family-mono);font-size:1rem;font-weight:600;transition:color .18s,border-color .18s}.dr-map .leaflet-control-zoom a:hover{background:var(--bg-card)}@supports (color:color-mix(in lab,red,red)){.dr-map .leaflet-control-zoom a:hover{background:color-mix(in srgb,var(--bg-card) 92%,transparent)}}.dr-map .leaflet-control-zoom a:hover{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dr-map .leaflet-control-zoom a:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}}.dr-map .leaflet-control-zoom a.leaflet-disabled{color:var(--text-muted);opacity:.5}.dr-map .leaflet-control-zoom a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dr-map.leaflet-container .leaflet-bottom.leaflet-right{flex-direction:column;align-items:flex-end;gap:.35rem;padding:0 1.1rem .6rem 0;display:flex}.dr-map.leaflet-container .leaflet-bottom.leaflet-right .leaflet-control{margin:0}.dr-map.leaflet-container .leaflet-control-attribution{box-shadow:none;font-family:var(--font-family-mono);color:var(--text-muted);text-shadow:none;background:0 0;padding:0;font-size:.62rem;line-height:1.4}.dr-map .leaflet-control-attribution a{color:inherit;text-decoration:none;transition:color .18s}.dr-map .leaflet-control-attribution a:hover{color:var(--accent)}.dr-map .leaflet-control-attribution a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.2rem}.dr-map .leaflet-control-attribution:empty{display:none}.dr-map .leaflet-control-scale-line{border:1px solid var(--text-secondary)}@supports (color:color-mix(in lab,red,red)){.dr-map .leaflet-control-scale-line{border:1px solid color-mix(in srgb,var(--text-secondary) 60%,transparent)}}.dr-map .leaflet-control-scale-line{color:var(--text-secondary);font-family:var(--font-family-mono);text-align:center;text-shadow:none;box-shadow:none;background:0 0;border-top:none;border-radius:0;padding:0 4px 2px;font-size:.64rem;line-height:1.1}.dr-map.leaflet-container{background:0 0;outline:none;font-family:inherit}@media(pointer:coarse){.dr-btn,.dr-disclosure,.dr-banner-cancel,.dr-speed,.dr-segbtn{min-height:var(--tap-min)}.dr-btn,.dr-banner-cancel{min-width:var(--tap-min)}.dr-speeds,.dr-seg{padding:4px}.dr-courier{padding:.85rem .8rem}.dr-scrub,.dr-range{height:var(--tap-min);background-clip:padding-box;border-block:18px solid #0000}}@media(prefers-reduced-motion:reduce){.dr-spinner{animation:none}.dr-canvas,.dr-map,.dr-stage .dr-hud,.dr-stage .dr-legend{transition:none}html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal,.reveal-left,.reveal-right{opacity:1;transform:none}.card-3d .card:hover,.btn-accent:hover,.btn-ghost:hover,.social-icon:hover{transform:none}.proj-img-container:hover .proj-bg-img,.proj-img-container:hover .proj-front-img{transform:translate(-50%,-50%)}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}.dr-mode{min-height:1.15rem;font-family:var(--font-family-mono);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:.05rem .4rem;margin:0 0 .55rem;font-size:.68rem;line-height:1.45;display:flex}.dr-mode svg{opacity:.75;flex:none;align-self:center}.dr-mode b{color:var(--text-secondary);font-weight:600}.dr-mode.is-ready svg{color:var(--accent);opacity:1}.dr-mode.is-ready b{color:var(--text-primary)}.dr-mode-wait{display:inline-block}.dr-btn--recalc{border-color:var(--accent);color:var(--text-primary);background:var(--accent);font-weight:600}@supports (color:color-mix(in lab,red,red)){.dr-btn--recalc{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.dr-btn--recalc svg{color:var(--accent)}.dr-btn--recalc:hover:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dr-btn--recalc:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 22%,transparent)}}.dr-btn--recalc:hover:not(:disabled){border-color:var(--accent-hover,var(--accent))}.dr-btn--recalc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dr-seg .dr-segbtn{white-space:nowrap}@media(max-width:480px){.dr-seg{flex-wrap:nowrap;gap:1px}.dr-seg .dr-segbtn{padding-inline:.28rem;font-size:.66rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{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-ease{syntax:"*";inherits:false}.discovery-wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}.discovery-page{padding-top:8rem;padding-bottom:2rem}.discovery-heading{margin-bottom:3rem;max-width:1200px}.discovery-heading h1,.discovery-case h1{font:600 clamp(2rem,4vw,3.2rem)/1.12 var(--font-family-heading);letter-spacing:-.035em;margin:.8rem 0 1.25rem;text-wrap:balance}.discovery-heading>p:last-of-type{color:var(--text-secondary);max-width:70ch;line-height:1.8}.discovery-heading>.btn-ghost{margin-top:1.5rem}.discovery-eyebrow,.discovery-context{font:500 .73rem/1.6 var(--font-family-mono);color:var(--accent);margin:0;letter-spacing:.02em}.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem}.discovery-item{min-width:0}.discovery-item[hidden],.discovery-active-filters[hidden]{display:none}.discovery-tile{position:relative;isolation:isolate;padding:1.5rem;display:flex;flex-direction:column;gap:.85rem;height:100%;text-align:left}.discovery-tile h2{font:600 1.4rem/1.3 var(--font-family-heading);letter-spacing:-.02em;margin:0;text-wrap:balance}.discovery-tile h2 a{color:var(--text-primary);text-decoration:none}.discovery-tile h2 a:hover{color:var(--accent)}.discovery-claim{font-size:.92rem;line-height:1.65;color:var(--text-primary);margin:0}.discovery-proof{font:400 .75rem/1.7 var(--font-family-mono);color:var(--text-secondary);margin:0}.discovery-media{position:relative;aspect-ratio:16/10;width:100%;min-width:0;margin:.4rem 0;border:1px solid var(--border-card);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-subtle)}.discovery-media img,.discovery-media video{width:100%;height:100%;display:block;object-fit:contain;transition:transform var(--dur-mid) var(--ease-out),filter var(--dur-mid) ease}.discovery-media-link,.discovery-media-play{position:absolute;bottom:12px;right:12px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-card);color:var(--accent);cursor:pointer;z-index:1}.discovery-media-play{left:12px;right:auto;font-size:1.1rem;text-decoration:none;transition:transform var(--dur-mid) var(--ease-out),background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-mid) ease}.discovery-media-play:active{transform:scale(.94)}.discovery-media-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.discovery-recording{position:absolute;left:12px;top:12px;padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-sm);font:400 .65rem var(--font-family-mono);color:var(--text-secondary)}.discovery-audio{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--accent);padding:1.5rem;background:radial-gradient(ellipse at 50% 100%,var(--accent-glow),transparent 75%)}.discovery-audio strong{font:500 1.35rem var(--font-family-heading)}.discovery-audio span{color:var(--text-secondary);font-size:.8rem;text-align:center}.discovery-technologies{display:flex;flex-wrap:wrap;gap:.45rem}.discovery-tech{display:inline-flex;align-items:center;min-height:32px;padding:.25rem .65rem;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);background:var(--bg-subtle);font-size:.72rem;text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.discovery-tech:hover,.discovery-tech.is-match{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:500}.discovery-match{border-left:2px solid var(--accent);padding:.5rem .85rem;background:var(--accent-glow)}.discovery-match p{font-size:.8rem;line-height:1.7;margin:0;color:var(--text-primary)}.discovery-match strong{display:block;color:var(--accent);font-size:.73rem;margin-bottom:.4rem}.discovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:auto;padding-top:.75rem}.discovery-actions .btn-accent{font-size:.8rem;min-height:44px;padding:.65rem .9rem}.discovery-actions button{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;min-height:44px;font-size:.8rem;padding:.4rem}.discovery-actions button:hover{color:var(--accent)}.discovery-home-projects{padding-top:2rem;padding-bottom:3rem}.discovery-section-title{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.discovery-section-title h2,.discovery-home-background h2,.discovery-skills h2,.discovery-approach h2,.discovery-supporting h2,.discovery-case-skills h2,.discovery-contact h2{font:600 clamp(1.6rem,3vw,2.3rem)/1.25 var(--font-family-heading);letter-spacing:-.025em;margin:0 0 1rem}.discovery-section-title h2{margin:0}.discovery-section-title>a,.discovery-home-background>a,.discovery-supporting a,.discovery-skills a,.discovery-case-skills a{color:var(--accent);font-size:.85rem;text-underline-offset:4px}.discovery-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discovery-tile-compact{padding:1.25rem}.discovery-tile-compact h2{font-size:1.2rem}.discovery-tile-compact .discovery-claim{font-size:.83rem}.discovery-tile-compact .discovery-proof{font-size:.69rem}.discovery-tile-compact .discovery-media{margin-top:auto}.discovery-home-background{padding-block:3rem;max-width:900px}.discovery-home-background>p{color:var(--text-secondary);line-height:1.8;font-size:.95rem;margin-bottom:1.4rem}.discovery-all-projects{display:flex;justify-content:center;padding:1rem 0 3rem}.discovery-all-projects .btn-ghost{white-space:normal;text-align:center}.discovery-explorer{scroll-margin-top:105px}.discovery-active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.discovery-active-filters button{font-size:.75rem;color:var(--accent);background:var(--accent-glow);border:1px solid var(--accent);border-radius:var(--radius-pill);min-height:36px;padding:.4rem .75rem;cursor:pointer;overflow-wrap:anywhere;max-width:100%}.discovery-empty{text-align:center;padding:3rem 1rem;border:1px solid var(--border-card);border-radius:var(--radius-lg)}.discovery-empty h2{font-size:1.4rem}.discovery-empty p{color:var(--text-secondary);margin:1rem 0 1.5rem}.discovery-supporting{margin-top:5rem}.discovery-supporting>p{color:var(--text-secondary);line-height:1.8}.discovery-supporting>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem}.discovery-supporting article{border-top:1px solid var(--border-card);padding-top:1.5rem}.discovery-supporting h3{font-size:1.1rem;margin:0 0 .75rem}.discovery-supporting article p{font-size:.86rem;line-height:1.7;color:var(--text-secondary);margin-bottom:1rem}.discovery-contact{padding-top:3rem;padding-bottom:2rem}.discovery-contact .contact-card{text-align:left;max-width:none;padding:clamp(1.5rem,5vw,3rem)}.discovery-contact .contact-card>p{color:var(--text-secondary);line-height:1.8;font-size:.95rem;max-width:720px;margin-bottom:1.8rem}.discovery-email{display:inline-block;color:var(--text-secondary);font-size:.85rem;margin-top:1.2rem;text-underline-offset:4px;overflow-wrap:anywhere}.discovery-credit{text-align:center;color:var(--text-muted);font-size:.7rem;margin-top:2rem}.discovery-skills{padding-top:2rem;padding-bottom:3rem}.discovery-skills>p,.discovery-approach>p{color:var(--text-secondary);line-height:1.8;margin-bottom:2rem}.discovery-skills>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow:hidden}.discovery-skills article{background:var(--bg-card);padding:1.75rem}.discovery-skills h3{font-size:1.1rem;margin:0 0 .9rem}.discovery-skills article p{font-size:.88rem;line-height:1.7;color:var(--text-secondary);margin-bottom:1rem}.discovery-skills .discovery-tools{font:400 .74rem/1.7 var(--font-family-mono)}.discovery-approach{padding-top:2rem;padding-bottom:2rem;max-width:900px}.discovery-case-heading{max-width:850px;margin:2rem 0}.discovery-case-lead{font-size:1.05rem;line-height:1.8;color:var(--text-primary)}.discovery-case-outcome{font:400 .78rem/1.8 var(--font-family-mono);color:var(--accent);margin:1.25rem 0}.discovery-case-actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin-top:1.5rem}.discovery-case-actions a{font-size:.85rem;min-height:44px}.discovery-case-actions p{font-size:.8rem;color:var(--text-secondary)}.discovery-case-visual{max-width:960px;margin:2.5rem auto 3.5rem}.discovery-case-visual .discovery-media{aspect-ratio:auto}.discovery-image-original{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem;color:var(--accent);font-size:.82rem;text-underline-offset:4px}.discovery-media-full img,.discovery-media-full video{height:auto;max-height:600px;object-fit:contain}.discovery-media-full .discovery-audio{min-height:230px}.discovery-case-reading{display:grid;grid-template-columns:230px minmax(0,1fr);gap:3rem;align-items:start;border-top:1px solid var(--border-card);padding-top:2.5rem}.discovery-case-reading aside{position:sticky;top:100px;min-width:0}.discovery-case-index{display:flex;flex-direction:column;gap:.2rem}.discovery-case-index>p,.discovery-case-stack>p{font:400 .74rem var(--font-family-mono);color:var(--text-secondary);margin-bottom:.75rem}.discovery-case-index a{font-size:.8rem;line-height:1.5;color:var(--text-secondary);padding:.5rem 0;text-decoration:none}.discovery-case-index a:hover{color:var(--accent)}.discovery-case-stack{margin-top:1.5rem}.discovery-case-body{min-width:0;max-width:74ch;font-size:.95rem}.discovery-case-body h2{scroll-margin-top:110px}.discovery-case-skills{border-top:1px solid var(--border-card);margin-top:3rem;padding-top:2.5rem}.discovery-case-skills>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.discovery-case-skills article{padding:1.25rem;border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card)}.discovery-case-skills h3{margin:0 0 .75rem;font-size:.95rem}.discovery-case-skills article p{color:var(--text-secondary);font-size:.85rem;line-height:1.7}.discovery-case-next{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:3rem 0 1rem}.discovery-case-next>a{color:var(--accent);font-size:.88rem}.discovery-case-next>a:last-child{text-align:right;max-width:50%}.discovery-case-next span{display:block;font-size:.72rem;color:var(--text-secondary);margin-bottom:.5rem}.discovery-skip{position:fixed;top:-100px;left:1rem;z-index:200;padding:.8rem 1rem;background:var(--accent);color:var(--bg);border-radius:var(--radius-md)}.discovery-skip:focus{top:1rem}@media(max-width:1000px){.discovery-home-grid{grid-template-columns:1fr}.discovery-tile-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:1.5rem}.discovery-tile-compact .discovery-context,.discovery-tile-compact h2,.discovery-tile-compact .discovery-claim,.discovery-tile-compact .discovery-proof,.discovery-tile-compact .discovery-actions{grid-column:1}.discovery-tile-compact .discovery-media{grid-column:2;grid-row:1/6;margin:auto 0}.discovery-case-reading{grid-template-columns:190px minmax(0,1fr);gap:2rem}}@media(max-width:700px){.discovery-grid,.discovery-supporting>div,.discovery-skills>div,.discovery-case-skills>div{grid-template-columns:1fr}.discovery-tile-compact{display:flex}.discovery-page{padding-top:7rem}.discovery-section-title{align-items:start;flex-direction:column;gap:.8rem}.discovery-home-projects{padding-top:1rem}.discovery-case-reading{grid-template-columns:1fr;gap:2rem}.discovery-case-reading aside{position:static}.discovery-case-index{border-bottom:1px solid var(--border-card);padding-bottom:1rem}.discovery-case-stack{margin-top:1rem}.discovery-case-next{align-items:start;flex-direction:column}.discovery-case-next>a:last-child{text-align:left;max-width:100%}.discovery-tile{padding:1.1rem}.discovery-tile h2{font-size:1.3rem}.discovery-tile-compact h2{font-size:1.2rem}}.discovery-media-open{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:pointer;border:0;border-radius:inherit;background:transparent;padding:0;transition:background var(--dur-mid) ease}.discovery-media-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.discovery-media .discovery-media-play{z-index:3}.discovery-actions button.btn-accent{background:var(--accent);color:var(--bg);padding:.65rem .9rem;border:1px solid var(--accent);border-radius:var(--radius-md)}@media(hover:hover)and (pointer:fine){.discovery-media-open:hover,.discovery-media-open:focus-visible{background:#00000029}.discovery-media:has(.discovery-media-open:hover) img,.discovery-media:has(.discovery-media-open:focus-visible) img,.discovery-media:has(.discovery-media-open:hover) video,.discovery-media:has(.discovery-media-open:focus-visible) video{transform:scale(1.035)}.discovery-media-play:hover{transform:scale(1.08);background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:0 8px 24px var(--accent-glow)}}@media(prefers-reduced-motion:reduce){.discovery-media img,.discovery-media video,.discovery-media-play{transition:none}.discovery-media:has(.discovery-media-open:hover) img,.discovery-media:has(.discovery-media-open:hover) video,.discovery-media-play:hover,.discovery-media-play:active{transform:none}}.discovery-copy{display:contents}.discovery-rows{display:grid;gap:clamp(3.5rem,7vw,6rem);padding-top:1.5rem}.discovery-rows[hidden],.discovery-secondary[hidden]{display:none}.discovery-tile-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);padding:0;align-items:center}.discovery-tile-row .discovery-copy{display:flex;flex-direction:column;gap:1rem;grid-column:2;grid-row:1;min-width:0}:where(.discovery-tile-row) .discovery-row-visual{grid-column:1;grid-row:1;min-width:0;perspective:1400px}.discovery-row-reverse .discovery-copy{grid-column:1;text-align:right;align-items:flex-end}.discovery-row-reverse .discovery-row-visual{grid-column:2}.discovery-row-reverse .discovery-technologies{justify-content:flex-end}.discovery-tile-row h2{font-size:clamp(1.5rem,2.5vw,2rem)}.discovery-tile-row .discovery-claim{font-size:1rem;color:var(--text-secondary);line-height:1.75}.discovery-tile-row .discovery-proof{color:var(--accent);font-size:.8rem}.discovery-tile-row .discovery-media{margin:0;border-radius:var(--radius-lg);box-shadow:16px 12px 0 -1px var(--bg-card),16px 12px 0 0 var(--border-card);transition:transform var(--dur-slow) var(--ease-out)}.discovery-row-reverse .discovery-media{box-shadow:-16px 12px 0 -1px var(--bg-card),-16px 12px 0 0 var(--border-card)}.discovery-tile-row .discovery-actions{margin-top:.25rem}.discovery-secondary{margin-top:clamp(4rem,8vw,7rem)}.discovery-rows[hidden]+.discovery-secondary{margin-top:1.5rem}.discovery-secondary>h2{font:600 clamp(1.5rem,3vw,2rem)/1.25 var(--font-family-heading);margin:0 0 2rem}.discovery-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.discovery-secondary-grid .discovery-tile{padding:1.25rem}.discovery-secondary-grid h2{font-size:1.18rem}.discovery-secondary-grid .discovery-claim{font-size:.85rem}.discovery-supporting>div{gap:1.25rem}.discovery-supporting article{display:flex;flex-direction:column;gap:.9rem;padding:1.5rem;border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card)}.discovery-supporting article h3,.discovery-supporting article p{margin:0}.discovery-supporting article h3{font-size:1.1rem}.discovery-supporting article>a{margin-top:auto;padding-top:.4rem;min-height:44px;display:inline-flex;align-items:center}.discovery-supporting-icon{display:grid;place-items:center;width:44px;height:44px;color:var(--accent);background:var(--accent-glow);border:1px solid var(--border-card);border-radius:var(--radius-md)}@media(min-width:1025px)and (hover:hover)and (pointer:fine){html.immersion-on :where(.discovery-tile-row) .discovery-row-visual .discovery-media{transform:rotateY(5deg)}html.immersion-on .discovery-row-reverse .discovery-media{transform:rotateY(-5deg)}html.immersion-on :where(.discovery-tile-row) .discovery-row-visual:hover .discovery-media,html.immersion-on :where(.discovery-tile-row) .discovery-row-visual:focus-within .discovery-media{transform:none}}@media(max-width:1024px){.discovery-tile-row{grid-template-columns:1fr;gap:2rem;max-width:700px;margin-inline:auto}.discovery-tile-row .discovery-copy,.discovery-row-reverse .discovery-copy{grid-column:1;grid-row:1;align-items:flex-start;text-align:left}.discovery-row-visual,.discovery-row-reverse .discovery-row-visual{grid-column:1;grid-row:2}.discovery-row-reverse .discovery-technologies{justify-content:flex-start}.discovery-tile-row .discovery-media{box-shadow:none}.discovery-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.discovery-secondary-grid{grid-template-columns:1fr}.discovery-tile-row{padding:0}.discovery-tile-row h2{font-size:1.6rem}}[data-motion=paused] *,[data-motion=paused] *:before,[data-motion=paused] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-motion=paused] .reveal,[data-motion=paused] .reveal-left,[data-motion=paused] .reveal-right{opacity:1!important;transform:none!important;filter:none!important}[data-motion=paused] .pc,[data-motion=paused] .pc:hover,[data-motion=paused] .pc img,[data-motion=paused] .pc video{transform:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important;filter:none!important}.pc,.pc:hover,.pc img,.pc video{transform:none!important}}.discovery-curriculum-intro{max-width:62ch;color:var(--text-secondary);margin:0 0 2rem}.discovery-curriculum-list{display:grid;gap:1px;background:var(--border-card);border:1px solid var(--border-card);border-radius:var(--radius-md);overflow:hidden}.discovery-curriculum-list article{background:var(--bg);padding:1.15rem 1.35rem;display:grid;grid-template-columns:3.5rem 1fr;grid-template-areas:"year title" "year topics";column-gap:1rem;row-gap:.3rem}.discovery-curriculum-year{grid-area:year;margin:0;font:500 .78rem var(--font-family-mono);color:var(--accent);padding-top:.15rem}.discovery-curriculum-list h3{grid-area:title;margin:0;font-size:.98rem;font-weight:600;color:var(--text-primary)}.discovery-curriculum-list article>p:last-child{grid-area:topics;margin:0;font-size:.85rem;line-height:1.65;color:var(--text-secondary)}@media(max-width:559px){.discovery-curriculum-list article{grid-template-columns:1fr;grid-template-areas:"year" "title" "topics"}}.discovery-tech{height:24px;min-height:0;padding:0 8px;border:1px solid #2b2b2b;border-radius:var(--radius-sm);background:#181818;color:#b8b8b8;font:500 11px/1 var(--font-family-sans);white-space:nowrap;cursor:pointer}.discovery-tile-row .discovery-media,.discovery-row-reverse .discovery-media{box-shadow:inset 0 1px #ffffff0e,0 26px 52px -26px #000000bf}:where(.discovery-tile-row) .discovery-row-visual{position:relative;--ghost: 7px}:where(.discovery-tile-row) .discovery-row-visual:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--bg-card);opacity:.45;transform:translate3d(var(--ghost),6px,0) scale(.997);transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur-mid) ease}.discovery-row-reverse .discovery-row-visual{--ghost: -7px}@media(hover:hover)and (pointer:fine){:where(.discovery-tile-row) .discovery-row-visual:hover:before,:where(.discovery-tile-row) .discovery-row-visual:focus-within:before{opacity:.3;transform:translate3d(calc(var(--ghost) * .5),3px,0) scale(.999)}}@media(max-width:1024px){:where(.discovery-tile-row) .discovery-row-visual:before{display:none}}@media(min-width:1025px)and (hover:hover)and (pointer:fine){html.immersion-on :where(.discovery-tile-row) .discovery-row-visual .discovery-media{transform:rotateY(11deg) rotateX(1.5deg)}html.immersion-on .discovery-row-reverse .discovery-media{transform:rotateY(-11deg) rotateX(1.5deg)}html.immersion-on :where(.discovery-tile-row) .discovery-row-visual:hover .discovery-media,html.immersion-on :where(.discovery-tile-row) .discovery-row-visual:focus-within .discovery-media{transform:none}}.discovery-media-play.demo-pill{display:inline-flex;align-items:center;justify-content:center;gap:0;width:auto;height:44px;min-width:44px;padding:0;border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:#08110f;font-size:15px;font-weight:700;outline:0;overflow:hidden;box-shadow:0 6px 20px #00000073;transition:padding .6s ease-in-out,transform .18s ease}@media(any-pointer:coarse){.discovery-media-play.demo-pill,.social-badge{touch-action:manipulation}}.discovery-media-play.demo-pill:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.demo-pill-label{display:block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font:700 13px var(--font-family-sans);letter-spacing:.02em;transition:max-width .6s ease-in-out,opacity .6s ease-in-out,margin-right .6s ease-in-out}.demo-pill.is-open{padding:0 16px}.demo-pill.is-open .demo-pill-label{max-width:170px;opacity:1;margin-right:8px}[data-rule]{position:relative}[data-rule]:after{content:"";position:absolute;left:0;bottom:-7px;width:34px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .7s var(--ease-out)}[data-rule=on]:after{transform:scaleX(1)}@keyframes om-filter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes om-drawer{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.discovery-tile-card{cursor:pointer}.discovery-tile-card .discovery-row-visual{order:1}.discovery-tile-card .discovery-technologies{order:2}.discovery-tile-card .discovery-match{order:3}.discovery-tile-card .discovery-actions{order:4}[data-motion=paused] [data-rule]:after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){[data-rule]:after{transform:scaleX(1)}.discovery-row-visual:before{transition:none}}.explorer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:1.2rem}.explorer-toolbar>p{color:var(--text-secondary);font:400 .8rem var(--font-family-mono);margin:0}.explorer-pills{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.explorer-filter-by{font:500 12.5px var(--font-family-sans);color:#9a9a9a;white-space:nowrap}.explorer-pill{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 6px 0 16px;border:1px solid #383838;border-radius:var(--radius-pill);background:#161616;color:#e4e4e4;font:500 12.5px var(--font-family-sans);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.explorer-pill:hover{border-color:var(--text-muted)}.explorer-pill:active{background:#202020}.explorer-pill:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.explorer-pill.is-active{border-color:var(--accent);background:#72ffff1f;color:var(--accent)}.explorer-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-pill);background:#ffffff1a;color:#e4e4e4;font:600 11.5px var(--font-family-sans)}.explorer-pill.is-active .explorer-badge{background:var(--accent);color:#08110f}.explorer-chips{gap:5px}.explorer-chips .explorer-chip{display:inline-flex;align-items:center;gap:7px;height:28px;min-height:28px;padding:0 10px;border:1px solid rgba(114,255,255,.45);border-radius:var(--radius-pill);background:#72ffff1f;color:var(--accent);font:500 11.5px/1 var(--font-family-sans);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast)}.explorer-chips .explorer-chip:hover{background:#72ffff33;border-color:var(--accent)}.explorer-chips .explorer-chip:active{background:#72ffff47}.explorer-chips .explorer-chip span{font-size:10px;opacity:.75}.explorer-overlay{position:fixed;inset:0;z-index:210;background:#0000008c}.explorer-drawer{position:fixed;top:0;right:0;bottom:0;z-index:211;display:flex;flex-direction:column;width:min(390px,92vw);background:var(--bg-card);border-left:1px solid var(--rule-dr);box-shadow:-24px 0 60px #00000080;animation:ex-drawer .32s var(--ease-out)}.explorer-overlay[hidden],.explorer-drawer[hidden],.explorer-drawer [data-drawer-panel][hidden]{display:none}@keyframes ex-drawer{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.explorer-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:20px 22px;border-bottom:1px solid var(--rule-dr)}.explorer-drawer-head h2{margin:0;font:600 16px var(--font-family-heading);color:var(--text-primary)}.explorer-drawer-close{border:0;background:none;color:var(--accent);font:500 12.5px var(--font-family-sans);cursor:pointer;white-space:nowrap;min-height:44px;padding:0 4px}.explorer-drawer-close:hover{color:var(--accent-hover)}.explorer-drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px 16px}.explorer-row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 10px;border-radius:var(--radius-md);color:#e4e4e4;font:500 13.5px var(--font-family-sans);cursor:pointer;text-align:left;transition:background var(--dur-fast)}.explorer-row:hover{background:#ffffff0a}.explorer-row:active{background:#ffffff14}.explorer-row:has(input:checked){background:#72ffff14;color:var(--accent)}.explorer-row:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.explorer-row input{appearance:none;flex:none;width:20px;height:20px;margin:0;border:1px solid #3a3a3a;border-radius:5px;background:transparent center / 12px no-repeat;cursor:pointer}.explorer-row input:focus{outline:none}.explorer-row input[type=radio]{border-radius:var(--radius-pill)}.explorer-row input:checked{border-color:var(--accent);background-color:#72ffff29}.explorer-row input[type=radio]:checked{background-image:radial-gradient(circle,var(--accent) 0 3.5px,transparent 4px);background-size:100%}.explorer-row input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2372ffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}.explorer-row-label{flex:1;min-width:0}.explorer-row-count{flex:none;font:400 11px var(--font-family-mono);color:var(--text-muted)}.explorer-row:has(input:checked) .explorer-row-count{color:var(--accent)}.explorer-search{display:flex;align-items:center;gap:9px;margin:10px;padding:0 12px;height:46px;border:1px solid #2b2b2b;border-radius:var(--radius-md);background:#181818;color:var(--text-muted)}.explorer-search:focus-within{border-color:var(--accent)}.explorer-search svg{flex:none}.explorer-search input{flex:1;min-width:0;height:44px;border:0;background:none;color:var(--text-primary);font:400 13.5px var(--font-family-sans);outline:none}.explorer-search input::placeholder{color:var(--text-muted)}.explorer-drawer-foot{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 22px 22px;border-top:1px solid var(--rule-dr)}.explorer-drawer-foot .explorer-show{width:100%;height:48px;border-radius:var(--radius-pill);color:#08110f;font:600 14px var(--font-family-sans)}.explorer-clear{border:0;background:none;color:#9a9a9a;font:400 12.5px var(--font-family-sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:36px}.explorer-clear:hover{color:var(--text-primary)}@media(max-width:700px){.explorer-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.explorer-pills{margin-left:0}.explorer-drawer{width:100%;border-left:0}}@media(any-pointer:coarse){.explorer-pill,.explorer-chips .explorer-chip,.explorer-row,.explorer-clear,.explorer-drawer-close{touch-action:manipulation}.explorer-pill,.explorer-chips .explorer-chip,.explorer-clear{position:relative}.explorer-pill:before,.explorer-chips .explorer-chip:before,.explorer-clear:before{content:"";position:absolute;inset:-3px 0}.explorer-chips .explorer-chip:before{inset:-8px 0}.explorer-clear:before{inset:-4px 0}}@media(prefers-reduced-motion:reduce){.explorer-drawer{animation:none}}html{-webkit-text-size-adjust:100%}.mobile-skills,.registry,.mobile-projects-hint,.tile-number,.tile-cta-fiche,.tile-cta-arrow{display:none}@keyframes om-float{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media(max-width:700px){html{scroll-padding-top:var(--hdr, 65px)}section[id],footer[id],details[id]{scroll-margin-top:0}main#main,footer.discovery-contact{max-width:520px;margin-inline:auto}#hero.hero-section{max-width:none;padding:36px 20px 72px;gap:0}#hero .hero-id,#hero .hero-projects,#hero .hero-evidence{display:none}#hero .hero-aura{width:253px;height:380px;inset:64px auto auto 0}#hero h1{margin:0 0 25.6px;font-size:40px;line-height:1.08;letter-spacing:-.045em}#hero .hero-subline{margin:0 0 22.4px;font-size:16px;line-height:1.8}#hero .hero-background{margin:0 0 22.4px;font-size:15.2px;line-height:1.7}#hero .hero-availability{margin:0 0 17.6px;font-size:12.8px;line-height:1.6}#hero .contact-icons,#contact .contact-icons{width:auto;margin-top:0}.discovery-page{padding-top:2rem}.discovery-home-background{padding:48px 20px}.discovery-home-background>p{margin:0;font-size:15.2px;line-height:1.8}#projects.discovery-home-projects{padding:14px 0 0}#projects .discovery-section-title{margin:0;padding:0 20px 20px;gap:8px}#projects .discovery-section-title h2{margin:0;font:600 25.6px/1.25 var(--font-family-heading);letter-spacing:-.025em}.mobile-projects-hint{display:flex;align-items:center;gap:8px;margin:0;font:400 11px var(--font-family-mono);color:var(--text-muted)}.mobile-projects-arrow{display:inline-flex;animation:om-float 2.4s ease-in-out infinite}#projects[data-home] .explorer-toolbar,#projects[data-home] .discovery-secondary{display:none}#projects[data-home] .explorer-chips{margin:-8px 0 0;padding:0 20px 16px}.discovery-explorer{scroll-margin-top:0}.discovery-rows{gap:0;padding-top:0}article[data-snap].discovery-tile-row{display:flex;flex-direction:column;align-items:stretch;gap:0;max-width:none;min-height:calc(100vh - var(--hdr, 65px));min-height:calc(100svh - var(--hdr, 65px));margin:0;padding:0;border-top:1px solid var(--rule)}article[data-snap] .discovery-copy{display:contents}article[data-snap] .discovery-row-visual{order:-1;position:relative;flex:1 1 auto;display:grid;min-height:180px;max-height:46vh;max-height:46svh;overflow:hidden;background:var(--bg-subtle);perspective:none}article[data-snap] .discovery-media{width:100%;height:100%;aspect-ratio:auto;margin:0;border:0;border-radius:0;box-shadow:none;transform:none}article[data-snap] .discovery-media img,article[data-snap] .discovery-media video{width:100%;height:100%;object-fit:cover}article[data-snap] [data-fit=contain] .discovery-media img{width:calc(100% - 20px);margin-inline:auto;object-fit:contain}article[data-snap] .discovery-media-play{left:auto;right:20px;bottom:16px}article[data-snap] .tile-number{display:block;position:absolute;left:20px;bottom:12px;z-index:3;font:600 52px/1 var(--font-family-heading);letter-spacing:-.06em;color:#72ffffe6;pointer-events:none}article[data-snap] .discovery-context{margin:24px 20px 10px;font:500 10.5px var(--font-family-mono);letter-spacing:.08em;text-transform:uppercase}article[data-snap] h2{margin:0 20px 12px;font:600 27px/1.08 var(--font-family-heading);letter-spacing:-.04em}article[data-snap] .discovery-claim{margin:0 20px 14px;font-size:14px;line-height:1.65;color:#b8c2c4}article[data-snap] .discovery-proof{margin:0 20px 26px;padding:11px 13px;border-left:2px solid var(--accent);background:var(--accent-glow);font:400 11.5px/1.65 var(--font-family-mono);color:var(--text-primary)}article[data-snap] .discovery-technologies{display:none}[data-show-technologies=true] article[data-snap] .discovery-technologies{display:flex;margin:0 20px 1rem;flex-wrap:wrap}article[data-snap] .discovery-match:not([hidden]){display:block;margin:0 20px 24px;padding:.9rem}article[data-snap] .discovery-actions{flex:none;width:100%;margin-top:auto;padding:0;gap:0}article[data-snap] .discovery-actions .btn-accent{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:72px;padding:0 22px;border:0;border-top:1px solid var(--border-card);border-radius:0;background:linear-gradient(180deg,#72ffff17,#72ffff00);color:var(--accent);text-align:left;box-shadow:none;transform:none;touch-action:manipulation}article[data-snap] .discovery-actions .btn-accent:hover{background:#72ffff29;color:var(--accent);box-shadow:none;transform:none}article[data-snap] .discovery-actions .btn-accent:active{background:#72ffff38}article[data-snap] .discovery-actions .btn-accent:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}article[data-snap] .tile-cta-summary{display:none}article[data-snap] .tile-cta-fiche{display:block;font:600 16px var(--font-family-heading);letter-spacing:-.01em;white-space:nowrap}article[data-snap] .tile-cta-arrow{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--radius-pill);background:#72ffff29;color:var(--accent)}article[data-snap] .tile-cta-arrow svg{width:32px;height:29px}.mobile-skills{display:block;padding:26px 18px 30px}.registry{display:block;border-top:1px solid var(--rule)}.registry-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:26px 20px 12px}.registry-eyebrow,.registry-count{margin:0;font:500 10.5px var(--font-family-mono);color:var(--text-muted);white-space:nowrap}.registry-eyebrow{letter-spacing:.14em}.registry-intro{padding:0 20px 16px}.registry-intro h2{margin:0 0 8px;font:600 26px/1.15 var(--font-family-heading);letter-spacing:-.03em}.registry-intro p{margin:0;font-size:14px;line-height:1.65;color:#9a9a9a}.registry-chips{position:sticky;top:var(--hdr, 65px);z-index:30;padding:12px 20px;background:#101010f7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e}.registry-chips-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.registry-chips-row::-webkit-scrollbar{display:none}.registry-chip{flex:none;min-height:34px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-secondary);font:400 11px var(--font-family-mono);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background var(--dur-fast)}.registry-chip:active{background:#ffffff14}.registry-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}.registry-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.registry-list{display:flex;flex-direction:column;gap:12px;padding:16px 20px 36px}.registry-card{border:1px solid var(--rule);border-radius:16px;background:var(--bg-card);overflow:hidden}.registry-card[hidden]{display:none}.registry-title{margin:0;font:inherit;line-height:inherit}.registry-toggle{display:block;width:100%;padding:16px 16px 12px;border:0;background:none;color:inherit;font-family:var(--font-family-sans);text-align:left;cursor:pointer;touch-action:manipulation}.registry-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:16px 16px 0 0}.registry-title-row{display:flex;align-items:flex-start;gap:12px}.registry-name{flex:1;font:600 20.33px/1.15 var(--font-family-heading);letter-spacing:-.02em;color:var(--text-primary);text-wrap:initial}.registry-chevron{display:inline-block;flex:none;color:#9a9a9a;transition:transform .2s ease}.registry-card.is-open .registry-chevron{transform:rotate(180deg)}.registry-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;color:#8f8f8f}.registry-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}.registry-dot-wip{background:#6e6e6e}.registry-techs{display:flex;flex-wrap:wrap;gap:4px;padding:0 16px 16px}.registry-tech{display:inline-flex;align-items:center;height:21px;padding:0 7px;border:1px solid #2b2b2b;border-radius:var(--radius-sm);background:#181818;color:#b0b0b0;font:500 10px/1 var(--font-family-sans);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background var(--dur-fast)}.registry-tech:hover,.registry-tech:focus-visible{color:var(--accent);border-color:var(--accent)}.registry-tech:active{background:#262626}.registry-body{padding:0 16px 18px}.registry-body[hidden]{display:none}.registry-rule{height:1px;margin:0 0 14px;background:var(--rule)}.registry-claim{margin:0 0 14px;font-size:14.5px;line-height:1.7;color:#e4e4e4}.registry-proof{margin:0;padding:12px 14px;background:#131313;border:1px solid #202020;border-left:2px solid var(--accent);border-radius:0 12px 12px 0;font:400 12.5px/1.7 var(--font-family-sans);color:#bdbdbd}.registry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}.registry-action{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border:1px solid #2e2e2e;border-radius:9px;background:#1a1a1a;color:#e4e4e4;font:500 12.5px var(--font-family-sans);text-decoration:none;white-space:nowrap;cursor:pointer;touch-action:manipulation}.registry-action:hover{color:var(--text-primary);border-color:#454545}.registry-action-demo{border-color:#72ffff73;background:#72ffff1a;color:var(--accent);font-weight:600}.registry-action-demo:hover{background:#72ffff2e;border-color:#72ffff73;color:var(--accent)}.registry-github{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-left:auto;border:1px solid #2e2e2e;border-radius:9px;background:#1a1a1a;color:var(--text-secondary);text-decoration:none;touch-action:manipulation}.registry-github:hover{border-color:var(--accent)}.registry-github img{display:block;width:17px;height:17px}.registry-private{margin-left:auto;font-size:11.5px;color:var(--text-muted);white-space:nowrap}.discovery-contact{padding:48px 20px calc(32px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule)}.discovery-contact .contact-card{width:100%;align-items:flex-start;padding:24px;border-radius:20px;text-align:left}.discovery-contact .contact-card h2{margin:0 0 16px;font:600 25.6px/1.25 var(--font-family-heading);letter-spacing:-.025em}.discovery-contact .contact-card>p{margin:0 0 28.8px;font-size:15.2px;line-height:1.8}.discovery-email{margin-top:19.2px;font-size:13.6px}.discovery-credit{margin-top:32px;font-size:11.2px}}@media(max-width:700px)and (max-height:700px){article[data-snap] .discovery-row-visual{flex-basis:150px;min-height:150px}article[data-snap] h2{font-size:24px}article[data-snap] .discovery-claim{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}article[data-snap] .discovery-proof{margin-bottom:16px;padding:9px 12px}}@media(max-width:700px)and (any-pointer:coarse){.registry-tech,.registry-chip,.registry-action,.registry-github{position:relative}.registry-tech:before,.registry-chip:before,.registry-action:before,.registry-github:before{content:"";position:absolute;inset:-5px 0}.registry-tech:before{inset:-11px -2px}.registry-chips-row{padding-block:5px;margin-block:-5px}}.pill-nav-wrapper[data-astro-cid-3ef6ksr2]{position:fixed;top:1.25rem;left:0;right:0;z-index:50;display:flex;justify-content:center;padding-inline:.75rem;pointer-events:none}.pill-nav[data-astro-cid-3ef6ksr2]{position:relative;display:flex;align-items:center;max-width:100%;pointer-events:auto;background:#101010d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1.5px solid #383838;border-radius:40px;padding:.375rem .75rem;white-space:nowrap;view-transition-name:site-nav}.pill-scroll[data-astro-cid-3ef6ksr2]{position:relative;display:flex;align-items:center;gap:.125rem;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}.pill-scroll[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none}.pill-scroll[data-astro-cid-3ef6ksr2].fade-end{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 22px),transparent)}.pill-scroll[data-astro-cid-3ef6ksr2].fade-start{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 22px),transparent)}.pill-scroll[data-astro-cid-3ef6ksr2].fade-start.fade-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 22px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to right,transparent,#000 22px,#000 calc(100% - 22px),transparent)}.pill-indicator[data-astro-cid-3ef6ksr2]{position:absolute;left:0;top:0;width:0;height:0;background:#f5f5f5;border-radius:var(--radius-pill);pointer-events:none;z-index:0;opacity:0;box-shadow:0 2px 10px var(--accent-glow);view-transition-name:nav-indicator;transition:transform .38s var(--ease-out),width .38s var(--ease-out),height .38s var(--ease-out),opacity var(--dur-mid) ease}.pill-indicator[data-astro-cid-3ef6ksr2].is-ready{opacity:1}.pill-link[data-astro-cid-3ef6ksr2]{position:relative;z-index:1;display:flex;align-items:center;min-height:36px;padding:.5rem 1.1rem;border-radius:var(--radius-pill);font-size:.9rem;color:#999;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) ease,background var(--dur-fast) ease;flex-shrink:0}.pill-link[data-astro-cid-3ef6ksr2]:focus-visible{outline-offset:-3px}@media(hover:hover)and (pointer:fine){.pill-link[data-astro-cid-3ef6ksr2]:not(.active):hover{color:#fff;background:#ffffff12}}.pill-link[data-astro-cid-3ef6ksr2].active{color:#000;text-shadow:.3px 0 0 currentColor,-.3px 0 0 currentColor}.pill-link[data-astro-cid-3ef6ksr2][aria-disabled=true]{cursor:default;pointer-events:none}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:.25rem;padding:0;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.nav-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--text-primary)}.nav-toggle[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-toggle-bars[data-astro-cid-3ef6ksr2],.nav-toggle-bars[data-astro-cid-3ef6ksr2]:before,.nav-toggle-bars[data-astro-cid-3ef6ksr2]:after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s var(--ease-out),opacity .12s linear}.nav-toggle-bars[data-astro-cid-3ef6ksr2]:before,.nav-toggle-bars[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute}.nav-toggle-bars[data-astro-cid-3ef6ksr2]:before{transform:translateY(-6px)}.nav-toggle-bars[data-astro-cid-3ef6ksr2]:after{transform:translateY(6px)}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle-bars[data-astro-cid-3ef6ksr2]{background:transparent}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle-bars[data-astro-cid-3ef6ksr2]:before{transform:rotate(45deg)}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle-bars[data-astro-cid-3ef6ksr2]:after{transform:rotate(-45deg)}.sheet-extra[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:559px){.nav-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex}.sheet-extra[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:.125rem;margin-top:.25rem;padding-top:.25rem;border-top:1px solid #2a2a2a}.sheet-row[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;width:100%;min-height:44px;padding:0 .875rem;border:0;border-radius:14px;background:none;color:var(--text-secondary);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.sheet-row[data-astro-cid-3ef6ksr2]:hover,.sheet-row[data-astro-cid-3ef6ksr2]:focus-visible{color:var(--text-primary);background:#ffffff0f}.sheet-row[data-astro-cid-3ef6ksr2]{white-space:normal;padding-block:.5rem;line-height:1.35}.sheet-motion[data-astro-cid-3ef6ksr2][disabled]{opacity:.5;cursor:default}.pill-scroll[data-astro-cid-3ef6ksr2]{position:absolute;top:calc(100% + .5rem);left:auto;right:0;min-width:12rem;max-width:min(78vw,15rem);flex-direction:column;align-items:stretch;gap:.125rem;padding:.375rem;background:#121212;border:1.5px solid #383838;box-shadow:0 12px 32px #0000008c;border-radius:20px;overflow:hidden}.pill-scroll[data-astro-cid-3ef6ksr2][hidden]{display:none}.pill-link[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;min-height:44px;padding:0 .875rem;border-radius:14px}.pill-indicator[data-astro-cid-3ef6ksr2]{display:none}.pill-link[data-astro-cid-3ef6ksr2].active,.pill-link[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--accent);background:#72ffff1a;text-shadow:none}}.pill-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.125rem;margin-left:.375rem;padding-left:.5rem;border-left:1px solid #333333;flex-shrink:0}.pill-motion[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.pill-motion[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);background:#72ffff14}.pill-motion[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pill-motion[data-astro-cid-3ef6ksr2]:disabled{opacity:.5;cursor:default}.pill-motion-play[data-astro-cid-3ef6ksr2],.pill-motion[data-astro-cid-3ef6ksr2][aria-pressed=true] .pill-motion-pause[data-astro-cid-3ef6ksr2]{display:none}.pill-motion[data-astro-cid-3ef6ksr2][aria-pressed=true] .pill-motion-play[data-astro-cid-3ef6ksr2]{display:block}.lang-toggle[data-astro-cid-3ef6ksr2]{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;font-family:var(--font-family-mono);font-size:.7rem;font-weight:600;color:#888;text-decoration:none;border-radius:var(--radius-sm);letter-spacing:.05em;transition:color .15s ease,background .15s ease}.lang-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--accent);background:#ffffff0f}@media(max-width:640px){.pill-nav[data-astro-cid-3ef6ksr2]{padding:.3125rem .5rem}.pill-link[data-astro-cid-3ef6ksr2]{padding:.5rem .875rem;font-size:.8125rem}.pill-actions[data-astro-cid-3ef6ksr2]{padding-left:.375rem;margin-left:.25rem}}@media(pointer:coarse){.pill-link[data-astro-cid-3ef6ksr2]{min-height:44px}.pill-motion[data-astro-cid-3ef6ksr2]{width:44px;height:44px}.lang-toggle[data-astro-cid-3ef6ksr2]{min-width:44px;min-height:44px}}.mobile-header[data-astro-cid-3ef6ksr2]{display:none}@media(max-width:700px){.pill-nav-wrapper[data-astro-cid-3ef6ksr2]{visibility:hidden}.mobile-header[data-astro-cid-3ef6ksr2]{display:block;position:sticky;top:0;z-index:50;background:#101010ed;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.mh-bar[data-astro-cid-3ef6ksr2]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;margin-inline:auto;padding:calc(13px + env(safe-area-inset-top,0px)) 20px 13px}.mh-brand[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:10px;min-width:0;padding:0;color:inherit;text-decoration:none;touch-action:manipulation}.mh-monogram[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font:600 12px var(--font-family-heading)}.mh-name[data-astro-cid-3ef6ksr2]{font:600 13.5px var(--font-family-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mh-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:8px;flex:none}.mh-lang[data-astro-cid-3ef6ksr2],.mh-menu[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;min-width:38px;min-height:38px;padding:0;border:1px solid var(--border-card);border-radius:var(--radius-pill);background:none;color:#a0a0a0;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}@media(any-pointer:coarse){.mh-lang[data-astro-cid-3ef6ksr2],.mh-menu[data-astro-cid-3ef6ksr2]{position:relative}.mh-lang[data-astro-cid-3ef6ksr2]:before,.mh-menu[data-astro-cid-3ef6ksr2]:before{content:"";position:absolute;inset:-3px}}.mh-lang[data-astro-cid-3ef6ksr2]{font:600 11px var(--font-family-mono);color:#888}.mh-lang[data-astro-cid-3ef6ksr2]:hover,.mh-menu[data-astro-cid-3ef6ksr2]:hover,.mh-menu[data-astro-cid-3ef6ksr2][aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.mh-lang[data-astro-cid-3ef6ksr2]:focus-visible,.mh-menu[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mh-bars[data-astro-cid-3ef6ksr2],.mh-bars[data-astro-cid-3ef6ksr2]:before,.mh-bars[data-astro-cid-3ef6ksr2]:after{display:block;width:16px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .2s var(--ease-out),opacity .12s linear}.mh-bars[data-astro-cid-3ef6ksr2]{position:relative}.mh-bars[data-astro-cid-3ef6ksr2]:before,.mh-bars[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:0}.mh-bars[data-astro-cid-3ef6ksr2]:before{transform:translateY(-5px)}.mh-bars[data-astro-cid-3ef6ksr2]:after{transform:translateY(5px)}.mh-menu[data-astro-cid-3ef6ksr2][aria-expanded=true] .mh-bars[data-astro-cid-3ef6ksr2]{background:transparent}.mh-menu[data-astro-cid-3ef6ksr2][aria-expanded=true] .mh-bars[data-astro-cid-3ef6ksr2]:before{transform:rotate(45deg)}.mh-menu[data-astro-cid-3ef6ksr2][aria-expanded=true] .mh-bars[data-astro-cid-3ef6ksr2]:after{transform:rotate(-45deg)}.mh-sheet[data-astro-cid-3ef6ksr2]{position:absolute;top:calc(100% + 8px);right:20px;z-index:60;display:flex;flex-direction:column;gap:2px;min-width:186px;max-width:calc(100vw - 40px);max-height:calc(100dvh - var(--hdr, 65px) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:6px;background:#121212;border:1px solid #383838;border-radius:16px;box-shadow:0 12px 32px #0000008c}.mh-sheet[data-astro-cid-3ef6ksr2][hidden]{display:none}.mh-row[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;width:100%;min-height:44px;padding:8px 14px;border:0;border-radius:12px;background:none;color:var(--text-secondary);font:400 13px/1.35 var(--font-family-sans);text-align:left;text-decoration:none;cursor:pointer;touch-action:manipulation}.mh-row[data-astro-cid-3ef6ksr2]:hover,.mh-row[data-astro-cid-3ef6ksr2]:focus-visible{color:var(--text-primary);background:#ffffff0f}.mh-row[data-astro-cid-3ef6ksr2][aria-current=location]{color:var(--accent);background:#38ddde14}.mh-row[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mh-motion[data-astro-cid-3ef6ksr2][disabled]{opacity:.5;cursor:default}.mh-extra[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;border-top:1px solid #2a2a2a}}
