/* ============================================================
 * 棱镜 Prism — Demo 样式
 * 沿用报名提案设计语言：纯白底 / Cormorant+Manrope / 棱镜意象 /
 * 彩虹色阶动态强调色 / 禁选文字 / 无 emoji 图标 / 高级留白
 * ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#FAFAFA;
  --text:#1A1A1F;
  --text-sec:#6B6B72;
  --text-dim:#C0C0C5;
  /* 动态强调色（由 app.js 按当前分支/视图切换） */
  --tint-r:200;
  --tint-g:200;
  --tint-b:200;
  --tint-strength:0.03;
  --border:rgba(0,0,0,0.06);
  --border-strong:rgba(0,0,0,0.12);
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
  --tint:rgb(var(--tint-r),var(--tint-g),var(--tint-b));
}

html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--text);
  font-family:'Manrope',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  font-weight:300;
  user-select:none;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  overflow:hidden;
  cursor:default;
  min-height:100vh;
}

/* ============ 全局色彩底色层 ============ */
.color-wash,.color-wash-2,.grain{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  transition:background 0.9s var(--ease);
}
.color-wash{
  background:radial-gradient(ellipse 100% 90% at 30% 40%,
    rgba(var(--tint-r),var(--tint-g),var(--tint-b),var(--tint-strength)) 0%,
    rgba(var(--tint-r),var(--tint-g),var(--tint-b),calc(var(--tint-strength) * 0.5)) 35%,
    transparent 75%);
}
.color-wash-2{
  background:linear-gradient(110deg,
    rgba(var(--tint-r),var(--tint-g),var(--tint-b),calc(var(--tint-strength) * 0.7)) 0%,
    transparent 45%,
    rgba(var(--tint-r),var(--tint-g),var(--tint-b),calc(var(--tint-strength) * 0.4)) 100%);
}
.grain{
  z-index:1;opacity:0.012;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.progress{
  position:fixed;top:0;left:0;height:2px;width:0;
  background:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.7);
  z-index:100;transition:width .4s var(--ease),background 0.9s var(--ease);
}

/* ============ Demo 模式切换条 ============ */
.demo-bar{
  position:fixed;top:0;left:0;right:0;z-index:95;
  background:rgba(26,26,31,0.92);backdrop-filter:blur(8px);
  color:#fff;font-size:12px;
  transform:translateY(-100%);transition:transform .5s var(--ease);
}
.demo-bar.show{transform:translateY(0)}
.demo-bar-inner{
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding:8px 40px;
}
.demo-bar-tag{
  background:rgba(255,255,255,0.16);color:#fff;
  padding:2px 8px;border-radius:2px;font-size:10px;letter-spacing:1px;
}
.demo-bar-text{color:rgba(255,255,255,0.78);letter-spacing:.3px}
.demo-bar-switch{
  background:transparent;border:1px solid rgba(255,255,255,0.3);
  color:#fff;padding:4px 12px;font-size:11px;border-radius:2px;
  cursor:pointer;font-family:inherit;letter-spacing:.5px;
  transition:all .3s var(--ease);
}
.demo-bar-switch:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.5)}
.demo-bar.real-mode{background:rgba(52,199,89,0.92)}

/* ============ 顶部品牌条 ============ */
.topbar{
  position:fixed;top:36px;left:0;right:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 40px;z-index:90;
  opacity:0;transform:translateY(-12px);
  pointer-events:none;
  transition:opacity .6s var(--ease),transform .6s var(--ease);
}
.topbar.show{opacity:1;transform:translateY(0);pointer-events:auto}
.brand{display:flex;align-items:baseline;gap:10px;cursor:pointer}
.brand-cn{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;font-weight:500;letter-spacing:1px;color:var(--text);
}
.brand-en{
  font-size:10px;letter-spacing:4px;text-transform:uppercase;
  color:var(--text-dim);font-weight:400;
}
.topbar-right{display:flex;align-items:center;gap:24px}
.decision-tag{
  font-size:12px;color:var(--text-sec);max-width:280px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-style:italic;font-family:'Cormorant Garamond',serif;
}
.restart{
  font-size:11px;letter-spacing:2px;color:var(--text-dim);
  cursor:pointer;transition:color .3s var(--ease);text-transform:uppercase;
}
.restart:hover{color:var(--tint)}

