.tt-root{--tt-purple:#3d1b5c;--tt-purple-deep:#241036;--tt-gold:#c9a66b;--tt-gold-lt:#e8cfa0;--tt-cream:#f5e6d3;position:fixed;inset:0;overflow:hidden;background:var(--tt-purple-deep);color:var(--tt-cream);font-family:var(--font-sarabun),"Sarabun",sans-serif;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}.tt-glow{position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(46% 34% at 50% 16%,hsla(39,61%,77%,.3),transparent 70%),radial-gradient(70% 60% at 50% 62%,rgba(123,63,173,.4),transparent 72%);animation:tt-breathe 5.5s ease-in-out infinite;will-change:opacity,transform}.tt-glow.b{background:radial-gradient(38% 26% at 50% 22%,rgba(255,214,140,.22),transparent 72%);animation:tt-breathe 3.7s ease-in-out infinite reverse}@keyframes tt-breathe{0%,to{opacity:.78;transform:scale(1)}50%{opacity:1;transform:scale(1.045)}}@media (prefers-reduced-motion:reduce){.tt-glow,.tt-glow.b{animation:none;opacity:.9}.tt-card,.tt-deckstack,.tt-slot-card,.tt-sparkle{animation:none!important;transition:none!important}}.tt-stage{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;padding:20px 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box}.tt-title{font-family:var(--font-noto-serif-thai),serif;font-size:21px;font-weight:700;color:var(--tt-gold-lt);text-align:center;margin:0 0 6px;line-height:1.45}.tt-sub{color:#d9c7ec;line-height:1.65}.tt-question,.tt-sub{font-size:14px;text-align:center;margin:0 0 14px;max-width:30rem}.tt-question{color:var(--tt-cream);background:hsla(0,0%,100%,.07);border:1px solid hsla(38,47%,60%,.38);border-radius:14px;padding:10px 14px;line-height:1.6}.tt-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:14px;padding:15px 30px;font-size:17px;font-weight:700;font-family:inherit;color:#2c1a4a;background:linear-gradient(180deg,var(--tt-gold-lt),var(--tt-gold));box-shadow:0 6px 20px rgba(0,0,0,.34);cursor:pointer;transition:transform .12s ease,opacity .12s ease;min-height:48px}.tt-btn:active{transform:scale(.965)}.tt-btn[disabled]{opacity:.42;pointer-events:none}.tt-btn.ghost{background:transparent;color:var(--tt-gold-lt);border:1px solid hsla(38,47%,60%,.5);box-shadow:none;font-size:15px;padding:12px 22px}.tt-input{width:100%;max-width:30rem;box-sizing:border-box;border-radius:14px;border:1px solid hsla(38,47%,60%,.45);background:hsla(0,0%,100%,.08);color:var(--tt-cream);font-family:inherit;font-size:16px;padding:13px 15px;margin-bottom:14px}.tt-input::placeholder{color:hsla(34,63%,89%,.45)}.tt-input:focus{outline:none;border-color:var(--tt-gold-lt)}.tt-mute{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;z-index:5;width:40px;height:40px;border-radius:50%;border:1px solid hsla(38,47%,60%,.35);background:rgba(0,0,0,.28);color:var(--tt-gold-lt);font-size:17px;line-height:1;cursor:pointer}.tt-back{width:100%;height:100%;border-radius:9px;background:repeating-linear-gradient(45deg,hsla(38,47%,60%,.15) 0 3px,transparent 3px 7px),linear-gradient(160deg,#4a2270,#2a1240);border:1.5px solid hsla(38,47%,60%,.6);box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}.tt-back svg{width:62%;height:62%;opacity:.92}.tt-fan{position:relative;flex:1 1;width:100%;min-height:190px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:6px}.tt-fan::-webkit-scrollbar{display:none}.tt-rail{position:relative;height:100%;min-height:190px}.tt-hint{font-size:12px;color:hsla(39,61%,77%,.72);text-align:center;margin:0 0 6px}.tt-card{position:absolute;bottom:16px;width:62px;height:96px;scroll-snap-align:center;transform-origin:50% 130%;transform:rotate(var(--a,0deg)) translateY(var(--y,0));cursor:pointer;transition:transform .18s cubic-bezier(.22,.9,.32,1.2),opacity .26s ease;will-change:transform}.tt-card.hot,.tt-card:active{transform:rotate(var(--a,0deg)) translateY(calc(var(--y, 0px) - 22px)) scale(1.13);z-index:900}.tt-card .tt-back,.tt-card.picked{pointer-events:none}.tt-card.picked{opacity:0}.tt-deckstack{animation:tt-riffle 2s cubic-bezier(.4,0,.2,1) 1}@keyframes tt-riffle{0%{transform:translateX(0) rotate(0deg)}18%{transform:translateX(-13px) rotate(-2.5deg)}36%{transform:translateX(11px) rotate(2deg)}54%{transform:translateX(-8px) rotate(-1.4deg)}72%{transform:translateX(6px) rotate(1deg)}to{transform:translateX(0) rotate(0deg)}}.tt-slots{display:flex;gap:12px;justify-content:center;width:100%;max-width:30rem;margin-bottom:14px}.tt-slot{flex:1 1;max-width:108px;display:flex;flex-direction:column;align-items:center;gap:7px}.tt-slot-frame{position:relative;width:100%;aspect-ratio:13/19;border-radius:10px;border:1.5px dashed hsla(38,47%,60%,.42);background:hsla(0,0%,100%,.045);perspective:800px}.tt-slot-label{font-size:12.5px;color:var(--tt-gold-lt);letter-spacing:.4px}.tt-slot-card{position:absolute;inset:0;border-radius:10px;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.45,.05,.25,1);animation:tt-land .34s cubic-bezier(.2,.9,.3,1.25) 1}.tt-slot-card.flipped{transform:rotateY(180deg)}@keyframes tt-land{0%{transform:translateY(-26px) scale(.86);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.tt-face,.tt-rear{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.tt-rear{transform:rotateY(180deg)}.tt-face-img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}.tt-face-img.rev{transform:rotate(180deg)}.tt-card-name{font-size:11px;color:var(--tt-cream);text-align:center;line-height:1.35;min-height:1.9em}.tt-sparkle{position:absolute;inset:-6px;border-radius:12px;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,240,200,.85),transparent 62%);animation:tt-spark .68s ease-out 1 forwards}@keyframes tt-spark{0%{opacity:0;transform:scale(.55)}35%{opacity:.95;transform:scale(1.06)}to{opacity:0;transform:scale(1.3)}}.tt-center{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.tt-dots span{display:inline-block;width:9px;height:9px;margin:0 4px;border-radius:50%;background:var(--tt-gold-lt);animation:tt-bounce 1.25s ease-in-out infinite}.tt-dots span:nth-child(2){animation-delay:.16s}.tt-dots span:nth-child(3){animation-delay:.32s}@keyframes tt-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-7px);opacity:1}}.tt-count{font-size:14px;color:var(--tt-gold-lt);margin-bottom:10px}.tt-err{font-size:14px;color:#f0c7c7;line-height:1.7;max-width:26rem}