.language-selector.is-shell{z-index:1;position:relative;top:auto;right:auto}.language-selector.is-shell .language-toggle{box-shadow:none;padding:8px 12px;font-size:.82rem;animation:none}.language-selector{z-index:1000;position:fixed;top:15px;right:15px}.language-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-accent-gold);cursor:pointer;font-family:var(--font-heading);background:#0a0a14cc;border:1px solid #d4af3799;border-radius:30px;align-items:center;gap:8px;padding:10px 18px;font-size:1rem;transition:all .3s;animation:2.5s ease-in-out infinite languageShimmer;display:flex;box-shadow:0 4px 15px #0000004d,0 0 10px #d4af3726}@keyframes languageShimmer{0%,to{border-color:#d4af3766;box-shadow:0 4px 15px #0000004d,0 0 10px #d4af371a}50%{border-color:#d4af37;box-shadow:0 4px 15px #0000004d,0 0 25px #d4af3799,inset 0 0 5px #d4af3733}}.language-toggle:hover{background:#0a0a14d9;border-color:#d4af3799}.lang-flag{font-size:1.2rem;line-height:1}.lang-name{letter-spacing:.5px;font-size:.95rem}.lang-arrow{opacity:.7;font-size:.7rem;transition:transform .2s}.lang-arrow.open{transform:rotate(180deg)}.language-dropdown{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0a0a14f2;border:1px solid #d4af374d;border-radius:12px;min-width:140px;animation:.2s dropdownFadeIn;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.language-option{width:100%;color:var(--color-text-primary);cursor:pointer;font-family:var(--font-body);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;transition:background .15s;display:flex}.language-option:hover{background:#d4af371a}.language-option.active{color:var(--color-accent-gold);background:#d4af3714}.language-option+.language-option{border-top:1px solid #ffffff0d}@media (max-width:768px){.language-selector{top:15px;right:15px}.language-toggle{font-family:var(--font-body);box-shadow:none;background:#0a0a14b3;border:1px solid #d4af374d;border-radius:25px;gap:6px;padding:6px 12px;font-size:.85rem;animation:none}.lang-flag{font-size:1rem}.lang-name{letter-spacing:0;font-size:.8rem}}@media (max-width:480px){.language-selector{top:10px;right:10px}.language-toggle{padding:5px 10px}.lang-name{font-size:.75rem}}
.night-sky{z-index:0;pointer-events:none;background:#050510;position:fixed;inset:0;overflow:hidden}.night-sky__photo,.night-sky__twinkle{background-image:url(/backgrounds/night-sky.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.night-sky__photo{opacity:.9;filter:saturate(1.02)contrast(1.1)brightness(.96)}.night-sky__twinkle{opacity:.22;animation:5.5s ease-in-out infinite alternate nightSkyTwinkle}.night-sky__veil{background:radial-gradient(at 50% 20%,#1a1a3a38 0%,#0000 55%),linear-gradient(#0505105c 0%,#05051094 100%);position:absolute;inset:0}@keyframes nightSkyTwinkle{0%{opacity:.12}45%{opacity:.32}to{opacity:.18}}@media (hover:hover) and (pointer:fine){.night-sky__twinkle{mix-blend-mode:screen}}@media (hover:none) and (pointer:coarse){.night-sky__twinkle{opacity:.18;animation:none}}@media (prefers-reduced-motion:reduce){.night-sky__twinkle{opacity:.18;animation:none}}
.mobile-shell-frame{min-height:var(--app-vh);background:#050510;justify-content:center;display:flex;position:relative}.mobile-shell{z-index:1;width:100%;max-width:430px;height:var(--app-vh);min-height:var(--app-vh);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #d4af3724,0 0 80px #0000008c}.mobile-shell-header{z-index:100;padding:max(10px,env(safe-area-inset-top))max(12px,env(safe-area-inset-right))10px max(12px,env(safe-area-inset-left));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:relative}.mobile-shell-back,.mobile-shell-back-spacer{width:44px;height:44px}.mobile-shell-back{cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid}.mobile-shell-back-icon{object-fit:contain;filter:drop-shadow(0 1px 2px #0009);pointer-events:none;-webkit-user-select:none;user-select:none;width:30px;height:30px;transition:filter .2s}.mobile-shell-back:active{transform:scale(.94)}.mobile-shell-back:focus-visible{outline-offset:2px;border-radius:50%;outline:1px solid #d4af3799}@media (hover:hover) and (pointer:fine){.mobile-shell-back:hover .mobile-shell-back-icon{filter:drop-shadow(0 1px 2px #0009)drop-shadow(0 0 6px #d4af3773)}}.mobile-shell-header .language-selector.is-shell{margin-left:auto}.mobile-shell-content{z-index:1;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;position:relative;overflow:hidden auto}
.start-screen-body{min-height:var(--screen-h);padding:8px 0 max(16px,env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.start-hero{width:100%;margin-bottom:clamp(8px,1.3vh,14px);padding:0 16px}.moon-symbol{color:#ba9d65;margin-bottom:4px;font-size:clamp(1.8rem,4vh,2.4rem)}.main-title{font-family:var(--font-heading);color:#d0b786;letter-spacing:.14em;margin-bottom:8px;font-size:min(1.85rem,8vw);font-weight:700}.subtitle{font-family:var(--font-body);color:var(--color-text-secondary);letter-spacing:.04em;font-size:.9rem;font-style:italic;line-height:1.5}.spread-carousel{--spread-art-height:clamp(225px,calc(var(--screen-h) - 295px),480px);--spread-card-width:min(calc(var(--spread-art-height)*954/1649),calc(100vw - 80px));width:100%;min-width:0;margin:auto 0}.spread-carousel-track{width:100%;padding:8px max(16px,calc((100% - var(--spread-card-width))/2))12px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none;cursor:grab;gap:22px;margin:0;list-style:none;display:flex;position:relative;overflow-x:auto}.spread-carousel-track[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}.spread-carousel-item{flex:0 0 var(--spread-card-width);scroll-snap-align:center;scroll-snap-stop:always;opacity:.5;min-width:0;transition:opacity .18s,transform .18s;transform:scale(.91)}.spread-carousel-item.is-active{opacity:1;transform:scale(1)}.spread-image-button{color:#e0cfad;width:100%;font-family:var(--font-body);cursor:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;padding:0;display:block}.spread-image{aspect-ratio:954/1649;object-fit:contain;pointer-events:none;border-radius:12px;width:100%;height:auto;display:block;box-shadow:0 8px 20px #0006}.spread-image-caption{flex-direction:column;align-items:center;gap:5px;padding-top:10px;display:flex}.spread-image-title{letter-spacing:.04em;font-size:1.05rem;line-height:1.4}.spread-image-meta{color:#b0a69a;font-size:.75rem;line-height:1.5}.spread-carousel-description{color:#beb5ac;word-break:keep-all;max-width:360px;min-height:1.4em;margin:2px auto 4px;padding:0 24px;font-size:.78rem;line-height:1.4}.spread-carousel-controls{justify-content:center;align-items:center;display:flex}.spread-carousel-dot{color:#c7b18c;cursor:pointer;background:0 0;border:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.spread-carousel-dots{display:flex}.spread-carousel-dot span{background:#635c61;border-radius:50%;width:6px;height:6px;transition:background .18s,width .18s}.spread-carousel-dot.is-active span{background:#c7b18c;border-radius:4px;width:20px}.spread-image-button:focus-visible,.spread-carousel-dot:focus-visible{outline-offset:4px;border-radius:10px;outline:2px solid #d0b786}.spread-image-button:active .spread-image{filter:brightness(1.07)}@media (hover:hover) and (pointer:fine){.spread-image-button:hover .spread-image{filter:brightness(1.07)}}@media (prefers-reduced-motion:reduce){.spread-carousel-item,.spread-carousel-dot span{transition:none}}
.situation-screen{justify-content:center}.situation-screen-body{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding:12px 14px;display:flex;position:relative}.situation-header{text-align:center;word-break:keep-all;overflow-wrap:anywhere;width:100%;transform:translateY(var(--situation-first-offset,0px));will-change:transform;flex-direction:column;align-items:center;gap:16px;margin-bottom:16px;display:flex;position:relative}.situation-screen[data-intro-phase=second] .situation-header{transform:translateY(var(--situation-intro-offset,0px))}.situation-screen[data-intro-phase=lifting] .situation-header,.situation-screen[data-intro-phase=ready] .situation-header{transform:translateY(0)}.situation-screen[data-intro-phase=second] .situation-header,.situation-screen[data-intro-phase=lifting] .situation-header{transition:transform .45s cubic-bezier(.22,1,.36,1)}.situation-intro-group{text-align:center;opacity:0;flex-direction:column;align-items:center;width:100%;transition:opacity .32s ease-out;display:flex}.situation-intro-group.is-visible{opacity:1}.situation-intro-group>:last-child{margin-bottom:0}.situation-intro-group>*{width:100%;transition:width .5s ease-out,font-size .5s ease-out}.situation-screen[data-intro-phase=second] [data-intro-group=first]>:first-child{width:82%;font-size:.8rem}.situation-screen[data-intro-phase=second] [data-intro-group=first]>:last-child{width:90%;font-size:.84rem}.situation-screen:is([data-intro-phase=lifting],[data-intro-phase=ready]) [data-intro-group=first]>:first-child{width:66%;font-size:.75rem}.situation-screen:is([data-intro-phase=lifting],[data-intro-phase=ready]) [data-intro-group=first]>:last-child{width:78%;font-size:.8rem}.situation-screen:is([data-intro-phase=lifting],[data-intro-phase=ready]) [data-intro-group=second]>:first-child{width:90%;font-size:.88rem}.situation-screen:is([data-intro-phase=lifting],[data-intro-phase=ready]) .situation-title{font-size:clamp(.9rem,4.5vw,1.25rem)}.situation-form{opacity:0;visibility:hidden;width:100%;transition:opacity .28s ease-out,transform .28s ease-out;transform:translateY(12px)}.situation-screen[data-intro-phase=ready] .situation-form{opacity:1;visibility:visible;transform:translateY(0)}.selected-category{background:var(--gradient-card);border:1px solid var(--color-accent-gold);font-family:var(--font-heading);color:var(--color-accent-gold);border-radius:999px;margin-bottom:14px;padding:8px 16px;font-size:.92rem;display:inline-block}.situation-title{font-family:var(--font-heading);letter-spacing:-.03em;text-wrap:balance;color:var(--color-accent-gold);font-size:clamp(.88rem,3.8vw,1.2rem);line-height:1.75}.situation-subtitle{color:var(--color-text-secondary);white-space:pre-line;text-wrap:balance;margin-bottom:12px;font-size:.88rem;line-height:1.7}.situation-input-container{width:100%;position:relative}.situation-textarea{width:100%;height:clamp(140px,calc(var(--screen-h)*.23),176px);min-height:140px;font-family:var(--font-body);color:var(--color-text-primary);resize:none;background:#1a1a3ad1;border:1px solid #d4af3752;border-radius:12px;padding:14px 14px 32px;font-size:1rem;line-height:1.6}.situation-textarea:focus{border-color:var(--color-accent-gold);outline:none;box-shadow:0 0 0 2px #d4af3726}.situation-textarea::placeholder{color:var(--color-text-secondary);opacity:.75}.char-count{color:var(--color-text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.78rem;position:absolute;bottom:10px;right:12px}.situation-error{color:#e5b7a5;text-align:center;min-height:1.5em;margin-top:8px;font-size:.8rem;line-height:1.5}.situation-actions{flex-direction:column;align-items:center;width:100%;margin-top:8px;display:flex}.situation-submit{min-height:44px;box-shadow:none;color:var(--color-accent-gold);font-family:var(--font-heading);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:10px 16px;font-size:1rem;line-height:1.5}.situation-submit:focus-visible{outline:2px solid var(--color-accent-gold);outline-offset:4px}.situation-submit:disabled{cursor:default}@media (hover:hover) and (pointer:fine){.situation-submit:hover:not(:disabled){color:var(--color-text-primary)}}@media (prefers-reduced-motion:reduce){.situation-screen[data-intro-phase=second] .situation-header,.situation-screen[data-intro-phase=lifting] .situation-header,.situation-form,.situation-intro-group,.situation-intro-group>*{transition:none}}
.shuffle-screen-body{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:20px 16px;display:flex}.shuffle-stage{flex-direction:column;align-items:center;width:100%;display:flex;overflow:visible}.shuffle-deck{perspective:1000px;flex:none;width:180px;height:220px;margin:0 auto;position:relative;overflow:visible}.shuffle-card{width:118px;height:186px;transform:translate(-50%,-50%)translateX(calc(var(--index)*3px))translateY(calc(var(--index)*-3px))rotateZ(0deg);transform-origin:50% 85%;will-change:transform;position:absolute;top:50%;left:50%}.shuffle-card--shuffling{animation:.5s ease-in-out infinite cardShuffle;animation-delay:var(--delay)}.shuffle-card--gathering{animation:none;transform:translate(-50%,-50%)translate(0)rotate(0)}.shuffle-card--fanning{animation:.52s ease-out forwards cardFan;animation-delay:calc(var(--index)*40ms)}.shuffle-card--stacking{animation:none;transform:translate(-50%,-50%)translate(0)rotate(0)}.shuffle-card--ready{transform:translate(-50%,-50%)translate(0)rotate(0)}@keyframes cardShuffle{0%,to{transform:translate(-50%,-50%)translateX(calc(var(--index)*3px))translateY(calc(var(--index)*-3px))rotateZ(0deg)}50%{transform:translate(-50%,-50%)translateX(calc(24px + var(--index)*-2px))translateY(calc(8px + var(--index)*-2px))rotateZ(6deg)}}@keyframes cardFan{0%{transform:translate(-50%,-50%)translate(0)translateY(0)rotate(0)}to{transform:translate(-50%,-50%)translateX(var(--fan-x))translateY(var(--fan-y))rotateZ(var(--fan-rotate))}}.shuffle-card-inner{width:100%;height:100%;box-shadow:var(--shadow-card);border-radius:10px;overflow:hidden}.shuffle-card-image{object-fit:cover;width:100%;height:100%}.shuffle-hint-slot{width:100%;min-height:2.6em;margin-top:24px}.shuffle-hint{color:var(--color-text-secondary);opacity:1;margin:0;padding:0 8px;font-size:.9rem;font-style:italic;line-height:1.5;transition:opacity .5s}.shuffle-hint--fading{opacity:0}@media (prefers-reduced-motion:reduce){.shuffle-hint{transition:none}.shuffle-card--shuffling,.shuffle-card--fanning{animation:none}.shuffle-card--gathering,.shuffle-card--stacking,.shuffle-card--ready{transform:translate(-50%,-50%)translate(0)rotate(0)}.shuffle-card--fanning{transform:translate(-50%,-50%)translateX(var(--fan-x))translateY(var(--fan-y))rotateZ(var(--fan-rotate))}}
.select-screen{overflow-x:hidden}.select-screen-body{padding:clamp(4px,calc(4px + 8*(var(--screen-h) - 504px)/196),12px)14px clamp(2px,calc(2px + 6*(var(--screen-h) - 504px)/196),8px);flex-direction:column;display:flex}.select-header{text-align:center;padding:clamp(2px,calc(2px + 2*(var(--screen-h) - 504px)/196),4px)0 clamp(4px,calc(4px + 8*(var(--screen-h) - 504px)/196),12px);flex-shrink:0}.select-title{font-family:var(--font-heading);font-size:clamp(1.1rem,calc(1.1rem + 5.6*(var(--screen-h) - 504px)/196),1.45rem);color:var(--color-accent-gold);margin-bottom:clamp(2px,calc(2px + 4*(var(--screen-h) - 504px)/196),6px);text-shadow:var(--shadow-glow)}.select-subtitle{font-size:clamp(.82rem,calc(.82rem + .96*(var(--screen-h) - 504px)/196),.88rem);color:var(--color-text-secondary);margin-bottom:clamp(4px,calc(4px + 6*(var(--screen-h) - 504px)/196),10px);line-height:1.4}.selection-counter{align-items:center;gap:4px;display:inline-flex}.counter-current{font-family:var(--font-heading);font-size:clamp(1.05rem,calc(1.05rem + 4.8*(var(--screen-h) - 504px)/196),1.35rem);color:var(--color-accent-gold);line-height:1.2}.counter-divider{color:var(--color-text-secondary);font-size:1rem}.counter-max{font-family:var(--font-heading);color:var(--color-text-secondary);font-size:1rem}.card-meaning-slot{width:100%;margin:0 auto clamp(4px,calc(4px + 4*(var(--screen-h) - 504px)/196),8px)}.card-meaning{text-align:center;max-width:100%;animation:.4s meaningFade}@keyframes meaningFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.meaning-text{font-family:var(--font-body);color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.85rem;line-height:1.45;overflow:hidden}.meaning-text--hidden{visibility:hidden}.select-footer-actions{padding:clamp(2px,calc(2px + 8*(var(--screen-h) - 504px)/196),10px)16px max(12px,env(safe-area-inset-bottom));background:0 0;border:none;flex-direction:column;flex:none;gap:10px;display:flex}.select-footer-actions .mystical-button{width:100%;max-width:none;padding:14px 20px;font-size:1.05rem}.select-all-btn{color:var(--color-accent-gold);font-family:var(--font-heading);font-size:.95rem}.select-all-btn--hidden{visibility:hidden;pointer-events:none}.mystical-button.ready{animation:1.5s ease-in-out infinite mysticPulse}.selected-cards-tray{min-height:clamp(0px,calc(96*(var(--screen-h) - 504px)/196),96px);padding:clamp(4px,calc(4px + 4*(var(--screen-h) - 504px)/196),8px)16px clamp(2px,calc(2px + 2*(var(--screen-h) - 504px)/196),4px);box-sizing:border-box;flex:none;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.selected-slot{flex:none;width:62px;height:92px}.selected-tray-card{cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;height:100%;padding:0;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000073}.selected-tray-card:active{transform:scale(.96)}.selected-tray-card img{object-fit:cover;border-radius:8px;width:100%;height:100%;display:block}.selected-tray-badge{color:#1a1230;min-width:18px;height:18px;font-family:var(--font-heading);text-align:center;background:#d4af37eb;border-radius:999px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:18px;position:absolute;top:4px;right:4px;box-shadow:0 2px 6px #00000059}.card-fly-overlay{z-index:200;pointer-events:none;transform-origin:0 0;position:fixed}.card-fly-inner{border-radius:10px;width:100%;height:100%;overflow:hidden;box-shadow:0 8px 22px #00000080}.card-fly-inner img{object-fit:cover;width:100%;height:100%;display:block}
.mobile-carousel-container{--carousel-card-h:clamp(112px,calc(112px + 38*(var(--screen-h) - 504px)/196),150px);padding:clamp(4px,calc(4px + 6*(var(--screen-h) - 504px)/196),10px)20px;min-height:clamp(0px,calc(350*(var(--screen-h) - 504px)/196),350px);flex-direction:column;justify-content:center;align-items:center;display:flex}.carousel-wheel{width:100%;height:clamp(136px,calc(136px + 84*(var(--screen-h) - 504px)/196),220px);touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.carousel-cards{width:100%;height:var(--carousel-card-h);justify-content:center;align-items:center;display:flex;position:relative}.carousel-card{width:calc(var(--carousel-card-h)*2/3);height:var(--carousel-card-h);border-radius:10px;transition:transform .3s,opacity .3s;position:absolute;overflow:hidden;box-shadow:0 4px 10px #00000073}.carousel-card.center:not(.carousel-card--empty){box-shadow:0 0 0 1px #d4af378c,0 4px 10px #00000080,0 0 12px #d4af374d}.carousel-card-face{background:url(/cards/back.png) 50%/cover no-repeat;border-radius:10px;width:100%;height:100%}.carousel-card--empty{box-shadow:none}.carousel-card--empty .carousel-card-face{visibility:hidden}.carousel-card-empty{z-index:1;box-sizing:border-box;background:0 0;border:1px dashed #d4af3773;border-radius:10px;position:absolute;inset:0}.carousel-center-indicator{margin-top:-10px;margin-bottom:clamp(4px,calc(4px + 11*(var(--screen-h) - 504px)/196),15px)}.center-arrow{color:var(--color-accent-gold);font-size:clamp(1.2rem,calc(1.2rem + 4.8*(var(--screen-h) - 504px)/196),1.5rem);animation:1s ease-in-out infinite bounceArrow}@keyframes bounceArrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.carousel-select-btn{min-width:220px;min-height:clamp(46px,calc(46px + 10*(var(--screen-h) - 504px)/196),56px);padding-top:clamp(10px,calc(10px + 4*(var(--screen-h) - 504px)/196),14px);padding-bottom:clamp(10px,calc(10px + 4*(var(--screen-h) - 504px)/196),14px);margin-bottom:clamp(6px,calc(6px + 9*(var(--screen-h) - 504px)/196),15px)}.carousel-select-btn.cancel{color:#e3b4bb;text-shadow:0 0 12px #b76e7959;border-color:#d696a099;outline-color:#d696a047}.carousel-select-btn.cancel:before,.carousel-select-btn.cancel:after{color:#d696a0bf}.carousel-select-btn.disabled{opacity:.6;cursor:not-allowed;box-shadow:var(--mystic-shadow-base);text-shadow:none}.carousel-hint{font-family:var(--font-body);font-size:clamp(.82rem,calc(.82rem + 1.28*(var(--screen-h) - 504px)/196),.9rem);color:var(--color-text-secondary);opacity:.8;margin:0}.carousel-select-all-btn{font-family:var(--font-heading);color:var(--color-accent-gold);cursor:pointer;opacity:.7;background:0 0;border:1px solid #d4af3766;border-radius:50px;margin-top:12px;padding:10px 28px;font-size:.85rem;transition:all .3s}.carousel-select-all-btn:active{background:#d4af371a;transform:scale(.95)}.carousel-select-all-btn:disabled{opacity:.3;cursor:not-allowed}
.selected-tray-carousel{box-sizing:border-box;flex:none;width:100%;padding:4px 0}.selected-tray-carousel-mask{box-sizing:border-box;width:100%;padding:0 20px;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%)}.tray-carousel-wheel{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:88px;display:flex;overflow:hidden}.tray-carousel-cards{justify-content:center;align-items:center;width:100%;height:78px;display:flex;position:relative}.tray-carousel-slot{border-radius:8px;width:52px;height:78px;position:absolute}.tray-carousel-slot.center .selected-tray-card{box-shadow:0 4px 14px #d4af3759}.tray-carousel-slot-empty{box-sizing:border-box;background:0 0;border:1px dashed #d4af3747;border-radius:8px;width:100%;height:100%}.tray-carousel-slot .selected-tray-card{width:100%;height:100%}.tray-carousel-slot .selected-tray-card-face{background:url(/cards/back.png) 50%/cover no-repeat;border-radius:8px;width:100%;height:100%}
.summary-viewer-container{flex-direction:column;flex-shrink:0;align-items:center;padding:0 14px 8px;display:flex}.viewer-wheel{touch-action:pan-y;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:315px;display:flex;position:relative;overflow:hidden}.viewer-cards{justify-content:center;align-items:center;width:100%;height:233px;display:flex;position:relative}.viewer-card{border-radius:12px;width:auto;height:216px;position:absolute;overflow:hidden;box-shadow:0 4px 10px #00000073}.viewer-card.center{box-shadow:0 0 0 1px #d4af378c,0 4px 10px #00000080,0 0 12px #d4af374d}.viewer-card img{aspect-ratio:auto 1110/1920;object-fit:contain;border-radius:12px;width:auto;height:100%;display:block}.viewer-card img.reversed{transform:rotate(180deg)}.viewer-card-number{font-family:var(--font-heading);color:var(--color-text-secondary);font-size:.8rem}.viewer-card-info{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:4px;display:flex}.viewer-card-name{font-family:var(--font-heading);color:var(--color-accent-gold);font-size:.95rem}.viewer-reversed-badge{color:#fff;font-size:.62rem;font-family:var(--font-body);background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%);border-radius:8px;padding:2px 7px}.viewer-card-keywords{text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 10px;max-width:100%;margin:6px 8px 2px;display:flex}.viewer-keyword{font-family:var(--font-body);color:#b8a8d4;letter-spacing:.01em;font-size:.78rem;line-height:1.35}.viewer-hint{font-family:var(--font-body);color:var(--color-text-secondary);opacity:.75;text-align:center;margin:4px 0 0;font-size:.75rem}
.result-screen{position:relative}.interpretation-error{text-align:center;color:var(--color-text-secondary);flex-direction:column;gap:16px;padding:16px 0;line-height:1.7;display:flex}.interpretation-error .mystical-button{width:100%}.result-screen--summary .result-header{padding-bottom:4px}.result-screen--summary .result-scroll{flex:1 0 auto;overflow:visible}.summary-scroll-hint{z-index:5;pointer-events:none;flex:none;height:0;position:relative}.summary-scroll-hint svg{fill:none;width:40px;height:40px;stroke:var(--color-accent-gold);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #d4af37d9)drop-shadow(0 0 2px #d4af37f2)drop-shadow(0 2px 4px #000000d9);opacity:0;animation:.6s .9s forwards scrollHintIn;position:absolute;top:-10px;left:50%;overflow:visible;transform:translate(-50%)}.summary-scroll-hint-chevron{animation:1.6s ease-in-out infinite scrollHintCascade}.summary-scroll-hint-chevron:nth-child(2){animation-delay:.2s}@keyframes scrollHintIn{to{opacity:1}}@keyframes scrollHintCascade{0%{opacity:.25;transform:translateY(-5px)}45%{opacity:1;transform:translateY(4px)}to{opacity:.25;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.summary-scroll-hint svg{opacity:1;animation:none}.summary-scroll-hint-chevron{animation:none}}.summary-footer{padding:10px 16px max(12px,env(safe-area-inset-bottom));background:0 0;border:none;flex:none}.summary-footer .mystical-button{width:100%;max-width:none;box-shadow:none;background:0 0;border-color:#0000;outline:none;padding:14px 20px;animation:2.2s ease-in-out infinite summaryButtonFloat}.summary-footer .mystical-button:before,.summary-footer .mystical-button:after{content:none;display:none}.summary-footer .mystical-button:hover:not(:disabled),.summary-footer .mystical-button:focus-visible{box-shadow:none;background:0 0;border-color:#0000;outline:none}.summary-footer .mystical-button:active:not(:disabled){box-shadow:none;background:0 0;border-color:#0000;outline:none;animation:none;transform:scale(.985)}@keyframes summaryButtonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.summary-footer .mystical-button{animation:none}}.result-header{text-align:center;flex-shrink:0;padding:12px 14px 8px}.result-title{font-family:var(--font-heading);background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.45rem}.result-subtitle{color:var(--color-text-secondary);font-size:.88rem;line-height:1.45}.result-progress{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:4px;display:flex}.result-dot{background:#d4af3740;border-radius:50%;width:7px;height:7px;transition:background .2s,transform .2s}.result-dot.done{background:#d4af378c}.result-dot.active{background:var(--color-accent-gold);transform:scale(1.25);box-shadow:0 0 8px #d4af3799}.result-progress-label{width:100%;font-family:var(--font-heading);color:var(--color-text-secondary);letter-spacing:.08em;margin-top:2px;font-size:.78rem}.result-card-area{flex:none;justify-content:center;align-items:center;padding:8px 14px 12px;transition:opacity .3s;display:flex}.result-card-area.transitioning{opacity:0}.single-card{perspective:1500px;cursor:pointer;width:130px;height:220px}.single-card:not(.flipped){animation:2s ease-in-out infinite hoverPulse}@keyframes hoverPulse{0%,to{filter:drop-shadow(0 0 10px #d4af3766)}50%{filter:drop-shadow(0 0 25px #d4af37cc)}}.single-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,0,.2,1);position:relative}.single-card.flipped .single-card-inner{transform:rotateY(180deg)}.single-card-back,.single-card-front{backface-visibility:hidden;border-radius:12px;width:100%;height:100%;position:absolute;overflow:hidden;box-shadow:0 10px 40px #00000080}.single-card-back img,.single-card-front img{object-fit:cover;border-radius:12px;width:100%;height:100%}.click-hint{color:var(--color-accent-gold);font-family:var(--font-heading);white-space:nowrap;background:#000c;border-radius:16px;padding:6px 12px;font-size:.72rem;animation:2s ease-in-out infinite bounce;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-4px)}}.single-card-front{transform:rotateY(180deg)}.single-card-front img{border:2px solid var(--color-accent-gold)}.single-card-front img.reversed{transform:rotate(180deg)}.result-scroll{-webkit-overflow-scrolling:touch;padding:0 28px 8px;overflow-y:auto}.interpretation-panel{width:100%}.card-interpretation{background:0 0;border:none;border-radius:0;padding:0;animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.interpretation-header{border-bottom:1px solid #d4af374d;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.position-number{background:var(--gradient-gold);width:40px;height:40px;font-family:var(--font-heading);color:var(--color-bg-primary);box-shadow:var(--shadow-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.position-info{flex:1;min-width:0}.position-title{font-family:var(--font-heading);color:var(--color-accent-gold);margin:0 0 4px;font-size:1.05rem}.position-desc{color:var(--color-text-secondary);margin:0;font-size:.82rem;line-height:1.45}.interpretation-body{padding:4px 0}.card-selected-name{font-family:var(--font-heading);color:var(--color-accent-rose);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:1rem;display:flex}.reversed-badge{color:#fff;font-size:.7rem;font-family:var(--font-body);background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%);border-radius:10px;padding:3px 8px}.interpretation-content{text-align:center;padding:4px 18px 48px}.interpretation-sentence{opacity:0;margin-bottom:1.5em}.interpretation-sentence--revealed{animation:1.15s forwards sentenceReveal}.interpretation-reveal-spacer{pointer-events:none;height:min(55vh,420px);min-height:180px}@keyframes sentenceReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.interpretation-loading{color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 16px;font-size:.9rem;display:flex}.interpretation-loading-text{text-align:center;line-height:1.5;display:block}.typing-indicator{gap:4px;display:flex}.typing-indicator span{background:var(--color-accent-gold);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both typingBounce}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.markdown-content{font-family:var(--font-body);letter-spacing:.08em;color:var(--color-text-primary);text-align:center;font-size:.95rem;line-height:2.5}.markdown-content .md-h2{font-family:var(--font-heading);color:var(--color-accent-gold);margin:16px 0 8px;font-size:1.1rem;display:block}.markdown-content .md-h2:first-child{margin-top:0}.markdown-content .md-hr{border:none;border-top:1px solid #d4af374d;margin:16px 0}.markdown-content strong{color:var(--color-accent-gold)}.markdown-content em{color:var(--color-accent-gold);font-style:italic}.interpretation-placeholder{text-align:center;color:var(--color-text-secondary);padding:24px 16px;font-size:.95rem;line-height:1.5}.next-button{animation:1.5s ease-in-out infinite mysticPulse}@keyframes glowPulse{0%,to{box-shadow:0 0 15px #d4af3766}50%{box-shadow:0 0 30px #d4af37cc}}
.pwa-install-banner{top:calc(var(--mobile-header-height) + 10px);width:min(calc(100vw - 28px),calc(var(--mobile-shell-max,430px) - 28px));z-index:850;outline-offset:-6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(1px 1px at 18% 22%,#fff0c88c 50%,#0000 51%),radial-gradient(1px 1px at 72% 14%,#fff0c866 50%,#0000 51%),radial-gradient(1.2px 1.2px at 86% 64%,#fff0c873 50%,#0000 51%),radial-gradient(1px 1px at 38% 82%,#fff0c859 50%,#0000 51%),radial-gradient(120% 90% at 50% 0,#d4af3721 0%,#0000 60%),radial-gradient(90% 110% at 50% 100%,#8b5cf624 0%,#0000 65%),linear-gradient(#1c193af7 0%,#0c0a1cfa 100%);border:1px solid #d4af378c;border-radius:16px;outline:1px solid #d4af3738;padding:18px 18px 16px;animation:.5s cubic-bezier(.2,.8,.2,1) pwaBannerIn;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0000008c,0 0 28px #d4af371f,inset 0 1px #f4cf6729,inset 0 0 28px #0006}@keyframes pwaBannerIn{0%{opacity:0;transform:translate(-50%)translateY(-14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pwa-install-corner{color:#e8c86ed9;text-shadow:0 0 6px #d4af3780;pointer-events:none;font-size:9px;line-height:1;position:absolute}.pwa-install-corner--tl{top:2px;left:4px}.pwa-install-corner--tr{top:2px;right:4px}.pwa-install-corner--bl{bottom:2px;left:4px}.pwa-install-corner--br{bottom:2px;right:4px}.pwa-install-close{color:#d4af3799;cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;transition:color .2s,filter .2s;display:grid;position:absolute;top:10px;right:10px}.pwa-install-close svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:13px;height:13px}.pwa-install-close:active{color:var(--color-accent-gold)}.pwa-install-close:focus-visible{outline-offset:0;outline:1px solid #d4af3799}@media (hover:hover) and (pointer:fine){.pwa-install-close:hover{color:var(--color-accent-gold);filter:drop-shadow(0 0 4px #d4af3780)}}.pwa-install-content{align-items:center;gap:14px;padding-right:22px;display:flex}.pwa-install-emblem{flex:none;place-items:center;width:58px;height:58px;display:grid;position:relative}.pwa-install-emblem:before{content:"";background:radial-gradient(circle,#d4af3747 0%,#8b5cf61f 45%,#0000 70%);border-radius:50%;animation:4s ease-in-out infinite pwaEmblemBreathe;position:absolute;inset:-8px}.pwa-install-emblem:after{content:"";border:1px dashed #d4af3766;border-radius:50%;animation:40s linear infinite pwaEmblemSpin;position:absolute;inset:0}.pwa-install-emblem img{border-radius:50%;width:50px;height:50px;position:relative;box-shadow:0 0 12px #d4af374d,0 4px 10px #00000080}@keyframes pwaEmblemBreathe{0%,to{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes pwaEmblemSpin{to{transform:rotate(360deg)}}.pwa-install-text{min-width:0}.pwa-install-eyebrow{font-family:var(--font-heading);letter-spacing:.28em;text-transform:uppercase;color:#d4af3799;margin:0 0 3px;font-size:.62rem}.pwa-install-title{font-family:var(--font-heading);letter-spacing:.04em;background:linear-gradient(#f6dc8e 0%,#d4af37 60%,#b08a2a 100%);color:#0000;filter:drop-shadow(0 0 8px #d4af3740);-webkit-background-clip:text;background-clip:text;margin:0 0 5px;font-size:1.05rem}.pwa-install-subtitle{font-family:var(--font-body);color:#ece4d2c7;word-break:keep-all;margin:0;font-size:.84rem;line-height:1.5}.pwa-install-divider{color:#d4af37b3;align-items:center;gap:10px;margin:14px 4px 12px;font-size:8px;line-height:1;display:flex}.pwa-install-divider:before,.pwa-install-divider:after{content:"";flex:1;height:1px}.pwa-install-divider:before{background:linear-gradient(90deg,#0000,#d4af3773)}.pwa-install-divider:after{background:linear-gradient(90deg,#d4af3773,#0000)}.pwa-install-actions{align-items:center;gap:10px;display:flex}.mystical-button.pwa-install-btn{flex:1;gap:10px;min-height:46px;padding:10px 16px;font-size:.95rem;animation:2.4s ease-in-out infinite mysticPulse}.mystical-button.pwa-install-btn:disabled{opacity:.65;cursor:wait;animation:none}.pwa-dismiss-btn{color:#ece4d299;min-height:46px;font-family:var(--font-body);letter-spacing:.04em;text-underline-offset:4px;cursor:pointer;background:0 0;border:none;flex:none;padding:10px 14px;font-size:.88rem;-webkit-text-decoration:underline #d4af3759;text-decoration:underline #d4af3759;transition:color .2s,text-decoration-color .2s}.pwa-dismiss-btn:only-child{border:1px solid #d4af3759;border-radius:12px;flex:1;text-decoration:none}.pwa-dismiss-btn:active{color:var(--color-text-primary);text-decoration-color:#d4af37b3}.pwa-dismiss-btn:focus-visible{outline-offset:2px;border-radius:8px;outline:1px solid #d4af3799}@media (hover:hover) and (pointer:fine){.pwa-dismiss-btn:hover{color:var(--color-text-primary);text-decoration-color:#d4af37b3}}@media (prefers-reduced-motion:reduce){.pwa-install-banner,.pwa-install-emblem:before,.pwa-install-emblem:after,.mystical-button.pwa-install-btn{animation:none}}
