/* Three tactile toys; effects stay local to their cards. */
.wheel-card,.fortune-card,.bubble-card{position:relative;isolation:isolate}.wheel-card>p,.fortune-card>p,.bubble-card>p{font-size:13px;line-height:1.85}.toy-main-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:13px 17px;border:1px solid var(--line);border-radius:12px;font-size:13px;font-weight:650;transition:transform .2s,box-shadow .2s,background .2s}.toy-main-button>span:last-child{font-size:21px;line-height:1}.toy-main-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #30354b12}.toy-main-button:active:not(:disabled){transform:translateY(1px)}.toy-main-button:disabled{opacity:.75}.toy-detail-note{font-size:11px!important;text-align:center;margin:12px 0 0!important;color:var(--muted)}
.wheel-card{border-color:#c9c2df}.wheel-cosmos{position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate;margin:21px 0 0;min-height:316px;border:1px solid #665a8c;border-radius:18px;background:radial-gradient(ellipse at 50% 48%,#4b3c75 0,#27233f 50%,#171c2c 100%);color:#f4edff}.wheel-cosmos::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.6;background-image:radial-gradient(circle at 12% 27%,#fff 0 1px,transparent 2px),radial-gradient(circle at 88% 65%,#d3c3ff 0 1px,transparent 2px),radial-gradient(circle at 82% 15%,#fff 0 1px,transparent 2px),radial-gradient(circle at 18% 79%,#fff 0 1px,transparent 2px),radial-gradient(circle at 76% 85%,#fff 0 1px,transparent 2px)}.cosmos-orbit{position:absolute;width:280px;height:280px;border:1px dashed #c7b6fa55;border-radius:50%;transform:rotate(-20deg);pointer-events:none}.cosmos-orbit::before,.cosmos-orbit::after{content:'';position:absolute;inset:8px;border-radius:50%;border:1px solid #c7b6fa25}.cosmos-orbit::after{inset:-8px;border-style:dotted;opacity:.5}.cosmos-caption{position:absolute;top:16px;left:0;right:0;text-align:center;font:8px var(--mono);letter-spacing:2px;color:#c9bce3}.wheel-card .wheel-wrap{width:min(242px,calc(100% - 42px));height:auto;aspect-ratio:1;margin:43px auto 40px;filter:drop-shadow(0 7px 18px #080b2577)}.wheel-card #decision-wheel{display:block;width:100%;height:100%;border:3px solid #ddd2f3;outline:1px solid #d5bcff77;outline-offset:5px;transition:none;box-shadow:0 0 0 8px #bca2ee14}.wheel-card .wheel-pointer{top:-9px;left:calc(50% - 10px);border-left-width:10px;border-right-width:10px;border-top:24px solid #fff5c5;filter:drop-shadow(0 2px 3px #28213c)}.wheel-card .wheel-center{left:calc(50% - 27px);top:calc(50% - 27px);width:54px;height:54px;border:4px solid #f7edff;background:#29243f;color:#fff4cb;font-size:29px;line-height:1;box-shadow:0 0 0 5px #2c25475c,0 2px 9px #0004;pointer-events:none}.cosmos-status{position:absolute;bottom:14px;left:12px;right:12px;text-align:center;font-size:10px;letter-spacing:1px;color:#d7cce8}.cosmos-star{position:absolute;pointer-events:none;color:#e5d0ff}.star-a{left:12px;top:29%;font-size:23px;transform:rotate(-15deg)}.star-b{right:13px;bottom:25%;font-size:21px}.star-c{right:15%;top:25px;font-size:26px}.wheel-answer{display:flex;flex-direction:column;justify-content:center;min-height:143px;padding:20px 4px 17px;text-align:center}.wheel-answer output{display:block}.wheel-answer output>span{display:block;font-size:11px;color:var(--muted);letter-spacing:2px;margin-bottom:7px}.wheel-answer strong{display:block;font-size:clamp(23px,2vw,28px);line-height:1.3;letter-spacing:-.5px;color:var(--ink);font-weight:800}.wheel-answer>p{margin:9px 0 0;font-size:12px;line-height:1.8;color:var(--muted);min-height:42px}.has-answer .wheel-answer strong{font-size:36px;color:#76609b}.wheel-card .toy-main-button{background:#332c4b;border-color:#332c4b;color:#f4edff}.wheel-card .toy-main-button:hover:not(:disabled){background:#4a3d69}.is-spinning .cosmos-orbit{animation:cosmic-orbit 1.3s linear infinite;border-color:#cdb4ff}.is-spinning .wheel-center{animation:cosmic-pulse .85s ease-in-out infinite}.is-spinning .cosmos-star{animation:cosmic-star 1s ease-in-out infinite alternate}.is-spinning .star-b{animation-delay:.25s}.has-answer .wheel-cosmos{box-shadow:inset 0 0 35px #a58bdf24}
.fortune-card{background:linear-gradient(150deg,#f4eee3,#ece2d2);border-color:#ddd0b9}.fortune-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:360px;margin:10px 0;isolation:isolate;overflow:hidden}.fortune-halo{position:absolute;inset:25px 0;z-index:-1;background:radial-gradient(ellipse,#e9ce95aa,transparent 68%)}.fortune-card .fortune-paper{width:calc(100% - 24px);max-width:276px;min-height:278px;margin:28px 0;padding:28px 17px 24px;border:1px solid #d2bb92;border-radius:4px 4px 16px 4px;background:linear-gradient(140deg,#fffaf0,#fff5e3);box-shadow:5px 7px 0 #dcccb0,10px 13px 0 #e6d9c2;transform:rotate(-2deg);backface-visibility:hidden}.fortune-card .fortune-paper::before{width:72px;left:calc(50% - 36px);height:25px;top:-12px;background:#dbc68ca6;border:1px dashed #bda36670}.fortune-card .fortune-label{font-size:7px;letter-spacing:1.5px;line-height:1.6}.fortune-card .fortune-symbol{font-size:49px;margin:19px 0 14px;color:#b78639;line-height:1}.fortune-card .fortune-paper blockquote{font-size:21px;line-height:1.8;font-weight:600;letter-spacing:.2px;margin:0 0 19px;color:#3c362d;min-height:76px}.fortune-mood{display:block;font-size:10px;color:#8d795c;margin-bottom:17px}.fortune-card .fortune-number{font-size:8px;letter-spacing:.7px}.fortune-paper[data-tone="1"]{background:linear-gradient(135deg,#fff9ee,#f4f5e5)}.fortune-paper[data-tone="2"]{background:linear-gradient(135deg,#fff9ee,#f4ecfa)}.fortune-paper[data-tone="3"]{background:linear-gradient(135deg,#fff9ee,#eaf3f2)}.fortune-footer{margin-top:auto}.fortune-footer>span{display:block;text-align:center;font-size:11px;color:#827764;margin:0 0 16px}.fortune-card .toy-main-button{background:#fffaef;border-color:#d0b78c;color:#5d4e38}.fortune-card .toy-main-button:hover:not(:disabled){background:#fffdf7}
.bubble-card{background:linear-gradient(150deg,var(--surface),#e9f5f1);border-color:#bdcfca}.bubble-sound{border:1px solid #a9c8bd;background:#edf7f0;color:#3b6c59;border-radius:18px;padding:7px 10px;font-size:10px;min-height:34px;white-space:nowrap}.bubble-sound[aria-pressed=false]{background:var(--surface);color:var(--muted);border-color:var(--line)}.bubble-dashboard{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 14px;margin-top:13px}.bubble-dashboard>div>span{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.bubble-dashboard output{font:700 28px/1.1 var(--mono);letter-spacing:-1px;color:var(--ink)}.bubble-combo{text-align:right;min-width:90px}.bubble-combo strong{font:700 15px/1.2 var(--mono);color:#527e78}.bubble-field{position:relative;isolation:isolate;overflow:hidden;padding:20px 13px;border:1px solid #b7d0c7;border-radius:16px;background:linear-gradient(135deg,#d9e9e5bb,#f1faf8);box-shadow:inset 0 2px 7px #688f8012}.bubble-card .bubble-grid{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin:0;touch-action:pan-y;user-select:none;-webkit-user-select:none}.bubble-card .bubble{position:relative;min-width:0;min-height:0;cursor:crosshair;border:1px solid hsl(var(--bubble-hue) 22% 62%);background:radial-gradient(ellipse at 33% 23%,#ffffff 0%,#ffffffd9 13%,hsl(var(--bubble-hue) 40% 89%) 40%,hsl(var(--bubble-hue) 29% 72%) 73%,hsl(var(--bubble-hue) 19% 62%) 100%);box-shadow:0 3px 3px #5b88762c,inset 1px 1px 2px #fff,inset -2px -3px 5px #688f7d2e;transform:translateZ(0);transition:box-shadow .12s,background .12s;touch-action:pan-y}.bubble-card .bubble::before{content:'';position:absolute;left:20%;top:13%;width:30%;height:17%;border-radius:50%;background:#fffc;transform:rotate(-27deg);filter:blur(.3px);pointer-events:none}.bubble-card .bubble:hover:not(.popped){transform:scale(1.08);filter:brightness(1.05)}.bubble-card .bubble:active:not(.popped){transform:scale(.85)}.bubble-card .bubble.popped{background:radial-gradient(ellipse at 50% 60%,#b5cbc144 0,#d2e1d955 50%,transparent 70%);border:1px dashed #a8c1b7;box-shadow:inset 1px 2px 3px #6d948c25;opacity:.6;transform:scale(.94);cursor:default}.bubble-card .bubble.popped::before{width:50%;height:1px;left:25%;top:45%;background:#97b1a5;filter:none;transform:rotate(-30deg)}.bubble-card .bubble.popped::after{content:'';position:absolute;left:30%;right:25%;top:55%;height:1px;background:#97b1a5;transform:rotate(40deg)}.bubble-progress{height:5px;border-radius:8px;overflow:hidden;background:#c9ddd4;margin:17px 0 0}.bubble-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#85b8a5,#a795cf);border-radius:inherit;transition:width .18s ease}.bubble-footer{margin-top:auto;padding-top:18px}.bubble-footer>p{font-size:11px;line-height:1.8;color:var(--ink);min-height:40px;margin:0 0 8px}.bubble-footer>span{display:block;font-size:10px;color:var(--muted);margin:0 0 16px}.bubble-card .toy-main-button{background:#e1eee7;border-color:#a9c3b4;color:#345e4c}.bubble-card .toy-main-button:hover:not(:disabled){background:#d8e9df}.bubble-pop-word{position:absolute;z-index:3;pointer-events:none;white-space:nowrap;color:#365f59;text-shadow:0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff;font-size:16px;font-weight:850;opacity:0}.is-cleared{border-color:#9c97c9;background:linear-gradient(135deg,#eee9ff,#ddefe6)}.toy-burst-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4;border-radius:inherit}.toy-burst-dot{position:absolute;width:5px;height:5px;border-radius:2px;pointer-events:none}.toy-burst-ring{position:absolute;width:28px;height:28px;border:2px solid;border-radius:50%;pointer-events:none}
.site-night .wheel-card{border-color:#645676}.site-night .has-answer .wheel-answer strong{color:#d6bbf8}.site-night .wheel-card .toy-main-button{background:#51426f;border-color:#79649d}.site-night .fortune-card{background:linear-gradient(145deg,#383228,#302d26);border-color:#62533c;color:#f4e8ce}.site-night .fortune-card h3{color:#f4e8ce}.site-night .fortune-card .toy-index,.site-night .fortune-card .toy-tag,.site-night .fortune-card>p,.site-night .fortune-footer>span{color:#c3b397}.site-night .fortune-halo{opacity:.45}.site-night .fortune-card .fortune-paper{box-shadow:5px 7px 0 #8a7458,10px 13px 0 #665640}.site-night .bubble-card{background:linear-gradient(145deg,var(--surface),#263b34);border-color:#49675a}.site-night .bubble-field{background:linear-gradient(135deg,#31493e,#2c403c);border-color:#587d6b}.site-night .bubble-dashboard output{color:var(--ink)}.site-night .bubble-combo strong{color:#a8dfc6}.site-night .bubble-sound{background:#354f3e;color:#c9edd5;border-color:#64846e}.site-night .bubble-sound[aria-pressed=false]{background:#30382e;color:#c5cdba}.site-night .bubble-card .bubble.popped{border-color:#658877;background:radial-gradient(ellipse,#203c3033,#42615377 60%,transparent 70%)}.site-night .bubble-card .bubble.popped::before,.site-night .bubble-card .bubble.popped::after{background:#8aaf9b}.site-night .bubble-progress{background:#476355}.site-night .bubble-card .toy-main-button{background:#3d5c49;color:#e0f3df;border-color:#64846c}.site-night .bubble-card .toy-main-button:hover:not(:disabled){background:#496a54}.site-night .is-cleared{background:linear-gradient(135deg,#40374e,#2f4e3b)}
@keyframes cosmic-orbit{to{transform:rotate(340deg)}}@keyframes cosmic-pulse{50%{box-shadow:0 0 0 8px #cfb4ff33,0 0 28px #c8a4ff88}}@keyframes cosmic-star{to{opacity:.45;translate:0 -6px}}
@media(min-width:701px) and (max-width:1100px){.wheel-card .wheel-wrap{width:min(242px,calc(100% - 40px))}.cosmos-orbit{width:270px;height:270px}.toy-grid>.bubble-card{grid-column:auto}.bubble-card .bubble-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}}
@media(max-width:700px){.wheel-card,.fortune-card,.bubble-card{padding:23px}.wheel-card>p,.fortune-card>p,.bubble-card>p{font-size:13px}.wheel-cosmos{min-height:340px}.wheel-card .wheel-wrap{width:min(265px,calc(100% - 44px));margin:44px auto 42px}.cosmos-orbit{width:300px;height:300px}.cosmos-status{font-size:10px;letter-spacing:.5px}.wheel-answer{min-height:148px;padding:23px 0 18px}.wheel-answer strong{font-size:26px}.has-answer .wheel-answer strong{font-size:38px}.wheel-answer>p{font-size:13px;min-height:44px}.toy-main-button{min-height:49px;font-size:13px}.fortune-stage{min-height:355px}.fortune-card .fortune-paper{max-width:280px;min-height:290px;padding-top:29px}.fortune-card .fortune-paper blockquote{font-size:22px}.bubble-field{padding:24px 13px}.bubble-card .bubble-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.bubble-dashboard{margin-top:14px;padding:18px 0}.bubble-dashboard output{font-size:31px}.bubble-combo strong{font-size:15px}.bubble-footer>p{font-size:12px;min-height:0;margin-bottom:12px}.bubble-footer>span{font-size:11px}.bubble-sound{min-height:36px;padding:8px 12px;font-size:11px}}
@media(max-width:360px){.wheel-card,.fortune-card,.bubble-card{padding:19px}.wheel-cosmos{min-height:300px}.wheel-card .wheel-wrap{width:218px;max-width:calc(100% - 34px);margin:43px auto 39px}.cosmos-orbit{width:260px;height:260px}.cosmos-caption{font-size:7px;letter-spacing:1.6px}.cosmos-status{font-size:9px;letter-spacing:0}.wheel-card .wheel-center{width:48px;height:48px;left:calc(50% - 24px);top:calc(50% - 24px);font-size:25px}.wheel-answer strong{font-size:22px}.has-answer .wheel-answer strong{font-size:36px}.fortune-card .fortune-paper blockquote{font-size:20px}.fortune-card .fortune-paper{padding-inline:12px}.bubble-field{padding:20px 10px}.bubble-card .bubble-grid{gap:7px}.bubble-dashboard{gap:8px}.bubble-combo{min-width:80px}.bubble-combo strong{font-size:13px}.bubble-dashboard>div>span{font-size:9px}.bubble-sound{padding:7px 9px}.toy-main-button{padding-inline:12px;font-size:12px}}
.fx-off .cosmos-orbit,.fx-off .wheel-center,.fx-off .cosmos-star{animation:none!important}@media(prefers-reduced-motion:reduce){.cosmos-orbit,.wheel-center,.cosmos-star{animation:none!important}.toy-main-button,.bubble-card .bubble,.bubble-progress i{transition:none!important}.toy-burst-layer,.bubble-pop-word{display:none}}
/* Local vector icons avoid missing glyphs in minimal Linux/Android font sets. */
.wheel-center>svg{display:block;width:29px;height:29px}.fortune-symbol>svg{display:block;width:48px;height:48px;margin:auto}.toy-main-button>span>svg{display:block;width:22px;height:22px}.cosmos-star{font-size:0;width:18px;height:18px;background:currentColor;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.cosmos-star.star-c{width:6px;height:6px;border-radius:50%;clip-path:none}
