@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_707233f-module__9hS9bG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_707233f-module__9hS9bG__variable{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
@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;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,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)}}@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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-1{top:calc(var(--spacing)*1)}.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}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink: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}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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}.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-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--font-funnel-sans:"Funnel Sans",system-ui,sans-serif;--font-big-shoulders:"Big Shoulders Display",system-ui,sans-serif;--font-fragment-mono:"Fragment Mono",ui-monospace,monospace}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:focus-visible{outline-offset:2px;outline:2px solid #00ff8873}body.theme-hw :focus-visible{outline-color:#ff7a008c}@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}
*,:before,:after{box-sizing:border-box}html,body{color:var(--ink);margin:0;padding:0;transition:color .4s}body{font-feature-settings:"ss01" on;-webkit-font-smoothing:antialiased;cursor:crosshair;font-family:Funnel Sans,system-ui,sans-serif;overflow-x:hidden}::selection{background:var(--accent,#0f8);color:#000}:root{--accent:#0f8;--accent-dim:#00ff8826;--accent-glow:#00ff8873;--hw:#ff7a00;--hw-dim:#ff7a0026;--hw-glow:#ff7a0080;--sw:#0f8;--sw-dim:#00ff8826;--sw-glow:#00ff8873;--bg:#000;--ink:#f4f4f4;--ink-soft:#f4f4f4d9;--muted:#f4f4f48c;--line:#ffffff14;--line-strong:#ffffff2e;--surface:#ffffff06;--surface-2:#ffffff0a;--grid:#ffffff0a}body.light{--bg:#f4f1ec;--ink:#0a0a0a;--ink-soft:#0a0a0ad9;--muted:#0a0a0a8c;--line:#0a0a0a1a;--line-strong:#0a0a0a38;--surface:#0a0a0a09;--surface-2:#0a0a0a0d;--grid:#0a0a0a0f;--sw:#095;--sw-dim:#00995526;--sw-glow:#00995573}#fx-canvas{z-index:1;pointer-events:none;position:fixed;inset:0}#grid-bg{z-index:0;pointer-events:none;background-color:var(--bg);background-image:linear-gradient(to right,var(--grid)1px,transparent 1px),linear-gradient(to bottom,var(--grid)1px,transparent 1px);background-size:auto,64px 64px,64px 64px;transition:background-color .4s;position:fixed;inset:0}#portfolio-root{z-index:2;position:relative}.splash{background:var(--bg);z-index:999;color:var(--accent);letter-spacing:.2em;place-items:center;font-family:Fragment Mono,monospace;font-size:14px;display:grid;position:fixed;inset:0}.mono{font-family:Fragment Mono,SFMono-Regular,Menlo,monospace}body.theme-hw{--accent:var(--hw);--accent-dim:var(--hw-dim);--accent-glow:var(--hw-glow)}body.theme-sw{--accent:var(--sw);--accent-dim:var(--sw-dim);--accent-glow:var(--sw-glow)}body.light .gpt-bubble{background:#fff}body.light .gpt-panel{background:#f4f1ecf7}body.light .gpt-msg.bot{border-color:var(--line);color:var(--ink);background:#0a0a0a0a}body.light .gpt-panel .compose input{color:var(--ink);background:#0a0a0a0a}body.light .gpt-panel .close-btn{color:var(--ink);border-color:var(--line);background:#0a0a0a0d}body.light .gpt-panel .suggest button{color:var(--ink-soft)}body.light .gpt-panel header{border-color:var(--line);background:#0a0a0a08}body.light .portrait{background:#e9e6df}body.light .portrait img{filter:grayscale()contrast()brightness(1.05)}body.light .portrait .duotone{mix-blend-mode:multiply;opacity:.88}body.light .portrait .overlay-sw,body.light .portrait .overlay-hw{mix-blend-mode:multiply}body.light .portrait .stamp{color:var(--ink);border-color:var(--line-strong);background:#ffffffb3}body.light .portrait .tape{background:#ffffffb3}@keyframes glitch-x{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px)}}@keyframes scan{0%{background-position:0 0}to{background-position:0 100%}}.scanlines:before{content:"";pointer-events:none;mix-blend-mode:overlay;opacity:.4;background:repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 3px);position:absolute;inset:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes explode-in{0%{opacity:0;transform:translate(var(--ex,0),var(--ey,0))rotate(var(--er,0deg))scale(.6);filter:blur(20px)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}@keyframes explode-out{0%{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}to{opacity:0;transform:translate(var(--ex,0),var(--ey,0))rotate(var(--er,0deg))scale(.6);filter:blur(14px)}}.megaword{letter-spacing:-.02em;text-transform:lowercase;font-family:Big Shoulders Display,Funnel Sans,system-ui,sans-serif;font-weight:900;line-height:.86}.megaword .char{will-change:transform,opacity,filter;display:inline-block}.megaword .char.shatter{transition:transform .9s cubic-bezier(.2,.7,.1,1),opacity .7s,filter .6s}nav.top{z-index:50;-webkit-backdrop-filter:blur(8px);background:linear-gradient(180deg,color-mix(in srgb,var(--bg)70%,transparent),color-mix(in srgb,var(--bg)0%,transparent));letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:18px 28px;font-family:Fragment Mono,monospace;font-size:12px;display:flex;position:fixed;top:0;left:0;right:0}nav.top a{color:var(--ink);opacity:.8;border-radius:4px;padding:6px 10px;text-decoration:none;transition:opacity .2s,color .2s,background .2s}nav.top a:hover{color:var(--accent);opacity:1;background:var(--accent-dim)}.logotype{letter-spacing:-.02em;color:var(--ink);font-family:Funnel Sans;font-size:20px;font-weight:700}.logotype .dot{color:var(--accent)}.btn{letter-spacing:.12em;text-transform:uppercase;background:var(--accent);color:#000;cursor:crosshair;box-shadow:0 0 0 0 var(--accent-glow);border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-family:Fragment Mono,monospace;font-size:12px;font-weight:400;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{box-shadow:0 8px 30px var(--accent-glow);transform:translateY(-2px)}.btn.ghost{color:var(--ink);border:1px solid var(--line-strong);background:0 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.chip{letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-family:Fragment Mono,monospace;font-size:11px;display:inline-flex}.chip.accent{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.section-label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;font-family:Fragment Mono,monospace;font-size:11px;display:flex}.section-label:before{content:"";background:var(--accent);width:36px;height:1px;box-shadow:0 0 8px var(--accent-glow)}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;transition:transform .3s,border-color .3s,background .3s;position:relative;overflow:hidden}.card:hover{border-color:var(--accent);background:var(--surface-2)}.card .corner{border:1px solid var(--accent);width:10px;height:10px;position:absolute}.card .corner.tl{border-bottom:none;border-right:none;top:10px;left:10px}.card .corner.tr{border-bottom:none;border-left:none;top:10px;right:10px}.card .corner.bl{border-top:none;border-right:none;bottom:10px;left:10px}.card .corner.br{border-top:none;border-left:none;bottom:10px;right:10px}.overlay-scan{pointer-events:none;background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--ink)6%,transparent)0 1px,transparent 1px 4px);opacity:.5;position:absolute;inset:0}.toggle-rail{background:var(--surface-2);border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:6px;font-family:Fragment Mono,monospace;font-size:12px;display:inline-flex;position:relative}.toggle-rail button{color:var(--muted);font:inherit;cursor:crosshair;z-index:2;background:0 0;border:none;border-radius:999px;padding:12px 22px;transition:color .25s;position:relative}.toggle-rail button.active{color:#000;font-weight:600}.toggle-rail .thumb{background:var(--accent);box-shadow:0 0 30px var(--accent-glow);z-index:1;border-radius:999px;transition:left .55s cubic-bezier(.7,.05,.2,1),width .55s cubic-bezier(.7,.05,.2,1),background .25s;position:absolute;top:6px;bottom:6px}body.theme-hw #grid-bg{background-image:linear-gradient(90deg,#ff7a000d 1px,#0000 1px),linear-gradient(#ff7a000d 1px,#0000 1px)}.section-heading{letter-spacing:-.02em;text-transform:lowercase;color:var(--ink);margin:0;font-family:Big Shoulders Display,Funnel Sans,system-ui,sans-serif;font-size:clamp(48px,8vw,144px);font-weight:900;line-height:.9}.section-heading .accent{color:var(--accent)}.outline{-webkit-text-stroke:1.5px var(--ink);color:#0000}.noise{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}@keyframes blink{50%{opacity:0}}.caret{background:var(--accent);width:.6ch;animation:.9s step-end infinite blink;display:inline-block}.rail::-webkit-scrollbar{display:none}.rail{scrollbar-width:none}input,button{cursor:crosshair}footer{border-top:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:24px;padding:80px 28px 40px;font-family:Fragment Mono,monospace;font-size:11px;display:flex}.hero-stage{width:100%;max-width:440px;margin-inline:auto}.hero-stage-frame{border:1px solid var(--line-strong);background:radial-gradient(ellipse 120% 80% at 20% 10%,color-mix(in srgb,var(--accent)16%,transparent),transparent 55%),linear-gradient(165deg,var(--surface-2),color-mix(in srgb,var(--bg)88%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)25%,transparent),0 20px 56px #00000059,inset 0 1px 0 color-mix(in srgb,var(--accent)12%,transparent);border-radius:22px;padding:clamp(18px,3vw,26px);position:relative;overflow:hidden}.hero-stage-frame--scene{padding:clamp(16px,2.8vw,24px)}.hero-scene-wrap{width:100%;max-width:360px;margin:6px auto 8px}.hero-scene-svg{width:100%;height:auto;max-height:min(42vh,276px);color:color-mix(in srgb,var(--muted)82%,var(--accent));display:block}.hero-illo-desk{fill:color-mix(in srgb,var(--surface-2)85%,var(--accent));stroke:var(--line-strong);stroke-width:1px}.hero-illo-bezel{fill:color-mix(in srgb,var(--surface)92%,var(--accent));stroke:var(--line-strong);stroke-width:1px}.hero-illo-screen{fill:#06080d;stroke:color-mix(in srgb,var(--accent)35%,transparent);stroke-width:1px}.hero-illo-stroke{stroke:currentColor;fill:none}.hero-illo-stroke-thick{stroke-width:7px}.hero-sw-code-band{animation:10s linear infinite hero-sw-code-roll}@keyframes hero-sw-code-roll{0%{transform:translateY(0)}to{transform:translateY(-144px)}}.hero-sw-code-line{fill:color-mix(in srgb,var(--accent)58%,transparent)}.hero-sw-code-line:nth-child(3n){opacity:.88}.hero-sw-code-line:nth-child(3n+1){opacity:.52}.hero-sw-code-line:nth-child(3n+2){opacity:.72}.hero-sw-cursor{fill:var(--accent);animation:1.05s step-end infinite hero-sw-cursor-blink}@keyframes hero-sw-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.hero-sw-key{fill:color-mix(in srgb,var(--surface-2)90%,var(--accent));stroke:color-mix(in srgb,var(--accent)28%,transparent);stroke-width:.5px;animation:1.45s ease-in-out infinite hero-sw-key-pulse}.hero-sw-key:nth-child(4n+1){animation-delay:0s}.hero-sw-key:nth-child(4n+2){animation-delay:.14s}.hero-sw-key:nth-child(4n+3){animation-delay:.28s}.hero-sw-key:nth-child(4n){animation-delay:.42s}@keyframes hero-sw-key-pulse{0%,to{opacity:.52;transform:translateY(0)}50%{opacity:1;transform:translateY(-1.5px)}}.hero-sw-lamp{transform-box:fill-box;transform-origin:14% 92%;animation:9s ease-in-out infinite hero-sw-lamp-sway}@keyframes hero-sw-lamp-sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(4deg)}}.hero-sw-lamp-arm{opacity:.88}.hero-sw-lamp-shade{fill:color-mix(in srgb,var(--surface-2)70%,var(--accent));stroke:color-mix(in srgb,var(--accent)40%,transparent);stroke-width:1px}.hero-sw-mouse-body{fill:color-mix(in srgb,var(--surface)88%,var(--accent));stroke:var(--line-strong);stroke-width:1px}.hero-sw-mouse-split{stroke:color-mix(in srgb,var(--muted)55%,transparent);stroke-width:1px;fill:none}.hero-sw-mug{fill:color-mix(in srgb,var(--surface-2)75%,var(--accent));stroke:var(--line-strong);stroke-width:1px}.hero-sw-mug-handle{stroke:currentColor;stroke-width:2px;opacity:.65}.hero-sw-notebook{fill:color-mix(in srgb,var(--surface)90%,var(--accent));stroke:var(--line);stroke-width:1px;opacity:.82}.hero-sw-cable{stroke:color-mix(in srgb,var(--muted)45%,var(--accent));stroke-width:1.5px;stroke-dasharray:4 5;opacity:.55;fill:none}.hero-hw-scope-body{fill:color-mix(in srgb,var(--surface)94%,var(--accent));stroke:var(--line-strong);stroke-width:1px}.hero-hw-scope-screen{fill:#050608;stroke:color-mix(in srgb,var(--accent)30%,transparent);stroke-width:1px}.hero-hw-scope-wave{stroke:var(--accent);stroke-width:1.6px;opacity:.88;stroke-dasharray:80;stroke-dashoffset:80px;animation:2.4s ease-in-out infinite alternate hero-hw-wave-draw}@keyframes hero-hw-wave-draw{to{stroke-dashoffset:0}}.hero-hw-scope-bnc{fill:color-mix(in srgb,var(--muted)40%,var(--surface));stroke:color-mix(in srgb,var(--accent)45%,transparent);stroke-width:1px}.hero-hw-scope-lead{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.82}.hero-hw-scope-lead--a{stroke:color-mix(in srgb,#c9a227 55%,var(--accent));stroke-width:2px}.hero-hw-scope-lead--b{stroke:color-mix(in srgb,var(--muted)75%,var(--accent));stroke-width:1.75px}.hero-hw-probe-boot{fill:color-mix(in srgb,var(--surface-2)88%,var(--accent));stroke:color-mix(in srgb,var(--accent)35%,transparent);stroke-width:1px}.hero-hw-probe-boot--gnd{fill:color-mix(in srgb,var(--muted)55%,var(--surface))}.hero-hw-solder-tail{stroke:color-mix(in srgb,var(--muted)50%,var(--accent));stroke-width:1.75px;stroke-linecap:round;opacity:.65;fill:none}.hero-hw-mount{fill:#060908;stroke:color-mix(in srgb,var(--accent)22%,transparent);stroke-width:1px;opacity:.85}.hero-hw-sponge{fill:color-mix(in srgb,#6b4423 35%,var(--surface));stroke:var(--line);stroke-width:1px;opacity:.78}.hero-hw-iron-rest{stroke:color-mix(in srgb,var(--muted)55%,transparent);stroke-width:3px;stroke-linecap:round;fill:none}.hero-hw-dmm-jack{fill:#151515;stroke:color-mix(in srgb,var(--muted)55%,transparent);stroke-width:1px}.hero-hw-dmm-jack--red{stroke:color-mix(in srgb,#c43 65%,var(--accent))}.hero-hw-probe-wire--blk{stroke:color-mix(in srgb,var(--muted)78%,var(--accent));stroke-linecap:round;fill:none;stroke-width:2px;opacity:.68}.hero-hw-probe-wire--red{stroke:color-mix(in srgb,#c43 55%,var(--accent));stroke-linecap:round;fill:none;stroke-width:2px;opacity:.76}.hero-hw-probe-tip--blk{stroke:color-mix(in srgb,var(--muted)85%,var(--bg));stroke-width:2.75px}.hero-hw-iron-assy .hero-hw-iron-handle{stroke:color-mix(in srgb,var(--muted)35%,var(--surface));stroke-width:10px}.hero-hw-iron-assy .hero-hw-iron-barrel{stroke:color-mix(in srgb,var(--muted)55%,var(--accent));stroke-width:5px}.hero-hw-iron-assy .hero-hw-iron-tip{stroke:color-mix(in srgb,#bbb 40%,var(--accent));stroke-width:2.25px}.hero-hw-iron-assy line{stroke-linecap:round}.hero-hw-pcb{fill:color-mix(in srgb,#0d1f14 62%,var(--surface));stroke:color-mix(in srgb,var(--accent)38%,transparent);stroke-width:1px}.hero-hw-chip{fill:color-mix(in srgb,var(--surface-2)82%,var(--accent));stroke:var(--line);stroke-width:1px}.hero-hw-chip--small{opacity:.92}.hero-hw-scope-knob{fill:color-mix(in srgb,var(--surface-2)82%,var(--accent));stroke:var(--line);stroke-width:1px}.hero-hw-dmm-body{fill:color-mix(in srgb,var(--surface)94%,var(--accent));stroke:var(--line-strong);stroke-width:1px}.hero-hw-dmm-screen{fill:#060708;stroke:color-mix(in srgb,var(--accent)28%,transparent);stroke-width:1px}.hero-hw-dmm-dial{fill:color-mix(in srgb,var(--surface-2)88%,var(--accent));stroke:var(--line);stroke-width:1px}.hero-hw-probe-wire{stroke-linecap:round;fill:none;stroke-width:2px}.hero-hw-probe-tip{stroke:var(--accent);stroke-width:3px}.hero-hw-reel-outer{fill:color-mix(in srgb,var(--surface-2)88%,var(--accent));stroke:currentColor;stroke-width:1px;opacity:.72}.hero-hw-reel-inner{fill:#090b10;stroke:color-mix(in srgb,var(--accent)38%,transparent);stroke-width:1px}.hero-hw-tweezer{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;opacity:.78}.hero-hw-trace-bg{stroke:currentColor;opacity:.26;stroke-width:2px}.hero-hw-trace{stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:215;stroke-dashoffset:215px;filter:drop-shadow(0 0 5px var(--accent-glow));animation:3s cubic-bezier(.35,.65,.25,1) infinite alternate hero-hw-trace-flow}@keyframes hero-hw-trace-flow{to{stroke-dashoffset:0}}.hero-hw-glow{fill:var(--accent);opacity:.65;animation:1.15s ease-in-out infinite hero-hw-glow-pulse}@keyframes hero-hw-glow-pulse{0%,to{opacity:.28}50%{opacity:1}}.hero-hw-smoke-a{animation:2.9s ease-out infinite hero-hw-smoke-rise}.hero-hw-smoke-b{animation:2.9s ease-out .55s infinite hero-hw-smoke-rise}.hero-hw-smoke-c{animation:2.9s ease-out 1.1s infinite hero-hw-smoke-rise}@keyframes hero-hw-smoke-rise{0%{opacity:0;transform:translateY(0)scale(.55)}28%{opacity:.42}to{opacity:0;transform:translateY(-38px)scale(1.18)}}.hero-stage-corner{border-color:var(--accent);opacity:.85;pointer-events:none;border-style:solid;width:14px;height:14px;position:absolute}.hero-stage-corner.tl{border-width:2px 0 0 2px;top:10px;left:10px}.hero-stage-corner.tr{border-width:2px 2px 0 0;top:10px;right:10px}.hero-stage-corner.bl{border-width:0 0 2px 2px;bottom:10px;left:10px}.hero-stage-corner.br{border-width:0 2px 2px 0;bottom:10px;right:10px}.about-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,52px);display:grid}.about-layout-aside{flex-direction:column;gap:clamp(20px,3vw,28px);display:flex}.about-layout-main{min-width:0}.portrait{isolation:isolate;background:#111;border:1px solid #ffffff1f;border-radius:24px;position:relative;overflow:hidden}.portrait .img-wrap{width:100%;height:100%;position:relative}.portrait img{object-fit:cover;filter:grayscale()contrast(1.15)brightness();width:100%;height:100%;transition:filter .6s,transform .6s;display:block}.portrait .duotone{background:var(--accent);mix-blend-mode:multiply;pointer-events:none;transition:background .55s;position:absolute;inset:0}.portrait .overlay-sw,.portrait .overlay-hw{pointer-events:none;transition:opacity .55s;position:absolute;inset:0}.portrait .overlay-hw{mix-blend-mode:overlay;opacity:0;background-image:linear-gradient(0deg,#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px),radial-gradient(#ffffff2e 1.5px,#0000 2px);background-position:0 0,0 0,14px 14px;background-size:28px 28px,28px 28px,28px 28px}body.theme-hw .portrait .overlay-hw{opacity:1}.portrait .overlay-sw{mix-blend-mode:overlay;opacity:1;background-image:repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 3px)}body.theme-hw .portrait .overlay-sw{opacity:.3}.portrait .glow-frame{box-shadow:0 0 0 1px var(--accent),0 0 60px var(--accent-glow);pointer-events:none;opacity:.6;border-radius:24px;transition:box-shadow .55s;position:absolute;inset:-1px}.portrait .tape{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;border-radius:999px;padding:6px 10px;font-family:Fragment Mono,monospace;font-size:11px;position:absolute;bottom:14px;left:14px}.portrait .stamp{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:.9;background:#0009;border:1px solid #fff3;border-radius:4px;padding:6px 10px;font-family:Fragment Mono,monospace;font-size:10px;position:absolute;top:14px;right:14px}.portrait.shake{animation:.6s portrait-shake}@keyframes portrait-shake{0%,to{filter:none;transform:translate(0)}20%{filter:hue-rotate(40deg);transform:translate(-4px,2px)}40%{filter:hue-rotate(-30deg);transform:translate(3px,-2px)}60%{filter:invert(.1);transform:translate(-2px,1px)}80%{filter:contrast(1.5);transform:translate(2px,-1px)}}.mode-overlay{z-index:800;pointer-events:none;background:var(--accent);flex-direction:row;display:flex;position:fixed;inset:0}.mode-overlay .slat{background:var(--accent);transform-origin:0;will-change:transform;backface-visibility:hidden;flex:1 1 0;min-width:0;height:100%;transform:scaleX(0)}.mode-overlay.in .slat{animation:.32s cubic-bezier(.2,.85,.25,1) forwards slat-in}.mode-overlay.out .slat{transform-origin:100%;animation:.34s cubic-bezier(.55,0,.85,.35) forwards slat-out;transform:scaleX(1)}@keyframes slat-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes slat-out{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.mode-overlay .legend{color:#000;letter-spacing:-.025em;text-transform:lowercase;opacity:0;z-index:5;place-items:center;font-family:Big Shoulders Display,Funnel Sans,sans-serif;font-size:clamp(64px,14vw,200px);font-weight:900;line-height:.88;display:grid;position:absolute;inset:0}.mode-overlay.in .legend{animation:.34s cubic-bezier(.2,.85,.25,1) 50ms forwards legend-in}.mode-overlay.out .legend{animation:.26s cubic-bezier(.55,0,.85,.35) forwards legend-out}@keyframes legend-in{0%{opacity:0;filter:blur(8px);transform:translateY(20px)scale(1.04)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes legend-out{0%{opacity:1}to{opacity:0;transform:translateY(-12px)scale(.98)}}.mode-overlay .legend small{letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:24px;font-family:Fragment Mono,monospace;font-size:14px;font-weight:400;display:block}.gpt-bubble{z-index:90;border:1px solid var(--accent);color:var(--accent);cursor:crosshair;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 0 30px var(--accent-glow);background:#0c0c0c;border-radius:999px;align-items:center;gap:12px;padding:14px 20px 14px 18px;font-family:Fragment Mono,monospace;font-size:12px;transition:transform .2s,box-shadow .25s;display:flex;position:fixed;bottom:24px;right:24px}.gpt-bubble:hover{box-shadow:0 8px 40px var(--accent-glow);transform:translateY(-2px)}.gpt-bubble .pulse{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent-glow);border-radius:99px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.4)}}.gpt-panel{z-index:91;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent);width:min(440px,100vw - 48px);height:min(640px,100vh - 48px);box-shadow:0 30px 80px #000000b3,0 0 40px var(--accent-glow);transform-origin:100% 100%;background:#080808f5;border-radius:22px;flex-direction:column;animation:.35s cubic-bezier(.2,.7,.1,1) both gpt-in;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden}@keyframes gpt-in{0%{opacity:0;transform:translateY(20px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.gpt-panel.closing{animation:.25s both gpt-out}@keyframes gpt-out{to{opacity:0;transform:translateY(20px)scale(.95)}}.gpt-panel header{background:#ffffff05;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.gpt-panel header .title{color:var(--ink);text-transform:lowercase;letter-spacing:-.02em;font-family:Big Shoulders Display,Funnel Sans,sans-serif;font-size:26px;font-weight:900}.gpt-panel header .title .glow{color:var(--accent)}.gpt-panel header .sub{letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-top:2px;font-family:Fragment Mono,monospace;font-size:10px}.gpt-panel .close-btn{color:var(--ink);cursor:crosshair;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;width:32px;height:32px;font-size:16px}.gpt-panel .msgs{flex-direction:column;flex:1;gap:14px;padding:18px 20px;display:flex;overflow-y:auto}.gpt-msg{border-radius:14px;max-width:86%;padding:12px 14px;font-size:14px;line-height:1.55}.gpt-msg.bot{color:#ffffffeb;background:#ffffff08;border:1px solid #ffffff14;border-bottom-left-radius:4px;align-self:flex-start}.gpt-msg.user{background:var(--accent);color:#000;border-bottom-right-radius:4px;align-self:flex-end;font-weight:500}.gpt-msg.bot .meta{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:.85;margin-bottom:6px;font-family:Fragment Mono,monospace;font-size:9px}.gpt-msg.typing{gap:6px;padding:14px;display:inline-flex}.gpt-msg.typing span{background:var(--accent);border-radius:99px;width:6px;height:6px;animation:1s infinite type-bounce}.gpt-msg.typing span:nth-child(2){animation-delay:.15s}.gpt-msg.typing span:nth-child(3){animation-delay:.3s}@keyframes type-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.gpt-panel .suggest{flex-wrap:wrap;gap:8px;padding:0 20px 12px;display:flex}.gpt-panel .suggest button{color:#ffffffd9;letter-spacing:.08em;text-transform:uppercase;cursor:crosshair;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:99px;padding:8px 12px;font-family:Fragment Mono,monospace;font-size:10px;transition:border-color .2s,color .2s}.gpt-panel .suggest button:hover{border-color:var(--accent);color:var(--accent)}.gpt-panel .compose{background:#ffffff05;border-top:1px solid #ffffff14;gap:8px;padding:14px 16px;display:flex}.gpt-panel .compose input{color:var(--ink);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;outline:none;flex:1;padding:12px 14px;font-family:Fragment Mono,monospace;font-size:13px;transition:border-color .2s}.gpt-panel .compose input:focus{border-color:var(--accent)}.gpt-panel .compose button{background:var(--accent);color:#000;cursor:crosshair;letter-spacing:.1em;text-transform:uppercase;border:none;border-radius:12px;padding:10px 16px;font-family:Fragment Mono,monospace;font-size:12px;font-weight:600}.gpt-panel .compose button:disabled{opacity:.4}.ts{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;align-items:stretch;font-family:Fragment Mono,monospace;line-height:1;display:inline-flex;overflow:hidden}.ts>span{align-items:center;padding:6px 10px;display:inline-flex}.ts .ts-label{background:var(--accent);color:var(--on-accent,#000);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:600}.ts .ts-value{color:var(--ink);letter-spacing:.05em;text-transform:uppercase;font-size:12px}.ts .ts-value b{color:var(--accent);font-weight:700}.date-stack{grid-template-columns:auto auto;align-items:center;gap:10px;display:inline-grid}.date-stack .year{color:var(--accent);letter-spacing:-.04em;font-family:Big Shoulders Display,sans-serif;font-size:72px;font-weight:900;line-height:.85}.date-stack .range{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:Fragment Mono,monospace;font-size:11px;line-height:1.4}.date-stack .range b{color:var(--ink);font-weight:600}.term-stack{border:1px solid var(--line-strong);color:#d9dadb;background:linear-gradient(#0a0a0a 0%,#050505 100%);border-radius:14px;font-family:Fragment Mono,monospace;overflow:hidden}body.light .term-stack{color:#d9dadb;background:linear-gradient(#15140f 0%,#0a0907 100%)}.term-stack .term-bar{letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:10px 14px;font-size:11px;display:flex}.term-stack .term-bar .dot{border-radius:99px;width:10px;height:10px}.term-stack .term-body{padding:18px 22px 22px;font-size:13px;line-height:1.7}.term-stack .prompt{color:var(--accent)}.term-stack .cmd{color:#fff}.term-stack .comment{color:#fff6}.term-stack .row{grid-template-columns:1.3fr 2fr .6fr;align-items:center;gap:14px;padding:4px 0;display:grid}.term-stack .row:hover{background:#ffffff06}.term-stack .row .skill{color:#fff}.term-stack .row .skill:before{content:"→";color:var(--accent);margin-right:10px}.term-stack .meter{color:var(--accent);letter-spacing:0;white-space:nowrap;font-family:Fragment Mono,monospace;font-size:13px;overflow:hidden}.term-stack .meter .ghost{color:#ffffff26}.term-stack .pct{color:#ffffff8c;text-align:right;font-size:12px}.periodic{--el-lang:#ff7a59;--el-frame:#4ec5f1;--el-data:#c47cff;--el-tool:#ffd166;--el-runtime:#4ad991;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--accent)14%,transparent),transparent 50%),radial-gradient(circle at 100% 100%,#7864ff1a,transparent 60%),var(--surface);border:1px solid var(--line-strong);border-radius:18px;padding:30px 26px 22px;position:relative;overflow:hidden}.periodic:after{content:"";pointer-events:none;background-image:linear-gradient(0deg,var(--line)1px,transparent 1px),linear-gradient(90deg,var(--line)1px,transparent 1px);opacity:.4;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.periodic-head{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex;position:relative}.periodic-head .title{letter-spacing:-.022em;text-transform:lowercase;color:var(--ink);font-family:Big Shoulders Display,sans-serif;font-size:clamp(28px,3.5vw,44px);font-weight:900;line-height:.92}.periodic-head .title .accent{color:var(--accent)}.periodic-head .sub{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-family:Fragment Mono,monospace;font-size:11px}.legend{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:14px;font-family:Fragment Mono,monospace;font-size:10px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.periodic-grid{z-index:2;grid-template-columns:repeat(6,1fr);gap:8px;display:grid;position:relative}@media (max-width:880px){.periodic-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:520px){.periodic-grid{grid-template-columns:repeat(3,1fr)}}.element{aspect-ratio:1/1.1;background:var(--surface);border:1px solid var(--el-color,var(--line-strong));color:var(--ink);cursor:crosshair;border-radius:10px;flex-direction:column;justify-content:space-between;padding:10px 8px;transition:transform .25s,box-shadow .25s,background .25s;display:flex;position:relative;overflow:hidden}.element:before{content:"";background:linear-gradient(180deg,color-mix(in srgb,var(--el-color)22%,transparent)0%,transparent 70%);pointer-events:none;position:absolute;inset:0}.element:hover{box-shadow:0 12px 32px color-mix(in srgb,var(--el-color)40%,transparent),0 0 0 1px var(--el-color);background:color-mix(in srgb,var(--el-color)8%,var(--surface));transform:translateY(-4px)scale(1.04)}.element .num{color:var(--ink-soft);opacity:.7;letter-spacing:.04em;font-family:Fragment Mono,monospace;font-size:10px}.element .mass{color:var(--ink-soft);text-align:right;opacity:.8;font-family:Fragment Mono,monospace;font-size:9px}.element .row{justify-content:space-between;align-items:center;display:flex}.element .sym{letter-spacing:-.02em;color:var(--ink);text-align:center;margin-top:2px;font-family:Big Shoulders Display,sans-serif;font-size:clamp(28px,3.5vw,44px);font-weight:900;line-height:.85}.element .name{letter-spacing:.04em;color:var(--ink-soft);text-align:center;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-family:Fragment Mono,monospace;font-size:9.5px;line-height:1.2;overflow:hidden}.element .group{letter-spacing:.12em;color:var(--el-color);text-align:center;text-transform:uppercase;opacity:.95;font-family:Fragment Mono,monospace;font-size:8.5px}.element .orbit{border:1px solid var(--el-color);opacity:0;pointer-events:none;border-radius:50%;width:70%;height:70%;transition:opacity .3s,transform .5s;position:absolute;inset:50% 50% auto auto;transform:translate(50%,-50%)scale(.8)}.element:hover .orbit{opacity:.25;transform:translate(50%,-50%)scale(1.4)}.element .orbit:after{content:"";background:var(--el-color);width:6px;height:6px;box-shadow:0 0 8px var(--el-color);border-radius:99px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.element:hover .orbit:after{transform-origin:50% 100%;animation:2.5s linear infinite orbit-spin}@keyframes orbit-spin{to{transform:translate(-50%)rotate(360deg)}}.element.wide{aspect-ratio:2.2/1.1;grid-column:span 2}.element.wide .sym{font-size:clamp(40px,5vw,60px)}.graph{background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent)12%,transparent),transparent 60%),radial-gradient(circle at 80% 80%,#7864ff1a,transparent 65%),var(--surface);border:1px solid var(--line-strong);aspect-ratio:16/9;border-radius:18px;min-height:520px;position:relative;overflow:hidden}.graph .canvas-chrome{background:linear-gradient(180deg,color-mix(in srgb,var(--bg)70%,transparent),transparent);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);z-index:4;pointer-events:none;align-items:center;gap:14px;padding:12px 18px;font-family:Fragment Mono,monospace;font-size:11px;display:flex;position:absolute;top:0;left:0;right:0}.graph .canvas-chrome .filename{color:var(--ink)}.graph .canvas-chrome .filename b{color:var(--accent)}.graph .canvas-chrome .tools{gap:16px;display:flex}.graph svg{z-index:1;width:100%;height:100%;position:absolute;inset:0}.graph .nodes{z-index:2;position:absolute;inset:0}.graph .node{--nc:var(--accent);cursor:crosshair;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;transform:translate(-50%,-50%)}.graph .node .bubble{background:var(--bg);color:var(--ink);border:1.5px solid var(--nc);font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:var(--ns,16px);text-transform:lowercase;letter-spacing:-.01em;box-shadow:0 0 0 0 var(--nc);border-radius:99px;padding:8px 16px;line-height:1;transition:transform .25s,box-shadow .25s,color .25s;position:relative}.graph .node .meta{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.85;font-family:Fragment Mono,monospace;font-size:9px}.graph .node:hover .bubble{box-shadow:0 0 30px color-mix(in srgb,var(--nc)65%,transparent);color:var(--nc);transform:scale(1.12)}.graph .node:hover .meta{color:var(--nc);opacity:1}.graph .legend-floating{z-index:3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--bg)60%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;flex-wrap:wrap;gap:14px;width:max-content;max-width:calc(100% - 36px);padding:10px 14px;font-family:Fragment Mono,monospace;font-size:10px;display:flex;position:absolute;bottom:14px;left:18px;right:18px}.graph .legend-floating span{align-items:center;gap:6px;display:inline-flex}.graph .legend-floating i{border-radius:99px;width:10px;height:10px;display:inline-block}@keyframes edge-flow{to{stroke-dashoffset:-20px}}.graph svg .edge{fill:none;stroke-linecap:round;stroke-dasharray:4 6;animation:2s linear infinite edge-flow}.dskt{background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--accent)16%,transparent),transparent 55%),radial-gradient(circle at 82% 82%,#7864ff1f,transparent 60%),var(--surface);border:1px solid var(--line-strong);border-radius:18px;flex-direction:column;min-height:560px;font-family:Fragment Mono,monospace;display:flex;position:relative;overflow:hidden}.dskt:before{content:"";background-image:linear-gradient(var(--grid)1px,transparent 1px),linear-gradient(90deg,var(--grid)1px,transparent 1px);opacity:.55;pointer-events:none;z-index:0;background-size:28px 28px,28px 28px;position:absolute;inset:0}.dskt>*{z-index:1;position:relative}.dskt-menu{background:linear-gradient(180deg,color-mix(in srgb,var(--bg)86%,transparent),color-mix(in srgb,var(--bg)70%,transparent));border-bottom:1px solid var(--line-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:18px;padding:8px 14px;font-size:11px;display:flex}.dskt-menu-logo{color:var(--accent);letter-spacing:.12em;font-weight:600}.dskt-menu-item{color:var(--muted);cursor:default;transition:color .2s}.dskt-menu-item:hover{color:var(--ink)}.dskt-menu-item.active{color:var(--ink);font-weight:600}.dskt-menu-right{color:var(--muted);align-items:center;gap:12px;margin-left:auto;display:flex}.dskt-pill{border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:99px;padding:2px 8px;font-size:10px}.dskt-body{flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;padding:22px 22px 14px;display:grid}@media (max-width:820px){.dskt-body{grid-template-columns:1fr}}.dskt-icons{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-content:start;gap:14px 10px;padding:6px;display:grid}.dskt-icon{--ic:var(--accent);cursor:pointer;color:var(--ink);background:0 0;border:1px dashed #0000;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:8px 4px 6px;font-family:inherit;transition:transform .15s,background .2s,border-color .2s;display:flex;position:relative}.dskt-icon:hover{background:color-mix(in srgb,var(--ic)8%,transparent);border-color:color-mix(in srgb,var(--ic)40%,transparent);transform:translateY(-2px)}.dskt-icon.is-selected{background:color-mix(in srgb,var(--ic)14%,transparent);border-color:var(--ic);box-shadow:0 0 0 2px color-mix(in srgb,var(--ic)25%,transparent)}.dskt-icon-tile{background:linear-gradient(160deg,color-mix(in srgb,var(--ic)32%,var(--bg))0%,color-mix(in srgb,var(--ic)12%,var(--bg))100%);border:1px solid color-mix(in srgb,var(--ic)65%,transparent);width:56px;height:52px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ic)40%,transparent),0 4px 10px #00000059;border-radius:6px;place-items:center;display:grid;position:relative}.dskt-icon-tile:after{content:"";background:linear-gradient(225deg,var(--bg)50%,color-mix(in srgb,var(--ic)55%,transparent)50%);border-left:1px solid color-mix(in srgb,var(--ic)65%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ic)65%,transparent);width:12px;height:12px;position:absolute;top:0;right:0}.dskt-icon-glyph{color:#fff;text-shadow:0 1px #0006;letter-spacing:-.02em;font-family:Fragment Mono,monospace;font-size:18px;font-weight:700}.dskt-icon-corner{letter-spacing:.12em;color:#ffffff8c;font-size:8px;position:absolute;bottom:4px;left:6px}.dskt-icon-label{text-align:center;color:var(--ink-soft);word-break:break-word;max-width:92px;font-family:Fragment Mono,monospace;font-size:11px;line-height:1.2}.dskt-icon.is-selected .dskt-icon-label{color:var(--ic)}.dskt-tip{background:var(--bg);border:1px solid var(--ic);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;z-index:5;pointer-events:none;border-radius:4px;padding:4px 8px;font-size:10px;position:absolute;bottom:-28px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0006}.dskt-tip b{color:var(--ic)}.dskt-window{background:color-mix(in srgb,var(--bg)88%,transparent);border:1px solid var(--line-strong);box-shadow:0 12px 32px #00000073,0 0 0 1px color-mix(in srgb,var(--accent)18%,transparent);border-radius:10px;flex-direction:column;animation:.25s ease-out dskt-window-in;display:flex;overflow:hidden}@keyframes dskt-window-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.dskt-titlebar{background:linear-gradient(180deg,color-mix(in srgb,var(--ink)8%,var(--bg)),color-mix(in srgb,var(--ink)4%,var(--bg)));border-bottom:1px solid var(--line-strong);align-items:center;gap:10px;padding:8px 12px;display:flex}.dskt-lights{gap:6px;display:inline-flex}.dskt-lights i{border-radius:99px;width:10px;height:10px;display:inline-block}.dskt-title{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);flex:1;font-size:11px}.dskt-titlebar-right{color:var(--muted);letter-spacing:.2em;font-size:12px}.dskt-window-body{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.dskt-window-head{border-bottom:1px dashed var(--line-strong);align-items:center;gap:14px;padding-bottom:14px;display:flex}.dskt-bigicon{--ic:var(--accent);background:linear-gradient(160deg,color-mix(in srgb,var(--ic)38%,var(--bg))0%,color-mix(in srgb,var(--ic)14%,var(--bg))100%);border:1px solid color-mix(in srgb,var(--ic)70%,transparent);width:64px;height:60px;box-shadow:0 4px 12px #0006,inset 0 1px 0 color-mix(in srgb,var(--ic)45%,transparent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.dskt-bigicon span{color:#fff;text-shadow:0 1px #0006;font-family:Fragment Mono,monospace;font-size:24px;font-weight:700}.dskt-headtext{min-width:0}.dskt-name{letter-spacing:-.02em;color:var(--ink);text-transform:lowercase;margin-bottom:6px;font-family:Big Shoulders Display,Funnel Sans,sans-serif;font-size:28px;font-weight:900;line-height:1}.dskt-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.dskt-dot{color:var(--line-strong)}.dskt-row{grid-template-columns:110px 1fr;align-items:center;gap:14px;font-size:12px;display:grid}.dskt-key{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:10px}.dskt-val{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dskt-bar{--ic:var(--accent);gap:3px;display:inline-flex}.dskt-bar i{background:var(--line-strong);border-radius:2px;width:14px;height:8px;transition:background .25s,box-shadow .25s;display:inline-block}.dskt-bar i.on{background:var(--ic);box-shadow:0 0 6px color-mix(in srgb,var(--ic)70%,transparent)}.dskt-level{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:10px}.dskt-blurb{background:color-mix(in srgb,var(--accent)6%,transparent);border-left:2px solid var(--accent);color:var(--ink-soft);border-radius:4px;margin-top:4px;padding:14px 16px 14px 18px;font-family:Funnel Sans,system-ui,sans-serif;font-size:13.5px;line-height:1.55;position:relative}.dskt-quote{color:var(--accent);vertical-align:-4px;margin-right:4px;font-family:Fragment Mono,monospace;font-size:22px;font-weight:700}.dskt-dock{border-top:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg)70%,transparent);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 18px;font-size:10px;display:flex}.dskt-dock-hint{color:var(--ink-soft)}.dskt-dock-cats{flex-wrap:wrap;gap:14px;margin-left:auto;display:flex}.dskt-dock-cat{align-items:center;gap:6px;display:inline-flex}.dskt-dock-cat i{border-radius:99px;width:8px;height:8px;display:inline-block}.pcb{border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 30%,#1a0e02 0%,#0c0703 60%,#060300 100%);border-radius:14px;min-height:540px;padding:36px 28px;position:relative;overflow:hidden}.pcb:before{content:"";opacity:.7;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#ffaa502e 1px,#0000 1.5px);background-size:22px 22px;position:absolute;inset:0}.pcb .silk{letter-spacing:.18em;text-transform:uppercase;color:#ffaa5099;font-family:Fragment Mono,monospace;font-size:10px;position:absolute;top:12px;left:16px}.pcb .silk.right{left:auto;right:16px}.pcb-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid;position:relative}.pcb .chip{--chip-accent:var(--accent);color:#e8e8ea;cursor:crosshair;background:linear-gradient(#1f1f22 0%,#14141a 100%);border:1px solid #2a2a2e;border-radius:6px;padding:18px 14px 14px;font-family:Fragment Mono,monospace;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}.pcb .chip:hover{border-color:var(--chip-accent);box-shadow:0 8px 24px #00000080,0 0 0 1px var(--chip-accent);transform:translateY(-3px)rotate(-.4deg)}.pcb .chip .label{letter-spacing:.04em;color:#fff;margin-bottom:4px;font-size:14px;font-weight:500;line-height:1.2}.pcb .chip .pkg{letter-spacing:.15em;color:var(--chip-accent);text-transform:uppercase;opacity:.85;font-size:10px}.pcb .chip .pins{flex-direction:column;gap:4px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pcb .chip .pins.left{left:-4px}.pcb .chip .pins.right{right:-4px}.pcb .chip .pin{background:linear-gradient(90deg,#999 0%,#ccc 100%);border-radius:1px;width:8px;height:3px}.pcb .chip .lvl{align-items:center;gap:4px;margin-top:10px;display:flex}.pcb .chip .lvl .seg{background:#ffffff14;border-radius:1px;flex:1;height:4px}.pcb .chip .lvl .seg.on{background:var(--chip-accent);box-shadow:0 0 6px var(--chip-accent)}.pcb .chip .id{letter-spacing:.15em;color:#fff6;font-size:9px;position:absolute;top:8px;right:10px}.pcb .chip .notch{background:#0c0703;border-radius:0 0 99px 99px;width:10px;height:6px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}body.light .pcb{background:radial-gradient(circle at 50% 30%,#2b1a0a 0%,#1a0e04 60%,#0f0802 100%)}body.theme-sw .pcb{background:radial-gradient(circle at 50% 30%,#021a10 0%,#03100a 60%,#020a06 100%)}body.theme-sw .pcb:before{background-image:radial-gradient(circle at 1px 1px,#50ffaa2e 1px,#0000 1.5px)}body.theme-sw .pcb .silk{color:#50ffaa99}.ticket{background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:220px 1fr;transition:border-color .25s,transform .25s;display:grid;position:relative;overflow:hidden}@media (max-width:720px){.ticket{grid-template-columns:1fr}.ticket .stub{border-right:none;border-bottom:1px dashed var(--line-strong)}.ticket .stub:before,.ticket .stub:after{display:none}.date-stack .year{font-size:56px}}.ticket:hover{border-color:var(--accent)}.ticket .stub{background:linear-gradient(180deg,var(--accent-dim)0%,transparent 100%);border-right:1px dashed var(--line-strong);padding:28px 22px;position:relative}.ticket .stub:after,.ticket .stub:before{content:"";background:var(--bg);border:1px solid var(--line-strong);border-radius:99px;width:16px;height:16px;position:absolute;right:-8px}.ticket .stub:before{top:-8px}.ticket .stub:after{bottom:-8px}.ticket .body{padding:28px 32px}.ticket .perf{gap:4px;margin-top:14px;display:flex}.ticket .perf-row{background:var(--line);border-radius:1px;flex:1;height:3px}.ticket .barcode{opacity:.7;gap:2px;margin-top:18px;display:flex}.ticket .barcode span{background:var(--ink);width:2px;display:block}.dossier{background:color-mix(in srgb,var(--bg)90%,var(--ink)10%);border:1px solid var(--line);cursor:crosshair;border-radius:22px;grid-template-rows:auto 1fr auto;padding:0;transition:border-color .25s,transform .25s;display:grid;position:relative;overflow:hidden}body.light .dossier{background:color-mix(in srgb,var(--bg)96%,var(--ink)4%)}.dossier:hover{border-color:var(--accent);transform:translateY(-4px)}.dossier .doss-hd{border-bottom:1px dashed var(--line);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:stretch;padding:14px 20px;font-family:Fragment Mono,monospace;font-size:11px;display:flex}.dossier .doss-hd .left{color:var(--accent)}.dossier .doss-hd .right{color:var(--muted)}.dossier .doss-bd{padding:24px 24px 18px;position:relative}.dossier .doss-bd .megayear{color:var(--accent);opacity:.16;letter-spacing:-.04em;pointer-events:none;font-family:Big Shoulders Display,sans-serif;font-size:clamp(64px,7vw,110px);font-weight:900;line-height:.8;transition:opacity .3s,transform .3s;position:absolute;top:-8px;right:18px}.dossier:hover .doss-bd .megayear{opacity:.32;transform:translate(-6px)translateY(2px)}.dossier .doss-title{text-transform:lowercase;letter-spacing:-.022em;color:var(--ink);margin:0 0 12px;font-family:Big Shoulders Display,sans-serif;font-weight:900;line-height:.92}.dossier .doss-blurb{color:var(--ink-soft);max-width:52ch;margin:0;font-size:15px;line-height:1.55}.dossier .doss-ft{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;padding:18px 24px 22px;display:flex}.dossier .doss-ft .stamps{flex-wrap:wrap;gap:8px;display:flex}.dossier .doss-kpis{flex-wrap:wrap;gap:18px;margin:14px 0 4px;display:flex}.dossier .doss-kpis .k{border-left:2px solid var(--accent);padding-left:10px}.dossier .doss-kpis .k .n{color:var(--ink);letter-spacing:-.02em;font-family:Big Shoulders Display,sans-serif;font-size:28px;font-weight:900;line-height:1}.dossier .doss-kpis .k .l{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-family:Fragment Mono,monospace;font-size:10px}.dossier .open-cue{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-family:Fragment Mono,monospace;font-size:11px;display:inline-flex}.ds-modal{z-index:200;background:var(--bg);flex-direction:column;animation:.5s cubic-bezier(.2,.7,.1,1) both ds-modal-in;display:flex;position:fixed;inset:0}@keyframes ds-modal-in{0%{opacity:0;filter:blur(10px);transform:scale(.94)}to{opacity:1;filter:blur();transform:scale(1)}}.ds-modal .ds-grid{background-image:linear-gradient(to right,var(--line)1px,transparent 1px),linear-gradient(to bottom,var(--line)1px,transparent 1px);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,var(--bg)30%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 30%,var(--bg)30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,var(--bg)30%,transparent 80%);opacity:.6;background-size:80px 80px;position:absolute;inset:0}.ds-modal .ds-bar{border-bottom:1px solid var(--line);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);z-index:2;justify-content:space-between;align-items:center;padding:18px 28px;font-family:Fragment Mono,monospace;font-size:11px;display:flex}.ds-modal .ds-bar b{color:var(--accent)}.ds-modal .ds-body{z-index:2;flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:56px;min-height:0;padding:32px 48px;display:grid;position:relative;overflow:hidden}@media (max-width:980px){.ds-modal .ds-body{grid-template-columns:1fr;gap:24px;padding:24px;overflow-y:auto}}.ds-modal .ds-left{flex-direction:column;justify-content:space-between;min-height:0;display:flex}.ds-modal .ds-meta-strip{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.ds-modal .ds-title{letter-spacing:-.025em;text-transform:lowercase;color:var(--ink);margin:4px 0 12px;font-family:Big Shoulders Display,sans-serif;font-size:clamp(48px,7vw,120px);font-weight:900;line-height:.86}.ds-modal .ds-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-family:Fragment Mono,monospace;font-size:13px}.ds-modal .ds-blurb{color:var(--ink-soft);text-wrap:pretty;max-width:50ch;margin:18px 0 0;font-size:clamp(16px,1.6vw,21px);line-height:1.45}.ds-modal .ds-kpis{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:26px;display:grid}.ds-modal .ds-kpi{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;padding:18px 18px 14px}.ds-modal .ds-kpi .n{color:var(--accent);letter-spacing:-.02em;font-family:Big Shoulders Display,sans-serif;font-size:40px;font-weight:900;line-height:.9}.ds-modal .ds-kpi .l{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-family:Fragment Mono,monospace;font-size:10px}.ds-modal .ds-tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.ds-modal .ds-right{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ds-modal .ds-right-hd{border-bottom:1px solid var(--line);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:18px 22px;font-family:Fragment Mono,monospace;font-size:11px;display:flex}.ds-modal .ds-right-hd b{color:var(--accent)}.ds-modal .ds-bullets{counter-reset:bln;flex:1;min-height:0;padding:8px 22px 22px;overflow-y:auto}.ds-modal .ds-bullets::-webkit-scrollbar{width:6px}.ds-modal .ds-bullets::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px}.ds-modal .ds-bullets li{border-bottom:1px solid var(--line);counter-increment:bln;color:var(--ink);padding:16px 0 16px 56px;font-size:15px;line-height:1.55;list-style:none;position:relative}.ds-modal .ds-bullets li:last-child{border-bottom:none}.ds-modal .ds-bullets li:before{content:counter(bln,decimal-leading-zero);color:var(--accent);letter-spacing:-.02em;font-family:Big Shoulders Display,sans-serif;font-size:28px;font-weight:900;line-height:1;position:absolute;top:14px;left:0}.ds-modal .ds-close{border:1px solid var(--line-strong);color:var(--ink);cursor:crosshair;letter-spacing:.16em;text-transform:uppercase;background:0 0;border-radius:99px;padding:8px 14px;font-family:Fragment Mono,monospace;font-size:11px;transition:border-color .2s,color .2s,background .2s}.ds-modal .ds-close:hover{border-color:var(--accent);color:var(--accent)}.container{width:100%;max-width:1480px;margin:0 auto;padding:0 28px}@media (max-width:720px){.container{padding:0 18px}body{cursor:default}button,input,.btn,.toggle-rail button,.gpt-bubble{cursor:pointer}nav.top{padding:14px 18px}nav.top>div:nth-child(2){display:none}nav.top>div:nth-child(3){font-size:10px}.logotype{font-size:18px}section#hero{min-height:auto!important;padding:100px 18px 60px!important}section#hero .hero-grid{grid-template-columns:1fr!important}section#hero .hero-grid>div:last-child{order:-1;max-width:min(440px,100%);margin-inline:auto}section#hero h1 .megaword{font-size:clamp(56px,18vw,120px)!important}.section-heading{font-size:clamp(40px,13vw,80px)}section#about .about-layout{grid-template-columns:1fr!important;gap:32px!important}.about-layout-aside .portrait{max-width:280px;margin-inline:auto}section#stack>.container{grid-template-columns:1fr!important;gap:28px!important}.exp-row{grid-template-columns:1fr!important;gap:12px!important}.proj-grid{grid-template-columns:1fr!important}.toggle-rail button{letter-spacing:.12em;padding:10px 14px;font-size:10px}.megaword{letter-spacing:-.035em}footer{flex-direction:column;gap:8px;padding:60px 18px 28px}.gpt-bubble{padding:12px 16px;font-size:11px;bottom:16px;right:16px}.gpt-panel{border-radius:18px 18px 0 0;width:100%;height:80vh;bottom:0;left:0;right:0}}@media (max-width:480px){section#hero h1 .megaword{font-size:clamp(48px,17vw,92px)!important}.section-heading{font-size:clamp(36px,12vw,64px)}.section-heading br{display:none}.section-heading .accent:before{content:" "}.mode-overlay .legend{font-size:clamp(44px,16vw,92px)}}.proj-panel-backdrop{z-index:200;-webkit-backdrop-filter:blur(12px);background:#000000c7;justify-content:center;align-items:center;padding:clamp(16px,3vw,28px);animation:.28s both proj-fade-in;display:flex;position:fixed;inset:0}body.light .proj-panel-backdrop{background:#18161273}@keyframes proj-fade-in{0%{opacity:0}to{opacity:1}}.proj-panel-shell{background:color-mix(in srgb,var(--bg)82%,var(--ink)18%);border:1px solid var(--line-strong);width:min(920px,100%);max-height:min(88vh,960px);box-shadow:0 20px 60px #00000073,0 0 0 1px var(--line);border-radius:20px;flex-direction:column;animation:.35s cubic-bezier(.2,.7,.1,1) both proj-sheet-in;display:flex;overflow:hidden}@keyframes proj-sheet-in{0%{opacity:0;filter:blur(6px);transform:translateY(12px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}body.light .proj-panel-shell{background:color-mix(in srgb,var(--bg)92%,var(--ink)8%);box-shadow:0 16px 50px #0a0a0a1f,0 0 0 1px var(--line-strong)}.proj-panel-head{border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-family:Fragment Mono,monospace;font-size:11px;display:flex}.proj-panel-head b{color:var(--accent)}.proj-panel-body{flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,44px);min-height:0;padding:clamp(22px,4vw,32px);display:grid;overflow-y:auto}@media (max-width:760px){.proj-panel-body{grid-template-columns:1fr;gap:20px}}.proj-panel-title{letter-spacing:-.03em;text-transform:lowercase;color:var(--ink);margin:6px 0 12px;font-family:Big Shoulders Display,sans-serif;font-size:clamp(32px,5vw,64px);font-weight:900;line-height:.94}.proj-panel-meta{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.proj-panel-copy{color:var(--ink-soft);max-width:52ch;margin:0;font-size:clamp(15px,1.55vw,18px);line-height:1.52}.proj-panel-kpis{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.proj-panel-kpi{border:1px solid var(--line);background:color-mix(in srgb,var(--bg)88%,var(--ink)12%);border-left:3px solid var(--accent);border-radius:12px;min-width:90px;padding:10px 12px}.proj-panel-kpi .kv-n{color:var(--accent);font-family:Big Shoulders Display,sans-serif;font-size:clamp(26px,4vw,36px);font-weight:900;line-height:1}.proj-panel-kpi .kv-l{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-family:Fragment Mono,monospace;font-size:9px}.proj-panel-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.proj-panel-notes{border:1px solid var(--line);background:color-mix(in srgb,var(--bg)78%,var(--ink)14%);border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.proj-panel-notes-hd{border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);gap:8px;padding:12px 16px;font-family:Fragment Mono,monospace;font-size:10px;display:flex}.proj-panel-bullet-list{counter-reset:pbl;max-height:min(320px,38vh);margin:0;padding:8px 16px 16px;list-style:none;overflow-y:auto}.proj-panel-bullet-list li{border-bottom:1px solid var(--line);color:var(--ink);counter-increment:pbl;padding:14px 0 14px 36px;font-size:14px;line-height:1.52;position:relative}.proj-panel-bullet-list li:last-child{border-bottom:none}.proj-panel-bullet-list li:before{content:counter(pbl,decimal-leading-zero);letter-spacing:.06em;color:var(--accent);font-family:Fragment Mono,monospace;font-size:11px;position:absolute;top:13px;left:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.05ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.gpt-msg.typing span{opacity:.7;animation:none}.proj-panel-backdrop,.proj-panel-shell{animation:none!important}}
