.hero{min-height:100svh;color:var(--washi-50);background:var(--ai-900);isolation:isolate;position:relative;overflow:clip}.hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#1218268c 0,#0000 120px),linear-gradient(90deg,#121826cc 0%,#12182680 30%,#12182614 56%,#0000 70%),linear-gradient(#0000 74%,#1218268c);position:absolute;inset:0}.hero-petals{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-inner{min-height:100svh;padding-block:calc(var(--header-h) + 24px) 56px;grid-template-columns:minmax(0,600px);align-items:center;display:grid}.hero-copy{z-index:4;max-width:min(560px,44vw);position:relative}@media (max-aspect-ratio:1){.hero-copy{max-width:none}}.title-lockup{isolation:isolate;justify-items:center;gap:10px;padding:18px 28px 20px;display:inline-grid;position:relative}.title-lockup:before{content:"";z-index:-1;background:radial-gradient(closest-side,#0f14249e,#0f142452 55%,#0000);position:absolute;inset:-20% -18%}.lockup-tagline{font-family:"Hiragino Mincho ProN", var(--font-mincho);letter-spacing:.27em;color:#f2d58aeb;font-size:.82rem;font-weight:500}.lockup-word{font-family:"Hiragino Mincho ProN", var(--font-mincho);letter-spacing:.06em;background:linear-gradient(180deg, #fff6dc 0%, var(--kin-200) 45%, #d9b062 100%);color:#0000;filter:drop-shadow(0 1.5px #0f1424d9)drop-shadow(0 0 10px #c9a24b8c);-webkit-background-clip:text;background-clip:text;font-size:clamp(3.2rem,1.6rem + 4.6vw,5.4rem);font-weight:700;line-height:1.1;position:relative}.lockup-seal{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fbf8f0' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3.5 6.5c3 .8 14 .8 17 0M5.5 10h13M8 7.5V20M16 7.5V20M12 7.6V10'/%3E%3C/svg%3E") center / 58% no-repeat, linear-gradient(180deg, #d24a3a, var(--shu-700));width:.42em;height:.42em;box-shadow:inset 0 0 0 .03em var(--shu-700), inset 0 0 0 .05em #fbf8f0cc, 0 1px 2px #00000059;border-radius:18%;position:absolute;top:-.06em;right:-.5em;transform:rotate(6deg)}.lockup-band{width:230px;height:4px;display:block;position:relative}.lockup-band:before{content:"";background:repeating-linear-gradient(115deg, var(--shu-500) 0 3px, var(--kin-500) 3px 4.6px), var(--shu-700);border-radius:4px;position:absolute;inset:0;-webkit-mask:linear-gradient(90deg,#0000,#000 22% 78%,#0000);mask:linear-gradient(90deg,#0000,#000 22% 78%,#0000)}.lockup-band i{background:radial-gradient(circle at 38% 38%, var(--kin-200) 0 14%, var(--kin-500) 16% 52%, var(--shu-500) 54%);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%;left:50%}.lockup-latin{letter-spacing:.57em;color:var(--kin-200);padding-left:.57em;font-family:New York,ui-serif,Georgia,serif;font-size:.95rem;font-weight:500}.hero-sub{color:#fbf8f0eb;text-shadow:0 1px 10px #121826b3;margin-top:20px;font-size:1.05rem;line-height:2}.hero-genre{font-family:var(--font-mincho);letter-spacing:.12em;color:var(--kin-200);border-block:1px solid #f2d58a8c;margin-top:18px;padding:4px 14px;font-size:.95rem;font-weight:700;display:inline-block}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:32px;display:flex}.hero-badge{letter-spacing:.1em;color:#fbf8f0d9;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.hero-badge:before{content:"";background:var(--techno-400);width:8px;height:8px;box-shadow:0 0 12px var(--techno-400);border-radius:50%}.hero-scroll{z-index:0;background:var(--ai-900);margin:0;position:absolute;inset:0;overflow:hidden}.hero-layer{will-change:transform;background-position:bottom;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-3%}.layer-sky{background-image:var(--layer-sky,url(../img/keyart/key-art-title-sky.webp))}.layer-chars{background-image:var(--layer-chars,url(../img/keyart/key-art-title-chars.webp))}.layer-front{background-image:var(--layer-front,url(../img/keyart/key-art-title-front.webp))}.hero[data-time=night]{--layer-sky:url(../img/keyart/key-art-title-night-sky.webp);--layer-chars:url(../img/keyart/key-art-title-night-chars.webp);--layer-front:url(../img/keyart/key-art-title-night-front.webp)}@media (prefers-reduced-motion:no-preference){.hero .hero-copy>*{opacity:0;transform:translateY(14px)}.hero.is-ready .hero-copy>*{opacity:1;transition:opacity .9s var(--ease-in), transform .9s var(--ease-in);transform:none}.hero.is-ready .hero-copy>:nth-child(2){transition-delay:.15s}.hero.is-ready .hero-copy>:nth-child(3){transition-delay:.26s}.hero.is-ready .hero-copy>:nth-child(4){transition-delay:.34s}.hero.is-ready .hero-copy>:nth-child(5){transition-delay:.42s}.hero .hero-scroll{opacity:0;transform:scale(1.03)}.hero.is-ready .hero-scroll{opacity:1;transition:opacity 1.1s var(--ease-in), transform 1.6s var(--ease-in);transform:none}}.hero-cue{z-index:5;border:1.5px solid #fbf8f099;border-radius:14px;width:28px;height:44px;margin-left:-14px;position:absolute;bottom:18px;left:50%}.hero-cue span{background:var(--washi-50);border-radius:2px;width:3px;height:8px;margin-left:-1.5px;position:absolute;top:9px;left:50%}@media (prefers-reduced-motion:no-preference){.hero-cue span{animation:1.8s ease-in-out infinite cue}}@keyframes cue{0%,to{opacity:1;transform:translateY(0)}60%{opacity:0;transform:translateY(12px)}}.br-wide{display:none}@media (min-width:1100px){.br-wide{display:inline}}@media (min-aspect-ratio:1){.layer-sky{background-image:var(--wide-sky,url(../img/gen/hero-wide-day.webp), url(../img/keyart/key-art-title-sky.webp));background-position:50% 58%;inset:-2%}.layer-chars{inset:-10% auto auto;aspect-ratio:1320/2868;background-position:bottom;background-size:contain;height:112%;left:calc(64% - 24.7svh)}.layer-front{display:none}.hero[data-time=night]{--wide-sky:url(../img/gen/hero-wide-night.webp), url(../img/keyart/key-art-title-night-sky.webp)}}@media (min-aspect-ratio:1) and (max-height:560px){.lockup-word{font-size:clamp(2.4rem,1.2rem + 3vw,3.4rem)}.hero-sub{display:none}}@media (max-aspect-ratio:1){.hero-inner{padding-top:calc(var(--header-h) + 8px);grid-template-columns:1fr;align-items:start;padding-bottom:40px}.hero-scroll{height:100svh;inset:0 0 auto}.hero-layer{background-position:50% 60%}.hero:after{background:linear-gradient(180deg, #12182699 0, #12182600 34svh, #12182600 72svh, var(--ai-900) 100svh);z-index:1}.hero-copy{min-height:calc(100svh - var(--header-h) + 150px);flex-direction:column;display:flex}.title-lockup{align-self:center;margin-top:4svh}.hero-sub{margin-top:auto;font-size:.98rem}.hero-genre{align-self:flex-start}.hero-cue{display:none}}.lens-section{padding-top:clamp(80px,11vw,150px)}.lens-intro{grid-template-columns:auto 1fr;align-items:end;gap:24px clamp(32px,6vw,96px);margin-bottom:clamp(32px,5vw,56px);display:grid}.lens-title{font-size:var(--step-5);letter-spacing:.1em;font-weight:800;line-height:1.3}.lens-intro .lead{color:var(--sumi-600)}@media (max-width:760px){.lens-intro{grid-template-columns:1fr}.lens-title{font-size:var(--step-4)}}.lens-stage{--phone-w:clamp(150px, 19vw, 260px);aspect-ratio:3/2;background:var(--sumi-900);touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;max-height:92svh;margin-inline:auto;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.lens-stage{cursor:none}}.lens-ordinary{object-fit:cover;object-position:60% 50%;filter:saturate(.88);width:100%;height:100%;transition:filter var(--t-long);position:absolute;inset:0}.lens-stage[data-revealed] .lens-ordinary{filter:saturate(.88)brightness(.92)}.lens-phone{--phone-w:inherit;z-index:3;transform:translate3d(var(--x,0px), var(--y,0px), 0) rotate(var(--tilt,0deg));touch-action:none;cursor:grab;transition:box-shadow var(--t-short);position:absolute;top:0;left:0}.lens-phone:active{cursor:grabbing}.lens-world{will-change:transform;background-position:60%;background-size:cover;position:absolute;top:0;left:0}.lens-ring{width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2);border:2px solid var(--kin-200);pointer-events:none;border-radius:50%;position:absolute;box-shadow:0 0 16px #f2d58acc,inset 0 0 12px #f2d58a80}@media (prefers-reduced-motion:no-preference){.lens-ring{animation:ring-in .7s var(--ease-spring) both}}@keyframes ring-in{0%{opacity:0;transform:scale(1.6)}}.lens-stage[data-revealed] .lens-phone{opacity:0;pointer-events:none;transition:opacity var(--t-long)}.lens-full{opacity:0;transition:opacity .9s var(--ease-in);z-index:2;pointer-events:none;background-position:60%;background-size:cover;position:absolute;inset:0}.lens-stage[data-revealed] .lens-full{opacity:1}.lens-finds{left:var(--gutter);z-index:6;max-width:min(420px, calc(100% - 2 * var(--gutter)));pointer-events:none;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:20px}.lens-find{pointer-events:auto;color:var(--washi-50);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a2232d1;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:12px 16px;font-size:.92rem;line-height:1.7;display:grid;box-shadow:inset 0 0 0 1px #f2d58a66,0 12px 30px #05040c59}.lens-find b{font-family:var(--font-mincho);color:var(--kin-200);letter-spacing:.08em;font-size:1.05rem}.lens-find .dot{background:var(--kin-200);width:10px;height:10px;box-shadow:0 0 10px var(--kin-200);border-radius:50%;grid-row:span 2}.lens-find p{grid-column:2}@media (prefers-reduced-motion:no-preference){.lens-find{animation:find-in .5s var(--ease-in) both}}@keyframes find-in{0%{opacity:0;transform:translateY(10px)}}.lens-progress{right:var(--gutter);z-index:6;color:var(--washi-50);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.08em;background:#1a2232b8;border-radius:99px;align-items:center;gap:12px;padding:6px 8px 6px 16px;font-size:.9rem;display:flex;position:absolute;top:18px}.lens-progress button{letter-spacing:.08em;background:var(--washi-50);color:var(--sumi-900);border:0;border-radius:99px;padding:4px 12px;font-size:.82rem;font-weight:700}@media (max-width:760px){.lens-stage{aspect-ratio:1;--phone-w:124px}.lens-finds{bottom:12px}.lens-find{padding:10px 12px;font-size:.85rem}}.world{gap:clamp(64px,9vw,120px);display:grid}.world .lead{color:var(--washi-50)}.world-block{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}.world-block:nth-of-type(2n){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.world-block:nth-of-type(2n) .world-figure{order:2}.world-figure{aspect-ratio:4/5;border-radius:var(--radius-card);background:var(--ai-700);position:relative;overflow:hidden;box-shadow:0 0 0 1px #f2d58a59,0 30px 60px #05040c73}.world-figure img{object-fit:cover;width:100%;height:100%}.world-figure-kami img{object-position:50% 30%}.world-figure-app img{object-position:50% 35%}.world-figure-shrine img{object-position:50% 60%}.world-figure-kegare{background:radial-gradient(70% 60% at 50% 55%, var(--kegare-600), var(--kegare-950))}.world-figure-kegare img[src*=kegare-birth]{object-position:42% 50%}.world-figure-kegare img[src*=kegare-smoke]{object-fit:contain;opacity:.85;mix-blend-mode:screen}.world-text h3{font-size:var(--step-3);letter-spacing:.16em;color:var(--kin-200);margin-bottom:18px}.world-text p{color:#f7f1e3e0;max-width:30em}.world-text p+p{margin-top:1em}.text-link{color:var(--kin-200);letter-spacing:.08em;border-bottom:1px solid;align-items:center;gap:10px;margin-top:22px;padding-bottom:2px;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--jouka-core)}.mode-paper .text-link{color:var(--shu-500)}@media (max-width:760px){.world-block,.world-block:nth-of-type(2n){grid-template-columns:1fr}.world-block:nth-of-type(2n) .world-figure{order:0}.world-figure{aspect-ratio:16/11}}.cast{grid-template:"stage info"1fr"stage picker"/minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,36px) clamp(24px,5vw,64px);display:grid}.cast-stage{aspect-ratio:2/3;grid-area:stage;justify-self:center;height:min(80svh,800px);position:relative}.cast-art{position:absolute;inset:0}.cast-card{--fade-x:linear-gradient(90deg, transparent 0, #00000073 7%, #000 20%, #000 80%, #00000073 93%, transparent 100%);--fade-y:linear-gradient(180deg, transparent 0, #00000080 5%, #000 14%, #000 72%, #00000073 88%, transparent 100%);-webkit-mask-image:var(--fade-x), var(--fade-y);-webkit-mask-composite:source-in;-webkit-mask-image:var(--fade-x), var(--fade-y);mask-image:var(--fade-x), var(--fade-y);position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}.cast-card img{object-fit:cover;width:100%;height:100%}@media (prefers-reduced-motion:no-preference){.cast-card.is-entering{animation:art-in .7s var(--ease-in) both}}@keyframes art-in{0%{opacity:0;transform:translateY(12px)}}.cast-info{grid-area:info;align-self:center;min-width:0}.cast-role{letter-spacing:.14em;color:var(--kin-text);margin-bottom:6px;font-size:.9rem;font-weight:700;display:inline-block}.cast-name{font-size:var(--step-5);letter-spacing:.12em;font-weight:800;line-height:1.2}.cast-reading{color:var(--sumi-600);letter-spacing:.2em;margin-top:4px;font-size:.9rem}.cast-desc{max-width:28em;margin-top:22px}.cast-desc p+p{margin-top:.8em}.cast-quote{border-left:2px solid var(--shu-500);font-family:var(--font-mincho);margin-top:20px;padding-left:16px;font-size:1.12rem;font-weight:600}.cast-omamori{background:var(--washi-50);box-shadow:inset 0 0 0 1px var(--washi-300);border-radius:16px;grid-template-columns:52px 1fr;align-items:center;gap:4px 14px;max-width:30em;margin-top:26px;padding:14px 18px;display:grid}.cast-omamori img{grid-row:span 2;width:52px;height:52px}.cast-omamori b{font-family:var(--font-mincho);letter-spacing:.08em}.cast-omamori>span{color:var(--sumi-600);font-size:.92rem;line-height:1.7}.cast-picker{flex-wrap:wrap;grid-area:picker;justify-content:flex-start;gap:clamp(8px,1.4vw,16px);display:flex}.cast-pick{letter-spacing:.04em;color:var(--sumi-600);white-space:nowrap;background:0 0;border:0;justify-items:center;gap:6px;padding:0;font-size:.8rem;display:grid;position:relative}.cast-pick .medal{aspect-ratio:1;width:clamp(52px,5vw,68px);box-shadow:0 0 0 2px var(--washi-50), 0 0 0 3px var(--washi-300);transition:box-shadow var(--t-short), transform var(--t-short) var(--ease-spring);background:var(--washi-200);border-radius:50%;overflow:hidden}.cast-pick .medal img{object-fit:cover;width:100%;height:100%}.cast-pick:hover .medal{transform:translateY(-3px)}.cast-pick[aria-selected=true]{color:var(--sumi-900);font-weight:700}.cast-pick[aria-selected=true] .medal{box-shadow:0 0 0 2px var(--washi-50), 0 0 0 4px var(--shu-500), 0 8px 20px #c23b2c40}@media (max-width:860px){.cast{grid-template:"stage""picker""info"/1fr}.cast-stage{width:min(100%,380px);height:auto}.cast-picker{justify-content:center}.cast-name{font-size:var(--step-4)}}.play-scene{border-radius:var(--radius-card);aspect-ratio:3/2;box-shadow:0 0 0 1px #c9a24b99, 0 0 0 6px var(--washi-50), 0 0 0 7px #c9a24b59, 0 30px 60px #1e1b2238;margin-top:clamp(32px,5vw,56px);overflow:hidden}.play-scene img{object-fit:cover;width:100%;height:100%}.play-scene figcaption{padding:0}.loop{grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,6vw,96px);margin-top:clamp(40px,6vw,72px);display:grid}.loop-steps{gap:0;display:grid}.loop-step{opacity:.35;min-height:72svh;transition:opacity var(--t-long) var(--ease-in);flex-direction:column;justify-content:center;padding-left:72px;display:flex;position:relative}.loop-step.is-active{opacity:1}.loop-step h3{font-size:var(--step-4);letter-spacing:.2em;margin-bottom:12px}.loop-step p{max-width:24em}.loop-num{width:52px;height:52px;font-family:var(--font-mincho);color:var(--washi-50);background:var(--shu-500);box-shadow:0 0 0 4px var(--washi-100), 0 0 0 5px #c23b2c66;border-radius:50%;place-items:center;font-size:1.4rem;font-weight:800;display:grid;position:absolute;top:50%;left:0;translate:0 -50%}.loop-step:before{content:"";background:repeating-linear-gradient(var(--washi-300) 0 6px, transparent 6px 12px);z-index:-1;width:2px;position:absolute;top:0;bottom:0;left:25px}.loop-demo{align-content:start;justify-items:center;display:grid;position:relative}.loop-screen{--phone-w:clamp(250px, 22vw, 320px);top:calc(50svh - var(--phone-w) * 1.12 + var(--header-h) / 2);position:sticky}.rogue{border-radius:var(--radius-card);background:var(--washi-50);box-shadow:inset 0 0 0 1px var(--washi-300);max-width:46em;margin-top:clamp(48px,8vw,96px);padding:clamp(24px,4vw,40px)}.rogue h3{font-size:var(--step-2);margin-bottom:10px}@media (max-width:860px){.loop{grid-template-columns:1fr}.loop-demo{top:calc(var(--header-h) + 8px);z-index:2;pointer-events:none;order:-1;justify-content:center;display:flex;position:sticky}.loop-demo .phone{pointer-events:auto}.loop-screen{--phone-w:min(46vw, 200px);position:relative;top:0}.loop-screen figcaption{display:none}.loop-step{min-height:64svh;padding-left:64px}.loop-step p{background:color-mix(in srgb, var(--washi-100) 88%, transparent);border-radius:12px}}.invite{align-items:end;min-height:88svh;display:grid;position:relative;overflow:clip}.invite-art{z-index:-1;background:var(--invite-art,url(../img/keyart/key-art-title-night.webp)) center 60% / cover no-repeat;position:absolute;inset:0}.invite-art:after{content:"";background:linear-gradient(#12182626 0%,#12182659 45%,#121826eb 100%);position:absolute;inset:0}.invite-inner{padding-block:120px 96px}.invite-title{font-size:var(--step-6);letter-spacing:.1em;text-shadow:0 4px 30px #12182699;font-weight:800;line-height:1.25}.invite .lead{margin-top:20px}.invite .num{font-family:var(--font-mincho);color:var(--kin-200);font-size:1.3em}.invite-actions{flex-wrap:wrap;gap:14px;margin-block:32px 20px;display:flex}
