.message-banner{border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-family:var(--font-sans);padding:12px 14px;font-size:13px}.message-banner-success{border-color:var(--success);background:var(--success-soft);color:var(--ink)}.message-banner-error{border-color:var(--danger);background:var(--danger-soft);color:var(--ink)}.message-banner-notice{border-color:var(--ink);background:var(--surface-strong);color:var(--ink);border-left-width:3px;font-size:14px;font-weight:500;line-height:1.5}
@layer app.base{.shelf{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;min-width:0;margin:-4px;padding:4px;display:flex;overflow:auto hidden}.shelf::-webkit-scrollbar{display:none}.shelf:focus-visible{outline:2px solid var(--focus-ring,var(--ember));outline-offset:2px;border-radius:var(--radius-lg)}.shelf>*{scroll-snap-align:start;flex:none}.shelf-frame{min-width:0}.shelf[data-can-right]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000)}.shelf[data-can-left]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 44px);mask-image:linear-gradient(90deg,#0000,#000 44px)}.shelf[data-can-left][data-can-right]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 44px calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#0000,#000 44px calc(100% - 44px),#0000)}.shelf-dots{justify-content:center;gap:5px;padding-top:8px;display:flex}.shelf-dots span{border-radius:var(--radius-full);background:color-mix(in srgb, var(--ink) 18%, transparent);width:5px;height:5px;transition:background .16s,transform .16s}.shelf-dots span[data-active]{background:var(--domain,var(--ink));transform:scale(1.25)}@media (prefers-reduced-motion:reduce){.shelf-dots span{transition:none}}@media (min-width:768px){.shelf-dots{display:none}.shelf:not(.shelf--scroll-desktop)[data-can-left],.shelf:not(.shelf--scroll-desktop)[data-can-right]{-webkit-mask-image:none;mask-image:none}.shelf:where(:not(.shelf--scroll-desktop)){grid-template-columns:repeat(auto-fill, minmax(var(--shelf-min,220px), 1fr));scroll-snap-type:none;display:grid;overflow:visible}}}