/* Compact community results. */
#gacha-rates-panel .rates-heading{margin:22px 0 14px;gap:12px}#gacha-rates-panel .rates-heading h2{font-size:23px;margin:5px 0 7px}#gacha-rates-panel .rates-summary{padding:16px 0 12px}#gacha-rates-panel .rates-summary strong{font-size:30px}#gacha-rates-panel .rates-note{margin:10px 0 14px}
#rates-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#rates-list .rates-empty{grid-column:1/-1}
#rates-list .rate-row{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px 10px;padding:18px 14px 12px;border:1px solid var(--edge);border-radius:15px;background:var(--paper-raised);box-shadow:0 3px 12px #24494e05;align-items:center}
#rates-list .rate-rank{position:absolute;right:10px;top:8px;font-size:9px;opacity:.65}#rates-list .rate-art{width:42px;height:42px}#rates-list .rate-name{display:block;font-size:12px;padding-right:14px;line-height:1.5}#rates-list .rate-meta{font-size:10px;margin:4px 0 8px}#rates-list .rate-bar{height:4px}#rates-list .rate-count{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--paper-soft);padding-top:9px}#rates-list .rate-count strong{font-size:22px}#rates-list .rate-count span{margin:0;font-size:10px}
/* Two small controls, with the total cost kept visible. */
#gacha-panel .gacha-controls{justify-content:center;gap:10px;padding:15px 18px;align-items:center}
#gacha-panel .gacha-controls #gacha-spin,#gacha-panel .gacha-controls #gacha-spin-five{flex:0 1 165px;min-width:0;min-height:56px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px 18px;border-radius:13px;border:1px solid #c898ac!important;box-shadow:0 2px 0 #c898ac45;font-size:12px;line-height:1.3;white-space:nowrap}
#gacha-panel .gacha-controls #gacha-spin{background:#fffaf7!important;color:#853858!important}#gacha-panel .gacha-controls #gacha-spin-five{background:#963c65!important;color:#fff!important}
#gacha-panel .gacha-controls .gacha-spin::before,#gacha-panel .gacha-controls .gacha-spin::after,#gacha-panel .gacha-controls .gacha-spin>span::before{display:none}
#gacha-panel .gacha-controls .gacha-spin b{border:0;padding:0;font-size:11px;font-weight:550;opacity:.85}#gacha-panel .gacha-controls .gacha-spin b span{display:none}
#gacha-panel .gacha-controls .gacha-spin:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #963c6526}#gacha-panel .gacha-controls .gacha-spin:active:not(:disabled){transform:scale(.96);box-shadow:none}
#gacha-panel .gacha-controls #gacha-history-open{width:auto;margin-left:auto;font-size:11px;padding:10px 12px}
/* Chat launcher with a persistent unread badge. */
body #chat-toggle{width:52px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;position:fixed;overflow:visible;border-radius:30px;border:1px solid #ead8e1;background:#fffaf7;box-shadow:0 6px 22px #24494e1c;transition:width .35s,box-shadow .35s;isolation:isolate}
#chat-toggle:before,#chat-toggle:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(45deg,#a34370,#bd82b0);opacity:0;transition:opacity .35s;z-index:-1}#chat-toggle:after{top:9px;filter:blur(12px)}
#chat-toggle>svg{position:absolute;width:23px;height:23px;transition:transform .25s,opacity .25s;color:#824261}#chat-toggle>span{position:absolute;white-space:nowrap;color:#fff;font-size:12px;font-weight:650;opacity:0;transform:scale(.6);transition:transform .3s,opacity .2s}
body #chat-toggle:hover,body #chat-toggle:focus-visible:where(html[data-input="keyboard"] *){width:145px;box-shadow:none}#chat-toggle:hover:before,#chat-toggle:focus-visible:where(html[data-input="keyboard"] *):before{opacity:1}#chat-toggle:hover:after,#chat-toggle:focus-visible:where(html[data-input="keyboard"] *):after{opacity:.45}#chat-toggle:hover>svg,#chat-toggle:focus-visible:where(html[data-input="keyboard"] *)>svg{transform:scale(0);opacity:0}#chat-toggle:hover>span,#chat-toggle:focus-visible:where(html[data-input="keyboard"] *)>span{transform:scale(1);opacity:1}
#chat-toggle #chat-unread{position:absolute;right:-4px;top:-5px;min-width:21px;height:21px;box-sizing:border-box;padding:0 5px;border-radius:12px;display:grid;place-items:center;background:#b83462;border:2px solid #fffaf7;color:#fff;font:700 10px system-ui;z-index:2}#chat-toggle #chat-unread[hidden]{display:none}
/* Shop-only dock. Native buttons preserve keyboard activation. */
#shop-dock{display:none;position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:45;align-items:flex-end;gap:4px;padding:8px;border:1px solid #ffffff55;border-radius:21px;background:linear-gradient(#ffffff1f,#ffffff08),#293e46d9;backdrop-filter:blur(18px) saturate(140%);box-shadow:0 9px 28px #16323940,inset 0 1px #ffffff33;isolation:isolate}
body[data-view=shop] #shop-dock{display:flex}body[data-view=shop] #backHome,body[data-view=shop] #account-open{display:none!important}body[data-view=shop] .store-scroll{padding-bottom:110px}
#shop-dock button{position:relative;display:grid;place-items:center;width:48px;height:48px;padding:11px;border:0;border-radius:14px;background:transparent;color:#f9f4ed;cursor:pointer;transform-origin:bottom center;transition:width .2s,height .2s,background .2s,transform .2s}
#shop-dock svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px #102b3540)}
#shop-dock button>span{position:absolute;bottom:calc(100% + 13px);left:50%;transform:translateX(-50%) translateY(5px);padding:7px 10px;border:1px solid #ffffff33;border-radius:8px;background:#253d47ed;color:#fff;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
#shop-dock button:hover,#shop-dock button:focus-visible:where(html[data-input="keyboard"] *){width:65px;height:65px;background:#ffffff12;outline:none}#shop-dock button:hover+button,#shop-dock button:has(+button:hover){width:55px;height:55px}#shop-dock button:hover>span,#shop-dock button:focus-visible:where(html[data-input="keyboard"] *)>span{opacity:1;transform:translateX(-50%) translateY(0)}#shop-dock button:focus-visible:where(html[data-input="keyboard"] *){outline:2px solid #f5c1d6;outline-offset:2px}#shop-dock button:active{transform:translateY(-5px)}
@media(max-width:700px){#rates-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#rates-list .rate-row{padding:17px 10px 10px;grid-template-columns:32px minmax(0,1fr);gap:8px}#rates-list .rate-art{width:31px;height:31px}#rates-list .rate-name{font-size:11px;padding-right:0}#rates-list .rate-meta{font-size:9px}#rates-list .rate-count strong{font-size:19px}#rates-list .rate-count span{font-size:9px}#gacha-panel .gacha-controls{padding:13px 10px}#gacha-panel .gacha-controls #gacha-spin,#gacha-panel .gacha-controls #gacha-spin-five{flex:1 1 calc(50% - 5px);padding:9px 6px}#gacha-panel .gacha-controls #gacha-history-open{margin:auto}#shop-dock{bottom:14px;padding:6px}#shop-dock button,#shop-dock button:hover,#shop-dock button:focus-visible:where(html[data-input="keyboard"] *),#shop-dock button:hover+button,#shop-dock button:has(+button:hover){width:42px;height:42px}body[data-view=shop] .global-wins{top:16px;width:calc(100% - 24px)}body[data-view=shop] #shop-content{margin-top:0}}
@media(hover:none){#shop-dock button>span{display:none}}
@media(prefers-reduced-motion:reduce){#shop-dock button,#shop-dock button>span,body #chat-toggle,#chat-toggle:before,#chat-toggle:after,#chat-toggle>svg,#chat-toggle>span{transition:none}}
body:not(.chat-visible) #chat-toggle{opacity:1;visibility:visible;pointer-events:auto;z-index:46;bottom:max(18px,env(safe-area-inset-bottom))}body #chat-panel{z-index:60}body #chat-toggle>span{display:block}@media(hover:none){body #chat-toggle:hover{width:52px}#chat-toggle:hover>svg{transform:none;opacity:1}#chat-toggle:hover>span{opacity:0}}
