@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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.0dza.stei.9v7.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.03nf~dfjdkf~..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.0gfhww.tctz1o.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.09q3q1i5159bl.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.1409xf.ylxg8g.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_c302529-module__OsiXdW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_c302529-module__OsiXdW__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_813d3ad4-module__Oh_7Zq__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_813d3ad4-module__Oh_7Zq__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--bg:#0a0a0c;--bg-elev:#111114;--bg-card:#131317;--border:#ffffff12;--border-strong:#ffffff1f;--text:#f4f4f6;--text-2:#b3b3bb;--text-3:#6a6a73;--text-4:#45454d;--accent:#a78bfa;--accent-2:#8b5cf6;--accent-deep:#6d28d9;--accent-glow:#a78bfa66;--font-sans:var(--font-inter), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-jetbrains), "SF Mono", "Menlo", monospace;--font-serif:var(--font-source-serif), Georgia, serif;--max-w:1200px;--pad-x:clamp(20px, 5vw, 64px);--card-bg:var(--bg-card);--text-muted:var(--text-3);--text-secondary:var(--text-2);--text-primary:var(--text);--bg-base:var(--bg);--border-subtle:var(--border);--accent-purple:var(--accent-2);--accent-purple-hover:var(--accent-deep)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;isolation:isolate;background:0 0;font-size:15px;line-height:1.6;overflow-x:hidden}main,footer{z-index:1;position:relative}::selection{background:var(--accent-glow);color:#fff}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}.nav-wrap{z-index:100;pointer-events:none;padding:0 var(--pad-x);justify-content:center;display:flex;position:fixed;top:24px;left:0;right:0}.nav{-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--border);pointer-events:auto;letter-spacing:.02em;background:#0f0f12b3;border-radius:999px;align-items:center;gap:4px;padding:8px;font-size:13px;display:flex;box-shadow:0 8px 32px #0006}.nav-link{color:var(--text-2);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:8px 16px;font-size:11px;font-weight:500;transition:color .2s,background .2s;position:relative}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--accent);background:#a78bfa14}.nav-divider{background:var(--border);width:1px;height:18px;margin:0 4px}.nav-icons{align-items:center;gap:2px;padding:0 4px;display:flex}.nav-icon{width:32px;height:32px;color:var(--text-3);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex}.nav-icon:hover{color:var(--text);background:#ffffff0a}.nav-lang{letter-spacing:.1em;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.nav-lang button{color:var(--text-3);padding:4px;transition:color .2s}.nav-lang button.active{color:var(--accent)}.nav-lang button:hover{color:var(--text)}.nav-lang .slash{color:var(--text-4)}.contact-pill{top:24px;right:var(--pad-x);z-index:100;-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--border);letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:#0f0f12b3;border-radius:999px;padding:14px 24px;font-size:11px;font-weight:600;transition:border-color .2s,background .2s,transform .2s;position:fixed;box-shadow:0 8px 32px #0006}.contact-pill:hover{border-color:var(--accent);background:#a78bfa14;transform:translateY(-1px)}.hero{justify-content:center;align-items:center;max-width:none;min-height:100vh;margin:0;padding-left:0;padding-right:0;display:flex;position:relative}.hero-canvas,.hero-fallback{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.hero-fallback{background:var(--bg)}.hero-content{z-index:2;text-align:center;padding:0 var(--pad-x);pointer-events:none;position:relative}.hero-title{letter-spacing:-.035em;background:linear-gradient(#fff 0%,#c4c4cc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;padding-bottom:.1em;font-size:clamp(36px,5.2vw,76px);font-weight:600;line-height:1.15}.hero-tagline{color:var(--text-2);font-size:clamp(16px,1.6vw,20px);font-family:var(--font-mono);letter-spacing:-.01em;align-items:center;gap:6px;min-height:1.5em;display:inline-flex}.hero-tagline .cursor{background:var(--accent);vertical-align:text-bottom;width:8px;height:1.1em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero-scroll{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-3);text-transform:uppercase;z-index:2;flex-direction:column;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-scroll .line{background:linear-gradient(180deg, transparent, var(--text-3));width:1px;height:40px;animation:2.2s ease-in-out infinite scroll-line}@keyframes scroll-line{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}50.01%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}section{padding:120px var(--pad-x);max-width:var(--max-w);margin:0 auto}.section-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-3);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:16px;font-size:11px;display:inline-flex}.section-eyebrow .marker{border:1px solid var(--accent);width:10px;height:10px;transform:rotate(45deg)}.section-title{letter-spacing:-.03em;margin-bottom:48px;font-size:clamp(32px,4.5vw,56px);font-weight:600;line-height:1.05}.section-title .accent{color:var(--accent)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:32px}}.about-prose p{color:var(--text-2);text-wrap:pretty;max-width:56ch;margin-bottom:16px;font-size:16px}.about-prose p strong{color:var(--text);font-weight:500}.about-prose .lead{font-family:var(--font-serif);color:var(--text);font-size:20px;font-style:italic;line-height:1.5}.code-card{background:var(--bg-card);border:1px solid var(--border);font-family:var(--font-mono);border-radius:12px;font-size:13px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.code-card-bar{border-bottom:1px solid var(--border);background:#ffffff05;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.code-card-bar .lights{gap:6px;display:flex}.code-card-bar .light{background:#ffffff1a;border-radius:50%;width:10px;height:10px}.code-card-bar .filename{color:var(--text-3);letter-spacing:.04em;font-size:11px}.code-body{white-space:pre-wrap;padding:20px 24px;line-height:1.9}.code-body .tk-brace{color:#b8b8ff}.code-body .tk-key{color:#c7a3ff}.code-body .tk-str{color:#a3e1c8}.code-body .tk-com{color:var(--text-4);font-style:italic}.code-body .tk-punc{color:var(--text-3)}.exp-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}@media (max-width:860px){.exp-grid{grid-template-columns:1fr;gap:56px}}.exp-column h3{letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:14px;font-size:13px;font-weight:600}.timeline{position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--border-strong), transparent);width:1px;position:absolute;top:6px;bottom:6px;left:6px}.timeline-item{cursor:default;padding-bottom:36px;padding-left:32px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:13px;height:13px;transition:box-shadow .3s,transform .3s;position:absolute;top:6px;left:0}.timeline-item:hover .timeline-dot{box-shadow:0 0 0 4px #a78bfa26, 0 0 20px var(--accent-glow);transform:scale(1.15)}.timeline-item:hover .timeline-period{color:var(--accent)}.timeline-period{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);margin-bottom:8px;font-size:11px;transition:color .2s}.timeline-title{letter-spacing:-.01em;color:var(--text);margin-bottom:4px;font-size:17px;font-weight:600}.timeline-sub{font-family:var(--font-serif);color:var(--text-3);margin-bottom:8px;font-size:14px;font-style:italic}.timeline-desc{color:var(--text-2);text-wrap:pretty;max-width:42ch;font-size:14px}.proj-filter{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.proj-filter button{border:1px solid var(--border);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-3);border-radius:999px;padding:8px 14px;transition:all .2s}.proj-filter button:hover{color:var(--text);border-color:var(--border-strong)}.proj-filter button.active{color:var(--accent);border-color:var(--accent);background:#a78bfa0f}.proj-grid{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:16px;display:grid}@media (max-width:980px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.proj-grid{grid-template-columns:1fr}}.proj-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-height:220px;padding:24px 24px 20px;transition:border-color .3s,transform .3s,background .3s;display:flex;position:relative;overflow:hidden}.proj-card.featured{background:linear-gradient(135deg, var(--bg-card), #a78bfa0a);grid-column:span 2}@media (max-width:640px){.proj-card.featured{grid-column:span 1}}.proj-card:before{content:"";background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%), #a78bfa66, transparent 40%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;border-radius:14px;padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.proj-card:hover{border-color:#a78bfa33;transform:translateY(-2px)}.proj-card:hover:before{opacity:1}.proj-card h4{letter-spacing:-.02em;align-items:center;gap:8px;margin-bottom:10px;font-size:19px;font-weight:600;display:flex}.proj-card p{color:var(--text-2);text-wrap:pretty;margin-bottom:auto;padding-bottom:18px;font-size:13.5px}.proj-stack{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.proj-stack span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-2);border:1px solid var(--border);background:#ffffff0a;border-radius:999px;padding:3px 8px;font-size:10px}.proj-stack span.hl{color:var(--accent);background:#a78bfa0f;border-color:#a78bfa40}.proj-actions{gap:8px;display:flex}.proj-btn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-2);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:11px;transition:all .2s;display:inline-flex}.proj-btn:hover{color:var(--accent);border-color:var(--accent);background:#a78bfa0f}.proj-btn.primary{color:var(--accent);border-color:#a78bfa4d}.proj-status-pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:#a78bfa14;border:1px solid #a78bfa33;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:3px 8px;font-size:9px;font-weight:500;display:inline-flex}.proj-status-pill .live-dot{background:var(--accent);width:5px;height:5px;box-shadow:0 0 6px var(--accent);border-radius:50%;animation:2s ease-in-out infinite pulse}.contact-section{text-align:center;padding-top:140px;padding-bottom:80px;position:relative}.contact-large{letter-spacing:-.04em;margin:24px 0 40px;font-size:clamp(40px,7vw,96px);font-weight:600;line-height:.95}.contact-large .underline{color:var(--accent);cursor:pointer;white-space:nowrap;font:inherit;letter-spacing:inherit;background:0 0;border:none;padding:0;position:relative}.contact-large .underline:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .4s cubic-bezier(.4,0,.1,1);position:absolute;bottom:.08em;left:0;right:0;transform:scaleX(0)}.contact-large .underline:hover:after{transform:scaleX(1)}.contact-meta{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.06em;flex-wrap:wrap;justify-content:center;gap:32px;font-size:12px;display:flex}.contact-meta span{align-items:center;gap:6px;display:inline-flex}.contact-meta .live-dot{background:#4ade80;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse;box-shadow:0 0 8px #4ade8080}footer{border-top:1px solid var(--border);padding:32px var(--pad-x);color:var(--text-3);max-width:var(--max-w);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:80px auto 0;font-size:12px;display:flex}footer .links{gap:24px;display:flex}footer a:hover{color:var(--text)}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.1,1),transform .8s cubic-bezier(.4,0,.1,1);transform:translateY(20px)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.hero-scroll .line,.proj-status-pill .live-dot,.contact-meta .live-dot{animation:none}}@media (max-width:720px){.nav-wrap{top:12px}.nav{padding:6px;font-size:11px}.nav-link{padding:6px 10px;font-size:10px}.nav-divider,.nav-icons,.nav-lang{display:none}.contact-pill{padding:10px 16px;font-size:10px;top:12px}section{padding:80px var(--pad-x)}.contact-meta{gap:16px;font-size:11px}}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 150px);padding:2rem;display:flex}.login-card{background-color:var(--card-bg);border:1px solid var(--border-strong);border-radius:8px;width:100%;max-width:400px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);margin-bottom:.5rem}.login-header p{color:var(--text-muted);font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-secondary);font-size:.85rem;font-family:var(--font-mono);margin-bottom:.5rem;display:block}.form-group input{background-color:var(--bg-base);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-family:var(--font-mono);border-radius:6px;padding:.75rem 1rem;font-size:.9rem;transition:border-color .2s}.form-group input:focus{border-color:var(--accent);outline:none}.login-button{background-color:var(--accent-purple);color:#fff;width:100%;font-family:var(--font-mono);cursor:pointer;border:none;border-radius:6px;margin-top:1rem;padding:.75rem;font-size:.9rem;font-weight:600;transition:background-color .2s}.login-button:hover{background-color:var(--accent-purple-hover)}.error-message{color:#ef4444;text-align:center;background-color:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1.5rem;padding:.75rem;font-size:.85rem}.db-migration-warning{color:#f59e0b;background-color:#f59e0b14;border:1px solid #f59e0b40;border-radius:8px;margin-bottom:24px;padding:16px 20px;font-size:13px;line-height:1.5}.db-migration-warning h4{color:#f59e0b;margin:0 0 6px;font-size:14px;font-weight:600}.db-migration-warning ul{margin:8px 0 0;padding-left:20px}.db-migration-warning li{margin-bottom:4px}.form-group input.error{border-color:#ef4444}.field-error{color:#ef4444;margin-top:4px;font-size:.8rem;display:block}.admin-layout{height:100vh;color:var(--text);background:#08080a;grid-template-columns:260px 1fr;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#0c0b12,#08080a);flex-direction:column;padding:22px 16px;display:flex;position:relative}.sidebar:after{content:"";background:linear-gradient(180deg, var(--accent-glow), transparent);opacity:.4;width:1px;height:200px;position:absolute;top:0;right:0}.sb-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:18px;padding:4px 8px 24px;display:flex}.sb-brand .glyph{background:linear-gradient(135deg, var(--accent), var(--accent-deep));width:34px;height:34px;font-family:var(--font-mono);color:#fff;border-radius:9px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;box-shadow:0 6px 20px #a78bfa66}.sb-brand .name{letter-spacing:-.01em;color:var(--text);font-size:14px;font-weight:600}.sb-brand .role{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-3);text-transform:uppercase;font-size:9px}.sb-section{font-family:var(--font-mono);letter-spacing:.18em;color:var(--text-4);text-transform:uppercase;padding:14px 12px 8px;font-size:9px}.sb-nav{flex-direction:column;gap:2px;display:flex}.sb-link{color:var(--text-2);cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:9px 12px;font-size:13px;text-decoration:none;transition:color .15s,background .15s;display:flex;position:relative}.sb-link svg{opacity:.7;width:16px;height:16px}.sb-link:hover{color:var(--text);background:#ffffff08}.sb-link.active{color:var(--text);background:#a78bfa14}.sb-link.active svg{opacity:1;color:var(--accent)}.sb-link.active:before{content:"";background:var(--accent);width:3px;height:18px;box-shadow:0 0 12px var(--accent-glow);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.sb-badge{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;background:#a78bfa1f;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:9px}.sb-foot{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.sb-user{border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sb-user .avatar{color:#fff;background:linear-gradient(135deg,#6d28d9,#a78bfa);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.sb-user .info{flex:1;min-width:0}.sb-user .who{color:var(--text);font-size:12px;font-weight:500}.sb-user .status{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-3);text-transform:uppercase;align-items:center;gap:5px;font-size:9px;display:inline-flex}.sb-user .live-dot{background:#4ade80;border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #4ade8080}.sb-logout{font-size:11px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:6px;padding:8px;transition:color .15s,background .15s;display:flex}.sb-logout:hover{color:#ff6b6b;background:#ff6b6b0d}.sb-logout svg{opacity:.7;width:16px;height:16px}.admin-layout>.main{background:radial-gradient(80% 60% at 50% -20%,#a78bfa0a,#0000 70%),#08080a;flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);background:#08080ad9;justify-content:space-between;align-items:center;gap:24px;padding:18px 32px;display:flex}.crumbs{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-3);align-items:center;gap:8px;font-size:11px;display:flex}.crumbs .sep{color:var(--text-4)}.crumbs .cur{color:var(--text)}.tb-right{align-items:center;gap:10px;display:flex}.tb-search{border:1px solid var(--border);width:260px;color:var(--text-3);background:#ffffff08;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;transition:border-color .2s;display:flex}.tb-search:focus-within{border-color:var(--border-strong)}.tb-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.tb-search input::placeholder{color:var(--text-4)}.tb-search kbd{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-3);background:#ffffff05;border-radius:4px;padding:2px 5px;font-size:9px}.tb-pill{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;display:inline-flex}.tb-pill.prod{color:#4ade80;border-color:#4ade8033}.tb-pill .dot{background:currentColor;border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px}.tb-icon-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex;position:relative}.tb-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.tb-icon-btn .badge{background:var(--accent);color:#0a0a0c;border:2px solid #08080a;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.admin-layout .page{flex:1;padding:28px 32px 60px;overflow-y:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-title{letter-spacing:-.025em;padding-bottom:.08em;font-size:28px;font-weight:600;line-height:1.1}.page-sub{color:var(--text-3);margin-top:4px;font-size:13px}.page-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);margin-bottom:6px;font-size:10px}.admin-layout .btn{letter-spacing:.04em;border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:#ffffff08;border-radius:9px;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.admin-layout .btn:hover{border-color:var(--accent);background:#a78bfa0f}.admin-layout .btn.primary{background:linear-gradient(#a78bfa38,#8b5cf61f);border-color:#a78bfa80;box-shadow:0 0 24px #a78bfa26}.admin-layout .btn.primary:hover{background:linear-gradient(#a78bfa4d,#8b5cf62e);box-shadow:0 0 0 5px #a78bfa14,0 10px 30px #a78bfa40}.admin-layout .btn.ghost{background:0 0;border-color:#0000}.admin-layout .btn.ghost:hover{border-color:var(--border);background:#ffffff0a}.admin-layout .btn.danger{color:#f87171;border-color:#f8717133}.admin-layout .btn.danger:hover{background:#f871710f;border-color:#f8717173}.admin-layout .btn.sm{padding:6px 10px;font-size:11px}.stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}@media (max-width:1100px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stat-card{border:1px solid var(--border);background:linear-gradient(#ffffff06,#fff0);border-radius:14px;padding:18px 18px 14px;position:relative;overflow:hidden}.stat-card .icon-wrap{width:32px;height:32px;color:var(--accent);background:#a78bfa14;border-radius:9px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.stat-card .label{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-3);text-transform:uppercase;margin-bottom:4px;font-size:10px}.stat-card .value{letter-spacing:-.03em;align-items:baseline;gap:8px;margin-bottom:6px;font-size:36px;font-weight:600;line-height:1;display:flex}.stat-card .value .delta{font-size:11px;font-family:var(--font-mono);letter-spacing:.04em;font-weight:500}.stat-card .delta.up{color:#4ade80}.stat-card .delta.flat{color:var(--text-4)}.stat-card .meta{color:var(--text-3);font-size:11px}.stat-card .spark{pointer-events:none;width:80px;height:28px;position:absolute;top:18px;right:14px}.col-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}@media (max-width:1100px){.col-grid{grid-template-columns:1fr}}.admin-layout .panel{border:1px solid var(--border);background:#ffffff05;border-radius:14px;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-head h3{letter-spacing:.02em;font-size:13px;font-weight:600}.panel-head .meta{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-3);font-size:10px}.panel-body{padding:8px 6px}.panel-body.padded{padding:18px}.feed-row{border-radius:9px;align-items:flex-start;gap:12px;padding:10px 14px;transition:background .15s;display:flex}.feed-row:hover{background:#ffffff06}.feed-row .timeline-marker{flex-shrink:0;justify-content:center;width:22px;padding-top:2px;display:flex;position:relative}.feed-row .dot{background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #a78bfa26}.feed-row .dot.green{background:#4ade80;box-shadow:0 0 0 3px #4ade8026}.feed-row .dot.gray{background:var(--text-4);box-shadow:0 0 0 3px #ffffff0a}.feed-row .body{flex:1;min-width:0}.feed-row .top{justify-content:space-between;gap:8px;margin-bottom:2px;display:flex}.feed-row .who{color:var(--text);font-size:13px;font-weight:500}.feed-row .when{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-4);flex-shrink:0;font-size:10px}.feed-row .what{color:var(--text-2);font-size:12.5px}.feed-row .what em{color:var(--accent);font-style:normal}.quick-tiles{grid-template-columns:repeat(2,1fr);gap:10px;padding:14px 18px;display:grid}.qt{border:1px solid var(--border);cursor:pointer;color:inherit;background:#ffffff04;border-radius:11px;flex-direction:column;gap:6px;padding:14px;text-decoration:none;transition:all .15s;display:flex}.qt:hover{background:#a78bfa0a;border-color:#a78bfa4d;transform:translateY(-1px)}.qt .icon{color:var(--accent);width:18px;height:18px}.qt .label{color:var(--text);font-size:12.5px;font-weight:500}.qt .desc{color:var(--text-3);font-size:11px}.admin-layout .list{flex-direction:column;gap:4px;padding:6px;display:flex}.list-row{border-radius:11px;grid-template-columns:36px 1fr auto auto auto;align-items:center;gap:14px;padding:14px;transition:background .15s;display:grid}.list-row:hover{background:#ffffff06}.list-row .thumb{width:36px;height:36px;font-family:var(--font-mono);color:var(--accent);background:linear-gradient(135deg,#a78bfa40,#8b5cf61a);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;overflow:hidden}.list-row .thumb img{object-fit:cover;width:100%;height:100%}.list-row .main{min-width:0}.list-row .name{color:var(--text);align-items:center;gap:8px;margin-bottom:2px;font-size:14px;font-weight:500;display:flex}.list-row .desc{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.list-row .stack{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:220px;display:flex}.list-row .stack span{font-family:var(--font-mono);color:var(--text-2);background:#ffffff0a;border-radius:999px;padding:2px 7px;font-size:10px}.list-row .updated{font-family:var(--font-mono);color:var(--text-4);letter-spacing:.06em;font-size:10px}.admin-layout .pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-3);border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:9.5px;display:inline-flex}.admin-layout .pill .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.admin-layout .pill.live{color:#4ade80;border-color:#4ade8033}.admin-layout .pill.live .dot{box-shadow:0 0 6px}.admin-layout .pill.featured{color:var(--accent);background:#a78bfa0d;border-color:#a78bfa40}.admin-layout .pill.draft{color:var(--text-3)}.admin-layout .pill.unread{color:var(--accent);background:#a78bfa14;border-color:#a78bfa40}.row-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.list-row:hover .row-actions{opacity:1}.icon-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text-3);cursor:pointer;background:#0003;border-radius:7px;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn svg{width:14px;height:14px}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.icon-btn.danger:hover{color:#f87171;border-color:#f8717159}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.filter-bar .chips{flex-wrap:wrap;gap:6px;display:flex}.admin-layout .chip{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-3);cursor:pointer;background:0 0;border-radius:999px;padding:5px 11px;font-size:10.5px;transition:all .15s}.admin-layout .chip:hover{color:var(--text);border-color:var(--border-strong)}.admin-layout .chip.active{color:var(--accent);background:#a78bfa0f;border-color:#a78bfa66}.filter-spacer{flex:1}.view-toggle{border:1px solid var(--border);border-radius:7px;display:flex;overflow:hidden}.view-toggle button{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-3);cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:5px 9px;font-size:10px}.view-toggle button.active{color:var(--accent);background:#a78bfa0f}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:14px;display:grid}.admin-grid-card{border:1px solid var(--border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:10px;min-height:160px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.admin-grid-card:hover{border-color:#a78bfa4d;transform:translateY(-1px)}.admin-grid-card .name{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.admin-grid-card .desc{color:var(--text-3);flex:1;font-size:12.5px}.admin-grid-card .stack{flex-wrap:wrap;gap:4px;display:flex}.skill-group{border-bottom:1px solid var(--border);padding:16px 18px}.skill-group:last-child{border-bottom:none}.skill-group-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.skill-group-title{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-2);text-transform:uppercase;align-items:center;gap:10px;font-size:11px;display:flex}.skill-group-title .count{color:var(--accent);letter-spacing:.04em;background:#a78bfa1a;border-radius:999px;padding:1px 6px;font-size:9px}.skill-chips{flex-wrap:wrap;gap:6px;display:flex}.skill-chip{border:1px solid var(--border-strong);color:var(--text);background:#ffffff06;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-size:12px;transition:all .15s;display:inline-flex}.skill-chip:hover{background:#a78bfa0d;border-color:#a78bfa4d}.skill-chip .x{width:14px;height:14px;color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.skill-chip .x:hover{color:#f87171}.tl-list{padding:22px 28px;position:relative}.tl-list:before{content:"";background:linear-gradient(180deg, var(--border-strong), transparent);width:1px;position:absolute;top:30px;bottom:22px;left:39px}.tl-row{grid-template-columns:1fr auto;align-items:start;gap:14px;padding-bottom:18px;padding-left:28px;display:grid;position:relative}.tl-row:last-child{padding-bottom:0}.tl-row .tl-dot{border:2px solid var(--accent);background:#0c0b12;border-radius:50%;width:13px;height:13px;position:absolute;top:8px;left:5px;box-shadow:0 0 0 4px #a78bfa14}.tl-row .tl-period{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);margin-bottom:4px;font-size:10px}.tl-row h4{letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:2px;font-size:14px;font-weight:500;display:flex}.tl-row .sub{font-family:var(--font-serif);color:var(--text-3);margin-bottom:4px;font-size:13px;font-style:italic}.tl-row .desc{color:var(--text-2);max-width:56ch;font-size:12.5px}.tl-row .tl-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.tl-row:hover .tl-actions{opacity:1}.tl-pill{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 7px;font-size:8.5px;display:inline-flex}.tl-pill.exp{color:var(--accent);background:#a78bfa0d;border-color:#a78bfa40}.inbox-layout{grid-template-columns:340px 1fr;height:100%;min-height:540px;display:grid}@media (max-width:1000px){.inbox-layout{grid-template-columns:1fr}}.inbox-list{border-right:1px solid var(--border);flex-direction:column;display:flex}.inbox-search{border-bottom:1px solid var(--border);padding:12px}.inbox-search-inner{border:1px solid var(--border);color:var(--text-3);background:#ffffff08;border-radius:8px;align-items:center;gap:8px;padding:7px 11px;font-size:12px;display:flex}.inbox-search-inner input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:12px}.inbox-items{flex:1;overflow-y:auto}.inbox-item{border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;flex-direction:column;gap:4px;padding:14px 16px;font-family:inherit;transition:background .15s;display:flex;position:relative}.inbox-item:hover{background:#ffffff06}.inbox-item.active{background:#a78bfa0f}.inbox-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:12px;bottom:12px;left:0}.inbox-item .ii-top{justify-content:space-between;align-items:baseline;display:flex}.inbox-item .ii-from{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.inbox-item.unread .ii-from:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;display:inline-block}.inbox-item .ii-when{font-family:var(--font-mono);color:var(--text-4);font-size:10px}.inbox-item .ii-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.msg-detail{flex-direction:column;padding:22px 28px;display:flex;overflow-y:auto}.msg-detail .from-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:18px;padding-bottom:18px;display:flex}.msg-detail .avatar{color:#fff;background:linear-gradient(135deg,#6d28d9,#a78bfa);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:600;display:flex}.msg-detail .from-info{flex:1;min-width:0}.msg-detail .from-name{font-size:16px;font-weight:600}.msg-detail .from-email{font-family:var(--font-mono);color:var(--text-3);font-size:12px}.msg-detail .from-when{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.06em;font-size:11px}.msg-detail .subj{letter-spacing:-.01em;margin-bottom:16px;font-size:17px;font-weight:600}.msg-body{color:var(--text);white-space:pre-wrap;text-wrap:pretty;max-width:64ch;margin-bottom:28px;font-size:14px;line-height:1.7}.msg-actions{flex-wrap:wrap;gap:8px;display:flex}.empty-state{text-align:center;height:100%;color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.empty-state .glyph{width:64px;height:64px;color:var(--accent);background:radial-gradient(circle,#a78bfa26,#0000 70%);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.empty-state .glyph svg{width:28px;height:28px}.empty-state h4{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.empty-state p{color:var(--text-3);max-width:36ch;font-size:13px}.form-shell{border:1px solid var(--border);background:#ffffff05;border-radius:14px;max-width:880px;padding:24px 26px}.form-grid{grid-template-columns:1fr 1fr;gap:22px 20px;display:grid}.form-grid .full{grid-column:1/-1}.admin-layout .form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-3);text-transform:uppercase;align-items:center;gap:6px;font-size:10px;display:flex}.form-label .req{color:var(--accent)}.form-input,.form-textarea,.form-select{color:var(--text);border:none;border-bottom:1px solid var(--border-strong);background:0 0;outline:none;width:100%;padding:6px 0 8px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-4)}.form-textarea{resize:vertical;min-height:70px;font-family:inherit;line-height:1.5}.form-help{color:var(--text-4);font-size:11px}.form-error{color:#f87171;font-size:11px;font-family:var(--font-mono);letter-spacing:.04em}.form-alert{color:#fca5a5;background:#f871710f;border:1px solid #f871714d;border-radius:9px;margin-bottom:14px;padding:10px 14px;font-size:12.5px}.tag-input{border-bottom:1px solid var(--border-strong);flex-wrap:wrap;gap:6px;min-height:38px;padding:8px 0;display:flex}.tag-pill{color:var(--accent);font-family:var(--font-mono);letter-spacing:.04em;background:#a78bfa1a;border:1px solid #a78bfa40;border-radius:999px;align-items:center;gap:5px;padding:4px 8px 4px 10px;font-size:10.5px;display:inline-flex}.tag-pill .x{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;padding:0}.tag-pill .x:hover{opacity:1}.tag-input input{min-width:100px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.form-row{align-items:center;gap:12px;display:flex}.admin-layout .toggle{border:1px solid var(--border);cursor:pointer;background:#ffffff0f;border-radius:999px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .2s;position:relative}.admin-layout .toggle:after{content:"";background:var(--text-2);border-radius:50%;width:14px;height:14px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.admin-layout .toggle.on{background:#a78bfa40;border-color:#a78bfa66}.admin-layout .toggle.on:after{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);transform:translate(16px)}.dropzone{border:1px dashed var(--border-strong);cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border-radius:11px;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;transition:all .15s;display:flex}.dropzone.dragging{border-color:var(--accent);background:#a78bfa0f}.dropzone:hover{background:#a78bfa08;border-color:#a78bfa66}.dropzone .icon{color:var(--text-3)}.dropzone .lab{color:var(--text-2);font-size:13px}.dropzone .hint{color:var(--text-4);font-size:11px}.dropzone .preview{object-fit:cover;border-radius:6px;width:64px;height:36px}.form-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:22px;display:flex}.form-foot .left{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-4);text-transform:uppercase;font-size:10px}.form-foot .right{gap:8px;display:flex}.back-link{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-3);align-items:center;gap:6px;margin-bottom:14px;font-size:11px;text-decoration:none;display:inline-flex}.back-link svg{width:14px;height:14px}.back-link:hover{color:var(--accent)}.admin-layout .page::-webkit-scrollbar{width:8px}.inbox-items::-webkit-scrollbar{width:8px}.msg-detail::-webkit-scrollbar{width:8px}.admin-layout .page::-webkit-scrollbar-track{background:0 0}.inbox-items::-webkit-scrollbar-track{background:0 0}.msg-detail::-webkit-scrollbar-track{background:0 0}.admin-layout .page::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:4px}.inbox-items::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:4px}.msg-detail::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:4px}.admin-layout .page::-webkit-scrollbar-thumb:hover{background:#ffffff1a}.inbox-items::-webkit-scrollbar-thumb:hover{background:#ffffff1a}.msg-detail::-webkit-scrollbar-thumb:hover{background:#ffffff1a}
