:root{--ink: #111110;--paper: #f1f1ee;--paper-2: #e8e8e3;--muted: #6b6b65;--line: #d2d2cb;--holo: linear-gradient(115deg, #ffc8ef, #bfe9ff 22%, #d4ffd0 42%, #fff1b8 60%, #e3cfff 80%, #ffc8ef);--mincho: "Shippori Mincho B1", "Hiragino Mincho ProN", serif;--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "Noto Sans JP", system-ui, sans-serif;--pad: clamp(20px, 5vw, 88px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}.mono{font-family:var(--mono)}.eyebrow{margin:0 0 18px;font:500 12px/1 var(--mono);letter-spacing:.28em;color:var(--muted)}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}to{transform:translate(0)}}.cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;opacity:0;transition:opacity .3s}.cursor.on{opacity:1}.cursor span{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--paper);mix-blend-mode:difference;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cursor{mix-blend-mode:difference}.cursor.big span{transform:scale(4.2)}@media(pointer:fine){body,a,button{cursor:none}}.hud{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad);mix-blend-mode:difference;color:var(--paper)}.hud-logo{font:800 20px/1 var(--mincho);text-decoration:none;letter-spacing:.08em;display:flex;align-items:baseline;gap:14px}.hud-logo span{font:500 10px var(--mono);letter-spacing:.3em;opacity:.7}.hud nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center;font:500 12px var(--mono);letter-spacing:.2em;text-transform:uppercase}.hud nav a{text-decoration:none;position:relative}.hud nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.hud nav a:hover:after{transform:scaleX(1);transform-origin:left}.hud-cta{padding:10px 16px;border:1px solid currentColor}.hud-cta:after{display:none}.hero{position:relative;height:100svh;min-height:640px;overflow:hidden}.map{display:block;width:100%;height:100%}.hero .map{position:absolute;inset:0}.hero-title{position:absolute;left:var(--pad);top:108px;margin:0;display:flex;flex-direction:row-reverse;gap:22px;align-items:flex-start;pointer-events:none}.hero-title .v{writing-mode:vertical-rl;font:800 clamp(72px,min(12vw,16.5vh),190px)/1 var(--mincho);letter-spacing:.04em;animation:rise 1.4s .3s cubic-bezier(.2,.8,.2,1) both}.hero-sub{writing-mode:vertical-rl;font:500 clamp(14px,1.3vw,18px)/1 var(--mincho);letter-spacing:.6em;color:var(--muted);padding-top:8px;animation:fade 1.2s 1.1s both}@keyframes rise{0%{opacity:0;transform:translateY(8%);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.hero-lede{position:absolute;right:var(--pad);bottom:128px;max-width:390px;animation:fade 1.2s 1.4s both}.lede{margin:0;font:500 clamp(17px,1.5vw,21px)/1.9 var(--sans)}.lede em{font-style:normal;background:var(--holo);background-size:200% 100%;padding:0 4px;animation:holo 6s linear infinite}@keyframes holo{to{background-position:200% 0}}.hero-meta{position:absolute;right:var(--pad);top:110px;text-align:right;font-size:11px;letter-spacing:.16em;color:var(--muted);animation:fade 1s .8s both}.hero-meta p{margin:0 0 6px}.hero-meta span{display:inline-block;width:42px;text-align:left;color:var(--ink)}.hero-stats{position:absolute;left:var(--pad);right:var(--pad);bottom:36px;display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid var(--ink);animation:fade 1s 1.6s both}.hero-stats div{padding:14px 0 0}.hero-stats dt{font-size:10px;letter-spacing:.3em;color:var(--muted)}.hero-stats dd{margin:6px 0 0;font:500 clamp(22px,2.6vw,38px)/1 var(--mono);font-variant-numeric:tabular-nums}.scroll-cue{position:absolute;left:50%;bottom:110px;margin:0;font-size:10px;letter-spacing:.3em;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px;color:var(--muted)}.scroll-cue span{width:1px;height:54px;background:var(--ink);transform-origin:top;animation:cue 2s infinite cubic-bezier(.6,0,.2,1)}@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.hover-card{position:fixed;left:0;top:0;z-index:60;margin:0;padding:8px 12px;background:var(--ink);color:var(--paper);font-size:12px;letter-spacing:.06em;pointer-events:none;white-space:nowrap}.marquee{overflow:hidden;border-block:1px solid var(--ink);padding:18px 0;background:var(--ink);color:var(--paper)}.marquee-track{white-space:nowrap;font:500 clamp(20px,2.2vw,30px)/1 var(--mincho);letter-spacing:.08em;animation:marquee 240s linear infinite;width:max-content}@keyframes marquee{to{transform:translate(-50%)}}.manifesto{padding:clamp(120px,20vh,240px) var(--pad)}.manifesto-text{margin:0;max-width:17em;font:800 clamp(34px,5.4vw,88px)/1.35 var(--mincho);letter-spacing:.02em}.manifesto-text span{color:#cfcfc8;transition:color .35s}.manifesto-text span.on{color:var(--ink)}.jev{height:320vh;position:relative;background:var(--ink);color:var(--paper)}.jev .eyebrow{color:#8d8d86}.jev-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.jev-eyebrow{position:absolute;top:110px;left:var(--pad)}.jev-track{display:flex;gap:8vw;padding:0 var(--pad);width:max-content;will-change:transform}.step{width:min(72vw,820px);flex:none;opacity:.25;transition:opacity .8s}.step.in{opacity:1}.step-no{font-size:12px;letter-spacing:.3em;color:#8d8d86;margin:0 0 12px}.step-big{margin:0;font:800 clamp(120px,20vw,300px)/.9 var(--mincho);background:var(--holo);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holo 8s linear infinite}.step-big small{font:500 clamp(14px,1.4vw,18px) var(--mono);letter-spacing:.3em;color:#8d8d86;-webkit-text-fill-color:#8d8d86;margin-left:16px}.step h2{margin:28px 0 16px;font:800 clamp(30px,3.6vw,54px)/1.3 var(--mincho)}.step p:last-child{margin:0;max-width:32em;font-size:clamp(15px,1.2vw,17px);line-height:1.9;color:#c9c9c2}.gauge{position:relative;height:clamp(150px,20vw,260px);margin:10px 0 0}.gauge-axis{position:absolute;left:0;right:0;top:60%;height:2px;background:#3c3c38}.gauge-line{position:absolute;left:80%;top:18%;bottom:20%;border-left:2px dashed var(--paper)}.gauge-line span{position:absolute;top:-26px;left:-24px;font-size:13px;letter-spacing:.1em}.gauge-dot{position:absolute;top:60%;left:calc(var(--p) * 100%);width:22px;height:22px;margin:-10px 0 0 -11px;border-radius:50%;background:#5a5a54;transition:background .6s,box-shadow .6s,transform .6s cubic-bezier(.2,1.6,.4,1)}.gauge-dot:after{content:attr(data-label);position:absolute;left:50%;top:30px;transform:translate(-50%);white-space:nowrap;font:500 12px var(--mono);color:#9b9b95}.gauge-dot[style*=".88"]:after,.gauge-dot[style*=".71"]:after{top:-28px}.gauge-dot[style*=".97"]:after{transform:translate(-88%)}.judged .gauge-dot[style*=".9"],.judged .gauge-dot[style*=".88"]{background:var(--holo);box-shadow:0 0 30px #d2ebff8c;transform:scale(1.25)}.judged .gauge-dot[style*=".9"]:after,.judged .gauge-dot[style*=".88"]:after{color:var(--paper)}.jev-progress{position:absolute;left:var(--pad);right:var(--pad);bottom:44px;height:1px;background:#33332f}.jev-progress span{display:block;height:100%;background:var(--paper);transform-origin:left;transform:scaleX(0)}.explore{display:grid;grid-template-columns:1.25fr 1fr;min-height:100svh;border-bottom:1px solid var(--ink)}.explore-map{position:sticky;top:0;height:100svh;border-right:1px solid var(--ink);background:var(--paper-2)}.explore-map .map{position:absolute;inset:0}.explore-count{position:absolute;left:32px;bottom:28px;margin:0;display:flex;align-items:baseline;gap:12px}.explore-count .num{font:800 clamp(64px,8vw,128px)/1 var(--mincho);font-variant-numeric:tabular-nums}.explore-count .mono{font-size:12px;letter-spacing:.3em;color:var(--muted)}.explore-panel{padding:clamp(80px,12vh,140px) var(--pad) 60px;display:flex;flex-direction:column}.section-title{margin:0 0 36px;font:800 clamp(34px,4.2vw,64px)/1.3 var(--mincho);clip-path:inset(0 0 100% 0);transform:translateY(20px);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}.in>.section-title{clip-path:inset(0 0 -10% 0);transform:none}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}.chip{font:500 15px var(--sans);padding:11px 18px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;transition:background .25s,color .25s,transform .25s}.chip:hover{transform:translateY(-2px)}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.chip-craft[aria-pressed=true]{background:var(--holo);color:var(--ink);border-color:transparent}.ranking{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid var(--ink)}.ranking li{display:grid;grid-template-columns:6.5em 1fr 3em;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.ranking i{height:6px;background:var(--ink);transform-origin:left;transform:scaleX(var(--w));transition:transform .7s cubic-bezier(.2,.8,.2,1)}.ranking b{text-align:right;font-weight:500}.link-arrow{margin-top:auto;align-self:flex-start;font:500 14px var(--mono);letter-spacing:.12em;text-decoration:none;padding-bottom:6px;border-bottom:1px solid var(--ink)}.link-arrow span{display:inline-block;transition:transform .3s}.link-arrow:hover span{transform:translate(6px)}.demo{padding:clamp(100px,16vh,180px) var(--pad);display:grid;grid-template-columns:1fr 2.2fr;gap:5vw;align-items:end}.monitor{margin:0;position:relative;border:1px solid var(--ink);padding:14px;background:var(--paper-2);transform:perspective(1400px) rotateX(10deg) scale(.94);opacity:0;transition:transform 1.4s cubic-bezier(.2,.8,.2,1),opacity 1s}.monitor.in{transform:none;opacity:1}.monitor video{display:block;width:100%;aspect-ratio:16 / 9;background:var(--paper)}.monitor figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:11px;letter-spacing:.2em;color:var(--muted)}.monitor figcaption span{color:#c03a2b;animation:blink 1.4s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.numbers{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--ink)}.num-cell{padding:48px 28px 40px;border-right:1px solid var(--line)}.num-cell:last-child{border-right:0}.num-cell .num{margin:0 0 10px;font:800 clamp(40px,5vw,80px)/1 var(--mincho);font-variant-numeric:tabular-nums}.num-cell p:last-child{margin:0;font:500 12px var(--mono);letter-spacing:.2em;color:var(--muted)}.cta{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:4vw;padding:clamp(100px,16vh,180px) var(--pad);min-height:90svh}.pin-wrap{position:relative;justify-self:center;width:min(360px,60vw);transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .4s cubic-bezier(.2,.8,.2,1);animation:bob 5s ease-in-out infinite}.pin-wrap img{display:block;width:100%;height:auto;filter:drop-shadow(0 40px 40px rgba(17,17,16,.18))}.pin-sheen{position:absolute;inset:0;-webkit-mask:url(/media/pin.png) center / contain no-repeat;mask:url(/media/pin.png) center / contain no-repeat;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.75) 45%,transparent 60%);background-size:250% 100%;background-position:var(--sx, 50%) 0;mix-blend-mode:soft-light}@keyframes bob{50%{translate:0 -12px}}.cta-big{display:flex;align-items:center;gap:.3em;text-decoration:none;white-space:nowrap;font:800 clamp(52px,8.4vw,150px)/1 var(--mincho);letter-spacing:.02em}.cta-big .arrow{font-family:var(--mono);font-weight:400;font-size:.55em;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.cta-big:hover .arrow{transform:translate(.25em)}.cta-big span:first-child{background:linear-gradient(var(--ink),var(--ink)) no-repeat 0 100% / 0 6px;transition:background-size .6s cubic-bezier(.2,.8,.2,1)}.cta-big:hover span:first-child{background-size:100% 6px}.cta-note{margin:24px 0 0;font-size:15px;color:var(--muted)}.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px var(--pad) 36px;border-top:1px solid var(--ink);font-size:11px;letter-spacing:.12em;color:var(--muted)}.foot p{margin:0}@media(max-width:860px){.hud nav a:not(.hud-cta){display:none}.hero-title{top:92px;transform:none}.hero-meta{display:none}.hero-lede{bottom:150px;right:var(--pad)}.hero-stats{grid-template-columns:repeat(2,1fr);row-gap:8px}.scroll-cue{display:none}.jev{height:auto}.jev-sticky{position:static;height:auto;padding:120px 0 80px}.jev-eyebrow{position:static;padding:0 var(--pad)}.jev-track{flex-direction:column;width:auto;gap:90px}.step{width:auto;opacity:1}.jev-progress{display:none}.explore{grid-template-columns:1fr}.explore-map{position:relative;height:62svh;border-right:0;border-bottom:1px solid var(--ink)}.explore-count{left:20px;bottom:16px}.explore-panel{padding-top:56px}.gauge-dot:after{font-size:10px}.gauge-dot[style*=".88"]:after{top:-46px}.hero-lede{bottom:170px}.lede{font-size:15px}.pin-wrap{width:min(240px,60vw)}.demo{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(2,1fr)}.num-cell:nth-child(2){border-right:0}.num-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}.cta{grid-template-columns:1fr;text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.section-title{clip-path:none;transform:none}.monitor{opacity:1;transform:none}}
