#companion-flow.active { height:100%; display:flex; flex-direction:column; padding:0; font:14px/1.48 Roboto,"PingFang SC",sans-serif; color:#202a23; }
#companion-flow.mint { background:linear-gradient(155deg,#e6f2e2 0,#f5f8ef 28%,#f4f6f2 60%); }
#companion-flow.blue { background:linear-gradient(155deg,#e6f2f5,#f7f8f4 36%); }
#companion-flow.warm { background:linear-gradient(155deg,#faecd9,#f9f7f3 35%); }
#companion-flow .cx-nav { height:49px;flex:none;display:flex;align-items:center;padding:0 15px;gap:8px; }
#companion-flow .cx-nav b { font-size:18px; }
#companion-flow .cx-nav .end { margin-left:auto;font-weight:650;color:#3a7428;font-size:13px; }
#companion-flow .cx-body { padding:5px 14px 12px;flex:1;min-height:0;overflow:hidden; }
#companion-flow .cx-card { background:#fff;border-radius:17px;margin:0 0 10px;box-shadow:0 3px 13px #28432b09;border:1px solid #e6ece251;padding:14px; }
#companion-flow .cx-hero { background:#fff;border-radius:17px;margin:0 0 10px;box-shadow:0 3px 13px #28432b09;border:1px solid #e6ece251;padding:14px; }
#companion-flow .cx-hero { display:flex;align-items:center;gap:13px;padding:14px 13px; }
#companion-flow .cx-hero>div:first-child { flex:1; }
#companion-flow .cx-hero h1 { font-size:27px;line-height:1.24;margin:4px 0 6px;letter-spacing:-1px; }
#companion-flow h1 { font-size:27px;line-height:1.24;margin:4px 0 6px;letter-spacing:-1px; }
#companion-flow h2 { font-size:17px;line-height:1.35;margin:0 0 9px; }
#companion-flow h3 { font-size:15px;margin:0; }
#companion-flow p { margin:4px 0; }
#companion-flow .cx-sub { font-size:12px;color:#69766a; }
#companion-flow small { font-size:12px;color:#69766a; }
#companion-flow time { font-size:12px;color:#69766a; }
#companion-flow .quiet { color:#61715f; }
#companion-flow .art { width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply; }
#companion-flow .large { width:118px;height:118px;object-fit:contain;mix-blend-mode:multiply; }
#companion-flow .cx-avatar { width:45px;height:45px;object-fit:cover;border-radius:50%; }
#companion-flow .thumb { width:74px;height:55px;border-radius:9px;object-fit:cover; }
#companion-flow .bigphoto { display:block;width:100%;height:110px;object-fit:cover;border-radius:11px;margin-bottom:9px; }
#companion-flow .h { display:flex;justify-content:space-between;align-items:center;gap:9px; }
#companion-flow .h h2 { margin:0; }
#companion-flow .cx-row { display:flex;align-items:center;gap:10px;min-height:47px; }
#companion-flow .cx-row+.cx-row { border-top:1px solid #edf0e9; }
#companion-flow .cx-line+.cx-line { border-top:1px solid #edf0e9; }
#companion-flow .cx-row .txt { flex:1;min-width:0; }
#companion-flow .cx-row strong { display:block; }
#companion-flow .cx-row small { display:block; }
#companion-flow .sym { height:34px;width:34px;display:grid;place-items:center;background:#eff6e9;color:#53873a;border-radius:10px;flex:none; }
#companion-flow .cx-row .chev { color:#849181;display:flex; }
#companion-flow .green { color:#398322; }
#companion-flow .cx-tag { display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;line-height:1.3;background:#eaf5df;color:#41752d;font-size:11px;font-weight:650; }
#companion-flow .amber { background:#fff0d5;color:#98651d; }
#companion-flow .grey { color:#65746c;background:#eff2ed; }
#companion-flow .bluetag { color:#346f85;background:#e8f2f5; }
#companion-flow .cx-line { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0; }
#companion-flow .cx-line span:first-child { color:#657363; }
#companion-flow .link { font-size:12px;color:#408326;font-weight:650; }
#companion-flow .pillbtn { display:inline-flex;justify-content:center;align-items:center;gap:5px;border-radius:11px;padding:8px 13px;font-weight:650;min-height:35px; }
#companion-flow .solid { display:inline-flex;justify-content:center;align-items:center;gap:5px;border-radius:11px;padding:8px 13px;font-weight:650;min-height:35px; }
#companion-flow .outline { display:inline-flex;justify-content:center;align-items:center;gap:5px;border-radius:11px;padding:8px 13px;font-weight:650;min-height:35px; }
#companion-flow .solid { background:#438c25;color:white; }
#companion-flow .outline { border:1px solid #bdceb5;color:#3d692d;background:white; }
#companion-flow .pillbtn { background:#ecf5e4;color:#387822; }
#companion-flow .buttons { display:flex;gap:8px;align-items:stretch;margin-top:10px; }
#companion-flow .buttons>* { flex:1; }
#companion-flow .cx-actions { flex:none;display:flex;align-items:stretch;gap:9px;padding:10px 15px 12px;background:#fff;border-top:1px solid #e5ebe2; }
#companion-flow .cx-actions>* { flex:1;min-height:44px; }
#companion-flow .avatarbox { display:flex;align-items:center;gap:13px;padding:3px 0 11px; }
#companion-flow .avatarbox .large { height:85px;width:85px;border-radius:50%;background:#f0f7e9; }
#companion-flow .cx-field { display:block;padding:9px 0;border-bottom:1px solid #edf1e8; }
#companion-flow .cx-field:last-child { border:none; }
#companion-flow .cx-field label { display:block;color:#6a776a;font-size:12px;margin-bottom:3px; }
#companion-flow .cx-field b { font-size:15px; }
#companion-flow .chips { display:flex;gap:6px;flex-wrap:wrap; }
#companion-flow .cx-chip { background:#f1f4ed;color:#53634f;border:1px solid #e6ece2;border-radius:16px;padding:5px 10px;font-size:12px; }
#companion-flow .cx-chip.on { background:#e3f1da;border-color:#a4c68d;color:#377222;font-weight:bold; }
#companion-flow .switch { display:inline-flex;height:22px;width:39px;border-radius:20px;background:#509331;padding:3px;align-items:center;justify-content:flex-end; }
#companion-flow .switch i { height:16px;width:16px;border-radius:100%;background:#fff; }
#companion-flow .switch.off { background:#bbc4b7;justify-content:flex-start; }
#companion-flow .check { background:#4b8c31;border-radius:5px;width:20px;height:20px;display:grid;place-items:center;color:white; }
#companion-flow .uncheck { display:inline-block;width:20px;height:20px;border:1.5px solid #c7cfc2;border-radius:5px; }
#companion-flow .note { padding:10px 12px;border-radius:10px;background:#f2f6ee;color:#52664e;font-size:12px;line-height:1.55; }
#companion-flow .warn { background:#fff3dd;color:#805e2f; }
#companion-flow .kpi { display:flex;padding:10px 0 0;gap:7px; }
#companion-flow .kpi>div { background:#f4f8ee;border-radius:12px;flex:1;padding:8px 11px; }
#companion-flow .kpi b { font:700 22px Arial;display:block; }
#companion-flow .kpi small { font-size:11px; }
#companion-flow .tabs { display:flex;gap:6px;padding:4px;background:#e9eee5;border-radius:13px;margin:0 0 11px; }
#companion-flow .tabs span { flex:1;text-align:center;font-size:13px;padding:6px 4px;color:#667261; }
#companion-flow .tabs span.on { color:#326923;background:#fff;border-radius:10px;font-weight:650; }
#companion-flow .who { font-size:11px;color:#6c796d;margin:8px 0 3px; }
#companion-flow .bubble { padding:10px 12px;border-radius:13px;background:#fff;border:1px solid #e3eadf;max-width:88%;font-size:14px;line-height:1.62; }
#companion-flow .mineb { background:#e1f1d5;border-color:#d8e9ca;margin-left:auto; }
#companion-flow .right { text-align:right; }
#companion-flow .msg { margin-block:7px; }
#companion-flow .source { font-size:11px;color:#55754a;margin:4px 0 0; }
#companion-flow .composer { display:flex;align-items:center;gap:8px;background:#fff;border-top:1px solid #e4e9df;padding:10px 14px; }
#companion-flow .composer .cx-input { flex:1;padding:10px 12px;background:#f1f5ed;border-radius:11px;color:#687467; }
#companion-flow .composer .send { color:white;background:#4b8e2e;border-radius:10px;padding:9px 12px; }
#companion-flow .agent { display:flex;align-items:center;gap:8px; }
#companion-flow .agent .art { width:53px;height:53px; }
#companion-flow .agent .txt { flex:1; }
#companion-flow .agent h3 { font-size:16px; }
#companion-flow .agent .link { white-space:nowrap; }
#companion-flow .subline { display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:8px 0 0;border-top:1px solid #edf0e8; }
#companion-flow .divider { height:1px;background:#e9eee5;margin:9px 0; }
#companion-flow .quote { border-left:3px solid #d1b47e;margin:10px 0;padding:8px 10px;background:#fff7e9;color:#624d32; }
#companion-flow .num { color:#428224;font-size:19px;font-weight:bold; }
#companion-flow .item { display:flex;align-items:center;gap:10px; }
#companion-flow .item>div { flex:1; }
#companion-flow .tile { display:flex;gap:10px;align-items:center;background:#f3f7ee;padding:10px;border-radius:11px;margin:7px 0; }
#companion-flow .minute { font-size:12px;color:#7c887b; }
#companion-flow .fill { flex:1; }
#companion-flow .cx-card .last { margin-bottom:0; }
#companion-flow .formbox { padding:11px;border:1px solid #ccddc3;border-radius:10px;background:#f7faf4;margin:8px 0;line-height:1.6; }
#companion-flow .private { margin:7px 0 12px;color:#47733e;font-size:12px;display:flex;align-items:center;gap:5px; }
#companion-flow .chapter { font-size:19px;margin:14px 3px 8px; }
#companion-flow .intro { margin:3px 3px 12px; }
#companion-flow .realperson { color:#4e7040; }
#companion-flow .smallart { width:35px;height:35px;object-fit:contain;mix-blend-mode:multiply; }
#companion-flow * { box-sizing:border-box; }
#companion-flow .cx-body { overflow-y:auto; overscroll-behavior:contain; }
#companion-flow button { color:inherit; font:inherit; cursor:pointer; }
#companion-flow .cx-nav { flex:none; background:transparent; }
#companion-flow .cx-nav button { background:none; min-height:44px; padding:3px 5px; }
#companion-flow .cx-nav .end { font-size:13px; color:#3a7428; margin-left:auto; }
#companion-flow button.cx-row { width:100%; background:white; text-align:left; padding:4px 0; }
#companion-flow .cx-row { margin:0; border-radius:0; border-left:0; border-right:0; border-bottom:0; }
#companion-flow .cx-row .txt { min-width:0; }
#companion-flow .cx-row small { overflow-wrap:anywhere; }
#companion-flow .solid,#companion-flow .send { color:white; background:#448b28; }
#companion-flow .outline { color:#395f29; background:white; }
#companion-flow .link { background:none; color:#408326; min-height:40px; }
#companion-flow .cx-actions,.flow-screen #companion-flow .composer { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
#companion-flow .cx-field input,#companion-flow textarea,#companion-flow select { font:inherit; width:100%; padding:8px; border:1px solid #d9e5d2; background:#f7faf4; border-radius:8px; color:#253121; }
#companion-flow .composer input { min-width:0; border:0; height:44px; font:inherit; }
#companion-flow button:focus-visible,#companion-flow input:focus-visible,#companion-flow select:focus-visible,#companion-flow textarea:focus-visible {outline:2px solid #517f3c;}
#companion-flow .cx-actions button { min-height:44px; }
#companion-flow button:disabled {opacity:.55; cursor:default;}
#companion-flow .cx-note { color:#62735b; padding:6px 1px; }
#companion-flow .wrap {overflow-wrap:anywhere;white-space:pre-wrap;}
#companion-flow .cx-photo { position:relative; display:inline-flex; align-items:center; min-height:44px; color:#398322; }
#companion-flow .cx-photo input {position:absolute; inset:0; width:100%; opacity:0;}
#companion-flow .cx-hero .large,#companion-flow .avatarbox .large { border-radius:15px; }
#companion-flow .cx-check { width:19px; height:19px; accent-color:#46892c; flex:none; }
#companion-flow .cx-card details>summary { padding:7px 0; color:#427736; cursor:pointer; }
#companion-flow .cx-headimg { max-width:42%; }
#companion-flow .cx-hero h1,#companion-flow .cx-field,#companion-flow .bubble {overflow-wrap:anywhere;}
#companion-flow .cx-hero h1 {font-size:25px;}
#companion-flow .switch { padding:3px; min-width:39px; }
#companion-flow .cx-toggle { padding:6px; min-height:44px; background:transparent; }
#companion-flow button.cx-chip { min-height:38px; }
#companion-flow .item .thumb {flex:none}
#companion-flow .tabs button {flex:1;padding:8px 4px;border-radius:10px;background:none;}
#companion-flow .tabs button.on {background:white;color:#387129;font-weight:650;}

#companion-flow .intro { display:block; }
#companion-flow .intro h1 { margin:4px 0 7px; font-size:24px; line-height:1.3; }

#companion-flow .cx-characters { display:flex; gap:8px; margin:0 0 10px; }
#companion-flow .cx-character {
  flex:1; display:flex; justify-content:center; align-items:center; gap:8px;
  min-height:46px; padding:4px 8px; border:1px solid #dce5d6; border-radius:12px;
  color:#52614b; background:white; font-size:14px;
}
#companion-flow .cx-character[aria-pressed="true"] { background:#eef7e7; border-color:#6b9d53; color:#376925; font-weight:650; }
#companion-flow .cx-choice-image { width:32px; height:32px; border-radius:50%; }
#companion-flow .cx-chat-avatar { border-radius:50%; object-fit:cover; }
