:root{--bg: #f4f1ea;--bg-elevated: #faf8f4;--bg-paper: #efeae2;--bg-muted: #ece7df;--text: #2a2a2a;--text-muted: #5a5a5a;--accent: #5a5a5a;--accent-soft: rgba(42, 42, 42, .05);--rose: #8b3a4a;--rose-soft: rgba(139, 58, 74, .08);--border: rgba(42, 42, 42, .08);--border-strong: rgba(42, 42, 42, .14);--input-border: rgba(42, 42, 42, .28);--input-border-focus: rgba(42, 42, 42, .48);--warm: #b8a090;--bold: #333333;--spark: #8b3a4a;--error: #9a5555;--font-serif: "Zen Old Mincho", "Noto Serif JP", serif;--font-sans: "Noto Sans JP", system-ui, sans-serif;--ease: cubic-bezier(.33, 0, .2, 1);--ease-slow: cubic-bezier(.25, .05, .2, 1);--gutter: clamp(1.35rem, 6.5vw, 2.5rem);--readable-pad: clamp(1.5rem, 7vw, 2.35rem);--card-pad-inline: clamp(1.15rem, 5vw, 1.5rem);--space: clamp(1rem, 4vw, 1.5rem);--space-xs: .5rem;--space-sm: .85rem;--space-md: 1.5rem;--space-lg: 2.35rem;--space-xl: 3.25rem;--readable-width: 26rem;--line-body: 2.05;--line-verse: 2.35;--line-title: 1.55;--radius-sm: .125rem;--radius-md: .25rem;--shadow-card: 0 1px 2px rgba(0, 0, 0, .03), 0 4px 16px rgba(0, 0, 0, .04);--shadow-paper: 0 1px 0 rgba(0, 0, 0, .04);--font-base: 1.1rem;--app-header-h: 2.5rem;--scene-offset-top: calc(var(--app-header-h) + env(safe-area-inset-top))}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--font-base);-webkit-font-smoothing:antialiased}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;font-size:1rem;line-height:var(--line-body)}#app{min-height:100dvh}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scene{position:relative;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:var(--gutter);padding-top:clamp(1.25rem,5vw,2rem);padding-bottom:clamp(1.25rem,5vw,2rem);overflow-x:hidden;overflow-y:auto;background:var(--bg);color:var(--text)}.scene--prologue-landing,.scene--gate,.scene--dinner-case{padding:0}.scene__grain{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scene__inner{position:relative;display:flex;flex-direction:column;width:100%;max-width:var(--readable-width);margin-inline:auto;min-height:0;animation:fade-up .6s var(--ease) both}.scene--has-menu{padding-top:var(--scene-offset-top)}.scene--gate.scene--has-menu,.scene--auth.scene--has-menu{padding-top:clamp(1.25rem,5vw,2rem)}@keyframes fade-up{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.case-epigraph{margin:var(--space-md) 0 var(--space-lg);padding:0;border:none;text-align:center}.case-epigraph p{margin:0;font-family:var(--font-serif);font-size:.95rem;font-style:italic;line-height:1.75;color:var(--text-muted)}.case-epigraph p+p{margin-top:.35rem}.kicker{display:none}.title{margin:0 0 var(--space-lg);font-family:var(--font-serif);font-size:clamp(1.35rem,4.5vw,1.75rem);font-weight:600;line-height:var(--line-title);letter-spacing:.02em;color:var(--text)}.title--sm{font-size:clamp(1.5rem,4.5vw,2rem)}.title--performance{font-size:clamp(1.75rem,5vw,2.25rem)}.prose{margin:0 0 var(--space-md);color:var(--text-muted);font-family:var(--font-serif);font-size:.9375rem;line-height:var(--line-body)}.prose--center{text-align:center}.prose-block{margin-bottom:var(--space-lg)}.prose-block--verse .prose{margin-bottom:var(--space-sm)}.prose-block .prose:last-child{margin-bottom:0}.btn{display:inline-flex;align-items:baseline;justify-content:center;gap:0;min-height:auto;padding:.65rem 0;border:none;border-radius:0;background:none;font-family:var(--font-serif);font-size:.875rem;font-weight:400;letter-spacing:.06em;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(42,42,42,.22);cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}.btn:after{content:"→";margin-left:.35em;font-size:.88em;opacity:.5;transition:opacity .25s var(--ease),transform .25s var(--ease)}.btn:hover:after{opacity:.85;transform:translate(2px)}.btn--primary{color:var(--text);border-bottom-color:#2a2a2a47}.btn--primary:hover{color:var(--bold);border-bottom-color:#2a2a2a73}.btn--ghost{border-bottom-color:transparent;color:var(--text-muted)}.btn--ghost:after{display:none}.btn--ghost:hover{color:var(--text);border-bottom-color:#2a2a2a2e}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.entry-password{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.entry-password__label{margin:0 0 .5rem;font-family:var(--font-serif);font-size:.75rem;font-weight:400;letter-spacing:.14em;color:var(--text-muted)}.entry-password__hint{margin-bottom:1.25rem}.form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:0;width:100%}.input{width:100%;padding:.9rem 1rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-family:var(--font-sans);font-size:1rem;line-height:1.4;text-align:center;transition:border-color .2s var(--ease)}.input:focus{outline:2px solid rgba(42,42,42,.1);outline-offset:1px;border-color:var(--input-border-focus)}.form-error{margin:0;color:var(--error);font-size:.85rem}.choices{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.choice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;padding:.85rem .15rem;border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-family:var(--font-serif);font-size:.9rem;line-height:var(--line-body);letter-spacing:.04em;text-align:left;cursor:pointer;transition:border-color .3s var(--ease),color .3s var(--ease)}.choice:hover{border-bottom-color:var(--border-strong);color:var(--text-muted)}.choice__arrow{color:var(--text-muted);font-size:.75rem;opacity:.35;transition:opacity .3s var(--ease)}.choice:hover .choice__arrow{opacity:.7}.performance{position:relative;text-align:center}.performance__orb{position:absolute;top:-4rem;left:50%;width:12rem;height:12rem;margin-left:-6rem;border-radius:50%;background:var(--accent-soft);filter:blur(48px);opacity:0;transform:scale(.6);transition:opacity 1.6s var(--ease),transform 1.6s var(--ease)}.performance--roses-12 .performance__orb,.performance--roses-1 .performance__orb{background:var(--rose-soft)}.performance__orb--2{top:-2rem;width:8rem;height:8rem;margin-left:-4rem}.performance--warm .performance__orb{background:#e8b4a040}.performance--bold .performance__orb{background:#8fa8c440}.performance--spark .performance__orb{background:#d4c4f040}.performance.is-active .performance__orb{opacity:1;transform:scale(1)}.performance__lines{margin:2rem 0}.performance-line{margin:0 0 .75rem;font-family:var(--font-serif);font-size:1.15rem;font-style:normal;line-height:var(--line-body);color:var(--text-muted);opacity:0;transform:translateY(.5rem);animation:line-in .9s var(--ease) forwards}.performance.is-active .performance-line:nth-child(1){animation-delay:.4s}.performance.is-active .performance-line:nth-child(2){animation-delay:.85s}.performance.is-active .performance-line:nth-child(3){animation-delay:1.3s}@keyframes line-in{to{opacity:1;transform:translateY(0)}}.hint-card{margin:2rem 0;padding:1.25rem;border-left:2px solid var(--text-muted);background:var(--accent-soft);font-size:.9rem;color:var(--text-muted)}.hint-card__label{display:block;margin-bottom:.35rem;font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.note{margin:1.5rem 0;font-size:.85rem;color:var(--text-muted);text-align:center}.link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.chapter-list{display:flex;flex-direction:column;gap:.75rem;margin:2rem 0}.booklet-loop{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .5rem;margin:0 0 1.5rem;padding:0;list-style:none;justify-content:center}.loop-step{display:flex;flex-direction:column;padding:.5rem .65rem;border:1px solid var(--border);border-radius:.35rem;background:var(--bg-elevated);min-width:5.5rem;text-align:center}.loop-step--booklet{border-color:#8fa8c459}.loop-step--app{border-color:#c9a86c59}.loop-step--paper{border-color:var(--border)}.loop-step__label{font-size:.65rem;letter-spacing:.12em;color:var(--accent)}.loop-step__action{font-size:.7rem;color:var(--text-muted);margin-top:.2rem}.loop-arrow{align-self:center;color:var(--text-muted);font-size:.85rem;opacity:.6}.chapter-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto auto;gap:.35rem 1rem;align-items:center;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);transition:border-color .45s var(--ease),background .45s var(--ease)}.chapter-card:hover:not(.chapter-card--disabled){border-color:var(--text-muted);background:var(--bg-paper)}.chapter-card--disabled{opacity:.45;pointer-events:none}.chapter-card__label{font-size:.7rem;letter-spacing:.15em;color:var(--accent)}.chapter-card__title{grid-column:2;grid-row:2;font-family:var(--font-serif);font-size:1.05rem}.chapter-card__lockhint{grid-column:2;grid-row:3;font-size:.75rem;color:var(--text-muted)}.chapter-card__status{grid-row:1 / span 3;font-size:.65rem;letter-spacing:.1em}.status--locked,.status--active,.status--done{color:var(--text-muted)}.summary-grid{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.summary-card{padding:1.25rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-elevated)}.summary-card__chapter{margin:0 0 .5rem;font-size:.7rem;letter-spacing:.2em;color:var(--accent)}.summary-card__choice{margin:0 0 .35rem;font-family:var(--font-serif);font-size:1.35rem;font-weight:400}.summary-card__performance{margin:0 0 .75rem;font-style:italic;color:var(--text-muted)}.summary-card__time{font-size:.75rem;color:var(--text-muted);opacity:.7}.scene--home .scene__inner,.scene--finale .scene__inner{text-align:center}.scene--home .btn,.scene--finale .btn{margin-top:.5rem}.scene--stars:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 20%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.35),transparent);opacity:.6}.performance-footnote{margin:1.5rem 0 0;font-size:.85rem;font-style:italic;color:var(--text-muted)}.performance__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.performance__actions .btn{min-width:0}.app-header{position:fixed;top:0;left:0;right:0;z-index:100;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;min-height:var(--scene-offset-top);padding-top:env(safe-area-inset-top);padding-right:max(.65rem,env(safe-area-inset-right));padding-bottom:.25rem;padding-left:max(.65rem,env(safe-area-inset-left));background:transparent;pointer-events:none}.app-header>*{pointer-events:auto}.app-header__toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;width:2.125rem;height:2.125rem;margin:0;padding:.4rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:#faf8f4e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}.app-header__toggle:hover{border-color:var(--input-border-focus);background:var(--bg-elevated)}.app-header__toggle:focus-visible{outline:1px solid rgba(42,42,42,.25);outline-offset:2px}.app-header__bar{display:block;width:100%;height:1px;background:var(--text);opacity:.65;transition:transform .25s var(--ease),opacity .2s var(--ease)}.app-header.is-open .app-header__bar:nth-child(1){transform:translateY(5px) rotate(45deg)}.app-header.is-open .app-header__bar:nth-child(2){opacity:0}.app-header.is-open .app-header__bar:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.app-menu{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:11.5rem;padding:.5rem 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-card)}.app-menu__list{margin:0;padding:0;list-style:none}.app-menu__list li+li{border-top:1px solid var(--border)}.app-menu__link{display:block;width:100%;padding:.75rem 1rem;border:none;border-radius:0;background:none;font-family:var(--font-serif);font-size:.875rem;font-weight:400;letter-spacing:.04em;line-height:1.5;color:var(--text);text-align:left;text-decoration:none;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.app-menu__link:after{display:none}.app-menu__link:hover{background:var(--bg-muted);color:var(--text);border-bottom-color:transparent}.app-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;margin:0;padding:0;border:none;background:#2a2a2a1f;cursor:pointer}body.menu-open{overflow:hidden}.scene--interlude .interlude__body{margin:0 0 var(--space-xl)}.scene--reaction .digital-ticket{margin:0 0 var(--space-lg)}.scene--reaction .performance-footnote{margin:0 0 var(--space-md);font-size:.85rem;line-height:var(--line-verse);color:var(--text-muted);text-align:center}.scene--cafe-guide .interlude__body{text-align:center}.scene--interlude .interlude__line{margin:0;font-family:var(--font-serif);font-size:1rem;line-height:var(--line-verse);color:var(--text)}.scene--interlude .interlude__body .performance-line{opacity:1;transform:none;animation:none}.scene--cafe-guide .interlude__line{font-size:1.0625rem;text-align:center}.scene--interlude .interlude__lead{margin:0;font-family:var(--font-serif);font-size:.9rem;line-height:var(--line-verse);color:var(--text-muted);text-align:center}.scene--interlude .btn--primary,.scene--interlude .form .btn--primary,.scene--guide .btn--primary{align-self:center;margin-top:var(--space-md)}.scene--entry .form,.scene--password .form,.scene--puzzle .form{align-items:center}.scene--guide .btn--primary,.scene--guide .btn--ghost{margin-top:.5rem}.scene--guide .btn--primary+.btn--ghost{margin-top:1rem}.digital-ticket{margin:1.5rem auto 0;max-width:16rem;padding:1.25rem;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);text-align:center}.digital-ticket__badge{margin:0 0 .5rem;font-size:.65rem;letter-spacing:.2em;color:var(--text-muted)}.digital-ticket__title{margin:0 0 .25rem;font-family:var(--font-serif);font-size:1.2rem}.digital-ticket__sub{margin:0;font-size:.8rem;color:var(--text-muted)}.digital-ticket--special{max-width:18rem;padding:1.35rem 1.25rem;text-align:left;border-style:solid;border-width:1px;box-shadow:0 8px 24px #0000001f}.digital-ticket--special .digital-ticket__badge{margin-bottom:.85rem;font-weight:600;letter-spacing:.22em}.digital-ticket__row{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-bottom:1px solid rgba(201,168,108,.2);font-size:.78rem}.digital-ticket__row:last-of-type{border-bottom:none}.digital-ticket__row-label{color:var(--text-muted);letter-spacing:.04em}.digital-ticket__row-value{font-family:var(--font-serif);text-align:right;color:var(--text)}.digital-ticket__note{margin:.85rem 0 0;font-size:.75rem;font-style:italic;color:var(--accent);text-align:center}.bonus-reward{margin-top:1.75rem}.bonus-reward__label{margin:0 0 .65rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);text-align:center}.stage{position:relative;height:6rem;margin-bottom:1rem}.castle{position:absolute;left:50%;bottom:0;width:0;height:0;border-left:3rem solid transparent;border-right:3rem solid transparent;border-bottom:4rem solid rgba(201,168,108,.35);transform:translate(-50%) scale(.8);opacity:0;transition:transform 1s var(--ease),opacity 1s var(--ease)}.fireworks{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(232,180,160,.4),transparent 40%),radial-gradient(circle at 70% 30%,rgba(212,196,240,.35),transparent 35%);opacity:0;transition:opacity 1.2s var(--ease) .5s}.performance.is-active .castle{opacity:1;transform:translate(-50%) scale(1)}.performance.is-active .fireworks{opacity:1}.ring-silhouette{position:absolute;left:50%;bottom:1.25rem;width:1.1rem;height:1.1rem;border:2px solid rgba(232,196,140,.85);border-radius:50%;transform:translate(-50%) scale(0);opacity:0;box-shadow:0 0 12px #e8c48c80;transition:transform .9s var(--ease) .9s,opacity .8s var(--ease) .9s}.ring-silhouette:after{content:"";position:absolute;left:50%;top:-.35rem;width:.45rem;height:.45rem;background:#e8c48ce6;transform:translate(-50%) rotate(45deg);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.performance.is-active .ring-silhouette{opacity:1;transform:translate(-50%) scale(1)}.stage--disney-date{height:7.5rem}.night-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#505a8c59,#14183026 70%);opacity:0;transition:opacity 1.2s var(--ease)}.photo-frame{position:absolute;width:2.5rem;height:3rem;background:#fffcf8eb;border-radius:.15rem;box-shadow:0 4px 12px #00000026;opacity:0;transform:rotate(-6deg) translateY(.5rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}.photo-frame:after{content:"";position:absolute;top:.35rem;right:.3rem;bottom:.55rem;left:.3rem;background:linear-gradient(145deg,#d4c4f080,#e8b4a059);border-radius:.1rem}.photo-frame--1{left:22%;bottom:.5rem}.photo-frame--2{right:20%;bottom:.75rem;transform:rotate(8deg) translateY(.5rem)}.performance.is-active .night-glow{opacity:1}.performance.is-active .photo-frame{opacity:1;transform:rotate(-4deg) translateY(0)}.performance.is-active .photo-frame--2{transform:rotate(6deg) translateY(0);transition-delay:.2s}.performance--disney-date .performance__orb{background:radial-gradient(circle,rgba(212,196,240,.45),transparent 70%)}.performance--converge .performance__lines{animation:converge-in .9s var(--ease) both}@keyframes converge-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.scene--puzzle .puzzle-hints{margin:1rem 0 1.25rem;padding-left:1.25rem;font-size:.85rem;color:var(--text-muted)}.scene--puzzle .puzzle-hints li+li{margin-top:.35rem}.puzzle-figure{margin:1.25rem 0 1.5rem}.puzzle-figure__img{display:block;width:100%;max-height:min(52vh,22rem);object-fit:contain;border:1px solid var(--border);background:var(--bg-elevated)}.scene--puzzle .form{margin-top:.5rem}.map-section{margin:1.75rem 0 0}.map-message{margin:0 0 1.25rem;text-align:center}.map-message__line{margin:0;font-family:var(--font-serif);font-size:clamp(1.2rem,4vw,1.45rem);line-height:1.65;color:var(--text)}.map-message__line+.map-message__line{margin-top:.15rem}.map-embed{border:1px solid var(--border);overflow:hidden;background:var(--bg-elevated)}.map-embed__frame{display:block;width:100%;height:min(50vh,16rem);border:0}.map-placeholder{margin:0;padding:2.5rem 1rem;text-align:center;font-family:var(--font-serif);font-size:clamp(1.35rem,4.5vw,1.65rem);letter-spacing:.12em;color:var(--text-muted);border:1px solid var(--border);background:var(--bg-elevated)}.scene--finale-epilogue .scene__inner{display:flex;flex-direction:column;justify-content:center;min-height:min(88vh,40rem)}.finale-epilogue{opacity:0;transition:opacity 1.2s ease}.finale-epilogue.is-live{opacity:1}.finale-epilogue__text{margin:0 0 1.5rem;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .9s ease,transform .9s ease}.finale-epilogue__line{margin:0;font-family:var(--font-serif);font-size:clamp(1.15rem,3.8vw,1.4rem);line-height:1.7;color:var(--text)}.finale-epilogue__line+.finale-epilogue__line{margin-top:.2rem}.finale-epilogue__map{margin:0;transition:transform 1s ease}.finale-epilogue[data-phase="0"] .finale-epilogue__map,.finale-epilogue[data-phase="1"] .finale-epilogue__map{transform:scale(.98)}.finale-epilogue[data-phase="1"] .finale-epilogue__thanks,.finale-epilogue[data-phase="2"] .finale-epilogue__thanks,.finale-epilogue[data-phase="2"] .finale-epilogue__farewell{opacity:1;transform:none}.finale-epilogue[data-phase="3"] .finale-epilogue__text{opacity:0;transform:translateY(-6px);pointer-events:none;margin-bottom:0;max-height:0;overflow:hidden}.finale-epilogue[data-phase="3"] .finale-epilogue__map{transform:none}.finale-epilogue[data-phase="3"] .map-embed__frame,.finale-epilogue[data-phase="3"] .map-placeholder{min-height:min(58vh,22rem)}.scene--followup .choices{margin-top:.5rem}.entrust-glow{position:absolute;left:50%;top:50%;width:5rem;height:5rem;border-radius:50%;background:radial-gradient(circle,rgba(201,168,108,.5),transparent 70%);transform:translate(-50%,-50%) scale(.6);opacity:0;transition:transform 1.2s var(--ease),opacity 1s var(--ease)}.performance.is-active .entrust-glow{opacity:1;transform:translate(-50%,-50%) scale(1)}.stage--holiday:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1s var(--ease)}.stage--holiday-out:after{background:linear-gradient(180deg,rgba(232,196,140,.35),transparent 60%)}.stage--holiday-sleep:after{background:linear-gradient(180deg,rgba(180,200,230,.4),transparent 55%)}.stage--holiday-cafe:after{background:radial-gradient(circle at 50% 70%,rgba(140,90,60,.35),transparent 50%)}.stage--holiday-cinema:after{background:radial-gradient(ellipse at center,rgba(40,40,60,.5),transparent 65%)}.stage--words:after{content:"“";position:absolute;left:50%;top:40%;font-family:var(--font-serif);font-size:4rem;line-height:1;color:#c9a86c40;transform:translate(-50%,-50%) scale(.8);opacity:0;transition:opacity 1s var(--ease),transform 1s var(--ease)}.performance.is-active .stage--holiday:after,.performance.is-active .stage--words:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.stage--flashmob .dancer{position:absolute;bottom:0;width:.75rem;height:2rem;background:var(--accent);border-radius:2px;opacity:0}.dancer--1{left:25%}.dancer--2{left:50%}.dancer--3{left:72%}.performance.is-active .dancer{animation:dance .6s var(--ease) infinite alternate;opacity:.8}.dancer--2{animation-delay:.15s}.dancer--3{animation-delay:.3s}@keyframes dance{0%{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-1rem) rotate(8deg)}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--warm) 1px,transparent 1px);background-size:12px 12px;opacity:0;transition:opacity .8s var(--ease) .3s}.performance.is-active .confetti{opacity:.5}.stage--roses:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(180,60,80,.5) 2px,transparent 3px);background-size:24px 24px;opacity:0;transition:opacity 1s var(--ease)}.stage--roses-108:after{background-size:10px 10px}.performance.is-active .stage--roses:after{opacity:.7}.stage--roses-quiet:after{display:none}.scene--performance-quiet{background:#050504}.scene--performance-quiet .scene__grain{opacity:.12}.performance--tone-quiet .performance__orb{display:none}.performance--tone-quiet .performance__lines{margin-top:.5rem}.performance--tone-quiet .performance-line{font-style:normal;color:var(--text)}.performance.is-active.performance--tone-quiet .performance-line:nth-child(1){animation-delay:5.4s}.performance.is-active.performance--tone-quiet .performance-line:nth-child(2){animation-delay:6.1s}.performance.is-active.performance--tone-quiet .performance-line:nth-child(3){animation-delay:6.8s}.performance--roses-12 .stage{height:9rem}.rose-reveal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.75rem}.rose-reveal__one,.rose-reveal__twelve li{position:relative;list-style:none}.rose-reveal__one:before,.rose-reveal__twelve li:before{content:"";display:block;width:1.1rem;height:1.1rem;margin:0 auto;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 32% 30%,#d4707e,#7a1a2c 72%)}.rose-reveal__one:after,.rose-reveal__twelve li:after{content:"";display:block;width:2px;height:2.25rem;margin:0 auto;background:linear-gradient(180deg,#3d6b3d,#1e3a1e)}.rose-reveal__twelve{position:absolute;bottom:.75rem;left:50%;display:flex;gap:.28rem;margin:0;padding:0;transform:translate(-50%);opacity:0}.rose-reveal__twelve li{opacity:0;transform:translateY(.4rem) scale(.9)}.performance.is-active .rose-reveal__one{animation:rose-one-fade 4s var(--ease) forwards}@keyframes rose-one-fade{0%,55%{opacity:1;transform:scale(1)}75%,to{opacity:0;transform:scale(.92)}}.performance.is-active .rose-reveal__twelve{animation:rose-twelve-show .5s var(--ease) 3.6s forwards}@keyframes rose-twelve-show{to{opacity:1}}.performance.is-active .rose-reveal__twelve li{animation:rose-stem-in .45s var(--ease) forwards;animation-delay:calc(3.7s + var(--i) * .07s)}@keyframes rose-stem-in{to{opacity:1;transform:translateY(0) scale(1)}}.stage--roses-50:after{background-size:16px 16px}.performance.is-active .stage--roses-50:after{opacity:.85}.stage--roses-108:after{background-size:6px 6px}.performance.is-active .stage--roses-108:after{opacity:.9}.stage--truck-gag{height:8rem;overflow:hidden}.truck-beep{position:absolute;top:.35rem;left:50%;margin:0;font-size:.68rem;letter-spacing:.25em;color:var(--accent);transform:translate(-50%);opacity:0}.performance.is-active .truck-beep{animation:beep-flash .35s steps(2) .7s 4}@keyframes beep-flash{0%,to{opacity:0}50%{opacity:1}}.truck-flood{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle,rgba(180,60,80,.65) 2px,transparent 3px);background-size:7px 7px;opacity:0;transform:scale(.6);pointer-events:none}.performance.is-active .truck-flood{animation:truck-flood 1.1s var(--ease) 1.6s forwards}@keyframes truck-flood{to{opacity:.95;transform:scale(1.15)}}.truck-blackout{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none}.performance.is-active .truck-blackout{animation:truck-blackout .9s var(--ease) 2.9s forwards}@keyframes truck-blackout{to{opacity:.93}}.performance--tone-gag.is-active .truck{animation:truck-gag-arrive 2.2s var(--ease) forwards}@keyframes truck-gag-arrive{0%{left:-35%;opacity:0}45%{left:32%;opacity:1}to{left:32%;opacity:1}}.truck{position:absolute;bottom:.5rem;left:-30%;width:5rem;height:2rem;background:var(--text-muted);border-radius:.25rem;opacity:0}.truck:before{content:"";position:absolute;right:-1.5rem;top:.25rem;width:2rem;height:1.5rem;background:var(--accent);border-radius:.15rem}.performance.is-active .truck{animation:truck-drive 2.5s var(--ease) forwards}@keyframes truck-drive{to{left:110%;opacity:.9}}.convergence{text-align:center}.memory-stream{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem;min-height:3rem}.memory-star{padding:.35rem .75rem;border:1px solid var(--border);border-radius:999px;font-size:.75rem;color:var(--text-muted);opacity:0;transform:translateY(.5rem)}.convergence.is-active .memory-star{animation:line-in .8s var(--ease) forwards}.convergence-line{font-family:var(--font-serif);font-size:clamp(1.25rem,4vw,1.6rem);margin:0 0 1rem}.rose-meanings{margin:2rem 0;text-align:left}.rose-meanings__list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.85rem;color:var(--text-muted)}.real-world-callout{margin:2rem 0;padding:1rem;border:1px solid var(--accent);font-family:var(--font-serif);font-size:1.15rem;color:var(--accent)}.finale-epilogue{margin-top:2rem;text-align:center}.summary-card__question{margin:0 0 .35rem;font-size:.8rem;color:var(--text-muted)}.journey-map{margin:1.5rem 0;padding:0;list-style:none;text-align:left}.journey-step{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.journey-step--done .journey-step__phase{color:var(--accent)}.journey-step--active .journey-step__phase{color:var(--warm)}.journey-step__phase{font-weight:500;letter-spacing:.08em}.codeword-reveal{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--accent);border-radius:.5rem;background:var(--accent-soft);text-align:center}.codeword-reveal__label{margin:0 0 .5rem;font-size:.65rem;letter-spacing:.2em;color:var(--accent)}.codeword-reveal__word{margin:0 0 .5rem;font-family:var(--font-serif);font-size:1.75rem;letter-spacing:.2em;color:var(--text)}.codeword-reveal__note{margin:0;font-size:.8rem;color:var(--text-muted)}.booklet-next{margin:0 0 1rem;font-size:.75rem;letter-spacing:.15em;color:var(--warm);text-align:center}.stage--onsen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center bottom,rgba(255,255,255,.15),transparent 60%);opacity:0;transition:opacity 1s var(--ease)}.performance.is-active .stage--onsen:after{opacity:1}.world-intro{margin:2rem 0;padding-top:1.5rem;border-top:1px solid var(--border)}.chapter-lock__icon--open{color:var(--accent);border-color:var(--accent)}.scene--world .scene__inner,.scene--pre-event .scene__inner{max-width:var(--readable-width)}.world-section{margin:2rem 0;text-align:left}.world-section__title{margin:0 0 .75rem;font-family:var(--font-serif);font-size:1.15rem;font-weight:400;color:var(--accent)}.wait-banner{margin:1.5rem 0;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-elevated);text-align:center}.wait-banner__label{display:block;margin-bottom:.35rem;font-size:.65rem;letter-spacing:.2em;color:var(--accent)}.entry-password--locked{opacity:.85}.link--quiet{display:inline-block;margin-top:2rem;font-size:.8rem;color:var(--text-muted)}.prose--verse{font-family:var(--font-serif);font-style:italic;text-align:center}.prose-block--verse{margin-bottom:2rem}.chapter-lock-list{margin:0 0 2rem;padding:0;list-style:none}.chapter-lock{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.15rem 1rem;align-items:center;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.35rem;margin-bottom:.5rem;background:var(--bg-elevated);opacity:.7}.chapter-lock__label{font-size:.7rem;letter-spacing:.2em;color:var(--text-muted)}.chapter-lock__sub{grid-column:1;font-size:.85rem;color:var(--text-muted)}.chapter-lock__icon{grid-row:1 / span 2;grid-column:2;font-size:.6rem;letter-spacing:.15em;color:var(--accent)}.input--ghost{margin:1rem 0;letter-spacing:.35em;color:var(--text-muted);opacity:.5;pointer-events:none}.scene--auth .scene__inner{text-align:center}.auth-sequence{padding:3rem 0;opacity:0;transform:translateY(.5rem);transition:opacity .6s var(--ease),transform .6s var(--ease)}.auth-sequence.is-active{opacity:1;transform:translateY(0)}.auth-sequence__pulse{width:3rem;height:3rem;margin:0 auto 1.5rem;border:1px solid var(--border);border-radius:50%;animation:auth-pulse 1.2s var(--ease) infinite}.auth-sequence--confirmed .auth-sequence__pulse{border-color:var(--accent);animation:none;background:var(--accent-soft)}.auth-sequence__text{margin:0;font-family:var(--font-serif);font-size:1.2rem;letter-spacing:.06em}.auth-sequence--confirmed .auth-sequence__text{color:var(--accent)}@keyframes auth-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:1}}.scene--dinner-case{background:var(--bg);color:var(--text)}.scene--dinner-case .scene__inner{max-width:40rem;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-card)}.scene--dinner-play .scene__inner{max-width:none;padding:0;background:transparent;border:none;box-shadow:none}.dinner-incident-title{margin:.5rem 0 0;font-family:var(--font-serif);font-size:clamp(1.35rem,4vw,1.75rem);font-weight:400;color:var(--text);text-align:center}.dinner-setting{color:var(--text-muted);font-size:.88rem}.dinner-intro__line{margin:0 0 .65rem;font-family:var(--font-serif);font-size:1.02rem;line-height:1.75;text-align:center}.dinner-stage{position:relative;min-height:min(92dvh,40rem);display:flex;flex-direction:column;padding:var(--space);overflow:hidden;background:var(--bg)}.dinner-stage__head,.dinner-stage__main,.dinner-stage__foot{position:relative}.dinner-stage__head{text-align:center;padding-bottom:.75rem}.dinner-stage__series{margin:0;font-size:.72rem;letter-spacing:.14em;color:var(--text-muted)}.dinner-stage__main{flex:1;display:flex;flex-direction:column;gap:1rem;min-height:0}.dinner-log{flex:1;min-height:6rem;padding:1rem 1.1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-paper);display:flex;align-items:center;justify-content:center}.dinner-log--empty{margin:0;font-size:.9rem;color:var(--text-muted);text-align:center}.dinner-log__line{margin:0;font-family:var(--font-serif);font-size:1.05rem;line-height:1.75;color:var(--text);text-align:center}.dinner-log__who{display:inline-block;margin-right:.35rem;font-size:.85rem;font-weight:600;color:var(--bold);letter-spacing:.08em}.dinner-kageyama-hint{margin:0;padding:.75rem .9rem;font-size:.88rem;font-style:italic;line-height:var(--line-body);color:var(--text);border-left:3px solid var(--rose);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--bg-elevated);box-shadow:var(--shadow-paper)}.dinner-people{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}@media(min-width:480px){.dinner-people{grid-template-columns:repeat(4,1fr)}}.dinner-person{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.55rem .35rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text);cursor:pointer;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.dinner-person:hover,.dinner-person--active{border-color:var(--input-border-focus);box-shadow:var(--shadow-paper)}.dinner-person--heard .dinner-person__letter:after{content:"";position:absolute;top:-2px;right:-4px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.dinner-person__letter{position:relative;font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--bold)}.dinner-person__name{font-size:.62rem;line-height:1.3;text-align:center;color:var(--text-muted)}.dinner-stage__foot{display:flex;gap:.5rem;padding-top:.75rem}.dinner-stage__foot .btn{flex:1}.dinner-answer__row{display:grid;gap:.35rem;margin-bottom:1rem}.dinner-answer__label{font-size:.88rem;color:var(--text-muted)}.dinner-answer__select{width:100%;padding:.9rem 1rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-family:var(--font-sans);font-size:1rem}.dinner-answer__select:focus{outline:2px solid rgba(42,42,42,.1);outline-offset:1px;border-color:var(--input-border-focus)}.dinner-answer__actions{display:flex;gap:.5rem;margin-top:1rem}.dinner-answer__actions .btn{flex:1}.dinner-result{text-align:center}.dinner-result__speaker{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.14em;color:var(--accent)}.dinner-result__comment{margin:0 0 1.25rem;font-family:var(--font-serif);font-size:1.1rem;line-height:1.75;color:var(--text)}.dinner-explain{margin:0 0 1.5rem;padding:1rem;text-align:left;border:1px solid var(--border);background:var(--bg-elevated)}.dinner-explain__line{margin:0 0 .35rem;font-size:.9rem;line-height:1.65;color:var(--text-muted)}.scene--entry,.scene--password,.scene--prologue:not(.scene--prologue-landing),.scene--question,.scene--followup,.scene--puzzle,.scene--guide,.scene--interlude,.scene--home,.scene--gate{padding-left:0;padding-right:0;padding-bottom:0}.scene--entry .scene__inner,.scene--password .scene__inner,.scene--prologue:not(.scene--prologue-landing) .scene__inner,.scene--question .scene__inner,.scene--followup .scene__inner,.scene--puzzle .scene__inner,.scene--guide .scene__inner,.scene--interlude .scene__inner,.scene--home .scene__inner{padding:var(--space-xl) var(--readable-pad);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}@media(max-width:639px){.scene:not(.scene--prologue-landing):not(.scene--dinner-case):not(.scene--gate):not(.scene--has-menu){align-items:flex-start;padding-top:0}.scene--has-menu{padding-top:var(--scene-offset-top)}.scene--entry .scene__inner,.scene--password .scene__inner,.scene--prologue:not(.scene--prologue-landing) .scene__inner,.scene--question .scene__inner,.scene--followup .scene__inner,.scene--puzzle .scene__inner,.scene--guide .scene__inner,.scene--interlude .scene__inner,.scene--home .scene__inner{min-height:auto;padding:var(--space-xl) var(--card-pad-inline);border-radius:0;border-left:none;border-right:none}}.scene--entry .scene__inner{text-align:center}.scene--entry .title--sm{margin-bottom:var(--space-lg)}.performance--roses-12 .performance__actions .btn--primary{color:var(--rose);border-bottom-color:#8b3a4a66}.performance--roses-12 .performance__actions .btn--primary:hover{color:#6f2f3d;border-bottom-color:#8b3a4a8c}.performance--roses-12 .performance__actions .btn--primary:after{opacity:.65}.scene--cafe-glow:before,.scene--stars:before{background:radial-gradient(ellipse 70% 45% at 50% 100%,rgba(176,67,91,.07),transparent 65%),radial-gradient(ellipse 50% 30% at 50% 0%,rgba(200,170,120,.05),transparent 60%);opacity:1}.scene--auth .scene__inner{background:transparent;border:none;box-shadow:none}.auth-sequence__pulse{background:var(--rose-soft);filter:blur(32px);animation:cafe-pulse 2.4s var(--ease-slow) infinite}.auth-sequence--confirmed .auth-sequence__pulse{background:var(--accent-soft)}.auth-sequence__text{font-family:var(--font-serif);font-weight:400;letter-spacing:.12em}@keyframes cafe-pulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:.55;transform:scale(1)}}.performance--roses-12 .performance-line,.scene--finale-epilogue .finale-epilogue__line{color:var(--text)}.rose-reveal__one:before,.rose-reveal__twelve li:before{background:radial-gradient(circle at 32% 30%,#c75b6a,var(--rose) 72%)}.scene--prologue:not(.scene--prologue-landing) .scene__inner{text-align:center}.scene--prologue:not(.scene--prologue-landing) .prose-block{text-align:left}.scene--prologue:not(.scene--prologue-landing) .prose{font-family:var(--font-serif)}.performance--tone-gag.is-active .truck{animation-duration:.35s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scene--prologue-landing{--mr-gutter: var(--gutter);display:block;overflow-x:hidden;overflow-y:auto;padding:0;background:var(--bg);color:var(--text)}.scene--prologue-landing .scene__grain{display:none}.mr-page{box-sizing:border-box;width:100%;max-width:var(--readable-width);margin-inline:auto;padding-inline:max(var(--mr-gutter),var(--readable-pad))}.mr-hero,.mr-section,.mr-footer{padding-inline:0}.mr-hero{padding:var(--space-xl) 0 var(--space-lg);text-align:center;border-bottom:1px solid var(--border)}.mr-hero__title{margin:0;font-family:var(--font-serif);font-size:clamp(1.25rem,4.8vw,1.5rem);font-weight:600;line-height:var(--line-title);color:var(--text)}.mr-section{padding-top:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.mr-section-title{margin:0 0 var(--space-md);font-family:var(--font-serif);font-size:1.0625rem;font-weight:600;line-height:var(--line-title);color:var(--text)}.mr-subhead{margin:var(--space-lg) 0 var(--space-sm);font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--text)}.mr-subhead:first-of-type{margin-top:0}.mr-body{font-family:var(--font-serif);font-size:.9375rem;line-height:var(--line-body);color:var(--text)}.mr-body .prologue-story__p{margin:0 0 1.15em}.mr-body .prologue-story__p:last-child{margin-bottom:0}.mr-expand{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);padding:.35rem 0;border:none;border-bottom:1px solid rgba(42,42,42,.22);border-radius:0;background:transparent;font-family:var(--font-serif);font-size:.8125rem;font-weight:400;letter-spacing:.1em;color:var(--text-muted);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.mr-expand:hover{color:var(--text);border-bottom-color:var(--text-muted)}.mr-expand__chev{font-size:.6rem;line-height:1}.mr-body--teaser+.mr-section-title{margin-top:var(--space-xl)}.mr-more{margin-top:var(--space-md)}.mr-more .prologue-story__p--full:first-child{margin-top:0}.mr-section--howto{text-align:center}.mr-howto-heading{margin:0 0 var(--space-lg);font-family:var(--font-serif);font-size:1.125rem;font-weight:600;line-height:var(--line-title);color:var(--text)}.mr-howto-card{padding:var(--space-lg) var(--card-pad-inline);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-card);text-align:left}.mr-howto-handout{margin:0 0 var(--space-lg);padding:0 0 var(--space-md);border-bottom:1px solid var(--border);font-size:.875rem;line-height:var(--line-body);color:var(--text)}.mr-howto-prepare__lead{margin:0 0 var(--space-xs);font-size:.75rem;letter-spacing:.12em;color:var(--text-muted)}.mr-howto-prepare{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin:0 0 var(--space-sm);padding:0;list-style:none}.mr-howto-prepare__item{display:inline-flex;flex-wrap:wrap;gap:.2rem .35rem;align-items:baseline;font-size:.8125rem;line-height:1.5}.mr-howto-prepare__label{font-weight:500;color:var(--text)}.mr-howto-prepare__note{font-size:.75rem;color:var(--text-muted)}.mr-howto-steps{margin:0;padding:0;list-style:none}.mr-howto-step{display:grid;grid-template-columns:2.75rem 1fr;gap:.85rem 1rem;align-items:start}.mr-howto-step__rule{grid-column:1 / -1;margin:var(--space-md) 0;border:none;border-top:1px solid var(--border)}.mr-howto-step__num{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-top:.15rem;border:1px solid var(--border-strong);background:var(--bg-paper);transform:rotate(45deg)}.mr-howto-step__num>span{display:block;font-family:var(--font-serif);font-size:1rem;font-weight:600;line-height:1;color:var(--text);transform:rotate(-45deg)}.mr-howto-step__title{margin:0 0 .4em;font-family:var(--font-serif);font-size:.9375rem;font-weight:600;line-height:1.55;color:var(--text)}.mr-howto-step__text{margin:0;font-size:.8125rem;line-height:1.65;color:var(--text-muted)}.mr-section--howto .mr-hint{margin:var(--space-md) auto 0;max-width:22rem;text-align:center}.mr-hint{margin:var(--space-md) 0 0;font-size:.8125rem;line-height:var(--line-body);color:var(--text-muted)}.mr-faq__item{margin-bottom:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.mr-faq__q{padding:.9rem 1rem;font-size:.875rem;font-weight:500;line-height:1.5;color:var(--text);cursor:pointer;list-style:none}.mr-faq__q::-webkit-details-marker{display:none}.mr-faq__a{margin:0;padding:0 1rem .9rem;font-size:.85rem;line-height:var(--line-body);color:var(--text-muted)}.mr-precautions{margin:0;padding:0 0 0 1.15rem;font-size:.875rem;line-height:var(--line-body);color:var(--text)}.mr-precautions__item{margin-bottom:var(--space-xs)}.mr-precautions__item:last-child{margin-bottom:0}.mr-more--precautions{margin-top:var(--space-md);padding-top:0;border-top:none}.mr-more--precautions .mr-precautions{margin-top:0}.mr-map__frame{display:block;width:100%;height:clamp(12rem,40vw,16rem);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-paper)}.mr-map__note{margin:var(--space-xs) 0 0;font-size:.78rem;color:var(--text-muted);text-align:center}.mr-contact__line{margin:0 0 var(--space-sm);font-size:.9rem;line-height:var(--line-body);color:var(--text)}.mr-contact__line:last-child{margin-bottom:0}.mr-section--cta{text-align:center;border-bottom:none;padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.mr-cta__lead{margin:0 0 var(--space-md);font-size:.9rem;line-height:var(--line-body);color:var(--text-muted)}.mr-start-form{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);width:100%;max-width:16rem;margin:0 auto}.mr-start-form__input{width:100%;padding:.9rem 1rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--bg-elevated);font-family:var(--font-sans);font-size:1rem;text-align:center;color:var(--text);transition:border-color .2s var(--ease)}.mr-start-form__input:focus{outline:2px solid rgba(42,42,42,.1);outline-offset:1px;border-color:var(--input-border-focus)}.mr-start-form__error{margin:0;font-size:.85rem;color:var(--error);text-align:center}.mr-btn{display:inline-flex;align-items:baseline;justify-content:center;min-height:auto;min-width:auto;padding:.65rem 0;border:none;border-radius:0;background:none;font-family:var(--font-serif);font-size:.875rem;font-weight:400;letter-spacing:.06em;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(42,42,42,.28);cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease)}.mr-btn:after{content:"→";margin-left:.35em;font-size:.88em;opacity:.5;transition:opacity .25s var(--ease),transform .25s var(--ease)}.mr-btn:hover:after{opacity:.85;transform:translate(2px)}.mr-btn--primary{color:var(--text)}.mr-btn--primary:hover{color:var(--bold);border-bottom-color:#2a2a2a73}.mr-footer{padding-top:var(--space-lg);padding-bottom:max(4rem,calc(env(safe-area-inset-bottom) + 3rem));text-align:center;border-bottom:none}.mr-footer__text{margin:0 0 var(--space-md);font-size:.72rem;line-height:1.5;color:var(--text-muted)}.mr-scroll-top{position:fixed;right:max(1rem,var(--mr-gutter));bottom:max(1rem,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--border);border-radius:50%;background:var(--bg-elevated);color:var(--text);font-size:1rem;box-shadow:var(--shadow-card);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s var(--ease)}.mr-scroll-top.is-visible{opacity:1;visibility:visible}.scene--gate{align-items:flex-start;justify-content:flex-start;overflow-y:auto;padding:var(--space-xl) 0 0;background:var(--bg);color:var(--text)}.scene--gate .scene__grain{display:none}.scene--gate .scene__inner{width:100%;max-width:var(--readable-width);margin-inline:auto;padding:var(--space-xl) var(--readable-pad);text-align:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.scene--gate .title{font-family:var(--font-serif);color:var(--text)}.scene--gate .prose,.scene--gate .case-epigraph p{color:var(--text-muted)}.scene--gate .case-epigraph{margin:var(--space-md) 0 var(--space-lg)}.scene--gate .form{margin-top:var(--space-md)}.scene--gate .input{border-color:var(--border);background:var(--bg-elevated);color:var(--text)}.scene--gate .btn--primary{margin-inline:auto}@media(max-width:639px){.mr-page{padding-inline:var(--card-pad-inline)}.scene--gate{padding:0;padding-top:var(--space-lg)}.scene--gate .scene__inner{padding:var(--space-xl) var(--card-pad-inline);border-radius:0;border-left:none;border-right:none}}
