#app .shopping-mode{max-width:1100px;margin:0 auto;padding:6px 0 20px;color:var(--ui-text,#182016)}
#app .shopping-mode[hidden]{display:none}
#app .shopping-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
#app .shopping-header h2{font-size:clamp(20px,2.6vw,30px);line-height:1.15;margin:0}
#app .shopping-universe{flex-shrink:0;color:#526449;font-size:13px}
#app .shopping-tagline{margin:6px 0 18px;font-size:14px;color:#526449}
#app .shopping-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center}
#app .shopping-presenter{min-width:0;align-self:end}
#app .shopping-presenter .head-slot{display:flex;flex-direction:column;align-items:center;width:100%;padding:0;margin:0;min-height:0}
#app .shopping-presenter .head-drift{display:block;position:relative;width:min(100%,390px);height:auto;aspect-ratio:1}
#app .shopping-presenter .persona-pose{display:block;width:100%;height:100%;position:relative}
#app .shopping-presenter .face-rest,#app .shopping-presenter .face-talk{width:100%;height:100%;object-fit:contain}
#app .shopping-presenter .speech-bubble{position:relative;inset:auto;width:100%;max-height:none;min-height:58px;margin:0 0 12px;font-size:19px;line-height:1.35;background:#efffd4;border-color:#648a38;white-space:normal}
#app .shopping-product{min-width:0}
#app .shopping-product-name{margin:0;font-size:clamp(22px,3.5vw,42px);line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
#app .shopping-episode-title{margin:8px 0;font-size:15px;color:#526449}
#app .shopping-headline{font-size:clamp(17px,2vw,23px);line-height:1.3;margin:12px 0;max-width:28ch}
#app .shopping-consequence{font-size:14px;line-height:1.45;color:#526449;margin:12px 0;min-height:20px;max-width:90ch}
#app .shopping-consequence:empty{display:none}
#app .shopping-status{font-size:13px;line-height:1.3;color:#526449;min-height:17px;margin:8px 0}
#app .shopping-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#app .shopping-controls button{font:inherit;font-size:15px;line-height:1.25;min-height:44px;min-width:44px;border:1px solid #aab69f;border-radius:10px;padding:9px 14px;background:#fff;color:#182016}
#app .shopping-controls .shopping-play{background:#c8f68c}
#app .shopping-seek{flex:1;min-width:130px;height:44px;accent-color:#62932f}
#app .shopping-prop{height:170px;position:relative;max-width:320px;margin:20px auto 14px;--prop-color:#43593c}
#app .shopping-prop-body{display:block;position:absolute;width:82px;height:150px;left:50%;top:0;transform:translateX(-50%) rotate(-12deg);background:#263225;border:4px solid #43593c;border-radius:18px;box-shadow:7px 8px 0 #d9e7ca}
#app .shopping-prop-detail{position:absolute;width:42px;height:42px;border:8px solid #bedf99;border-radius:50%;left:calc(50% - 20px);top:33px;transform:rotate(-12deg)}
#app .shopping-prop-signal{position:absolute;width:16px;height:16px;left:calc(50% - 23px);top:106px;border-radius:50%;background:#d8919a;box-shadow:23px -5px 0 #bedf99}
#app .shopping-prop[data-kind='1'] .shopping-prop-body{width:210px;height:104px;border-radius:5px;transform:translateX(-50%);top:40px;background:#d9e7ca;border:8px solid #43593c;box-shadow:12px 13px 0 #ebf1e5}
#app .shopping-prop[data-kind='1'] .shopping-prop-detail{width:146px;height:70px;left:calc(50% - 73px);top:51px;transform:skew(-9deg);border-radius:2px;background:#fff;border:3px solid #becfaf}
#app .shopping-prop[data-kind='1'] .shopping-prop-signal{width:24px;height:24px;top:141px;left:calc(50% - 81px);background:#43593c;box-shadow:136px 0 0 #43593c}
#app .shopping-prop[data-kind='2'] .shopping-prop-body{width:160px;height:110px;top:35px;transform:translateX(-50%);border-radius:50%;background:#d6dfcc;border-color:#88997d;box-shadow:0 12px 0 #a4b794}
#app .shopping-prop[data-kind='2'] .shopping-prop-detail{width:118px;height:72px;top:37px;left:calc(50% - 59px);border-radius:50%;transform:none;background:#a85464;border:6px solid #793c48}
#app .shopping-prop[data-kind='2'] .shopping-prop-signal{width:42px;height:28px;top:63px;left:calc(50% - 21px);background:transparent;border:4px solid #fff;border-right-color:transparent;box-shadow:none;border-radius:50%}
@media(max-width:600px){
 #app .shopping-mode{padding:4px 0 16px}
 #app .shopping-header{gap:6px;align-items:center}
 #app .shopping-header h2{max-width:220px;font-size:21px}
 #app .shopping-universe{font-size:12px}
 #app .shopping-tagline{font-size:13px;margin:6px 0 14px}
 #app .shopping-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
 #app .shopping-product-name{font-size:23px;letter-spacing:-.025em}
 #app .shopping-episode-title{font-size:13px;line-height:1.3;margin:5px 0}
 #app .shopping-presenter .speech-bubble{font-size:15px;min-height:60px;line-height:1.3;padding:7px;margin-bottom:8px}
 #app .shopping-headline{font-size:15px;line-height:1.35;margin:8px 0 0}
 #app .shopping-prop{height:150px;margin:12px auto 6px;transform:scale(.72);transform-origin:center center}
 #app .shopping-prop[data-kind='1'] .shopping-prop-body{width:185px}
 #app .shopping-prop[data-kind='1'] .shopping-prop-signal{box-shadow:126px 0 0 #43593c;left:calc(50% - 75px)}
 #app .shopping-consequence{font-size:13px;margin:12px 0 4px}
 #app .shopping-controls{gap:6px}
 #app .shopping-controls button{padding:9px 10px;font-size:14px}
 #app .shopping-seek{flex-basis:100%;width:100%}
}
@media(prefers-reduced-motion:reduce){#app .shopping-mode *{scroll-behavior:auto}}
