:root{--bg:#242136;--ink:#30263f;--shell:#b7a0dc;--paper:#fbf8ef;--line:#4d3b63;--accent:#f6ab7f;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink);font-family:ui-rounded,"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);background-image:linear-gradient(90deg,#ffffff03 1px,transparent 1px),linear-gradient(#ffffff03 1px,transparent 1px);background-size:40px 40px}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:not(:disabled):active{transform:translateY(2px);box-shadow:none}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.hidden,[hidden]{display:none!important}.app{max-width:496px;margin:auto;padding:25px 20px 36px}.app-header{display:flex;align-items:center;gap:12px;padding:0 3px;margin-bottom:10px}.app-header h1{font-size:23px;letter-spacing:1px;color:#eee6f8;margin:0;line-height:1.25;font-weight:800}.app-header h1 span{color:#c6afe7;margin-left:5px}.game-back,.square-button{display:grid;place-items:center;flex:none;width:35px;height:35px;border:2px solid #8e79aa;background:#3b304f;border-radius:8px;box-shadow:0 3px #0f0c19;color:#e4d6f5;text-decoration:none;font-weight:700;font-size:17px}.game-back svg{width:19px;height:19px}.square-button{margin-left:auto}.series-label{font:8px var(--mono);letter-spacing:2px;color:#a892bd;padding:0 4px;margin-bottom:16px}.machine{background:var(--shell);border:3px solid #0f0c19;border-radius:22px 22px 45px 22px;padding:13px 15px 17px;box-shadow:7px 8px #100d1d,inset 0 0 0 1px #76618c}.machine-top{display:flex;align-items:center;gap:10px;padding:0 1px 12px}.screw{height:8px;width:8px;border:1.5px solid #665178;border-radius:50%;position:relative;flex:none}.screw:before{content:'';position:absolute;left:1px;right:1px;top:2px;height:1px;background:#665178;transform:rotate(-35deg)}.power{display:flex;align-items:center;gap:6px;flex:1;font:700 8px var(--mono);letter-spacing:.7px;white-space:nowrap;color:#493759}.power i{height:6px;width:6px;border-radius:50%;background:#e9f2ad;box-shadow:0 0 5px #e9f2ad80}.feedback-controls{display:flex;gap:8px}.feedback-controls button{background:none;border:0;padding:4px 0;font:600 10px var(--mono);min-height:28px}.score-row{display:grid;grid-template-columns:1fr 1fr 62px;gap:10px;background:#3b304e;border:2px solid #30263f;border-radius:11px;padding:11px 12px;margin-bottom:12px;box-shadow:0 2px #d0bce9}.display{min-width:0;display:flex;flex-direction:column;justify-content:center}.label,.collection-display>span{font-size:9px;letter-spacing:.5px;color:#b8a2cf;margin-bottom:5px}.display strong,.display b{color:#ecf7c9;font:700 clamp(20px,5.5vw,27px)/1.2 var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:-.6px}.best{padding-left:10px;border-left:1px solid #61516e}.best b{font-size:23px;color:#f5c7a9}.collection-display{display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid #61516e;padding-left:8px}.collection-display b{font:700 16px var(--mono);color:#eee5f9}.screen{border:3px solid #392d49;border-radius:8px;background:var(--paper);box-shadow:0 3px #d2bfea;padding:0 8px;overflow:hidden}.screen-status{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 2px 8px;font-size:9px;color:#80688f;min-height:32px}.screen-status>span:first-child{font:700 10px var(--mono);letter-spacing:1px}#combo{color:#8c5d37;font:700 10px var(--mono);text-align:center}.board-wrap{aspect-ratio:1;border:1px solid #c9b8d4;padding:5px;background:#e8dfec;border-radius:6px;box-shadow:inset 0 2px 3px #73657b15}canvas{display:block;width:100%;height:100%;touch-action:none;border-radius:3px}.tray{--tray-slot-height:76px;--tray-tile:17px;display:flex;align-items:center;justify-content:space-between;gap:8px;height:88px;padding-top:5px}.piece-button,.piece-slot-empty{width:calc((100% - 16px)/3);height:var(--tray-slot-height);flex:none}.piece-button{container-type:inline-size;padding:2px 4px;display:flex;align-items:center;justify-content:center;min-width:0;border:1px solid transparent;border-radius:8px;background:none;touch-action:none;user-select:none;-webkit-user-select:none;transition:background .1s}.piece-button.selected{background:#e4d7ee;border-color:#a487b7;box-shadow:inset 0 0 0 1px #f5edf9}.piece-slot-empty{pointer-events:none}.mini-piece{--gap:2px;display:grid;gap:var(--gap);grid-template-columns:repeat(var(--cols),var(--tile));pointer-events:none;user-select:none}
.piece-button .mini-piece{
 --tile:min(var(--tray-tile),calc((var(--tray-slot-height) - 6px - (var(--rows) - 1) * var(--gap)) / var(--rows)),calc((100cqw - (var(--cols) - 1) * var(--gap)) / var(--cols)));
}
.mini-piece .mini-cell{width:var(--tile);height:var(--tile)}
@media(max-width:539px){.tray{--tray-tile:15px}}
.mini-cell{border-radius:2px}.mini-cell.blank{visibility:hidden}.mini-piece .mini-cell:not(.blank){border:1.5px solid var(--outline,#927d9f);box-shadow:inset -2px -2px #00000020,inset 1px 1px #ffffff80}.instruction{font-size:10px;color:#806b8c;line-height:1.6;text-align:center;margin:0;padding:0 2px 10px;min-height:27px}.tool-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.tool-bar button{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid #2b203a;border-radius:9px;background:#3f3152;color:#f3e8ff;box-shadow:0 3px #665080;padding:8px 4px;font-size:11px;font-weight:650}.tool-bar b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;background:#715583;border-radius:4px;color:#f3e8ff;font:700 11px var(--mono)}.tool-progress{font-size:9px;line-height:1.6;text-align:center;color:#604a75;margin:9px 0 12px}.controls{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #9276ad66}.controls button{min-height:37px;border-radius:8px;font-size:10px}#player{display:flex;align-items:center;gap:7px;min-width:0;flex:1;background:#c4aee3;border:1px solid #9477ae;padding:8px 9px;text-align:left;color:#503b65}#player-name{flex:1;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#restart{flex:none;background:#d3bfe8;color:#4d375e;border:2px solid #71568a;box-shadow:0 3px #8f70ad;padding:8px 11px;font-weight:650}.companion{display:flex;align-items:center;gap:10px;min-height:94px;padding:6px 0}.pet{width:90px;height:90px;flex:0 0 90px;background-repeat:no-repeat;image-rendering:pixelated}.pet.idle{background-image:url('assets/idle.png');background-size:100% 100%;animation:breathe 2.4s ease-in-out infinite}.pet-copy{flex:1;min-width:0}.pet-copy p{font-size:11px;font-weight:700;margin:0 0 9px;color:#503966}.progress{height:6px;background:#a58bc2;border:1px solid #967bae;border-radius:3px;overflow:hidden;box-shadow:0 1px #d0bce9}.progress i{display:block;height:100%;width:0;background:#edf3b4;transition:width .4s}.pet-copy small{display:block;font-size:9px;line-height:1.7;color:#604a75;margin-top:6px}.machine-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 2px 0}.machine-bottom>span{font:700 9px var(--mono);letter-spacing:1px;color:#604a75}.machine-bottom small{display:block;font-size:6px;letter-spacing:.8px;font-weight:400;margin-top:4px}.speaker{display:flex;gap:3px;transform:rotate(-24deg);margin:0 8px 0 auto}.speaker i{height:21px;width:3px;background:#806297;border-radius:2px;box-shadow:1px 0 #cfbde2}.details{margin-top:28px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 5px}.tabs button{position:relative;top:2px;border:2px solid #69547e;border-bottom:0;background:#342b44;border-radius:9px 9px 0 0;color:#bda9d0;font-size:11px;font-weight:650;padding:11px 5px;min-height:40px}.tabs button.active{background:#ebe1f5;border-color:#0f0c19;color:#503663;z-index:1}.detail-panels{padding:17px;background:#ebe1f5;border:2px solid #0f0c19;border-radius:9px;box-shadow:4px 4px #100d1d}.cabinet-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 16px}.cabinet-title h2{font-size:13px;margin:0}.cabinet-title>span{font-size:9px;color:#7a608d;white-space:nowrap}.shelf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 9px}.snack{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;min-width:0;min-height:116px;padding:10px 4px 8px;border:1px solid #c1a9d1;border-bottom:4px solid #a58ab9;border-radius:7px;background:#f7effa;box-shadow:0 2px #d7c5e3}.snack img{width:56px;height:56px;object-fit:contain;image-rendering:pixelated}.snack.locked img{filter:brightness(0);opacity:.1}.snack .lock{position:absolute;top:26px;font-size:22px;color:#a38bb3}.snack strong{font-size:9px;font-weight:600;line-height:1.5;text-align:center}.snack small{font-size:8px;color:#80658f}.local-note,.rank-note{font-size:10px;color:#80658f;line-height:1.8}.local-note{margin:15px 0 0}.rank-note{margin:-5px 0 10px}.rank-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #d4c3e0;font-size:11px}.rank-row>span{font:700 12px var(--mono);color:#9c7bad}.rank-row strong{min-width:0;overflow-wrap:anywhere}.rank-row b{margin-left:auto;font:700 17px var(--mono);color:#78558f}.empty{text-align:center;padding:26px 0;color:#80658f;font-size:12px;line-height:1.8}.achievements{margin-top:22px;border-top:1px solid #d4c3e0;padding-top:10px}.achievements h3{font-size:12px}.achievements>div{display:flex;align-items:center;gap:10px}.achievements>div>span{font-size:24px;color:#9571ad}.achievements p{font-size:11px;line-height:1.8}.achievements small{display:block;font-size:9px;color:#80658f}.achievements b{margin-left:auto;font-size:9px;white-space:nowrap;color:#80658f}footer{margin-top:25px;text-align:center;font:8px var(--mono);letter-spacing:1px;color:#b29cc7}footer span{display:block;font:8px system-ui,sans-serif;letter-spacing:.3px;margin-top:7px}dialog{width:min(390px,calc(100vw - 32px));max-height:85dvh;padding:26px;border:3px solid #2b203a;border-radius:13px;background:#f4edf9;color:var(--ink);box-shadow:7px 7px #161022;overflow:auto}dialog::backdrop{background:#100b20b3;backdrop-filter:blur(3px)}#close-modal{position:absolute;right:8px;top:5px;border:0;background:none;font-size:25px;color:#9171a8;width:32px;height:32px}#modal-content{text-align:center}#modal-content h2{font-size:21px;margin:12px 0}#modal-content p{font-size:12px;line-height:1.9;color:#80658f}.primary{display:block;margin:20px auto 0;min-height:44px;background:var(--accent);color:#432d35;border:2px solid #67483f;border-radius:9px;padding:10px 22px;box-shadow:0 4px #8c675b;font-size:13px;font-weight:750}.secondary{border:1.5px solid #b399c5;background:#e7d9f0;padding:10px 15px;border-radius:8px;color:#725184;font-size:12px;margin:8px 3px;min-height:40px}input{width:100%;min-width:0;border:1.5px solid #baa0cc;border-radius:7px;background:#fffdf7;color:#4d3b63;padding:12px;font-size:16px;margin:10px 0}.modal-pet{width:180px;height:180px;background-repeat:no-repeat;image-rendering:pixelated;margin:auto}.tag{display:inline-block;padding:5px 8px;border-radius:4px;background:#e5d7ee;font-size:9px;color:#725184;margin:6px}.food-hero{width:100px;height:90px;object-fit:contain;image-rendering:pixelated}#toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,10px);max-width:90vw;z-index:50;background:#f4eaf9;color:#584168;border:2px solid #281b38;border-radius:8px;box-shadow:3px 3px #0f0c19;padding:11px 16px;font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transition:.15s;text-align:center;width:max-content}#toast.visible{opacity:1;transform:translate(-50%,0)}#drag-ghost{display:none;position:fixed;pointer-events:none;z-index:30;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 4px #3a254c40);will-change:left,top;opacity:.88}.shake{animation:shake .18s ease-out}@keyframes breathe{50%{transform:translateY(-2px)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media(max-width:520px){.app{padding:17px 13px 28px}.app-header{gap:10px}.app-header h1{font-size:21px}.game-back,.square-button{width:32px;height:32px}.series-label{margin-bottom:14px}.machine{padding:11px 11px 15px;border-radius:18px 18px 36px 18px;box-shadow:5px 6px #100d1d}.machine-top{gap:7px;padding-bottom:10px}.score-row{padding:9px 10px;gap:8px;margin-bottom:10px}.best b{font-size:21px}.best{padding-left:8px}.screen{padding:0 6px}.board-wrap{padding:4px}.screen-status{padding-top:8px;min-height:29px}.tray{--tray-slot-height:72px;height:82px}.instruction{font-size:9px;padding-bottom:9px}.tool-bar{gap:7px;margin-top:13px}.tool-bar button{font-size:10px;gap:5px}.tool-progress{font-size:8px}.details{margin-top:25px}.detail-panels{padding:14px}.companion{min-height:88px}.pet{width:80px;height:80px;flex-basis:80px}.pet-copy small{font-size:8px}.feedback-controls{gap:6px}.feedback-controls button{font-size:9px}}@media(max-width:360px){.app{padding-left:10px;padding-right:12px}.machine{padding-left:8px;padding-right:8px}.machine-top{gap:5px}.power{font-size:7px;letter-spacing:0}.feedback-controls{gap:5px}.score-row{grid-template-columns:1fr 1fr 52px;gap:6px;padding:9px 8px}.display strong{font-size:22px}.best b{font-size:19px}.collection-display b{font-size:14px}.label,.collection-display>span{font-size:8px}.screen{padding:0 5px}.tray{gap:4px}.piece-button,.piece-slot-empty{width:calc((100% - 8px)/3)}.snack img{width:48px;height:48px}.snack{min-height:106px}.shelf-grid{gap:12px 6px}.companion{gap:5px}.pet{width:72px;height:72px;flex-basis:72px}.tool-bar button{gap:4px}.tool-progress{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Requested order: companion, score, ID, board, tools. */
.companion{padding:0 0 10px;min-height:100px;gap:12px}.pet{width:96px;height:96px;flex-basis:96px}.pet-copy p{margin-bottom:8px}.controls{padding-bottom:0;border-bottom:0;margin:0 0 12px}.score-row{margin-bottom:10px}.snack img{width:72px;height:72px;filter:drop-shadow(0 3px 0 #ded0e8);image-rendering:auto}.snack{min-height:137px;padding-top:12px}.snack.locked img{visibility:hidden}.snack .lock{top:31px}.snack strong{font-size:10px}.snack small{font-size:9px}.snack.locked{background:#e5dbea}.snack.locked .lock{border:1px dashed #b9a6c9;border-radius:12px;width:56px;height:56px;display:grid;place-items:center;top:18px;color:#a18ab1;background:#eee5f4}
@media(max-width:520px){.companion{min-height:94px;gap:9px;padding-bottom:8px}.pet{width:86px;height:86px;flex-basis:86px}.pet-copy small{font-size:9px}.snack img{width:64px;height:64px}.snack{min-height:130px}.snack strong{font-size:9px}}
@media(max-width:360px){.pet{width:76px;height:76px;flex-basis:76px}.snack img{width:54px;height:54px}.snack{min-height:121px}.snack small{font-size:8px}}

/* Hand-painted raster inventory artwork. Four by three original asset atlas. */
.snack-art{display:block;width:72px;height:72px;background-image:url('assets/snack-art.webp');background-repeat:no-repeat;background-size:400% 300%;background-position:var(--snack-x) var(--snack-y);filter:drop-shadow(0 3px 1px #61437e22)}.snack.locked .snack-art{visibility:hidden}.modal-pet{margin:12px auto 0}
@media(max-width:520px){.snack-art{width:64px;height:64px}}
@media(max-width:360px){.snack-art{width:54px;height:54px}}

#settings{margin-left:auto}#help{margin-left:0}.setting-row{text-align:left;border-top:1px solid #d5c3e1;padding:15px 0 9px}.setting-row>label:first-child{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}.setting-row output{font:700 12px var(--mono);color:#826397}.setting-row input[type=range]{display:block;width:100%;margin:17px 0 5px;accent-color:#8760b1;min-height:24px}.setting-row select{width:100%;margin:12px 0;padding:10px;border:1.5px solid #baa0cc;border-radius:7px;background:#fffdf7;color:#4d3b63;font-size:14px}.setting-row .secondary{margin:9px 0 0}.setting-check{display:flex;align-items:center;gap:10px;font-size:12px}.setting-check input{width:18px;height:18px;margin:0;accent-color:#8760b1;flex:none}.setting-row small{display:block;color:#80658f;line-height:1.6;margin:8px 0 0;font-size:10px}
.pet{display:block;border:0;padding:0;background-color:transparent;cursor:pointer;touch-action:manipulation}.pet:focus-visible{outline:3px solid #f6ab7f;outline-offset:2px}.pet:not(:disabled):active{transform:scale(.96);box-shadow:none}
.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}#help{margin-left:auto}#settings-panel .setting-row:first-of-type{border-top:1px solid #d5c3e1}#settings-panel .setting-row{padding:18px 3px 12px}#settings-panel .setting-row small{font-size:11px}
.rank-pages{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 22px}.rank-pages button{background:#d3bfe8;border:1px solid #9276ad;border-radius:6px;padding:7px 9px;font-size:10px}.rank-pages span{font:11px var(--mono);color:#715583}.rank-row.mine{background:#ded0ef;border-radius:6px;padding-inline:5px}.local-rank-title{font-size:12px;color:#503966;border-top:1px solid #ceb9df;padding-top:17px}

/* The high-score badge uses the hand-drawn pixel artwork. */
.achievements>div.achievement-premium{display:grid;grid-template-columns:minmax(112px,42%) 1fr auto;gap:8px;align-items:center;margin-top:10px;padding:9px 8px;border:1px solid #bea1d1;border-radius:9px;background:#f5eafb;box-shadow:0 3px #d6bee8}
.achievement-premium img{display:block;width:100%;height:auto;object-fit:contain;image-rendering:pixelated;transition:filter .2s,opacity .2s}
.achievement-premium.locked img{filter:saturate(.58);opacity:.62}
.achievements .achievement-premium p{min-width:0;margin:0;font-weight:700}
.achievements .achievement-premium b{margin:0;text-align:right}
@media(max-width:390px){.achievements>div.achievement-premium{grid-template-columns:minmax(100px,41%) 1fr auto;gap:5px;padding:8px 5px}.achievements .achievement-premium p{font-size:10px}.achievements .achievement-premium b{font-size:8px}}

.rank-row>strong{min-width:0;overflow-wrap:anywhere}.rank-title{display:inline-block;vertical-align:middle;margin:3px 0 3px 5px;padding:3px 5px;border:1px solid #a081b5;border-radius:4px;background:#e9d8f6;color:#62417d;font-size:9px;line-height:1.4;font-weight:700;max-width:100%;white-space:normal}

.rank-title{border:0;background:transparent;padding:0;margin:3px 0 3px 5px;cursor:pointer;border-radius:6px;vertical-align:middle;line-height:0;max-width:100%}.rank-title img{display:block;width:90px;height:60px;max-width:100%;object-fit:contain}.rank-title:focus-visible{outline:2px solid #80609e;outline-offset:2px}.badge-preview{display:block;width:100%;height:auto;max-height:60dvh;object-fit:contain;margin:12px auto}@media(max-width:390px){.rank-title img{width:75px;height:50px}}

.tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tabs button{min-width:0;padding-inline:3px;white-space:nowrap}.rank-title img{width:66px;height:44px}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#80658f;margin:0 0 12px}@media(max-width:390px){.tabs button{font-size:10px}.rank-title img{width:60px;height:40px}}

.help-content{text-align:left}.help-content section+section{border-top:1px solid #ddcde8;padding-top:10px;margin-top:12px}.help-content h3{font-size:14px;margin:5px 0;color:#503663}.help-content p{margin:5px 0}.help-content details{margin-top:17px;border-top:1px solid #cdb7dd;padding-top:13px}.help-content summary{cursor:pointer;font-size:12px;font-weight:700;color:#725184;min-height:32px}.help-content details p{font-size:11px!important}

.modal-pet[data-animation-status="loading"],.modal-pet[data-animation-status="error"]{display:grid;place-items:center;position:relative}.modal-pet[data-animation-status="loading"]::after,.modal-pet[data-animation-status="error"]::after{font-size:12px;line-height:1.8;color:#725184;text-align:center;background:#f4edf9cc;padding:12px;border-radius:8px;content:"動畫載入中…"}.modal-pet[data-animation-status="error"]::after{content:"載入失敗，請按重播重試"}

.pet{position:relative}.pet[data-animation-status="loading"]::after,.pet[data-animation-status="error"]::after{position:absolute;left:0;right:0;bottom:0;background:#f4edf9e6;color:#725184;border-radius:5px;font:9px system-ui,sans-serif;padding:3px 1px;content:"載入中…"}.pet[data-animation-status="error"]::after{content:"點擊重試"}

.achievement-art{position:relative;isolation:isolate;width:min(220px,100%);margin:4px auto 12px}
.achievement-art::before{content:"";position:absolute;z-index:-1;inset:1% 3%;background:radial-gradient(ellipse,#fff2b4 0%,#dfc6f1 45%,transparent 72%);opacity:.75}
.badge-preview.achievement-badge{width:100%;aspect-ratio:3/2;max-height:25dvh;margin:0}
#modal-content .achievement-name{margin:0;color:#533769;font-size:clamp(19px,5vw,26px);font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.achievement-sparks{position:absolute;inset:0;pointer-events:none}
.achievement-sparks i{position:absolute;width:13px;height:13px;opacity:0;background:#ad68d3;clip-path:polygon(50% 0,62% 36%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 36%)}
.achievement-sparks i:nth-child(1){left:13%;top:26%;--x:-13px;--y:-14px;--delay:80ms}
.achievement-sparks i:nth-child(2){right:13%;top:19%;--x:12px;--y:-13px;--delay:150ms;background:#d9993d}
.achievement-sparks i:nth-child(3){left:9%;bottom:23%;--x:-10px;--y:9px;--delay:210ms;background:#d9993d}
.achievement-sparks i:nth-child(4){right:8%;bottom:26%;--x:10px;--y:9px;--delay:110ms}
@media(prefers-reduced-motion:no-preference){
 .achievement-badge{animation:achievement-arrive 460ms ease-out both}
 .achievement-art::before{animation:achievement-glow 680ms ease-out both}
 .achievement-sparks i{animation:achievement-spark 600ms ease-out var(--delay) both}
}
@keyframes achievement-arrive{0%{opacity:.25;transform:translateY(8px) scale(.82)}65%{opacity:1;transform:translateY(-2px) scale(1.045)}100%{opacity:1;transform:none}}
@keyframes achievement-glow{0%{opacity:0;transform:scale(.64)}45%{opacity:1}100%{opacity:.75;transform:none}}
@keyframes achievement-spark{0%{opacity:0;transform:scale(.2)}35%{opacity:.95;transform:translate(var(--x),var(--y)) scale(1.15)}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.55)}}
