:root{--shell-bg: #0d0d12;--shell-text: #e8e6e0;--shell-text-dim: rgba(232, 230, 224, .55);--shell-card-bg: #f5f0e6;--shell-card-text: #2a2620;--shell-accent: #d4af37;--shell-danger: #e74c3c;--shell-success: #27ae60;--stage-max-width: 430px;--chrome-height: 3.25rem}html.game-shell-root{background:var(--shell-bg)}body.game-shell{margin:0;min-height:100dvh;background:var(--shell-bg);color:var(--shell-text);font-family:Georgia,Times New Roman,serif;overflow:hidden;overscroll-behavior:none}.stage-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.stage-backdrop img{width:100%;height:100%;object-fit:cover;filter:blur(48px) brightness(.28) saturate(1.1);transform:scale(1.15)}.stage-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 0%,rgba(13,13,18,.55) 75%,rgba(13,13,18,.85) 100%)}.shell-chrome{position:fixed;top:0;left:0;right:0;height:var(--chrome-height);display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .75rem;padding-top:env(safe-area-inset-top,0);z-index:100}.shell-exit{display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:50%;color:var(--shell-text-dim);background:#ffffff0f;font-size:.95rem;line-height:1;text-decoration:none;transition:background .2s ease,color .2s ease}.shell-exit:hover{color:var(--shell-text);background:#ffffff24}.shell-story-title{flex:1;text-align:center;font-family:Playfair Display,Georgia,serif;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--shell-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-chrome-right{display:flex;align-items:center;justify-content:flex-end;min-width:2.1rem}.game-stage{position:relative;z-index:1;height:100dvh;max-width:var(--stage-max-width);margin:0 auto;display:flex;flex-direction:column;padding:calc(var(--chrome-height) + env(safe-area-inset-top,0px)) 1rem calc(1rem + env(safe-area-inset-bottom,0px));overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.game-stage::-webkit-scrollbar{display:none}.text-more{position:absolute;bottom:.35rem;left:50%;transform:translate(-50%);z-index:3;appearance:none;border:none;background:none;color:#2a2620a6;font-size:.9rem;cursor:pointer;padding:.2rem 1rem;animation:text-more-bounce 1.6s ease-in-out infinite}.text-more.is-hidden{display:none}@keyframes text-more-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(4px)}}.swipe-rest{position:absolute;top:42%;z-index:150;display:flex;flex-direction:column;align-items:center;gap:.25rem;max-width:20vw;text-align:center;color:var(--shell-text-dim);pointer-events:none;transition:opacity .2s ease}.swipe-rest--left{left:.35rem}.swipe-rest--right{right:.35rem}.swipe-rest-chevron{font-size:1.6rem;line-height:1;animation:rest-pulse 2.4s ease-in-out infinite}.swipe-rest--right .swipe-rest-chevron{animation-delay:1.2s}.swipe-rest-word{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;max-width:5.5rem}body.is-swiping .swipe-rest{opacity:0}@keyframes rest-pulse{0%,to{opacity:.45}50%{opacity:1}}.swipe-hint-line{margin-top:.65rem;text-align:center;font-size:.75rem;letter-spacing:.02em;color:var(--shell-text-dim);animation:hint-appear .6s ease .5s both;user-select:none;-webkit-user-select:none}@keyframes hint-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (hover: hover){.story-node[data-page-type=choice]:hover{transition:box-shadow .25s ease;box-shadow:0 24px 60px #0009,0 4px 14px #00000073}}.hud-axes{flex:1;display:flex;justify-content:center;align-items:center;gap:1.15rem}.hud-glyph{display:inline-flex;color:var(--shell-accent);opacity:calc(.28 + var(--lean, 0) * .72);filter:drop-shadow(0 0 calc(var(--lean, 0) * 6px) rgba(212,175,55,.85));transition:opacity .6s ease,filter .6s ease}.hud-glyph.hud-pulse{animation:hud-pulse .9s ease}@keyframes hud-pulse{0%{transform:scale(1)}35%{transform:scale(1.45);opacity:1;filter:drop-shadow(0 0 8px rgba(212,175,55,1))}to{transform:scale(1)}}@keyframes wic-card-exit{to{opacity:0}}@keyframes wic-card-rise{0%{transform:translateY(30px) rotate(2deg) scale(.93);opacity:0}}.shell-mute{display:flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:none;border-radius:50%;color:var(--shell-text-dim);background:#ffffff0f;cursor:pointer;transition:background .2s ease,color .2s ease}.shell-mute:hover{color:var(--shell-text);background:#ffffff24}.shell-mute .mute-icon--off,.shell-mute[data-muted="1"] .mute-icon--on{display:none}.shell-mute[data-muted="1"] .mute-icon--off{display:block}.scene-counter{position:fixed;bottom:calc(.55rem + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;z-index:90;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--shell-text-dim);pointer-events:none;user-select:none;-webkit-user-select:none}.hud-glyph .hud-letter{font-family:Playfair Display,Georgia,serif;font-size:1rem;font-weight:700;line-height:1;color:var(--shell-accent)}.hud-glyph.hud-resolve{animation:hud-resolve .7s cubic-bezier(.2,.7,.3,1.2)}@keyframes hud-resolve{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(90deg) scale(1.5);opacity:.4}to{transform:rotateY(0) scale(1);opacity:1}}body.is-ending .stage-backdrop img{filter:blur(48px) brightness(.14) saturate(.8)}body.is-ending .story-node{box-shadow:0 0 60px #d4af3724,0 18px 50px #0009}.story-node img,.stage-backdrop img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
