/* Shared cosmic backdrop and independent page layouts. */
body{background:#0a1023;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column}main{flex:1;min-width:0}.universe{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 83% 14%,#142d50 0%,transparent 52%),radial-gradient(ellipse at 8% 88%,#18213c 0%,transparent 55%),#090e22}.universe:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060d2340,transparent 70%);pointer-events:none}.nebula{position:absolute;border-radius:50%;filter:blur(64px);opacity:.72;transform:rotate(-32deg)}.nebula-a{width:100vw;height:52vw;min-height:410px;top:-14vw;left:30%;background:radial-gradient(ellipse at 30% 50%,#316b9b39 0%,transparent 47%),radial-gradient(ellipse at 66% 46%,#7451b34d 0%,transparent 53%),radial-gradient(ellipse at 40% 60%,#238da136,transparent 48%)}.nebula-b{width:100vw;height:40vw;min-height:400px;bottom:-20%;left:-25%;background:radial-gradient(ellipse at 30% 50%,#3b458c61,transparent 55%),radial-gradient(ellipse at 80% 20%,#7b3e9354,transparent 55%)}.galactic-dust{position:absolute;width:150vw;height:44vw;min-height:300px;top:2%;left:-15%;transform:rotate(-28deg);background:radial-gradient(ellipse,#92bded09 0%,#7668ca09 25%,transparent 66%);filter:blur(20px)}#starfield{display:block;width:100%;height:100%;position:absolute;inset:0}.site-header{background:linear-gradient(#0a102573,#0a102500)}.site-header.scrolled{background:#0a1029d9}.desktop-nav a.active:after{box-shadow:0 0 10px #78dce8aa}.hero{grid-template-columns:1fr 1.1fr;min-height:650px;gap:0;padding-top:42px;padding-bottom:90px}.hero-copy{text-shadow:0 3px 25px #070b2b}.hero h1>span{background-image:linear-gradient(110deg,#edf4ff 10%,#b8d7f0 65%,#aeb4ee)}.hero-description{color:#b8c8dc}.hero-footnote{color:#a6bfd5}.eyebrow{color:#bcd5ed}.now-section{padding-top:42px;padding-bottom:60px;border-color:#b6c9f51c}.now-card{background:linear-gradient(135deg,#18233dca,#111b31b0);border-color:#a9caf51e;backdrop-filter:blur(12px)}.now-card:hover{border-color:#8bddea66;background:linear-gradient(135deg,#20314ed9,#17233bbf)}.section-aside,.now-card p{color:#b0c1d6}.site-footer{border-color:#b6c9f51c}.observatory{position:relative;height:480px;min-width:0;isolation:isolate}.observatory:before{content:"";position:absolute;inset:40px -20px;background:radial-gradient(ellipse,#3485b629,transparent 64%);pointer-events:none}.observatory-heading,.observatory-footer{position:absolute;left:18px;right:0;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:1;pointer-events:none}.observatory-heading{top:4px}.observatory-heading .section-index{font-size:8px;letter-spacing:2px;color:#b2cce0}.observatory-status{font-size:9px;color:#afcbdd;display:flex;gap:8px;align-items:center}.observatory-footer{bottom:8px;font-size:10px;color:#b7cede;letter-spacing:.5px}.planet-reset{pointer-events:auto;color:#b3d7ea;border:1px solid #a4cdf033;border-radius:6px;background:#10233a7a;font-size:10px;padding:5px 10px}.planet-reset:hover{color:#fff;background:#234a687a}.observatory canvas{width:100%;height:100%;position:relative;display:block;touch-action:pan-y;cursor:grab;outline-offset:-25px}.observatory canvas:active{cursor:grabbing}.observatory canvas:focus-visible{outline:1px solid #78dce87a;border-radius:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-intro{padding-top:65px;padding-bottom:38px;position:relative}.page-intro h1{font-size:clamp(30px,4vw,47px);font-weight:500;line-height:1.5;letter-spacing:-1.5px;margin:17px 0 17px}.page-intro>p{font-size:14px;line-height:2;color:#b6c7db;margin:0}.page-intro+.section{padding-top:12px;padding-bottom:90px}.page-intro+.writing-section{min-height:430px}.article-row{border-color:#b0c7ed22;padding-block:30px}.article-row:hover{background:#8bbfff09}.article-summary{color:#aebed4}.article-date{color:#a9c3db}.filter.active{background:#91bce318;border-color:#a4cdf036}.sample-notice{color:#aebed4;margin:0 0 23px}.project-visual{border-color:#91b5e633;background-color:#152342}.project-copy{padding-top:22px}.project-grid{gap:30px}.project-title{font-size:20px}.project-description{color:#b3c4d9}.project-visual{height:260px}.about-page-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:14px;padding-bottom:85px;align-items:center}.about-manifesto{background:radial-gradient(ellipse at top,#34568342,transparent 72%),#111d354f;border:1px solid #a3bbec24;border-radius:18px;padding:40px;min-height:360px;backdrop-filter:blur(10px)}.manifesto-mark{font:italic 85px Georgia,serif;color:#d9e8f7;display:block;line-height:1.3;margin-bottom:22px}.manifesto-mark>span{color:#78dce8}.about-manifesto h2{font-size:24px;line-height:1.7;font-weight:500;margin-block:15px}.about-manifesto>p:last-child{font-size:12px;color:#adc5dc}.about-story h2{font-size:23px;font-weight:500;margin-top:0}.about-story p{color:#b5c7dc;font-size:14px;line-height:2.2;margin-block:18px}.about-interests{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px;margin-bottom:20px}.about-interests>span{font-size:11px;color:#bdd3e7;border:1px solid #a5c9ed2b;border-radius:20px;padding:4px 12px}.detail-dialog{background:#101a31}.detail-dialog::backdrop{background:#05091cbf}.mobile-nav{background:#0c1731ed}.mobile-nav a.active{color:var(--accent)}
@media(max-width:1000px){.hero{min-height:600px}.observatory{height:400px}.observatory-heading{left:5px;right:0}.observatory-heading .section-index{font-size:6px}.observatory-status{font-size:8px;gap:5px}.observatory-footer{left:7px;font-size:8px;gap:10px}.planet-reset{font-size:8px;padding:5px 8px}.about-page-grid{gap:35px}.about-manifesto{padding:30px}.page-intro{padding-top:50px}}
@media(max-width:720px){.universe{background:radial-gradient(ellipse at 100% 35%,#1c3255 0%,transparent 65%),radial-gradient(ellipse at 0 85%,#27274e 0%,transparent 60%),#0a1028}.nebula-a{top:20%;left:0;width:160vw;min-height:400px;opacity:.65}.nebula-b{bottom:-20%;width:170vw;left:-40%;opacity:.55}.hero{grid-template-columns:minmax(0,1fr);min-height:initial;padding-top:42px;padding-bottom:50px}.hero-copy{min-width:0}.hero h1{font-size:clamp(38px,8vw,54px)}.observatory{height:360px;margin-top:35px;width:100%;overflow:clip}.observatory-heading{left:0;right:0;top:0}.observatory-heading .section-index{font-size:7px}.observatory-status{font-size:9px}.observatory-footer{left:0;right:0;bottom:0;font-size:9px}.planet-reset{font-size:9px}.now-section{padding-top:32px;padding-bottom:40px}.page-intro{padding-top:42px;padding-bottom:28px}.page-intro h1{font-size:31px;line-height:1.6;letter-spacing:-1px;margin-top:12px}.page-intro>p{font-size:12px}.page-intro+.section{padding-top:7px;padding-bottom:50px;min-height:initial}.project-visual{height:245px}.project-title{font-size:18px}.project-copy{padding-top:16px}.project-grid{gap:35px}.article-row{padding-block:25px}.about-page-grid{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:45px}.about-manifesto{min-height:300px;padding:28px}.manifesto-mark{font-size:65px;margin-bottom:15px}.about-manifesto h2{font-size:23px}.about-story h2{font-size:21px}.about-story p{font-size:13px}.footer-note{font-size:9px}}
@media(max-width:370px){.observatory{height:310px}.observatory-heading .section-index{font-size:6px}.observatory-footer{font-size:8px}.planet-reset{font-size:8px}.page-intro h1{font-size:28px}}

/* Reading scale: keep essential text comfortably readable on every page. */
body{font-size:1rem;line-height:1.85}
.brand{font-size:1.25rem}
.desktop-nav,.mobile-nav a{font-size:1rem}
.desktop-nav{gap:38px}
.draft-label{font-size:.75rem}
.hero-description{font-size:1.125rem;line-height:1.95}
.button{font-size:.9375rem;padding:12px 20px;gap:20px;min-height:46px}
.hero-actions{flex-wrap:wrap}
.hero-footnote,.scroll-cue{font-size:.8125rem;letter-spacing:1px}
.eyebrow{font-size:.75rem;letter-spacing:1.5px}
.section-index,.small-label,.section-aside{font-size:.8125rem}
.section-heading h2{font-size:1.875rem}
.now-card{padding:26px;min-width:0}
.now-card h3{font-size:1.3125rem;line-height:1.65}
.now-card p{font-size:.9375rem;line-height:1.9}
.tags>span{font-size:.75rem;padding:4px 9px}
.card-bottom-label{font-size:.6875rem;letter-spacing:1px;overflow-wrap:anywhere}
.flow-caption{font-size:.625rem;letter-spacing:.5px;gap:8px}
.flow-caption>span{margin-right:0}
.sample-notice,.example-label,.project-meta,.project-meta>span{font-size:.75rem}
.project-meta{flex-wrap:wrap}
.project-title{font-size:1.5rem;line-height:1.6;gap:16px}
.project-title>span{flex-shrink:0}
.project-description{font-size:1rem;line-height:1.85}
.visual-caption{font-size:.6875rem;letter-spacing:1.5px}
.visual-bottom{font-size:.625rem;letter-spacing:.7px;right:20px}
.mini-node{font-size:.8125rem;flex-shrink:0}
.mini-node-core{font-size:1rem}
.mini-node>span{font-size:.75rem}
.filter{font-size:.9375rem;padding:8px 15px;min-height:44px}
.article-filters{flex-wrap:wrap;gap:8px}
.article-date,.article-read{font-size:.8125rem}
.article-date{min-width:95px}
.article-title{font-size:1.25rem;line-height:1.7}
.article-summary{font-size:.9375rem;line-height:1.85;margin-top:8px}
.article-row{gap:28px;padding-block:30px}
.page-intro>p{font-size:1.0625rem;line-height:1.95}
.about-story h2{font-size:1.625rem}
.about-story p{font-size:1.0625rem;line-height:2}
.about-interests>span{font-size:.8125rem}
.about-manifesto>p:last-child,.text-link{font-size:.9375rem}
.site-footer,.footer-brand,.footer-note{font-size:.75rem;line-height:1.8}
.site-footer{flex-wrap:wrap}
.footer-beian{color:#8b9bac;text-decoration:none;transition:color .2s}
.footer-beian:hover{color:var(--accent);text-decoration:underline}
.detail-dialog{width:min(720px,calc(100% - 32px))}
.detail-dialog p,.detail-dialog li{font-size:1.0625rem;line-height:1.95}
.detail-dialog h3{font-size:1.25rem}
.preview-flow{font-size:.9375rem}
.observatory-heading,.observatory-footer{flex-wrap:wrap;row-gap:8px}
.observatory-heading .section-index{font-size:.6875rem;letter-spacing:1px}
.observatory-status,.planet-reset{font-size:.75rem}
.observatory-footer{font-size:.8125rem}
.planet-reset{padding:7px 11px;min-height:36px}
@media(min-width:721px) and (max-width:1000px){
  .now-grid{grid-template-columns:1fr 1fr}
  .now-main{grid-column:1/-1}
  .flow-graphic{width:65%}
  .observatory-heading .section-index{max-width:100%}
}
@media(max-width:720px){
  .hero-description{font-size:1.0625rem}
  .brand{font-size:1.125rem}
  .hero h1{font-size:clamp(38px,8vw,54px)}
  .button{font-size:.9375rem;padding:11px 16px;gap:14px}
  .hero-actions{gap:10px}
  .hero-footnote,.scroll-cue{font-size:.75rem}
  .section-heading h2{font-size:1.625rem}
  .now-card{padding:23px}
  .now-card h3,.now-main h3{font-size:1.25rem}
  .now-card p{font-size:1rem}
  .project-title{font-size:1.3125rem}
  .project-description{font-size:1rem}
  .article-title{font-size:1.125rem}
  .article-summary{font-size:.9375rem;padding-right:8px}
  .article-read{font-size:0}
  .article-read>span{font-size:1.25rem;top:27px}
  .article-row{gap:12px;padding-block:25px}
  .page-intro>p,.about-story p,.detail-dialog p,.detail-dialog li{font-size:1rem}
  .sample-notice,.example-label{font-size:.75rem}
  .example-label{margin-left:0}
  .site-footer{gap:14px}
  .footer-note{font-size:.75rem}
  .observatory{margin-top:42px}
}
@media(max-width:560px){
  .now-grid{grid-template-columns:minmax(0,1fr)}
  .now-main{grid-column:auto}
  .now-card{min-height:260px}
  .now-note h3{margin-top:30px}
  .now-card p br{display:none}
  .draft-label{display:none}
  .card-bottom-label{font-size:.75rem}
  .hero-actions .button{flex-wrap:nowrap}
}
