.app{background:#efdce9;box-shadow:0 22px 90px #6f3d6718}
.header{background:linear-gradient(180deg,#eee0f1 0%,#f2e0ec 72%,#f2e0ec00);border-bottom:1px solid #cfaec20d}
.wordmark{color:#624558}.back-button{color:#94728b}.balance{color:#7e526b}
#roulette-view{background:#f2dfe9}
.scene{background:linear-gradient(160deg,#ecddf0,#f4dfe9 56%,#eccbdd)}
.scene:before,.playing .scene:before{background:none}
.ambient-art{position:absolute;inset:-4%;z-index:0;pointer-events:none;background:url('./assets/rose-background.svg') center/cover no-repeat;transform-origin:50% 45%;animation:rose-breathe 24s ease-in-out infinite alternate;will-change:transform}
.ambient-art:after{content:"";position:absolute;left:-11%;top:9%;width:27%;height:53%;border:1px solid #fff4fb66;border-radius:50%;rotate:22deg;animation:rose-line 18s ease-in-out infinite alternate;pointer-events:none}
.decor{z-index:1}.scene-title{color:#754560}.gift-label{color:#89546e}
.spin-button{background:linear-gradient(115deg,#f06aa5,#e84c92 70%,#dc438d);box-shadow:0 5px 17px #c943812b,inset 0 1px 0 #fff6}
.spin-button:hover{background:linear-gradient(115deg,#f477b1,#ec579d 70%,#e14b96)}
.tabbar{position:relative;isolation:isolate;background:#f5e0ed;border-top-color:#deb6ce;box-shadow:0 -6px 24px #975e7c06}
.tabbar button{z-index:2;color:#a17d94}
.tabbar .selected{color:#ba2f75}.tabbar .selected .nav-symbol{background:transparent;color:#fff}
.nav-symbol{transition:color .24s ease,background .24s ease}
.tab-glow{position:absolute;left:0;top:0;z-index:1;pointer-events:none;border-radius:12px;opacity:0;background:linear-gradient(112deg,#f14c9d 0%,#eb68b1 38%,#d65db8 68%,#f480b5 100%);background-size:220% 100%;box-shadow:0 4px 13px #c92c8629,inset 0 1px 0 #fff6;transition:transform .46s cubic-bezier(.22,1,.36,1),width .3s ease,height .3s ease,opacity .2s;will-change:transform}
.legal{background:#f5e0ed;color:#ac819a}.legal a{color:#a56a8a}
.scroll-view{background:#f3dfeb url('./assets/rose-background.svg') center top/cover no-repeat}
.scroll-view>h1{color:#72435e}
.game-card{background:#f9edf4b8;border:1px solid #fff5fb8c;box-shadow:0 8px 25px #9d56720b}.game-name{color:#824866}.card-arrow{color:#bb7e9f}
.prize-card,.task{background:#fff3f9d9;border-color:#e8c9dc;box-shadow:0 3px 12px #93506e04}
.task-mark{background:#f3d5e6;color:#d04b8d}.task button{background:#efcbe0;color:#af3e78}.task button:disabled{background:#f4e4ee;color:#b695a8}
.top-row{border-bottom-color:#e8c8da}.top-row .rank{color:#be658f}.top-row time{color:#aa7d96}
.win-screen{background:radial-gradient(ellipse at 50% 40%,#ffeaf5 0%,#f7cee3 63%,#eeb9d7 100%)}
.win-sun{inset:auto;left:50%;top:50%;width:var(--win-sun-size,1100px);height:var(--win-sun-size,1100px);translate:-50% -50%;transform-origin:50% 50%;pointer-events:none;opacity:.26;background:repeating-conic-gradient(from 0deg,#ffe9f200 0deg 15deg,#fff0f8 15deg 30deg)}
.win-content h1{color:#963965}.win-eyebrow{color:#b7477d}.close{background:#f0c8df;color:#b0618b}
.close:hover{background:#ebbad6}
.paused .ambient-art,.paused .ambient-art:after{animation-play-state:paused}
@keyframes rose-breathe{from{transform:translate3d(-3px,-4px,0) scale(1)}to{transform:translate3d(4px,5px,0) scale(1.018)}}
@keyframes rose-line{from{transform:translate3d(0,-7px,0);opacity:.45}to{transform:translate3d(5px,8px,0);opacity:.8}}
@media(prefers-reduced-motion:reduce){.ambient-art,.ambient-art:after{animation:none!important}.tab-glow,.nav-symbol{transition:none!important}}

.user-summary{display:flex;align-items:center;gap:7px;min-width:0;color:#69465e}.user-avatar{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:50%;background:linear-gradient(145deg,#fff0f8,#e9b2d0);box-shadow:inset 0 1px 0 #fff9;border:1px solid #fff5fa88;color:#ad4f80;font-size:14px;font-weight:700}.user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;letter-spacing:-.35px}@media(max-width:350px){.user-summary{gap:5px}.user-avatar{width:25px;height:25px;font-size:12px}.user-name{font-size:14px}}

.header{grid-template-columns:minmax(0,1fr) auto}
