@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--paper:#eeeaf5;--muted:#b5adbf;--accent:#dcc8f4;--bg:#100f19;--match-color:171,128,225}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--bg);color:var(--paper);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:7px}button{border:0}::selection{background:#dcc8f4;color:#100f19}.navigation{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:32px 5vw}.wordmark{font-family:Manrope,sans-serif;font-weight:600;font-size:22px;display:flex;gap:10px;align-items:center;letter-spacing:-1px}.brand-mark{display:block;width:38px;height:38px;object-fit:contain;flex-shrink:0}.nav-link{font-size:12px;letter-spacing:.025em;color:#cdc5d6;display:flex;gap:20px}.journey{height:300svh;position:relative;isolation:isolate}.world{position:absolute;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 75% 14%,#292037 0,transparent 27%),radial-gradient(ellipse at 15% 64%,#211d32 0,transparent 32%),#100f19}.ambient{position:absolute;border-radius:50%;filter:blur(85px);opacity:.16;pointer-events:none}.ambient-a{width:75vw;height:75vw;background:#705399;top:-15vw;right:-20vw}.ambient-b{width:50vw;height:95vw;background:#6057a1;top:45vh;right:-32vw}.grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.scene{height:100svh;width:100%;position:sticky;top:0;overflow:hidden;z-index:1;pointer-events:none}.game-object{position:absolute;left:69%;top:51%;width:60vw;max-width:none;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:auto;--phone-opacity:0;--ring-opacity:1;--phone-scale:1}#arena{width:100%;height:100%;display:block;border-radius:50%;cursor:crosshair;touch-action:none;position:relative;z-index:2;background:rgba(10,13,20,.86);box-shadow:0 0 0 1px #d8cbeb50,0 0 50px #a98adc20,inset 0 0 80px #9277c31a}#arena:active{cursor:crosshair}.energy-rings{position:absolute;inset:-17%;border-radius:50%;pointer-events:none;opacity:var(--ring-opacity);transition:opacity .1s}.energy-rings i{position:absolute;inset:0;border-radius:50%;border:1px solid #b5e1bc48;box-shadow:0 0 18px #acc3ad17,inset 0 0 15px #a9cfa41a;transform:rotate(-24deg);background:conic-gradient(from 25deg,transparent 0deg,#cc994018 35deg,#a98abb25 85deg,transparent 135deg,#5487a528 220deg,#94d89323 290deg,transparent 345deg);mask-image:radial-gradient(circle,transparent 66%,#000 69%,#000 71%,transparent 74%);animation:orbit 45s linear infinite}.energy-rings i:nth-child(2){inset:-13%;border-color:#b4a7be40;animation-direction:reverse;filter:blur(2px);opacity:.6}.energy-rings i:nth-child(3){inset:-27%;opacity:.3;filter:blur(3px);animation-duration:65s}.arena-label{position:absolute;top:8%;width:100%;text-align:center;z-index:3;pointer-events:none;font-size:9px;letter-spacing:.22em;color:#d2c5dda6;opacity:var(--label-opacity,1)}.live-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin:0 8px 2px 0;box-shadow:0 0 9px var(--accent)}.game-tools{position:absolute;bottom:10%;left:25%;width:50%;display:flex;justify-content:center;gap:8px;align-items:center;z-index:4;opacity:var(--ring-opacity)}.game-tools>span{font-size:10px;letter-spacing:.04em;color:#ccc0d8b0;margin-right:10px}.game-tools button{background:#d0bde618;border:1px solid #cbb7e538;width:32px;height:32px;border-radius:50%;font-size:19px;color:#d0bddf}.game-tools button:hover{background:#d8c2ee30}.chapter{position:absolute;left:0;width:100%;height:100svh;z-index:2;pointer-events:none;padding:0 6vw;display:flex;align-items:center}.chapter .copy{width:39%;pointer-events:none}.chapter a,.chapter button{pointer-events:auto}.hero{top:0}.eyebrow{font-size:10px;letter-spacing:.19em;color:#c4b8d5;display:flex;gap:9px;align-items:center;line-height:1.8}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}h1,h2{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-.065em;line-height:1.13;margin:25px 0}h1{font-size:clamp(42px,4.9vw,80px)}h2{font-size:clamp(36px,4.3vw,68px)}h1 em,h2 em,.floating-note em{font-style:normal;color:var(--accent)}.copy>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:335px;margin:0}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{border-radius:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 24px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.primary{background:var(--accent);color:#21172f}.primary:hover{background:#efdefe;transform:translateY(-2px)}.text-link{font-size:11px;display:inline-flex;gap:16px;align-items:center;color:#d1c5dd;padding:10px 0;border-bottom:1px solid #d1c5dd40}.interaction-hint{font-size:10px;margin-top:25px;letter-spacing:.02em;color:#bdb1cbad;display:flex;align-items:center;gap:8px}.chapter-footer{position:absolute;bottom:30px;left:6vw;right:6vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.17em;color:#b7a9c89c}.chapter-footer a{display:flex;gap:18px}.explanation{top:100svh}.explanation .copy{padding:30px;border-radius:24px;background:linear-gradient(90deg,#100f19e8,#100f19b0 70%,transparent);width:43%;margin-left:-30px}.steps{list-style:none;padding:0;margin:30px 0 25px;max-width:350px}.steps li{display:flex;gap:18px;padding:17px 0;border-top:1px solid #cbb4e52b}.steps li>span{font-size:9px;color:#ccb1eb;padding-top:4px}.steps h3{font-size:13px;font-weight:500;margin:0 0 6px}.steps p{font-size:11px;line-height:1.6;margin:0;color:var(--muted)}.floating-note{position:absolute;right:8vw;bottom:11vh;text-align:right;font-size:14px;line-height:1.7;color:#d6c5e8;opacity:.7}.mobile-reveal{top:200svh}.secondary-copy{margin-top:18px!important;font-size:12px!important;color:#b3a5c2!important}.platforms{display:flex;gap:28px;margin:30px 0}.platforms>div{display:flex;align-items:center;gap:12px}.platforms svg{width:21px;height:26px;fill:none;stroke:#d9c6ed;stroke-width:1.3}.platforms span{font-size:12px;line-height:1.5}.platforms small{display:block;font-size:8px;letter-spacing:.12em;color:#b6a3ca;margin-top:5px}.availability{font-size:9px;line-height:1.6;color:#9d8bac;display:block;max-width:290px}.phone{position:absolute;inset:-42% -14%;border:5px solid #51475f;border-radius:45px;background:linear-gradient(150deg,#292336,#14101f 40%,#261a35);box-shadow:0 0 0 1px #cec0e95c,0 40px 90px #0008;opacity:var(--phone-opacity);z-index:0;pointer-events:none}.island{position:absolute;top:3%;left:35%;width:30%;height:3.5%;background:#09070e;border-radius:20px}.phone-header{position:absolute;top:12%;left:9%;font-size:10px;letter-spacing:.13em;color:#d3c5df}.phone-header span{font-size:9px;margin-left:15px;letter-spacing:0}.phone-bottom{position:absolute;bottom:14%;left:10%;right:10%;display:flex;justify-content:space-between;align-items:center;color:#d4c3e7}.phone-bottom>span:first-child{font-size:33px;color:#b598d7;text-align:center}.phone-bottom small{display:block;font-size:7px;letter-spacing:.15em;color:#bfa8d2}.phone-bottom>span:last-child{font-size:17px;border:1px solid #c5b4e24d;padding:10px 16px;border-radius:25px;background:#201b2dcc}.home-indicator{position:absolute;bottom:3%;width:30%;height:3px;border-radius:3px;background:#d1c1e270;left:35%}.phone-caption{position:absolute;left:54%;right:8%;bottom:7vh;text-align:center;font-size:8px;letter-spacing:.14em;color:#bba6d0}.closing{position:relative;overflow:hidden;min-height:64vh;padding:110px 6vw;text-align:center;background:radial-gradient(ellipse at 50% 100%,#51406440,transparent 60%)}.closing .eyebrow{justify-content:center}.closing h2{margin:22px 0 30px}.closing .button{position:relative;z-index:2}.closing-ring{width:90vw;height:90vw;border:1px solid #c5abea38;border-radius:50%;position:absolute;left:5vw;top:20%;pointer-events:none;box-shadow:0 0 60px #a982d119}footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 5vw;border-top:1px solid #b8a3d327;font-size:10px;color:#aa98ba}footer .wordmark{font-size:16px;color:#dbcaec}footer .brand-mark{width:25px;height:25px}.cleared{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px;pointer-events:none}.cleared[hidden]{display:none}.cleared span{font-size:clamp(15px,2vw,26px);letter-spacing:-.03em;color:var(--accent)}.cleared button{pointer-events:auto;border-radius:30px;background:#dcc8f415;border:1px solid #dcc8f43d;padding:10px 18px;font-size:11px}.match-flash{animation:world-ripple 1s ease-out}.game-object.highlight #arena{box-shadow:0 0 0 2px #dcc8f4,0 0 70px #dcc8f430}@keyframes orbit{to{transform:rotate(336deg)}}@keyframes world-ripple{0%{box-shadow:inset 0 0 160px rgba(var(--match-color),.18)}100%{box-shadow:inset 0 0 200px transparent}}
@media(min-width:1600px){.copy>p{font-size:16px;max-width:380px}.eyebrow{font-size:12px}.button{font-size:14px}.text-link{font-size:13px}.steps h3{font-size:15px}.steps p{font-size:13px}}
@media(max-width:760px){.navigation{padding:24px 6vw}.wordmark{font-size:18px}.brand-mark{width:31px;height:31px}.nav-link{font-size:9px;gap:8px}.journey{height:330svh}.chapter{height:110svh;align-items:flex-start;padding-top:105px}.chapter .copy{width:100%;max-width:440px}h1{font-size:clamp(35px,7.9vw,52px);line-height:1.07;margin:18px 0}h1 br:last-of-type{display:none}h1 em{display:block}.copy>p{font-size:12px;line-height:1.75;max-width:330px}.eyebrow{font-size:8px}.actions{margin-top:19px;gap:23px}.button{padding:12px 20px}.interaction-hint{margin-top:17px;font-size:9px}.chapter-footer{bottom:20px;font-size:7px}.chapter-footer>span{display:none}.chapter-footer{justify-content:center}.arena-label{font-size:7px}.game-tools>span{font-size:8px;margin-right:2px}.game-tools{width:65%;left:17.5%;gap:4px}.game-tools button{width:27px;height:27px}.explanation{top:110svh;padding-top:58px}.explanation .copy{width:100%;padding:0;margin:0;background:none}.explanation h2{font-size:36px;margin:17px 0}.explanation .steps{margin:14px 0 6px;max-width:100%}.steps li{padding:10px 0;gap:13px}.steps h3{font-size:12px}.steps p{font-size:10px}.floating-note{display:none}.mobile-reveal{top:220svh;padding-top:60px}.mobile-reveal h2{font-size:38px;margin:18px 0}.mobile-reveal .secondary-copy{max-width:290px}.platforms{margin:20px 0;gap:32px}.availability{font-size:8px;max-width:100%}.phone-caption{left:6%;right:6%;bottom:3svh;font-size:7px}.phone{border-width:4px;border-radius:34px}.phone-header{font-size:8px}.phone-header span{font-size:8px}.phone-bottom>span:first-child{font-size:26px}.phone-bottom>span:last-child{font-size:13px;padding:9px 13px}.closing{padding:85px 6vw;min-height:50svh}.closing h2{font-size:40px}footer{flex-wrap:wrap;padding:24px 6vw}footer>span{font-size:8px}footer>span:nth-child(2){display:none}.cleared span{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.energy-rings i{animation:none}.match-flash{animation:none}.button{transition:none}}

/* Holographic glass, with a quiet lavender base and spectral fringes. */
.energy-rings{inset:-12%;filter:drop-shadow(0 0 14px #a989d62a)}
.energy-rings::before{content:"";position:absolute;inset:-16%;border-radius:50%;background:conic-gradient(from 40deg,#e5a67835,#ab83e45c,#6fa2d73b,#7ac5c63b,#b696de4d,#e5a67835);mask-image:radial-gradient(closest-side,transparent 42%,#000 69%,transparent 100%);filter:blur(24px);opacity:.6;animation:orbit 70s linear infinite}
.energy-rings i{border:0;box-shadow:none;background:conic-gradient(from 24deg,#9571d4aa,#d790b6a8,#d5b573b8,#88c8b19c,#78a7e3b8,#b181e9b8,#9571d4aa);mask-image:radial-gradient(closest-side,transparent 96%,#000 97%,#000 98%,transparent 99.2%);filter:blur(1px);opacity:.78}
.energy-rings i:nth-child(2){inset:-12%;filter:blur(3px);opacity:.37;mask-image:radial-gradient(closest-side,transparent 95.5%,#000 97%,transparent 99.7%)}
.energy-rings i:nth-child(3){inset:-30%;filter:blur(2px);opacity:.17}
.primary{background:linear-gradient(120deg,#dec9f5,#c7c2f3 60%,#bbdde0);box-shadow:inset 0 0 0 1px #f7ebff70,0 5px 30px #a989d615}
.primary:hover{background:linear-gradient(120deg,#efdfff,#dcd5ff 60%,#d0edf0)}
.next-drop{position:absolute;z-index:4;left:4%;bottom:5%;width:9%;opacity:var(--ring-opacity);pointer-events:none;text-align:center}
.next-drop canvas{width:100%;height:auto;display:block;padding:12%;border-radius:50%;border:1px solid #baa0de65;background:linear-gradient(145deg,#9c78c816,#203a4a20);box-shadow:0 0 18px #b99de914}
.next-drop small{display:block;margin-top:7px;font-size:8px;letter-spacing:.17em;color:#bca7d0}
.game-tools button{backdrop-filter:blur(16px)}
.phone{background:radial-gradient(ellipse at 100% 25%,#64488140,transparent 60%),radial-gradient(ellipse at 0% 80%,#568eaa25,transparent 65%),#15121e;box-shadow:0 0 0 1px #cdb5e450,0 40px 90px #0008,inset 0 0 40px #7e5aa71a}
.phone-next{width:38px;line-height:1;transform:translateY(24px)}.phone-next canvas{width:100%;height:auto;display:block;border-radius:50%;border:1px solid #c8a8e854;padding:3px}
.phone-controls{display:flex;align-items:center;gap:11px;transform:translateY(24px)}.phone-controls button{font:inherit;background:none;padding:2px;color:#d4c3e7;pointer-events:auto}
.phone-header>span>span{margin:0;font:inherit}
@media(max-width:760px){.next-drop{left:6%;width:10%}.next-drop small{font-size:6px}.phone-next{width:27px}.game-tools>span{max-width:150px;text-align:center}.energy-rings{inset:-11%}}
@media(prefers-reduced-motion:reduce){.energy-rings::before{animation:none}}

@media(max-width:360px){.phone-controls,.phone-next{transform:translateY(20px)}.phone-bottom>span.phone-controls{padding:7px 13px}}
/* Sections after the scroll journey: daily teaser, breathe before scrolling, pricing. */
.section{position:relative;padding:110px 6vw;border-top:1px solid #b8a3d31f}
.section-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.section .copy>p{max-width:420px}
.section h2{margin:22px 0}
.daily-teaser{background:radial-gradient(ellipse at 85% 40%,#3a2c5038,transparent 55%)}
.teaser-card{border:1px solid #cbb7e533;border-radius:28px;padding:34px;background:linear-gradient(150deg,#221b3299,#100f19cc);box-shadow:0 0 50px #a98adc12}
.teaser-card strong{display:block;font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(40px,4.4vw,64px);letter-spacing:-.05em;color:var(--accent);margin:8px 0 6px}
.teaser-card pre,.share-preview{font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.8;color:var(--paper);white-space:pre-wrap;margin:18px 0 0}
.teaser-card small{font-size:10px;letter-spacing:.16em;color:#bca7d0}
.shortcut-steps{counter-reset:step;list-style:none;padding:0;margin:0}
.shortcut-steps li{counter-increment:step;display:flex;gap:18px;padding:16px 0;border-top:1px solid #cbb4e52b;font-size:13px;line-height:1.6;color:var(--muted)}
.shortcut-steps li::before{content:counter(step,decimal-leading-zero);font-size:9px;color:#ccb1eb;padding-top:4px}
.shortcut-steps b{color:var(--paper);font-weight:500}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--accent);background:#dcc8f412;border:1px solid #dcc8f42b;border-radius:8px;padding:2px 7px;word-break:break-all}
.pricing-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.pricing-list li{border:1px solid #cbb7e52b;border-radius:20px;padding:20px 22px;background:#1a1526aa}
.pricing-list h3{font-family:Manrope,sans-serif;font-weight:500;font-size:17px;letter-spacing:-.02em;margin:0 0 6px}
.pricing-list p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
.pricing-list .plus h3{color:var(--accent)}
.copy>p.fine-print{font-size:11px;line-height:1.7;color:#9d8bac;margin-top:16px;max-width:420px}
/* Daily pool page */
.daily-nav{position:relative}
.daily{max-width:1080px;margin:0 auto;padding:10px 6vw 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:4vw 5vw;align-items:start}
.daily-intro{padding-top:40px}
.daily-intro>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:360px;margin:0}
.daily-date{width:auto!important;height:auto!important;background:none!important;border-radius:0!important}
.daily-archive{margin-top:18px!important}
.daily-board{display:flex;flex-direction:column;gap:18px}
.daily-stats{display:flex;gap:28px;align-items:flex-end}
.daily-stats small{display:block;font-size:9px;letter-spacing:.17em;color:#bca7d0;margin-bottom:6px}
.daily-stats strong{font-family:Manrope,sans-serif;font-weight:500;font-size:30px;letter-spacing:-.04em}
.daily-queue{margin-left:auto}
.daily-queue span{display:flex;align-items:center;gap:8px}
.daily-queue canvas{display:block;border-radius:50%}
#queue-0{width:44px;height:44px;border:1px solid #baa0de65;padding:4px;background:linear-gradient(145deg,#9c78c816,#203a4a20)}
#queue-1{width:28px;height:28px}
#queue-2{width:22px;height:22px}
.daily-arena{width:min(100%,72svh);aspect-ratio:1;border-radius:50%}
#daily-arena{width:100%;height:100%;display:block;border-radius:50%;cursor:crosshair;touch-action:none;background:rgba(10,13,20,.86);box-shadow:0 0 0 1px #d8cbeb50,0 0 50px #a98adc20,inset 0 0 80px #9277c31a}
.daily-tools{display:flex;gap:8px;align-items:center}
.daily-tools>span{font-size:11px;color:#ccc0d8b0;margin-right:auto}
.daily-tools button{background:#d0bde618;border:1px solid #cbb7e538;width:34px;height:34px;border-radius:50%;font-size:19px;color:#d0bddf}
.daily-result{grid-column:1/-1;border:1px solid #cbb7e533;border-radius:28px;padding:34px;background:linear-gradient(150deg,#221b3299,#100f19cc)}
.daily-result h2{margin:14px 0 0}
.daily-result .actions{flex-wrap:wrap}
.daily-result .text-link{background:none;border:0;border-bottom:1px solid #d1c5dd40;border-radius:0}
.practice-note,.share-status,.come-back,.open-app{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0 0}
.open-app a{color:var(--accent);border-bottom:1px solid #dcc8f440}
.daily-arena.match-flash{animation:world-ripple 1s ease-out}
@media(max-width:760px){.section{padding:80px 6vw}
.section-inner{grid-template-columns:minmax(0,1fr);gap:34px}
.teaser-card{padding:26px}
.daily{grid-template-columns:1fr;padding-top:0}
.daily-intro{padding-top:10px}
.daily-intro h1{font-size:44px;margin:14px 0}
.daily-intro>p{font-size:12px}
.daily-arena{width:100%}
.daily-stats{gap:20px}
.daily-stats strong{font-size:24px}
.daily-result{padding:26px}}
/* Phone play mode: "Try it" lifts the pool out of the scroll story so it fills the screen. */
.play-exit{position:absolute;z-index:6;top:calc(env(safe-area-inset-top,0px) + 22px);right:6vw;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:30px;background:#d0bde618;border:1px solid #cbb7e538;font-size:12px;color:#d0bddf;pointer-events:auto;backdrop-filter:blur(16px)}
.play-exit[hidden]{display:none}

html.playing,html.playing body{overflow:hidden;overscroll-behavior:none}
html.playing .journey{z-index:20}
html.playing .scene{position:fixed;inset:0;height:100%;z-index:30;pointer-events:auto;touch-action:none;background:radial-gradient(ellipse at 75% 14%,#292037 0,transparent 40%),radial-gradient(ellipse at 15% 80%,#211d32 0,transparent 45%),#100f19}
html.playing .chapter,html.playing .navigation{visibility:hidden}
html.playing .game-tools{bottom:-27%;left:-20%;width:140%}
html.playing .game-tools>span{font-size:11px;max-width:none}
html.playing .game-tools button{width:36px;height:36px}
/* Outer rings pulse out from the pool like the app's boundary glow (BoundaryVisual):
   one every 3s, travelling from the edge to 3x the radius over 6s and fading as (1-t)^1.4. */
.energy-rings i,.energy-rings i:nth-child(2){inset:9.68%;filter:blur(.6px);opacity:0;mask-image:radial-gradient(closest-side,transparent 96.5%,#000 98%,transparent 99.6%);animation:orbit 45s linear infinite,pool-pulse 6s linear infinite}
.energy-rings i:nth-child(2){animation-delay:-20s,-3s}
@keyframes pool-pulse{0%{scale:1;opacity:.75}25%{scale:1.5;opacity:.5}50%{scale:2;opacity:.28}75%{scale:2.5;opacity:.11}100%{scale:3;opacity:0}}
/* The pool edge breathes like the app's border: alpha 0.6 to 1.0 on a ~3.1s sine. */
#arena,#daily-arena{animation:edge-breathe 1.571s ease-in-out infinite alternate}
@keyframes edge-breathe{from{box-shadow:0 0 0 1px #d8cbeb30,0 0 50px #a98adc20,inset 0 0 80px #9277c31a}to{box-shadow:0 0 0 1px #d8cbeb50,0 0 50px #a98adc20,inset 0 0 80px #9277c31a}}
.game-object.highlight #arena{box-shadow:0 0 0 2px #dcc8f4,0 0 70px #dcc8f430!important}
@media(prefers-reduced-motion:reduce){.energy-rings i,.energy-rings i:nth-child(2){animation:none;opacity:.3;scale:1.25}.energy-rings i:nth-child(2){opacity:.15;scale:1.7}#arena,#daily-arena{animation:none}}

/* Draw interface icons as vectors so platform fonts cannot turn them into emoji. */
.ui-icon{display:inline-block;width:18px;height:18px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-link,.chapter-footer a{align-items:center}
.nav-link .ui-icon,.text-link .ui-icon,.chapter-footer .ui-icon,.interaction-hint .ui-icon,.play-exit .ui-icon{width:16px;height:16px}
.game-tools button,.daily-tools button{display:inline-grid;place-items:center;padding:0}
.phone-controls button{display:inline-flex;align-items:center;justify-content:center}
.phone-controls .ui-icon{width:16px;height:16px}
.phone-header .ui-icon{width:11px;height:11px;margin-right:3px}
.cleared button{display:inline-flex;align-items:center;gap:10px}
