.tm-magic-8-ball{container-type:inline-size;position:relative}.tm-magic-8-ball__kbd-hint{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-3);font-family:var(--font-mono);white-space:nowrap;margin-right:56px}.tm-magic-8-ball__kbd-hint kbd{font-family:var(--font-mono);font-size:11px;line-height:1;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-2);padding:3px 6px;border-radius:5px;min-width:18px;text-align:center}@media(max-width:680px){.tm-magic-8-ball__kbd-hint{display:none}}.tm-magic-8-ball__controls-pane{display:flex;flex-direction:column;gap:20px;height:100%}.tm-magic-8-ball__sound-row{display:flex;align-items:center;gap:10px}.tm-magic-8-ball__primary-pane{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding-bottom:8px}.tm-magic-8-ball__star-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s}[data-theme=dark] .tm-magic-8-ball__star-canvas{opacity:.55}.tm-magic-8-ball__question-wrap{width:100%}.tm-magic-8-ball__question-label{display:block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3);margin-bottom:8px}.tm-magic-8-ball__question-input{width:100%;padding:11px 16px;border:1px solid var(--color-border);border-radius:10px;font:inherit;font-size:14px;color:var(--color-text-1);background:var(--color-bg-1);transition:border-color .2s,background .2s;outline:none}.tm-magic-8-ball__question-input::placeholder{color:var(--color-text-3);opacity:.6}.tm-magic-8-ball__question-input:focus{border-color:var(--color-accent);outline:2px solid var(--color-accent-bg);outline-offset:-1px}[data-theme=dark] .tm-magic-8-ball__question-input{border-color:#6366f138;color:#e6edf3;background:#ffffff0a;backdrop-filter:blur(6px)}[data-theme=dark] .tm-magic-8-ball__question-input::placeholder{color:#a1a8b366;opacity:1}[data-theme=dark] .tm-magic-8-ball__question-input:focus{border-color:#6366f199;background:#ffffff0f;outline:2px solid rgba(99,102,241,.35)}.tm-magic-8-ball__question-meta{display:flex;justify-content:flex-end;margin-top:5px;font-size:12px;color:var(--color-text-3);opacity:.7}.tm-magic-8-ball__question-meta--full{color:#dc2626;opacity:1}.tm-magic-8-ball__stage{display:flex;flex-direction:column;align-items:center;gap:0}@keyframes m8-halo-breath{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}@keyframes m8-halo-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes m8-halo-shake-pulse{0%,to{opacity:.45}40%{opacity:1;filter:blur(12px)}}.tm-magic-8-ball__halo{position:absolute;top:50%;left:50%;width:clamp(220px,125%,300px);height:clamp(220px,125%,300px);margin:calc(clamp(220px,125%,300px)/-2) 0 0 calc(clamp(220px,125%,300px)/-2);border-radius:50%;background:conic-gradient(from 0deg,#6366f100,#8b5cf659,#38bdf873,#6366f100,#f472b640,#38bdf84d,#6366f100 360deg);filter:blur(18px);pointer-events:none;z-index:0;opacity:0;transition:opacity .3s}[data-theme=dark] .tm-magic-8-ball__halo{opacity:1;animation:m8-halo-rotate 12s linear infinite,m8-halo-breath 4s ease-in-out infinite}.tm-magic-8-ball__halo--shaking{animation:m8-halo-rotate 2s linear infinite,m8-halo-shake-pulse .72s ease-out!important}.tm-magic-8-ball__shadow{width:180px;height:24px;background:radial-gradient(ellipse,rgba(56,189,248,.18) 0%,transparent 70%);margin-top:-4px;filter:blur(6px);transition:opacity .3s;flex-shrink:0}.tm-magic-8-ball__shadow--lift{opacity:.5}.tm-magic-8-ball__ball-wrap{position:relative;width:clamp(160px,60vw,240px);height:clamp(160px,60vw,240px);cursor:pointer;user-select:none;z-index:1;transition:transform .15s}.tm-magic-8-ball__ball-wrap:hover{transform:scale(1.025) translateY(-3px)}.tm-magic-8-ball__ball-wrap:active{transform:scale(.97)}@keyframes m8-shake{0%{transform:translate(0) rotate(0) scale(1)}8%{transform:translate(-8px,4px) rotate(-5deg) scale(1.01)}18%{transform:translate(8px,-4px) rotate(5deg) scale(1.02)}28%{transform:translate(-7px,6px) rotate(-4deg) scale(1.01)}38%{transform:translate(7px,-3px) rotate(4deg) scale(1.015)}48%{transform:translate(-5px,5px) rotate(-2.5deg) scale(1.01)}58%{transform:translate(5px,-4px) rotate(2.5deg) scale(1.005)}68%{transform:translate(-3px,3px) rotate(-1.5deg) scale(1)}78%{transform:translate(3px,-2px) rotate(1.5deg) scale(1)}88%{transform:translate(-1px,1px) rotate(-.5deg) scale(1)}to{transform:translate(0) rotate(0) scale(1)}}.tm-magic-8-ball__ball-wrap--shaking{animation:m8-shake .72s cubic-bezier(.36,.07,.19,.97)}.tm-magic-8-ball__sphere{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 32% 28%,#3a3a4a,#1c1c28 28%,#0a0a12 58%,#000004);position:absolute;top:0;left:0;box-shadow:inset -12px -12px 32px #000000f2,inset 8px 8px 24px #ffffff0b,inset -2px -2px 6px #6366f114,0 0 0 1px #ffffff08,0 32px 64px #000c,0 0 60px #38bdf80f}.tm-magic-8-ball__rim{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:radial-gradient(ellipse at 68% 88%,rgba(56,189,248,.12) 0%,transparent 55%);pointer-events:none;z-index:2}.tm-magic-8-ball__eight{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30%;height:30%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#252535,#131320 60%,#0a0a16);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px #000c,inset 0 1px #ffffff12,inset 0 -1px #0009,0 0 0 1px #ffffff0a;z-index:4;transition:opacity .3s}.tm-magic-8-ball__eight span{font-family:var(--font-mono);font-size:clamp(18px,4vw,32px);font-weight:500;color:#ffffffeb;line-height:1;text-shadow:0 0 20px rgba(255,255,255,.25),0 1px 3px rgba(0,0,0,.9);letter-spacing:-.02em}.tm-magic-8-ball__eight--hidden{opacity:0;pointer-events:none}.tm-magic-8-ball__tri-wrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58%;height:58%;display:flex;align-items:center;justify-content:center;z-index:5;opacity:0;transition:opacity .3s}.tm-magic-8-ball__tri-wrap--visible{opacity:1}.tm-magic-8-ball__tri-wrap:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.3) 30%,transparent 70%);filter:blur(8px)}.tm-magic-8-ball__tri{position:relative;width:0;height:0;border-left:40% solid transparent;border-right:40% solid transparent;border-bottom:69% solid #1d4ed8;filter:drop-shadow(0 0 10px rgba(37,99,235,.7)) drop-shadow(0 0 24px rgba(56,189,248,.3));z-index:1}.tm-magic-8-ball__tri:after{content:"";position:absolute;top:4px;left:calc(50% - 35.7%);width:0;height:0;border-left:35.7% solid transparent;border-right:35.7% solid transparent;border-bottom:61.4% solid #2563eb}.tm-magic-8-ball__tri:before{content:"";position:absolute;top:12px;left:35.7%;width:0;height:0;border-left:14.3% solid transparent;border-right:14.3% solid transparent;border-bottom:15.7% solid rgba(147,197,253,.2);z-index:2}.tm-magic-8-ball__tri-text{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);width:64%;text-align:center;font-family:var(--font-mono);font-size:clamp(6px,1.5vw,9.5px);font-weight:500;letter-spacing:.06em;color:#fffffff2;line-height:1.4;z-index:6;text-shadow:0 0 8px rgba(147,197,253,.6),0 1px 2px rgba(0,0,0,.6);white-space:pre-wrap;transition:opacity .2s}.tm-magic-8-ball__gloss{position:absolute;top:6%;left:16%;width:28%;height:16%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.22) 0%,rgba(255,255,255,.06) 40%,transparent 70%);pointer-events:none;z-index:6;transform:rotate(-15deg)}.tm-magic-8-ball__gloss2{position:absolute;top:19%;left:12%;width:9%;height:4%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.12) 0%,transparent 70%);pointer-events:none;z-index:6;transform:rotate(-8deg)}.tm-magic-8-ball__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.tm-magic-8-ball__shake-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-sans);font-size:14px;font-weight:500;padding:0 22px;height:44px;border-radius:10px;cursor:pointer;border:none;transition:all .18s;white-space:nowrap;letter-spacing:.01em;background:linear-gradient(135deg,#3b82f6,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 20px #6366f166,0 1px #ffffff1f inset}.tm-magic-8-ball__shake-btn:hover{background:linear-gradient(135deg,#60a5fa,#818cf8,#a78bfa);box-shadow:0 6px 28px #6366f18c,0 1px #ffffff26 inset;transform:translateY(-1px)}.tm-magic-8-ball__shake-btn:active{transform:scale(.97) translateY(0);box-shadow:0 2px 10px #6366f14d}.tm-magic-8-ball__shake-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.tm-magic-8-ball__copy-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-sans);font-size:14px;font-weight:500;padding:0 18px;height:44px;border-radius:10px;cursor:pointer;transition:all .18s;white-space:nowrap;background:var(--color-surface);color:var(--color-text-1);border:1px solid var(--color-border)}.tm-magic-8-ball__copy-btn:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.tm-magic-8-ball__copy-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}[data-theme=dark] .tm-magic-8-ball__copy-btn{background:#ffffff0f;color:#c7d2fed9;border-color:#6366f140}[data-theme=dark] .tm-magic-8-ball__copy-btn:hover{background:#6366f126;border-color:#6366f180;color:#c7d2fe}.tm-magic-8-ball__sound-btn{width:auto;height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;background:var(--color-surface);color:var(--color-text-3);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:500;transition:all .18s;white-space:nowrap}.tm-magic-8-ball__sound-label{font-size:14px;font-weight:500;color:inherit;line-height:1}.tm-magic-8-ball__sound-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}[data-theme=dark] .tm-magic-8-ball__sound-btn{background:#ffffff0d;color:#a1a8b3b3;border-color:#ffffff1a}[data-theme=dark] .tm-magic-8-ball__sound-btn:hover{background:#6366f126;border-color:#6366f166;color:#c7d2fe}.tm-magic-8-ball__answer-box{width:100%;background:var(--color-accent-bg);border:1px solid var(--color-accent-border);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;transition:opacity .2s}[data-theme=dark] .tm-magic-8-ball__answer-box{background:#ffffff0a;border-color:#6366f140;backdrop-filter:blur(8px);box-shadow:0 2px 16px #0000004d,inset 0 1px #ffffff0a}.tm-magic-8-ball__answer-text{font-size:14px;font-weight:500;color:var(--color-accent);flex:1}[data-theme=dark] .tm-magic-8-ball__answer-text{color:#e0e7ff;text-shadow:0 0 20px rgba(165,180,252,.3)}.tm-magic-8-ball__answer-sentiment{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;padding:3px 8px;border-radius:6px}.tm-magic-8-ball__answer-sentiment--affirmative{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.tm-magic-8-ball__answer-sentiment--noncommittal{background:#fef9c3;color:#854d0e;border:1px solid #fde68a}.tm-magic-8-ball__answer-sentiment--negative{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}[data-theme=dark] .tm-magic-8-ball__answer-sentiment--affirmative{background:#10b9812e;color:#6ee7b7;border-color:#10b98140}[data-theme=dark] .tm-magic-8-ball__answer-sentiment--noncommittal{background:#f59e0b26;color:#fcd34d;border-color:#f59e0b38}[data-theme=dark] .tm-magic-8-ball__answer-sentiment--negative{background:#ef444426;color:#fca5a5;border-color:#ef444438}.tm-magic-8-ball__trust{font-size:12px;color:var(--color-text-3);display:flex;align-items:center;gap:5px}.tm-magic-8-ball__trust svg{width:12px;height:12px;color:var(--color-accent);flex-shrink:0}[data-theme=dark] .tm-magic-8-ball__trust{color:#a1a8b38c}[data-theme=dark] .tm-magic-8-ball__trust svg{color:#6366f1b3}.tm-magic-8-ball__history-wrap{width:100%;border-top:1px solid var(--color-border);padding:20px 24px}.tm-magic-8-ball__history-title{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-3);margin-bottom:12px}.tm-magic-8-ball__history-list{list-style:none;display:flex;flex-direction:column;gap:4px}@container (min-width: 560px){.tm-magic-8-ball__history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}}@container (min-width: 900px){.tm-magic-8-ball__history-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.tm-magic-8-ball__history-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-bg-1);border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text-1)}.tm-magic-8-ball__history-item:first-child{background:var(--color-accent-bg);border-color:var(--color-accent-border);color:var(--color-accent);font-weight:500}.tm-magic-8-ball__history-item--enter{animation:m8-history-enter .8s ease}@keyframes m8-history-enter{0%{background-color:var(--color-accent-bg)}to{background-color:transparent}}[data-theme=dark] .tm-magic-8-ball__history-wrap{border-top-color:#ffffff0f}[data-theme=dark] .tm-magic-8-ball__history-title{color:#a1a8b38c}[data-theme=dark] .tm-magic-8-ball__history-item{background:#ffffff08;border-color:#ffffff0f;color:#c7d2febf}[data-theme=dark] .tm-magic-8-ball__history-item:first-child{background:#6366f11a;border-color:#6366f147;color:#c7d2fe}.tm-magic-8-ball__history-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tm-magic-8-ball__history-dot--affirmative{background:#16a34a}.tm-magic-8-ball__history-dot--noncommittal{background:#ca8a04}.tm-magic-8-ball__history-dot--negative{background:#dc2626}[data-theme=dark] .tm-magic-8-ball__history-dot--affirmative{background:#34d399;box-shadow:0 0 6px #34d39980}[data-theme=dark] .tm-magic-8-ball__history-dot--noncommittal{background:#fbbf24;box-shadow:0 0 6px #fbbf2466}[data-theme=dark] .tm-magic-8-ball__history-dot--negative{background:#f87171;box-shadow:0 0 6px #f8717166}.tm-magic-8-ball__history-time{margin-left:auto;font-size:12px;color:var(--color-text-3)}.tm-magic-8-ball__toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(20px);background:#1f2937;color:#fff;padding:10px 18px;border-radius:8px;font-size:14px;opacity:0;transition:opacity .2s,transform .2s;z-index:300;pointer-events:none}.tm-magic-8-ball__toast--show{opacity:1;transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){.tm-magic-8-ball__ball-wrap--shaking,.tm-magic-8-ball__halo--shaking{animation:none!important}.tm-magic-8-ball__answer-box,.tm-magic-8-ball__tri-wrap,.tm-magic-8-ball__eight{transition-duration:.01ms}}.tm-magic-8-ball__fs-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;text-align:center}.tm-magic-8-ball__fs-eyebrow{font-size:var(--fs-caption);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3);margin:0 0 20px}.tm-magic-8-ball__fs-hint{font-size:var(--fs-caption);color:var(--color-text-3);margin-top:16px;margin-bottom:0}.tm-magic-8-ball__fs-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:20px}.tm-magic-8-ball__fs-answer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}.tw-app:fullscreen .tm-magic-8-ball__fs-stage .tm-magic-8-ball__ball-wrap,.tw-app:-webkit-full-screen .tm-magic-8-ball__fs-stage .tm-magic-8-ball__ball-wrap{width:clamp(200px,30vmin,320px);height:clamp(200px,30vmin,320px)}.tw-app:fullscreen .tm-magic-8-ball__fs-stage .tm-magic-8-ball__tri-text,.tw-app:-webkit-full-screen .tm-magic-8-ball__fs-stage .tm-magic-8-ball__tri-text{font-size:clamp(9px,2vmin,14px)}.tw-app:fullscreen .tm-magic-8-ball__fs-stage .tm-magic-8-ball__eight span,.tw-app:-webkit-full-screen .tm-magic-8-ball__fs-stage .tm-magic-8-ball__eight span{font-size:clamp(24px,6vmin,48px)}@media(max-width:640px){.tm-magic-8-ball__fs-stage{padding:32px 18px}.tm-magic-8-ball__fs-actions{flex-direction:column;align-items:stretch}.tm-magic-8-ball__fs-actions button{width:100%}}
