:root{color:#efe7d2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d0d12;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#0d0d12;min-width:320px;min-height:100vh;margin:0}button,a,input,textarea,select{font:inherit}button{border:0}img{max-width:100%;display:block}#root{min-height:100vh}::selection{background:#f1b36652}:root{--bg-dark:#07080c;--text:#f5efe3;--muted:#f5efe3b3;--line:#ffffff14}.app-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at top, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 28%), linear-gradient(180deg, #06070a 0%, #090a10 100%);padding:26px 20px 64px}.page-header,.theme-tabs,.figure-tabs,.design{width:min(1280px,100%);margin:0 auto}.page-kicker,.eyebrow,.paper-meta,.theme-tab span,.figure-tab span,.lab-data-row span,.poster-topline{text-transform:uppercase;letter-spacing:.18em;font-family:JetBrains Mono,ui-monospace,monospace}.page-kicker,.eyebrow,.theme-tab span,.figure-tab span,.lab-data-row span,.poster-topline{color:color-mix(in srgb, var(--accent) 60%, #e1ccb0);font-size:.72rem}.page-header h1,.design h2,.design h3{font-family:Cormorant Garamond,STSong,Songti SC,serif}.page-header h1{letter-spacing:-.04em;margin:10px 0 12px;font-size:clamp(2.4rem,4vw,4.5rem);line-height:.95}.page-intro{max-width:60rem;color:var(--muted);margin:0;line-height:1.8}.theme-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.theme-tab,.figure-tab{text-align:left;color:inherit;border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:18px;transition:transform .18s,border-color .18s,background .18s}.theme-tab{padding:14px 12px}.theme-tab:hover,.theme-tab.active,.figure-tab:hover,.figure-tab.active{border-color:color-mix(in srgb, var(--accent) 45%, #ffffff1f);background:#ffffff12;transform:translateY(-2px)}.theme-tab strong,.figure-tab strong{margin-top:8px;font-size:1rem;display:block}.theme-tab small,.figure-tab small{color:var(--muted);margin-top:6px;display:block}.figure-tabs{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.figure-tab{min-width:140px;padding:10px 14px}.figure-tab strong{font-size:1.1rem}.design{min-height:760px;margin-top:22px}.design-grid.two-col,.paper-book-grid,.gallery-light-grid,.lab-grid,.scroll-layout{grid-template-columns:1fr 1fr;gap:20px;display:grid}.copy-panel,.hero-object-panel,.info-row article,.paper-book-frame,.poster-wall-grid>*,.lab-panel,.light-copy,.light-object,.scroll-cell{border:1px solid var(--line);border-radius:28px}.copy-panel,.hero-object-panel,.info-row article,.poster-wall-grid>*,.lab-panel,.light-copy,.light-object,.scroll-cell{padding:24px}.copy-panel,.hero-object-panel,.info-row article,.lab-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0a}.design h2{letter-spacing:-.04em;margin:10px 0 14px;font-size:clamp(2.4rem,5vw,5rem);line-height:.95}.design p,.design blockquote{color:var(--muted);line-height:1.85}.design blockquote{border-left:1px solid color-mix(in srgb, var(--accent) 40%, #ffffff1f);margin:18px 0 0;padding-left:18px;font-family:Cormorant Garamond,serif;font-size:1.32rem;font-style:italic}.info-row.two-blocks{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.tag-list{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.tag-list span{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;padding:8px 12px}.portrait{aspect-ratio:.84;clip-path:polygon(49% 1%,58% 4%,65% 10%,70% 18%,76% 28%,78% 37%,75% 46%,73% 57%,81% 68%,88% 80%,84% 97%,16% 97%,12% 80%,19% 68%,27% 57%,25% 46%,22% 37%,24% 28%,30% 18%,35% 10%,42% 4%);background:radial-gradient(circle at 50% 12%, color-mix(in srgb, var(--accent) 24%, #ffffff0f), transparent 28%), linear-gradient(180deg, #ffffff17, #ffffff06);border:1px solid #ffffff14;width:min(470px,96%);position:relative;overflow:hidden;box-shadow:0 24px 60px #00000052}.portrait.compact{width:min(330px,100%)}.portrait.light{background:radial-gradient(circle at 50% 12%, color-mix(in srgb, var(--accent) 18%, #ffffff80), transparent 28%), linear-gradient(180deg, #ffffff8c, #ffffff29)}.portrait.ink{filter:grayscale(.2)contrast(1.05)}.portrait:before{content:"";opacity:.45;background:linear-gradient(90deg,#0000,#ffffff14,#0000),radial-gradient(circle,#ffffff0a,#0000 56%);position:absolute;inset:0}.portrait-word{white-space:nowrap;text-shadow:0 0 12px #0000006b;animation:8s ease-in-out infinite drift;position:absolute;transform:translate(-50%,-50%)}.portrait-word.soft{color:#f5efe38a;font-size:.95rem}.portrait-word.mid{color:color-mix(in srgb, var(--accent) 58%, #fff0d4);font-size:1.18rem}.portrait-word.strong{color:color-mix(in srgb, var(--accent) 78%, #fff7e8);font-size:1.62rem;font-weight:700}.design-paper-book{color:#302419}.paper-book-frame{background:linear-gradient(#f3e8d3,#e5d5b9);padding:24px;box-shadow:0 28px 80px #0000003d}.paper-header{border-bottom:1px solid #3d2d1d1f;justify-content:space-between;gap:16px;padding-bottom:18px;display:flex}.paper-header h2,.paper-reading-box h3,.scroll-cell h3,.gallery-light-grid h2{color:#2d2118}.paper-meta{color:#7b6142;font-size:.76rem}.paper-portrait-box,.paper-reading-box{background:#ffffff61;border:1px solid #3d2d1d1a;border-radius:24px;padding:22px}.paper-reading-box p,.paper-reading-box blockquote{color:#4f4032}.paper-subtitle{color:#886846!important}.design-poster-wall{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff08,#ffffff03);border-radius:30px;padding:24px}.poster-topline{margin-bottom:16px}.poster-wall-grid{grid-template-rows:auto auto;grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.poster-main-title{background:#ffffff0a;grid-row:span 2}.poster-main-title h2{margin:0 0 14px;font-size:clamp(4rem,10vw,8rem)}.poster-main-title p{max-width:24rem}.poster-portrait,.poster-quote,.poster-note{background:#ffffff08}.design-signal-lab{border:1px solid var(--line);background:#ffffff08;border-radius:30px;padding:24px;position:relative;overflow:hidden}.scan-line{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--accent) 90%, #fff), transparent);width:1px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 40%, transparent);animation:4s linear infinite scan;position:absolute;top:0;bottom:0;left:-10%}.lab-grid{grid-template-columns:.9fr .9fr .7fr}.lab-data-row{border-bottom:1px solid #ffffff0f;grid-template-columns:48px 1fr;gap:10px;padding:12px 0;display:grid}.lab-data-row p{color:var(--text);margin:0}.design-gallery-light{color:#2d241c;background:linear-gradient(#f6f1e8,#ece3d4);border-radius:34px;padding:26px;box-shadow:0 28px 80px #00000029}.gallery-light-grid{align-items:center}.light-copy,.light-object{background:#ffffff73;border-color:#3d2d1d1a}.light-copy p,.light-copy blockquote,.tag-list.dark span{color:#514235}.tag-list.dark span{background:#3d2d1d0a;border-color:#3d2d1d1f}.design-ink-scroll,.scroll-head h2{color:#2d241b}.scroll-layout{grid-template-columns:.85fr 1fr .85fr}.scroll-cell{background:linear-gradient(#efe4d2,#e6d8bf);border-color:#3d2d1d1a;min-height:620px}.scroll-cell p,.scroll-cell blockquote{color:#4f4032}@keyframes drift{0%,to{opacity:.88;transform:translate(-50%,-50%)translateY(0)}50%{opacity:1;transform:translate(-50%,-50%)translateY(-7px)}}@keyframes scan{0%{opacity:0;left:-10%}10%{opacity:1}90%{opacity:1}to{opacity:0;left:110%}}@media (width<=1180px){.theme-tabs,.design-grid.two-col,.paper-book-grid,.poster-wall-grid,.lab-grid,.gallery-light-grid,.scroll-layout,.info-row.two-blocks{grid-template-columns:1fr 1fr}.lab-grid,.scroll-layout,.poster-wall-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{padding:18px 14px 48px}.theme-tabs,.design-grid.two-col,.paper-book-grid,.gallery-light-grid,.info-row.two-blocks,.scroll-layout{grid-template-columns:1fr}.theme-tab,.figure-tab,.copy-panel,.hero-object-panel,.info-row article,.paper-book-frame,.poster-wall-grid>*,.lab-panel,.light-copy,.light-object,.scroll-cell{padding:18px}.theme-tabs{gap:8px}}
