:root{--bg: #05070f;--ink: #e8ecf4;--ink-dim: #8ba3c7;--accent: #63b3ff;--deep: #0f4c81;--cyan: #7ee7ff;--amber: #ffc861;--sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--serif: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:#63b3ff59}#webgl{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block}#scroll-root{position:relative;z-index:1}.act{position:relative;min-height:100vh;display:flex;align-items:center;padding:14vh 8vw}.act[data-align=center]{justify-content:center;text-align:center}.act[data-align=left]{justify-content:flex-start}.act[data-align=right]{justify-content:flex-end;text-align:right}.act-inner{max-width:660px}.act[data-align=center] .act-inner{max-width:860px}.kicker{position:absolute;top:14vh;right:6vw;writing-mode:vertical-rl;font-family:var(--mono);letter-spacing:.5em;font-size:clamp(11px,1.1vw,14px);color:var(--accent);opacity:.85}.kicker:before{content:"";display:block;width:1px;height:4em;background:linear-gradient(var(--accent),transparent);margin:0 auto 1.2em}.act[data-align=right] .kicker{right:auto;left:6vw}h1.title{font-weight:700;font-size:clamp(42px,7.5vw,118px);letter-spacing:.06em;line-height:1.04;background:linear-gradient(135deg,#e8ecf4 30%,#8ba3c7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 44px rgba(99,179,255,.28))}h1.title .thin{font-weight:300}.subtitle{margin-top:1.7em;font-size:clamp(15px,1.8vw,21px);letter-spacing:.14em;color:var(--ink-dim);line-height:2}.tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:2.4em}.tags span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--accent);padding:.55em 1.1em;border:1px solid rgba(99,179,255,.35);border-radius:999px;background:#63b3ff0d;backdrop-filter:blur(4px)}h2.head{font-weight:600;font-size:clamp(27px,4.3vw,52px);letter-spacing:.05em;line-height:1.3;margin-bottom:.9em;text-shadow:0 0 30px rgba(0,0,0,.6)}h2.head .accent{color:var(--accent)}.eyebrow{font-family:var(--mono);font-size:clamp(11px,1.1vw,13px);letter-spacing:.34em;color:var(--accent);margin-bottom:1.6em}.lead{font-size:clamp(15px,1.45vw,18px);line-height:2.15;color:var(--ink);letter-spacing:.04em;text-shadow:0 2px 20px rgba(0,0,0,.8)}.lead+.lead{margin-top:1.4em}.lead .dim{color:var(--ink-dim)}.quote{font-family:var(--serif);font-size:clamp(24px,3.6vw,44px);line-height:1.85;letter-spacing:.06em;text-shadow:0 0 40px rgba(99,179,255,.2)}.cta{display:inline-flex;align-items:center;gap:.6em;margin-top:2.4em;padding:.9em 2em;border:1px solid rgba(99,179,255,.55);border-radius:999px;color:var(--accent);text-decoration:none;letter-spacing:.15em;font-size:.95em;transition:background .3s,color .3s,box-shadow .3s;backdrop-filter:blur(4px)}.cta:hover{background:var(--accent);color:#04101f;box-shadow:0 0 34px #63b3ff8c}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:2.4em;width:min(920px,92vw)}.card{padding:1.5em 1.4em;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff08;backdrop-filter:blur(8px);text-align:left;transition:border-color .3s,transform .3s}.card:hover{border-color:#63b3ff80;transform:translateY(-4px)}.card .num{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--accent)}.card h3{font-size:1.05em;margin:.7em 0 .6em;letter-spacing:.06em}.card p{font-size:13.5px;line-height:1.95;color:var(--ink-dim)}.layers{display:flex;flex-direction:column;gap:10px;margin-top:2.2em;width:min(720px,90vw)}.layer{display:grid;grid-template-columns:110px 1fr;gap:1.2em;align-items:baseline;padding:1.15em 1.3em;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff07;backdrop-filter:blur(8px);text-align:left}.layer:hover{border-color:#63b3ff73}.layer .tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent)}.layer h3{font-size:.98em;letter-spacing:.05em;margin-bottom:.35em}.layer p{font-size:13px;line-height:1.85;color:var(--ink-dim)}@media (max-width: 560px){.layer{grid-template-columns:1fr;gap:.4em}}.cycle{margin-top:2.2em;font-family:var(--mono);font-size:clamp(11.5px,1.25vw,14px);letter-spacing:.1em;line-height:2.3;color:var(--ink-dim)}.cycle b{color:var(--cyan);font-weight:500}.gen-note{margin-top:2em;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--ink-dim);line-height:2.1}.gen-note b{color:var(--cyan);font-weight:500}.nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,56px);mix-blend-mode:difference}.nav .brand{font-family:var(--mono);letter-spacing:.24em;font-size:14px;color:#fff;text-decoration:none;font-weight:600}.nav .links{display:flex;gap:clamp(14px,2vw,30px)}.nav .links a{color:#fff;text-decoration:none;font-size:13px;letter-spacing:.15em;opacity:.9}.nav .links a:hover{opacity:1}.burger{display:none;position:relative;z-index:70;width:44px;height:44px;padding:10px;background:none;border:0;cursor:pointer}.burger span{display:block;width:24px;height:1.5px;margin:6px auto;background:#fff;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s}body.mnav-open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}body.mnav-open .burger span:nth-child(2){opacity:0}body.mnav-open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mnav{position:fixed;inset:0;z-index:60;background:#04060ef5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,3.2vh,24px);opacity:0;pointer-events:none;transition:opacity .4s ease}body.mnav-open .mnav{opacity:1;pointer-events:auto}.mnav a{color:var(--ink);text-decoration:none;font-size:clamp(1.15rem,5.2vw,1.5rem);letter-spacing:.3em}.mnav a .men{display:block;text-align:center;font-size:.58rem;letter-spacing:.5em;color:var(--accent);margin-top:.15em;font-family:var(--mono)}body.mnav-open{overflow:hidden}@media (max-width: 880px){.nav .links{display:none}.burger{display:block}}@media (min-width: 881px){.mnav{display:none}}.progress-dots{position:fixed;right:clamp(14px,2.5vw,34px);top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:14px}.progress-dots button{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;padding:0;transition:all .3s}.progress-dots button[aria-current=true]{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent)}@media (max-width: 768px){.progress-dots{display:none}}.scroll-hint{position:absolute;bottom:5vh;left:50%;transform:translate(-50%);color:var(--ink-dim);font-size:11px;letter-spacing:.3em;text-align:center;font-family:var(--mono)}.scroll-hint .bar{display:block;width:1px;height:46px;margin:12px auto 0;background:linear-gradient(var(--accent),transparent);animation:sh 2s ease-in-out infinite;transform-origin:top}@keyframes sh{0%,to{transform:scaleY(.3);opacity:.4}50%{transform:scaleY(1);opacity:1}}.reveal{opacity:0;transform:translateY(40px)}.explore{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:2.4em;width:min(860px,92vw)}.explore a{display:block;padding:1.4em 1.2em;border:1px solid rgba(255,255,255,.14);border-radius:8px;text-decoration:none;color:var(--ink);background:#ffffff08;backdrop-filter:blur(6px);transition:border-color .3s,transform .3s,background .3s;text-align:left}.explore a:hover{border-color:var(--accent);transform:translateY(-4px);background:#63b3ff14}.explore a .en{display:block;font-size:11px;letter-spacing:.2em;color:var(--accent);margin-top:.4em;font-family:var(--mono)}.footer-note{margin-top:3em;color:var(--ink-dim);font-size:13px;letter-spacing:.1em;line-height:1.9}.footer-note a{color:var(--ink-dim)}.no-webgl #webgl{display:none}.no-webgl{background:linear-gradient(180deg,#05070f,#060812,#04060c 36%,#030710,#050a12,#070912,#080a10)}
