@font-face{font-family:"ArcTable Serif EN";src:url(/fonts/arctable-serif-en-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif EN";src:url(/fonts/arctable-serif-en-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif EN";src:url(/fonts/arctable-serif-en-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif SC";src:url(/fonts/arctable-serif-sc-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif SC";src:url(/fonts/arctable-serif-sc-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif SC";src:url(/fonts/arctable-serif-sc-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif JP";src:url(/fonts/arctable-serif-jp-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif JP";src:url(/fonts/arctable-serif-jp-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"ArcTable Serif JP";src:url(/fonts/arctable-serif-jp-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--abyss-purple: #1a1025;--twilight-purple: #2d1b4e;--candlelight: #e8a857;--antique-gold: #b8860b;--parchment: #d4c4a8;--bone-white: #e8e0d0;--shadow-black: rgba(0, 0, 0, .72)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-width:320px;min-height:100%;min-height:100dvh;margin:0}body{overflow:hidden;background:#090510;color:var(--parchment);font-family:var(--font-body, Baskerville, "Times New Roman", serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea{font:inherit}button{border:0;padding:0;background:transparent;color:inherit;appearance:none;-webkit-appearance:none}.app-shell{position:fixed;inset:0;min-height:100%;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(232,168,87,.08),transparent 28%),linear-gradient(180deg,#140b20,#090510)}.app-intro-veil{position:absolute;inset:0;z-index:40;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 38%,rgba(232,168,87,.18) 0%,rgba(232,168,87,.05) 22%,transparent 52%),linear-gradient(180deg,#080510d6,#08051042 46%,#080510cc)}.app-shell.is-entering .app-intro-veil{animation:app-intro-veil 1.1s cubic-bezier(.16,.84,.24,1) forwards}.app-shell.is-entering .scene-layer,.app-shell.is-entering .panel-shell,.app-shell.is-entering .top-bar,.app-shell.is-entering .install-hint{animation:app-surface-enter .9s cubic-bezier(.18,.88,.24,1) both}.launch-screen{position:fixed;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(232,168,87,.11),transparent 24%),linear-gradient(180deg,#160d24,#090510);color:var(--parchment)}.launch-background,.launch-particles,.launch-vignette,.launch-content{position:absolute;inset:0}.launch-background:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,rgba(232,168,87,.12) 0%,rgba(232,168,87,.03) 24%,transparent 50%),linear-gradient(180deg,#1a102533,#09051085)}.launch-particles{opacity:0;animation:launch-particles-reveal .5s ease forwards}.launch-particle{position:absolute;width:5px;height:5px;border-radius:999px;background:radial-gradient(circle,rgba(232,168,87,1) 0%,rgba(232,168,87,.18) 72%,transparent 100%);box-shadow:0 0 16px #e8a85742;animation:launch-particle-float var(--duration, 12s) linear infinite;animation-delay:var(--delay, 0s)}.launch-vignette{background:radial-gradient(circle at center,transparent 30%,rgba(26,16,37,.8) min(var(--launch-vignette-radius),100%))}.launch-content{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:max(env(safe-area-inset-top,24px),24px) 24px var(--launch-safe-bottom)}.launch-brand{margin:auto 0;display:flex;flex-direction:column;align-items:center;gap:20px}.launch-logo{width:var(--launch-logo-size);height:var(--launch-logo-size);object-fit:contain;opacity:0;filter:drop-shadow(0 0 var(--launch-logo-glow) rgba(232,168,87,.3));animation:launch-logo-enter 1s ease-out .3s forwards}.launch-subtitle{opacity:0;color:var(--antique-gold);font-size:clamp(1rem,1.5vw + .8rem,1.35rem);letter-spacing:.52em;text-transform:uppercase;text-indent:.52em;animation:launch-subtitle-enter .8s ease-out 1s forwards}.launch-footer{display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0;animation:launch-subtitle-enter .8s ease-out 1s forwards}.launch-divider{width:60px;height:1px;background:#b8860b4d}.launch-whisper{color:#d4c4a88a;font-size:clamp(.95rem,.65vw + .82rem,1.1rem);letter-spacing:.12em}.scene-root,.scene-bg,.scene-overlay,.scene-texture,.scene-vignette{position:absolute;inset:0}.scene-layer{animation:scene-layer-enter .72s cubic-bezier(.18,.88,.24,1) both}.scene-bg{width:100%;height:100%;object-fit:cover}.scene-overlay{background:linear-gradient(180deg,#12082057,#08031099)}.scene-texture{opacity:.14;background-image:url(/images/ui/ui_bg_texture.png),url(/images/ui/ui_smoke_texture.png);background-position:center;background-size:cover;mix-blend-mode:screen}.scene-vignette{background:radial-gradient(circle at center,transparent 42%,rgba(8,3,16,.76) 100%)}.scene-candle{position:absolute;top:var(--candle-y, 40%);z-index:1;width:min(18vw,150px);height:min(24vw,196px);transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;isolation:isolate}.scene-candle:before,.scene-candle:after{content:"";position:absolute;inset:0;border-radius:999px;pointer-events:none}.scene-candle:before{background:radial-gradient(circle,rgba(232,168,87,.3) 0%,rgba(232,168,87,.14) 24%,rgba(232,168,87,.04) 48%,transparent 74%);filter:blur(22px);opacity:.76;transform:scale(1.06);animation:candle-outer-flicker var(--candle-outer-duration, 3.2s) ease-in-out infinite;animation-delay:var(--candle-delay, 0s)}.scene-candle:after{inset:18% 22%;background:radial-gradient(circle,rgba(255,245,223,.28) 0%,rgba(232,168,87,.52) 22%,rgba(184,134,11,.18) 44%,transparent 76%);filter:blur(10px);opacity:.82;animation:candle-core-flicker var(--candle-core-duration, 2.4s) ease-in-out infinite;animation-delay:calc(var(--candle-delay, 0s) - .35s)}.scene-candle--left{left:16%;--candle-y: 43.5%;--candle-delay: -.7s;--candle-outer-duration: 3.1s;--candle-core-duration: 2.3s}.scene-candle--right{left:77%;--candle-y: 40%;--candle-delay: -1.9s;--candle-outer-duration: 3.7s;--candle-core-duration: 2.8s}.atmosphere-glow{position:absolute;border-radius:999px;filter:blur(24px);pointer-events:none}.atmosphere-glow--top{top:5%;left:50%;width:min(60vw,620px);height:22vh;transform:translate(-50%);background:radial-gradient(circle,rgba(232,168,87,.16) 0%,rgba(232,168,87,.03) 45%,transparent 76%)}.atmosphere-glow--bottom{bottom:10%;left:50%;width:min(54vw,520px);height:16vh;transform:translate(-50%);background:radial-gradient(circle,rgba(232,168,87,.12) 0%,rgba(232,168,87,.02) 48%,transparent 74%);animation:aura-breathe 4.5s ease-in-out infinite}.particle{position:absolute;width:5px;height:5px;border-radius:999px;background:radial-gradient(circle,rgba(232,168,87,1) 0%,rgba(232,168,87,.16) 72%,transparent 100%);box-shadow:0 0 14px #e8a85738;animation:particle-float var(--duration, 12s) linear infinite;animation-delay:var(--delay, 0s)}.top-bar{position:absolute;top:max(env(safe-area-inset-top,18px),18px);left:18px;right:18px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px}.top-bar__slot{min-width:40px;min-height:40px}.top-bar__spacer{display:block;width:40px;height:40px}.install-hint{position:absolute;top:max(calc(env(safe-area-inset-top,18px) + 56px),74px);left:50%;z-index:31;display:flex;align-items:flex-start;gap:12px;width:min(420px,calc(100vw - 28px));padding:12px 14px;transform:translate(-50%);border:1px solid rgba(184,134,11,.28);border-radius:16px;background:#080310d1;box-shadow:0 10px 28px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:surface-fade-in .38s ease-out both}.install-hint__content{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1;min-width:0}.install-hint__title{margin:0;color:#e8e0d0f5;font-size:.82rem;letter-spacing:.08em}.install-hint__body{margin:4px 0 0;color:#d4c4a8bd;font-size:.74rem;line-height:1.5}.install-hint__action{flex:none;min-width:auto;padding:10px 14px;white-space:nowrap}.install-hint__close{flex:none}.chrome-button,.lang-button,.primary-button,.secondary-button,.ghost-button{appearance:none;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease,box-shadow .18s ease,color .18s ease}.chrome-button:active,.lang-button:active,.primary-button:active,.secondary-button:active,.ghost-button:active{transform:translateY(1px) scale(.98)}.chrome-button{min-width:40px;height:40px;border-radius:999px;border:1px solid rgba(184,134,11,.38);background:#08031061;color:#e8e0d0db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 6px 18px #00000029}.chrome-button:hover,.chrome-button:focus-visible{background:#12091f9e;border-color:#e8a8577a;box-shadow:0 10px 22px #0000003d}.lang-switch{display:inline-flex;padding:4px;border:1px solid rgba(184,134,11,.28);border-radius:999px;background:#08031042;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lang-button{min-width:34px;height:30px;padding:0 10px;border-radius:999px;background:transparent;color:#e8e0d09e}.lang-button.is-active{background:#e8a8572e;color:#e8e0d0f5}.lang-button:hover,.lang-button:focus-visible{background:#e8a8571a;color:#e8e0d0e0}.fortune-stage{position:absolute;top:20px;left:50%;z-index:6;width:min(76vw,960px);height:var(--ft-height);transform:translate(-50%) translateY(var(--ft-offset));pointer-events:none}.fortune-stage:after{content:"";position:absolute;left:50%;bottom:5%;width:min(50vw,420px);height:min(12vw,88px);transform:translate(-50%);border-radius:999px;background:radial-gradient(circle,rgba(0,0,0,.36) 0%,rgba(0,0,0,.12) 42%,transparent 78%);filter:blur(16px)}.fortune-image-wrap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center}.fortune-image{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center bottom;animation:fortune-presence 5.8s ease-in-out infinite;filter:drop-shadow(0 14px 30px rgba(0,0,0,.44))}.fortune-image.is-reading{animation-duration:6.5s}.fortune-image.is-shuffling{animation-duration:3.2s}.fortune-hand-glow{position:absolute;left:50%;top:48%;width:min(24vw,190px);height:min(24vw,190px);transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,rgba(232,168,87,.28) 0%,rgba(232,168,87,.12) 42%,transparent 72%);filter:blur(16px);animation:aura-breathe 2.8s ease-in-out infinite}.table-edge-frame{position:absolute;left:0;right:0;bottom:env(safe-area-inset-bottom,0px);z-index:8;height:var(--table-frame-height);pointer-events:none;overflow:hidden}.table-edge-frame__inner{position:absolute;inset:auto 0 0;height:100%;transform:translateY(var(--table-offset)) scaleX(var(--table-scale-x)) scaleY(var(--table-scale-y));transform-origin:bottom center}.table-edge-frame__inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom center}.table-edge-frame__shade{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(180deg,transparent 0%,rgba(45,27,78,.42) 58%,rgba(10,5,20,.9) 100%)}.reveal-backdrop{position:absolute;inset:0;z-index:9;background:#00000075;pointer-events:none}.panel-shell{position:absolute;left:50%;bottom:calc(var(--dialogue-bottom-gap) + 2px);z-index:20;width:min(var(--dialogue-max-width),calc(100vw - 24px));height:var(--dialogue-height);max-height:calc(100dvh - var(--dialogue-bottom-gap) - 8px);transform:translate(-50%);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 28px #00000057,inset 0 2px #e8a8570f,inset 0 0 0 1px #b8860b14;overflow:hidden}.panel-stage{animation:panel-stage-enter .46s cubic-bezier(.18,.88,.24,1) both}.app-shell.is-standalone.is-landscape-phone .table-edge-frame{bottom:0}.app-shell.is-standalone.is-landscape-phone .panel-shell{bottom:2px;max-height:calc(100% - 4px)}.panel-shell:before,.panel-shell:after{content:"";position:absolute;inset:0;pointer-events:none}.panel-shell:before{background:linear-gradient(180deg,#221433f5,#180e26f7 52%,#11091bfa)}.panel-shell:after{opacity:.18;background:url(/images/ui/ui_bookpage.png) center / cover no-repeat,url(/images/ui/ui_bg_texture.png) center / cover no-repeat;mix-blend-mode:soft-light}.panel-wash{position:absolute;inset:0;background:radial-gradient(circle at 50% -8%,rgba(232,168,87,.08) 0%,rgba(232,168,87,.02) 42%,transparent 68%),radial-gradient(circle at 50% 125%,rgba(184,134,11,.14) 0%,transparent 52%);pointer-events:none}.panel-border{position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 1px #b8860b80,inset 0 0 0 2px #e8a8570f;pointer-events:none}.panel-highlight{position:absolute;top:0;left:0;right:0;height:40px;background:linear-gradient(180deg,rgba(232,168,87,.12) 0%,transparent 100%);pointer-events:none}.panel-bottom-accent{position:absolute;left:0;right:0;bottom:0;height:30px;background:linear-gradient(180deg,transparent 0%,rgba(184,134,11,.16) 100%);pointer-events:none}.panel-content{position:relative;height:100%;padding:12px calc(var(--dialogue-content-padding-x) - 2px) 12px var(--dialogue-content-padding-x)}.decorative-scroll-area{position:relative;height:100%}.decorative-scroll-area__viewport{height:100%;overflow-y:auto;scrollbar-width:none;padding-right:14px}.decorative-scroll-area__viewport::-webkit-scrollbar{display:none}.decorative-scroll-area__content{min-height:100%}.decorative-scroll-area__thumb{position:absolute;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 8px rgba(232,168,87,.3));transition:opacity .2s ease-in-out}.dialogue-copy{margin:0;color:#d4c4a8eb;font-size:var(--dialogue-copy-size, .96rem);line-height:1.66;white-space:pre-line;text-shadow:0 2px 4px rgba(10,5,20,.38),0 1px 1px rgba(0,0,0,.28)}.dialogue-copy--secondary{color:#d4c4a8ad;font-size:calc(var(--dialogue-copy-size, .96rem) - .06rem)}.deep-reading-loading-copy{display:flex;flex-direction:column;gap:10px}.dialogue-lead{margin:0 0 12px;color:#e8e0d0f0;font-size:var(--dialogue-lead-size, .72rem);letter-spacing:.24em;text-transform:uppercase}.dialogue-speaker{margin:0 0 8px;color:#e8e0d0fa;font-size:calc(var(--dialogue-lead-size, .72rem) + .1rem);letter-spacing:.18em;text-transform:uppercase}.dialogue-meta{margin:0 0 10px;color:#b8860bad;font-size:calc(var(--dialogue-lead-size, .72rem) + .02rem);letter-spacing:.08em;line-height:1.5}.dialogue-title{margin:0 0 14px;color:var(--candlelight);text-align:center;font-size:var(--dialogue-title-size, 1rem);line-height:1.6;letter-spacing:.16em;text-shadow:0 0 10px rgba(232,168,87,.18),0 1px 2px rgba(0,0,0,.42)}.dialogue-body{display:flex;flex-direction:column;gap:12px}.option-grid{display:grid;gap:var(--option-grid-gap, 10px);margin-top:var(--dialogue-to-options-spacing, 14px)}.option-card{position:relative;width:100%;max-width:min(100%,var(--option-max-width, 100%));justify-self:center;padding:var(--option-button-vpad, 14px) var(--option-button-hpad, 16px);border:1px solid rgba(184,134,11,.24);border-radius:12px;background:linear-gradient(180deg,#2d1b4e57,#12091fad);color:inherit;text-align:left}.option-card--featured{border-color:#e8a85775;background:radial-gradient(circle at 84% 18%,rgba(232,168,87,.18) 0%,transparent 28%),linear-gradient(180deg,#4a2a2057,#221127e0);box-shadow:0 0 0 1px #e8a85714,inset 0 1px #ffebc414}.option-card:hover{border-color:#e8a85770;background:linear-gradient(180deg,#38225e6b,#160c26bd);transform:translateY(-1px);box-shadow:0 12px 24px #0000002e}.option-card.is-disabled,.option-card:disabled{cursor:default;opacity:.7;transform:none;box-shadow:none}.option-card.is-disabled:hover,.option-card:disabled:hover{border-color:#b8860b3d;background:linear-gradient(180deg,#2d1b4e57,#12091fad)}.option-card--featured:hover{border-color:#f5bd62a3;background:radial-gradient(circle at 84% 18%,rgba(255,205,132,.24) 0%,transparent 28%),linear-gradient(180deg,#5c322261,#27142beb);box-shadow:0 16px 28px #0000003d,0 0 22px #e8a85714}.option-card:focus-visible{outline:none;border-color:#e8a85785;box-shadow:0 0 0 1px #e8a85766}.option-card__badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:#e8a85724;color:#f8e2bbf0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.option-name{display:block;color:#e8e0d0f5;font-size:var(--option-title-size, 1rem);letter-spacing:.08em}.option-desc{display:var(--option-desc-display, block);margin-top:6px;color:#d4c4a8b8;font-size:var(--option-desc-size, .82rem);line-height:1.56}.paywall-card{margin-top:14px;padding:16px 18px;border:1px solid rgba(184,134,11,.28);border-radius:14px;background:radial-gradient(circle at 82% 14%,rgba(232,168,87,.14) 0%,transparent 26%),linear-gradient(180deg,#27172ed1,#10081cd1);box-shadow:inset 0 1px #ffebc40d,0 14px 28px #0000002e}.paywall-price{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.paywall-price__current{color:#f7e4bafa;font-size:1.6rem;letter-spacing:.06em}.paywall-price__original{color:#d4c4a86b;font-size:.92rem;text-decoration:line-through;text-decoration-thickness:1px}.paywall-copy{margin:0;color:#e4d8c4db;line-height:1.6}.paywall-copy+.paywall-copy{margin-top:8px}.paywall-copy--secondary{color:#d4c4a8ad;font-size:.92em}.paywall-error{margin-top:14px;color:#ffcab3eb}.question-input{width:100%;min-height:120px;margin-top:12px;padding:14px 16px;border:1px solid rgba(184,134,11,.28);border-radius:12px;resize:none;outline:none;appearance:none;-webkit-appearance:none;background:radial-gradient(circle at 50% 0%,rgba(232,168,87,.05) 0%,transparent 58%),linear-gradient(180deg,#0e0718c7,#0803108f);color:#e8e0d0eb;line-height:1.6;caret-color:#f8d6a0f5;box-shadow:inset 0 1px #ffebc40a,inset 0 0 0 1px #3e241247,0 10px 24px #0000002e;transition:border-color .22s ease,box-shadow .26s ease,background .26s ease,transform .22s ease}.question-input::placeholder{color:#d4c4a857}.question-input:hover{border-color:#e8a85757;box-shadow:inset 0 1px #ffebc40d,inset 0 0 0 1px #52301a4d,0 12px 28px #00000038}.question-input:focus,.question-input:focus-visible{border-color:#e8a8578f;background:radial-gradient(circle at 50% 0%,rgba(255,210,138,.1) 0%,transparent 56%),linear-gradient(180deg,#12091ee0,#0a0513b3);box-shadow:inset 0 1px #ffebc414,inset 0 0 0 1px #70462257,0 0 0 1px #e8a8572e,0 0 18px #e8a8571f,0 14px 30px #0000003d;animation:question-input-candle-breathe 2.8s ease-in-out infinite}.button-row{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.primary-button,.secondary-button{min-width:140px;padding:11px 18px;border-radius:999px}.primary-button{border:1px solid rgba(232,168,87,.58);background:linear-gradient(180deg,#e8a85738,#b8860b24);color:#e8e0d0fa;box-shadow:0 8px 20px #00000029}.primary-button:disabled{opacity:.42;cursor:not-allowed}.primary-button:hover:not(:disabled),.primary-button:focus-visible{border-color:#e8a857b8;background:linear-gradient(180deg,#e8a85747,#b8860b2e);box-shadow:0 12px 24px #0000003d,0 0 0 1px #e8a85724;transform:translateY(-1px)}.secondary-button{border:1px solid rgba(184,134,11,.22);background:#08031042;color:#d4c4a8e6;box-shadow:0 6px 18px #0000001f}.secondary-button:hover,.secondary-button:focus-visible{border-color:#e8a85752;background:#12091f75;box-shadow:0 10px 22px #0000002e;transform:translateY(-1px)}.ghost-button{background:transparent;color:#b8860be0;padding:8px 12px}.ghost-button:hover,.ghost-button:focus-visible{color:#e8a857fa;background:#e8a85714;border-radius:999px}.shuffle-stage{position:absolute;left:50%;bottom:calc(var(--dialogue-height) + var(--dialogue-bottom-gap) + 26px);z-index:11;width:min(420px,90vw);height:180px;transform:translate(-50%);pointer-events:none}.shuffle-stage__halo{position:absolute;left:50%;bottom:4px;width:340px;height:160px;transform:translate(-50%);border-radius:50%;filter:blur(8px);background:radial-gradient(ellipse at center,rgba(232,168,87,.14) 0%,rgba(232,168,87,.04) 36%,transparent 72%);animation:aura-breathe 3.6s ease-in-out infinite}.shuffle-card{position:absolute;bottom:0;width:var(--shuffle-card-width);height:var(--shuffle-card-height);border-radius:8px;background:linear-gradient(180deg,#160c22f0,#080510fa);box-shadow:0 10px 24px #000000b8;overflow:hidden;transition:transform .5s ease-in-out,opacity .22s ease;will-change:transform}.shuffle-card img{width:calc(100% + 6px);height:calc(100% + 6px);margin:-3px;object-fit:cover;display:block}.shuffle-touch-layer{position:absolute;inset:0;z-index:15;cursor:pointer;touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none}.shuffle-touch-layer.is-holding{background:radial-gradient(circle at var(--touch-x, 50%) var(--touch-y, 50%),rgba(232,168,87,.12),transparent 18%)}.ritual-crystal{position:absolute;left:var(--touch-x, 50%);top:var(--touch-y, 50%);z-index:14;width:156px;height:162px;transform:translate(-50%,-88%) scale(var(--crystal-scale, 1));transform-origin:50% 100%;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .26s ease}.ritual-crystal.is-visible{opacity:1}.ritual-crystal.is-primed{opacity:.62}.ritual-crystal__ground,.ritual-crystal__halo,.ritual-crystal__pulse,.ritual-crystal__specular{position:absolute;left:50%;border-radius:999px}.ritual-crystal__ground{bottom:-2px;width:132px;height:30px;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(232,168,87,.18) 0%,rgba(232,168,87,.06) 38%,transparent 70%),radial-gradient(ellipse at center,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 46%,transparent 76%);filter:blur(6px);opacity:.78}.ritual-crystal__halo{top:42%;width:198px;height:198px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(232,168,87,.28) 0%,rgba(232,168,87,.08) 40%,transparent 72%);filter:blur(8px);animation:crystal-breathe 3.2s ease-in-out infinite}.ritual-crystal__pulse{top:40%;width:136px;height:136px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(232,168,87,.1) 38%,transparent 70%);animation:crystal-pulse 1.8s ease-in-out infinite}.ritual-crystal__specular{top:18px;width:52px;height:24px;transform:translate(-54%) rotate(-18deg);background:radial-gradient(ellipse at center,rgba(255,255,255,.6) 0%,rgba(255,255,255,.24) 42%,rgba(255,255,255,.06) 68%,transparent 100%);filter:blur(5px);opacity:.34;mix-blend-mode:screen}.ritual-crystal__image{position:absolute;left:50%;bottom:8px;width:134px;height:134px;object-fit:contain;transform:translate(-50%);filter:drop-shadow(0 16px 20px rgba(0,0,0,.38)) drop-shadow(0 4px 8px rgba(232,168,87,.12)) drop-shadow(0 0 18px rgba(232,168,87,.2))}.ritual-crystal.is-active .ritual-crystal__image{filter:drop-shadow(0 18px 22px rgba(0,0,0,.42)) drop-shadow(0 6px 10px rgba(232,168,87,.16)) drop-shadow(0 0 24px rgba(232,168,87,.34))}.ritual-crystal.is-active .ritual-crystal__specular{opacity:.52}.ritual-crystal.is-active .ritual-crystal__halo{animation-duration:2.1s}.ritual-crystal.is-active .ritual-crystal__pulse{animation-duration:1.2s}.ritual-crystal.is-inviting .ritual-crystal__halo{width:218px;height:218px}.ritual-crystal.is-active .ritual-crystal__ground{width:140px;opacity:.92}.ritual-crystal.is-primed .ritual-crystal__halo{animation-duration:2.6s}.shuffle-touch-progress{position:absolute;left:50%;top:42%;z-index:1;width:100px;height:100px;transform:translate(-50%,-50%);border-radius:999px;border:1px solid rgba(232,168,87,.32);background:radial-gradient(circle,rgba(8,3,16,.56) 42%,transparent 44%),conic-gradient(from 180deg,#e8a857e0 calc(var(--progress) * 1turn),#e8a85714 0);box-shadow:0 0 24px #e8a8571f;pointer-events:none}.shuffle-touch-progress__label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e8e0d0db;font-size:.72rem;letter-spacing:.16em}.floating-prompt{position:absolute;left:50%;bottom:calc(var(--dialogue-height) + var(--dialogue-bottom-gap) + 220px);z-index:16;transform:translate(-50%);padding:10px 18px;border:1px solid rgba(184,134,11,.36);border-radius:999px;background:#1a1025d6;color:#e8e0d0eb;font-size:.76rem;letter-spacing:.12em;text-align:center;box-shadow:0 6px 24px #0000004d;animation:surface-fade-in .36s ease-out both}.card-selection-root{position:absolute;inset:0;z-index:12}.table-focus-mask,.table-focus-glow{position:absolute;inset:0;pointer-events:none}.table-focus-mask{z-index:8;background:radial-gradient(ellipse 68% 34% at 50% 58%,#08031000 0% 26%,#0803100a 46%,#08031024 74%,#04020a47)}.table-focus-glow{z-index:9;background:radial-gradient(ellipse 40% 18% at 50% 58%,rgba(255,236,197,.09) 0%,rgba(232,168,87,.045) 36%,rgba(232,168,87,.018) 58%,transparent 78%),radial-gradient(ellipse 54% 22% at 50% 60%,rgba(214,238,255,.028) 0%,transparent 72%);filter:blur(4px);opacity:.56}.card-selection-header{position:absolute;top:max(env(safe-area-inset-top,18px),18px);left:50%;transform:translate(-50%);z-index:14;width:min(620px,calc(100vw - 24px));text-align:center;pointer-events:none;animation:surface-fade-in .44s ease-out both}.card-selection-header__eyebrow{margin:0;color:#b8860bd1;font-size:.68rem;letter-spacing:.34em;text-transform:uppercase}.card-selection-header__title{margin:10px 0 0;color:#e8e0d0fa;font-size:clamp(1.05rem,2.4vw,1.3rem);letter-spacing:.18em}.card-selection-header__caption{margin:8px auto 0;max-width:42ch;color:#d4c4a894;font-size:.82rem;line-height:1.56}.selection-origin{position:absolute;left:50%;top:var(--selection-origin-top);width:0;height:0;transform:translate(-50%,-50%);z-index:14}.selection-slot{position:absolute;border-radius:10px;background:#1e0f3729;pointer-events:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.selection-slot.is-active{transform:scale(1.03);box-shadow:0 0 18px #e8a85729}.selection-slot.is-drag-target{transform:scale(1.05);box-shadow:0 0 22px #e8a85747}.selection-slot__label{position:absolute;left:50%;bottom:-24px;transform:translate(-50%);color:#e8e0d094;font-size:.7rem;letter-spacing:.12em;white-space:nowrap}.selection-card{position:absolute;overflow:visible;cursor:pointer;transition:transform .58s cubic-bezier(.22,.88,.24,1),opacity .32s ease,filter .22s ease;touch-action:none;user-select:none;-webkit-user-select:none}.selection-card__inner{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,#160c22f5,#080510fa);box-shadow:inset 0 0 0 1px #3e241299;transition:transform .22s ease,box-shadow .22s ease}.selection-card__inner.is-accented{box-shadow:inset 0 0 0 1.25px #e8a857c7,0 0 0 1px #0a051466}.selection-card__inner img{width:calc(100% + 6px);height:calc(100% + 6px);margin:-3px;object-fit:cover;display:block}.selection-card__glow{position:absolute;inset:0;border-radius:8px;background:#e8a8571f;animation:selection-glow-pulse 1.35s ease-in-out infinite}.selection-card__badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.selection-card__badge span{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--antique-gold);color:#e8e0d0fa;font-size:.82rem;font-weight:700}.selection-card.is-hovered .selection-card__inner{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #583620b3,0 12px 20px #00000038}.selection-card.is-pending .selection-card__inner{box-shadow:inset 0 0 0 1.4px #e8a857d6,0 0 0 1px #0a051461,0 16px 28px #00000047}.selection-card.is-confirmed .selection-card__inner{animation:selection-card-settle .42s cubic-bezier(.18,.88,.24,1)}.selection-card.is-confirmed .selection-card__badge span{animation:selection-badge-settle .52s cubic-bezier(.18,.88,.24,1)}.selection-card.is-dragging .selection-card__inner{box-shadow:inset 0 0 0 1.4px #e8a857ad,0 18px 34px #00000057}.selection-footer{position:absolute;left:50%;bottom:30px;z-index:16;width:min(560px,calc(100vw - 24px));transform:translate(-50%);text-align:center;animation:surface-fade-in .42s ease-out both}.selection-hint{display:inline-block;margin:0;padding:11px 18px;border-radius:999px;border:1px solid rgba(184,134,11,.34);background:#1a1025d6;color:#e8e0d0f0;font-size:.78rem;letter-spacing:.1em;box-shadow:0 8px 30px #0000003d;animation:selection-guidance-breathe 3.2s ease-in-out infinite}.reveal-stage{position:absolute;left:50%;bottom:calc(var(--dialogue-height) + var(--dialogue-bottom-gap) + var(--reveal-stage-bottom-offset, 18px));z-index:12;width:min(420px,96vw);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;animation:surface-fade-in .42s ease-out both}.reveal-stage__eyebrow{margin:0 0 12px;color:#b8860bd6;font-size:.68rem;letter-spacing:.34em;text-transform:uppercase}.reveal-card-shell{position:relative;cursor:zoom-in;transform:scale(var(--reveal-card-scale, 1));transform-origin:center bottom;transition:transform .38s cubic-bezier(.22,.88,.24,1),filter .32s ease}.reveal-halo{position:absolute;inset:50% auto auto 50%;width:240px;height:240px;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,rgba(232,168,87,.24) 0%,rgba(232,168,87,.04) 38%,transparent 72%);pointer-events:none;opacity:0;scale:var(--reveal-halo-scale, 1)}.reveal-stage.is-flipped .reveal-halo{animation:reveal-halo-bloom .78s cubic-bezier(.18,.88,.24,1) forwards}.reveal-stage.is-final.is-flipped .reveal-card-shell{transform:scale(calc(var(--reveal-card-scale, 1) * 1.02));filter:drop-shadow(0 16px 34px rgba(0,0,0,.28))}.reveal-stage--step-1 .reveal-stage__eyebrow{opacity:.72}.reveal-stage--step-2 .reveal-stage__eyebrow{opacity:.84}.reveal-stage--step-3 .reveal-stage__eyebrow{opacity:.96;text-shadow:0 0 10px rgba(232,168,87,.18)}.card-scene{perspective:1200px}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.22,.88,.24,1)}.card-inner.is-flipped{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit;overflow:hidden;background:linear-gradient(180deg,#160c22f5,#080510fa);box-shadow:inset 0 0 0 1px #3e241285}.card-face img{width:calc(100% + 6px);height:calc(100% + 6px);margin:-3px;display:block;object-fit:cover}.card-face--back{transform:rotateY(180deg)}.reveal-observe{margin:8px 0 0;color:#d4c4a88a;font-size:.74rem;letter-spacing:.18em}.completion-fan{position:absolute;left:50%;bottom:calc(var(--dialogue-height) + var(--dialogue-bottom-gap) + var(--completion-bottom-offset, 14px));z-index:12;transform:translate(-50%);display:flex;align-items:flex-end;gap:10px;animation:surface-fade-in .46s ease-out both}.completion-card{appearance:none;-webkit-appearance:none;width:92px;padding:0;border:0;background:none;color:inherit;cursor:pointer;transition:transform .18s ease,filter .18s ease}.completion-card:hover,.completion-card:focus-visible{transform:translateY(-3px);filter:drop-shadow(0 10px 20px rgba(0,0,0,.24))}.completion-card:focus-visible{outline:none}.completion-card:focus-visible .completion-card__image{box-shadow:inset 0 0 0 1px #e8a85794,0 0 0 2px #e8a8573d,0 10px 24px #0006}.completion-card{width:92px}.completion-card.is-single{width:144px}.completion-card__image{width:100%;aspect-ratio:.64;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#160c22f5,#080510fa);box-shadow:inset 0 0 0 1px #e8a85766,0 10px 24px #0006}.completion-card__image img{width:calc(100% + 6px);height:calc(100% + 6px);margin:-3px;object-fit:cover;display:block}.completion-card__label{margin:8px 0 0;color:#b8860bd6;text-align:center;font-size:.72rem;letter-spacing:.14em}.fullscreen-card{position:fixed;inset:0;z-index:60;background:radial-gradient(circle at center,#00000057,#000000c2 45%,#000000eb),radial-gradient(circle at center,transparent 0%,rgba(26,16,37,.26) 48%,rgba(26,16,37,.55) 100%);display:flex;align-items:center;justify-content:center;padding:24px}.fullscreen-card__frame{position:relative;width:min(34vw,320px);min-width:220px;aspect-ratio:.64}.fullscreen-card__glow{position:absolute;inset:0;border-radius:18px;background:#e8a85724;filter:blur(26px);transform:scale(1.08)}.fullscreen-card__frame img{position:relative;width:calc(100% + 10px);height:calc(100% + 10px);margin:-5px;object-fit:cover;border-radius:18px;box-shadow:0 18px 60px #0000008a}.fullscreen-card__hint{margin-top:16px;color:#d4c4a88f;font-size:.8rem;letter-spacing:.16em}.history-overlay{position:fixed;inset:0;z-index:80;animation:history-overlay-enter .26s ease-out both}.history-overlay.is-closing{animation:history-overlay-exit .24s ease-out both}.history-overlay__backdrop{position:absolute;inset:0;background:#0000009e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:history-backdrop-enter .26s ease-out both}.history-overlay.is-closing .history-overlay__backdrop{animation:history-backdrop-exit .22s ease-out both}.history-overlay__panel{position:absolute;top:max(env(safe-area-inset-top,18px),18px);right:18px;bottom:max(env(safe-area-inset-bottom,18px),18px);width:min(560px,calc(100vw - 24px));display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#12091fe6;border:1px solid rgba(184,134,11,.28);box-shadow:0 30px 80px #0000005c;animation:history-panel-enter .32s cubic-bezier(.18,.88,.24,1) both}.history-overlay.is-closing .history-overlay__panel{animation:history-panel-exit .22s ease-out both}.history-overlay__panel:before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background:url(/images/ui/ui_bg_texture.png) center / cover no-repeat;mix-blend-mode:screen}.history-overlay__header{position:relative;flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px}.history-overlay__count{margin:0;color:#d4c4a89e;font-size:.82rem}.history-overlay__actions{display:flex;align-items:center;gap:8px}.history-overlay__filters{position:relative;flex:0 0 auto;display:flex;gap:8px;padding:0 20px 14px;overflow-x:auto;scrollbar-width:none}.history-overlay__filters::-webkit-scrollbar{display:none}.history-filter{flex:0 0 auto;padding:8px 14px;border-radius:999px;border:1px solid rgba(184,134,11,.24);background:#08031042;color:#d4c4a8c2;transition:transform .16s ease,background .18s ease,border-color .18s ease,color .18s ease}.history-filter:hover,.history-filter:focus-visible{transform:translateY(-1px);background:#12091f6b;border-color:#e8a85757;color:#e8e0d0eb}.history-filter.is-active{background:#e8a8572e;border-color:#e8a8576b;color:#e8e0d0f5}.history-list{position:relative;flex:1 1 auto;min-height:0;padding:0 20px 20px;overflow-y:auto;scrollbar-width:none}.history-list::-webkit-scrollbar{display:none}.history-empty{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;color:#d4c4a885}.history-content-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;animation:panel-stage-enter .32s cubic-bezier(.18,.88,.24,1) both}.history-row{position:relative;margin-bottom:12px;padding:16px;border-radius:16px;border:1px solid rgba(184,134,11,.16);background:linear-gradient(180deg,#2d1b4e4d,#0e0818b8);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.history-row:hover,.history-row:focus-visible{border-color:#e8a85757;background:linear-gradient(180deg,#38225e66,#120b1fcc);transform:translateY(-1px)}.history-row:focus-visible{outline:none;box-shadow:0 0 0 1px #e8a85761}.history-row__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.history-row__actions{display:flex;align-items:center;gap:8px}.history-row__date,.history-row__theme,.history-row__question,.history-mini-card p,.history-mini-card span{margin:0}.history-row__date{color:#b8860bc7;font-size:.76rem;letter-spacing:.08em}.history-row__theme{margin-top:5px;color:#e8e0d0f2;font-size:.96rem}.history-row__question{margin-top:10px;color:#d4c4a8c2;font-size:.84rem;line-height:1.55}.history-row__cards{display:grid;gap:10px;margin-top:14px}.history-mini-card{display:flex;align-items:center;gap:12px}.history-mini-card img{width:48px;height:74px;object-fit:cover;border-radius:6px;border:1px solid rgba(184,134,11,.28);box-shadow:0 6px 16px #0000003d}.history-mini-card p{color:#b8860bd1;font-size:.72rem;letter-spacing:.08em}.history-mini-card span{display:block;margin-top:4px;color:#d4c4a8d6;font-size:.82rem;line-height:1.5}.history-list--detail{padding-bottom:20px}.history-detail{display:flex;flex-direction:column;gap:18px;padding-bottom:8px}.history-detail__summary{display:flex;flex-direction:column;gap:12px;padding:4px 0 0}.history-detail__intro,.history-detail__section{padding:16px;border-radius:16px;border:1px solid rgba(184,134,11,.16);background:linear-gradient(180deg,#2d1b4e4d,#0e0818b8)}.history-detail__summary .history-detail__intro{box-shadow:0 12px 28px #00000024}.history-detail__summary-meta{margin:2px 0 0;color:#d4c4a894;font-size:.76rem;letter-spacing:.08em}.history-detail__summary-cards{display:flex;gap:10px;overflow-x:auto;padding:0 2px 6px;scrollbar-width:none}.history-detail__summary-cards::-webkit-scrollbar{display:none}.history-detail__summary-card{appearance:none;-webkit-appearance:none;flex:0 0 auto;display:flex;align-items:center;gap:10px;min-width:160px;padding:10px 12px;border-radius:14px;border:1px solid rgba(184,134,11,.18);background:linear-gradient(180deg,#2d1b4e57,#0e0818bd);box-shadow:0 10px 22px #00000024;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.history-detail__summary-card:hover,.history-detail__summary-card:focus-visible{transform:translateY(-1px);border-color:#e8a85757;background:linear-gradient(180deg,#3a225c66,#120a1fd1);box-shadow:0 14px 28px #0003}.history-detail__summary-card img{width:34px;height:52px;object-fit:cover;border-radius:5px;border:1px solid rgba(184,134,11,.28);box-shadow:0 4px 10px #0000003d}.history-detail__summary-card p,.history-detail__summary-card span{margin:0}.history-detail__summary-card p{color:#b8860bcc;font-size:.68rem;letter-spacing:.08em}.history-detail__summary-card span{display:block;margin-top:4px;color:#e8e0d0e6;font-size:.8rem}.history-detail__copy,.rich-text-block{white-space:pre-line}.rich-text-strong,.char-reveal.is-strong{font-weight:600;color:#f8e2bbfa}.history-detail__cards{display:grid;gap:14px}.history-detail-card{display:grid;grid-template-columns:minmax(84px,104px) minmax(0,1fr);gap:14px;align-items:start}.history-detail-card__image{appearance:none;-webkit-appearance:none;width:100%;aspect-ratio:.64;padding:0;border:0;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#160c22f5,#080510fa);box-shadow:inset 0 0 0 1px #e8a8575c,0 10px 24px #00000057;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.history-detail-card__image:hover,.history-detail-card__image:focus-visible{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #e8a85766,0 14px 28px #0000006b}.history-detail-card__image img{width:calc(100% + 8px);height:calc(100% + 8px);margin:-4px;object-fit:cover;display:block}.history-detail-card__body{min-width:0}.history-detail-card__title{margin:0 0 10px;color:#e8e0d0f5;font-size:.94rem;line-height:1.5}.loading-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#090510}.loading-screen p{color:#b8860b8f;font-size:.74rem;letter-spacing:.36em;text-transform:uppercase}.scene-transition-overlay{position:fixed;inset:0;z-index:70;animation:scene-transition-fade .92s ease-out forwards}.scene-transition-backdrop,.scene-transition-glow{position:absolute;inset:0}.scene-transition-backdrop{background:#000000d1}.scene-transition-glow{background:radial-gradient(circle at center,rgba(45,27,78,.85) 0%,rgba(26,16,37,.92) 34%,transparent 68%);animation:scene-transition-mask .9s ease-in-out forwards}.scene-transition-symbol{position:absolute;left:50%;top:50%;width:80px;height:80px;margin-left:-40px;margin-top:-40px;animation:scene-transition-symbol .65s ease-out forwards}.scene-transition-ring{position:absolute;inset:0;border:2px solid rgba(232,168,87,.72);border-radius:999px;box-shadow:0 0 28px #e8a85738}.scene-transition-star{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e8e0d0eb;font-size:28px;text-shadow:0 0 20px rgba(232,168,87,.35)}.scene-transition-particle{position:absolute;width:8px;height:8px;margin-left:-4px;margin-top:-4px;border-radius:999px;background:radial-gradient(circle,rgba(232,168,87,1) 0%,rgba(232,168,87,.22) 60%,transparent 100%);box-shadow:0 0 16px #e8a85766;animation:scene-transition-particle .8s ease-out forwards;animation-delay:var(--delay, 0s)}.typewriter-caret{margin-left:2px;color:#e8a857b8;animation:caret-blink 1s ease-in-out infinite}.mystical-text-shell,.char-reveal-shell{position:relative;display:block;white-space:pre-line;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}.mystical-text__glow,.mystical-text__main,.char-reveal-shadow,.char-reveal-main,.char-reveal-shine{display:block;white-space:pre-line;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}.mystical-text__glow,.char-reveal-shadow,.char-reveal-shine{position:absolute;inset:0;pointer-events:none}.mystical-text__glow{color:#e8a85747;filter:blur(10px);opacity:0;transform:scale(.985)}.mystical-text__main{position:relative;z-index:1;opacity:0;filter:blur(12px);transform:translateY(6px) scale(.985);text-shadow:0 0 18px rgba(232,168,87,.18),0 1px 2px rgba(0,0,0,.26)}.char-reveal-shine{color:transparent;background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.03) 38%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.05) 62%,transparent 82%);background-size:220% 100%;background-position:130% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;mix-blend-mode:screen}.mystical-text-shell.is-visible .mystical-text__glow{animation:mirror-glow var(--mystical-duration, .82s) cubic-bezier(.18,.88,.24,1) forwards}.mystical-text-shell.is-visible .mystical-text__main{animation:mystical-reveal var(--mystical-duration, .82s) cubic-bezier(.18,.88,.24,1) forwards}.char-reveal-shadow{color:#e8a85724;filter:blur(6px);opacity:0}.char-reveal-shell.is-running .char-reveal-shadow{animation:mirror-glow .92s ease-out forwards}.char-reveal-main{position:relative;z-index:1;color:inherit;text-shadow:0 2px 4px rgba(10,5,20,.38),0 1px 1px rgba(0,0,0,.28)}.char-reveal{opacity:0;filter:blur(8px);transition:opacity .24s ease-out,filter .36s ease-out}.char-reveal.is-visible{opacity:1;filter:blur(0)}.char-reveal-shell.is-running .char-reveal-shine{animation:mirror-shine 1.2s ease-out .18s forwards}@keyframes particle-float{0%{opacity:0;transform:translate3d(0,10px,0) scale(.5)}18%{opacity:.88}to{opacity:0;transform:translate3d(var(--drift-x, 0px),calc(var(--drift-y, -120px)),0) scale(.16)}}@keyframes app-intro-veil{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(12px)}}@keyframes app-surface-enter{0%{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur(0)}}@keyframes scene-layer-enter{0%{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur(0)}}@keyframes surface-fade-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes panel-stage-enter{0%{opacity:0;transform:translateY(10px);filter:blur(12px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes history-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes history-overlay-exit{0%{opacity:1}to{opacity:0}}@keyframes history-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes history-backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes history-panel-enter{0%{opacity:0;transform:translateY(14px) scale(.985);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes history-panel-exit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(10px) scale(.988);filter:blur(8px)}}@keyframes launch-particles-reveal{0%{opacity:0}to{opacity:.6}}@keyframes launch-particle-float{0%{transform:translateZ(0) scale(.8);opacity:0}12%{opacity:1}to{transform:translate3d(var(--drift-x),var(--drift-y),0) scale(1.3);opacity:0}}@keyframes launch-logo-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes launch-subtitle-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes aura-breathe{0%,to{opacity:.72;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.04)}}@keyframes candle-outer-flicker{0%,to{opacity:.68;transform:scale(.98) translateZ(0)}23%{opacity:.92;transform:scale(1.04) translate3d(-2px,1px,0)}51%{opacity:.74;transform:scale(1) translate3d(1px,-2px,0)}76%{opacity:.86;transform:scale(1.08) translate3d(2px,1px,0)}}@keyframes candle-core-flicker{0%,to{opacity:.76;transform:scale(.94) translateZ(0)}19%{opacity:1;transform:scale(1.08) translate3d(1px,-2px,0)}46%{opacity:.72;transform:scale(.98) translate3d(-1px,1px,0)}72%{opacity:.94;transform:scale(1.04) translate3d(2px,0,0)}}@keyframes crystal-breathe{0%,to{opacity:.74;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}}@keyframes crystal-pulse{0%,to{opacity:.58;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.92;transform:translate(-50%,-50%) scale(1.08)}}@keyframes question-input-candle-breathe{0%,to{box-shadow:inset 0 1px #ffebc414,inset 0 0 0 1px #70462257,0 0 0 1px #e8a8572e,0 0 14px #e8a8571a,0 14px 30px #0000003d}50%{box-shadow:inset 0 1px #ffebc41c,inset 0 0 0 1px #84542a66,0 0 0 1px #f5bd6238,0 0 20px #e8a85729,0 16px 34px #00000042}}@keyframes selection-glow-pulse{0%,to{opacity:.34;transform:scale(.98)}50%{opacity:.78;transform:scale(1.03)}}@keyframes selection-card-settle{0%{transform:translateY(-12px) scale(1.04)}58%{transform:translateY(4px) scale(.985)}to{transform:translateY(0) scale(1)}}@keyframes selection-badge-settle{0%{transform:scale(.72);opacity:0}45%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@keyframes selection-guidance-breathe{0%,to{transform:translateY(0);opacity:.82;box-shadow:0 8px 30px #0000003d}50%{transform:translateY(-2px);opacity:1;box-shadow:0 12px 34px #0000004d}}@keyframes reveal-halo-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.74);filter:blur(18px)}55%{opacity:calc(var(--reveal-halo-opacity, .24) + .08);transform:translate(-50%,-50%) scale(calc(var(--reveal-halo-scale, 1) * 1.05));filter:blur(8px)}to{opacity:var(--reveal-halo-opacity, .24);transform:translate(-50%,-50%) scale(var(--reveal-halo-scale, 1));filter:blur(0)}}@keyframes fortune-presence{0%,to{transform:translateY(0) scale(1);opacity:.96}50%{transform:translateY(-3px) scale(1.01);opacity:1}}@keyframes caret-blink{0%,48%{opacity:.85}50%,to{opacity:.12}}@keyframes mystical-reveal{0%{opacity:0;filter:blur(14px);transform:translateY(8px) scale(.985);text-shadow:0 0 18px rgba(232,168,87,.18)}40%{opacity:.55;filter:blur(6px);text-shadow:0 0 24px rgba(232,168,87,.16)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1);text-shadow:0 0 0 rgba(232,168,87,0)}}@keyframes mirror-glow{0%{opacity:0;filter:blur(12px);transform:scale(.982)}55%{opacity:.68}to{opacity:.32;filter:blur(6px);transform:scale(1)}}@keyframes mirror-shine{0%{opacity:0;background-position:135% 50%}18%{opacity:.72}72%{opacity:.52}to{opacity:0;background-position:-35% 50%}}@keyframes scene-transition-fade{0%{opacity:0}12%{opacity:1}to{opacity:0}}@keyframes scene-transition-mask{0%{opacity:0;transform:scale(.12)}36%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(3.6)}}@keyframes scene-transition-symbol{0%{opacity:0;transform:scale(.5)}38%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(1.54)}}@keyframes scene-transition-particle{0%{opacity:0;transform:translate(0) scale(.3)}16%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.1)}}@media(max-width:820px){.scene-candle{width:min(22vw,132px);height:min(30vw,176px)}.panel-shell{width:calc(100vw - 16px)}.top-bar{left:12px;right:12px}.floating-prompt{width:calc(100vw - 28px);max-width:540px;font-size:.72rem}.completion-card{width:84px}.completion-card.is-single{width:136px}}@media(max-width:620px),(max-height:520px){.scene-candle{width:min(25vw,110px);height:min(32vw,144px)}.scene-candle--left{left:17.5%;--candle-y: 43%}.scene-candle--right{left:79%;--candle-y: 39.5%}.dialogue-copy{line-height:1.5}.dialogue-title{margin-bottom:10px}.dialogue-lead{margin-bottom:8px}.dialogue-body{gap:10px}.dialogue-meta{margin-bottom:8px;line-height:1.42}.card-selection-header__caption{display:none}.shuffle-touch-progress{width:70px;height:70px}.floating-prompt{bottom:calc(var(--dialogue-height) + var(--dialogue-bottom-gap) + 196px);padding:9px 14px}.table-focus-mask{background:radial-gradient(ellipse 82% 28% at 50% 59%,#08031000 0% 24%,#08031008 44%,#0803101f 70%,#04020a3d)}.table-focus-glow{background:radial-gradient(ellipse 52% 15% at 50% 59%,rgba(255,236,197,.08) 0%,rgba(232,168,87,.04) 36%,rgba(232,168,87,.016) 58%,transparent 78%)}.reveal-stage__eyebrow{margin-bottom:8px;font-size:.62rem}.history-overlay__panel{left:12px;right:12px;top:max(env(safe-area-inset-top,12px),12px);bottom:max(env(safe-area-inset-bottom,12px),12px);width:auto}.history-row__actions{flex-wrap:wrap;justify-content:flex-end}.history-detail-card{grid-template-columns:1fr}.history-detail-card__image{width:min(38vw,140px)}.history-detail__summary-card{min-width:148px}}@media(orientation:landscape)and (max-width:960px)and (max-height:540px){.app-shell.is-landscape-phone .dialogue-copy{line-height:1.42}.app-shell.is-landscape-phone .char-reveal-shell.dialogue-copy{font-size:calc(var(--dialogue-copy-size, .96rem) - 1px)}.app-shell.is-landscape-phone .dialogue-copy--secondary{font-size:calc(var(--dialogue-copy-size, .96rem) - .08rem)}.app-shell.is-landscape-phone .dialogue-title{line-height:1.42;letter-spacing:.12em}.app-shell.is-landscape-phone .dialogue-meta,.app-shell.is-landscape-phone .dialogue-lead,.app-shell.is-landscape-phone .dialogue-speaker{line-height:1.38}}@media(prefers-reduced-motion:reduce){.app-intro-veil,.scene-layer,.panel-stage,.install-hint,.floating-prompt,.card-selection-header,.selection-footer,.reveal-stage,.completion-fan,.history-overlay,.history-overlay__backdrop,.history-overlay__panel,.history-content-stage,.scene-candle:before,.scene-candle:after,.atmosphere-glow--bottom,.fortune-hand-glow,.fortune-image,.particle,.ritual-crystal__halo,.ritual-crystal__pulse,.selection-card__glow,.selection-hint,.question-input:focus,.question-input:focus-visible,.selection-card.is-confirmed .selection-card__inner,.selection-card.is-confirmed .selection-card__badge span,.reveal-stage.is-flipped .reveal-halo{animation:none!important}}
