:root{--bg: #f5f2ea;--bg-rgb: 245, 242, 234;--ink-l: #1d2124;--ink-2-l: #30373c;--sub-l: #63686d;--dim-l: #8f9297;--warm-l: #7d5a2d;--brand-ink-l: #41603f;--line-l: rgba(29, 33, 36, .13);--line-2-l: rgba(29, 33, 36, .24);--ink-d: #f6f3ea;--ink-2-d: rgba(246, 243, 234, .8);--sub-d: rgba(246, 243, 234, .62);--dim-d: rgba(246, 243, 234, .4);--warm-d: #e6c094;--brand-ink-d: #a9c9a4;--line-d: rgba(246, 243, 234, .16);--line-2-d: rgba(246, 243, 234, .3);--ink: var(--ink-l);--ink-2: var(--ink-2-l);--sub: var(--sub-l);--dim: var(--dim-l);--warm: var(--warm-l);--brand-ink: var(--brand-ink-l);--line: var(--line-l);--line-2: var(--line-2-l);--brand: #6f906f;--brand-rgb: 111, 144, 111;--brand-2: #ffd9b3;--btn-ink: #f4f1ea;--ink-rgb: 29, 33, 36;--card: rgba(255, 255, 255, .66);--card-solid: #fffdf6;--sh-1: 0 10px 30px rgba(74, 62, 44, .1);--sh-2: 0 24px 60px rgba(74, 62, 44, .16);--sh-3: 0 40px 100px rgba(74, 62, 44, .22);--danger: #b0432f;--danger-rgb: 176, 67, 47;--radius: 18px;--nav-h: 62px;--wrap-pad: clamp(24px, 6vw, 88px);--wrap: 100%;--gutter: var(--wrap-pad);--measure: 38em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sec-y: clamp(112px, 20vh, 232px);--h-sec: clamp(28px, 4.4vw, 48px);--h-card: 18px;--scrim: 0}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{margin:0;background:var(--bg)}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Hiragino Sans GB,system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.no-scroll{overflow:hidden}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--brand-2);color:var(--ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1d21242e;border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#1d21244d;background-clip:content-box}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--wrap-pad)}.h-sec{font-size:var(--h-sec);line-height:1.2;letter-spacing:-.01em;font-weight:600}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.glass{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}[data-reveal].is-in{opacity:1;transform:none}html.is-gated [data-reveal]{opacity:0;transform:translateY(30px)}html.gate-in .hero [data-reveal]{transition-duration:1.25s,1.25s;transition-timing-function:cubic-bezier(.16,1,.3,1),cubic-bezier(.16,1,.3,1)}html.gate-in .hero .wrap.inner{animation:heroClear 1.6s cubic-bezier(.16,1,.3,1) both;will-change:filter,opacity}@keyframes heroClear{0%{opacity:0;filter:blur(16px)}30%{opacity:.5;filter:blur(11px)}70%{opacity:.9;filter:blur(4px)}to{opacity:1;filter:blur(0)}}html.ink-mode{--ink: var(--ink-d);--ink-2: var(--ink-2-d);--sub: var(--sub-d);--dim: var(--dim-d);--warm: var(--warm-d);--brand-ink: var(--brand-ink-d);--line: var(--line-d);--line-2: var(--line-2-d)}html.ink-mode :is(.glass,.card,.gate,.foot,.nav,.panel,.dock,.scene-note){--ink: var(--ink-l);--ink-2: var(--ink-2-l);--sub: var(--sub-l);--dim: var(--dim-l);--warm: var(--warm-l);--brand-ink: var(--brand-ink-l);--line: var(--line-l);--line-2: var(--line-2-l)}html.ink-mode .glass,html.ink-mode .card{--card: rgba(255, 253, 246, .92)}html.ink-mode .nav{--line: rgba(29, 33, 36, .13)}html.ink-mode .hero .tags li{--ink: var(--ink-l);--line-2: var(--line-2-l);background:#fffdf6d1}html.ink-mode .hero .btn.primary{--brand-ink: var(--brand-ink-l)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}html.gate-in .hero .wrap.inner{animation:none}}@media (max-width: 720px){:root{--sec-y: clamp(64px, 12vh, 104px)}body{font-size:15px}}
