/* ════════════════════════════════════════════════════════════════════════
 * ui-motion-showcase.css — 高级交互组件馆（叨叨AI 第1集 10 种组件真机演示）
 * 仅用 var(--...) 令牌，自动适配主题（与 ui-design-kb.css 同体系）。
 * 组件均按视频章节要点实现：折叠卡片/分段控件/滑动确认/翻转卡片/
 * 操作型卡片/筛选胶囊/进度卡片/底部操作栏/智能输入框/顶部标签页。
 * ════════════════════════════════════════════════════════════════════════ */

.ms-wrap{display:flex;flex-direction:column;gap:18px;}
.ms-head{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg,16px);padding:18px 20px;box-shadow:var(--shadow-sm);}
.ms-head .uipro-label{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:16px;color:var(--text-primary);}
.ms-head .uipro-idx{background:var(--accent);color:var(--text-white);border-radius:8px;padding:2px 8px;font-size:12px;}
.ms-head p{margin:10px 0 0;font-size:13px;line-height:1.8;color:var(--text-secondary);}

.ms-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));}

.ms-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg,16px);padding:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-width:0;transition:border-color .2s ease,transform .12s ease;}
.ms-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.ms-card h3{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--text-primary);}
.ms-card .ms-sub{font-size:12px;color:var(--accent);margin-bottom:10px;}
.ms-card .ms-plain{font-size:12.5px;line-height:1.6;color:var(--text-secondary);margin:0 0 8px;}
.ms-card .ms-prompt{font-size:11.5px;line-height:1.55;color:var(--text-muted);background:var(--bg-tertiary);border-radius:var(--radius);padding:8px 10px;margin:0 0 12px;white-space:pre-wrap;word-break:break-word;}
.ms-card .ms-prompt b{color:var(--text-secondary);}

/* 移动端演示表面 */
.ms-demo{position:relative;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg-secondary);padding:14px;min-height:120px;overflow:hidden;}

/* 1. 折叠卡片 */
.ms-acc{border:1px solid var(--border-light);border-radius:10px;overflow:hidden;background:var(--bg-card);}
.ms-acc-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);user-select:none;}
.ms-acc-arrow{transition:transform .3s ease;color:var(--accent);}
.ms-acc.open .ms-acc-arrow{transform:rotate(180deg);}
.ms-acc-body{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:12.5px;color:var(--text-secondary);}
.ms-acc.open .ms-acc-body{max-height:200px;}
.ms-acc-body p{margin:0;padding:8px 14px;border-top:1px solid var(--border-light);}

/* 2. 分段控件 */
.ms-seg{position:relative;display:flex;background:var(--bg-tertiary);border-radius:10px;padding:4px;}
.ms-seg-ind{position:absolute;top:4px;left:4px;height:calc(100% - 8px);width:calc((100% - 8px)/3);background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-sm);transition:transform .28s cubic-bezier(.4,0,.2,1);}
.ms-seg-item{position:relative;z-index:1;flex:1;text-align:center;padding:7px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:color .2s;}
.ms-seg-item.active{color:var(--text-primary);font-weight:700;}
.ms-seg-content{margin-top:12px;font-size:13px;color:var(--text-secondary);min-height:20px;}

/* 3. 滑动确认 */
.ms-slide{position:relative;height:46px;border-radius:23px;background:var(--bg-tertiary);overflow:hidden;user-select:none;touch-action:none;}
.ms-slide-thumb{position:absolute;top:3px;left:3px;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--text-white);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:grab;box-shadow:0 2px 8px var(--accent-glow);transition:left .15s ease;}
.ms-slide-thumb:active{cursor:grabbing;}
.ms-slide-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-secondary);pointer-events:none;}
.ms-slide.done{background:var(--success);}
.ms-slide.done .ms-slide-label{color:var(--text-white);}

/* 4. 翻转卡片 */
.ms-flip{height:130px;perspective:800px;cursor:pointer;}
.ms-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;}
.ms-flip.flipped .ms-flip-inner{transform:rotateY(180deg);}
.ms-flip-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:12px;padding:16px;display:flex;flex-direction:column;justify-content:center;}
.ms-flip-front{background:linear-gradient(135deg,var(--accent),var(--accent-glow));color:var(--text-white);}
.ms-flip-back{background:var(--bg-tertiary);color:var(--text-secondary);transform:rotateY(180deg);border:1px solid var(--border-light);}
.ms-flip .big{font-size:30px;font-weight:800;margin:6px 0 0;}
.ms-flip .hint{font-size:11px;opacity:.7;margin-top:8px;}