/* ============ 模型配置入口 & 面板 ============ */
.config-entry{
  position:fixed;left:24px;bottom:24px;z-index:80;
  width:44px;height:44px;border-radius:50%;
  background:#fff;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--text-sec);
  box-shadow:0 4px 16px -6px rgba(0,0,0,0.1);
  transition:all .35s var(--ease);
}
.config-entry:hover{
  color:var(--tint);border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  transform:translateY(-2px);
  box-shadow:0 8px 24px -8px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.3);
}
.config-entry.configured::after{
  content:'';position:absolute;top:8px;right:8px;
  width:8px;height:8px;border-radius:50%;background:#34C759;
  box-shadow:0 0 0 2px #fff;
}

.config-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,0.35);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .4s var(--ease);
}
.config-overlay.show{opacity:1;pointer-events:auto}
.config-panel{
  background:#fff;width:520px;max-width:92vw;max-height:88vh;overflow-y:auto;
  padding:40px 44px;border-radius:3px;
  box-shadow:0 32px 80px -24px rgba(0,0,0,0.25);
  transform:translateY(20px);transition:transform .4s var(--ease);
}
.config-overlay.show .config-panel{transform:translateY(0)}
.config-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.config-eyebrow{font-size:10px;letter-spacing:5px;color:var(--text-dim);font-weight:500;margin-bottom:8px}
.config-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;letter-spacing:-.5px}
.config-close{font-size:18px;color:var(--text-dim);cursor:pointer;transition:color .3s;padding:4px 8px}
.config-close:hover{color:var(--text)}
.config-desc{font-size:13px;color:var(--text-sec);line-height:1.8;margin-bottom:32px}
.config-form{display:flex;flex-direction:column;gap:20px}
.config-row{display:flex;flex-direction:column;gap:8px}
.config-row-inline{flex-direction:row;align-items:center}
.config-label{font-size:11px;letter-spacing:2px;color:var(--text-sec);font-weight:500;text-transform:uppercase}
.config-input{
  width:100%;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:300;
  border:1px solid var(--border-strong);border-radius:2px;background:#fff;color:var(--text);
  outline:none;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.config-input:focus{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.6);
  box-shadow:0 0 0 3px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.1);
}
.config-hint{font-size:11px;color:var(--text-dim);line-height:1.6}

.config-segment{display:inline-flex;gap:2px;background:rgba(0,0,0,0.04);padding:3px;border-radius:2px;width:fit-content}
.seg-btn{
  padding:9px 22px;font-size:13px;background:transparent;border:none;cursor:pointer;
  color:var(--text-sec);font-family:inherit;font-weight:400;border-radius:2px;
  transition:all .3s var(--ease);
}
.seg-btn.active{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.seg-btn:hover:not(.active){color:var(--text)}

.config-checkbox-wrap{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.config-checkbox-wrap input{display:none}
.config-checkbox-mark{
  width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:3px;
  position:relative;transition:all .3s var(--ease);flex-shrink:0;
}
.config-checkbox-wrap input:checked + .config-checkbox-mark{
  background:var(--tint);border-color:var(--tint);filter:saturate(1.3);
}
.config-checkbox-wrap input:checked + .config-checkbox-mark::after{
  content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.config-checkbox-text{font-size:13px;color:var(--text-sec)}

.config-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.config-status{font-size:12px;margin-top:14px;min-height:16px;text-align:right}
.config-status.success{color:#34C759}
.config-status.error{color:#FF3B3B}

/* ============ 视图系统 ============ */
.view{
  position:fixed;inset:0;z-index:10;
  opacity:0;pointer-events:none;
  transform:translateY(24px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
  overflow-y:auto;overflow-x:hidden;
}
.view.active{
  opacity:1;pointer-events:auto;transform:translateY(0);
}

/* ============ 通用排版 ============ */
.eyebrow{
  font-size:10px;letter-spacing:5px;text-transform:uppercase;
  color:var(--text-dim);font-weight:500;
  display:flex;align-items:center;gap:12px;margin-bottom:28px;
}
.eyebrow-line{width:24px;height:1px;background:var(--text-dim)}

h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--text)}
em{font-style:italic;color:var(--tint);filter:saturate(1.3);transition:color 0.9s var(--ease)}

.philosophy{
  display:flex;align-items:center;gap:10px;
  font-size:12px;color:var(--text-dim);letter-spacing:.5px;
  margin-top:48px;font-style:italic;font-family:'Cormorant Garamond',serif;
}
.philosophy-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--tint);filter:saturate(1.3);
  box-shadow:0 0 12px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  transition:background 0.9s var(--ease);
}

/* ============ 视图 1：输入页 ============ */
.view-input{display:flex;align-items:center;justify-content:center}
.prism-bg{
  position:absolute;left:6%;top:0;height:100%;width:38%;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;opacity:0.9;
}
.prism-bg svg{width:100%;max-width:480px;height:auto;overflow:visible}
.input-wrap{
  position:relative;z-index:2;
  margin-left:42%;padding:0 8vw 0 3vw;max-width:620px;
}
.input-title{
  font-size:72px;line-height:.98;letter-spacing:-2.5px;margin-bottom:24px;
}
.input-sub{
  font-size:15px;line-height:1.9;color:var(--text-sec);
  max-width:480px;margin-bottom:40px;
}
.input-box{
  background:#fff;border:1px solid var(--border);
  border-radius:2px;padding:24px 28px;
  box-shadow:0 1px 0 rgba(0,0,0,0.02),0 12px 40px -16px rgba(0,0,0,0.08);
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease);
}
.input-box:focus-within{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.4);
  box-shadow:0 1px 0 rgba(0,0,0,0.02),0 16px 48px -16px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.18);
}
.decision-input{
  width:100%;border:none;outline:none;resize:none;
  background:transparent;
  font-family:'Cormorant Garamond',serif;
  font-size:24px;font-weight:400;color:var(--text);
  line-height:1.5;letter-spacing:.3px;
}
.decision-input::placeholder{color:var(--text-dim);font-style:italic}

