/* Ian's Cart (2026-10-16): his own wish list from browsing Taobao, on a ring of
   upright cards (Evie's idea). Swipe sideways turns the ring (page held still);
   tap the front card to flip to his note; ↗ opens the item on Taobao. */
.cart-ring{position:relative;height:min(470px,62dvh);margin:6px -18px 0;perspective:1150px;perspective-origin:50% 42%;touch-action:pan-y;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;overflow:hidden}
.cart-floor{position:absolute;left:50%;top:calc(42% + var(--ch) / 2 + 22px);width:min(78vw,340px);height:34px;margin-left:min(-39vw,-170px);border-radius:50%;
  background:radial-gradient(ellipse at center,color-mix(in srgb,var(--text) 14%,transparent),transparent 70%);filter:blur(2px);pointer-events:none}
.cart-stage{position:absolute;left:50%;top:42%;transform-style:preserve-3d}
.cart-card{position:absolute;width:var(--cw);height:var(--ch);margin:calc(var(--ch) / -2) 0 0 calc(var(--cw) / -2);transform-style:preserve-3d;will-change:transform}
.cart-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.05,.4,1)}
.cart-card.turned .cart-flip{transform:rotateY(180deg)}
.cart-face{position:absolute;inset:0;border-radius:18px;overflow:hidden;background:var(--card);backface-visibility:hidden;-webkit-backface-visibility:hidden;
  box-shadow:0 1px 2px rgba(60,45,40,.10),0 10px 22px rgba(60,45,40,.12),0 22px 40px rgba(60,45,40,.10)}
.cart-front{display:flex;flex-direction:column}
.cart-img{flex:0 0 auto;aspect-ratio:1;background:color-mix(in srgb,var(--accent) 12%,var(--card));display:flex;align-items:center;justify-content:center;overflow:hidden}
.cart-img img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.cart-img svg{width:46%;height:46%;opacity:.55}
.cart-body{padding:11px 13px 12px;display:flex;flex-direction:column;flex:1;min-height:0}
.cart-name{font:13px/1.45 var(--ui-font);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-row{margin-top:auto;padding-top:6px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.cart-price{font:400 22px/1 'Cormorant Garamond',var(--cjk-serif),serif;color:var(--text)}
.cart-tag{font:10.5px var(--ui-font);padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--textL);white-space:nowrap}
.cart-tag.ask{color:#a5574a;background:rgba(165,87,74,.10)}.cart-tag.done{color:#5d6b58;background:rgba(93,107,88,.12)}.cart-tag.no{opacity:.7}
.cart-back{transform:rotateY(180deg);padding:20px 17px 15px;display:flex;flex-direction:column}
.cart-why-k{font:600 9px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.19em;text-transform:uppercase;color:var(--textL)}
.cart-why{margin-top:10px;flex:1;overflow:auto;font:15px/1.75 var(--cjk-serif),serif;color:var(--text)}
.cart-when{font:11px var(--ui-font);color:var(--textL);margin-top:8px}
.cart-sig{text-align:right;font:italic 15px 'Cormorant Garamond',serif;color:var(--textL);margin-top:4px}
.cart-count{text-align:center;margin-top:2px;font:400 15px 'Cormorant Garamond',Georgia,serif;letter-spacing:.06em;color:var(--textL)}
.cart-go{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:10px;padding:6px 12px;border-radius:999px;border:0;font:12px var(--ui-font);color:var(--text);background:color-mix(in srgb,var(--accent) 14%,transparent);text-decoration:none;cursor:pointer}
.cart-go-mini{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:13px/1 var(--ui-font);color:var(--text);text-decoration:none;
  background:color-mix(in srgb,var(--card) 82%,transparent);box-shadow:0 2px 8px rgba(60,45,40,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cart-img{position:relative}
.cart-empty{position:absolute;left:0;right:0;top:40%;text-align:center;font:13px/1.7 var(--ui-font);color:var(--textL)}
.cart-hint{text-align:center;font:11px var(--ui-font);color:var(--textL);opacity:.7;margin-top:4px}

/* 2026-10-16 (Evie): the 上网逛逛 / 逛淘宝 line is a ✦ label above his next bubble, next to 「想你了」 */
#chat-list .chat-row.chat-row-event.walk-row{align-items:flex-start;text-align:left;margin-bottom:2px}
#chat-list .chat-row-event.walk-row .ian-acts{margin:0 0 -4px}
#chat-list .chat-row-event.walk-row + .chat-row-event.walk-row{margin-top:0}
#chat-list .ian-act.walk{color:color-mix(in srgb,var(--text) 72%,transparent)}
#chat-list .ian-act.walk.has-more{cursor:pointer}
#chat-list .ian-act.walk.has-more::after{content:'›';font-size:12px;margin-left:2px;opacity:.55;transition:transform .2s}
#chat-list .ian-acts.open .ian-act.walk.has-more::after{transform:rotate(90deg)}
#chat-list .ian-walk-detail{display:none;margin:2px 0 2px 15px;padding:7px 11px;border-radius:12px;max-width:min(78vw,300px);font:11.5px/1.6 var(--ui-font);color:var(--textL);background:color-mix(in srgb,var(--accent) 10%,var(--card))}
#chat-list .ian-acts.open .ian-walk-detail{display:block}
#chat-list .ian-walk-detail .walk-cart{display:inline-block;margin-top:2px;color:color-mix(in srgb,var(--text) 78%,transparent);cursor:pointer}
#chat-list .chat-row-event.walk-row + .chat-row:not(.chat-row-event){margin-top:6px}
