/* 2026-10-25 warehouse + result modal (staging and production share this file).
   1) The toys tab stays tappable after opening the card tab; safe-box toy/card tabs are shown.
   2) First inventory row sits closer to the tab row.
   3) Active tab: a red dot under the label grows sideways into a line.
   4) Animation-off result modal: prizes sit closer to the total line. */
#whTabItems{pointer-events:auto!important;cursor:pointer}
#safeTypeTabs{display:flex!important}
#p-wh #whTabs .wh-type-tab{padding-bottom:calc(1.866667 * var(--pg-unit, 1vw))}
#p-wh #whGrid{padding-top:calc(1.6 * var(--pg-unit, 1vw))!important}
#p-wh #whTabs .wh-type-tab::after{content:'';display:block;position:absolute;left:var(--wh-line-x,50%);bottom:calc(.266667 * var(--pg-unit, 1vw));width:var(--wh-line-w,60%);height:calc(.8 * var(--pg-unit, 1vw));border-radius:999px;background:#f20a2d;transform:translateX(-50%);opacity:0;pointer-events:none}
/* 2026-10-25 r2: no scale overshoot; a dot under the label stretches smoothly to both sides (0.26s). */
#p-wh #whTabs .wh-type-tab.active::after{animation:whTabLine20261025b .26s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes whTabLine20261025b{
 0%{width:calc(.8 * var(--pg-unit, 1vw));opacity:0}
 12%{width:calc(.8 * var(--pg-unit, 1vw));opacity:1}
 100%{width:var(--wh-line-w,60%);opacity:1}
}
@media (prefers-reduced-motion:reduce){#p-wh #whTabs .wh-type-tab.active::after{animation:none;opacity:1}}
#resultModal .result-grid{position:relative;top:calc(-3.2 * var(--pg-unit, 1vw))}