/* 只读决策展示（demo 版禁用手动输入） */
.decision-readonly{
  width:100%;min-height:60px;padding:8px 0;
  font-family:'Cormorant Garamond',serif;
  font-size:24px;font-weight:400;color:var(--text-dim);
  line-height:1.5;letter-spacing:.3px;font-style:italic;
}
.decision-readonly.selected{color:var(--text);font-style:normal}
.input-foot{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:16px;padding-top:16px;border-top:1px solid var(--border);
}
.char-count{font-size:11px;color:var(--text-dim);letter-spacing:1px}

.examples{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:32px;
}

/* 可展开背景输入 */
.bg-toggle{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:24px;cursor:pointer;
  font-size:12px;color:var(--text-sec);letter-spacing:.3px;
  transition:color .3s var(--ease);
}
.bg-toggle:hover{color:var(--tint)}
.bg-toggle-plus{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;border:1px solid var(--border-strong);border-radius:50%;
  font-size:12px;line-height:1;color:var(--text-sec);
  transition:all .35s var(--ease);
}
.bg-toggle:hover .bg-toggle-plus{border-color:var(--tint);color:var(--tint);transform:rotate(90deg)}
.bg-toggle.open .bg-toggle-plus{transform:rotate(45deg)}
.bg-box{
  max-height:0;overflow:hidden;
  transition:max-height .45s var(--ease),margin-top .45s var(--ease);
}
.bg-box.open{max-height:200px;margin-top:16px}
.bg-input{
  width:100%;border:1px solid var(--border);background:#fff;
  border-radius:2px;padding:16px 18px;
  font-family:inherit;font-size:13px;font-weight:300;color:var(--text);
  resize:none;outline:none;line-height:1.7;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.bg-input::placeholder{color:var(--text-dim);font-style:italic}
.bg-input:focus{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.4);
  box-shadow:0 0 0 3px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.06);
}
.bg-box .char-count{display:block;text-align:right;margin-top:8px}
.examples-label{font-size:11px;color:var(--text-dim);letter-spacing:2px;margin-right:4px}
.example-chip{
  background:transparent;border:1px solid var(--border-strong);
  padding:8px 16px;font-size:12px;color:var(--text-sec);
  cursor:pointer;border-radius:100px;
  font-family:inherit;font-weight:300;
  transition:all .35s var(--ease);
}
.example-chip:hover{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  color:var(--text);background:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.04);
}
.example-chip.selected{
  border-color:var(--tint);
  color:var(--text);
  background:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.08);
  filter:saturate(1.2);
}

