:root{--ivory: #f5f2ec;--ivory-2: #ece7dd;--ink: #141414;--ink-soft: rgba(20, 20, 20, .68);--ink-faint: rgba(20, 20, 20, .32);--brass: #b8924a;--brass-hi: #e1bd7a;--brass-lo: #7a5e28;--brass-deep: #4a3815;--shadow-1: 0 1px 2px rgba(20, 20, 20, .08);--shadow-2: 0 8px 24px rgba(20, 20, 20, .12);--shadow-3: 0 40px 80px rgba(20, 20, 20, .18);--ease-decel: cubic-bezier(.2, .8, .2, 1);--ease-wheel: cubic-bezier(.15, .85, .25, 1);--serif: "Playfair Display", "New York", "Times New Roman", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;width:100%;margin:0;padding:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}body{background:radial-gradient(1200px 800px at 50% -10%,#fbf9f3 0%,var(--ivory) 60%,var(--ivory-2) 100%);background-attachment:fixed}button{font-family:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input{font-family:inherit;color:inherit}.app{position:relative;min-height:100vh;min-height:100dvh;width:100%;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right));display:flex;flex-direction:column;user-select:none;-webkit-user-select:none;overflow:hidden}.topbar{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:8px 0 0}.design-picker{display:inline-flex;gap:10px;padding:6px 10px;border-radius:999px;background:#14141408;box-shadow:inset 0 0 0 1px #1414140d}.design-swatch{width:22px;height:22px;border-radius:50%;position:relative;cursor:pointer;padding:0;border:none;transition:transform .22s var(--ease-decel),box-shadow .22s var(--ease-decel);box-shadow:0 1px 2px #1414142e,inset 0 0 0 .5px #00000040}.design-swatch:focus{outline:none}.design-swatch:focus-visible{box-shadow:0 0 0 2px var(--ivory),0 0 0 4px var(--ink)}.design-swatch:hover{transform:scale(1.08)}.design-swatch.active{transform:scale(1.12);box-shadow:0 0 0 1.5px var(--ivory),0 0 0 3px var(--ink),0 2px 4px #14141438}.design-swatch[data-design=ivory]{background:radial-gradient(ellipse 85% 75% at 30% 25%,#fefcf6,#f3ede0 55%,#ddd3bf);box-shadow:0 1px 2px #1414142e,inset 0 0 0 .5px #503c1e2e}.design-swatch[data-design=brass]{background:radial-gradient(circle at 32% 28%,#fbe6b6,#c9a05a 55%,#5f4518)}.design-swatch[data-design=obsidian]{background:radial-gradient(circle at 34% 26%,#3a343a,#0a0608 60%,#000)}.design-swatch[data-design=jade]{background:radial-gradient(circle at 30% 25%,#d9ecd7,#4e8a6e 55%,#1f4a3a)}.design-swatch[data-design=bronze]{background:radial-gradient(circle at 70% 75%,#3c785a99,#3c785a00 50%),radial-gradient(circle at 34% 28%,#d9a666,#6a4a20 60%,#3b2810)}.design-swatch[data-design=porcelain]{background:radial-gradient(circle at 32% 24%,#fff,#f4ecdc 55%,#b39e80);box-shadow:0 1px 2px #1414142e,inset 0 0 0 .5px #18408a73}.design-swatch[data-design=porcelain]:after{content:"";position:absolute;top:30%;right:30%;bottom:30%;left:30%;border-radius:50%;background:#18408a;opacity:.85}.design-swatch[data-design=neon]{background:radial-gradient(circle at 30% 22%,#b4f5ffcc,#b4f5ff00 55%),radial-gradient(circle at 75% 78%,#ff78dcb3,#ff78dc00 58%),#0c0820;box-shadow:0 0 8px #5ed2ff66,0 0 14px #ff50dc40,inset 0 0 0 .5px #5ed2ff99}.mode-toggle{display:inline-flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:#1414140d;box-shadow:inset 0 0 0 1px #1414140f}.mode-toggle button{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border-radius:999px;color:var(--ink-soft);transition:color .24s var(--ease-decel),background .24s var(--ease-decel)}.mode-toggle button.active{color:var(--ink);background:var(--ivory);box-shadow:var(--shadow-1),0 0 0 1px #1414140a}.stage{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.result{margin-top:56px;font-family:var(--serif);font-weight:900;font-size:clamp(36px,7vw,72px);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);min-height:1.2em;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .42s var(--ease-decel),transform .42s var(--ease-decel)}.result.visible{opacity:1;transform:translateY(0)}.coin-flip-mode{flex:1;width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.coin-scene{--size: min(62vmin, 420px);--radius: calc(var(--size) / 2);--depth-ratio: .062;--slices: 56;--depth: calc(var(--size) * var(--depth-ratio));--slice-h: calc(var(--size) * 3.141592653589793 / var(--slices) * 1.06);perspective:2000px;perspective-origin:50% 42%;width:var(--size);height:var(--size);position:relative;cursor:pointer;transform-style:preserve-3d}.coin-shadow{position:absolute;left:50%;bottom:-8%;width:86%;height:12%;transform:translate(-50%);background:radial-gradient(ellipse at center,#14141480,#1414143d 40%,#14141400 75%);filter:blur(10px);pointer-events:none;will-change:transform,opacity}.coin{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}.coin-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:900;color:#3e2f12;font-size:40vmin;line-height:1;letter-spacing:-.02em;background:radial-gradient(circle at 32% 26%,#fbe6b6,#edc983 16%,#c9a05a 44%,#9c7838 78%,#5f4518);box-shadow:inset 0 0 0 2px #fff0c847,inset 0 -22px 34px #3c280a8c,inset 0 18px 28px #ffecbe66,0 0 0 1px #3c280a8c}.coin-face.heads{transform:translateZ(calc(var(--depth) / 2))}.coin-face.tails{transform:translateZ(calc(var(--depth) / -2)) rotateY(180deg)}.face-rim-outer{position:absolute;top:3.5%;right:3.5%;bottom:3.5%;left:3.5%;border-radius:50%;box-shadow:inset 0 0 0 1.5px #3c280a8c,inset 0 0 0 2.5px #ffecbe33;pointer-events:none}.face-rim-inner{position:absolute;top:7%;right:7%;bottom:7%;left:7%;border-radius:50%;box-shadow:inset 0 0 0 1px #3c280a52,inset 0 4px 14px #ffecbe38,inset 0 -4px 14px #3c280a52;pointer-events:none}.face-dots{position:absolute;top:6.5%;right:6.5%;bottom:6.5%;left:6.5%;border-radius:50%;pointer-events:none}.face-dot{position:absolute;top:50%;left:50%;width:3%;height:3%;margin-top:-1.5%;margin-left:-1.5%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2c8,#c09251 55%,#5b4316);box-shadow:inset 0 .5px .5px #fff6,inset 0 -.5px .5px #00000059;transform-origin:center 50%}.face-bevel{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 50%,#0000 60%,#3c280a59 96%,#140a0099)}.face-sheen{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse 55% 35% at 30% 22%,#fff8dea6,#fff8de00 60%),radial-gradient(ellipse 30% 18% at 72% 80%,#fff0c838,#fff0c800 65%);mix-blend-mode:screen}.coin-face .glyph{position:relative;z-index:1;font-size:48%;transform:translateY(-1%);text-shadow:0 1px 0 rgba(255,248,222,.55),0 -1px 0 rgba(40,26,4,.55),0 2px 3px rgba(40,26,4,.35)}.coin-rim{position:absolute;top:50%;left:50%;width:var(--depth);height:var(--slice-h);margin-top:calc(var(--slice-h) / -2);margin-left:calc(var(--depth) / -2);transform:rotate(var(--a)) translate(var(--radius)) rotateY(90deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:inset 1px 0 #fff0c82e,inset -1px 0 #1e120280;transition:background-color .4s var(--ease-decel)}.coin-rim:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#1e12028c,#1e120200 22%,#fff0c81a,#1e120200 78%,#1e12028c);transition:background .4s var(--ease-decel)}.coin-face,.coin-face .glyph,.face-sheen,.face-bevel,.face-rim-outer,.face-rim-inner,.face-dot{transition:background .4s var(--ease-decel),color .4s var(--ease-decel),box-shadow .4s var(--ease-decel),text-shadow .4s var(--ease-decel)}.coin-scene[data-design=ivory] .coin-face{color:var(--ink);background:radial-gradient(ellipse 85% 75% at 30% 25%,#fefcf6,#f3ede0 55%,#ddd3bf);box-shadow:inset 0 10px 22px #fff9,inset 0 -14px 28px #503c1e24,0 0 0 1px #503c1e38}.coin-scene[data-design=ivory] .face-bevel{background:radial-gradient(circle at 50% 50%,#0000 66%,#503c1e24 96%,#281e0f47)}.coin-scene[data-design=ivory] .face-sheen{background:radial-gradient(ellipse 55% 32% at 30% 22%,#fff9,#fff0 70%);mix-blend-mode:normal}.coin-scene[data-design=ivory] .glyph{font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.55),0 0 6px rgba(80,60,30,.12)}.coin-scene[data-design=ivory] .coin-rim:before{background:linear-gradient(to right,#503c1e52,#503c1e0a 28%,#ffffff59,#503c1e0a 72%,#503c1e52)}.coin-scene[data-design=obsidian] .coin-face{color:#e7c567;background:radial-gradient(circle at 34% 26%,#353036,#1a171a 30%,#0a0608,#020101);box-shadow:inset 0 0 0 1.5px #e7c56740,inset 0 -18px 36px #000000b3,inset 0 12px 24px #e7c5670f,0 0 0 1px #000c}.coin-scene[data-design=obsidian] .face-rim-outer{box-shadow:inset 0 0 0 1px #e7c5676b,inset 0 0 0 1.5px #0006}.coin-scene[data-design=obsidian] .face-bevel{background:radial-gradient(circle at 50% 50%,#0000 62%,#0000008c 95%,#000000d9)}.coin-scene[data-design=obsidian] .glyph{text-shadow:0 0 1px rgba(0,0,0,.9),0 1px 0 rgba(255,220,140,.35),0 -1px 0 rgba(0,0,0,.9)}.coin-scene[data-design=obsidian] .coin-rim:before{background:linear-gradient(to right,#000000d9,#0003 30%,#e7c56714,#0003 70%,#000000d9)}.coin-scene[data-design=jade] .coin-face{color:#0e2118;background:radial-gradient(ellipse 90% 70% at 30% 25%,#d9ecd7,#8fc09c 28%,#4e8a6e 62%,#1f4a3a);box-shadow:inset 0 0 0 2px #ffffff2e,inset 0 -18px 32px #0a281c8c,inset 0 14px 28px #ffffff24,0 0 0 1px #0a281c99}.coin-scene[data-design=jade] .face-rim-outer{box-shadow:inset 0 0 0 1px #0a281c73,inset 0 0 0 2px #ffffff1f}.coin-scene[data-design=jade] .face-rim-inner{box-shadow:inset 0 0 0 1px #0a281c4d,inset 0 4px 14px #ffffff2e,inset 0 -4px 14px #0a281c59}.coin-scene[data-design=jade] .face-bevel{background:radial-gradient(circle at 50% 50%,#0000 62%,#0a281c66 96%,#05140eb3)}.coin-scene[data-design=jade] .glyph{text-shadow:inset 0 2px 4px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.45)}.coin-scene[data-design=jade] .coin-rim:before{background:linear-gradient(to right,#0a1e14b3,#0a1e1400,#ffffff1f,#0a1e1400,#0a1e14b3)}.coin-scene[data-design=bronze] .coin-face{color:#2a1808;background:radial-gradient(circle at 68% 78%,#3c785a80,#3c785a00 22%),radial-gradient(circle at 22% 70%,#3c785a52,#3c785a00 16%),radial-gradient(circle at 80% 20%,#326e5059,#326e5000 14%),radial-gradient(circle at 34% 28%,#d9a666,#9b6d34 30%,#6a4a20 62%,#3b2810);box-shadow:inset 0 0 0 2px #28160673,inset 0 -22px 40px #140a02a6,inset 0 18px 28px #e6be8240,0 0 0 1px #1e1004b3}.coin-scene[data-design=bronze] .face-rim-outer{box-shadow:inset 0 0 0 1.5px #1e1004a6,inset 0 0 0 2.5px #508c642e}.coin-scene[data-design=bronze] .face-dot{background:radial-gradient(circle at 35% 30%,#b08050,#6a4820 55%,#2a1808);opacity:.85}.coin-scene[data-design=bronze] .glyph{text-shadow:0 1px 0 rgba(200,150,90,.35),0 -1px 0 rgba(20,10,2,.65),0 2px 3px rgba(20,10,2,.4)}.coin-scene[data-design=bronze] .coin-rim:before{background:linear-gradient(to right,#0a0500b3,#0a050000 22%,#3c785a2e,#0a050000 78%,#0a0500b3)}.coin-scene[data-design=porcelain] .coin-face{color:#18408a;background:radial-gradient(ellipse 80% 65% at 32% 24%,#fff,#f4ecdc 40%,#ddcdb5 85%,#b39e80);box-shadow:inset 0 0 0 1px #18408a47,inset 0 -14px 26px #b4a07d73,inset 0 12px 20px #ffffffb3,0 0 0 1px #78644666}.coin-scene[data-design=porcelain] .face-rim-outer{box-shadow:inset 0 0 0 1px #18408a8c,inset 0 0 0 2px #ffffff59}.coin-scene[data-design=porcelain] .face-bevel{background:radial-gradient(circle at 50% 50%,#0000 66%,#78644633 96%,#463c2859)}.coin-scene[data-design=porcelain] .face-sheen{background:radial-gradient(ellipse 50% 30% at 30% 20%,#ffffffd9,#fff0 70%);mix-blend-mode:normal}.coin-scene[data-design=porcelain] .glyph{font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.6),0 0 6px rgba(24,64,138,.15)}.coin-scene[data-design=porcelain] .coin-rim:before{background:linear-gradient(to right,#78644673,#7864460d 28%,#18408a2e,#7864460d 72%,#78644673)}.coin-scene[data-design=neon]{filter:drop-shadow(0 0 22px rgba(94,210,255,.35)) drop-shadow(0 0 36px rgba(255,80,220,.22))}.coin-scene[data-design=neon] .coin-face{color:#b7f8ff;background:radial-gradient(ellipse 70% 55% at 30% 22%,#b4f5ff8c,#b4f5ff00 55%),radial-gradient(ellipse 80% 60% at 78% 78%,#ff78dc73,#ff78dc00 58%),radial-gradient(circle at 50% 50%,#1a1530,#0c0820 60%,#02010a);box-shadow:inset 0 0 0 1.5px #5ed2ff8c,inset 0 -16px 28px #ff50dc40,inset 0 14px 24px #5ed2ff38,0 0 0 1px #0009}.coin-scene[data-design=neon] .face-rim-outer{box-shadow:inset 0 0 0 1px #5ed2ffa6,inset 0 0 10px #5ed2ff59}.coin-scene[data-design=neon] .face-sheen{background:radial-gradient(ellipse 45% 30% at 30% 22%,#fff9,#fff0 70%);mix-blend-mode:screen}.coin-scene[data-design=neon] .glyph{font-weight:700;color:#d8fbff;text-shadow:0 0 6px rgba(94,210,255,.9),0 0 14px rgba(94,210,255,.6),0 0 28px rgba(255,80,220,.5)}.coin-scene[data-design=neon] .coin-rim{box-shadow:inset 1px 0 #5ed2ff59,inset -1px 0 #0009}.coin-scene[data-design=neon] .coin-rim:before{background:linear-gradient(to right,#0009,#0000,#ffffff40,#0000,#0009)}.coin-scene[data-design=neon] .coin-shadow{background:radial-gradient(ellipse at center,#5ed2ff66,#ff50dc38 35%,#0000 75%)}.wheel-setup{width:100%;max-width:440px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.wheel-setup .heading{font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:.02em;text-align:center;margin:0 0 18px}.wheel-input{display:flex;align-items:center;gap:12px;padding:0 4px}.wheel-input .num{width:22px;font-family:var(--serif);font-weight:500;font-size:15px;color:var(--ink-faint);text-align:right}.wheel-input input{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;border-bottom:1px solid rgba(20,20,20,.14);padding:12px 2px;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);outline:none;transition:border-color .2s var(--ease-decel)}.wheel-input input::placeholder{color:var(--ink-faint);font-style:italic;font-weight:400}.wheel-input input:focus{border-bottom-color:var(--ink)}.wheel-cta{margin-top:28px;align-self:center;font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;padding:14px 28px;border-radius:999px;background:var(--ink);color:var(--ivory);box-shadow:var(--shadow-2);transition:transform .22s var(--ease-decel),box-shadow .22s var(--ease-decel),opacity .22s var(--ease-decel)}.wheel-cta:active{transform:translateY(1px);box-shadow:var(--shadow-1)}.wheel-cta[disabled]{opacity:.3;cursor:default;box-shadow:none}.wheel-stage{width:min(72vmin,480px);aspect-ratio:1 / 1;position:relative;cursor:pointer}.wheel-pointer{position:absolute;top:-2%;left:50%;transform:translate(-50%);width:22px;height:28px;z-index:2;filter:drop-shadow(0 2px 4px rgba(20,20,20,.25))}.wheel-svg{width:100%;height:100%;filter:drop-shadow(var(--shadow-3));transition:transform 2s var(--ease-wheel);will-change:transform}.wheel-back{position:absolute;top:24px;left:0;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);padding:6px 10px}.wheel-back:hover{color:var(--ink)}.footer{height:40px}.dice-scene{--size: min(82vmin, 560px);width:var(--size);height:var(--size);perspective:1400px;perspective-origin:50% 38%;position:relative;cursor:pointer;transform-style:preserve-3d;display:flex;align-items:center;justify-content:center}.dice-scene:focus{outline:none}.dice-cube{position:relative;width:66%;height:66%;transform-style:preserve-3d;will-change:transform}.dice-face{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:7%;background:radial-gradient(ellipse 85% 75% at 30% 25%,#fefcf6,#f3ede0 55%,#ddd3bf);box-shadow:inset 0 10px 22px #fff9,inset 0 -14px 28px #503c1e24;backface-visibility:hidden;-webkit-backface-visibility:hidden}.dice-face-1{transform:translateZ(calc(var(--size) * .33))}.dice-face-6{transform:rotateY(180deg) translateZ(calc(var(--size) * .33))}.dice-face-3{transform:rotateY(90deg) translateZ(calc(var(--size) * .33))}.dice-face-4{transform:rotateY(-90deg) translateZ(calc(var(--size) * .33))}.dice-face-2{transform:rotateX(90deg) translateZ(calc(var(--size) * .33))}.dice-face-5{transform:rotateX(-90deg) translateZ(calc(var(--size) * .33))}.dice-pip{position:absolute;width:14%;height:14%;margin-left:-7%;margin-top:-7%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a4642,#1a1714 55%,#050403);box-shadow:inset 0 1px 1px #ffffff4d,inset 0 -1px 2px #00000080,0 1px 1px #0000001f}.dice-shadow{position:absolute;left:50%;bottom:6%;width:68%;height:10%;transform:translate(-50%);background:radial-gradient(ellipse at center,#14141473,#14141433 45%,#14141400 78%);filter:blur(8px);pointer-events:none;will-change:transform,opacity}.oracle-scene{--size: min(62vmin, 420px);width:var(--size);height:var(--size);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;touch-action:none}.oracle-scene:focus{outline:none}.oracle-float{position:relative;width:100%;height:100%;animation:oracle-levitate 5.2s ease-in-out infinite;will-change:transform}.oracle-scene.revealing .oracle-float{animation-play-state:paused}@keyframes oracle-levitate{0%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4%) rotate(1deg)}to{transform:translateY(0) rotate(-1deg)}}.oracle-pool{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 32% 24%,#2a2730,#12101a 38%,#05040a 80%,#020104);box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 18px 44px #ffffff0a,inset 0 -22px 56px #000000b3,0 40px 80px #00000059,0 8px 24px #00000040;overflow:hidden;transition:transform .42s var(--ease-decel),box-shadow .42s var(--ease-decel);animation:oracle-breathe 4.2s ease-in-out infinite}.oracle-scene.revealing .oracle-pool,.oracle-scene.asking .oracle-pool{animation:none}@keyframes oracle-breathe{0%,to{box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 18px 44px #ffffff0a,inset 0 -22px 56px #000000b3,0 40px 80px #00000059,0 8px 24px #00000040,0 0 #8ca0dc00}50%{box-shadow:inset 0 0 0 1px #c8d2f024,inset 0 22px 60px #b4c3eb24,inset 0 -22px 56px #000000b8,0 50px 100px #0000006b,0 8px 24px #00000040,0 0 80px #8ca0dc73}}.oracle-pool:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(ellipse 50% 32% at 32% 22%,#ffffff2e,#fff0 70%);pointer-events:none}.oracle-inner-glow{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(circle at 50% 55%,#aabef059,#96aadc26 40%,#788cc800 70%);pointer-events:none;opacity:1;transition:opacity .6s var(--ease-decel);animation:oracle-glow-pulse 3.2s ease-in-out infinite;will-change:opacity,transform;mix-blend-mode:screen}.oracle-scene.revealing .oracle-inner-glow{animation:none}@keyframes oracle-glow-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}.oracle-mist{position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;border-radius:50%;background:radial-gradient(ellipse 42% 28% at 30% 30%,#c8d7f559,#b4c3e600 70%),radial-gradient(ellipse 30% 22% at 72% 62%,#c8aae64d,#aa96c800 75%),radial-gradient(ellipse 18% 14% at 58% 22%,#e6dcf547,#dcd2e600 70%);filter:blur(8px);opacity:1;pointer-events:none;mix-blend-mode:screen;animation:oracle-mist-drift 14s linear infinite;will-change:transform}.oracle-mist-2{animation:oracle-mist-drift-rev 18s linear infinite;opacity:.8;filter:blur(12px)}.oracle-scene.revealing .oracle-mist{animation-duration:4s;opacity:.5}@keyframes oracle-mist-drift{0%{transform:rotate(0) translate(0)}50%{transform:rotate(180deg) translate(1.5%,-1%)}to{transform:rotate(360deg) translate(0)}}@keyframes oracle-mist-drift-rev{0%{transform:rotate(0) translate(0)}50%{transform:rotate(-180deg) translate(-1.8%,1.4%)}to{transform:rotate(-360deg) translate(0)}}.oracle-scene.asking .oracle-pool{transform:scale(.985);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 22px 60px #ffffff0d,inset 0 -22px 56px #000000b8,0 30px 70px #0000006b,0 6px 18px #00000047}.oracle-scene.asking .oracle-inner-glow{opacity:1.4;animation:oracle-glow-tremor .9s ease-in-out infinite}@keyframes oracle-glow-tremor{0%,to{transform:scale(1.08);opacity:1.1}50%{transform:scale(1.18);opacity:1.6}}.oracle-ripple{position:absolute;top:50%;left:50%;width:40%;height:40%;margin:-20% 0 0 -20%;border-radius:50%;border:1px solid rgba(200,210,240,.12);opacity:0;pointer-events:none}.oracle-scene.asking .oracle-ripple{animation:oracle-ripple 2.4s ease-out infinite}.oracle-scene.asking .oracle-ripple-2{animation-delay:1.1s}@keyframes oracle-ripple{0%{transform:scale(.4);opacity:.5}80%{opacity:.05}to{transform:scale(2.2);opacity:0}}.oracle-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;opacity:0;background:conic-gradient(from 0deg,#fff0,#e6dcff0d,#fff5d247 60deg,#b4c8ff1f 100deg,#fff0 180deg,#fff0 360deg);mask:radial-gradient(circle,transparent 54%,#000 62%,#000 86%,transparent 95%);-webkit-mask:radial-gradient(circle,transparent 54%,#000 62%,#000 86%,transparent 95%);filter:blur(2px);will-change:transform,opacity}.oracle-flash{position:absolute;top:50%;left:50%;width:60%;height:60%;border-radius:50%;border:2px solid rgba(255,245,220,.9);box-shadow:0 0 40px #fff0d299,inset 0 0 28px #fff0d273;opacity:0;transform:translate(-50%,-50%) scale(.1);pointer-events:none;will-change:transform,opacity,border-width}.oracle-starfield{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;will-change:opacity,transform}.oracle-star{position:absolute;width:var(--star-size, 3px);height:var(--star-size, 3px);border-radius:50%;background:radial-gradient(circle,#fffae6,#fff0c8e6 40%,#ffe6b400);box-shadow:0 0 8px #fff5dc,0 0 16px #ffe6beb3;transform:translate(-50%,-50%) scale(0);animation:oracle-star-twinkle var(--twinkle, 2s) ease-in-out var(--delay, 0ms) infinite}.oracle-scene:not(.revealing):not(.asking) .oracle-starfield{opacity:.7}@keyframes oracle-star-twinkle{0%,to{transform:translate(-50%,-50%) scale(.4);opacity:.2}50%{transform:translate(-50%,-50%) scale(1);opacity:1}}.oracle-answer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#efe8d8;font-size:clamp(36px,9vmin,76px);text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 18px rgba(200,210,240,.18),0 0 36px rgba(255,235,200,.22);opacity:0;pointer-events:none;will-change:opacity,transform,filter,letter-spacing;z-index:2}@media (prefers-reduced-motion: reduce){.oracle-float,.oracle-mist,.oracle-mist-2,.oracle-star,.oracle-scene.asking .oracle-ripple{animation:none!important}.oracle-pool{animation-duration:8s}.oracle-inner-glow{animation-duration:7s}.oracle-scene:not(.revealing):not(.asking) .oracle-starfield{opacity:.55}.oracle-scene.asking .oracle-pool{transform:none;filter:brightness(1.08) saturate(1.05)}.oracle-scene.asking .oracle-inner-glow{animation:oracle-glow-pulse-reduced 2.2s ease-in-out infinite;transform:none}.oracle-scene.asking .oracle-starfield{opacity:.85;transition:opacity .4s ease-out}}@keyframes oracle-glow-pulse-reduced{0%,to{opacity:1}50%{opacity:1.6}}@media (max-width: 640px){html,body,#root{overflow:hidden}.app{height:100dvh;min-height:0;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.topbar{flex-shrink:0;gap:8px;padding-top:0}.mode-toggle button{font-size:10px;letter-spacing:.14em;padding:7px 10px}.design-picker{gap:8px;padding:5px 8px}.design-swatch{width:18px;height:18px}.stage{flex:1 1 auto}.result{margin-top:clamp(18px,5dvh,36px);font-size:clamp(28px,9vw,44px);min-height:1.05em}.coin-scene,.oracle-scene{--size: min(64vw, 42dvh, 360px)}.dice-scene{--size: min(76vw, 46dvh, 420px)}.wheel-setup{max-width:380px;gap:6px}.wheel-setup .heading{font-size:22px;margin-bottom:6px}.wheel-input{gap:8px}.wheel-input .num{width:18px;font-size:13px}.wheel-input input{padding:7px 2px;font-size:16px}.wheel-cta{margin-top:12px;padding:11px 22px;font-size:11px}.wheel-stage{width:min(76vw,48dvh,380px)}.wheel-back{top:8px}.footer{height:0}}
