@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:playfair;src:url(../media/playfair_display_latin_400_normal-s.p.0xnmyujjjnozh.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:playfair;src:url(../media/playfair_display_latin_400_italic-s.p.0g2_m6vy886cd.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:playfair;src:url(../media/playfair_display_latin_700_normal-s.p.1om0ctvcjicwu.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:playfair;src:url(../media/playfair_display_latin_700_italic-s.p.16cgz9ep9hwa2.woff2)format("woff2");font-display:swap;font-weight:700;font-style:italic}@font-face{font-family:playfair Fallback;src:local(Times New Roman);ascent-override:97.38%;descent-override:22.59%;line-gap-override:0.0%;size-adjust:111.11%}.playfair_f6b8fad9-module__fgr-mG__className{font-family:playfair,playfair Fallback}.playfair_f6b8fad9-module__fgr-mG__variable{--font-playfair:"playfair", "playfair Fallback"}
@font-face{font-family:robotoMono;src:url(../media/roboto_mono_latin_400_normal-s.0zyex5vrp4szx.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:robotoMono;src:url(../media/roboto_mono_latin_500_normal-s.34fm2-7plak6m.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:robotoMono;src:url(../media/roboto_mono_latin_600_normal-s.0z3zfb4i_tter.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:robotoMono;src:url(../media/roboto_mono_latin_700_normal-s.0aq83ita_dglv.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:robotoMono Fallback;src:local(Arial);ascent-override:79.68%;descent-override:20.61%;line-gap-override:0.0%;size-adjust:131.51%}.robotomono_d2bdcf9-module__CURJ_W__className{font-family:robotoMono,robotoMono Fallback}.robotomono_d2bdcf9-module__CURJ_W__variable{--font-roboto-mono:"robotoMono", "robotoMono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#e3dfd9;--foreground:#1a1613;--card:#f3f0eb;--card-foreground:#1a1613;--popover:#f3f0eb;--popover-foreground:#1a1613;--primary:#f1481e;--primary-foreground:#fff;--secondary:#d8d2ca;--secondary-foreground:#1a1613;--muted:#d8d2ca;--muted-foreground:#8a8178;--accent:#cfc8bf;--accent-foreground:#1a1613;--destructive:#d43a17;--destructive-foreground:#fff;--border:#cfc9c1;--input:#f3f0eb;--ring:#f1481e;--radius:18px;--chart-1:#f1481e;--chart-2:#7c6cf0;--chart-3:#16a34a;--chart-4:#f59e0b;--chart-5:#0ea5e9;--brand-50:#fdf5ef;--brand-100:#fbe8da;--brand-200:#f8cfb8;--brand-300:#f4ac8d;--brand-400:#ef8763;--brand-500:#f7663c;--brand-600:#f1481e;--brand-700:#c93a18;--brand-800:#a12f13;--brand-900:#7a2410;--code-comment:#6b6259;--code-keyword:#b3350f;--code-string:#1a6b3c;--code-number:#8a5a00;--code-type:#1d5f9e;--code-function:#5b3fa8;--font-sans:var(--font-geist-sans), ui-sans-serif, sans-serif, system-ui;--font-serif:var(--font-playfair), ui-serif, Georgia, serif;--font-mono:var(--font-roboto-mono), ui-monospace, monospace;--spacing:4px;--shadow-xs:0 1px 2px 0 #0000000d;--tracking-normal:0em}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#1a1613;--foreground:#e3dfd9;--card:#221e1a;--card-foreground:#e3dfd9;--popover:#221e1a;--popover-foreground:#e3dfd9;--primary:#f7663c;--primary-foreground:#1a1613;--secondary:#2e2823;--secondary-foreground:#e3dfd9;--muted:#2e2823;--muted-foreground:#a39a90;--accent:#3a332c;--accent-foreground:#e3dfd9;--destructive:#f1481e;--destructive-foreground:#fff;--border:#3a332c;--input:#221e1a;--ring:#f7663c;--radius:18px;--chart-1:#f7663c;--chart-2:#9b8cf5;--chart-3:#22c55e;--chart-4:#fbbf24;--chart-5:#38bdf8;--brand-50:#2a211b;--brand-100:#33261e;--brand-200:#4a2c1e;--brand-300:#6b3a24;--brand-400:#8f4a2c;--brand-500:#b55a34;--brand-600:#d4673f;--brand-700:#e07a50;--brand-800:#ea9166;--brand-900:#f2a982;--code-comment:#9a9089;--code-keyword:#f7663c;--code-string:#8ec07c;--code-number:#e5b567;--code-type:#6cb6e0;--code-function:#b8a1f0;--font-sans:var(--font-geist-sans), ui-sans-serif, sans-serif, system-ui;--font-serif:var(--font-playfair), ui-serif, Georgia, serif;--font-mono:var(--font-roboto-mono), ui-monospace, monospace;--spacing:4px;--shadow-xs:0 1px 2px 0 #0006;--tracking-normal:0em}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.02)}}@keyframes pulse{0%,to{opacity:.15}50%{opacity:.3}}
*,:before,:after{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font:14px/1.5 var(--font-sans);letter-spacing:var(--tracking-normal);margin:0;padding:0}html,body{min-height:100vh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.btn{justify-content:center;align-items:center;gap:calc(var(--spacing)*2);min-height:40px;padding:0 calc(var(--spacing)*4);border-radius:var(--radius);box-shadow:var(--shadow-xs);font:600 13px/1 var(--font-sans);letter-spacing:var(--tracking-normal);cursor:pointer;border:1px solid #0000;transition:background-color .2s,color .2s,border-color .2s,transform .2s,filter .2s,box-shadow .2s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{filter:brightness(.96)}.btn-ghost{color:var(--foreground);border-color:var(--border);min-height:32px;padding:0 calc(var(--spacing)*3);background:0 0}.btn-ghost:hover{background:var(--accent);color:var(--accent-foreground)}.section-label{margin:0 0 calc(var(--spacing)*5);font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);animation:.6s cubic-bezier(.22,1,.36,1) 50ms both fadeUp}[data-reveal]{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transform:translateY(20px)}[data-reveal][data-revealed]{opacity:1;transform:translateY(0)}[data-reveal-delay="0.05"]{transition-delay:50ms}[data-reveal-delay="0.1"]{transition-delay:.1s}[data-reveal-delay="0.15"]{transition-delay:.15s}[data-reveal-delay="0.2"]{transition-delay:.2s}[data-reveal-delay="0.3"]{transition-delay:.3s}[data-reveal-delay="0.4"]{transition-delay:.4s}[data-reveal-delay="0.5"]{transition-delay:.5s}[data-reveal-delay="0.6"]{transition-delay:.6s}[data-reveal-delay="0.7"]{transition-delay:.7s}[data-reveal-delay="0.8"]{transition-delay:.8s}[data-reveal-delay="0.9"]{transition-delay:.9s}[data-reveal-delay="1"],[data-reveal-delay="1.0"]{transition-delay:1s}.filter-bar{gap:calc(var(--spacing)*2);margin-bottom:calc(var(--spacing)*6);flex-wrap:wrap;display:flex}.filter-pill{min-height:36px;padding:0 calc(var(--spacing)*4);border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);font:600 12px/1 var(--font-sans);letter-spacing:var(--tracking-normal);cursor:pointer;border-radius:999px;align-items:center;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.filter-pill:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--border)}.filter-pill.active{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.filter-pill.active:hover{filter:brightness(.96)}.filter-pill:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.card-link{color:inherit;flex-direction:column;text-decoration:none;display:flex}.card-link .card{cursor:pointer;flex:1;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}.card-link:hover .card{border-color:var(--ring);transform:translateY(-4px);box-shadow:0 4px 20px -4px #00000014}.card-link .card .eyebrow{color:var(--primary)}.card-link .card .title{font-family:var(--font-serif);color:var(--foreground);font-size:19px;font-weight:700;line-height:1.2}.card-link .card .body{margin-top:calc(var(--spacing)*2);font-size:13px;line-height:1.5}.card-link .card .meta{padding-top:calc(var(--spacing)*4);margin-top:auto;font-size:11px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:calc(var(--spacing)*6)}.card .eyebrow{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0}.card .body{color:var(--muted-foreground)}.card .meta{color:var(--muted-foreground);font-size:12px}.page-header{margin-top:calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*8);animation:.6s cubic-bezier(.22,1,.36,1) 50ms both fadeUp}.page-title{margin:0 0 calc(var(--spacing)*3);font-family:var(--font-serif);color:var(--foreground);font-size:48px;font-weight:700;line-height:1.05;animation:.6s cubic-bezier(.22,1,.36,1) .1s both fadeUp}.page-subtitle{color:var(--muted-foreground);max-width:56ch;margin:0;font-size:16px;line-height:1.6;animation:.6s cubic-bezier(.22,1,.36,1) .2s both fadeUp}.page-skeleton{margin-top:calc(var(--spacing)*6);gap:calc(var(--spacing)*4);flex-direction:column;display:flex}.sk{border-radius:var(--radius);background:linear-gradient(90deg,var(--muted) 25%,var(--accent) 50%,var(--muted) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skShimmer}.sk-title{width:min(320px,55%);height:48px}.sk-line{width:70%;height:14px}.sk-line-short{width:45%}.sk-grid{gap:calc(var(--spacing)*4);margin-top:calc(var(--spacing)*4);grid-template-columns:repeat(3,1fr);display:grid}.sk-card{height:170px}@keyframes skShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.route-notice{align-items:flex-start;gap:calc(var(--spacing)*4);padding:calc(var(--spacing)*16) 0;flex-direction:column;display:flex}.route-notice .eyebrow{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:0}.route-notice-actions{gap:calc(var(--spacing)*3);display:flex}.route-notice-digest{font:500 11px/1.4 var(--font-mono);color:var(--muted-foreground);margin:0}@media (max-width:640px){.page-title{font-size:34px}.sk-grid{grid-template-columns:1fr}.page-subtitle{font-size:14px}.filter-bar{-webkit-overflow-scrolling:touch;gap:calc(var(--spacing)*1.5);padding-bottom:calc(var(--spacing)*1);flex-wrap:nowrap;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-pill{white-space:nowrap;flex:none}}
.site-nav{align-items:center;gap:calc(var(--spacing)*4);padding:calc(var(--spacing)*4) 0;margin-top:calc(var(--spacing)*4);border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;animation:.6s both fadeIn;display:grid}.nav-brand{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--foreground);white-space:nowrap;justify-self:start;font-size:20px;font-weight:700;text-decoration:none}.brand-dot{color:var(--primary)}.nav-links{justify-self:center;align-items:center;gap:calc(var(--spacing)*5);display:flex}.nav-item{min-height:32px;color:var(--muted-foreground);white-space:nowrap;align-items:center;padding:0 2px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex;position:relative}.nav-item:after{content:"";background:var(--foreground);transform-origin:0;width:100%;height:1.5px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:2px;left:0;transform:scaleX(0)}.nav-item:hover{color:var(--foreground)}.nav-item:hover:after{transform:scaleX(1)}.nav-item.active{color:var(--foreground)}.nav-item.active:after{transform:scaleX(1)}.nav-item:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:2px}.theme-toggle{border:1px solid var(--border);background:var(--card);width:34px;height:34px;color:var(--muted-foreground);cursor:pointer;border-radius:999px;justify-content:center;justify-self:end;align-items:center;padding:0;transition:color .2s,background-color .2s,border-color .2s,transform .2s;display:inline-flex}.theme-toggle:hover{color:var(--foreground);background:var(--accent);border-color:var(--ring)}.theme-toggle:active{transform:scale(.96)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.theme-toggle-icon{display:block}.theme-toggle-moon,.dark .theme-toggle-sun{display:none}.dark .theme-toggle-moon{display:block}.page-container{max-width:1200px;padding:0 calc(var(--spacing)*6);margin:0 auto}.quote-band{background:var(--secondary);color:var(--secondary-foreground);padding:calc(var(--spacing)*14) calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*14)}.quote-inner{text-align:center;max-width:660px;margin:0 auto}.quote-label{margin:0 0 calc(var(--spacing)*5);font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--secondary-foreground);opacity:.6}.quote-text{font-family:var(--font-serif);color:var(--secondary-foreground);margin:0;font-size:28px;font-style:italic;font-weight:700;line-height:1.45}.quote-text:before{content:"“"}.quote-text:after{content:"”"}.quote-more{align-items:center;gap:calc(var(--spacing)*2);margin-top:calc(var(--spacing)*6);letter-spacing:.02em;color:var(--primary);font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.quote-more:hover{opacity:.8;transform:translateY(-1px)}.quote-more:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:2px}.site-footer{background:var(--card);border-top:1px solid var(--border);padding:calc(var(--spacing)*12) 0 calc(var(--spacing)*6)}.footer-inner{max-width:1200px;padding:0 calc(var(--spacing)*6);margin:0 auto}.footer-grid{gap:calc(var(--spacing)*12);grid-template-columns:1.5fr 1fr;display:grid}.footer-brand-col{gap:calc(var(--spacing)*3);flex-direction:column;display:flex}.footer-brand{font-family:var(--font-serif);color:var(--foreground);margin:0;font-size:18px;font-weight:700;display:block}.footer-desc{color:var(--muted-foreground);max-width:42ch;margin:0;font-size:13px;line-height:1.6}.footer-copy{color:var(--muted-foreground);margin-top:calc(var(--spacing)*2);font-size:12px;display:block}.footer-links-col{justify-content:flex-end;align-items:center;gap:calc(var(--spacing)*10);flex-flow:wrap;display:flex}.footer-link-row{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.footer-section-label{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0}.footer-social{gap:calc(var(--spacing)*2) calc(var(--spacing)*4);flex-wrap:wrap;display:flex}.footer-social a{align-items:center;gap:calc(var(--spacing)*2);color:var(--muted-foreground);font-size:13px;text-decoration:none;transition:color .2s;display:inline-flex}.footer-social a:hover{color:var(--foreground)}@media (max-width:768px){.footer-grid{gap:calc(var(--spacing)*6);grid-template-columns:1fr}.page-container{padding:0 calc(var(--spacing)*4)}.quote-band{padding:calc(var(--spacing)*12) calc(var(--spacing)*4)}}@media (max-width:640px){.site-nav{row-gap:calc(var(--spacing)*2);padding:calc(var(--spacing)*3) 0;grid-template-columns:1fr auto}.nav-links{justify-content:flex-start;justify-self:stretch;gap:calc(var(--spacing)*4);-webkit-overflow-scrolling:touch;order:3;grid-column:1/-1;overflow-x:auto}.nav-brand{font-size:17px}.quote-text{font-size:21px}.page-container{padding:0 calc(var(--spacing)*3)}.site-footer{padding:calc(var(--spacing)*8) calc(var(--spacing)*4) calc(var(--spacing)*5)}}
.articles-head{margin-bottom:calc(var(--spacing)*5);justify-content:space-between;align-items:baseline;display:flex}.articles-head .section-label{margin:0}.articles-more{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none;transition:opacity .2s}.articles-more:hover{opacity:.7}.article-grid{gap:calc(var(--spacing)*5);grid-template-columns:repeat(3,1fr);display:grid}.article-grid .card{min-width:0;max-width:none;padding:calc(var(--spacing)*5) calc(var(--spacing)*5);flex-direction:column;flex:1;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;display:flex}.article-grid .card .eyebrow{color:var(--primary)}.article-grid .card .title{font-family:var(--font-serif);color:var(--foreground);font-size:19px;font-weight:700;line-height:1.2}.article-grid .card .body{margin-top:calc(var(--spacing)*2);font-size:13px;line-height:1.5}.article-grid .card .meta{padding-top:calc(var(--spacing)*4);margin-top:auto;font-size:11px}.article-grid .card.selected{border-color:var(--primary)}.article-grid .card:hover{border-color:var(--ring);transform:translateY(-4px);box-shadow:0 4px 20px -4px #00000014}.articles-empty{color:var(--muted-foreground);margin-top:calc(var(--spacing)*4);font-size:13px}.hero{margin-top:calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*14)}.content-grid{margin-bottom:calc(var(--spacing)*14);display:block}.snake-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:calc(var(--spacing)*4) calc(var(--spacing)*8);animation:.7s cubic-bezier(.22,1,.36,1) .1s both fadeUp;box-shadow:0 16px 48px -28px #211d1a40}.snake-bottom{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);margin-top:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.snake-legend{align-items:center;gap:calc(var(--spacing)*1.5);font:500 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);display:flex}.legend-cells{gap:3px;display:flex}.legend-cell{border-radius:3px;width:11px;height:11px}.snake-controls{gap:calc(var(--spacing)*2);display:flex}.snake-controls .btn{min-height:26px;box-shadow:none;font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:0 12px}.snake-controls .btn-ghost{color:var(--muted-foreground);border-color:var(--border);background:0 0}.snake-controls .btn-ghost:hover{background:color-mix(in oklch, var(--brand-500) 10%, var(--card));color:var(--foreground);border-color:var(--brand-400);transform:translateY(-1px)}.snake-scroll{-webkit-overflow-scrolling:touch;cursor:pointer;scrollbar-width:none;overflow-x:auto}.snake-scroll::-webkit-scrollbar{display:none}.snake-board{gap:calc(var(--spacing)*3);width:100%;display:flex}.board-col{flex:1 1 0;min-width:0}.weekdays{width:30px;margin-top:calc(12px + var(--spacing)*1);grid-template-rows:repeat(7,1fr);gap:3px;display:grid}.weekdays span{font:500 9px/1 var(--font-mono);color:var(--muted-foreground);align-self:center}.months{height:12px;margin-bottom:calc(var(--spacing)*1);position:relative}.months span{font:500 10px/1 var(--font-mono);letter-spacing:.08em;color:var(--muted-foreground);position:absolute;top:0}.grid-wrap{position:relative}.snake-grid{grid-template-columns:repeat(53,1fr);gap:3px;display:grid}.cell{aspect-ratio:1;border-radius:3px;transition:background-color .5s}.cell.t0{background:color-mix(in oklch, var(--foreground) 6%, var(--card))}.cell.t1{background:var(--brand-200)}.cell.t2{background:var(--brand-300)}.cell.t3{background:var(--brand-400)}.cell.t4{background:var(--brand-600)}.cell.eaten{background:color-mix(in oklch, var(--brand-500) 14%, var(--card))}.cell.pop{animation:.45s cellPop}@keyframes cellPop{0%{transform:scale(1)}40%{background:var(--brand-100);transform:scale(1.5)}to{transform:scale(1)}}.snake-layer{pointer-events:none;position:absolute;inset:0}.seg{background:var(--brand-500);will-change:transform;border-radius:28%;width:13px;height:13px;transition:transform .19s linear;position:absolute;top:0;left:0}.seg-head{background:var(--brand-600);z-index:3;border-radius:32%;animation:2.2s ease-in-out infinite headPulse}.seg-head:before,.seg-head:after{content:"";background:var(--card);border-radius:999px;width:18%;height:18%;position:absolute;top:18%}.seg-head:before{left:16%}.seg-head:after{right:16%}@keyframes headPulse{0%,to{box-shadow:0 1px 8px color-mix(in oklch, var(--brand-600) 40%, transparent)}50%{box-shadow:0 2px 14px color-mix(in oklch, var(--brand-600) 62%, transparent)}}.trail{background:var(--brand-400);opacity:0;pointer-events:none;z-index:1;border-radius:4px;width:13px;height:13px;animation:.34s ease-out forwards trailFade;position:absolute;top:0;left:0}@keyframes trailFade{0%{opacity:.4}to{opacity:0}}.gain{font:600 11px/1 var(--font-mono);color:var(--brand-700);text-shadow:0 1px 0 var(--card);z-index:4;animation:.7s ease-out forwards gainFloat;position:absolute;transform:translate(-50%)}@keyframes gainFloat{0%{opacity:0;transform:translate(-50%,2px)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-20px)}}.snake-locked{overflow:hidden}.snake-focus{z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.snake-focus[hidden]{display:none}.snake-focus-backdrop{-webkit-backdrop-filter:blur(8px);background:#1a1613cc;animation:.3s both fadeIn;position:absolute;inset:0}.snake-focus-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:min(94vw,900px);padding:calc(var(--spacing)*4) calc(var(--spacing)*6);animation:.45s cubic-bezier(.22,1,.36,1) both snakeIn;position:relative;box-shadow:0 30px 80px -30px #0000008c}.snake-focus-head{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);margin-bottom:calc(var(--spacing)*5);flex-wrap:wrap;display:flex}.snake-focus-close{border:1px solid var(--border);background:var(--card);width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.snake-focus-close:hover{background:var(--accent);color:var(--accent-foreground);transform:translateY(-1px)}.snake-focus-close:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.snake-focus-foot{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);margin-top:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.snake-focus-hint{font:500 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--muted-foreground)}.snake-focus .snake-scroll{cursor:default}@keyframes snakeIn{0%{opacity:0;transform:scale(.94)translateY(14px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:768px){.snake-card{padding:calc(var(--spacing)*5) calc(var(--spacing)*4)}.article-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.article-grid{grid-template-columns:1fr}}
.article-list{margin:0 0 calc(var(--spacing)*12);gap:calc(var(--spacing)*4);flex-direction:column;display:flex}.article-list .card-link{display:block}.article-list .list-card{gap:calc(var(--spacing)*3);width:100%;min-width:0;max-width:none;min-height:194px;padding:calc(var(--spacing)*6) calc(var(--spacing)*8);flex:none;grid-template-rows:auto 1fr auto;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;animation:.5s cubic-bezier(.22,1,.36,1) backwards cardIn;display:grid;position:relative}.card-link:hover .list-card{border-color:var(--ring);transform:translateY(-2px);box-shadow:0 10px 28px -10px #0000001f}.list-meta{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);display:flex}.list-idx{align-items:center;gap:calc(var(--spacing)*2);font:600 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);display:inline-flex}.list-num{transition:color .3s}.list-sep{opacity:.45}.list-cat{color:var(--primary)}.list-date{font:500 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);white-space:nowrap}.list-main{align-self:center;min-width:0}.list-title{margin:0 0 calc(var(--spacing)*2.5);font-family:var(--font-serif);color:var(--foreground);font-size:28px;font-weight:700;line-height:1.2}.list-excerpt{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.65;display:-webkit-box;overflow:hidden}.list-foot{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);display:flex}.list-time{font:500 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.card-link:hover .list-num{color:var(--primary)}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.pagination{justify-content:center;align-items:center;gap:calc(var(--spacing)*2);margin-bottom:calc(var(--spacing)*14);display:flex}.page-btn{min-width:40px;min-height:40px;padding:0 calc(var(--spacing)*3);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--muted-foreground);font:600 13px/1 var(--font-sans);cursor:pointer;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.page-btn:hover:not(:disabled):not(.active){background:var(--accent);color:var(--accent-foreground);transform:translateY(-1px)}.page-btn.active{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.tag-chip{gap:calc(var(--spacing)*2);background:var(--accent);color:var(--accent-foreground);border-color:var(--border)}.tag-chip:hover{background:var(--accent);color:var(--accent-foreground)}.tag-chip-label{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.7}.article-detail{margin-top:calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*14)}.article-header{margin:0 0 calc(var(--spacing)*8);text-align:center}.back-link{align-items:center;gap:calc(var(--spacing)*2);width:fit-content;margin:0 auto calc(var(--spacing)*5);color:var(--muted-foreground);font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .2s;display:flex}.back-link:hover{color:var(--foreground)}.back-link-icon{transition:transform .2s;display:inline-flex}.back-link:hover .back-link-icon{transform:translate(-3px)}@media (min-width:1280px){.back-link{z-index:50;gap:calc(var(--spacing)*2.5);width:42px;padding:calc(var(--spacing)*4) 0;background:var(--card);border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;border-left:0;flex-direction:column;margin:0;transition:color .2s,background .2s,border-color .2s;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 0 14px -8px #0000001f}.back-link-icon svg{transform:rotate(90deg)}.back-link-text{writing-mode:vertical-rl;letter-spacing:.18em}.back-link:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.back-link:hover .back-link-icon{transform:translateY(-3px)}}.article-title{margin:0 0 calc(var(--spacing)*5);font-family:var(--font-serif);color:var(--foreground);font-size:44px;font-weight:700;line-height:1.1}.article-meta{justify-content:center;align-items:center;gap:calc(var(--spacing)*3);color:var(--muted-foreground);flex-wrap:wrap;font-size:13px;display:flex}.meta-category{font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.article-visual{border-radius:var(--radius);background:linear-gradient(180deg,var(--brand-50),var(--background) 95%);height:320px;margin-bottom:calc(var(--spacing)*10);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.article-cover{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 66%,#000000d9 77%,#0000008c 87%,#00000038 95%,#0000 100%);mask-image:linear-gradient(#000 0% 66%,#000000d9 77%,#0000008c 87%,#00000038 95%,#0000 100%)}.article-aura{background:radial-gradient(circle,var(--brand-300),transparent 65%);border-radius:999px;width:300px;height:300px;animation:5s ease-in-out infinite pulse;position:absolute}.article-orb{background:radial-gradient(circle at 35% 30%,var(--brand-200),var(--brand-300) 55%,var(--brand-400));border-radius:999px;width:200px;height:200px;animation:6s ease-in-out infinite float;position:relative}.article-body{margin:0 0 calc(var(--spacing)*10);color:var(--foreground);font-size:16px;line-height:1.75}.article-body p{margin:0 0 calc(var(--spacing)*5)}.article-body h2{font-family:var(--font-serif);margin:calc(var(--spacing)*8) 0 calc(var(--spacing)*4);color:var(--foreground);font-size:28px;font-weight:700;line-height:1.2}.article-quote{border-left:3px solid var(--primary);padding:calc(var(--spacing)*4) calc(var(--spacing)*6);margin:calc(var(--spacing)*6) 0;background:var(--card);border-radius:0 var(--radius) var(--radius) 0}.article-quote p{font-family:var(--font-serif);color:var(--foreground);margin:0;font-size:20px;font-style:italic;line-height:1.5}.article-code{background:var(--secondary);color:var(--secondary-foreground);padding:calc(var(--spacing)*5) calc(var(--spacing)*6);border-radius:var(--radius);margin:calc(var(--spacing)*6) 0;font:13px/1.7 var(--font-mono);overflow-x:auto}.article-code code{color:inherit;font-size:inherit;background:0 0;padding:0}.article-code .hljs-comment,.article-code .hljs-quote{color:var(--code-comment);font-style:italic}.article-code .hljs-keyword,.article-code .hljs-literal,.article-code .hljs-selector-tag,.article-code .hljs-doctag,.article-code .hljs-section,.article-code .hljs-bullet{color:var(--code-keyword)}.article-code .hljs-string,.article-code .hljs-regexp,.article-code .hljs-addition{color:var(--code-string)}.article-code .hljs-number,.article-code .hljs-attr,.article-code .hljs-attribute,.article-code .hljs-variable,.article-code .hljs-template-variable{color:var(--code-number)}.article-code .hljs-type,.article-code .hljs-built_in,.article-code .hljs-name,.article-code .hljs-tag,.article-code .hljs-selector-id,.article-code .hljs-selector-class{color:var(--code-type)}.article-code .hljs-title{color:var(--code-function)}.article-code .hljs-meta{color:var(--code-comment)}.article-code .hljs-deletion{color:var(--destructive)}.article-code .hljs-emphasis{font-style:italic}.article-code .hljs-strong{font-weight:700}.inline-code{background:var(--muted);color:var(--foreground);font:13px/1 var(--font-mono);border-radius:6px;padding:2px 6px}.article-table-wrap{margin:calc(var(--spacing)*6) 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow-x:auto}.article-body table{border-collapse:collapse;width:100%;font-size:14px}.article-body th,.article-body td{padding:calc(var(--spacing)*3) calc(var(--spacing)*4);text-align:left;vertical-align:top;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.article-body th:last-child,.article-body td:last-child{border-right:0}.article-body tbody tr:last-child td{border-bottom:0}.article-body th{font:600 12px/1.5 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);background:var(--secondary);white-space:nowrap}.article-body tbody tr:nth-child(2n) td{background:color-mix(in oklab, var(--secondary) 40%, transparent)}.article-figure{max-width:100%;height:auto;margin:calc(var(--spacing)*6) auto;border-radius:var(--radius);display:block}.article-footer{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*6);margin:0 0 calc(var(--spacing)*10);padding-top:calc(var(--spacing)*6);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.article-tags{align-items:center;gap:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.tag-label{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.article-tag{color:var(--muted-foreground);font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;text-decoration:none;transition:color .2s;display:inline-flex}.article-tag:after{content:"/";margin-left:calc(var(--spacing)*3);color:var(--border)}.article-tag:last-child:after{content:none}.article-tag:hover{color:var(--primary)}.article-share{align-items:center;gap:calc(var(--spacing)*2);display:flex}.share-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:36px;height:36px;color:var(--muted-foreground);justify-content:center;align-items:center;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.share-btn:hover{background:var(--accent);color:var(--accent-foreground);transform:translateY(-1px)}.share-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}button.share-btn{cursor:pointer;font:inherit;padding:0}.share-btn.copied{border-color:var(--primary);color:var(--primary)}.related-section{margin-bottom:calc(var(--spacing)*14)}.related-grid{gap:calc(var(--spacing)*5);grid-template-columns:repeat(3,1fr);display:grid}.related-grid .card{min-width:0;max-width:none;padding:calc(var(--spacing)*5);flex-direction:column;flex:1;display:flex}.related-grid .card .eyebrow{color:var(--primary)}.related-grid .card .title{font-family:var(--font-serif);color:var(--foreground);font-size:19px;font-weight:700;line-height:1.2}.related-grid .card .body{margin-top:calc(var(--spacing)*2);font-size:13px;line-height:1.5}.related-grid .card .meta{padding-top:calc(var(--spacing)*4);margin-top:auto;font-size:11px}.article-body ol,.article-body ul{margin:0 0 calc(var(--spacing)*5);padding-left:calc(var(--spacing)*6)}.article-body li{margin:0 0 calc(var(--spacing)*2);padding-left:calc(var(--spacing)*1)}.article-body ol li::marker{font:600 13px/1.75 var(--font-mono);color:var(--primary)}.article-body ul li::marker{color:var(--primary)}.article-body>p:first-child{color:var(--foreground);font-size:20px;font-weight:500;line-height:1.6}@media (max-width:768px){.article-list .list-card{gap:calc(var(--spacing)*3);padding:calc(var(--spacing)*5);grid-template-columns:1fr;min-height:0}.list-title,.list-excerpt{white-space:normal}.article-title{font-size:34px}.related-grid{grid-template-columns:repeat(2,1fr)}.article-visual{height:240px}.article-orb{width:150px;height:150px}.article-aura{width:220px;height:220px}.article-footer{align-items:flex-start;gap:calc(var(--spacing)*4);flex-direction:column}}@media (max-width:640px){.article-list .list-card{gap:calc(var(--spacing)*3.5);min-height:0;padding:calc(var(--spacing)*6) calc(var(--spacing)*5)}.list-meta{gap:calc(var(--spacing)*3)}.list-title{font-size:20px}.article-title{font-size:28px}.article-body{font-size:15px}.article-body h2{font-size:22px}.related-grid{grid-template-columns:1fr}.article-visual{height:200px}.article-orb{width:140px;height:140px}.article-aura{width:200px;height:200px}.article-meta{align-items:flex-start;gap:calc(var(--spacing)*2);flex-direction:column}.article-body>p:first-child{font-size:17px}}
.photo-section{margin-bottom:calc(var(--spacing)*14)}.photo-header{margin-bottom:calc(var(--spacing)*5);justify-content:space-between;align-items:baseline;display:flex}.photo-header .section-label{margin:0}.photo-more{color:var(--primary);font-size:12px;font-weight:600;text-decoration:none;transition:opacity .2s}.photo-more:hover{opacity:.7}.photo-filters{margin-bottom:calc(var(--spacing)*5)}.ph{border-radius:var(--radius);cursor:pointer;transition:opacity .4s,transform .3s;display:block;position:relative;overflow:hidden}.ph:hover{transform:translateY(-2px)}button.ph{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:0;padding:0}button.ph:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.ph-bg{transition:transform .4s;position:absolute;inset:0}.ph:hover .ph-bg{transform:scale(1.03)}.ph-img{object-fit:cover;z-index:0;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.ph:hover .ph-img{transform:scale(1.03)}.ph-caption{padding:calc(var(--spacing)*4) calc(var(--spacing)*5);color:#fff;z-index:1;position:absolute;bottom:0;left:0;right:0}.ph-title{font-family:var(--font-serif);font-size:20px;font-weight:700;display:block}.ph-meta{opacity:.85;margin-top:calc(var(--spacing)*1);font-size:12px;display:block}.ph-bg-1{background:linear-gradient(135deg,var(--brand-400),var(--brand-600))}.ph-bg-2{background:linear-gradient(135deg,var(--chart-2),#6c5ce0)}.ph-bg-3{background:linear-gradient(135deg,var(--chart-3),#0d8a45)}.ph-bg-4{background:linear-gradient(135deg,#7a9eb0,#4a7080)}.ph-bg-5{background:linear-gradient(135deg,var(--brand-200),var(--brand-400))}.ph-bg-6{background:linear-gradient(135deg,var(--chart-5),var(--brand-300))}.ph-bg-7{background:linear-gradient(135deg,var(--muted),var(--accent))}.ph-bg-8{background:linear-gradient(135deg,var(--chart-1),var(--brand-700))}.ph-bg-9{background:linear-gradient(135deg,var(--secondary),var(--border))}.photo-empty{color:var(--muted-foreground);margin-top:calc(var(--spacing)*4);font-size:13px}.photo-wall{--wall-gap:calc(var(--spacing)*4);--wall-row-h:220px;--wall-max-h:calc(var(--wall-row-h) * 1.9);align-items:stretch;gap:var(--wall-gap);margin-bottom:calc(var(--spacing)*14);flex-wrap:wrap;display:flex}.photo-wall .ph{--ar:1.5;flex:var(--ar) 1 calc(var(--ar) * var(--wall-row-h));min-width:0;aspect-ratio:var(--ar);max-height:var(--wall-max-h);border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:transform .3s,box-shadow .3s,opacity .4s;animation:.5s cubic-bezier(.22,1,.36,1) backwards phIn;display:block;position:relative;overflow:hidden;container-type:inline-size}.photo-wall .ph:hover{transform:translateY(-2px);box-shadow:0 10px 28px -10px #0000002e}.photo-wall .ph-scrim{background:linear-gradient(#0000 45%,#0000008c 100%);position:absolute;inset:0}.photo-wall .ph-caption{padding:clamp(8px,4cqw,16px) clamp(10px,5cqw,20px)}.photo-wall .ph-title{font-size:clamp(13px,7cqw,20px)}.photo-wall .ph-meta{opacity:.85;margin-top:calc(var(--spacing)*1.5);font-size:clamp(11px,4cqw,12px);display:block}@container (max-width:118px){.photo-wall .ph-caption{display:none}}@keyframes phIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.photo-pager{align-items:center;gap:calc(var(--spacing)*3);margin-top:calc(var(--spacing)*2);margin-bottom:calc(var(--spacing)*10);flex-direction:column;animation:.6s cubic-bezier(.22,1,.36,1) both fadeUp;display:flex}.photo-pager[hidden]{display:none}.pager-row{align-items:center;gap:calc(var(--spacing)*2);display:flex}.pager-btn{min-width:40px;min-height:40px;padding:0 calc(var(--spacing)*2.5);border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);font:600 12px/1 var(--font-mono);letter-spacing:.04em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s,transform .2s,filter .2s;display:inline-flex}.pager-btn:hover{background:var(--accent);color:var(--accent-foreground);transform:translateY(-1px)}.pager-btn:active{transform:translateY(0)scale(.96)}.pager-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.pager-num.active{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.pager-num.active:hover{background:var(--primary);color:var(--primary-foreground);filter:brightness(.96)}.pager-nav[disabled]{opacity:.4;cursor:default;pointer-events:none}.pager-count{font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.yarl__portal{--yarl__portal_zindex:100}.yarl__container{--yarl__container_background_color:#1a1613cc;-webkit-backdrop-filter:blur(8px)}.yarl__button{--yarl__button_background_color:#ffffff1a;--yarl__button_border:1px solid #ffffff38;--yarl__button_padding:0;--yarl__button_filter:none;color:#fff;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s,transform .2s;display:inline-flex}.yarl__button:hover{background:#fff3}.yarl__button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.yarl__button_close:hover,.yarl__button_close:focus-visible:hover{transform:translateY(-1px)}.yarl__button_close:active{transform:scale(.94)}.yarl__toolbar{--yarl__toolbar_padding:24px}.yarl__navigation_prev,.yarl__navigation_next{--yarl__navigation_button_padding:0}.yarl__navigation_prev{left:24px}.yarl__navigation_next{right:24px}.yarl__navigation_prev:hover,.yarl__navigation_next:hover,.yarl__navigation_prev:focus-visible:hover,.yarl__navigation_next:focus-visible:hover{transform:translateY(calc(-50% - 1px))}.yarl__navigation_prev:active,.yarl__navigation_next:active{transform:translateY(-50%)scale(.94)}.lightbox-figure{--lb-ar:1.5;--lb-stage-h:min(calc(100vh - 220px),820px);--lb-w:min(82vw,1040px,calc(var(--lb-stage-h) * var(--lb-ar)));align-items:center;gap:calc(var(--spacing)*4);flex-direction:column;max-width:100%;min-height:0;max-height:100%;margin:0;display:flex;position:relative}.lightbox-stage{width:var(--lb-w);aspect-ratio:var(--lb-ar);border-radius:calc(var(--radius) + 4px);position:relative;overflow:hidden;box-shadow:0 30px 80px -20px #00000080,inset 0 0 0 1px #ffffff14}.lightbox-bg{position:absolute;inset:0}.lightbox-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.lightbox-caption{justify-content:space-between;align-items:flex-end;gap:calc(var(--spacing)*4);width:var(--lb-w);display:flex}.lightbox-title{font-family:var(--font-serif);color:#fff;font-size:20px;font-weight:700;line-height:1.2;display:block}.lightbox-meta{color:#ffffffb8;margin-top:calc(var(--spacing)*1);font-size:12px;line-height:1.5;display:block}.lightbox-counter{font:500 11px/1 var(--font-mono);letter-spacing:.08em;color:#fff9;white-space:nowrap;padding-bottom:3px}@media (max-width:1024px){.photo-wall{--wall-row-h:190px}}@media (max-width:680px){.photo-wall{--wall-row-h:130px}}@media (max-width:640px){.photo-header{align-items:flex-start;gap:calc(var(--spacing)*2);flex-direction:column}.photo-wall,.photo-pager{margin-bottom:calc(var(--spacing)*8)}.yarl__toolbar{--yarl__toolbar_padding:12px}.yarl__navigation_prev{left:12px}.yarl__navigation_next{right:12px}.lightbox-figure{--lb-stage-h:min(calc(100vh - 210px),62vh);--lb-w:min(100%,calc(var(--lb-stage-h) * var(--lb-ar)))}.lightbox-caption{align-items:flex-start;gap:calc(var(--spacing)*1.5);flex-direction:column}.lightbox-counter{padding-bottom:0}}
.about-hero{height:520px;margin-top:calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*14);border-radius:var(--radius);background:linear-gradient(180deg,var(--brand-50),var(--background) 95%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}#particle-canvas{z-index:0;width:100%;height:100%;position:absolute;inset:0}.about-hero-content{z-index:1;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.about-avatar{width:96px;height:96px;margin-bottom:calc(var(--spacing)*5);justify-content:center;align-items:center;display:flex;position:relative}.avatar-ring{border:2px solid var(--brand-300);border-radius:999px;width:100%;height:100%;animation:20s linear infinite spin;position:absolute}.avatar-core{background:radial-gradient(circle at 35% 30%,var(--brand-300),var(--brand-400) 55%,var(--brand-600));border-radius:999px;width:64px;height:64px;animation:3s ease-in-out infinite avatarPulse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes avatarPulse{0%,to{box-shadow:0 0 #f1481e33}50%{box-shadow:0 0 0 12px #f1481e00}}.about-eyebrow{margin:0 0 calc(var(--spacing)*2);font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.about-name{margin:0 0 calc(var(--spacing)*3);font-family:var(--font-serif);letter-spacing:-.02em;color:var(--foreground);font-size:52px;font-weight:700;line-height:1.05}.about-tagline{max-width:52ch;color:var(--muted-foreground);margin:0;font-size:16px;line-height:1.6}.about-social{align-items:center;gap:calc(var(--spacing)*2);margin-top:calc(var(--spacing)*5);display:flex}.about-social a{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--muted-foreground);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.about-social a:hover{background:var(--primary);color:var(--primary-foreground);transform:translateY(-2px)}.about-layout{gap:calc(var(--spacing)*12);margin-bottom:calc(var(--spacing)*14);grid-template-columns:190px 1fr;display:grid}.about-toc{top:calc(var(--spacing)*8);align-self:start;gap:calc(var(--spacing)*8);flex-direction:column;display:flex;position:sticky}.about-toc nav{gap:calc(var(--spacing)*1.5);display:grid}.about-toc a{font:600 13px/1.4 var(--font-sans);color:var(--muted-foreground);border-left:2px solid var(--border);padding:calc(var(--spacing)*1.5) 0 calc(var(--spacing)*1.5) calc(var(--spacing)*3.5);text-decoration:none;transition:color .2s,border-color .2s;display:block}.about-toc a:hover{color:var(--foreground)}.about-toc a.active{color:var(--foreground);border-left-color:var(--primary)}.about-toc-brand{font:600 10px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.about-main{min-width:0}.about-sec{margin-bottom:calc(var(--spacing)*12);scroll-margin-top:calc(var(--spacing)*10)}.about-sec:last-child{margin-bottom:0}.about-sec-title{margin:0 0 calc(var(--spacing)*7);font:700 30px/1.2 var(--font-serif);letter-spacing:-.01em}.about-bio{gap:calc(var(--spacing)*5);flex-direction:column;max-width:640px;display:flex}.about-bio-lead{color:var(--foreground);margin:0;font-size:20px;font-weight:500;line-height:1.6}.about-bio p{color:var(--muted-foreground);margin:0;font-size:16px;line-height:1.75}.about-now{gap:calc(var(--spacing)*5);flex-direction:column;max-width:640px;display:flex}.about-now p{color:var(--muted-foreground);margin:0;font-size:16px;line-height:1.75}.about-now-updated{margin:calc(var(--spacing)*8) 0 0;font:500 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.about-tech{flex-direction:column;display:flex}.about-tech-group{padding:calc(var(--spacing)*4) 0;border-bottom:1px solid var(--border)}.about-tech-group:first-child{border-top:1px solid var(--border)}.about-tech-group h4{margin:0 0 calc(var(--spacing)*2);font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.about-tech-group p{margin:0;font-size:15px;line-height:2}.about-fav{padding:calc(var(--spacing)*5) 0;border-top:1px solid var(--border)}.about-fav-head{align-items:baseline;gap:calc(var(--spacing)*3);margin-bottom:calc(var(--spacing)*4);display:flex}.about-fav-num{font:700 12px/1 var(--font-mono);color:var(--primary)}.about-fav-head h4{font:700 20px/1.2 var(--font-serif);margin:0}.about-fav-count{font:500 11px/1 var(--font-mono);color:var(--muted-foreground);margin-left:auto}.about-fav-grid{column-gap:calc(var(--spacing)*8);grid-template-columns:1fr 1fr;display:grid}.about-fav-item{align-items:baseline;gap:calc(var(--spacing)*2.5);padding:calc(var(--spacing)*2) 0;border-bottom:1px solid var(--border);display:flex}.about-fav-idx{font:600 10px/1.6 var(--font-mono);color:var(--muted-foreground);flex:none}.about-fav-name{font:600 14px/1.5 var(--font-sans);transition:color .2s}.about-fav-meta{color:var(--muted-foreground);white-space:nowrap;margin-left:auto;font-size:12px}@media (max-width:768px){.about-hero{height:420px}.about-name{font-size:42px}.about-layout{gap:calc(var(--spacing)*5);grid-template-columns:1fr}.about-toc{align-items:center;gap:calc(var(--spacing)*5);flex-direction:row;position:static}.about-toc nav{gap:calc(var(--spacing)*4);display:flex}.about-toc a{border-left:0;border-bottom:2px solid var(--border);padding:0 0 calc(var(--spacing)*2)}.about-toc a.active{border-bottom-color:var(--primary)}.about-toc-brand{display:none}.about-sec-title{font-size:26px}.about-fav-grid{grid-template-columns:1fr}}@media (max-width:640px){.about-hero{height:360px}.about-name{font-size:34px}.about-tagline{font-size:14px}.about-sec-title{font-size:24px}.about-bio-lead{font-size:17px}.about-bio p,.about-now p{font-size:15px}.about-toc{gap:calc(var(--spacing)*4)}}
.project-list{margin:0 0 calc(var(--spacing)*14);gap:calc(var(--spacing)*4);flex-direction:column;display:flex}.project-card{gap:calc(var(--spacing)*3);padding:calc(var(--spacing)*6) calc(var(--spacing)*8);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);flex-direction:column;animation:.5s cubic-bezier(.22,1,.36,1) backwards projectIn;display:flex}.project-head{justify-content:space-between;align-items:baseline;gap:calc(var(--spacing)*4);flex-wrap:wrap;display:flex}.project-title{font-family:var(--font-serif);color:var(--foreground);margin:0;font-size:24px;font-weight:700;line-height:1.2}.project-meta{font:500 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0}.project-sep{margin:0 calc(var(--spacing)*2);opacity:.45}.project-summary{color:var(--foreground);margin:0;font-size:16px;line-height:1.6}.project-desc{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.7}.project-tags{gap:calc(var(--spacing)*2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-tag{min-height:24px;padding:0 calc(var(--spacing)*3);border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);font:500 11px/1 var(--font-mono);letter-spacing:.04em;border-radius:999px;align-items:center;display:inline-flex}.project-links{align-items:center;gap:calc(var(--spacing)*4);margin-top:calc(var(--spacing)*1);flex-wrap:wrap;display:flex}.project-link{align-items:center;gap:calc(var(--spacing)*2);color:var(--primary);font:600 12px/1 var(--font-sans);text-decoration:none;transition:opacity .2s;display:inline-flex}.project-link:hover{opacity:.7}.project-link svg{width:14px;height:14px}.project-empty{color:var(--muted-foreground);margin:0;font-size:14px}@keyframes projectIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.project-card{gap:calc(var(--spacing)*3.5);padding:calc(var(--spacing)*6) calc(var(--spacing)*5)}.project-title{font-size:20px}.project-summary{font-size:15px}}
@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card:hover,.btn:active,.article-grid .card:hover,.photo-wall .ph:hover{transform:none}.seg{transition:none}.cell.pop,.seg-head,.gain,.trail,.article-list .list-card,.photo-wall .ph{animation:none}.gain,.trail{opacity:0}[data-reveal]{opacity:1;transform:none}.article-orb,.article-aura,.avatar-ring,.avatar-core{animation:none}}