/* ============ 按钮 ============ */
.btn-primary,.btn-secondary{
  display:inline-flex;align-items:center;gap:10px;
  font-family:inherit;font-weight:400;cursor:pointer;
  border:none;letter-spacing:1px;
  transition:all .4s var(--ease);
}
.btn-primary{
  background:var(--text);color:#fff;
  padding:12px 22px;font-size:13px;border-radius:2px;
}
.btn-primary:disabled{
  background:var(--text-dim);cursor:not-allowed;opacity:0.6;
}
.btn-primary:not(:disabled):hover{
  background:var(--tint);filter:saturate(1.2);
  transform:translateY(-1px);
  box-shadow:0 8px 24px -8px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
}
.btn-arrow{transition:transform .4s var(--ease)}
.btn-primary:not(:disabled):hover .btn-arrow,
.btn-secondary:hover .btn-arrow{transform:translateX(4px)}
.btn-secondary{
  background:transparent;color:var(--text);
  padding:14px 26px;font-size:13px;border-radius:2px;
  border:1px solid var(--border-strong);
}
.btn-secondary:hover{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  color:var(--tint);background:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.03);
}

.config-divider{height:1px;background:var(--border);margin:4px 0}

/* ============ 视图：信息收集 ============ */
.view-ask{padding:100px 40px 80px;overflow-y:auto}
.ask-wrap{max-width:640px;margin:0 auto}
.ask-decision{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:16px;color:var(--text-sec);text-align:center;margin-bottom:40px;
}
.ask-title{
  font-size:32px;line-height:1.3;letter-spacing:-.5px;
  margin-bottom:40px;text-align:center;font-weight:400;
}
.ask-questions{display:flex;flex-direction:column;gap:20px;margin-bottom:36px}
.ask-question{display:flex;flex-direction:column;gap:10px}
.ask-question-label{
  font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;
  color:var(--text);display:flex;align-items:baseline;gap:10px;
}
.ask-question-num{
  font-size:12px;color:var(--tint);filter:saturate(1.3);
  font-family:'Manrope',sans-serif;letter-spacing:1px;
}
.ask-question-input{
  width:100%;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:300;
  border:1px solid var(--border-strong);border-radius:2px;background:#fff;color:var(--text);
  resize:none;outline:none;line-height:1.7;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.ask-question-input::placeholder{color:var(--text-dim);font-style:italic}
.ask-question-input:focus{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  box-shadow:0 0 0 3px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.08);
}

/* 选择题选项 */
.ask-options{display:flex;flex-wrap:wrap;gap:10px}
.ask-option{
  padding:12px 20px;background:#fff;border:1px solid var(--border-strong);
  border-radius:2px;font-family:inherit;font-size:13px;font-weight:300;color:var(--text-sec);
  cursor:pointer;transition:all .3s var(--ease);
}
.ask-option:hover{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  color:var(--text);transform:translateY(-1px);
}
.ask-option.selected{
  border-color:var(--tint);background:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.08);
  color:var(--tint);font-weight:500;
  box-shadow:0 0 0 1px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.3);
}
.ask-custom-wrap{margin-top:10px}
.ask-custom-input{
  width:100%;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:300;
  border:1px solid var(--border);border-radius:2px;background:#fff;color:var(--text);
  outline:none;transition:border-color .35s var(--ease);
}
.ask-custom-input::placeholder{color:var(--text-dim);font-style:italic}
.ask-custom-input:focus{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
}

/* 滑动条 */
.ask-slider-wrap{padding:8px 0}
.ask-slider-value{
  display:flex;align-items:baseline;gap:6px;margin-bottom:16px;
}
.ask-slider-num{
  font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:500;
  color:var(--tint);filter:saturate(1.2);line-height:1;
}
.ask-slider-unit{font-size:13px;color:var(--text-sec)}
.ask-slider-custom{
  width:80px;margin-left:auto;padding:6px 10px;
  font-family:inherit;font-size:13px;font-weight:300;
  border:1px solid var(--border);border-radius:2px;background:#fff;color:var(--text);
  outline:none;transition:border-color .35s var(--ease);
}
.ask-slider-custom::placeholder{color:var(--text-dim);font-style:italic}
.ask-slider-custom:focus{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
}
/* 隐藏 number 输入的上下箭头 */
.ask-slider-custom::-webkit-outer-spin-button,
.ask-slider-custom::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ask-slider-custom{-moz-appearance:textfield}
.ask-slider{
  width:100%;height:4px;-webkit-appearance:none;appearance:none;
  background:var(--border);border-radius:2px;outline:none;cursor:pointer;
}
.ask-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:22px;height:22px;border-radius:50%;background:#fff;
  border:2px solid var(--tint);cursor:grab;
  box-shadow:0 4px 12px -2px rgba(0,0,0,0.15);
  transition:transform .2s var(--ease);
}
.ask-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.ask-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}
.ask-slider::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:#fff;
  border:2px solid var(--tint);cursor:grab;
  box-shadow:0 4px 12px -2px rgba(0,0,0,0.15);
}
.ask-slider-labels{
  position:relative;height:18px;margin-top:10px;
  font-size:11px;color:var(--text-dim);
}
.ask-slider-tick{
  position:absolute;transform:translateX(-50%);white-space:nowrap;
}

