/* Vacation: scattered essentials become one calm trip checklist. */
.sc-trip-pain { overflow: hidden; }
.sc-suitcase { position: absolute; left: 50%; bottom: 4px; width: 82px; height: 66px; border: 3px solid var(--ink-muted); border-radius: 10px; transform: translateX(-50%); }
.sc-suitcase::before { content: ''; position: absolute; left: 25px; top: -15px; width: 26px; height: 13px; border: 3px solid var(--ink-muted); border-bottom: 0; border-radius: 6px 6px 0 0; }
.sc-passport,.sc-charger,.sc-ticket { position: absolute; background: var(--surface-elev); box-shadow: 0 6px 14px rgba(var(--shadow),.1); }
.sc-passport { left: 8%; top: 7%; width: 34px; height: 46px; border-radius: 4px; border: 2px solid var(--accent); transform: rotate(-10deg); }
.sc-charger { right: 8%; top: 12%; width: 28px; height: 28px; border: 3px solid var(--ink-ghost); border-radius: 50%; }
.sc-ticket { right: 16%; bottom: 6%; width: 52px; height: 24px; border: 1px dashed var(--accent); border-radius: 4px; transform: rotate(8deg); }
.sc-trip[data-phase="0"] .sc-passport,.sc-trip[data-phase="0"] .sc-charger,.sc-trip[data-phase="0"] .sc-ticket { animation: sc-trip-scatter 1.7s var(--ease) infinite alternate; }
.sc-trip[data-phase="0"] .sc-charger { animation-delay: .3s; }
.sc-trip[data-phase="0"] .sc-ticket { animation-delay: .6s; }
.sc-trip-result { display: grid; place-items: center; }
.sc-trip-list { display: grid; width: 138px; gap: 7px; padding: 15px; border: 2px solid rgba(var(--green-rgb),.44); border-radius: 13px; background: var(--surface-elev); }
.sc-trip-list b { width: 65%; height: 8px; margin-bottom: 2px; border-radius: 4px; background: var(--ink); opacity: .7; }
.sc-trip-list i { position: relative; height: 7px; margin-left: 18px; border-radius: 4px; background: rgba(var(--green-rgb),.2); opacity: 0; transform: translateX(-10px); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.sc-trip-list i::before { content: '✓'; position: absolute; left: -18px; top: -7px; color: var(--green); font-size: 13px; font-style: normal; font-weight: 800; }
.sc-trip-list i:nth-of-type(2) { transition-delay: .1s; }.sc-trip-list i:nth-of-type(3) { transition-delay: .2s; }.sc-trip-list i:nth-of-type(4) { transition-delay: .3s; }
.sc-trip[data-phase="2"] .sc-trip-list i { opacity: 1; transform: none; }
@keyframes sc-trip-scatter { from { opacity: .55; transform: translateY(-4px) rotate(-4deg); } to { opacity: 1; transform: translateY(5px) rotate(5deg); } }
@media (prefers-reduced-motion: reduce) { .sc-trip-list i { opacity: 1; transform: none; } .sc-trip * { animation: none !important; transition: none !important; } }
