@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:local(JetBrains Mono Regular),local(JetBrains Mono),url(../fonts/jetbrains-mono/JetBrainsMono-Regular.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:local(JetBrains Mono Italic),url(../fonts/jetbrains-mono/JetBrainsMono-Italic.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:local(JetBrains Mono Bold),url(../fonts/jetbrains-mono/JetBrainsMono-Bold.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:700;font-display:swap;src:local(JetBrains Mono Bold Italic),url(../fonts/jetbrains-mono/JetBrainsMono-BoldItalic.woff2)format("woff2")}:root{--scroll-progress:0%;--theme-transition-x:50vw;--theme-transition-y:50vh;--theme-transition-radius:120vmax;--bg:#fbfbfd;--bg-soft:#f5f7fb;--surface:#ffffffe0;--surface-strong:#fff;--text:#151824;--muted:#737a8c;--muted-strong:#50586b;--line:#e8ebf2;--line-strong:#dfe4ee;--primary:#ff6f9f;--primary-soft:#fff0f5;--cyan:#36c7d6;--lavender:#8b7cff;--yellow:#f2b84b;--shadow:0 18px 60px #1e274014;--radius:8px;--music-dock-space:0px;--font-mono:"JetBrains Mono","Cascadia Code","Fira Code","SFMono-Regular",Consolas,"Liberation Mono","Microsoft YaHei UI",monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--bg:#10131a;--bg-soft:#151a23;--surface:#161b25db;--surface-strong:#171c26;--text:#eef2fb;--muted:#9aa4b7;--muted-strong:#c2c9d6;--line:#2a3140;--line-strong:#374052;--primary:#ff7aa8;--primary-soft:#ff7aa81f;--cyan:#6ce5ff;--lavender:#a79bff;--yellow:#ffd166;--shadow:0 20px 70px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports selector(::view-transition-new(root)){::view-transition-new(root){mix-blend-mode:normal;animation-duration:.64s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){mix-blend-mode:normal;animation-duration:.64s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation:none}::view-transition-new(root){clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y));animation-name:theme-circle-reveal}@keyframes theme-circle-reveal{0%{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none}::view-transition-old(root){animation:none}}}*{box-sizing:border-box}html{scrollbar-gutter:stable both-edges;background:var(--bg);scroll-behavior:smooth;min-width:320px}body,html{color:var(--text)}body{background:radial-gradient(circle at 20% 0,#ff7aa814,transparent 28rem),linear-gradient(180deg,var(--bg) 0,var(--bg-soft) 100%);letter-spacing:0;text-rendering:geometricprecision;margin:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}img{-webkit-user-drag:none;user-drag:none;max-width:100%;height:auto;display:block}::selection{background:#ff7aa83d}*{scrollbar-color:color-mix(in srgb,var(--muted) 42%,transparent) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:color-mix(in srgb,var(--muted) 42%,transparent);border-radius:999px}.site-shell{flex-direction:column;min-height:100dvh;display:flex;position:relative}.site-ambient{z-index:0;pointer-events:none;opacity:.58;width:100vw;height:100vh;position:fixed;inset:0}.dark .site-ambient{opacity:.5}.site-shell>:not(.site-ambient):not(.music-player):not(.privacy-choice-banner):not(.search-overlay):not(.back-top){z-index:1;position:relative}.skip-link{z-index:1001;border:1px solid var(--primary);background:var(--surface-strong);box-shadow:var(--shadow);color:var(--primary);opacity:0;pointer-events:none;border-radius:6px;padding:9px 14px;font-size:14px;font-weight:800;transition:opacity .16s,transform .16s;position:fixed;top:10px;left:12px;transform:translateY(calc(-100% - 20px))}.skip-link:focus-visible{opacity:1;outline:3px solid color-mix(in srgb,var(--primary) 34%,transparent);outline-offset:3px;pointer-events:auto;transform:translateY(0)}#main-content:focus{outline:none}.site-shell>main{flex:1 0 auto}html.is-preloading,html.is-preloading body{overflow:hidden}@supports selector(html:has(.app-preloader)){html:has(.app-preloader){overflow:hidden}html:has(.app-preloader) body{overflow:hidden}}.app-preloader{z-index:140;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,transparent),transparent 36%),linear-gradient(180deg,var(--bg) 0,var(--bg-soft) 100%);color:var(--text);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.app-preloader:before{background-image:linear-gradient(color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);content:"";opacity:.34;background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.preloader-panel{z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-strong) 90%,transparent);width:min(340px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-items:center;gap:18px;padding:28px;display:grid;position:relative}.preloader-brand{align-items:center;gap:10px;font-size:19px;font-weight:900;display:inline-flex}.preloader-mark{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:50%;place-items:center;font-size:19px;display:grid}.preloader-disc{background:radial-gradient(circle at center,var(--surface-strong) 0 16%,transparent 17%),repeating-radial-gradient(circle at center,color-mix(in srgb,var(--surface-strong) 18%,transparent) 0 2px,transparent 2px 8px),conic-gradient(from 120deg,var(--primary),var(--cyan),var(--lavender),var(--primary));border-radius:50%;place-items:center;width:104px;height:104px;animation:1.8s linear infinite preloader-spin;display:grid;position:relative;box-shadow:inset 0 0 0 18px #10131ae0}.preloader-disc span{border:4px solid color-mix(in srgb,var(--primary) 54%,#fff);background:color-mix(in srgb,var(--surface-strong) 84%,#fff);border-radius:50%;width:32px;height:32px}.preloader-copy{width:100%;color:var(--muted-strong);justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.preloader-copy p,.preloader-copy small{margin:0}.preloader-copy small{color:var(--primary)}.preloader-progress{background:color-mix(in srgb,var(--line) 72%,transparent);border-radius:999px;width:100%;height:8px;overflow:hidden}.preloader-progress span{border-radius:inherit;height:100%;box-shadow:0 0 24px color-mix(in srgb,var(--primary) 38%,transparent);transition:width .26s;display:block}.preloader-progress span,.scroll-progress{background:linear-gradient(90deg,var(--primary),var(--cyan))}.scroll-progress{z-index:80;width:var(--scroll-progress);height:3px;position:fixed;top:0;left:0}.app-header{z-index:70;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;min-height:76px;padding:0 44px;display:grid;position:sticky;top:0}.app-footer,.article-meta,.back-link,.brand,.header-actions,.hero-actions,.hero-traits,.metric-head,.mobile-nav-link,.nav-link,.quick-links a,.search-input-row,.search-tags,.section-title,.segmented,.tag-pill,.visit-row,.weather-main,.weather-stats{align-items:center;display:flex}.brand{gap:10px;font-size:20px;font-weight:800}.brand-mark{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:50%;place-items:center;font-size:21px;display:inline-grid}.desktop-nav{justify-content:center;align-items:stretch;gap:14px;height:76px;display:flex}.nav-link{color:var(--muted-strong);white-space:nowrap;gap:8px;padding:0 12px;font-weight:600;position:relative}.article-meta svg,.mobile-nav-link svg,.nav-link svg,.quick-links svg{width:18px;height:18px}.nav-link:after{background:var(--primary);content:"";opacity:0;border-radius:999px 999px 0 0;height:3px;transition:opacity .18s,transform .18s;position:absolute;bottom:0;left:10px;right:10px;transform:scaleX(.65)}.nav-link.active,.nav-link:hover{color:var(--primary)}.nav-link.active:after,.nav-link:hover:after{opacity:1;transform:scaleX(1)}.header-actions{justify-content:flex-end;gap:10px}.back-top,.icon-button,.theme-toggle{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;width:42px;height:42px;transition:background .18s,border-color .18s,transform .18s;display:inline-grid}.back-top:hover,.icon-button:hover,.theme-toggle:hover{border-color:var(--line-strong);background:var(--surface-strong);transform:translateY(-1px)}.back-top svg,.icon-button svg,.theme-toggle svg{width:22px;height:22px}.theme-toggle{border-color:var(--line);background:var(--surface-strong);width:60px}.theme-toggle[aria-busy=true]{pointer-events:none}.theme-dot{background:var(--primary-soft);width:28px;height:28px;color:var(--primary);border-radius:50%;place-items:center;transition:transform .22s,background .22s;display:grid;transform:translate(-8px)}.theme-dot.dark{color:var(--cyan);background:#6ce5ff29;transform:translate(8px)}.mobile-menu-button{display:none}.mobile-nav{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow);gap:8px;padding:12px;display:grid;position:absolute;top:76px;left:18px;right:18px}.mobile-nav-link{min-height:42px;color:var(--muted-strong);border-radius:6px;gap:10px;padding:0 10px;font-weight:700}.mobile-nav-link.active,.mobile-nav-link:hover{background:var(--primary-soft);color:var(--primary)}.menu-enter-active,.menu-leave-active,.overlay-enter-active,.overlay-leave-active{transition:opacity .18s,transform .18s}.menu-enter-from,.menu-leave-to,.overlay-enter-from,.overlay-leave-to{opacity:0;transform:translateY(-8px)}.article-page,.home-page,.sub-page{width:min(100%,1440px);margin:0 auto}.home-page{position:relative}.hero-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(360px,.9fr) minmax(430px,1.15fr) minmax(390px,.95fr);align-items:center;gap:28px;min-height:320px;padding:42px 44px 34px 0;display:grid}.hero-image-wrap{isolation:isolate;border-radius:0;align-self:stretch;min-height:300px;position:relative;overflow:hidden}.hero-image{-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,#000,#000 62%,#000000e6 72%,#00000080 84%,#0000);mask-image:linear-gradient(90deg,#000,#000 62%,#000000e6 72%,#00000080 84%,#0000)}.hero-image-wrap:after{z-index:1;background:linear-gradient(90deg,transparent 0,transparent 64%,color-mix(in srgb,var(--bg) 22%,transparent) 76%,var(--bg) 100%);content:"";pointer-events:none;position:absolute;inset:0}.eyebrow{color:var(--primary);letter-spacing:0;margin:0 0 10px;font-weight:800}.article-hero h1,.hero-copy h1,.page-hero h1{color:var(--text);letter-spacing:0;margin:0;font-size:40px;line-height:1.18}.article-hero h1 span,.hero-copy h1 span,.page-hero h1 span{color:var(--primary)}.article-hero p,.hero-lede,.page-hero p{max-width:620px;color:var(--muted-strong);margin:16px 0 0;font-size:16px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px}.ghost-button,.primary-button{border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;display:inline-flex}.primary-button{background:var(--primary);color:#fff;box-shadow:0 12px 30px #ff6f9f47}.ghost-button{border:1px solid var(--line-strong);background:var(--surface-strong);color:var(--muted-strong)}.hero-traits{color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:24px;font-size:14px}.hero-traits span{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.hero-traits svg{width:18px;height:18px;color:var(--muted-strong)}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.article-content,.content-card,.metric-card,.project-feature{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.metric-card{min-height:232px;padding:18px}.weather-card{--weather-panel:var(--surface);--weather-panel-soft:color-mix(in srgb,var(--weather-panel) 72%,var(--surface));--weather-accent:var(--primary);--weather-muted-accent:color-mix(in srgb,var(--weather-accent) 18%,transparent);--weather-text:color-mix(in srgb,var(--text) 92%,#0d1426);--weather-muted-text:color-mix(in srgb,var(--text) 70%,var(--muted-strong));background:linear-gradient(145deg,var(--weather-panel) 0,color-mix(in srgb,var(--surface) 76%,var(--weather-panel)) 58%,var(--weather-panel-soft) 100%),var(--surface);isolation:isolate;position:relative;overflow:hidden}.weather-card:after{z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-strong) 78%,transparent) 0,color-mix(in srgb,var(--surface-strong) 42%,transparent) 52%,color-mix(in srgb,var(--surface-strong) 20%,transparent) 100%),linear-gradient(180deg,#ffffff57,transparent 34%,color-mix(in srgb,var(--surface-strong) 46%,transparent) 100%);content:"";pointer-events:none;position:absolute;inset:0}.dark .weather-card:after{background:linear-gradient(90deg,color-mix(in srgb,var(--surface-strong) 74%,transparent) 0,color-mix(in srgb,var(--surface-strong) 42%,transparent) 52%,#0a101e38 100%),linear-gradient(180deg,#ffffff17,transparent 38%,#0000005c)}.weather-effect-pausable{cursor:pointer}.weather-effect-pausable:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 32%,transparent);outline-offset:3px}.weather-card>:not(.weather-effect,.weather-canvas,.weather-click-tip){z-index:2;text-shadow:0 1px 12px color-mix(in srgb,var(--surface-strong) 62%,transparent);position:relative}.weather-effect{z-index:0;pointer-events:none;opacity:.72;position:absolute;inset:0;overflow:hidden}.weather-effect:after,.weather-effect:before{content:"";position:absolute;inset:0}.weather-effect-paused .weather-effect:after,.weather-effect-paused .weather-effect:before{animation-play-state:paused}.weather-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.weather-click-tip{z-index:4;border:1px solid color-mix(in srgb,var(--weather-accent) 26%,var(--line));background:color-mix(in srgb,var(--surface-strong) 82%,transparent);max-width:calc(100% - 28px);color:var(--muted-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;position:absolute;bottom:14px;right:14px;box-shadow:0 12px 36px #1e27401f}.weather-tip-enter-active,.weather-tip-leave-active{transition:opacity .24s,transform .24s}.weather-tip-enter-from,.weather-tip-leave-to{opacity:0;transform:translateY(6px)}.metric-head{color:var(--weather-muted-text);justify-content:space-between;gap:10px;font-size:13px;font-weight:800}.metric-head strong{color:var(--weather-text);font-size:15px;font-weight:900}.metric-head span{align-items:center;gap:5px;display:inline-flex}.weather-main{gap:16px;margin-top:22px}.weather-main-icon{-o-object-fit:contain;object-fit:contain;width:70px;height:70px;filter:drop-shadow(0 12px 22px color-mix(in srgb,var(--weather-accent) 24%,transparent));transform-origin:50%;-webkit-user-select:none;user-select:none;flex:none}.weather-card:hover .weather-main-icon{transform:translateY(-1px)scale(1.02)}.temperature{color:var(--weather-text);font-size:42px;font-weight:700;line-height:1}.temperature small{color:var(--weather-muted-text);font-size:22px;font-weight:500}.weather-main p{color:var(--weather-muted-text);margin:6px 0 0;font-weight:700}.weather-summary{gap:2px;display:grid}.weather-range{color:color-mix(in srgb,var(--weather-text) 76%,var(--weather-muted-text))}.weather-sunny{--weather-panel:#f0f9fff5;--weather-panel-soft:#ffeec6b3;--weather-accent:#f2b84b}.weather-cloudy{--weather-panel:#e7eff9fa;--weather-panel-soft:#d7e2f1c7;--weather-accent:#8fa2bd}.weather-rainy{--weather-panel:#d6ebf7fa;--weather-panel-soft:#b5dcefc7;--weather-accent:#36c7d6}.weather-snowy{--weather-panel:#ebf4fffa;--weather-panel-soft:#dde8ffc2;--weather-accent:#8b7cff}.weather-foggy{--weather-panel:#ebf0f7fa;--weather-panel-soft:#dde4eec7;--weather-accent:#9aa4b7}.weather-stormy{--weather-panel:#d5dceffa;--weather-panel-soft:#b3bedbc7;--weather-accent:#8b7cff}.dark .weather-sunny{--weather-panel:#322c1eeb;--weather-panel-soft:#3e3022b8}.dark .weather-cloudy,.dark .weather-foggy{--weather-panel:#1b212cf0;--weather-panel-soft:#242b38c2}.dark .weather-rainy{--weather-panel:#142933f0;--weather-panel-soft:#183240b8}.dark .weather-snowy{--weather-panel:#1e2434f0;--weather-panel-soft:#272d42c2}.dark .weather-stormy{--weather-panel:#1e1d36f0;--weather-panel-soft:#272643c2}.weather-sunny .weather-effect:before{background:radial-gradient(circle at 78% 18%,#ffd87366 0 22px,#0000 58px),linear-gradient(112deg,#0000 8%,#ffffff57 38%,#0000 60%);animation:10s ease-in-out infinite weather-ray;transform:translate(-24%)}.weather-sunny .weather-effect:after{background:linear-gradient(95deg,#0000 0 56%,#ffbe561f 58% 61%,#0000 64%),linear-gradient(150deg,#0000 0 28%,#fff3 30% 36%,#0000 39%);animation:8s ease-in-out infinite weather-flare}.weather-cloudy .weather-effect:before,.weather-foggy .weather-effect:before{filter:blur(.5px);background:linear-gradient(160deg,#0000 0 18%,#ffffff38 22% 34%,#0000 39%),linear-gradient(12deg,#0000 0 52%,#8fa2bd1f 55% 68%,#0000 73%);animation:18s ease-in-out infinite alternate weather-cloud-drift}.weather-foggy .weather-effect:after{opacity:.78;background:linear-gradient(90deg,#0000,#ffffff3d,#0000);animation:13s linear infinite weather-fog}.weather-rainy .weather-effect:before,.weather-stormy .weather-effect:before{background:linear-gradient(165deg,#36c7d61f,#0000 48%),radial-gradient(at 72% 28%,#ffffff2e,#0000 42%),linear-gradient(#91b4d21a,#0000 62%);animation:9s ease-in-out infinite alternate weather-rain-wash}.weather-rainy.weather-intensity-heavy .weather-effect:before,.weather-stormy.weather-intensity-heavy .weather-effect:before{opacity:.92}.weather-stormy .weather-effect:after{opacity:0;background:linear-gradient(120deg,#0000 0 46%,#ffffff8f 47% 48%,#0000 49%),linear-gradient(155deg,#0000 0 58%,#ffffff57 59% 60%,#0000 61%);animation:5.8s step-end infinite weather-flash}.weather-snowy .weather-effect:after,.weather-snowy .weather-effect:before{background:radial-gradient(at 22% 22%,#ffffff80,#0000 38%),linear-gradient(145deg,#8b7cff14,#0000 58%);animation:11s ease-in-out infinite alternate weather-snow-glow}.weather-snowy.weather-intensity-heavy .weather-effect:after,.weather-snowy.weather-intensity-heavy .weather-effect:before{opacity:.9}.weather-snowy .weather-effect:after{opacity:.62;animation-duration:15s;transform:translateY(-18px)}.weather-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0 0;display:grid}.weather-stats div{min-width:0}.weather-stats dt{color:var(--weather-muted-text);white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:800;display:flex}.weather-stats dt svg{flex:none}.weather-stats dd{color:var(--weather-text);margin:3px 0 0;font-weight:800}.metric-foot,.visit-label{color:var(--muted);margin:18px 0 0;font-size:13px}.weather-card .metric-foot{color:var(--weather-muted-text);font-weight:700}.weather-footer{justify-content:space-between;align-items:flex-end;gap:8px;margin-top:18px;display:flex}.weather-attribution,.weather-footer .metric-foot{margin:0}.weather-attribution{color:var(--weather-muted-text);text-align:right;font-size:10px;font-weight:700;line-height:1.4}.visit-number{color:var(--text);text-align:center;margin-top:36px;font-size:40px;font-weight:700;line-height:1}.visit-label{text-align:center;margin-top:10px}.sparkline{align-items:end;gap:7px;height:48px;margin-top:18px;padding:0 4px;display:flex}.sparkline span{background:linear-gradient(#ff7aa8db,#ff7aa814);border-radius:999px 999px 0 0;flex:1;min-width:4px}.visit-row{color:var(--muted-strong);justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}@media (width>=1181px) and (width<=1480px){.hero-section{-moz-column-gap:28px;grid-template:"hero-image hero-copy""hero-image hero-metrics"1fr/minmax(360px,.9fr) minmax(540px,1.15fr);align-items:center;gap:22px 28px;padding-right:44px}.hero-image-wrap{grid-area:hero-image;min-height:430px}.hero-copy{grid-area:hero-copy;align-self:end}.hero-metrics{grid-area:hero-metrics;grid-template-columns:repeat(2,minmax(230px,1fr));align-self:start}}.section-pad{padding:28px 44px 0}.section-title{justify-content:space-between;gap:16px;margin-bottom:18px}.article-aside h2,.content-card h2,.section-title h2,.timeline-box h3{color:var(--text);letter-spacing:0;margin:0;padding-left:14px;font-size:19px;line-height:1.3;position:relative}.article-aside h2:before,.content-card h2:before,.section-title h2:before,.timeline-box h3:before{background:var(--primary);content:"";border-radius:999px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.section-title a{color:var(--muted);align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}.section-title a:hover{color:var(--primary)}.tag-list{flex-wrap:wrap;gap:14px;display:flex}.tag-pill{border:1px solid var(--line);background:var(--surface-strong);min-height:42px;color:var(--muted-strong);cursor:pointer;border-radius:999px;gap:8px;padding:0 16px;font-weight:700;transition:border-color .18s,color .18s,transform .18s,background .18s}.tag-pill svg{width:18px;height:18px;color:var(--tag-color,var(--primary))}.tag-pill span{color:var(--muted-strong);font-size:12px}.tag-pill.active,.tag-pill:hover{border-color:color-mix(in srgb,var(--tag-color,var(--primary)) 48%,var(--line));background:color-mix(in srgb,var(--tag-color,var(--primary)) 12%,var(--surface-strong));color:var(--text);transform:translateY(-1px)}.content-dashboard{grid-template-columns:minmax(360px,1fr) minmax(360px,.92fr) minmax(260px,.52fr);gap:22px;padding-bottom:54px;display:grid}.content-card{padding:20px}.article-list{gap:14px;display:grid}.home-filter-content{min-height:100%}.filter-panel-enter-active,.filter-panel-leave-active{will-change:opacity,transform;transition:opacity .18s,transform .18s cubic-bezier(.22,1,.36,1)}.filter-panel-enter-from{opacity:0;transform:translateY(8px)}.filter-panel-leave-to{opacity:0;transform:translateY(-4px)}.filter-panel-enter-active .article-row,.filter-panel-enter-active .project-card,.filter-panel-enter-active .project-feature{animation:.26s cubic-bezier(.22,1,.36,1) both filterItemRise;animation-delay:calc(min(var(--item-index,0), 5)*22ms)}@keyframes filterItemRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateZ(0)}}.article-row{border-bottom:1px solid var(--line);grid-template-columns:156px minmax(0,1fr);align-items:center;gap:16px;padding:10px 0 16px;display:grid}.article-list:not(.compact) .article-row{grid-template-columns:230px minmax(0,1fr);padding:18px 0}.article-row:last-child{border-bottom:0;padding-bottom:0}.article-row img{aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:6px;width:100%;height:auto}.article-title-line{justify-content:space-between;align-items:start;gap:10px;display:flex}.article-title-line h3{color:var(--text);margin:0;font-size:17px;line-height:1.4}.article-dot{border-radius:50%;flex:none;width:7px;height:7px;margin-top:9px}.article-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 12px;display:-webkit-box;overflow:hidden}.article-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px}.article-meta span{align-items:center;gap:5px;display:inline-flex}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-card{gap:10px;min-width:0;display:grid}.project-card img{aspect-ratio:16/9;border:1px solid var(--line);-o-object-fit:cover;object-fit:cover;border-radius:6px;width:100%;height:auto}.project-content{gap:10px;display:grid}.project-content h3,.project-feature h2{color:var(--text);margin:0;font-size:16px;line-height:1.35}.content-card p,.project-content p,.project-feature p{color:var(--muted);margin:6px 0 0}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-card-stage,.project-tags a,.project-tags span,.status-pill{background:color-mix(in srgb,var(--tag-color,var(--cyan)) 14%,var(--surface-strong));min-height:24px;color:color-mix(in srgb,var(--tag-color,var(--cyan)) 42%,var(--text));border-radius:6px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.project-card-stage{margin-bottom:8px}.project-card-stage[data-stage],.status-pill[data-stage]{background:color-mix(in srgb,var(--stage-color) 14%,var(--surface-strong));color:color-mix(in srgb,var(--stage-color) 42%,var(--text))}[data-stage=concept]{--stage-color:#ff7aa8}[data-stage=wip]{--stage-color:#8a7cff}[data-stage=active]{--stage-color:#2fb8b5}.project-tags a{transition:color .18s,background .18s,transform .18s}.project-tags a:hover{background:color-mix(in srgb,var(--tag-color,var(--cyan)) 24%,var(--surface-strong));color:var(--text);transform:translateY(-1px)}.side-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);align-content:start;gap:18px;padding:20px;display:grid}.quick-links{gap:4px;display:grid}.quick-links a{min-height:42px;color:var(--muted-strong);grid-template-columns:24px minmax(0,1fr) auto;justify-content:space-between;gap:10px;padding:0 4px;display:grid}.quick-links a span{justify-self:start;margin-right:0;font-weight:700}.quick-links a strong{color:var(--muted);justify-self:end;font-size:13px}.timeline-box{border-top:1px solid var(--line);padding-top:18px}.archive-list,.timeline-box ol{margin:0;padding:0;list-style:none}.timeline-box li{color:var(--muted);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;font-size:13px;display:grid}.timeline-box li>span{background:var(--primary);border-radius:50%;width:7px;height:7px}.timeline-box li>span.project{background:var(--cyan)}.timeline-box li>span.note{background:var(--lavender)}.timeline-box a,.timeline-box p{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.timeline-box a{transition:color .16s}.timeline-box a:focus-visible,.timeline-box a:hover{color:var(--primary)}.timeline-box .timeline-empty{white-space:normal;padding:14px 0 4px}.timeline-box time{white-space:nowrap}.back-top{z-index:30;border-color:var(--line);background:var(--surface);box-shadow:var(--shadow);position:fixed;bottom:24px;right:34px}@keyframes weather-flare{0%,to{opacity:.68;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes weather-ray{0%,to{opacity:.18;transform:translate(-18%)}48%,58%{opacity:.52;transform:translate(18%)}}@keyframes weather-cloud-drift{0%{transform:translate(-8px)}to{transform:translate(12px)}}@keyframes weather-fog{to{background-position:52px 0,90px 0}}@keyframes weather-flash{0%,91%,to{opacity:0}92%,94%{opacity:.42}}@keyframes weather-rain-wash{0%,to{opacity:.64;transform:translateY(-6px)}50%{opacity:.92;transform:translateY(4px)}}@keyframes weather-snow-glow{0%{opacity:.46;transform:translateY(-8px)}to{opacity:.78;transform:translateY(8px)}}@keyframes music-spin{to{transform:rotate(1turn)}}@keyframes preloader-spin{to{transform:rotate(1turn)}}.app-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding:16px 36px;font-size:13px}.app-footer p{margin:0}.footer-policy-links{flex-wrap:wrap;align-items:center;gap:8px 14px;display:inline-flex}.app-footer a{color:var(--muted-strong);font-weight:700;text-decoration:none;transition:color .18s}.app-footer a:focus-visible,.app-footer a:hover{color:var(--primary)}.app-footer span{color:var(--primary);align-items:center;gap:6px;display:inline-flex}.app-footer strong{color:var(--cyan)}.privacy-choice-banner{z-index:65;left:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));border:1px solid var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-strong) 94%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:16px;width:min(520px,100vw - 48px);padding:18px;display:grid;position:fixed;box-shadow:0 18px 52px #1e274029}.privacy-choice-copy{gap:6px;display:grid}.privacy-choice-copy strong{font-size:16px}.privacy-choice-copy p{color:var(--muted-strong);margin:0;font-size:13px}.privacy-choice-copy a{width:max-content;color:var(--primary);font-size:13px;font-weight:800}.privacy-choice-actions,.privacy-page-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-action,.secondary-action{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;min-height:40px;padding:0 14px;font-weight:800;transition:border-color .18s,background .18s,color .18s,transform .18s}.primary-action{border-color:var(--primary);background:var(--primary);color:var(--text)}.secondary-action{border-color:var(--line-strong);background:var(--surface-strong);color:var(--muted-strong)}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action[aria-pressed=true],.secondary-action[aria-pressed=true]{outline:3px solid color-mix(in srgb,var(--primary) 20%,transparent)}.privacy-choice-enter-active,.privacy-choice-leave-active{transition:opacity .18s,transform .18s}.privacy-choice-enter-from,.privacy-choice-leave-to{opacity:0;transform:translateY(12px)}.search-overlay{z-index:100;place-items:start center;padding:11vh 20px 20px;display:grid;position:fixed;inset:0;overflow-y:auto}html.is-search-open,html.is-search-open body{overflow:hidden}.overlay-backdrop{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c101847;border:0;position:absolute;inset:0}.search-panel{z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);width:min(760px,100%);max-height:min(78vh,100dvh - 40px);position:relative;overflow:hidden;box-shadow:0 28px 80px #0f142040}.search-input-row{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 94%,transparent);gap:12px;padding:16px;position:relative}.search-input-row input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:15px}.search-input-row:focus-within{border-bottom-color:color-mix(in srgb,var(--primary) 58%,var(--line));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 52%,transparent)}.search-input-row button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.search-input-row button:focus-visible,.search-input-row button:hover{background:var(--primary-soft);color:var(--primary)}.search-loading-indicator{border:2px solid color-mix(in srgb,var(--primary) 24%,transparent);border-top-color:var(--primary);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite search-loading-spin}@keyframes search-loading-spin{to{transform:rotate(1turn)}}.search-tags{flex-wrap:wrap;gap:8px;padding:14px 16px 0}.search-tags button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted-strong);cursor:pointer;border-radius:999px;align-items:center;gap:6px;font-size:13px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.search-tags button:focus-visible,.search-tags button:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:var(--primary-soft);color:var(--primary)}.search-tags span{border-radius:50%;width:7px;height:7px}.search-status{color:var(--muted);margin:0;padding:12px 16px 4px;font-size:12px;font-weight:700}.search-results{overscroll-behavior:contain;scrollbar-gutter:stable;gap:6px;max-height:min(480px,55dvh);padding:10px 14px 14px;display:grid;position:relative;overflow:hidden auto}.search-result{width:100%;min-height:84px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.search-result.is-active,.search-result:hover{border-color:color-mix(in srgb,var(--primary) 24%,var(--line));background:var(--primary-soft);transform:translate(2px)}.search-result:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:-2px}.search-result-icon{background:color-mix(in srgb,var(--primary) 12%,var(--surface));width:36px;height:36px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.search-result-copy{gap:4px;min-width:0;display:grid}.search-result-meta{gap:8px;min-width:0;font-size:12px;font-weight:800;display:flex}.search-result-meta>span:first-child{color:var(--primary)}.search-result-meta>span+span{color:var(--muted)}.search-result strong,.search-result-meta>span+span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result strong{color:var(--text);font-size:15px}.search-result small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.search-result mark{background:color-mix(in srgb,var(--primary) 20%,transparent);color:color-mix(in srgb,var(--primary) 86%,var(--text));font-weight:inherit;border-radius:2px}.search-result-tags{gap:6px;margin-top:2px;display:flex}.search-result-tags>span{background:color-mix(in srgb,var(--cyan) 10%,var(--surface));color:var(--muted-strong);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.search-result-arrow{color:var(--muted);transition:color .16s,transform .16s}.search-result.is-active .search-result-arrow,.search-result:hover .search-result-arrow{color:var(--primary);transform:translate(2px)}.search-result-enter-active,.search-result-leave-active,.search-result-move{transition:opacity .18s,transform .18s}.search-result-enter-from,.search-result-leave-to{opacity:0;transform:translateY(7px)}.search-result-leave-active{position:absolute}.search-feedback{color:var(--muted);text-align:center;justify-items:center;gap:10px;padding:26px 16px;display:grid}.search-feedback p{margin:0}.search-feedback button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;border-radius:6px;padding:0 14px;font-weight:700}.empty-state{color:var(--muted);text-align:center;margin:0;padding:24px}.content-pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:18px;display:flex}.pagination-summary{min-width:0;color:var(--muted-strong);gap:2px;margin:0;font-size:13px;font-weight:800;display:grid}.pagination-summary span{color:var(--muted);font-size:12px;font-weight:600}.pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.pagination-button{border:1px solid var(--line);background:var(--surface-strong);width:36px;height:36px;color:var(--muted-strong);cursor:pointer;border-radius:50%;flex:0 0 36px;place-items:center;padding:0;font-weight:800;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-grid}.pagination-button:focus-visible,.pagination-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 46%,var(--line));color:var(--primary);transform:translateY(-1px)}.pagination-button.active{border-color:var(--primary);background:var(--primary);color:#fff}.pagination-button:disabled{cursor:not-allowed;opacity:.38}.pagination-button .iconify{width:17px;height:17px}.pagination-ellipsis{width:24px;height:36px;color:var(--muted);place-items:center;display:inline-grid}.project-pagination{margin-top:4px}.article-page,.project-detail-page,.sub-page{padding:44px}.page-hero{border-bottom:1px solid var(--line);padding:42px 0 30px}.article-hero h1,.page-hero h1,.project-detail-hero h1{font-size:46px}.filter-bar{grid-template-columns:minmax(240px,1fr) auto;gap:16px;margin-top:28px;display:grid}.search-field{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);align-items:center;gap:10px;min-height:46px;padding:0 15px;transition:border-color .18s,box-shadow .18s;display:flex}.search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.search-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.segmented{border:1px solid var(--line);background:var(--surface-strong);border-radius:999px;gap:4px;min-height:46px;padding:4px}.segmented button{min-height:36px;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 15px;font-weight:800}.segmented button.active{background:var(--primary);color:var(--text)}.page-tags{margin-top:20px}.taxonomy-page{padding-bottom:72px}.taxonomy-hero{-moz-column-gap:40px;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:40px;display:grid}.taxonomy-hero>.eyebrow,.taxonomy-hero>h1,.taxonomy-hero>p{grid-column:1}.taxonomy-hero-stats{grid-area:1/2/span 3;gap:0;margin:0;display:flex}.taxonomy-hero-stats div{border-left:1px solid var(--line);align-content:center;min-width:112px;padding:8px 24px;display:grid}.taxonomy-hero-stats dt{color:var(--muted);font-size:12px;font-weight:700}.taxonomy-hero-stats dd{color:var(--text);margin:5px 0 0;font-size:28px;font-weight:800;line-height:1}.taxonomy-content-section,.taxonomy-related,.taxonomy-section{margin-top:32px}.taxonomy-section-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.taxonomy-section-heading .eyebrow{margin-bottom:4px;font-size:12px}.taxonomy-related h2,.taxonomy-section-heading h2{color:var(--text);margin:0;font-size:22px}.taxonomy-section-heading>span{color:var(--muted);font-size:13px;font-weight:700}.taxonomy-switch-link{min-height:40px;color:var(--muted-strong);align-items:center;gap:6px;font-weight:800;display:inline-flex}.taxonomy-switch-link:hover{color:var(--primary)}.taxonomy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.taxonomy-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);grid-template-rows:auto 1fr auto auto;gap:14px;padding:20px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.taxonomy-card:focus-visible,.taxonomy-card:hover{border-color:color-mix(in srgb,var(--taxonomy-color) 40%,var(--line));transform:translateY(-3px);box-shadow:0 20px 58px #1e274021}.taxonomy-card:focus-visible{outline:3px solid color-mix(in srgb,var(--taxonomy-color) 28%,transparent);outline-offset:3px}.taxonomy-card-heading{grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;display:grid}.taxonomy-icon{background:color-mix(in srgb,var(--taxonomy-color,var(--primary)) 14%,var(--surface-strong));width:42px;height:42px;color:var(--taxonomy-color,var(--primary));border-radius:50%;place-items:center;display:inline-grid}.taxonomy-icon svg{width:22px;height:22px}.taxonomy-card-heading h3{color:var(--text);margin:0;font-size:17px}.taxonomy-card-heading div>span{color:var(--muted);font-size:12px;font-weight:700}.taxonomy-arrow{color:var(--muted);transition:color .18s,transform .18s}.taxonomy-card:focus-visible .taxonomy-arrow,.taxonomy-card:hover .taxonomy-arrow{color:var(--taxonomy-color);transform:translate(3px)}.taxonomy-card>p{color:var(--muted-strong);margin:0;line-height:1.7}.taxonomy-counts{gap:24px;margin:0;display:flex}.taxonomy-counts div{align-items:baseline;gap:7px;display:flex}.taxonomy-counts dt{color:var(--muted);font-size:12px}.taxonomy-counts dd{color:var(--text);margin:0;font-weight:800}.taxonomy-latest{border-top:1px solid var(--line);gap:4px;min-width:0;padding-top:12px;display:grid}.taxonomy-latest span{color:var(--muted);font-size:11px;font-weight:700}.taxonomy-latest strong{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.taxonomy-detail-hero{position:relative}.taxonomy-detail-title{align-items:center;gap:14px;display:flex}.taxonomy-detail-title .taxonomy-icon{width:52px;height:52px}.taxonomy-detail-title .eyebrow{color:var(--taxonomy-color,var(--primary));margin-bottom:3px;font-size:12px}.taxonomy-detail-counts{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:22px;font-size:13px;font-weight:700;display:flex}.taxonomy-detail-counts strong{color:var(--taxonomy-color,var(--primary));font-size:18px}.taxonomy-content-section .article-directory{margin-top:0}.taxonomy-content-section>.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.taxonomy-related{border-top:1px solid var(--line);padding-top:26px}.taxonomy-related-links{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.taxonomy-related-links a{border:1px solid var(--line);background:var(--surface-strong);min-height:38px;color:var(--muted-strong);border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:800;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.taxonomy-related-links a:hover{border-color:color-mix(in srgb,var(--taxonomy-color) 44%,var(--line));background:color-mix(in srgb,var(--taxonomy-color) 10%,var(--surface-strong));transform:translateY(-1px)}.taxonomy-related-links svg{color:var(--taxonomy-color)}.taxonomy-related-links span{color:var(--muted);font-size:11px}.taxonomy-empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);margin-top:28px}.taxonomy-inline-link{width:max-content;display:inline-flex}.taxonomy-inline-link:hover{color:color-mix(in srgb,var(--primary) 72%,var(--text))}@media (width<=1180px){.taxonomy-content-section>.project-grid,.taxonomy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.taxonomy-hero{grid-template-columns:1fr}.taxonomy-hero-stats{border-top:1px solid var(--line);grid-area:auto/1;margin-top:26px}.taxonomy-hero-stats div{border-left:0;flex:1;min-width:0;padding:16px 14px 6px 0}.taxonomy-content-section>.project-grid,.taxonomy-grid{grid-template-columns:1fr}}.article-directory{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-top:26px;padding:6px 22px 18px}.project-filter{width:max-content;max-width:100%;margin-top:28px;overflow-x:auto}.project-page-grid{gap:20px;margin-top:24px;display:grid}.project-feature{grid-template-columns:minmax(260px,.45fr) minmax(0,1fr);align-items:center;gap:24px;padding:18px;display:grid}.project-feature img{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border-radius:6px;width:100%}.project-feature h2{margin-top:14px;font-size:26px}.project-feature p{max-width:680px;margin:10px 0 16px;font-size:16px}.project-page-grid .project-feature{transition:transform .18s,border-color .18s,box-shadow .18s}.project-page-grid .project-feature:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));transform:translateY(-2px);box-shadow:0 22px 70px #1e27401f}.project-detail-cta{color:var(--primary);align-items:center;gap:6px;margin-top:16px;font-weight:800;display:inline-flex}.project-detail-cta:focus-visible,.project-detail-cta:hover{color:color-mix(in srgb,var(--primary) 82%,var(--text))}.project-detail-cta svg{width:16px;height:16px}.project-detail-hero{border-bottom:1px solid var(--line);padding:42px 0 30px}.project-detail-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);align-items:center;gap:30px;margin-top:22px;display:grid}.project-detail-hero-grid h1{margin:16px 0 12px}.project-detail-hero-grid p{max-width:720px;color:var(--muted-strong);font-size:17px}.project-stage-note{border-left:3px solid var(--stage-color,var(--primary));background:color-mix(in srgb,var(--stage-color,var(--primary)) 7%,transparent);grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:12px;max-width:720px;margin-top:18px;padding:12px 14px;display:grid}.project-stage-note strong{color:var(--text);font-size:13px}.project-stage-note span{color:var(--muted-strong);font-size:13px;line-height:1.65}.project-detail-hero-grid .project-tags{margin-top:12px}.project-detail-hero-grid img{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);-o-object-fit:cover;object-fit:cover;width:100%;box-shadow:var(--shadow)}.project-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.project-actions>a,.project-actions>span{border:1px solid var(--line);background:var(--surface-strong);min-height:38px;color:var(--muted-strong);border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:800;display:inline-flex}.project-actions>a{color:var(--primary)}.project-actions .disabled-link{border-radius:var(--radius);overflow-wrap:anywhere;opacity:.72;max-width:100%;padding-block:8px;line-height:1.5}.project-actions>:is(a,span)>:is(svg,.iconify){flex:0 0 16px;width:16px;height:16px}.project-detail-layout{grid-template-columns:300px minmax(0,1fr);gap:24px;margin-top:28px;display:grid}.project-facts{align-self:start;position:sticky;top:104px}.project-detail-main h2,.project-facts h2{color:var(--text);margin:0 0 16px}.project-facts dl{gap:16px;margin:0;display:grid}.project-facts dt{color:var(--muted);font-size:12px;font-weight:800}.project-facts dd{color:var(--text);margin:4px 0 0;font-weight:800}.project-detail-main{gap:20px;display:grid}.project-detail-main .content-card{padding:24px}.project-detail-main p{max-width:76ch;color:var(--muted-strong);margin:12px 0 0;line-height:1.85}.project-detail-main .section-context{margin:-4px 0 18px;font-size:13px;line-height:1.7}.project-showcase-card{overflow:hidden}.project-showcase-card>.eyebrow{margin-top:0}.project-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.project-showcase-panel{border:1px solid color-mix(in srgb,var(--tag-color) 22%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--tag-color) 13%,transparent),transparent 48%),color-mix(in srgb,var(--surface-strong) 90%,transparent);border-radius:8px;min-width:0;padding:18px;position:relative;overflow:hidden}.project-showcase-panel:after{background:color-mix(in srgb,var(--tag-color) 16%,transparent);content:"";filter:blur(4px);border-radius:50%;width:96px;height:96px;position:absolute;inset:auto -28px -34px auto}.project-showcase-panel>span{border:1px solid color-mix(in srgb,var(--tag-color) 28%,var(--line));background:color-mix(in srgb,var(--tag-color) 12%,var(--surface));width:42px;height:42px;color:color-mix(in srgb,var(--tag-color) 76%,var(--text));border-radius:50%;place-items:center;font-size:13px;font-weight:900;display:grid}.project-showcase-panel h3{color:var(--text);margin:16px 0 8px;font-size:17px}.project-showcase-panel p{color:var(--muted-strong);margin:0;font-size:14px;line-height:1.75}.project-showcase-panel ul{color:var(--muted);gap:8px;margin:16px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.project-showcase-panel li{padding-left:14px;position:relative}.project-showcase-panel li:before{background:var(--tag-color);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.72em;left:0}.detail-list{color:var(--muted-strong);gap:10px;margin:0;padding-left:1.2em;line-height:1.8;display:grid}.detail-list.numbered{list-style:decimal}.stack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.stack-grid>div{border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 86%,transparent);border-radius:8px;min-width:0;padding:14px}.stack-grid h3{color:var(--text);margin:0 0 10px;font-size:15px}.project-evidence-list{border-top:1px solid var(--line);margin:0}.project-evidence-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(140px,.38fr) minmax(0,1fr);gap:18px;padding:16px 0;display:grid}.project-evidence-list dt{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.project-evidence-list dt svg{width:16px;height:16px;color:var(--primary)}.project-evidence-list dd{min-width:0;color:var(--text);margin:0;font-weight:800}.project-evidence-list dd>a{color:var(--primary)}.project-evidence-list dd>small{color:var(--muted);margin-top:5px;font-weight:500;line-height:1.6;display:block}.project-evidence-list>div[data-kind=unavailable] dd,.project-evidence-list>div[data-kind=unavailable] dt svg{color:var(--muted)}.archive-layout{grid-template-columns:minmax(0,1fr) 340px;gap:24px;margin-top:28px;display:grid}.archive-main{gap:22px;min-width:0;display:grid}.archive-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.archive-stat{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 94%,transparent),color-mix(in srgb,var(--primary) 7%,var(--surface))),var(--surface);padding:16px;box-shadow:0 14px 42px #1e27400f}.archive-stat strong,.archive-year-mark strong{color:var(--text);font-size:26px;line-height:1.1;display:block}.archive-stat span,.archive-year-mark span{color:var(--muted);margin-top:8px;font-size:13px;font-weight:700;display:block}.archive-layout>.content-card{align-self:start}.archive-section-title{align-items:flex-start}.archive-section-title p{max-width:360px;color:var(--muted);text-align:right;margin:0;font-size:13px}.archive-activity{overflow:hidden}.contribution-board{scrollbar-width:thin;min-width:0;padding-bottom:4px;overflow-x:auto}.contribution-months{min-width:max-content;color:var(--muted);gap:4px;margin-left:28px;font-size:11px;line-height:1;display:flex}.contribution-months span{white-space:nowrap;width:12px;min-height:15px}.contribution-body{gap:8px;width:max-content;min-width:max-content;padding:4px 0 8px;display:flex;overflow:visible}.contribution-weekdays{color:var(--muted);text-align:right;flex:0 0 20px;grid-template-rows:repeat(7,12px);gap:4px;font-size:10px;line-height:12px;display:grid}.contribution-grid{gap:4px;width:max-content;display:flex}.contribution-week{grid-template-rows:repeat(7,12px);gap:4px;display:grid}.contribution-cell{border:1px solid color-mix(in srgb,var(--line) 74%,transparent);background:color-mix(in srgb,var(--line) 42%,transparent);border-radius:3px;width:12px;height:12px;transition:transform .18s,box-shadow .18s,background .18s;display:block}.contribution-cell.level-1{background:color-mix(in srgb,var(--cell-accent,var(--primary)) 30%,var(--surface-strong))}.contribution-cell.level-2{background:color-mix(in srgb,var(--cell-accent,var(--primary)) 48%,var(--surface-strong))}.contribution-cell.level-3{background:color-mix(in srgb,var(--cell-accent,var(--primary)) 66%,var(--surface-strong))}.contribution-cell.level-4{background:color-mix(in srgb,var(--cell-accent,var(--primary)) 84%,var(--surface-strong))}.contribution-cell:hover{box-shadow:0 8px 18px color-mix(in srgb,var(--cell-accent,var(--primary)) 26%,transparent);transform:scale(1.55)}.contribution-legend{min-width:max-content;color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;margin-top:8px;font-size:12px;display:flex}.contribution-legend .contribution-cell{width:11px;height:11px}.archive-timeline{gap:18px;display:grid}.archive-year{grid-template-columns:116px minmax(0,1fr);gap:20px;display:grid}.archive-year-mark{align-self:start;padding-top:4px;position:sticky;top:104px}.archive-year ol{gap:14px;margin:0;padding:0 0 0 22px;list-style:none;display:grid;position:relative}.archive-year ol:before{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 44%,transparent),color-mix(in srgb,var(--cyan) 44%,transparent));content:"";width:1px;position:absolute;top:12px;bottom:12px;left:5px}.archive-year li{grid-template-columns:10px minmax(0,1fr);align-items:start;gap:14px;display:grid;position:relative}.archive-year .archive-dot{z-index:1;box-shadow:0 0 0 5px var(--bg);margin-top:19px;position:relative}.archive-timeline-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px 18px;transition:border-color .18s,transform .18s,box-shadow .18s;box-shadow:0 14px 40px #1e27400f}.archive-timeline-card:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));transform:translateY(-2px);box-shadow:0 18px 52px #1e27401a}.archive-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.archive-meta small,.archive-meta time{color:var(--muted);font-size:13px;font-weight:700}.archive-timeline-card a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;display:block;overflow:hidden}.archive-timeline-card p{color:var(--muted-strong);margin:7px 0 0}.archive-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:10px 0;display:grid}.archive-list li{border-bottom:1px solid var(--line);grid-template-columns:12px 110px minmax(0,1fr) 60px;align-items:center;gap:14px;padding:14px 20px;display:grid}.archive-list li:last-child{border-bottom:0}.archive-dot{border-radius:50%;width:8px;height:8px}.archive-list small,.archive-list time{color:var(--muted)}.archive-list a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.timeline-box.inline{border-top:0;padding-top:6px}.about-hero{justify-content:space-between;align-items:center;gap:28px;display:flex}.about-hero img{border-radius:var(--radius);width:180px}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;display:grid}.about-profile-stats{flex-wrap:wrap;gap:12px;margin:24px 0 0;display:flex}.about-profile-stats div{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-strong) 82%,transparent);min-width:132px;padding:12px 14px}.about-profile-stats dt{color:var(--text);font-weight:900;line-height:1.2}.about-profile-stats dd{color:var(--muted);margin:6px 0 0;font-size:12px;font-weight:700}.about-section{margin-top:34px}.privacy-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.56fr);align-items:end;gap:40px;display:grid}.privacy-updated{font-weight:700;font-size:13px!important}.privacy-choice-panel{border-left:2px solid var(--primary);gap:12px;padding:20px 0 4px 24px;display:grid}.privacy-choice-panel>span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.privacy-choice-panel>strong{font-size:16px}.privacy-choice-panel>p{color:var(--muted-strong);margin:0;font-size:13px}.privacy-document{gap:42px;max-width:1120px;margin-top:34px;display:grid}.privacy-section-title{align-items:end}.privacy-section-title h2{margin:0}.privacy-document p,.section-title.privacy-section-title>span{color:var(--muted-strong)}.privacy-document p{margin:14px 0 0}.privacy-document a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--primary) 38%,transparent);text-decoration-color:color-mix(in srgb,var(--primary) 38%,transparent);text-underline-offset:3px;font-weight:800}.privacy-document code{background:var(--primary-soft);color:color-mix(in srgb,var(--primary) 48%,var(--text));border-radius:4px;padding:2px 5px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:.9em}.privacy-summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:18px 0 0;padding:0;list-style:none;display:grid}.privacy-summary-list li{color:var(--muted-strong);padding-left:18px;position:relative}.privacy-summary-list li:before{background:var(--primary);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.privacy-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:18px;overflow-x:auto}.privacy-table{border-collapse:collapse;text-align:left;width:100%;min-width:720px}.privacy-table td,.privacy-table th{border-bottom:1px solid var(--line);vertical-align:top;padding:15px 18px}.privacy-table thead th{background:color-mix(in srgb,var(--primary-soft) 60%,var(--surface));color:var(--text);font-size:13px}.privacy-table tbody th{width:20%;color:var(--text)}.privacy-table tbody td{color:var(--muted-strong)}.privacy-table tbody tr:last-child>*{border-bottom:0}.privacy-definition-list,.privacy-service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 0;display:grid}.privacy-definition-list div,.privacy-service-list article{border-top:2px solid color-mix(in srgb,var(--primary) 52%,var(--line));padding-top:14px}.privacy-definition-list dt,.privacy-service-list h3{color:var(--text);margin:0;font-size:16px;font-weight:900}.privacy-definition-list dd,.privacy-service-list p{color:var(--muted-strong);margin:8px 0 0}.section-title>span{color:var(--muted);font-size:13px}.friend-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.friend-link-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,var(--friend-color,var(--primary)) 8%,transparent),transparent 54%),var(--surface);box-shadow:var(--shadow);color:inherit;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.friend-link-card:hover{border-color:color-mix(in srgb,var(--friend-color,var(--primary)) 42%,var(--line));transform:translateY(-2px);box-shadow:0 18px 52px #1e27401a}.friend-avatar{background:color-mix(in srgb,var(--friend-color,var(--primary)) 18%,var(--surface-strong));width:48px;height:48px;color:color-mix(in srgb,var(--friend-color,var(--primary)) 42%,var(--text));border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden}.friend-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.friend-avatar span{line-height:1}.friend-link-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.friend-link-head h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.friend-link-head span{background:color-mix(in srgb,var(--friend-color,var(--primary)) 14%,var(--surface-strong));color:color-mix(in srgb,var(--friend-color,var(--primary)) 42%,var(--text));border-radius:999px;flex:none;padding:3px 8px;font-size:12px;font-weight:800}.about-note p,.bookmark-list p,.friend-link-card p{color:var(--muted-strong);margin:8px 0 0}.friend-link-card small{color:var(--muted);margin-top:12px;font-weight:700;display:block}.about-collection-layout{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:start;gap:24px;display:grid}.collection-panel{min-width:0}.bookmark-list{gap:12px;display:grid}.bookmark-list a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:4px;padding:16px 18px;transition:border-color .18s,transform .18s;display:grid;box-shadow:0 14px 42px #1e27400f}.bookmark-list a:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));transform:translateY(-1px)}.about-note strong,.bookmark-list strong{color:var(--text);font-size:16px}.bookmark-list small{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.image-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.image-collection-grid figure{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:230px;margin:0;position:relative;overflow:hidden;box-shadow:0 14px 42px #1e27400f}.image-collection-grid img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:230px;transition:transform .42s cubic-bezier(.22,1,.36,1)}.image-collection-grid figure:hover img{transform:scale(1.04)}.image-collection-grid figcaption{color:#fff;background:linear-gradient(#0000,#0e1220c2);padding:42px 14px 14px;position:absolute;bottom:0;left:0;right:0}.image-collection-grid span,.image-collection-grid strong{display:block}.image-collection-grid strong{font-size:15px}.image-collection-grid span{color:#ffffffd1;margin-top:4px;font-size:12px;line-height:1.5}.about-notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:28px;display:grid}.about-note{border:1px dashed color-mix(in srgb,var(--primary) 36%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--primary-soft) 38%,transparent);padding:18px}.article-hero{border-bottom:1px solid var(--line);padding:14px 0 34px}.back-link{width:max-content;color:var(--muted);gap:6px;margin-bottom:24px;font-weight:800}.back-link:hover{color:var(--primary)}.article-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.46fr);align-items:center;gap:34px;display:grid}.article-hero-grid img{aspect-ratio:16/10;border-radius:var(--radius);-o-object-fit:cover;object-fit:cover;width:100%;box-shadow:var(--shadow)}.hero-meta{margin:20px 0 14px}.article-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-top:28px;display:grid}.article-content{min-width:0;padding:34px;overflow:hidden}.article-content :where(h2,h3){color:var(--text);margin:32px 0 12px;scroll-margin-top:112px;line-height:1.35}.article-content h2{font-size:25px}.article-content h3{font-size:20px}.article-content p{max-width:68ch;color:var(--muted-strong);margin:14px 0;font-size:16px;line-height:1.9}.article-content :where(ul,ol){max-width:68ch;color:var(--muted-strong);margin:14px 0;padding-left:1.4em;line-height:1.9}.article-content li+li{margin-top:6px}.article-content blockquote{border-left:3px solid var(--primary);background:var(--primary-soft);max-width:68ch;color:var(--muted-strong);border-radius:0 8px 8px 0;margin:22px 0;padding:14px 18px}.article-content blockquote p{margin:0}.article-content :not(pre)>code{border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--primary);font-family:var(--font-mono);font-variant-ligatures:contextual;overflow-wrap:anywhere;white-space:normal;word-break:break-word;border-radius:6px;padding:.1em .38em;font-size:.9em}.article-code-block{border:1px solid color-mix(in srgb,var(--line-strong) 86%,transparent);background:#f6f8fa;border-radius:8px;width:100%;min-width:0;margin:24px 0;overflow:hidden;box-shadow:0 16px 44px #1e274014}.dark .article-code-block{background:#0d1117;border-color:#30363d;box-shadow:0 18px 52px #00000042}.article-code-header{border-bottom:1px solid color-mix(in srgb,var(--line-strong) 78%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 88%,transparent),#f6f8faf5),#f6f8fa;color:#57606a;align-items:center;gap:10px;min-height:42px;margin:0;padding:0 14px;font-size:12px;font-weight:800;display:flex}.dark .article-code-header{color:#8b949e;background:linear-gradient(#161b22f5,#0d1117f5),#0d1117;border-bottom-color:#30363d}.article-code-dots{gap:6px;width:39px;margin-right:2px;display:inline-flex}.article-code-dots i{background:#ff7aa8;border-radius:50%;width:9px;height:9px;box-shadow:15px 0 #f2b84b,30px 0 #36c7d6}.article-code-dots i:nth-child(n+2){display:none}.article-code-language{background:color-mix(in srgb,var(--primary) 10%,#fff);color:color-mix(in srgb,var(--primary) 72%,#24292f);border-radius:999px;padding:3px 8px}.dark .article-code-language{color:#ff9fc0;background:#ff7aa824}.article-code-filename{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.article-code-pre,.article-content pre{color:#24292f;max-width:100%;font-family:var(--font-mono);font-variant-ligatures:contextual;border:0;border-radius:0;margin:0;padding:18px;font-size:14px;line-height:1.7;overflow-x:auto;background:#f6f8fa!important}.dark .article-code-pre,.dark .article-content pre{color:#e6edf3;background:#0d1117!important}.article-content>pre{border:1px solid var(--line);border-radius:8px;margin:24px 0}.article-code-pre code,.article-content pre code{color:inherit;font:inherit}.article-code-pre code .line,.article-content pre code .line{min-height:1.7em;display:block}.dark .article-code-pre span,.dark .article-content pre span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.article-content table{border-collapse:collapse;width:100%;max-width:100%;color:var(--muted-strong);-webkit-overflow-scrolling:touch;margin:22px 0;display:block;overflow-x:auto}.article-content :where(th,td){border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 12px}.article-content th{color:var(--text);font-weight:800}.article-content :first-child{margin-top:0}.article-aside{align-self:start;gap:16px;display:grid;position:sticky;top:104px}.article-aside .content-card{gap:12px;display:grid}.article-related-card a{border-bottom:1px solid var(--line);gap:5px;padding:12px 0;display:grid}.article-related-card a:last-child{border-bottom:0}.article-related-card strong{color:var(--text)}.article-related-card span{color:var(--muted);font-size:13px}.article-toc{gap:14px;padding:18px}.article-toc-heading{gap:2px;display:grid}.article-toc-heading span{color:var(--primary);text-transform:uppercase;font-size:11px;font-weight:800}.article-toc-heading h2{color:var(--text);margin:0;font-size:18px}.article-toc-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.article-toc-list li{min-width:0}.article-toc-link{min-height:36px;padding:8px 10px 8px calc(14px + var(--toc-depth,0)*14px);color:var(--muted-strong);overflow-wrap:anywhere;border-radius:6px;font-size:13px;line-height:1.5;transition:background .18s,color .18s,transform .18s;display:block;position:relative}.article-toc-link:before{top:10px;bottom:10px;left:calc(4px + var(--toc-depth,0)*14px);background:var(--line-strong);content:"";border-radius:999px;width:2px;transition:background .18s,transform .18s;position:absolute}.article-toc-link:hover{background:color-mix(in srgb,var(--primary-soft) 72%,transparent);color:var(--text)}.article-toc-link.active{background:var(--primary-soft);color:var(--primary);font-weight:800}.article-toc-link.active:before{background:var(--primary);transform:scaleY(1.25)}@media (width>=1181px) and (height<=760px){.article-aside{position:static}}@media (width<=1180px){.app-header{padding:0 24px}.hero-section{grid-template-columns:minmax(280px,.95fr) minmax(360px,1.1fr);grid-template-areas:none;padding:34px 24px}.hero-copy,.hero-image-wrap,.hero-metrics{grid-area:auto}.hero-metrics{grid-column:1/-1}.about-collection-layout,.archive-layout,.article-layout,.content-dashboard,.privacy-hero,.project-detail-layout{grid-template-columns:1fr}.project-detail-hero-grid{grid-template-columns:minmax(0,1fr);align-items:start}.project-detail-hero-grid>div{min-width:0}.project-detail-hero-grid img{justify-self:start;width:min(100%,760px)}.privacy-choice-panel{max-width:720px;padding-left:20px}.article-layout{flex-direction:column;display:flex}.article-content{order:2}.article-aside{display:contents}.article-toc{order:1}.article-related-card{order:3}.about-notes-grid,.friend-link-grid,.privacy-definition-list,.privacy-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.side-panel{-moz-column-gap:22px;grid-template-columns:minmax(0,.8fr) minmax(280px,1fr);grid-template-areas:"quick-title timeline""quick-links timeline";column-gap:22px}.side-panel>.section-title{grid-area:quick-title}.side-panel>.quick-links{grid-area:quick-links}.side-panel>.timeline-box{border-top:0;border-left:1px solid var(--line);grid-area:timeline;padding-top:0;padding-left:20px}.article-aside,.project-facts{position:static}}@media (width<=900px){.app-header{grid-template-columns:1fr auto;min-height:68px;padding:0 18px}.desktop-nav{display:none}.mobile-menu-button{display:inline-grid}.mobile-nav{top:68px}.hero-section{grid-template-columns:1fr}.hero-image-wrap{border-radius:var(--radius);min-height:240px}.about-grid,.about-notes-grid,.friend-link-grid,.hero-metrics,.privacy-definition-list,.privacy-service-list,.privacy-summary-list,.project-grid{grid-template-columns:1fr}.privacy-choice-banner{right:18px;bottom:calc(var(--music-dock-space) + 18px + env(safe-area-inset-bottom,0px));width:auto;left:18px}.image-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{gap:22px}.archive-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-year{grid-template-columns:1fr;gap:10px}.archive-year-mark{align-items:baseline;gap:10px;padding-top:0;display:flex;position:static}.archive-year-mark span{margin-top:0}.project-grid .project-card+.project-card{border-top:1px solid var(--line);padding-top:22px}.article-page,.content-dashboard,.project-detail-page,.section-pad,.sub-page{padding-left:18px;padding-right:18px}.side-panel{-moz-column-gap:0;grid-template-columns:1fr;grid-template-areas:"quick-title""quick-links""timeline";column-gap:0}.side-panel>.timeline-box{border-top:1px solid var(--line);border-left:0;padding-top:18px;padding-left:0}.article-hero-grid,.filter-bar,.project-detail-hero-grid,.project-feature,.project-showcase-grid,.stack-grid{grid-template-columns:1fr}.article-list:not(.compact) .article-row,.article-row{grid-template-columns:120px minmax(0,1fr)}.about-hero{align-items:flex-start}}@media (width<=620px){body{font-size:14px}.brand{font-size:18px}.header-actions{gap:4px}.back-top,.icon-button{width:38px;height:38px}.theme-toggle{width:54px;height:38px}.search-overlay{padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));place-items:start stretch}.search-panel{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.search-input-row{padding:12px}.search-tags{scrollbar-width:none;flex-wrap:nowrap;padding-right:12px;overflow-x:auto}.search-tags::-webkit-scrollbar{display:none}.search-tags button{flex:none}.search-results{max-height:calc(100dvh - 214px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding-left:10px;padding-right:10px}.search-result{grid-template-columns:32px minmax(0,1fr) 16px;gap:10px;min-height:76px;padding:10px}.search-result-icon{width:32px;height:32px}.search-result-tags{display:none}.hero-section{padding:26px 18px}.article-hero h1,.hero-copy h1,.page-hero h1,.project-detail-hero h1{font-size:32px}.article-hero p,.hero-lede,.page-hero p,.project-detail-hero-grid p{font-size:15px}.hero-traits{gap:12px}.metric-card{min-height:auto}.tag-list{scrollbar-width:none;flex-wrap:nowrap;margin-right:-18px;padding:4px 18px 10px 0;scroll-padding-inline:18px;overflow-x:auto}.tag-list::-webkit-scrollbar{width:0;height:0;display:none}.tag-pill{flex:none}.article-content,.article-directory,.content-card,.project-detail-main .content-card,.project-facts,.side-panel{padding:16px}.project-actions{display:grid}.content-pagination{flex-direction:column;align-items:stretch}.pagination-summary{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px}.pagination-controls{justify-content:flex-start}.project-evidence-list>div,.project-stage-note{grid-template-columns:1fr;gap:6px}.article-list:not(.compact) .article-row,.article-row{grid-template-columns:1fr}.article-row img{aspect-ratio:16/9}.article-meta{gap:9px}.archive-list li{grid-template-columns:10px minmax(0,1fr);gap:10px}.archive-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-stat{padding:14px}.archive-stat strong,.archive-year-mark strong{font-size:22px}.archive-section-title{gap:8px;display:grid}.archive-section-title p{text-align:left;max-width:none}.archive-activity{padding-left:12px;padding-right:12px}.archive-timeline-card{padding:14px}.archive-timeline-card a{white-space:normal}.archive-timeline-card p{font-size:13px}.archive-list small,.archive-list time{grid-column:2}.about-hero{display:grid}.about-hero img{width:130px}.about-profile-stats,.friend-link-head{display:grid}.about-profile-stats{grid-template-columns:1fr}.about-profile-stats div{min-width:0}.friend-link-head{justify-items:start}.image-collection-grid{grid-template-columns:1fr}.image-collection-grid figure,.image-collection-grid img{min-height:210px}.app-footer{padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px));justify-items:start;display:grid}.privacy-choice-actions,.privacy-page-actions{grid-template-columns:1fr;display:grid}.primary-action,.secondary-action{width:100%}.back-top{right:18px;bottom:calc(24px + var(--music-dock-space) + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.article-toc-link,.article-toc-link:before{transition:none}.filter-panel-enter-active,.filter-panel-enter-active .article-row,.filter-panel-enter-active .project-card,.filter-panel-enter-active .project-feature,.filter-panel-leave-active{transition:none;animation:none}.filter-panel-enter-from,.filter-panel-leave-to{opacity:1;transform:none}.search-loading-indicator{animation:none}.primary-action,.privacy-choice-enter-active,.privacy-choice-leave-active,.search-result,.search-result-arrow,.search-result-enter-active,.search-result-leave-active,.search-result-move,.secondary-action{transition:none}.search-result-enter-from,.search-result-leave-to,.search-result.is-active,.search-result:hover{transform:none}.project-tags a,.taxonomy-arrow,.taxonomy-card,.taxonomy-related-links a{transition:none}.site-ambient{display:none}.music-player.playing .music-mini-disc,.music-player.playing .vinyl,.preloader-disc,.weather-effect:after,.weather-effect:before{animation:none}}.error-page[data-v-5c6d3d07]{grid-template-columns:minmax(260px,.88fr) minmax(320px,1fr);align-items:center;gap:40px;width:min(100%,1180px);min-height:calc(100vh - 160px);margin:0 auto;padding:54px 44px;display:grid;position:relative;overflow:hidden}.error-page[data-v-5c6d3d07]:before{z-index:-1;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(color-mix(in srgb,var(--line) 52%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 52%,transparent) 1px,transparent 1px),linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,transparent),transparent 42%),color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:var(--shadow);content:"";background-size:38px 38px,38px 38px,auto,auto;position:absolute;inset:42px 44px}.error-visual[data-v-5c6d3d07]{min-width:0;position:relative}.error-visual[data-v-5c6d3d07]:before{background:color-mix(in srgb,var(--primary) 20%,transparent);content:"";filter:blur(22px);border-radius:50%;height:24%;position:absolute;inset:auto 7% 0}.error-visual img[data-v-5c6d3d07]{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);-o-object-fit:cover;object-fit:cover;width:min(100%,420px);box-shadow:0 24px 70px color-mix(in srgb,var(--primary) 18%,transparent);margin:0 auto;position:relative}.error-copy[data-v-5c6d3d07]{min-width:0;padding:22px 0}.error-code[data-v-5c6d3d07]{color:color-mix(in srgb,var(--primary) 72%,var(--text));letter-spacing:0;margin:0 0 4px;font-size:92px;font-weight:900;line-height:.96}.error-copy h1[data-v-5c6d3d07]{color:var(--text);letter-spacing:0;margin:0;font-size:44px;line-height:1.18}.error-lede[data-v-5c6d3d07]{max-width:560px;color:var(--muted-strong);margin:16px 0 0;font-size:16px}.error-actions[data-v-5c6d3d07]{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.error-actions a[data-v-5c6d3d07],.error-actions button[data-v-5c6d3d07]{cursor:pointer;border:0}.error-actions .ghost-button[data-v-5c6d3d07]{border:1px solid var(--line-strong)}.error-actions svg[data-v-5c6d3d07],.error-notes svg[data-v-5c6d3d07]{width:18px;height:18px}.error-notes[data-v-5c6d3d07]{color:var(--muted);flex-wrap:wrap;gap:12px 18px;margin-top:24px;font-size:14px;font-weight:700;display:flex}.error-notes span[data-v-5c6d3d07]{align-items:center;gap:7px;display:inline-flex}@media (width<=900px){.error-page[data-v-5c6d3d07]{grid-template-columns:1fr;gap:24px;min-height:calc(100vh - 150px);padding:34px 18px}.error-page[data-v-5c6d3d07]:before{inset:26px 18px}.error-visual[data-v-5c6d3d07]{order:2}.error-visual img[data-v-5c6d3d07]{width:min(100%,360px)}.error-copy[data-v-5c6d3d07]{order:1;padding:18px 0 0}}@media (width<=620px){.error-page[data-v-5c6d3d07]{min-height:calc(100vh - 140px);padding:28px 18px}.error-page[data-v-5c6d3d07]:before{inset:18px 12px}.error-code[data-v-5c6d3d07]{font-size:68px}.error-copy h1[data-v-5c6d3d07]{font-size:32px}.error-lede[data-v-5c6d3d07]{font-size:15px}.error-actions[data-v-5c6d3d07]{display:grid}}