/* 档案快速选择 */
.ask-profiles{margin-bottom:36px}
.ask-profiles-label{
  font-size:11px;letter-spacing:2px;color:var(--text-dim);
  text-transform:uppercase;margin-bottom:14px;
}

/* 自由补充输入框 */
.ask-supplement{margin-bottom:36px}
.ask-supplement-label{
  font-size:11px;letter-spacing:2px;color:var(--text-dim);
  text-transform:uppercase;margin-bottom:14px;
}
.ask-supplement-input{
  width:100%;padding:14px 16px;font-family:inherit;font-size:13px;font-weight:300;
  border:1px solid var(--border-strong);border-radius:2px;background:#fff;color:var(--text);
  resize:vertical;outline:none;line-height:1.7;min-height:80px;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.ask-supplement-input::placeholder{color:var(--text-dim);font-style:italic}
.ask-supplement-input:focus{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  box-shadow:0 0 0 3px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.08);
}
.ask-profiles-list{display:flex;flex-wrap:wrap;gap:10px}
.profile-chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;background:#fff;border:1px solid var(--border-strong);
  border-radius:2px;cursor:pointer;transition:all .35s var(--ease);
  max-width:100%;
}
.profile-chip:hover{
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  transform:translateY(-1px);box-shadow:0 6px 16px -8px rgba(0,0,0,0.1);
}
.profile-chip.active{
  border-color:var(--tint);background:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.05);
  box-shadow:0 0 0 2px rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.2);
}
.profile-chip-name{font-size:13px;font-weight:500;color:var(--text)}
.profile-chip-preview{font-size:11px;color:var(--text-dim);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-chip-delete{font-size:14px;color:var(--text-dim);cursor:pointer;padding:0 2px}
.profile-chip-delete:hover{color:#FF3B3B}
.profile-chip-add{border-style:dashed;color:var(--text-sec)}
.profile-chip-add:hover{color:var(--tint)}

.ask-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}

/* ============ 视图 2：加载页 ============ */
.view-loading{display:flex;align-items:center;justify-content:center;flex-direction:column}
.loading-prism{
  width:280px;height:320px;margin-bottom:48px;
  display:flex;align-items:center;justify-content:center;
}
.loading-prism svg{width:100%;height:100%;overflow:visible}
.loading-text{text-align:center;max-width:440px;padding:0 24px}
.loading-eyebrow{
  font-size:10px;letter-spacing:6px;color:var(--text-dim);
  font-weight:500;margin-bottom:20px;
}
.loading-title{
  font-size:36px;letter-spacing:-1px;margin-bottom:16px;
}
.loading-sub{
  font-size:14px;color:var(--text-sec);line-height:1.8;
  font-family:'Cormorant Garamond',serif;font-style:italic;
  transition:opacity .3s var(--ease);
}
.loading-dots{
  display:flex;gap:8px;justify-content:center;margin-top:32px;
}
.loading-dots span{
  width:6px;height:6px;border-radius:50%;background:var(--tint);
  opacity:0.4;animation:dotPulse 1.4s var(--ease) infinite;
}
.loading-dots span:nth-child(2){animation-delay:.2s}
.loading-dots span:nth-child(3){animation-delay:.4s}
@keyframes dotPulse{
  0%,100%{opacity:0.3;transform:scale(0.8)}
  50%{opacity:1;transform:scale(1.2)}
}

/* 棱镜整体轻微摆动 + 光束脉冲（光与棱镜一起动，自然统一） */
.prism-sway{animation:prismSway 6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes prismSway{
  0%,100%{transform:rotate(-3deg) translateY(0)}
  50%{transform:rotate(3deg) translateY(-6px)}
}
.beam-pulse{animation:beamPulse 2.4s var(--ease) infinite}
@keyframes beamPulse{
  0%,100%{opacity:0.5}
  50%{opacity:1}
}

/* ============ 视图 3：决策树 ============ */
.view-tree{padding:100px 40px 60px}
.tree-header{max-width:760px;margin:0 auto 24px;text-align:center}
.tree-header .eyebrow{justify-content:center}
.tree-title{font-size:40px;letter-spacing:-1px;margin-bottom:14px;line-height:1.15}
.tree-sub{font-size:14px;color:var(--text-sec)}

.tree-canvas{
  max-width:980px;margin:40px auto 24px;
  min-height:340px;display:flex;justify-content:center;align-items:center;
}
.tree-canvas svg{width:100%;max-width:980px;height:auto;overflow:visible}

/* 决策树节点 */
.node-root-circle{
  fill:#fff;stroke:var(--text);stroke-width:1.5;
  transition:all .4s var(--ease);
}
.node-root-label{
  font-family:'Cormorant Garamond',serif;font-size:15px;
  fill:var(--text);font-weight:500;text-anchor:middle;
}
.node-branch-circle{
  fill:#fff;stroke-width:1.6;cursor:pointer;
  transition:all .4s var(--ease);
}
.node-branch-circle:hover{
  stroke-width:2.4;filter:drop-shadow(0 4px 16px currentColor);
}
.node-branch-label{
  font-family:'Manrope',sans-serif;font-size:13px;font-weight:500;
  text-anchor:middle;cursor:pointer;
  transition:fill .4s var(--ease);
}
.node-branch-desc{
  font-family:'Manrope',sans-serif;font-size:11px;font-weight:300;
  fill:var(--text-sec);text-anchor:middle;
}
.tree-link{
  fill:none;stroke-width:1.2;opacity:0.5;
  transition:opacity .4s var(--ease),stroke-width .4s var(--ease);
}
.tree-link.active{opacity:0.9;stroke-width:1.8}

.tree-legend{
  display:flex;flex-direction:column;gap:12px;
  max-width:560px;margin:32px auto 40px;
}
.branch-card{
  display:flex;align-items:center;gap:16px;
  background:#fff;border:1px solid var(--border);
  padding:18px 24px;border-radius:2px;cursor:pointer;
  transition:all .35s var(--ease);
}
.branch-card:hover{
  transform:translateX(4px);
  box-shadow:0 8px 24px -12px rgba(0,0,0,0.1);
  border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.3);
}
.branch-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.branch-card-body{flex:1;min-width:0}
.branch-card-name{font-size:15px;font-weight:500;margin-bottom:4px;letter-spacing:.3px}
.branch-card-desc{font-size:13px;color:var(--text-sec);line-height:1.6;font-family:'Cormorant Garamond',serif;font-style:italic}
.branch-card-arrow{color:var(--text-dim);font-size:16px;transition:transform .35s var(--ease)}
.branch-card:hover .branch-card-arrow{transform:translateX(4px);color:var(--tint)}

.tree-actions{display:flex;justify-content:center;gap:16px;align-items:center}
.add-plus{
  display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;font-size:14px;line-height:1;
}
/* 自定义分支浮层 */
.add-branch-overlay{
  position:fixed;inset:0;z-index:210;
  background:rgba(0,0,0,0.35);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease);
}
.add-branch-overlay.show{opacity:1;pointer-events:auto}
.add-branch-panel{
  background:#fff;width:480px;max-width:92vw;
  padding:40px 44px;border-radius:3px;
  box-shadow:0 32px 80px -24px rgba(0,0,0,0.25);
  transform:translateY(20px);transition:transform .4s var(--ease);
}
.add-branch-overlay.show .add-branch-panel{transform:translateY(0)}
.add-branch-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.add-branch-head .config-eyebrow{margin-bottom:8px}
.add-branch-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;letter-spacing:-.5px}

