@font-face{font-family:Geist;font-style:normal;font-weight:300;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.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:Geist;font-style:normal;font-weight:300;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.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:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.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:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.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:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.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:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.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:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.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:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.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:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.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:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_23e4cb07-module__rxB4WW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_23e4cb07-module__rxB4WW__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_faf1d499-module__syeseG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_faf1d499-module__syeseG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_606d013b-module__06sg7q__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_606d013b-module__06sg7q__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--accent-h:45;--accent-c:.19;--accent-l:.72;--accent:oklch(var(--accent-l) var(--accent-c) var(--accent-h));--accent-dim:oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .12);--accent-ghost:oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .04);--bg:#0d0b09;--bg-2:#14110f;--bg-3:#1d1a17;--fg:#f4f1ee;--fg-2:#bab6b4;--fg-3:#777471;--fg-4:#45423f;--line:#ffffff14;--line-2:#ffffff24;--font-sans:var(--font-geist), "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), "JetBrains Mono", ui-monospace, monospace;--font-serif:var(--font-serif), "Instrument Serif", Georgia, serif;--density:1}@supports (color:lab(0% 0 0)){:root{--bg:lab(3.04308% .462092 .835127);--bg-2:lab(5.25649% .940293 1.67193);--bg-3:lab(9.50282% 1.39786 2.69779);--fg:lab(95.3512% .836015 1.65995);--fg-2:lab(74.4692% 1.00687 1.99428);--fg-3:lab(48.949% 1.01134 1.99716);--fg-4:lab(28.0686% 1.01878 2.00207);--line:lab(100% 0 0/.08);--line-2:lab(100% 0 0/.14)}}:root[data-theme=light]{--bg:#faf8f6;--bg-2:#f2efed;--bg-3:#e7e4e1;--fg:#13110f;--fg-2:#353230;--fg-3:#605d5a;--fg-4:#928e8c;--line:#00000014;--line-2:#00000029;--accent-dim:oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .14);--accent-ghost:oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .06)}@supports (color:lab(0% 0 0)){:root[data-theme=light]{--bg:lab(97.6748% .499994 .994992);--bg-2:lab(94.773% .667751 1.32737);--bg-3:lab(90.7112% .836313 1.66013);--fg:lab(5.2603% .659198 1.21096);--fg-2:lab(21.1084% 1.0231 2.00501);--fg-3:lab(39.6689% 1.01395 1.99887);--fg-4:lab(59.3891% 1.00917 1.99573);--line:lab(0% 0 0/.08);--line-2:lab(0% 0 0/.16)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5;overflow-x:hidden}body.has-custom-cursor,body.has-custom-cursor *{cursor:none!important}@media (hover:none){body.has-custom-cursor,body.has-custom-cursor *{cursor:auto!important}.cursor-dot,.cursor-ring{display:none!important}}::selection{background:var(--accent);color:var(--bg)}.skip-to-content{z-index:10000;background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:10px 14px;font-size:12px;transition:top .18s;position:fixed;top:-40px;left:16px}.skip-to-content:focus{outline:2px solid var(--accent);top:16px}a{color:inherit;text-decoration:none}button{font-family:inherit}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;will-change:transform;mix-blend-mode:difference;border-radius:999px;position:fixed;top:0;left:0}.cursor-dot{background:var(--accent);width:6px;height:6px;transition:width .2s,height .2s,background .2s;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid var(--accent);width:28px;height:28px;transition:width .25s cubic-bezier(.2,.8,.2,1),height .25s cubic-bezier(.2,.8,.2,1),border-radius .25s;transform:translate(-50%,-50%)}.cursor-ring.hover{border-color:var(--accent);background:oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .1);width:54px;height:54px}.cursor-ring.text{background:var(--accent);border-color:#0000;border-radius:2px;width:3px;height:24px}.shell{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}section{padding:calc(120px * var(--density)) 0;position:relative}@media (max-width:720px){section{padding:80px 0}}.nav{z-index:100;background:oklch(from var(--bg) l c h / .7);border:1px solid var(--line);-webkit-backdrop-filter:blur(20px)saturate(1.4);font-family:var(--font-mono);letter-spacing:.01em;border-radius:999px;align-items:center;gap:4px;padding:8px;font-size:12px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.nav a{color:var(--fg-3);border-radius:999px;padding:8px 14px;transition:color .2s;position:relative}.nav a:hover{color:var(--fg)}.nav a.active{color:var(--fg);background:var(--bg-3)}.nav-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:999px;margin:0 10px 0 6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.theme-toggle{border:1px solid var(--line);width:34px;height:34px;color:var(--fg-2);cursor:none;font-family:var(--font-mono);background:0 0;border-radius:999px;place-items:center;margin-left:6px;font-size:11px;transition:all .2s;display:grid}.theme-toggle:hover{background:var(--bg-3);color:var(--fg)}.nav-ext{color:var(--accent)!important}@media (max-width:720px){.nav{border-radius:18px;flex-wrap:wrap;justify-content:center;gap:2px;width:calc(100vw - 24px);padding:6px 10px;font-size:11px;top:12px}.nav a{white-space:nowrap;padding:6px 10px}.nav .theme-toggle{border-radius:999px;width:26px;height:26px;margin-left:2px}.nav-dot{display:none}}.section-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:56px;padding-bottom:18px;display:flex}.section-head .num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;font-size:12px}.section-head h2{letter-spacing:-.03em;font-size:clamp(28px,3.2vw,42px);font-weight:500;line-height:1}.section-head .meta{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.02em;margin-left:auto;font-size:11px}.section-head .meta a{color:var(--accent)}.hero{flex-direction:column;justify-content:center;min-height:100vh;padding-top:120px;padding-bottom:80px;display:flex;position:relative;overflow:hidden}.hero-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 20%,#0000 70%);mask-image:radial-gradient(#000 20%,#0000 70%)}.hero-glow{background:radial-gradient(circle, oklch(var(--accent-l) var(--accent-c) var(--accent-h) / .15), transparent 70%);filter:blur(40px);pointer-events:none;width:600px;height:600px;animation:20s ease-in-out infinite float;position:absolute;top:10%;right:-10%}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-40px,30px)scale(1.1)}66%{transform:translate(30px,-40px)scale(.95)}}.hero-top{font-family:var(--font-mono);color:var(--fg-3);justify-content:space-between;align-items:center;gap:24px;margin-bottom:auto;padding-top:40px;font-size:12px;display:flex}.hero-content{z-index:1;max-width:1100px;position:relative}.hero-kicker{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;display:inline-flex}.hero-kicker:before{content:"";background:var(--accent);width:24px;height:1px}.hero h1{letter-spacing:-.045em;margin-bottom:32px;font-size:clamp(48px,9vw,136px);font-weight:500;line-height:.92}.hero h1 .line{display:block;overflow:hidden}.hero h1 .word{animation:1s cubic-bezier(.2,.8,.2,1) forwards reveal;display:inline-block;transform:translateY(105%)}.hero h1 .word.delay{animation-delay:.1s}.hero h1 .italic{color:var(--fg-2);font-style:italic;font-weight:400;font-family:var(--font-serif)}.hero h1 .accent{color:var(--accent)}@keyframes reveal{to{transform:translateY(0)}}.hero-sub{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:48px;margin-top:40px;padding-top:40px;display:grid}.hero-tagline{max-width:520px;color:var(--fg-2);font-size:clamp(15px,1.2vw,17px);line-height:1.55}.hero-tagline strong{color:var(--fg);font-weight:500}.hero-cta{flex-wrap:wrap;gap:10px;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.02em;border:1px solid var(--line-2);color:var(--fg);cursor:none;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:12px;transition:all .2s;display:inline-flex}.btn:hover{background:var(--bg-3);border-color:var(--accent)}.btn.primary{background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);border-color:var(--accent);font-weight:500}.btn.primary:hover{background:oklch(calc(var(--accent-l) + .05) var(--accent-c) var(--accent-h));transform:translateY(-1px)}.btn .arrow{width:12px;height:12px;transition:transform .2s}.btn:hover .arrow{transform:translate(2px,-2px)}@media (max-width:720px){.hero-sub{grid-template-columns:1fr;gap:28px}.hero-top{padding-top:80px}}.hero-ticker{font-family:var(--font-mono);color:var(--fg-4);justify-content:space-between;align-items:center;padding:0 clamp(20px,4vw,48px);font-size:11px;display:flex;position:absolute;bottom:24px;left:0;right:0}.hero-ticker .scroll-hint{align-items:center;gap:8px;display:inline-flex}.hero-ticker .line-x{background:var(--line);flex:1;height:1px;margin:0 24px}.about-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:80px;display:grid}.about-visual{aspect-ratio:1/1.1;border:1px solid var(--line);background:var(--bg-2);border-radius:2px;position:relative;overflow:hidden}.about-viz-svg{width:100%;height:100%;display:block}.about-visual:after{content:"DRP / ∞";font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;font-size:10px;position:absolute;bottom:12px;right:14px}.about-visual:before{content:"FIG. 01";font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;z-index:2;font-size:10px;position:absolute;top:12px;left:14px}.about-text p{color:var(--fg-2);text-wrap:pretty;margin-bottom:20px;font-size:clamp(17px,1.4vw,20px);line-height:1.55}.about-text p strong{color:var(--fg);font-weight:500}.about-text em{font-family:var(--font-serif);color:var(--fg);font-style:italic}.about-text .lead{color:var(--fg);letter-spacing:-.01em;margin-bottom:28px;font-size:clamp(20px,1.7vw,24px);line-height:1.4}.stack-block{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.stack-block-label{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;font-size:11px}.stack-tags{flex-wrap:wrap;gap:8px;display:flex}.stack-tag{font-family:var(--font-mono);color:var(--fg-2);border:1px solid var(--line);background:var(--bg-2);letter-spacing:.01em;border-radius:999px;padding:7px 12px;font-size:11.5px;transition:all .2s}.stack-tag:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-ghost)}.stack-tag .hash{color:var(--fg-4);margin-right:2px}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:48px}.about-visual{max-width:420px}}.projects-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.project{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr 1.1fr;align-items:center;gap:40px;padding:28px 0;transition:padding .4s cubic-bezier(.2,.8,.2,1);display:grid;position:relative}.project:hover{padding:36px 0}.project:before{content:"";background:linear-gradient(90deg, var(--accent-ghost), transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.project:hover:before{opacity:1}.project .idx{font-family:var(--font-mono);color:var(--fg-4);font-size:12px}.project:hover .idx{color:var(--accent)}.project-meta h3{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.1}.project-meta .year{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.05em;margin-bottom:14px;font-size:11px}.project-meta p{color:var(--fg-3);text-wrap:pretty;max-width:42ch;font-size:14px;line-height:1.55}.project-side{flex-direction:column;align-items:flex-end;gap:14px;display:flex}.project-stack{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.project-stack span{font-family:var(--font-mono);color:var(--fg-3);border:1px solid var(--line);letter-spacing:.02em;border-radius:4px;padding:3px 8px;font-size:10.5px}.view-case{font-family:var(--font-mono);color:var(--accent);letter-spacing:.02em;padding:6px 0;font-size:12px;transition:transform .2s;display:inline-block}.project:hover .view-case{transform:translate(4px)}.project-preview{aspect-ratio:4/3;border:1px solid var(--line-2);background:var(--bg-3);opacity:0;pointer-events:none;z-index:5;border-radius:8px;width:240px;transition:opacity .35s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;left:58%;overflow:hidden;transform:translate(-50%,-50%)scale(.85);box-shadow:0 20px 60px #00000080;box-shadow:0 20px 60px lab(0% 0 0/.5)}.project:hover .project-preview{opacity:1;transform:translate(-50%,-50%)scale(1)}@media (max-width:900px){.project{grid-template-columns:48px 1fr;gap:20px;padding:24px 0}.project:hover{padding:24px 0}.project-side{grid-column:2;align-items:flex-start}.project-stack{justify-content:flex-start}.project-preview{display:none}}.experience-list{flex-direction:column;gap:0;display:flex}.exp-row{border-top:1px solid var(--line);grid-template-columns:180px 1fr 1fr;gap:40px;padding:28px 0;transition:background .3s;display:grid;position:relative}.exp-row:last-child{border-bottom:1px solid var(--line)}.exp-row:hover{background:var(--bg-2)}.exp-row .dates{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.02em;font-size:12px}.exp-row .dates .current{color:var(--accent)}.exp-main h4{letter-spacing:-.01em;margin-bottom:4px;font-size:18px;font-weight:500}.exp-main .company{font-family:var(--font-mono);color:var(--accent);font-size:12px}.exp-main .company:before{content:"@ ";color:var(--fg-4)}.exp-desc{color:var(--fg-3);max-width:48ch;font-size:14px;line-height:1.55}@media (max-width:900px){.exp-row{grid-template-columns:1fr;gap:10px;padding:24px 0}}.skills-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.skill-group{background:var(--bg);min-height:240px;padding:32px;transition:background .3s;position:relative}.skill-group:hover{background:var(--bg-2)}.skill-group .cat{justify-content:space-between;align-items:baseline;margin-bottom:24px;display:flex}.skill-group .cat-name{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.skill-group .cat-num{font-family:var(--font-mono);color:var(--fg-4);font-size:11px}.skill-group h5{letter-spacing:-.02em;margin-bottom:20px;font-size:22px;font-weight:500;line-height:1.2}.skill-items{flex-direction:column;gap:2px;display:flex}.skill-item{border-bottom:1px dashed var(--line);color:var(--fg-2);grid-template-columns:1fr auto;align-items:center;padding:8px 0;font-size:14px;transition:all .2s;display:grid;position:relative}.skill-item:last-child{border-bottom:none}.skill-item:hover{color:var(--fg);padding-left:10px}.skill-item:before{content:"→";color:var(--accent);opacity:0;transition:opacity .2s;position:absolute;left:-16px}.skill-item:hover:before{opacity:1}.skill-item .level{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;font-size:10.5px}@media (max-width:720px){.skills-grid{grid-template-columns:1fr}}.contact-wrap{grid-template-columns:1.2fr 1fr;align-items:start;gap:80px;display:grid}.contact-left h3{letter-spacing:-.035em;margin-bottom:28px;font-size:clamp(36px,5vw,72px);font-weight:500;line-height:1}.contact-left h3 .italic{color:var(--fg-2);font-style:italic;font-weight:400;font-family:var(--font-serif)}.contact-left h3 .accent{color:var(--accent)}.contact-left p{color:var(--fg-2);max-width:46ch;margin-bottom:40px;font-size:17px;line-height:1.55}.social-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.social-row{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--fg-2);grid-template-columns:120px 1fr auto;align-items:center;gap:20px;padding:18px 0;font-size:13px;transition:padding .3s;display:grid}.social-row:hover{color:var(--fg);padding-left:12px}.social-row .label{color:var(--fg-4);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.social-row .handle{letter-spacing:.01em}.social-row .arrow-ico{color:var(--fg-4);transition:all .2s}.social-row:hover .arrow-ico{color:var(--accent);transform:translate(4px,-4px)}.contact-form{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:28px}.contact-form .form-label{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-bottom:20px;font-size:11px;display:flex}.field{flex-direction:column;margin-bottom:18px;display:flex}.field label{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:10.5px}.field input,.field textarea{border:none;border-bottom:1px solid var(--line);color:var(--fg);font-family:var(--font-sans);resize:none;background:0 0;outline:none;padding:8px 0;font-size:15px;transition:border-color .2s}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}.field input::placeholder,.field textarea::placeholder{color:var(--fg-4)}.form-submit{background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);width:100%;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:none;border:none;border-radius:6px;margin-top:8px;padding:14px;font-size:12px;font-weight:500;transition:all .2s}.form-submit:hover{background:oklch(calc(var(--accent-l) + .05) var(--accent-c) var(--accent-h));transform:translateY(-1px)}.form-submit:disabled{opacity:.6}.form-error{font-family:var(--font-mono);color:#f14d4c;color:lab(57.3944% 63.124 38.0626);letter-spacing:.04em;margin-top:10px;font-size:11px}@media (max-width:900px){.contact-wrap{grid-template-columns:1fr;gap:56px}}.footer{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:40px 0 32px;font-size:11px;display:flex}.footer .left{flex-wrap:wrap;gap:20px;display:flex}.footer .right{align-items:center;gap:20px;display:flex}.footer a:hover{color:var(--accent)}.tweaks{z-index:1000;background:oklch(from var(--bg) l c h / .88);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--line-2);width:280px;font-family:var(--font-mono);color:var(--fg-2);border-radius:10px;padding:16px;font-size:11px;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 40px #0006;box-shadow:0 10px 40px lab(0% 0 0/.4)}.tweaks.active{display:block}.tweaks h6{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px;display:flex}.tweaks h6 button{color:var(--fg-4);cursor:none;font-family:inherit;font-size:inherit;background:0 0;border:0}.tweak-row{margin-bottom:14px}.tweak-row>label{color:var(--fg-4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:10px;display:block}.tweak-options{flex-wrap:wrap;gap:4px;display:flex}.tweak-opt{text-align:center;border:1px solid var(--line);color:var(--fg-3);font-family:var(--font-mono);cursor:none;text-transform:lowercase;background:0 0;border-radius:4px;flex:1;padding:6px 8px;font-size:10.5px;transition:all .15s}.tweak-opt:hover{color:var(--fg);border-color:var(--line-2)}.tweak-opt.active{background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);border-color:var(--accent)}.tweak-swatch{border:1px solid var(--line);cursor:none;border-radius:999px;width:28px;height:28px;position:relative}.tweak-swatch.active{border-color:var(--fg);box-shadow:0 0 0 2px var(--bg), 0 0 0 3px currentColor}.tweak-swatches{gap:8px;display:flex}.tweaks-toggle{z-index:999;background:var(--bg-2);border:1px solid var(--line-2);width:38px;height:38px;color:var(--fg-2);cursor:none;font-family:var(--font-mono);border-radius:999px;font-size:13px;transition:all .2s;position:fixed;bottom:20px;right:20px}.tweaks-toggle:hover{color:var(--accent);border-color:var(--accent)}.noise{pointer-events:none;z-index:50;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");position:fixed;inset:0}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(20px)}.reveal.in{opacity:1;transform:translateY(0)}.page-head{padding-top:140px;padding-bottom:48px;position:relative}.page-head:after{content:"";background:var(--line);height:1px;margin-top:48px;display:block}.breadcrumb{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;display:flex}.breadcrumb a{color:var(--fg-3)}.breadcrumb a:hover{color:var(--accent)}.breadcrumb .sep{color:var(--fg-4)}.breadcrumb .current{color:var(--fg)}.page-title{grid-template-columns:1fr auto;align-items:end;gap:40px;display:grid}.page-title h1{letter-spacing:-.04em;font-size:clamp(40px,7vw,96px);font-weight:500;line-height:.95}.page-title h1 .italic{color:var(--fg-2);font-style:italic;font-weight:400;font-family:var(--font-serif)}.page-title h1 .accent{color:var(--accent)}.page-title .intro{max-width:36ch;color:var(--fg-2);font-size:15px;line-height:1.55}@media (max-width:720px){.page-title{grid-template-columns:1fr}.page-head{padding-top:100px}}.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:24px;margin:40px 0 32px;padding:14px 0;font-size:12px;display:flex}.filters .label{color:var(--fg-4);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.filter-group{flex-wrap:wrap;gap:4px;display:flex}.filter-chip{border:1px solid var(--line);color:var(--fg-3);cursor:none;letter-spacing:.01em;background:0 0;border-radius:999px;padding:6px 11px;font-family:inherit;font-size:11.5px;transition:all .15s}.filter-chip:hover{color:var(--fg);border-color:var(--line-2)}.filter-chip.active{background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);border-color:var(--accent)}.filter-count{color:var(--fg-4);margin-left:auto}.projects-wall{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:80px;display:grid}@media (max-width:720px){.projects-wall{grid-template-columns:1fr}}.p-card{background:var(--bg-2);border:1px solid var(--line);color:inherit;border-radius:10px;flex-direction:column;text-decoration:none;transition:all .3s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.p-card:hover{border-color:var(--accent);background:var(--bg-3);transform:translateY(-4px)}.p-card .thumb{aspect-ratio:16/10;background:var(--bg-3);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.p-card .thumb svg,.p-card .thumb img{object-fit:cover;width:100%;height:100%;display:block}.p-card .thumb:after{content:"";opacity:0;background:linear-gradient(#0000 50%,#0000004d);background:linear-gradient(#0000 50%,lab(0% 0 0/.3));transition:opacity .3s;position:absolute;inset:0}.p-card:hover .thumb:after{opacity:1}.p-card .info{flex-direction:column;flex:1;gap:12px;padding:22px;display:flex}.p-card .info-top{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.03em;justify-content:space-between;font-size:11px;display:flex}.p-card .info-top .year{color:var(--accent)}.p-card h3{letter-spacing:-.02em;font-size:22px;font-weight:500;line-height:1.15}.p-card p{color:var(--fg-3);text-wrap:pretty;font-size:14px;line-height:1.5}.p-card .chip-stack{flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:10px;display:flex}.p-card .chip-stack span{font-family:var(--font-mono);color:var(--fg-3);border:1px solid var(--line);letter-spacing:.02em;border-radius:3px;padding:3px 7px;font-size:10px}.p-card .arrow-cta{background:oklch(from var(--bg) l c h / .75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:34px;height:34px;color:var(--fg);opacity:0;z-index:2;border-radius:999px;place-items:center;transition:all .3s;display:grid;position:absolute;top:16px;right:16px;transform:translate(8px,-8px)}.p-card:hover .arrow-cta{opacity:1;background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);transform:translate(0)}.p-card .status-badge{font-family:var(--font-mono);color:var(--fg-2);background:oklch(from var(--bg) l c h / .7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.08em;text-transform:uppercase;z-index:2;border-radius:3px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;display:inline-flex;position:absolute;top:16px;left:16px}.p-card .status-badge:before{content:"";background:#57cb60;background:lab(73.1677% -50.536 42.2263);border-radius:999px;width:5px;height:5px}.p-card .status-badge.archived:before{background:var(--fg-4)}.detail-hero{padding:140px 0 60px}.detail-hero .kicker{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;font-size:12px;display:flex}.detail-hero .kicker .dot{background:var(--fg-4);border-radius:999px;width:4px;height:4px}.detail-hero h1{letter-spacing:-.04em;margin-bottom:28px;font-size:clamp(48px,8vw,112px);font-weight:500;line-height:.95}.detail-hero h1 .accent{color:var(--accent)}.detail-hero .lede{max-width:60ch;color:var(--fg-2);margin-bottom:40px;font-size:clamp(17px,1.5vw,22px);line-height:1.5}.detail-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:80px;padding:24px 0;display:grid}.detail-meta .cell{flex-direction:column;gap:4px;display:flex}.detail-meta .cell .k{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.detail-meta .cell .v{color:var(--fg);font-size:14px}@media (max-width:720px){.detail-meta{grid-template-columns:repeat(2,1fr)}.detail-hero{padding-top:100px}}.gallery{margin-bottom:100px}.gallery-item{border:1px solid var(--line);background:var(--bg-2);border-radius:10px;margin-bottom:20px;position:relative;overflow:hidden}.gallery-item.hero{aspect-ratio:16/9}.gallery-item.detail{aspect-ratio:4/3}.gallery-item.video{aspect-ratio:16/9;background:linear-gradient(135deg,#1e1a16,#15110d);background:linear-gradient(135deg,lab(9.4974% 1.76863 3.37419),lab(5.25001% 1.38035 2.33883))}.gallery-item .placeholder-svg,.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-item .caption{font-family:var(--font-mono);color:var(--fg-2);background:oklch(from var(--bg) l c h / .75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.03em;border-radius:4px;padding:6px 10px;font-size:11px;position:absolute;bottom:16px;left:16px}.gallery-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.gallery-row .gallery-item{margin-bottom:0}@media (max-width:720px){.gallery-row{grid-template-columns:1fr}}.play-overlay{cursor:none;place-items:center;display:grid;position:absolute;inset:0}.play-overlay .play-btn{background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);border-radius:999px;place-items:center;width:80px;height:80px;transition:transform .2s;display:grid}.play-overlay:hover .play-btn{transform:scale(1.08)}.content-grid{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:60px;margin-bottom:80px;padding-bottom:60px;display:grid}.content-grid .label-col{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.1em;text-transform:uppercase;padding-top:8px;font-size:11px}.content-grid .label-col .num{color:var(--accent);margin-right:6px}.content-grid .body-col{max-width:64ch}.content-grid .body-col h2{letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.2}.content-grid .body-col p{color:var(--fg-2);margin-bottom:16px;font-size:clamp(16px,1.2vw,18px);line-height:1.6}@media (max-width:900px){.content-grid{grid-template-columns:1fr;gap:20px;margin-bottom:40px;padding-bottom:40px}}.results-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:24px;display:grid}.results-grid .cell{background:var(--bg);flex-direction:column;justify-content:space-between;min-height:140px;padding:24px;transition:background .2s;display:flex}.results-grid .cell:hover{background:var(--bg-2)}.results-grid .cell .k{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.results-grid .cell .v{letter-spacing:-.02em;color:var(--accent);font-size:clamp(24px,2.4vw,32px);font-weight:500;line-height:1}@media (max-width:900px){.results-grid{grid-template-columns:repeat(2,1fr)}}.stack-pill-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.prev-next{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;padding:40px 0 80px;display:grid}.pn-link{border:1px solid var(--line);background:var(--bg-2);color:inherit;border-radius:10px;flex-direction:column;gap:8px;padding:24px;text-decoration:none;transition:all .25s;display:flex}.pn-link:hover{border-color:var(--accent);background:var(--bg-3)}.pn-link.next{text-align:right}.pn-link .pn-label{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.pn-link .pn-title{letter-spacing:-.01em;font-size:20px;font-weight:500}.pn-link:hover .pn-title{color:var(--accent)}@media (max-width:720px){.prev-next{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--fg-3);font-family:var(--font-mono);border:1px dashed var(--line);border-radius:10px;padding:80px 20px;font-size:13px}.admin-shell{max-width:1100px;margin:0 auto;padding:80px 32px 120px}.admin-shell h1{letter-spacing:-.03em;margin-bottom:8px;font-size:36px;font-weight:500}.admin-shell h2{letter-spacing:-.02em;margin-bottom:16px;font-size:22px;font-weight:500}.admin-nav{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;margin:28px 0 40px;padding:6px;font-size:12px;display:flex}.admin-nav a,.admin-nav form button{color:var(--fg-3);cursor:none;font-family:inherit;font-size:inherit;background:0 0;border:0;border-radius:999px;padding:8px 14px;transition:all .2s}.admin-nav a.active{background:var(--bg-3);color:var(--fg)}.admin-nav a:hover,.admin-nav form button:hover{color:var(--fg)}.admin-nav .logout{color:#fa6863;color:lab(63.4204% 56.5783 32.9929);margin-left:auto}.admin-card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:28px}.admin-shell .quick-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.admin-shell .quick-card{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;flex-direction:column;gap:8px;padding:18px 20px;text-decoration:none;transition:all .18s;display:flex;position:relative;overflow:hidden}.admin-shell .quick-card:after{content:"";background:linear-gradient(120deg, transparent 55%, oklch(from var(--accent) l c h / .08));opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.admin-shell .quick-card:hover{border-color:var(--accent);transform:translateY(-2px)}.admin-shell .quick-card:hover:after{opacity:1}.admin-shell .quick-card:hover .quick-arrow{color:var(--accent);transform:translate(4px)}.admin-shell .quick-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:10.5px}.admin-shell .quick-title{color:var(--fg);font-size:15px;font-weight:500}.admin-shell .quick-arrow{color:var(--fg-3);font-size:18px;font-family:var(--font-mono);transition:all .18s;position:absolute;top:18px;right:20px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px}.admin-table th{font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:400}.admin-table tr:hover td{background:var(--bg-3)}.admin-table .actions{justify-content:flex-end;gap:8px;display:flex}.admin-table .actions a,.admin-table .actions button{font-family:var(--font-mono);color:var(--fg-3);border:1px solid var(--line);cursor:none;background:0 0;border-radius:6px;padding:5px 10px;font-size:11px;text-decoration:none;transition:all .2s}.admin-table .actions a:hover,.admin-table .actions button:hover{color:var(--accent);border-color:var(--accent)}.admin-table .actions .danger:hover{color:#ff625e;color:lab(63.2066% 63.0145 37.4065);border-color:#ff625e;border-color:lab(63.2066% 63.0145 37.4065)}.admin-form{gap:18px;display:grid}.admin-form .grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:720px){.admin-form .grid-2{grid-template-columns:1fr}}.admin-form .field{margin-bottom:0}.admin-form input[type=text],.admin-form input[type=email],.admin-form input[type=password],.admin-form input[type=number],.admin-form input[type=url],.admin-form textarea,.admin-form select{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--fg);font-family:var(--font-sans);border-radius:6px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.admin-form textarea{resize:vertical;min-height:100px;line-height:1.5}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--accent)}.admin-shell .row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-form label.inline{font-family:var(--font-mono);color:var(--fg-2);cursor:none;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:12px;display:inline-flex}.admin-form label.inline input[type=checkbox]{appearance:none;background:var(--bg-3);border:1px solid var(--line-2);cursor:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;margin:0;transition:all .22s;position:relative}.admin-form label.inline input[type=checkbox]:after{content:"";background:var(--fg-3);border-radius:50%;width:14px;height:14px;transition:all .22s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px}.admin-form label.inline input[type=checkbox]:hover{border-color:var(--fg-4)}.admin-form label.inline input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.admin-form label.inline input[type=checkbox]:checked:after{background:#15110d;background:lab(5.25001% 1.38035 2.33883);left:18px}.admin-form label.inline input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-form label.inline:hover{color:var(--fg)}.admin-form label.inline:has(input:checked){color:var(--fg)}.admin-shell .submit,.admin-shell .secondary,.admin-shell .danger{font-family:var(--font-mono);letter-spacing:.04em;cursor:none;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;line-height:1;text-decoration:none;transition:all .18s;display:inline-flex}.admin-shell .submit{background:var(--accent);color:#15110d;color:lab(5.25001% 1.38035 2.33883);border:1px solid var(--accent);text-transform:uppercase;letter-spacing:.06em;padding:11px 20px;font-weight:500}.admin-shell .submit:hover{filter:brightness(1.05);transform:translateY(-1px)}.admin-shell .secondary{background:var(--bg);border:1px solid var(--line-2);color:var(--fg)}.admin-shell .secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.admin-shell .danger{color:#ff948c;color:lab(73.0244% 46.868 26.4676);background:0 0;border:1px solid #8c343299;border:1px solid lab(35.0104% 37.7494 22.1378/.6)}.admin-shell .danger:hover{color:#ffa79f;color:lab(77.15% 62.7924 36.3461);background:#5d272526;background:lab(23.8155% 25.0824 14.4029/.15);border-color:#ff625e;border-color:lab(63.2066% 63.0145 37.4065)}.admin-shell .row-actions.end{justify-content:flex-end}.admin-shell .row-actions.split{justify-content:space-between;width:100%}.admin-form .helper{font-family:var(--font-mono);color:var(--fg-4);margin-top:4px;font-size:11px}.admin-form .field-label{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:10.5px;display:block}.admin-hint{font-family:var(--font-mono);color:var(--fg-4);font-size:11px}.login-wrap{place-items:center;min-height:100vh;padding:40px;display:grid}.login-card{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;width:100%;max-width:400px;padding:32px}.login-card h1{letter-spacing:-.02em;margin-bottom:6px;font-size:24px;font-weight:500}.login-card .sub{color:var(--fg-3);margin-bottom:24px;font-size:14px}.toast{z-index:1100;background:var(--bg-3);color:var(--fg);border:1px solid var(--accent);font-family:var(--font-mono);border-radius:8px;padding:12px 16px;font-size:12px;position:fixed;bottom:24px;left:24px;box-shadow:0 8px 24px #0006;box-shadow:0 8px 24px lab(0% 0 0/.4)}.uploader{flex-direction:column;gap:8px;display:flex}.uploader-empty,.media-slot-empty{border:1px dashed var(--line-2);background:var(--bg);width:100%;color:var(--fg-2);font-family:var(--font-mono);cursor:pointer;border-radius:8px;padding:24px;font-size:12px;transition:all .2s}.uploader-empty:hover,.media-slot-empty:hover{border-color:var(--accent);color:var(--accent)}.uploader-preview,.media-slot-preview{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:12px;padding:10px;display:flex;position:relative}.media-slot-overlay{color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#050302d1;background:lab(.896511% .456087 .682038/.82);border-radius:8px;justify-content:center;align-items:center;font-size:12px;animation:1.6s ease-in-out infinite ai-pulse;display:flex;position:absolute;inset:0}@keyframes ai-pulse{0%,to{opacity:.75}50%{opacity:1}}.admin-shell .ai-btn{font-family:var(--font-mono);letter-spacing:.04em;color:#15110d;color:lab(5.25001% 1.38035 2.33883);cursor:none;background:linear-gradient(115deg,#ff762b 0%,#ff9b51 45%,#ff762b 100%) 0%/220% 100%;background:linear-gradient(115deg,lab(66.1541% 51.714 65.3591) 0%,lab(73.6053% 39.4473 65.0709) 45%,lab(66.1541% 51.714 65.3591) 100%) 0%/220% 100%;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:10px 16px;font-size:11.5px;font-weight:500;transition:all .22s;display:inline-flex;position:relative;overflow:hidden}.admin-shell .ai-btn:hover:not(:disabled){background-position:100%;transform:translateY(-1px);box-shadow:0 4px 16px #ff762b40;box-shadow:0 4px 16px lab(66.1541% 51.714 65.3591/.25)}.admin-shell .ai-btn:disabled{opacity:.55;cursor:not-allowed}.uploader-preview img,.media-slot-preview img,.media-slot-preview video{object-fit:cover;background:var(--bg-3);border-radius:6px;width:140px;max-height:100px}.uploader-preview-actions,.media-slot-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery-editor{flex-direction:column;gap:14px;display:flex}.gallery-editor-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.gallery-editor-row{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.gallery-editor-head{grid-template-columns:220px 1fr auto;align-items:center;gap:8px;display:grid}.gallery-editor-head select,.gallery-editor-head input{background:var(--bg-2);border:1px solid var(--line);color:var(--fg);font-family:var(--font-sans);border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.gallery-editor-head input:focus,.gallery-editor-head select:focus{border-color:var(--accent)}.gallery-editor-actions{gap:4px;display:flex}.gallery-editor-actions button{border:1px solid var(--line);width:32px;height:32px;color:var(--fg-2);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:6px;padding:0;font-size:12px;transition:all .2s}.gallery-editor-actions button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.gallery-editor-actions button.danger:hover{color:#ff625e;color:lab(63.2066% 63.0145 37.4065);border-color:#ff625e;border-color:lab(63.2066% 63.0145 37.4065)}.gallery-editor-actions button:disabled{opacity:.35}.media-slot{flex-direction:column;gap:6px;display:flex}@media (max-width:720px){.gallery-editor-head{grid-template-columns:1fr}.gallery-editor-actions{justify-content:flex-end}}
