:root{color-scheme:dark;--deep: #062a33;--deep-2: #0a3b47;--foam: #3dd9c1;--amber: #ffb35c;--peri: #8b7cff;--coral: #ff8a8a;--text: #f2fbfa;--text-2: rgba(242, 251, 250, .76);--text-3: rgba(242, 251, 250, .64);--line: rgba(255, 255, 255, .16);--line-strong: rgba(255, 255, 255, .32);--glass-a: rgba(255, 255, 255, .16);--glass-b: rgba(255, 255, 255, .05);--shadow: 0 18px 40px -16px rgba(0, 12, 16, .65);--r-pill: 999px;--r-xl: 36px;--r-lg: 28px;--r-md: 20px;--r-sm: 14px;--blur: 24px;--font-display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--maxw: 1120px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--deep);color:var(--text);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:650;line-height:1.1;letter-spacing:-.02em}p{margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px}.skip:focus{left:16px;z-index:100;padding:10px 18px;border-radius:var(--r-pill);background:#fff;color:#03262b;text-decoration:none}.muted{color:var(--text-3)}.error-text{color:var(--coral);font-size:.95rem}.ok-text{color:var(--foam);font-size:.95rem}.status{padding:32px 0;color:var(--text-2)}.empty{padding:36px;text-align:center;color:var(--text-2);border-radius:var(--r-xl)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#0b4552 0%,var(--deep) 55%,#041c23 100%)}.blob{position:absolute;border-radius:50%;will-change:transform}.blob.b1{width:58vmax;height:58vmax;left:-18vmax;top:-16vmax;background:radial-gradient(circle at 40% 40%,var(--foam),transparent 66%);opacity:.72;animation:drift1 42s ease-in-out infinite alternate}.blob.b2{width:48vmax;height:48vmax;right:-16vmax;top:16vh;background:radial-gradient(circle at 50% 50%,var(--peri),transparent 66%);opacity:.58;animation:drift2 52s ease-in-out infinite alternate}.blob.b3{width:44vmax;height:44vmax;left:16vw;bottom:-22vmax;background:radial-gradient(circle at 50% 50%,var(--amber),transparent 66%);opacity:.46;animation:drift3 58s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate3d(9vmax,7vmax,0) scale(1.08)}}@keyframes drift2{to{transform:translate3d(-8vmax,6vmax,0) scale(.94)}}@keyframes drift3{to{transform:translate3d(7vmax,-6vmax,0) scale(1.1)}}.glass{background:radial-gradient(120% 90% at 0% 0%,#ffffff38,#fff0 46%),linear-gradient(145deg,var(--glass-a),var(--glass-b));-webkit-backdrop-filter:blur(var(--blur)) saturate(1.7);backdrop-filter:blur(var(--blur)) saturate(1.7);border:1px solid var(--line);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #ffffff14,inset 1px 0 #ffffff1a,var(--shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:#0a3b47e6}}@media (prefers-reduced-transparency: reduce){.glass{background:#0a3b47f2;-webkit-backdrop-filter:none;backdrop-filter:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border:1px solid transparent;border-radius:var(--r-pill);color:var(--text);font:600 .95rem/1 var(--font-body);text-decoration:none;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:9px 16px;font-size:.85rem}.btn-primary{background:linear-gradient(180deg,#74f2dd,var(--foam));color:#03262b;box-shadow:inset 0 1px #ffffffbf,0 10px 26px -10px #3dd9c1d9}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#8af6e4,#52e4cd)}.btn-glass{background:linear-gradient(145deg,#ffffff38,#ffffff12);border-color:var(--line-strong);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);box-shadow:inset 0 1px #ffffff80}.btn-glass:hover:not(:disabled){background:linear-gradient(145deg,#ffffff4d,#ffffff1f)}.btn-danger{background:#ff8a8a24;border-color:#ff8a8a80;color:#ffd3d3}.btn-danger:hover:not(:disabled){background:#ff8a8a42}.chip{display:inline-flex;align-items:center;padding:5px 13px;border:1px solid var(--line);border-radius:var(--r-pill);background:#ffffff1a;color:var(--text-2);font:500 .82rem/1.3 var(--font-body)}button.chip{cursor:pointer}button.chip:hover{background:#ffffff2e}.chip[aria-pressed=true]{background:var(--foam);border-color:transparent;color:#03262b}.chip-ok{background:#3dd9c133;border-color:#3dd9c199;color:#b8fff2}.chip-draft{background:#ffb35c29;border-color:#ffb35c8c;color:#ffdcae}.chips,.filters{display:flex;flex-wrap:wrap;gap:8px}.filters{margin-bottom:28px}.field{display:grid;gap:7px;min-width:0}.label{font-weight:600;font-size:.92rem}.hint{color:var(--text-3);font-size:.84rem}.input,.textarea,.select{width:100%;padding:13px 16px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#031e2466;color:var(--text);font:inherit;font-size:1rem}.textarea{resize:vertical;min-height:96px}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--foam);box-shadow:0 0 0 4px #3dd9c147}.form-grid{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span-2{grid-column:1 / -1}.form-stack{display:grid;gap:24px}.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.check{display:flex;align-items:center;gap:10px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--foam)}.status-group{border:0;margin:0;padding:0;min-width:0}.status-group legend{padding:0;margin-bottom:8px}.nav-wrap{position:sticky;top:12px;z-index:50;display:flex;justify-content:center;padding:14px 16px 0;transition:translate .5s var(--ease)}html[data-nav=hide]:not([data-menu=open]) .nav-wrap{translate:0 -170%}.nav{position:relative;display:flex;align-items:center;gap:8px;max-width:100%;padding:6px;border-radius:var(--r-pill);animation:navDrop .9s var(--ease) both;transition:padding .35s var(--ease),box-shadow .35s,border-color .35s}@keyframes navDrop{0%{opacity:0;translate:0 -28px;scale:.96}}html[data-scrolled=true] .nav{padding:4px;border-color:var(--line-strong);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #ffffff14,0 16px 36px -10px #000c10d9}.nav-brand{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 16px;font:700 1.25rem/1 var(--font-display);letter-spacing:-.03em;text-decoration:none;transition:font-size .35s var(--ease)}html[data-scrolled=true] .nav-brand{font-size:1.1rem}.nav-drop{width:16px;height:16px;border-radius:58% 42% 55% 45%/45% 55%;background:linear-gradient(135deg,var(--foam),var(--amber));box-shadow:inset 0 1px 1px #ffffffb3,0 0 14px #3dd9c18c;animation:morph 7s ease-in-out infinite}@keyframes morph{0%,to{border-radius:58% 42% 55% 45%/45% 55%;rotate:0deg}50%{border-radius:42% 58% 40% 60%/58% 42%;rotate:70deg}}.nav-links{position:relative;display:flex;gap:2px;list-style:none}.nav-links>li:not(.nav-glider){animation:itemIn .6s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms + .35s)}@keyframes itemIn{0%{opacity:0}}.nav-glider{position:absolute;left:0;top:0;z-index:0;width:0;height:0;border-radius:var(--r-pill);background:linear-gradient(145deg,#ffffff52,#ffffff1a);box-shadow:inset 0 1px #ffffff8c,0 6px 16px -6px #000c1099;opacity:0;pointer-events:none;transition:transform .55s cubic-bezier(.34,1.45,.5,1),width .55s cubic-bezier(.34,1.45,.5,1),height .55s cubic-bezier(.34,1.45,.5,1),opacity .3s}.nav-link{position:relative;z-index:1;display:block;padding:10px 16px;border-radius:var(--r-pill);color:var(--text-2);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .25s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:#ffffff1f;color:var(--text);cursor:pointer;transition:background .25s}.nav-toggle:hover{background:#fff3}.burger{position:relative;display:block;width:18px;height:14px}.burger i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:top .4s var(--ease),transform .4s var(--ease),opacity .25s}.burger i:nth-child(1){top:0}.burger i:nth-child(2){top:6px}.burger i:nth-child(3){top:12px}.nav.is-open .burger i:nth-child(1){top:6px;transform:rotate(45deg)}.nav.is-open .burger i:nth-child(2){opacity:0;transform:scaleX(0)}.nav.is-open .burger i:nth-child(3){top:6px;transform:rotate(-45deg)}.nav-scrim{display:none}@media (max-width: 760px){.nav-wrap{padding:10px 12px 0}.nav{width:100%;justify-content:space-between}.nav-toggle{display:inline-flex}.nav-glider{display:none}.nav-links{position:absolute;left:0;right:0;top:calc(100% + 10px);flex-direction:column;gap:2px;padding:10px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:#062a33f5;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transform-origin:top center;scale:.96;translate:0 -10px;transition:opacity .3s var(--ease),translate .45s var(--ease),scale .45s var(--ease),visibility 0s linear .45s}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;scale:1;translate:0 0;transition-delay:0s}.nav-links>li:not(.nav-glider){animation:none;opacity:0;translate:-14px 0;transition:opacity .4s var(--ease),translate .5s var(--ease)}.nav-links.open>li:not(.nav-glider){opacity:1;translate:0 0;transition-delay:calc(var(--i, 0) * 55ms + .12s)}.nav-link{padding:14px 18px;font-size:1.05rem}.nav-link.active{background:#ffffff2e;box-shadow:inset 0 1px #fff6}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;padding:0;border:0;background:#0212168c;opacity:0;pointer-events:none;transition:opacity .35s}.nav-scrim.show{opacity:1;pointer-events:auto}}.page{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,32px)}.page-head{padding:clamp(40px,7vw,88px) 0 32px}.page-head h1{font-size:clamp(2.6rem,8vw,5.5rem);font-weight:700;letter-spacing:-.035em}.page-head>p{max-width:56ch;margin-top:16px;color:var(--text-2);font-size:1.15rem}.page-head.narrow,.narrow{max-width:780px;margin-left:auto;margin-right:auto}.page-head .hero-cta{margin-top:24px}.section{margin-top:clamp(56px,9vw,112px)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.section-head h2{font-size:clamp(1.75rem,4vw,2.5rem)}.link-quiet{white-space:nowrap;color:var(--foam);font-weight:600;text-decoration:none}.link-quiet:hover{text-decoration:underline;text-underline-offset:4px}.hero{padding:clamp(48px,10vw,112px) 0 0}.wordmark-wrap{position:relative}.wordmark{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(4.5rem,26vw,13.5rem);line-height:.92;letter-spacing:-.045em}.wordmark-text{background:linear-gradient(100deg,var(--text) 8%,var(--foam) 52%,var(--amber) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}.lens{position:absolute;left:0;top:0;width:176px;height:176px;border-radius:50%;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .3s ease;will-change:transform;background:radial-gradient(circle at 30% 22%,#ffffff57,#ffffff0f 55%,#062a3347);-webkit-backdrop-filter:blur(10px) saturate(1.8) brightness(1.1);backdrop-filter:blur(10px) saturate(1.8) brightness(1.1);border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 2px 6px #ffffff80,inset 0 -12px 26px #3dd9c147,0 22px 40px -12px #000a0e99}.lens.on{opacity:1}.lens:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.55),transparent 32%);mix-blend-mode:screen;pointer-events:none}.lens .wordmark{position:absolute;left:0;top:0;will-change:transform}@media (pointer: coarse){.lens{display:none}}.hero-copy>*{opacity:0}.hero-copy.in>*{animation:rise .95s var(--ease) both;animation-delay:calc(var(--i, 0) * .13s + .25s)}@keyframes rise{0%{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}.hero-lead{max-width:24ch;margin-top:32px;font:500 clamp(1.5rem,3.4vw,2.4rem) / 1.18 var(--font-display);letter-spacing:-.02em}.hero-sub{max-width:56ch;margin-top:16px;color:var(--text-2)}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.bento{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.bento>:first-child{grid-row:span 2}.grid-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.grid-projects>.big{grid-column:span 2}.pcard-wrap{display:flex;flex-direction:column;min-width:0}.pcard{position:relative;display:flex;flex:1;flex-direction:column;overflow:hidden;border-radius:var(--r-lg);text-decoration:none;transition:transform .3s var(--ease),border-color .25s,box-shadow .35s}.pcard:hover{border-color:var(--line-strong);box-shadow:inset 0 1px #ffffff8c,0 30px 54px -18px #000c10d9,0 0 0 1px #3dd9c147}.pcard-mediabox{position:relative;flex:0 0 auto;overflow:hidden}.pcard-media{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:scale .9s var(--ease)}.pcard:hover .pcard-media{scale:1.07}.pcard-open{position:absolute;top:16px;right:16px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:#062a3399;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.82rem;font-weight:600;opacity:0;translate:0 -8px;transition:opacity .3s var(--ease),translate .4s var(--ease)}.pcard:hover .pcard-open,.pcard:focus-visible .pcard-open{opacity:1;translate:0 0}.pcard-body{display:grid;gap:10px;padding:20px 24px 26px}.pcard h3{font-size:1.5rem}.pcard p{color:var(--text-2);font-size:.98rem}.pcard-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.bento>.big .pcard-mediabox{flex:1 1 0;min-height:280px}.bento>.big .pcard-media{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;aspect-ratio:auto}.grid-projects>.big .pcard-media{aspect-ratio:21 / 9}@media (max-width: 820px){.bento{grid-template-columns:1fr}.bento>:first-child{grid-row:auto}.grid-projects>.big{grid-column:auto}.bento>.big .pcard-mediabox{flex:none;min-height:0}.bento>.big .pcard-media{position:static;height:auto;aspect-ratio:16 / 10}.grid-projects>.big .pcard-media{aspect-ratio:16 / 10}}.toolbar{display:grid;gap:16px;margin-bottom:28px}.toolbar .filters{margin-bottom:0}.search{max-width:420px}.plist{padding:8px 12px;border-radius:var(--r-xl)}.prow{display:grid;grid-template-columns:150px 1fr;gap:8px 28px;padding:22px 18px;border-radius:var(--r-lg);text-decoration:none;transition:background .2s}.prow+.prow{border-top:1px solid var(--line);border-top-left-radius:0;border-top-right-radius:0}.prow:hover{background:#ffffff14}.prow-date{padding-top:.4rem;color:var(--text-3);font-size:.9rem}.prow h3{font-size:1.4rem}.prow p{margin-top:6px;color:var(--text-2)}@media (max-width: 640px){.prow{grid-template-columns:1fr}}.masonry{columns:3 260px;column-gap:16px}.masonry-item{display:block;width:100%;margin:0 0 16px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff0f;cursor:zoom-in;break-inside:avoid}.masonry-item img{width:100%;height:auto;transition:filter .25s}.masonry-item:hover img{filter:brightness(1.1) saturate(1.1)}.strip{display:flex;gap:16px;padding-bottom:12px;overflow-x:auto;scroll-snap-type:x proximity}.strip-item{flex:0 0 clamp(200px,28vw,300px);aspect-ratio:4 / 5;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);scroll-snap-align:start}.strip-item img{width:100%;height:100%;object-fit:cover}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;background:#021216d1;animation:fadeIn .3s var(--ease)}@keyframes fadeIn{0%{opacity:0}}.lightbox-fig{position:relative;display:grid;gap:10px;max-width:min(1100px,100%);max-height:100%;margin:0;padding:12px;border-radius:var(--r-xl);animation:lbIn .35s var(--ease)}@keyframes lbIn{0%{opacity:0;scale:.94;translate:0 14px}}.lightbox-fig img{width:auto;max-height:72vh;margin:0 auto;border-radius:var(--r-lg)}.lightbox-fig figcaption{display:grid;gap:2px;padding:4px 12px 8px;color:var(--text-2)}.lightbox-fig figcaption strong{color:var(--text)}.lightbox-close{position:absolute;top:-14px;right:-14px;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:#062a33e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);box-shadow:0 10px 24px -8px #000c10b3;cursor:pointer;transition:background .2s,rotate .35s var(--ease),scale .2s}.lightbox-close svg{width:18px;height:18px}.lightbox-close:hover{background:#ff8a8a3d;border-color:#ff8a8a99;rotate:90deg}.lightbox-close:active{scale:.92}.lightbox-nav{position:fixed;top:50%;z-index:2;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:#062a33a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);cursor:pointer;translate:0 -50%;transition:background .2s,translate .2s var(--ease)}.lightbox-nav svg{width:20px;height:20px}.lightbox-nav:hover{background:#ffffff2e}.lightbox-prev{left:clamp(10px,3vw,28px)}.lightbox-prev:hover{translate:-3px -50%}.lightbox-next{right:clamp(10px,3vw,28px)}.lightbox-next:hover{translate:3px -50%}.lightbox-count{position:fixed;left:50%;bottom:20px;translate:-50% 0;padding:6px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:#062a33a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-2);font-size:.85rem}@media (max-width: 640px){.lightbox{padding:16px}.lightbox-close{top:-10px;right:-10px;width:36px;height:36px}.lightbox-nav{width:40px;height:40px}}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:20px;color:var(--text-2)}.detail-media{margin-top:8px;margin-bottom:28px;overflow:hidden;border-radius:var(--r-xl)}.detail-media img,.detail-fallback{display:block;width:100%;aspect-ratio:16 / 8;object-fit:cover}.detail-media.narrow img{aspect-ratio:16 / 9}.article{max-width:780px;margin:0 auto;padding:clamp(24px,5vw,56px);border-radius:var(--r-xl)}.back{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;max-width:780px;margin:28px auto 0}.prose{font-size:1.075rem;line-height:1.8}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2{margin:2em 0 .6em;font-size:1.9rem}.prose h3{margin:1.7em 0 .5em;font-size:1.4rem}.prose h4{margin:1.5em 0 .4em;font-size:1.15rem}.prose p{margin:0 0 1.1em}.prose a{color:var(--foam);text-underline-offset:3px}.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.4em}.prose li{margin:.3em 0}.prose blockquote{margin:1.4em 0;padding:16px 22px;border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff14}.prose pre{margin:1.2em 0;padding:18px 20px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:#02141999;font:.9rem/1.6 var(--font-mono)}.prose code{padding:.15em .4em;border-radius:6px;background:#ffffff1a;font-family:var(--font-mono);font-size:.9em}.prose pre code{padding:0;background:none}.prose img{margin:1.4em auto;border-radius:var(--r-md)}.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}.prose .ql-align-justify{text-align:justify}.prose .ql-indent-1{padding-left:3em}.prose .ql-indent-2{padding-left:6em}.prose .ql-indent-3{padding-left:9em}.about-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.about-card{position:sticky;top:96px;display:grid;gap:12px;padding:24px;border-radius:var(--r-xl)}.about-card h2{font-size:1.8rem}.avatar{width:100%;aspect-ratio:1;border-radius:var(--r-lg);object-fit:cover}.avatar-fallback{display:grid;place-items:center;font:700 5rem/1 var(--font-display);color:#ffffffe6}.about-main{display:grid;gap:24px}.panel{padding:clamp(20px,3.4vw,34px);border-radius:var(--r-xl)}.panel>h2{margin-bottom:18px;font-size:1.6rem}.social-list{display:grid;gap:6px;list-style:none}.social-list a{color:var(--foam);text-underline-offset:3px}.timeline{list-style:none}.timeline li{position:relative;padding:0 0 28px 28px;border-left:2px solid var(--line)}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-7px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--foam);box-shadow:0 0 0 4px #3dd9c138}.timeline h3{font-size:1.2rem}@media (max-width: 860px){.about-grid{grid-template-columns:1fr}.about-card{position:static}.avatar{max-width:260px}}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start}.contact-info{display:grid;gap:24px;padding:clamp(22px,4vw,36px);border-radius:var(--r-xl)}.contact-info .lead{font:500 1.5rem/1.25 var(--font-display)}.contact-info h2{margin-bottom:6px;font-size:1.05rem}.contact-info a{color:var(--foam);text-underline-offset:3px}.contact-form{display:grid;gap:24px;padding:clamp(22px,4vw,36px);border-radius:var(--r-xl)}@media (max-width: 860px){.contact-grid{grid-template-columns:1fr}}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}}.cta{display:grid;justify-items:start;gap:18px;padding:clamp(32px,6vw,72px);border-radius:var(--r-xl)}.cta h2{max-width:16ch;font-size:clamp(2rem,5vw,3.6rem)}.cta p{color:var(--text-2)}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:var(--maxw);margin:96px auto 0;padding:28px clamp(16px,4vw,32px) 44px;border-top:1px solid var(--line);color:var(--text-3);font-size:.92rem}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none}.footer-links a{text-underline-offset:3px}.admin-loading{display:grid;min-height:100vh;place-items:center;color:var(--text-2)}.auth{display:grid;min-height:100vh;place-items:center;padding:20px}.auth-card{display:grid;gap:18px;width:min(440px,100%);padding:clamp(24px,6vw,40px);border-radius:var(--r-xl)}.auth-card h1{font-size:2.2rem}.auth-card p{color:var(--text-2)}.auth-form{display:grid;gap:16px}.input.otp{padding:14px 10px;font:600 1.9rem/1 var(--font-mono);letter-spacing:.5em;text-align:center;text-indent:.5em}.admin{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start;max-width:1320px;min-height:100vh;margin:0 auto;padding:20px}.admin-side{position:sticky;top:20px;display:grid;gap:6px;padding:18px;border-radius:var(--r-xl)}.admin-brand{padding:6px 12px 16px;font:700 1.3rem/1 var(--font-display);letter-spacing:-.03em}.admin-nav,.admin-side-foot{display:grid;gap:4px}.admin-side-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.admin-link{display:block;width:100%;padding:11px 14px;border:0;border-radius:var(--r-md);background:none;color:var(--text-2);font:500 .98rem/1.3 var(--font-body);text-align:left;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}.admin-link:hover{background:#ffffff1a;color:var(--text)}.admin-link.active{background:#fff3;color:var(--text);box-shadow:inset 0 1px #ffffff73}.admin-main{display:grid;gap:20px;align-content:start;min-width:0}.admin-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.admin-head h1{font-size:clamp(1.9rem,4vw,2.7rem)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.stat{display:grid;gap:6px;padding:22px 24px;border-radius:var(--r-lg);text-decoration:none}.stat strong{font:700 2.8rem/1 var(--font-display)}.stat span{color:var(--text-2);font-size:.95rem}.rows{display:grid}.row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row-main{display:grid;gap:4px;min-width:0}.row-main strong,.row-main .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.86rem}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.thumb{width:56px;height:56px;border-radius:14px;background:#ffffff1a;object-fit:cover}@media (max-width: 640px){.row{grid-template-columns:56px minmax(0,1fr)}.row-actions{grid-column:1 / -1;justify-content:flex-start}}.msg-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.msg-row:last-child{border-bottom:0}.dot{width:10px;height:10px;border:1px solid var(--line-strong);border-radius:50%}.dot.unread{border-color:var(--amber);background:var(--amber);box-shadow:0 0 0 4px #ffb35c38}.msg{border-bottom:1px solid var(--line)}.msg:last-child{border-bottom:0}.msg summary{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;cursor:pointer;list-style:none}.msg summary::-webkit-details-marker{display:none}.msg-body{display:grid;gap:12px;padding:0 0 18px 26px}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere}.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.admin-photo{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff0f}.admin-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.admin-photo figcaption{display:grid;gap:10px;padding:12px 14px 14px}.admin-photo .row-actions{justify-content:flex-start}.image-field{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.image-preview{width:160px;height:100px;border:1px solid var(--line-strong);border-radius:var(--r-md);object-fit:cover}.empty-img{background:#ffffff0f}.image-actions{display:flex;flex-wrap:wrap;gap:8px}.repeater{display:grid;gap:12px;justify-items:start}.repeater-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:10px;width:100%}.repeater-card{display:grid;gap:10px;justify-items:start;width:100%;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff0d}.repeater-card .form-grid{width:100%;gap:10px}@media (max-width: 640px){.repeater-row{grid-template-columns:1fr}}.toasts{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:10px}.toast{padding:13px 20px;border-radius:var(--r-md);font-weight:500}.toast.ok{border-color:#3dd9c1b3}.toast.err{border-color:#ff8a8acc}@media (max-width: 900px){.admin{grid-template-columns:1fr;padding:14px}.admin-side{position:static;grid-template-columns:1fr}.admin-nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:2px}.admin-nav .admin-link{width:auto;white-space:nowrap}.admin-side-foot{display:flex;margin-top:6px;padding-top:10px}.admin-side-foot .admin-link{width:auto}}.editor .ql-toolbar.ql-snow{border:1px solid var(--line-strong);border-radius:var(--r-sm) var(--r-sm) 0 0;background:#ffffff14;font-family:var(--font-body)}.editor .ql-container.ql-snow{border:1px solid var(--line-strong);border-top:0;border-radius:0 0 var(--r-sm) var(--r-sm);background:#031e2466;color:var(--text);font-family:var(--font-body);font-size:1.02rem}.editor .ql-editor{min-height:340px;padding:18px 20px;line-height:1.75}.editor .ql-editor.ql-blank:before{color:var(--text-3);font-style:normal}.editor .ql-editor a{color:var(--foam)}.editor .ql-editor img{border-radius:var(--r-sm)}.editor .ql-snow .ql-stroke{stroke:var(--text-2)}.editor .ql-snow .ql-fill,.editor .ql-snow .ql-stroke.ql-fill{fill:var(--text-2)}.editor .ql-snow .ql-picker,.editor .ql-snow .ql-picker-label{color:var(--text-2)}.editor .ql-snow.ql-toolbar button:hover .ql-stroke,.editor .ql-snow.ql-toolbar button.ql-active .ql-stroke,.editor .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.editor .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke{stroke:var(--foam)}.editor .ql-snow.ql-toolbar button:hover .ql-fill,.editor .ql-snow.ql-toolbar button.ql-active .ql-fill{fill:var(--foam)}.editor .ql-snow.ql-toolbar .ql-picker-label:hover,.editor .ql-snow.ql-toolbar .ql-picker-label.ql-active{color:var(--foam)}.editor .ql-snow .ql-picker-options{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--deep-2);color:var(--text)}.editor .ql-snow .ql-tooltip{z-index:5;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--deep-2);color:var(--text);box-shadow:var(--shadow)}.editor .ql-snow .ql-tooltip input[type=text]{border:1px solid var(--line-strong);border-radius:8px;background:#031e2499;color:var(--text)}.editor .ql-snow .ql-tooltip a.ql-action,.editor .ql-snow .ql-tooltip a.ql-remove{color:var(--foam)}.bw{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate3d(0,clamp(-280px,calc(var(--sy, 0) * var(--k, -.08) * 1px),280px),0);will-change:transform}.bw1{--k: -.1}.bw2{--k: -.05}.bw3{--k: -.16}.glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(460px circle at var(--cx, 72%) var(--cy, 18%),rgba(255,255,255,.1),transparent 62%)}.progress{position:fixed;top:0;left:0;right:0;z-index:60;height:3px;pointer-events:none}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--foam),var(--amber));box-shadow:0 0 12px #3dd9c1b3;transform:scaleX(0);transform-origin:0 50%}.to-top{position:fixed;right:20px;bottom:20px;z-index:55;display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;color:var(--text);cursor:pointer;opacity:0;pointer-events:none;translate:0 24px;scale:.8;transition:opacity .35s var(--ease),translate .5s var(--ease),scale .5s var(--ease)}.to-top.show{opacity:1;pointer-events:auto;translate:0 0;scale:1}.to-top:hover svg{animation:nudgeUp .6s var(--ease)}@keyframes nudgeUp{40%{translate:0 -4px}}.rv{--rv-t: opacity .9s var(--ease) var(--d, 0ms), translate .9s var(--ease) var(--d, 0ms), scale .9s var(--ease) var(--d, 0ms);opacity:0;translate:0 30px;transition:var(--rv-t)}.rv-fade{translate:none}.rv-left{translate:-38px 0}.rv-right{translate:38px 0}.rv-scale{translate:0 18px;scale:.94}.rv.in{opacity:1;translate:0 0;scale:1}.split-word{display:inline-block;margin:0 -.04em -.14em;padding:0 .04em .14em;overflow:hidden;vertical-align:top}.split-word>span{display:inline-block;translate:0 112%;animation:wordUp 1s var(--ease) forwards;animation-delay:calc(var(--i, 0) * 90ms + .1s)}@keyframes wordUp{to{translate:0 0}}.hero-scroll{translate:0 calc(var(--sy, 0) * .22px);opacity:clamp(0,calc(1 - var(--sy, 0) / 720),1);will-change:translate,opacity}.scroll-cue{display:flex;justify-content:center;margin-top:clamp(40px,7vw,72px);opacity:clamp(0,calc(1 - var(--sy, 0) / 220),1)}.scroll-cue span{position:relative;width:26px;height:42px;border:1.5px solid var(--line-strong);border-radius:14px}.scroll-cue span:after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:2px;background:var(--foam);translate:-50% 0;animation:cue 1.9s ease-in-out infinite}@keyframes cue{0%{opacity:0;translate:-50% 0}30%{opacity:1}to{opacity:0;translate:-50% 14px}}.section-tight{margin-top:clamp(24px,4vw,48px)}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 44s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{display:flex;gap:14px;padding-right:14px}@keyframes marquee{to{translate:-50% 0}}.chip-lg{padding:10px 24px;font-size:1rem;white-space:nowrap}.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-20deg);pointer-events:none;transition:left .75s var(--ease)}.btn:hover:not(:disabled):after{left:140%}.strip-item,.masonry-item,.stat{position:relative}[data-tilt]{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .3s var(--ease)}.rv[data-tilt]{transition:var(--rv-t),transform .3s var(--ease)}[data-tilt]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(440px circle at var(--mx, 50%) var(--my, 0%),rgba(255,255,255,.2),transparent 55%);opacity:0;pointer-events:none;transition:opacity .35s}[data-tilt]:hover:after{opacity:1}.about-card,.stat,.strip-item{border-radius:var(--r-lg)}.prow{position:relative;overflow:hidden}.prow.rv{transition:var(--rv-t),background-color .25s}.prow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.14),transparent 60%);opacity:0;pointer-events:none;transition:opacity .3s}.prow:hover:before{opacity:1}.prow-text{position:relative;transition:translate .4s var(--ease)}.prow:hover .prow-text{translate:6px 0}.prow h3{background:linear-gradient(currentColor,currentColor) 0 100% / 0 2px no-repeat;transition:background-size .5s var(--ease)}.prow:hover h3{background-size:100% 2px}.masonry-cap{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(180deg,transparent,rgba(2,18,22,.8));color:var(--text);font-size:.92rem;font-weight:600;text-align:left;opacity:0;translate:0 100%;transition:translate .45s var(--ease),opacity .3s}.masonry-item:hover .masonry-cap,.masonry-item:focus-visible .masonry-cap{opacity:1;translate:0 0}.strip-item img{transition:scale .9s var(--ease)}.strip-item:hover img{scale:1.08}.chip-pop.rv{transition:var(--rv-t),background-color .2s,border-color .2s,color .2s}.chip-pop:hover{border-color:#3dd9c199;background:#3dd9c138;color:var(--text)}.timeline li:before{transition:box-shadow .4s}.timeline li:hover:before{box-shadow:0 0 0 8px #3dd9c138}.form-msg.ok-text{animation:pop .6s var(--ease)}@keyframes pop{0%{opacity:0;scale:.9}}.article{min-width:0;overflow:hidden}.prose{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.prose>*{max-width:100%}.prose img{width:auto;max-width:100%;height:auto!important}.prose pre{max-width:100%;overflow-x:auto;overflow-wrap:normal;word-break:normal;-webkit-overflow-scrolling:touch}.prose a{overflow-wrap:anywhere}.prose h2,.prose h3,.prose h4{text-wrap:balance}.prose li>ul,.prose li>ol{margin-bottom:0}@media (max-width: 560px){.prose{font-size:1.02rem;line-height:1.75}.prose h2{font-size:1.55rem}.prose h3{font-size:1.25rem}.prose ul,.prose ol,.prose .ql-indent-1,.prose .ql-indent-2,.prose .ql-indent-3{padding-left:1.2em}.prose blockquote{padding:14px 16px}.detail-media img,.detail-fallback{aspect-ratio:16 / 10}}.admin-main>*{animation:rise .6s var(--ease) both}.admin-main>:nth-child(2){animation-delay:.07s}.admin-main>:nth-child(3){animation-delay:.14s}.admin-main>:nth-child(n+4){animation-delay:.2s}.admin-brand,.admin-nav .admin-link{animation:slideIn .55s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms + .1s)}@keyframes slideIn{0%{opacity:0;translate:-14px 0}}.row{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms)}.stat{animation:rise .6s var(--ease) both;animation-delay:calc(var(--i, 0) * 80ms)}.toasts{bottom:84px}.toast{animation:toastIn .5s var(--ease) both}@keyframes toastIn{0%{opacity:0;translate:24px 0;scale:.96}}.serp{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:#031e2473}.serp-url{overflow:hidden;color:var(--text-3);font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.serp-title{color:var(--foam);font:600 1.15rem/1.3 var(--font-body);overflow-wrap:anywhere}.serp-desc{color:var(--text-2);font-size:.92rem;overflow-wrap:anywhere}.serp-count{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px;color:var(--text-3);font-size:.8rem}.serp-count .over{color:var(--amber)}.accordion{display:grid;gap:10px}.acc{border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff0d;overflow:hidden}.acc>summary{display:flex;align-items:center;gap:12px;padding:14px 18px;font-weight:600;list-style:none;cursor:pointer}.acc>summary::-webkit-details-marker{display:none}.acc>summary .muted{margin-left:6px;font-size:.88rem;font-weight:400}.acc>summary:after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:45deg;transition:rotate .3s var(--ease)}.acc[open]>summary:after{rotate:-135deg}.acc-body{padding:4px 18px 18px}.acc[open] .acc-body{animation:rise .45s var(--ease) both}.input.color{height:48px;padding:4px;cursor:pointer}@media (prefers-reduced-motion: reduce){.rv,.rv-left,.rv-right,.rv-scale{opacity:1;translate:none;scale:none}.split-word>span{translate:none;animation:none}.hero-copy>*{opacity:1;animation:none!important}.marquee-track,.nav-drop,.scroll-cue span:after,.nav,.nav-links>li{animation:none!important}.bw{transform:none}.hero-scroll,.scroll-cue{translate:none;opacity:1}[data-tilt]{transform:none}.admin-main>*,.row,.stat,.admin-nav .admin-link{animation:none}}.tech-icon{flex:none;width:1em;height:1em}.chip-lg{display:inline-flex;align-items:center;gap:9px}.chip-lg .tech-icon{width:1.15em;height:1.15em}.avatar-box{position:relative;width:100%}.avatar-dot{position:absolute;right:10px;bottom:10px;width:18px;height:18px;border:3px solid rgba(10,59,71,.92);border-radius:50%;background:var(--foam);box-shadow:0 0 #3dd9c18c;animation:pulseDot 2.4s ease-in-out infinite}@keyframes pulseDot{0%,to{box-shadow:0 0 #3dd9c180}50%{box-shadow:0 0 0 7px #3dd9c100}}.about-meta{display:flex;align-items:center;gap:7px;margin-top:-4px}.about-meta svg{flex:none;width:15px;height:15px}.badge-avail{display:inline-flex;align-self:start;padding:5px 13px;border:1px solid rgba(61,217,193,.5);border-radius:var(--r-pill);background:#3dd9c124;color:#b8fff2;font-size:.86rem;font-weight:600}.now-line{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:#ffffff0d;color:var(--text-2);font-size:.92rem;line-height:1.5}.now-dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 #ffb35c8c;animation:pulseDot 2.4s ease-in-out infinite;animation-name:pulseAmber}@keyframes pulseAmber{0%,to{box-shadow:0 0 #ffb35c80}50%{box-shadow:0 0 0 6px #ffb35c00}}.gh-teaser{position:relative;display:flex;align-items:center;gap:12px;margin-top:4px;padding:14px 16px;border-radius:var(--r-lg);text-decoration:none;color:var(--text);overflow:hidden}.gh-teaser-icon{flex:none;width:30px;height:30px;color:var(--text)}.gh-teaser-text{display:grid;gap:1px;min-width:0}.gh-teaser-text strong{overflow-wrap:anywhere}.gh-teaser-text .muted{font-size:.82rem}.gh-teaser-arrow{flex:none;width:18px;height:18px;margin-left:auto;color:var(--text-3);transition:translate .3s var(--ease)}.gh-teaser:hover .gh-teaser-arrow{translate:4px 0;color:var(--foam)}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.value-card{display:grid;gap:10px;padding:22px;border-radius:var(--r-lg)}.value-icon{width:26px;height:26px;color:var(--foam)}.value-card h3{font-size:1.1rem}.value-card p{color:var(--text-2);font-size:.92rem}.skill-grid{display:flex;flex-wrap:wrap;gap:10px}.skill-pill{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:#ffffff0f;font-size:.92rem;font-weight:500;transition:background .2s,border-color .2s,translate .2s var(--ease)}.skill-pill .tech-icon{width:1.2em;height:1.2em;color:var(--foam)}.skill-pill:hover{border-color:#3dd9c18c;background:#3dd9c124;translate:0 -2px}@media (max-width: 860px){.value-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.gh-profile{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:clamp(20px,3.6vw,32px);border-radius:var(--r-xl)}.gh-avatar{flex:none;width:92px;height:92px;border-radius:50%;border:2px solid var(--line-strong);object-fit:cover}.gh-profile-text{flex:1 1 240px;min-width:0;display:grid;gap:4px}.gh-profile-text h2{font-size:1.5rem}.gh-profile-text p{margin-top:4px;color:var(--text-2)}.gh-profile-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;color:var(--text-3);font-size:.86rem}.gh-follow{flex:none}.gh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.gh-stat{display:grid;gap:4px;padding:20px 22px;border-radius:var(--r-lg)}.gh-stat strong{font:700 2.2rem/1 var(--font-display);color:var(--foam)}.gh-stat span{color:var(--text-2);font-size:.88rem}.heatmap-wrap{margin-top:8px;overflow-x:auto;padding-bottom:6px}.heatmap{display:inline-grid;min-width:100%}.heatmap-months{position:relative;height:16px;margin-bottom:4px}.heatmap-months span{position:absolute;left:calc((var(--col) - 1) * 13px);color:var(--text-3);font-size:.72rem}.heatmap-grid{display:grid;grid-auto-flow:column;gap:3px}.heatmap-col{display:grid;grid-template-rows:repeat(7,10px);gap:3px}.heatmap-cell{width:10px;height:10px;border-radius:3px}.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:10px;color:var(--text-3);font-size:.76rem}.heatmap-legend .heatmap-cell{width:10px;height:10px}.lang-panel{display:grid;gap:16px}.lang-bar{display:flex;height:10px;overflow:hidden;border-radius:var(--r-pill);background:#ffffff14}.lang-bar span{width:var(--w);transition:width .6s var(--ease)}.lang-list{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;color:var(--text-2);font-size:.9rem}.lang-list li{display:flex;align-items:center;gap:7px}.lang-list b{color:var(--text-3);font-weight:500}.lang-dot{width:9px;height:9px;border-radius:50%}.repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.repo-card{display:grid;gap:8px;padding:20px 22px;border-radius:var(--r-lg);text-decoration:none;color:var(--text);transition:border-color .25s,translate .3s var(--ease)}.repo-card:hover{border-color:var(--line-strong);translate:0 -3px}.repo-top{display:flex;align-items:center;gap:9px}.repo-top svg{flex:none;width:18px;height:18px;color:var(--text-3)}.repo-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.repo-card p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-2);font-size:.9rem}.repo-meta{display:flex;align-items:center;gap:16px;margin-top:4px;color:var(--text-3);font-size:.84rem}.repo-meta span{display:inline-flex;align-items:center;gap:5px}.repo-meta svg{width:14px;height:14px}.repo-lang i{width:9px;height:9px;border-radius:50%}.gh-note{display:flex;align-items:center;gap:8px;margin-top:40px;font-size:.86rem}.gh-note .tech-icon{width:16px;height:16px}@media (max-width: 620px){.gh-profile{flex-direction:column;align-items:flex-start;text-align:left}.gh-follow{width:100%;justify-content:center}.heatmap-col{grid-template-rows:repeat(7,9px)}.heatmap-cell{width:9px;height:9px}}