/* ============ 视图 4：分支详情 ============ */
.view-detail{padding:120px 40px 100px}
.detail-back{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;color:var(--text-sec);letter-spacing:1px;
  cursor:pointer;margin-bottom:56px;
  padding:12px 20px;border:1px solid var(--border-strong);
  border-radius:2px;background:rgba(255,255,255,0.5);
  transition:all .35s var(--ease);
}
.detail-back:hover{
  color:var(--tint);border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.5);
  background:#fff;
}
.back-arrow{transition:transform .4s var(--ease);font-size:15px}
.detail-back:hover .back-arrow{transform:translateX(-4px)}

.detail-content{max-width:1200px;margin:0 auto}

.detail-hero{margin-bottom:64px;text-align:center}
.detail-hero .eyebrow{justify-content:center;margin-bottom:24px}
.detail-branch-name{
  font-size:64px;line-height:1;letter-spacing:-2px;margin-bottom:20px;
}
.detail-branch-colorbar{
  width:56px;height:3px;margin:0 auto 28px;
  background:var(--tint);filter:saturate(1.3);
  transition:background 0.9s var(--ease);
}
.detail-branch-desc{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:20px;color:var(--text-sec);line-height:1.7;max-width:480px;margin:0 auto;
}

/* ============ 三栏布局（BEST / NEUTRAL / WORST） ============ */
.triptych-header{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;
  padding:18px 0;margin-bottom:8px;
  border-bottom:1px solid var(--border-strong);
}
.triptych-col-header{
  display:flex;align-items:baseline;gap:10px;
}
.triptych-col-tag{
  font-size:11px;letter-spacing:3px;font-weight:600;
}
.triptych-col-label{
  font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;
}
.triptych-col-header.best .triptych-col-tag{color:#34C759}
.triptych-col-header.neutral .triptych-col-tag{color:#888}
.triptych-col-header.worst .triptych-col-tag{color:#FF3B3B}
.triptych-col-header.best .triptych-col-label{color:#1f4d2e}
.triptych-col-header.neutral .triptych-col-label{color:#555}
.triptych-col-header.worst .triptych-col-label{color:#5a1f1f}

/* 每行 */
.triptych-row{margin-bottom:40px}
.triptych-row-label{
  display:flex;align-items:baseline;gap:14px;margin-bottom:16px;
  padding-bottom:12px;border-bottom:1px solid var(--border);
}
.triptych-row-num{
  font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;
  color:var(--tint);filter:saturate(1.3);line-height:1;
}
.triptych-row-name{
  font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;
  color:var(--text);letter-spacing:.3px;
}
.triptych-row-en{
  font-size:10px;letter-spacing:3px;color:var(--text-dim);
  text-transform:uppercase;font-weight:400;
}

/* 三栏内容 */
.triptych-row-cells{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;
}
.triptych-cell{
  background:#fff;border:1px solid var(--border);
  padding:24px 22px;border-radius:2px;position:relative;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  min-height:60px;
}
.triptych-cell:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px -18px rgba(0,0,0,0.1);
}
.triptych-cell.best{border-top:3px solid #34C759}
.triptych-cell.neutral{border-top:3px solid #A0A0A0}
.triptych-cell.worst{border-top:3px solid #FF3B3B}
.triptych-cell-inner{min-height:20px}
.triptych-text{
  font-size:14px;line-height:1.9;color:var(--text);
  font-weight:300;letter-spacing:.1px;
}
.triptych-cell.best .triptych-text{color:#1f4d2e}
.triptych-cell.neutral .triptych-text{color:#555}
.triptych-cell.worst .triptych-text{color:#5a1f1f}

/* timeline 类型的 cell：叙事 + 标签 */
.triptych-narrative{
  font-size:14.5px;line-height:2.0;color:var(--text);
  font-weight:300;letter-spacing:.2px;
  font-family:'Cormorant Garamond',serif;
  margin-bottom:20px;
}
.triptych-cell.best .triptych-narrative{color:#1f4d2e}
.triptych-cell.neutral .triptych-narrative{color:#555}
.triptych-cell.worst .triptych-narrative{color:#5a1f1f}
.triptych-tags{
  display:flex;gap:8px;flex-wrap:wrap;
  padding-top:16px;border-top:1px solid var(--border);
}
.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;font-size:11px;border-radius:100px;
  border:1px solid var(--border-strong);background:#fff;
}
.tag-label{color:var(--text-dim);letter-spacing:1px;font-size:9px;text-transform:uppercase}
.tag-value{color:var(--text);font-weight:400;letter-spacing:.1px;font-size:11px}
.tag.gain{border-color:rgba(52,199,89,0.35)}
.tag.gain .tag-label{color:#34C759}
.tag.loss{border-color:rgba(255,59,59,0.35)}
.tag.loss .tag-label{color:#FF3B3B}
.tag.surprise{border-color:rgba(var(--tint-r),var(--tint-g),var(--tint-b),0.45)}
.tag.surprise .tag-label{color:var(--tint);filter:saturate(1.3)}

/* 添加视角按钮 */
.triptych-add-persp{
  display:flex;justify-content:center;margin-top:48px;margin-bottom:40px;
}

@media (max-width: 880px){
  .triptych-header{grid-template-columns:1fr}
  .triptych-col-header.neutral,
  .triptych-col-header.worst{display:none}
  .triptych-row-cells{grid-template-columns:1fr;gap:12px}
  .triptych-cell.neutral::before,
  .triptych-cell.worst::before{
    content:attr(data-state);display:block;
    font-size:10px;letter-spacing:3px;font-weight:600;margin-bottom:12px;
  }
}

/* ============ 视图 5：汇总对比 ============ */
.view-summary{padding:100px 40px 80px;overflow-y:auto}
.summary-wrap{max-width:920px;margin:0 auto}
.summary-title{font-size:40px;letter-spacing:-1px;margin-bottom:14px;line-height:1.15}
.summary-sub{
  font-size:14px;color:var(--text-sec);margin-bottom:48px;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;
}
.compare-cards{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px;
}
.compare-card{
  background:#fff;border:1px solid var(--border);
  padding:40px 36px;border-radius:2px;position:relative;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.compare-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 60px -28px rgba(0,0,0,0.12);
}
.compare-card.best{border-top:3px solid #34C759}
.compare-card.worst{border-top:3px solid #FF3B3B}
.compare-tag{
  font-size:10px;letter-spacing:4px;text-transform:uppercase;
  font-weight:500;margin-bottom:20px;
}
.compare-card.best .compare-tag{color:#34C757}
.compare-card.worst .compare-tag{color:#FF3B3B}
.compare-branch{
  font-family:'Cormorant Garamond',serif;font-size:32px;
  font-weight:400;color:var(--text);margin-bottom:18px;
}
.compare-reason{font-size:13.5px;color:var(--text-sec);line-height:1.9;margin-bottom:24px}
.compare-key{
  padding-top:20px;border-top:1px solid var(--border);
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:15px;color:var(--text);
}
.compare-key-label{
  font-style:normal;font-family:'Manrope',sans-serif;
  font-size:10px;letter-spacing:3px;color:var(--text-dim);
  text-transform:uppercase;display:block;margin-bottom:8px;
}
.summary-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:40px;border-top:1px solid var(--border);gap:24px;flex-wrap:wrap;
}
.summary-footer .philosophy{margin-top:0}

/* ============ 入场动画 ============ */
.reveal-up{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-up.visible{opacity:1;transform:translateY(0)}

/* ============ 滚动条 ============ */
.view::-webkit-scrollbar{width:6px}
.view::-webkit-scrollbar-track{background:transparent}
.view::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.08);border-radius:3px}
.view::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.15)}

/* ============ 响应式 ============ */
@media(max-width:900px){
  /* 棱镜在移动端不隐藏，改为顶部装饰，缩小 */
  .view-input{
    flex-direction:column;justify-content:flex-start;
    padding-top:80px;overflow-y:auto;
  }
  .prism-bg{
    position:relative;left:auto;top:auto;height:auto;width:100%;
    display:flex;justify-content:center;margin-bottom:20px;
  }
  .prism-bg svg{max-width:200px}
  .input-wrap{margin-left:0;padding:0 8vw;max-width:none}
  .input-title{font-size:48px}
  .tree-title,.summary-title{font-size:30px}
  .detail-branch-name{font-size:40px}
  .compare-cards{grid-template-columns:1fr}
  .topbar{padding:18px 24px}
  .view-tree,.view-detail,.view-summary{padding-left:24px;padding-right:24px}

  /* 决策树在移动端横向可滚动，保持原始尺寸不缩小 */
  .tree-canvas{
    overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    justify-content:flex-start;padding-bottom:12px;
  }
  .tree-canvas svg{
    min-width:860px;width:860px;max-width:860px;
  }
  /* 滚动提示渐变 */
  .tree-canvas::-webkit-scrollbar{height:4px}
  .tree-canvas::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12);border-radius:2px}
}
