html { min-height: 100%; background: var(--bg); }
body { overscroll-behavior: none; }
.app { max-width: 500px; margin-inline: auto; height: var(--tg-viewport-stable-height, 100dvh); padding-top: max(env(safe-area-inset-top), var(--tg-content-safe-area-inset-top, 0px)); padding-bottom: max(env(safe-area-inset-bottom), var(--tg-content-safe-area-inset-bottom, 0px)); }
.content { overscroll-behavior: contain; }
.profile-identity > div:last-child { min-width: 0; }
.profile-identity h1 { overflow-wrap: anywhere; max-width: 280px; }
.gate { flex: 1; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 20px; padding: 28px; text-align: center; position: relative; z-index: 1; }
.gate .sticker { width: 240px; height: 240px; }
.gate p { color: var(--muted); line-height: 1.5; max-width: 300px; }
.gate .primary { width: 100%; margin-top: 20px; }
.notice-toast { position: absolute; left: 20px; right: 20px; bottom: calc(100px + env(safe-area-inset-bottom)); padding: 16px 18px; border-radius: 20px; color: var(--ink); background: var(--surface); box-shadow: 0 10px 40px #0003; font-size: 14px; line-height: 1.4; z-index: 30; }
.primary:disabled { opacity: .55; cursor: default; }
.gift-detail .claim-hint { max-width: 270px; margin: 12px auto 0; line-height: 1.5; }
.inventory-grid { padding-bottom: 16px; }
html, body { height: 100%; overflow: hidden; }
.app { min-height: 0; }
.header { height: 54px; min-height: 44px; }
.wordmark { gap: 7px; font-weight: 850; letter-spacing: -.65px; }
.brand-win { color: var(--accent-deep); }
.brand-avatar { display: block; width: 40px; height: 40px; flex-shrink: 0; object-fit: contain; }
.content { container-type: size; overflow: hidden; padding: 8px 22px 10px; }
.nav-wrap { height: 82px; padding: 8px 22px 10px; }
.dock { max-width: 360px; height: 64px; padding: 3px 10px; }
.dock button { height: 58px; min-width: 64px; font-size: 11px; gap: 4px; }
.dock button .icon { width: 29px; height: 29px; }
.dock button .icon-profile { width: 31px; height: 29px; stroke-width: 1.4; }
.dock .active .icon-play { animation: nav-grow 1.9s ease both; }
.dock .active .wheel-spokes { transform-origin: 16px 17px; animation: nav-wheel 1.9s cubic-bezier(.2,.6,.2,1) both; }
.dock .active .icon-profile { animation: nav-grow .7s ease both; }
.dock .active .task-tick { stroke-dasharray: 22; animation: task-tick .8s ease both; }
.nav-dot { width: 5px; height: 5px; border-radius: 50%; background: #adcf65; position: absolute; top: 7px; right: calc(50% - 20px); }
.home-title { padding-top: clamp(4px,3cqh,24px); flex-shrink: 0; }
.home-title h1 { font-size: clamp(23px,7.5cqw,31px); }
.home-title p { font-size: 13px; margin-top: 8px; }
.game-stage { min-height: 0; height: auto; margin: 0; flex: 1; }
.wheel { --diameter: min(326px,94cqw,calc((100cqh - 140px)/1.3)); width: var(--diameter); height: var(--diameter); margin: calc(var(--diameter)*.25) 0 0; inset: auto; }
.wheel-peek { width: 49%; height: 39%; left: 0; top: -25%; }
.game-stage:before { width: 95%; height: 85%; }
.wheel-bear { width: 25%; height: 25%; left: 37.5%; top: 3.8%; }
.wheel-bear > svg { transform: rotate(calc(-1 * var(--wheel-angle,0deg))); }
.hub { width: 32%; height: 32%; left: 34%; top: 34%; border-width: 3px; gap: 3px; }
.hub-symbol .icon { width: clamp(18px,6cqw,25px); height: clamp(18px,6cqw,25px); }
.hub-symbol b { font-size: clamp(17px,5cqw,22px); font-weight: 850; }
.hub strong { font-size: clamp(10px,3cqw,12px); }
.hub.has-ticket strong { font-size: clamp(10px,3cqw,13px); }
.hub.has-ticket .icon-ticket { width: clamp(17px,5cqw,25px); height: clamp(17px,5cqw,25px); }
.pointer { width: 9.8%; height: 9.8%; left: 45.1%; top: -5.5%; animation: none; }
.wheel-shadow { bottom: -7%; }
.ticket-link { display: flex; align-items: center; justify-content: center; gap: 8px; align-self: center; min-height: 44px; margin: 5px 0 0; background: transparent; color: var(--accent-deep); font-size: 13px; flex-shrink: 0; }
.ticket-link > .icon { width: 21px; height: 21px; }
.ticket-link > .icon:last-child { width: 12px; }
.tasks-page { height: 100%; display: flex; flex-direction: column; gap: clamp(22px,5cqh,34px); padding-top: clamp(12px,4cqh,28px); }
.tasks-heading { display: flex; align-items: center; justify-content: space-between; height: clamp(100px,22cqh,144px); flex-shrink: 0; }
.tasks-heading h1 { font-size: clamp(25px,7cqw,30px); }
.tasks-heading p { font-size: 13px; color: var(--muted); margin-top: 9px; max-width: 175px; line-height: 1.5; }
.tasks-racco { width: clamp(104px,36cqw,144px); height: 100%; flex-shrink: 0; }
.tasks-list { min-height: 0; flex: 1; overflow: hidden; }
.tasks-list:has(> .task-card:nth-child(2)) { overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.weekly-task { margin: 0; padding: 0; border-radius: 0; display: flex; flex-direction: column; gap: 16px; max-height: 100%; background: transparent; border: 0; box-shadow: none; }
.weekly-task .overline { font-size: 12px; color: var(--muted); font-weight: 700; }
.weekly-task .reward { background: var(--soft); color: var(--accent-deep); padding: 4px 7px; border-radius: 9px; font-size: 10px; font-weight: 750; height: 24px; gap: 4px; }
.weekly-task .channel-row { margin: 0; gap: 10px; display: flex; width: 100%; text-align: left; background: var(--soft); color: var(--ink); padding: 14px 16px; min-height: 76px; border: 0; border-radius: 20px; transition: transform .2s ease; }
.weekly-task .channel-row:active { transform: scale(.985); }
.weekly-task .channel-avatar { width: 42px; height: 42px; flex-shrink: 0; border-radius: 14px; object-fit: cover; background: var(--soft); }
.channel-copy { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 0; }
.channel-copy strong { font-size: 16px; }
.channel-copy small { font-size: 11px; color: var(--muted); font-weight: 500; }
.channel-open { display: inline-flex; align-items: center; gap: 3px; color: var(--accent-deep); font-size: 11px; font-weight: 750; white-space: nowrap; flex-shrink: 0; }
.channel-open .icon { width: 12px; height: 16px; }
.channel-row > .icon { width: 20px; height: 20px; color: var(--quiet-icon); flex-shrink: 0; }
.task-requirement { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); padding: 0 0 16px; min-height: 64px; }
.requirement-emblem { width: 42px; height: 42px; display: grid; place-items: center; flex-shrink: 0; color: #c58b24; }
.dark .requirement-emblem { color: #ffd467; }
.requirement-emblem .icon { width: 31px; height: 31px; }
.icon-rating, .rating-shape { stroke: none; }
.requirement-emblem .icon-fill { fill: currentColor; fill-opacity: .12; }
.task-requirement > div { flex: 1; min-width: 0; }
.task-requirement strong { font-size: 14px; }
.task-requirement p { color: var(--muted); font-size: 11px; margin-top: 5px; line-height: 1.4; }
.task-requirement .level-value { flex-shrink: 0; display: flex; align-items: center; gap: 2px; padding: 7px 8px; min-width: 32px; font-size: 12px; border-radius: 12px; }
.level-value .icon { width: 16px; height: 16px; }
.task-requirement .level-value { background: var(--soft); color: var(--accent-deep); }
.task-requirement .level-passed { background: var(--success-surface); color: var(--success-ink); }
.task-action { margin-top: 0; }
.task-action .primary { min-height: 48px; height: auto; width: 100%; font-size: 13px; }
.task-cooldown { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--success-surface); border-radius: 17px; }
.completion-mark { display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #32471313; color: var(--success-ink); flex-shrink: 0; }
.completion-mark .icon { width: 23px; height: 23px; }
.task-cooldown strong { display: block; font-size: 13px; color: var(--success-ink); }
.task-cooldown div > span { display: block; margin-top: 5px; color: var(--success-ink); font-size: 11px; line-height: 1.4; }
.task-cooldown b { font-weight: 750; color: inherit; }
.task-footnote { text-align: center; color: var(--muted); font-size: 11px; margin-top: 14px; }
.scene-profile .content { display: flex; flex-direction: column; padding: 8px 22px; }
.profile-body { display: flex; flex-direction: column; gap: clamp(18px,4.5cqh,32px); margin-block: auto; width: 100%; }
.profile-identity { padding: 0; gap: 18px; min-height: 80px; }
.profile-identity h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: clamp(22px,7cqw,28px); }
.profile-identity p { margin-top: 7px; }
.profile-identity .avatar { width: clamp(76px,18cqh,104px); height: clamp(76px,18cqh,104px); flex-shrink: 0; }
.profile-identity .sticker { width: 112%; height: 112%; margin: -6%; }
.inventory-entry { min-height: 62px; flex-shrink: 0; }
.scene-profile .profile-section { margin-top: 0; }
.profile-section h2 { margin-bottom: 8px; }
.settings-list button { min-height: 0; height: clamp(47px,10cqh,62px); }
.scene-profile .legal-links { margin-top: auto; padding-top: clamp(12px,4cqh,26px); flex-shrink: 0; }
.inventory-page { height: 100%; display: flex; flex-direction: column; }
.inventory-title { padding: 0 0 16px; flex-shrink: 0; }
.inventory-art { --art-size: clamp(104px,28cqh,160px); display: block; position: relative; width: var(--art-size); height: var(--art-size); margin: 0 auto 12px; overflow: visible; isolation: isolate; }
.inventory-art .inventory-backpack { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; filter: none; }
.inventory-backpack svg { display: block; width: 100%; height: 100%; overflow: hidden; }
.inventory-art > .icon-inventory { width: 60px; height: 60px; max-height: 100%; }
.inventory-title h1 { font-size: 25px; line-height: 1.2; margin: 0; }
.inventory-grid { flex: 1; min-height: 0; max-height: 360px; padding: 0 0 5px; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 10px; overflow: hidden; }
.inventory-grid .inventory-slot { min-height: 0; min-width: 0; height: 100%; border-radius: 18px; font-size: 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.inventory-grid .slot-bear { width: min(75px,20cqw); height: min(75px,14cqh); }
.inventory-grid.scrollable { overflow-y: auto; grid-template-rows: none; grid-auto-rows: 108px; scrollbar-width: thin; scrollbar-color: var(--line) transparent; padding-right: 4px; }
.result-layout { min-height: 0; height: 100%; }
.result-hero { width: min(320px,94cqw,calc(100cqh - 160px)); height: min(320px,94cqw,calc(100cqh - 160px)); margin: auto auto 12px; flex-shrink: 0; }
.result-layout h1 { font-size: clamp(23px,7cqw,30px); }
.result-layout .lead { font-size: 14px; line-height: 1.4; }
.result-layout .bottom-actions { padding: 18px 0 5px; }
.result-layout .primary { min-height: 48px; height: auto; }
.gift-spotlight { flex: 1; min-height: 0; width: 100%; margin: 0; display: grid; place-items: center; }
.gift-spotlight .detail-bear { width: min(240px,70cqw,calc(100cqh - 190px)); height: min(240px,70cqw,calc(100cqh - 190px)); }
.loading-mascot { width: 160px; height: 140px; margin-bottom: 16px; }
.loading-mascot .sticker { width: 100%; height: 100%; }
.loading-track { max-width: 110px; }
.welcome { min-height: 0; padding: 22px 24px 20px; gap: 10px; overflow: hidden; }
.welcome-brand .brand-avatar { width: 40px; height: 40px; }
.welcome-art { min-height: 0; height: auto; max-height: none; margin: 0; }
.welcome-art .sticker { width: min(300px,70vw,38dvh); height: min(300px,70vw,38dvh); }
.welcome-copy h1 { font-size: clamp(23px,7vw,30px); }
.welcome-actions { padding-top: 12px; }
.welcome-actions .primary { min-height: 48px; }
.scene-welcome .welcome-actions .primary { background: #d8fc8b; color: #324713; box-shadow: 0 4px 0 #79aa33; }
.spark, .s1, .s4 { color: var(--particle-ink); }
.spark .icon { stroke-width: 1.25; }
.spark .icon-fill { fill-opacity: .3; }
.spark:nth-child(2n) .icon-fill { fill-opacity: .65; }
.hero-spark { color: var(--hero-spark); }
.dark .s1, .dark .s4 { color: #c49a50; }
.scene-welcome .spark { color: #fff; }
@keyframes star-glow { 0%,100% { opacity: .28; } 50% { opacity: .48; } }
@keyframes nav-wheel { from { transform: rotate(-210deg); } to { transform: rotate(0); } }
@keyframes nav-grow { 0% { transform: scale(.92); } 45% { transform: scale(1.14); } 100% { transform: scale(1.04); } }
@keyframes task-tick { from { stroke-dashoffset: 22; } to { stroke-dashoffset: 0; } }
@media (max-height: 600px) {
  .header { height: 44px; padding-top: 0; padding-bottom: 0; }
  .nav-wrap { height: 70px; padding-top: 5px; padding-bottom: 5px; }
  .dock { height: 60px; }
  .dock button { height: 54px; }
  .home-title { padding-top: 0; }
  .home-title p { margin-top: 4px; font-size: 12px; }
  .wheel { --diameter: min(286px,94cqw,calc((100cqh - 112px)/1.3)); }
  .profile-body { gap: 12px; }
  .profile-identity { min-height: 64px; }
  .profile-identity .avatar { width: 64px; height: 64px; }
  .inventory-entry { min-height: 50px; padding-block: 8px; }
  .scene-profile .profile-section { margin-top: 0; }
  .scene-profile .legal-links { padding-top: 0; }
  .tasks-page { gap: 16px; padding-top: 12px; }
  .tasks-heading { height: 84px; }
  .tasks-heading p { font-size: 12px; margin-top: 4px; }
  .weekly-task { gap: 10px; padding: 0; }
  
  .weekly-task .channel-avatar { width: 34px; height: 34px; }
  .task-requirement { padding: 0 0 10px; min-height: 52px; }
  .task-requirement p { margin-top: 2px; }
  .task-action .primary { min-height: 44px; }
  .task-cooldown { padding: 10px; }
  .requirement-emblem { width: 34px; }
  .completion-mark { width: 26px; height: 26px; }
  .weekly-task .channel-row { min-height: 62px; padding: 12px; gap: 10px; }
  .channel-copy strong { font-size: 13px; }
  .task-notice { font-size: 11px; }
  .result-hero { width: min(240px,90cqw,calc(100cqh - 145px)); height: min(240px,90cqw,calc(100cqh - 145px)); }
  .result-layout .bottom-actions { padding-top: 12px; }
}
@media (max-height: 480px) and (min-width: 520px) {
  .app { max-width: 780px; }
  .header { height: 42px; }
  .nav-wrap { height: 62px; padding-block: 2px; }
  .dock { height: 58px; }
  .scene-home .content { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 48px; column-gap: 12px; }
  .home-title { align-self: center; }
  .game-stage { grid-column: 2; grid-row: 1 / 3; }
  .ticket-link { grid-column: 1; grid-row: 2; }
  .wheel { --diameter: min(250px,44cqw,calc(100cqh / 1.3)); }
  .hub-symbol b { font-size: 17px; }
  .hub.has-ticket .icon-ticket { width: 19px; height: 19px; }
  .hub.has-ticket strong { font-size: 11px; }
  .tasks-page { flex-direction: row; gap: 20px; }
  .tasks-heading { width: 38%; height: 100%; flex-direction: column; justify-content: center; text-align: center; }
  .tasks-racco { width: 95px; height: 85px; }
  .tasks-list { flex: 1; }
  .weekly-task { gap: 6px; padding: 0; }
  .weekly-task .reward { padding: 3px 7px; }
  .weekly-task .overline { font-size: 10px; }
  .weekly-task .channel-row { display: flex; min-height: 48px; padding: 6px; }
  .channel-open { font-size: 10px; }
  .channel-copy small { font-size: 10px; }
  .task-footnote { display: none; }
  .task-requirement { min-height: 40px; padding: 0 0 3px; }
  .task-cooldown { padding: 7px 10px; }
  .scene-profile .content { display: flex; }
  .profile-body { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 50px; gap: 8px 24px; margin: 0; flex: 1; min-height: 0; }
  .profile-identity { padding: 0; align-self: center; }
  .inventory-entry { grid-column: 1; grid-row: 2; }
  .scene-profile .profile-section { grid-column: 2; grid-row: 1 / 3; margin-top: 0; align-self: center; }
  .scene-profile .legal-links { margin: 0; padding-top: 6px; }
  .inventory-page { flex-direction: row; gap: 24px; }
  .inventory-title { width: 33%; align-self: center; padding: 0; }
  .inventory-grid { height: 100%; gap: 7px; }
  .inventory-grid.scrollable { grid-auto-rows: 75px; }
  .result-layout { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto 1fr; column-gap: 20px; }
  .result-hero, .gift-spotlight { grid-column: 1; grid-row: 1 / 4; width: min(230px,100cqh); height: min(230px,100cqh); margin: auto; }
  .result-layout h1 { align-self: end; }
  .result-layout .lead { grid-column: 2; }
  .result-layout .bottom-actions { grid-column: 2; margin: 0; align-self: start; }
  .gift-spotlight .detail-bear { width: 160px; height: 160px; }
  .welcome { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 32px 1fr auto; gap: 8px 20px; }
  .welcome-art { grid-column: 1; grid-row: 2 / 4; }
  .welcome-art .sticker { width: min(220px,65dvh); height: min(220px,65dvh); }
  .welcome-copy { grid-column: 2; grid-row: 2; align-self: center; }
  .welcome-copy h1 { font-size: 22px; }
  .welcome .lead { margin-top: 8px; }
  .welcome-copy p { font-size: 12px; }
  .welcome-actions { grid-column: 2; grid-row: 3; padding: 0; }
  .welcome-actions > p { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

.app { --page-inset: 22px; --header-height: 56px; --navigation-height: 84px; }
.app.has-shell { display: grid; grid-template-rows: var(--header-height) minmax(0,1fr) var(--navigation-height); }
.has-shell > .header { grid-row: 1; height: 100%; min-height: 0; padding: 6px var(--page-inset); }
.header .wordmark { min-width: 0; height: 44px; gap: 2px; }
.header-leading { display: grid; place-items: center; width: 36px; height: 44px; flex: 0 0 36px; }
.header-leading .icon-button { width: 44px; height: 44px; padding: 10px; margin: 0; }
.header-leading .brand-avatar { width: 34px; height: 34px; }
.has-shell > .content { grid-row: 2; height: 100%; min-height: 0; padding: 12px var(--page-inset); }
.has-shell > .nav-wrap { grid-row: 3; height: 100%; padding: 8px var(--page-inset) 12px; }
.has-shell .dock { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; max-width: 360px; height: 64px; padding: 3px 8px; }
.has-shell .dock button { min-width: 0; width: 100%; height: 58px; font-weight: 650; }
.has-shell .dock button.active { font-weight: 650; }
.has-shell .dock button > span { line-height: 15px; white-space: nowrap; }
.has-shell .dock button > .icon { transform-origin: center; }
.scene-profile .profile-body { margin: clamp(12px,3cqh,24px) 0 0; gap: clamp(18px,4cqh,28px); }
.scene-profile .profile-identity { padding: 0; }
.scene-profile .legal-links { margin-top: auto; padding-top: 16px; padding-bottom: 4px; }
.tasks-page { padding-top: clamp(12px,3cqh,24px); }
@media (max-height: 600px) {
  .app { --header-height: 48px; --navigation-height: 72px; --page-inset: 18px; }
  .has-shell > .header { padding-block: 2px; }
  .has-shell > .content { padding-block: 6px; }
  .has-shell > .nav-wrap { padding-block: 5px 7px; }
  .has-shell .dock { height: 60px; }
  .has-shell .dock button { height: 54px; }
  .scene-profile .profile-body { margin-top: 8px; gap: 12px; }
  .scene-profile .legal-links { padding-top: 8px; }
}
@media (max-height: 480px) and (min-width: 520px) {
  .app { --header-height: 44px; --navigation-height: 64px; }
  .has-shell > .header { padding-block: 0; }
  .has-shell > .nav-wrap { padding-block: 2px 4px; }
  .has-shell .dock { height: 58px; }
  .has-shell .dock button { height: 52px; }
  .scene-profile .profile-body { margin-block: auto; }
}

.task-action .claim-ticket { background: #d8fc8b; color: #324713; box-shadow: 0 4px 0 #79aa33; border-radius: 18px; min-height: 52px; font-size: 15px; }
.task-action .claim-ticket:disabled { opacity: 1; background: #b7d77f; color: #3b4f23; box-shadow: none; cursor: default; }
.task-action .claim-ticket:disabled:hover { transform: none; }
.task-action .claim-ticket .icon { width: 23px; height: 23px; }
.recheck-link { display: block; margin: 10px auto 0; padding: 8px 12px; color: var(--accent-deep); background: none; font-size: 12px; font-weight: 700; }
.recheck-link:disabled { opacity: .55; }
@media (max-height: 600px) { .task-action .claim-ticket { min-height: 46px; font-size: 14px; } .task-footnote { margin-top: 10px; } .recheck-link { margin-top: 2px; padding-block: 6px; } }
@media (max-height: 480px) and (min-width: 520px) { .tasks-heading { height: 100%; } .tasks-racco { width: 112px; height: 102px; } .task-action .claim-ticket { min-height: 40px; } .recheck-link { padding-block: 3px; margin-top: 0; } }

.weekly-task .reward .icon { width: 14px; height: 14px; }
.tasks-heading > div { flex: 1; min-width: 0; }
.tasks-racco { align-self: center; transform: translateY(-4px); }
@media (max-height: 520px) and (max-width: 519px) {
  .tasks-page { gap: 10px; padding-top: 4px; }
  .tasks-heading { height: 68px; }
  .weekly-task { gap: 8px; }
  .inventory-art { --art-size: 88px; margin-bottom: 8px; }
  .inventory-title { padding-bottom: 12px; }
}
@media (max-height: 480px) and (min-width: 520px) {
  .tasks-page { padding-top: 4px; }
  .tasks-heading { height: 100%; }
  .inventory-art { --art-size: 88px; margin-bottom: 8px; }
}

.inventory-aura { position: absolute; inset: -6% -40% -4%; background: radial-gradient(ellipse, #a75bff26 0%, #b56aff12 36%, transparent 70%); pointer-events: none; }
.dark .inventory-aura { background: radial-gradient(ellipse, #9744f23b 0%, #8d42ef19 38%, transparent 70%); }
.inventory-glint { position: absolute; width: 17px; height: 17px; color: #a169e3; animation: inventory-twinkle 4.6s ease-in-out infinite; pointer-events: none; }
.inventory-glint .icon { width: 100%; height: 100%; }
.inventory-glint .icon-fill { fill-opacity: .7; }
.glint-left { left: -13%; top: 42%; transform: rotate(-10deg); }
.glint-right { right: -12%; top: 20%; width: 12px; height: 12px; color: #b4cc64; animation-delay: -1.6s; }
.glint-dot { right: -4%; bottom: 17%; width: 5px; height: 5px; border-radius: 50%; background: #ac7be2; animation-delay: -3s; }
@keyframes inventory-twinkle { 0%,100% { opacity: .35; translate: 0 2px; } 50% { opacity: .8; translate: 0 -3px; } }
.reduced .inventory-glint { animation: none; }
@media (prefers-reduced-motion: reduce) { .inventory-glint { animation: none; } }

.condition-error, .channel-copy small.condition-error, .task-requirement p.condition-error { color: #b93750; }
.dark .condition-error, .dark .channel-copy small.condition-error, .dark .task-requirement p.condition-error { color: #ff91a1; }
.channel-copy small { white-space: normal; line-height: 1.35; }
.claim-ticket[aria-busy="true"] { cursor: progress; }

.dev-label { display: inline-block; margin-left: 6px; padding: 3px 5px; border-radius: 6px; background: #d4ff87; color: #30234a; font-size: 9px; font-weight: 800; letter-spacing: .5px; vertical-align: middle; }
