.ach-entry{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:16px 0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;margin-top:0}
.ach-entry>svg,.ach-rail svg{width:25px;height:25px;color:var(--accent,var(--a));flex:none}.ach-entry strong{flex:1}.ach-entry small{color:var(--muted)}
.ach-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:var(--accent,var(--a));color:var(--bg);font:700 11px/1 sans-serif;box-shadow:0 2px 8px #0003;flex:none}.ach-badge[hidden]{display:none!important}
[data-page=profile],.suite-account,[data-tab=profile],.ach-rail{position:relative}.ach-nav-badge{position:absolute;right:9px;top:4px}.header .ach-nav-badge{top:-5px;right:-5px}
.ach-host-open>:not(.ach-screen){display:none!important}.ach-host-open>.ach-screen{display:block!important}
.ach-screen{padding-bottom:var(--sonya-nav-reserve,30px)}.ach-screen h1{margin:16px 0 8px!important}.ach-screen>p{color:var(--muted)}
.ach-back{display:flex;width:44px;height:44px;padding:8px;margin:20px auto 8px 0;background:none;border:0;color:var(--accent,var(--a));cursor:pointer}.ach-back svg{width:28px;height:28px}
.ach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.ach-tile{position:relative;border:1px solid color-mix(in srgb,var(--accent,var(--a)) 30%,transparent);border-radius:16px;padding:7px;background:var(--panel);color:var(--text);font:inherit;min-width:0;cursor:pointer;transition:transform .3s,box-shadow .3s;text-align:center}.ach-tile img{display:block;width:100%;aspect-ratio:240/290;border-radius:12px;object-fit:contain}.ach-tile b{display:block;font-size:12px;line-height:1.25;min-height:2.5em;margin:9px 2px 5px;overflow-wrap:anywhere}.ach-tile small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.ach-tile.locked img{filter:grayscale(.85);opacity:.36}.ach-tile.locked{border-color:var(--line,var(--edge))}.ach-tile.locked b{color:var(--muted)}.ach-tile .ach-badge{position:absolute;top:5px;right:5px;z-index:1}.ach-tile:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0003}
.ach-dialog{border:0;background:transparent;color:var(--text);padding:66px 32px 40px;max-width:430px;width:calc(100% - 16px);max-height:94dvh;overflow:auto;perspective:1000px}.ach-dialog::backdrop{background:#060916cc;backdrop-filter:blur(12px)}.ach-close{position:absolute;z-index:10;right:12px;top:0;width:40px;height:40px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line,var(--edge));color:var(--text);border-radius:14px;cursor:pointer}.ach-close svg{width:24px;height:24px}
.ach-full{position:relative;z-index:1;border:1px solid var(--accent,var(--a));border-radius:25px;padding:12px 12px 24px;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--accent,var(--a)) 16%,var(--panel)),var(--bg));box-shadow:0 30px 65px #0007,inset 0 0 0 5px color-mix(in srgb,var(--accent,var(--a)) 10%,transparent);overflow:hidden;animation:ach-reveal .7s ease both,ach-float 5.6s .7s ease-in-out infinite;transform-style:preserve-3d}
.ach-full img{display:block;width:100%;max-height:45dvh;object-fit:contain}.ach-full h2{font-size:24px;line-height:1.15;margin:15px 0 10px}.ach-full p{font-size:14px;line-height:1.5;margin:10px 10px;color:var(--muted)}.ach-full .ach-number{letter-spacing:3px;font-size:10px;color:var(--accent,var(--a))}.ach-full .ach-date{display:block;font-size:11px;color:var(--muted);margin-top:18px}
.ach-full::after{content:"";position:absolute;inset:-60%;background:linear-gradient(115deg,transparent 42%,#fff0 44%,#ffffff29 49%,#ffffff06 53%,transparent 57%);transform:translateX(-40%);animation:ach-shine 7s ease-in-out infinite;pointer-events:none}.ach-sparkles{position:absolute;inset:12px;pointer-events:none}.ach-sparkles i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;background:var(--accent,var(--a));clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%);animation:ach-spark 3.5s var(--delay) ease-in-out infinite}
.ach-tile:focus-visible,.ach-entry:focus-visible,.ach-back:focus-visible,.ach-close:focus-visible{outline:2px solid var(--accent,var(--a));outline-offset:3px}
@keyframes ach-float{0%,100%{transform:translateY(0) rotateX(4deg) rotateY(-5deg) rotateZ(-1.8deg)}50%{transform:translateY(-24px) rotateX(-4deg) rotateY(5deg) rotateZ(1.8deg)}}@keyframes ach-reveal{from{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ach-shine{0%,25%{transform:translateX(-45%) rotate(8deg)}70%,100%{transform:translateX(45%) rotate(8deg)}}@keyframes ach-spark{0%,100%{opacity:.1;transform:scale(.4)}50%{opacity:.9;transform:scale(1.2)}}
.watch .ach-grid{gap:5px;margin-top:12px}.watch .ach-tile{padding:3px;border-radius:9px}.watch .ach-tile b{font-size:8px}.watch .ach-tile small{font-size:7px}.watch .ach-entry{font-size:11px;padding:10px 0}.watch .ach-entry small{display:none}.watch .ach-screen h1{font-size:18px}.watch .ach-reminders{display:none}
@media(min-width:760px){.ach-screen{max-width:920px;margin:0 auto}.ach-grid{gap:22px}.ach-tile{padding:12px}.ach-tile b{font-size:16px}.ach-tile small{font-size:12px}.ach-tile img{max-height:230px}.ach-dialog{width:420px}}
@media(max-width:350px){.ach-grid{gap:7px}.ach-tile b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ach-full,.ach-full::after,.ach-sparkles i{animation:none!important;transform:none!important}.ach-tile{transition:none}.ach-tile:hover{transform:none}}

.sonya-achievement-word{--brand-start:#f0e0f9;--brand-end:#ad99da;background:linear-gradient(110deg,var(--brand-start),var(--accent,var(--a)) 45%,var(--brand-end));background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--accent,var(--a)) 65%,transparent))}
[data-theme=forest] .sonya-achievement-word{--brand-start:#f2f5ed;--brand-end:#8bb29b}[data-theme=sand] .sonya-achievement-word{--brand-start:#fff1e8;--brand-end:#c98f80}[data-theme=dusk] .sonya-achievement-word{--brand-start:#f8f0fb;--brand-end:#b49ad4}
[data-page=profile]>.ach-nav-badge,[data-tab=profile]>.ach-nav-badge{left:calc(50% + 7px);right:auto;top:5px;min-width:15px;height:15px;padding:0 3px;font-size:9px}

.ach-dialog{position:fixed;inset:0;margin:0;width:100vw!important;max-width:none;height:100dvh;max-height:none;padding:100px 0 40px;box-sizing:border-box;overflow:visible;scrollbar-width:none}.ach-dialog[open]{display:grid;place-items:center}.ach-card-stage{position:relative;isolation:isolate;width:min(360px,calc(100vw - 64px))}.ach-close{right:0;top:-86px;z-index:5}.ach-aura{position:absolute;inset:0;pointer-events:none;z-index:0;animation:ach-float 5.6s .7s ease-in-out infinite}.ach-aura canvas{position:absolute;width:190%;height:175%;left:-45%;top:-37.5%;pointer-events:none}.ach-full{box-shadow:0 0 28px color-mix(in srgb,var(--accent,var(--a)) 35%,transparent),0 30px 65px #0007,inset 0 0 0 5px color-mix(in srgb,var(--accent,var(--a)) 10%,transparent)}
@keyframes ach-rays{0%,100%{opacity:.3;transform:rotate(-4deg) scale(.98)}50%{opacity:.55;transform:rotate(4deg) scale(1.04)}}
@media(prefers-reduced-motion:reduce){.ach-aura,.ach-aura svg{animation:none!important;transform:none!important}}
@media(max-height:600px){.ach-dialog{padding-top:54px;padding-bottom:12px}.ach-full img{max-height:36dvh}.ach-full h2{font-size:20px;margin:8px 0}.ach-full p{margin:6px}.ach-full .ach-date{margin-top:10px}.ach-close{top:-66px}}