/* 5. 操作型卡片 */
.ms-ops{display:flex;flex-direction:column;gap:12px;}
.ms-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-primary);}
.ms-stepper{display:flex;align-items:center;gap:12px;}
.ms-stepper button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-card);color:var(--text-primary);font-size:16px;cursor:pointer;}
.ms-stepper .val{min-width:24px;text-align:center;font-weight:700;}
.ms-switch{width:46px;height:26px;border-radius:13px;background:var(--bg-tertiary);position:relative;cursor:pointer;transition:background .2s;}
.ms-switch.on{background:var(--accent);}
.ms-switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text-white);transition:left .2s;box-shadow:var(--shadow-sm);}
.ms-switch.on .knob{left:23px;}
.ms-range{width:100%;}
.ms-range-val{font-weight:700;color:var(--accent);}

/* 6. 筛选胶囊 */
.ms-pills{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
.ms-pill{flex:0 0 auto;padding:6px 14px;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-card);color:var(--text-secondary);font-size:12.5px;cursor:pointer;white-space:nowrap;transition:all .18s;}
.ms-pill.on{background:var(--accent);border-color:var(--accent);color:var(--text-white);}

/* 7. 进度卡片 */
.ms-steps{display:flex;align-items:flex-start;justify-content:space-between;}
.ms-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;}
.ms-step .dot{width:22px;height:22px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-muted);font-size:11px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-light);z-index:1;}
.ms-step.done .dot{background:var(--success);color:var(--text-white);border-color:var(--success);}
.ms-step.active .dot{background:var(--accent);color:var(--text-white);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);}
.ms-step .ln{font-size:11px;margin-top:6px;color:var(--text-secondary);}
.ms-step::before{content:'';position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--border-light);z-index:0;}
.ms-step:first-child::before{display:none;}
.ms-step.done::before,.ms-step.active::before{background:var(--accent);}
.ms-steps-detail{margin-top:12px;font-size:12.5px;color:var(--text-secondary);min-height:18px;}

/* 8. 底部操作栏 */
.ms-bottombar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-card);border-top:1px solid var(--border-light);}
.ms-bottombar .price{font-size:16px;font-weight:800;color:var(--accent);}
.ms-bottombar .price small{font-size:11px;color:var(--text-muted);font-weight:400;}
.ms-bottombar button{background:var(--accent);color:var(--text-white);border:none;border-radius:10px;padding:9px 20px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px var(--accent-glow);}
.ms-demo.barmode{min-height:160px;padding-bottom:60px;}

/* 9. 智能输入框 */
.ms-smart{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;padding:10px 12px;}
.ms-smart input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:14px;outline:none;letter-spacing:.5px;}
.ms-smart .unit{font-size:12px;color:var(--text-muted);}
.ms-smart .count{font-size:11px;color:var(--text-muted);min-width:28px;text-align:right;}
.ms-smart-hint{margin-top:8px;font-size:11.5px;color:var(--text-muted);}

/* 10. 顶部标签页 */
.ms-tabs{display:flex;border-bottom:1px solid var(--border-light);}
.ms-tab{flex:1;text-align:center;padding:9px 0;font-size:13px;color:var(--text-secondary);cursor:pointer;position:relative;}
.ms-tab.active{color:var(--accent);font-weight:700;}
.ms-tab.active::after{content:'';position:absolute;left:25%;right:25%;bottom:-1px;height:2px;background:var(--accent);border-radius:2px;}
.ms-tabpanel{margin-top:12px;font-size:13px;color:var(--text-secondary);min-height:40px;line-height:1.7;}

/* AI 助手面板 */
.ms-ai{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg,16px);padding:16px;box-shadow:var(--shadow-sm);}
.ms-ai h3{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--text-primary);}
.ms-ai p.ms-ai-sub{margin:0 0 12px;font-size:12.5px;color:var(--text-secondary);}
.ms-ai .ms-ai-row{display:flex;gap:8px;}
.ms-ai input{flex:1;padding:10px 12px;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;outline:none;}
.ms-ai button{background:var(--accent);color:var(--text-white);border:none;border-radius:10px;padding:0 18px;font-size:13px;font-weight:700;cursor:pointer;}
.ms-ai .ms-ai-out{margin-top:12px;font-size:13px;line-height:1.7;color:var(--text-primary);background:var(--bg-tertiary);border-radius:var(--radius);padding:12px;min-height:40px;white-space:pre-wrap;word-break:break-word;}
.ms-ai .ms-ai-out.empty{color:var(--text-muted);}
