@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');

:root { --ink:#123e3c; --ink-deep:#0b302f; --muted:#758685; --paper:#f7f2e8; --paper-deep:#eee8dc; --white:#fffdf8; --line:#dbe1d9; --mint:#dcebe0; --mint-deep:#b9d9ca; --coral:#ed775b; --coral-soft:#f9ddd3; --gold:#e4b45c; --shadow:0 18px 50px rgba(18,62,60,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Noto Sans TC','Manrope',sans-serif; font-size:14px; }
button, textarea { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:flex; }
.sidebar { width:256px; flex:0 0 256px; background:var(--ink); color:#edf5e9; padding:33px 24px 26px; display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0; height:100vh; }
.brand-lockup { display:flex; align-items:flex-start; gap:13px; }
.brand-mark { width:35px; height:35px; display:grid; grid-template-columns:repeat(3,1fr); gap:3px; align-items:end; padding:5px 4px; border:1px solid rgba(236,245,232,.35); border-radius:11px; }
.brand-mark span { display:block; background:#e9f1e7; border-radius:2px; }.brand-mark span:nth-child(1){height:45%}.brand-mark span:nth-child(2){height:72%}.brand-mark span:nth-child(3){height:100%}
.eyebrow,.section-kicker,.sidebar-label,.breadcrumb,.required-tag,.field-foot,.draft-status,.analysis-stamp,.card-heading p,.guide-hero-meta,.button-hint,.live-pill,.nav-item,.sidebar-bottom,.goal-note,.topic-label,.model-label,.section-note { font-family:'DM Mono','Noto Sans TC',monospace; letter-spacing:.045em; }
.eyebrow { margin:0 0 5px; font-size:9px; opacity:.58; }.brand-lockup h1 { margin:0; font-size:22px; line-height:.93; letter-spacing:-.04em; font-weight:800; }.brand-lockup h1 em { font-style:normal; color:#a9d4bb; font-size:18px; font-weight:500; }
.sidebar-rule { height:1px; background:rgba(236,245,232,.16); margin:34px 0 22px; }.sidebar-label { font-size:10px; color:#96b1a2; text-transform:uppercase; margin-bottom:11px; }
.nav-list { display:flex; flex-direction:column; gap:6px; }.nav-item { text-align:left; border:0; border-radius:10px; background:transparent; color:#bad0c3; padding:12px 13px; display:flex; gap:11px; align-items:center; font-size:12px; transition:.2s; }.nav-item:hover,.nav-item.active { color:var(--ink); background:#e7f0e5; }.nav-icon { width:20px; height:20px; border:1px solid currentColor; border-radius:6px; display:inline-grid; place-items:center; font-family:'Manrope'; font-weight:700; font-size:13px; }
.sidebar-bottom { margin-top:auto; }.privacy-note { display:flex; gap:10px; align-items:flex-start; padding:13px 0 18px; border-top:1px solid rgba(236,245,232,.16); }.status-dot { width:8px; height:8px; border-radius:50%; background:#a9d4bb; box-shadow:0 0 0 4px rgba(169,212,187,.12); margin:4px 0 0 2px; }.privacy-note strong,.privacy-note small { display:block; }.privacy-note strong { font-size:11px; font-family:'Noto Sans TC'; font-weight:600; }.privacy-note small { margin-top:4px; color:#91ada0; font-size:10px; line-height:1.4; }.crm-note { color:#779388; font-size:10px; line-height:1.7; margin:0; }
.main-content { flex:1; min-width:0; }.topbar { max-width:1490px; margin:0 auto; padding:36px 46px 25px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:25px; align-items:flex-end; }.breadcrumb { color:#91a09c; font-size:10px; margin:0 0 18px; }.breadcrumb span { padding:0 8px; color:#b6bfba; }.headline-row { display:flex; gap:14px; align-items:center; }.headline-row h2 { margin:0; font-size:31px; letter-spacing:-.06em; line-height:1.15; font-weight:800; }.topbar-subtitle { color:var(--muted); margin:9px 0 0; line-height:1.65; font-size:12px; }.live-pill { border:1px solid var(--mint-deep); color:#51806e; border-radius:20px; padding:5px 8px 5px 7px; white-space:nowrap; font-size:9px; }.live-pill span { width:5px;height:5px;display:inline-block;border-radius:50%;background:#4d9c73;margin:0 5px 1px 0; }.top-actions { display:flex; gap:9px; flex-shrink:0; }.button { border:1px solid transparent; padding:11px 14px; border-radius:9px; font-weight:700; font-size:12px; transition:.2s; }.button-symbol { font-size:17px; vertical-align:-1px; margin-right:4px; }.button-primary { background:var(--ink); color:#f4f7ed; }.button-primary:hover { background:#1d5a56; transform:translateY(-1px); }.button-secondary { background:transparent; color:var(--ink); border-color:#cfd9d1; }.button-secondary:hover { border-color:var(--ink); background:rgba(255,255,255,.4); }
.workspace-view,.guide-view { max-width:1490px; margin:0 auto; padding:30px 46px 70px; }.workspace-grid { display:grid; grid-template-columns:minmax(360px, .95fr) minmax(460px, 1.12fr); gap:31px; align-items:start; }.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:14px; }.section-kicker { margin:0 0 7px; font-size:9px; color:#a0715f; text-transform:uppercase; }.section-heading h3 { margin:0; font-size:21px; letter-spacing:-.045em; }.draft-status,.analysis-stamp { color:#9ba8a0; font-size:9px; white-space:nowrap; padding-bottom:3px; }.analysis-stamp { color:#739187; }.form-card { background:var(--white); border:1px solid rgba(208,218,207,.8); border-radius:14px; margin-bottom:13px; padding:18px 19px; box-shadow:0 7px 22px rgba(18,62,60,.025); }.card-heading { display:flex; gap:10px; align-items:center; margin-bottom:14px; }.card-heading h4 { margin:0 0 3px; font-size:14px; letter-spacing:-.025em; }.card-heading p { margin:0; color:#96a39d; font-size:9px; line-height:1.5; }.card-icon { width:31px;height:31px;display:grid;place-items:center;border-radius:9px; font-size:19px; flex:0 0 31px; }.quote-icon { background:#f9ddd3;color:#c7624b; font-family:Georgia,serif; }.signal-icon { background:#dcebe0;color:#367c67; }.detail-icon { background:#e7ecf4;color:#55718b; }.goal-icon { background:#f3e5c8;color:#aa7729; }.required-tag { margin-left:auto; color:#bb735f; background:#fff0ea; padding:4px 6px; border-radius:4px; font-size:8px; }
textarea { width:100%; resize:vertical; border:1px solid #e1e6df; background:#fbfcf8; border-radius:8px; padding:12px 13px; outline:none; color:var(--ink); line-height:1.7; font-size:12px; transition:.2s; min-height:75px; }.quote-card textarea { min-height:112px; }.details-card textarea { min-height:92px; }textarea:focus { border-color:#80af98; box-shadow:0 0 0 3px rgba(128,175,152,.13); background:white; }textarea::placeholder { color:#b5bfba; }.field-foot { display:flex; justify-content:space-between; margin-top:7px; color:#aab4ae; font-size:8px; }
.behavior-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.behavior-group { border:1px solid #e1e8e1; border-radius:10px; overflow:hidden; }.behavior-group.open { border-color:#9cc8b0; box-shadow:0 0 0 2px rgba(156,200,176,.13); }.behavior-parent { width:100%; text-align:left; background:#fbfcf8; border:0; padding:10px 11px; display:flex; align-items:center; gap:8px; color:var(--ink); }.behavior-parent:hover { background:#f0f6ef; }.parent-dot { width:8px;height:8px;border-radius:50%; background:#b7c7bc; }.behavior-group.open .parent-dot { background:#4c9874; }.parent-name { font-weight:700; font-size:11px; flex:1; }.parent-count { color:#9aa9a0; font-size:9px; }.chevron { font-size:12px; color:#8c9d92; transition:.2s; }.behavior-group.open .chevron { transform:rotate(180deg); }.behavior-options { display:none; padding:1px 10px 9px; background:#fbfcf8; }.behavior-group.open .behavior-options { display:block; }.behavior-option { display:flex; align-items:center; gap:7px; color:#60766b; font-size:10px; padding:6px 2px; cursor:pointer; }.behavior-option input { accent-color:#2f866b; width:13px;height:13px; }.selected-behaviors { display:flex; flex-wrap:wrap; gap:5px; min-height:25px; margin-top:10px; }.selected-behavior,.goal-choice { border:1px solid #b8d9c6; background:#edf7f0; color:#2e745b; border-radius:99px; padding:5px 8px; font-size:9px; }.empty-selection { color:#aab4ae; font-size:9px; padding:5px 2px; }.context-chips { display:flex; gap:6px; flex-wrap:wrap; margin-top:9px; }.quick-chip { color:#668477; background:transparent; border:1px dashed #b7cec0; border-radius:99px; font-size:9px; padding:5px 8px; }.quick-chip:hover { background:#edf7f0; border-style:solid; }.goal-options { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }.goal-option { position:relative; }.goal-option input { position:absolute; opacity:0; }.goal-label { display:block; border:1px solid #e0e7df; border-radius:9px; padding:10px 11px; color:#587166; font-size:11px; line-height:1.4; cursor:pointer; height:100%; transition:.2s; }.goal-label:hover { border-color:#9ac4ac; background:#f6fbf5; }.goal-option input:checked + .goal-label { border-color:#5a9d7b; background:#edf7f0; color:#206c50; box-shadow:inset 0 0 0 1px #5a9d7b; }.goal-note { display:block; color:#98a79e; font-size:8px; margin-top:3px; }
.generate-button { border:0; width:100%; border-radius:12px; color:#f4f8ee; background:linear-gradient(105deg,#0b3b3a 0%,#1e6960 100%); padding:16px 17px; display:flex; align-items:center; text-align:left; gap:11px; box-shadow:0 10px 24px rgba(11,59,58,.18); transition:.2s; }.generate-button:hover { transform:translateY(-2px); box-shadow:0 13px 30px rgba(11,59,58,.24); }.generate-button:disabled { opacity:.6; transform:none; cursor:wait; }.sparkle { color:#e6bd69; font-size:21px; }.generate-button strong,.generate-button small { display:block; }.generate-button strong { font-size:13px; }.generate-button small { color:#add1bd; margin-top:3px; font-size:9px; }.generate-button .arrow { margin-left:auto; font-size:20px; }.button-hint { text-align:center; color:#a1aca4; font-size:8px; margin:9px 0; }
.result-column { min-width:0; }.empty-result { min-height:540px; border:1px dashed #c8d4cb; border-radius:16px; background:rgba(255,253,248,.42); display:flex; align-items:center; flex-direction:column; justify-content:center; padding:40px 60px; text-align:center; }.empty-orbit { width:80px;height:80px;position:relative;margin-bottom:20px; }.empty-orbit span { position:absolute; inset:0; border:1px solid #a8c5b1; border-radius:50%; transform:rotate(30deg) scaleX(.45); }.empty-orbit span:nth-child(2){transform:rotate(90deg) scaleX(.45)}.empty-orbit span:nth-child(3){transform:rotate(150deg) scaleX(.45)}.empty-orbit b { position:absolute; inset:0; display:grid; place-items:center; color:#43826c; font-size:28px; font-weight:400; }.empty-result h4 { margin:0 0 8px; font-size:16px; }.empty-result p { color:#84948b; font-size:11px; line-height:1.8; max-width:360px; margin:0; }.empty-tip { background:#f1eadc; color:#827b6d; border-radius:8px; font-size:10px; padding:9px 12px; margin-top:22px; line-height:1.5; }.empty-tip span { color:#bd8059; font-family:'DM Mono'; font-size:8px; margin-right:5px; }
.analysis-result { display:flex; flex-direction:column; gap:12px; }.hidden { display:none !important; }.analysis-card { background:var(--white); border:1px solid rgba(208,218,207,.8); border-radius:14px; padding:17px 19px; box-shadow:0 7px 22px rgba(18,62,60,.025); }.analysis-summary { background:var(--ink); color:#eff6eb; padding:20px 21px; border-radius:14px; position:relative; overflow:hidden; }.analysis-summary:after { content:''; position:absolute; width:170px;height:170px; border:1px solid rgba(177,218,187,.2); border-radius:50%; right:-60px; top:-80px; }.summary-label { font-family:'DM Mono'; font-size:9px; color:#9ac7ae; letter-spacing:.07em; margin-bottom:8px; }.analysis-summary h4 { margin:0; font-size:19px; letter-spacing:-.045em; max-width:80%; line-height:1.35; }.analysis-summary p { color:#b5d1bf; font-size:11px; line-height:1.7; max-width:86%; margin:9px 0 0; }.three-models { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.model-card { background:#fffdf8; border:1px solid #d8e2d9; border-radius:12px; padding:14px 13px; min-height:150px; position:relative; overflow:hidden; }.model-card:before { content:''; position:absolute; width:44px;height:44px; border:1px solid #c7dfcf; border-radius:50%; top:-18px;right:-12px; }.model-label { color:#8b9c93; font-size:8px; }.model-card h5 { margin:10px 0 6px; font-size:14px; line-height:1.35; }.model-card p { color:#71837a; font-size:10px; line-height:1.6; margin:0; }.model-card .model-tag { display:inline-block; margin-top:10px; padding:4px 6px; background:#edf6ef; color:#39775c; border-radius:4px; font-size:9px; }.model-card.strategy { background:#fff8ef; border-color:#ead8bc; }.model-card.strategy:before { border-color:#ecd0a7; }.model-card.strategy .model-tag { background:#fbe9d6;color:#ae6a38; }
.result-block h4 { margin:0; font-size:12px; }.result-block-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; }.result-block-head span { color:#9ba9a0; font-size:9px; }.evidence-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }.evidence-box { border-radius:9px; padding:11px 12px; }.evidence-box strong { display:block; font-size:10px; margin-bottom:6px; }.evidence-box p { margin:0; color:#718078; font-size:10px; line-height:1.6; }.evidence-fact { background:#eef7f0; border-left:3px solid #76b28e; }.evidence-infer { background:#f7f0e6; border-left:3px solid #d8aa65; }.question-list,.action-list { margin:0; padding:0; list-style:none; display:grid; gap:7px; }.question-list li { padding:9px 10px; background:#f5f7f3; border-radius:8px; color:#506a5e; font-size:10px; line-height:1.55; }.question-list li:before { content:'？'; color:#bf795e; font-weight:700; margin-right:6px; }.topic-list { display:grid; gap:8px; }.topic-item { border:1px solid #e1e6de; border-radius:9px; padding:11px 12px; display:flex; gap:10px; align-items:flex-start; }.topic-number { width:21px;height:21px;flex:0 0 21px;display:grid;place-items:center;border-radius:6px;background:#f4e5d8;color:#bb6d4e;font-family:'DM Mono';font-size:9px; }.topic-item strong { display:block; font-size:11px; margin-bottom:4px; }.topic-item p { margin:0;color:#718078;font-size:10px;line-height:1.5; }.topic-label { display:inline-block; font-size:8px; color:#a86e4f; margin-bottom:4px; }.action-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:9px; }.action-main { background:#eff6ef; border-radius:9px; padding:12px; }.action-main strong,.action-side strong { display:block; font-size:10px; margin-bottom:6px; }.action-main p,.action-side p { margin:0; font-size:10px; line-height:1.65; color:#5f766a; }.action-side { padding:12px; background:#fff2ed; border-radius:9px; }.action-side strong { color:#a96553; }.compliance { background:#f8efe6; border:1px solid #ecd8c5; }.compliance h4 { color:#a66548; }.compliance p { color:#836d5f; font-size:10px; line-height:1.7; margin:7px 0 0; }.upgrade-box { margin-top:10px; padding:10px 12px; border-top:1px solid #e2e7df; color:#718078; font-size:10px; line-height:1.6; }
.guide-view { max-width:1050px; }.guide-hero { background:var(--ink); color:#eff6eb; padding:36px 42px; border-radius:17px; position:relative; overflow:hidden; }.guide-hero:after { content:''; position:absolute; width:350px;height:350px;border:1px solid rgba(182,220,190,.22);border-radius:50%;right:-130px;top:-160px; }.guide-hero h3 { margin:0; font-size:31px; letter-spacing:-.06em; }.guide-hero > p:not(.section-kicker) { max-width:590px; color:#b4d1be; font-size:12px; line-height:1.8; margin:13px 0 0; }.guide-hero .section-kicker { color:#9dcaad; }.guide-hero-meta { display:flex; gap:17px; color:#99b8a5; font-size:9px; margin-top:24px; }.guide-content { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; margin-top:18px; }.guide-section { background:var(--white); border:1px solid var(--line); border-radius:13px; padding:19px 20px; }.guide-section.full { grid-column:1/-1; }.guide-section h4 { margin:0 0 10px; font-size:14px; }.guide-section p,.guide-section li { color:#6e8177; font-size:11px; line-height:1.75; }.guide-section p { margin:0; }.guide-section ul { margin:0; padding-left:18px; }.guide-step { display:flex; gap:10px; margin-bottom:11px; }.guide-step:last-child { margin-bottom:0; }.guide-step b { flex:0 0 24px;width:24px;height:24px;border-radius:7px;background:#edf6ef;display:grid;place-items:center;color:#3e7e60;font-family:'DM Mono';font-size:10px; }.guide-step p { margin:0; }.guide-callout { background:#f7f0e6; border-radius:9px; padding:12px 13px; color:#856f5d; font-size:10px; line-height:1.7; margin-top:12px; }
.toast { position:fixed; bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#eff6eb;border-radius:8px;padding:10px 15px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow);z-index:10; }.toast.show { opacity:1;transform:translate(-50%,0); }
@media (max-width:1120px){.sidebar{width:214px;flex-basis:214px}.topbar,.workspace-view,.guide-view{padding-left:28px;padding-right:28px}.workspace-grid{grid-template-columns:1fr}.result-column{max-width:none}.empty-result{min-height:340px}.three-models{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.app-shell{display:block}.sidebar{width:100%;height:auto;min-height:0;position:relative;padding:19px 20px 15px}.brand-lockup h1{font-size:18px}.sidebar-rule,.sidebar-label,.sidebar-bottom{display:none}.nav-list{position:absolute;right:16px;top:17px;flex-direction:row}.nav-item{font-size:0;padding:7px}.nav-item .nav-icon{font-size:12px}.topbar{padding:26px 18px 22px;display:block}.headline-row h2{font-size:25px}.top-actions{margin-top:18px}.top-actions .button{flex:1}.workspace-view,.guide-view{padding:23px 15px 45px}.workspace-grid{gap:23px}.behavior-groups,.goal-options,.evidence-grid,.action-grid,.guide-content{grid-template-columns:1fr}.guide-section.full{grid-column:auto}.section-heading{align-items:flex-start}.three-models{grid-template-columns:1fr}.model-card{min-height:0}.empty-result{padding:34px 25px}.guide-hero{padding:28px 24px}.guide-hero h3{font-size:26px}.guide-hero-meta{gap:10px;flex-wrap:wrap}.form-card{padding:15px}.topbar-subtitle{font-size:11px}}

/* 直接回答與知識中心 */
.response-style-card { background:#f1f7f0; border-color:#cfe4d3; }.response-icon { background:#d8eadc; color:#39765b; }.response-select { width:100%; border:1px solid #cfe0d3; background:#fffdf8; color:var(--ink); border-radius:8px; padding:10px 11px; outline:none; font-size:11px; }.response-select:focus { border-color:#70aa89; box-shadow:0 0 0 3px rgba(112,170,137,.12); }
.direct-answer { background:#0f4744; color:#eef8ef; border:0; box-shadow:0 14px 30px rgba(11,59,58,.15); }.direct-answer .result-block-head { align-items:flex-start; }.direct-answer h4 { color:#eff8ee; font-size:14px; }.answer-intent { display:block; margin-top:5px; color:#a9cfb5; font-size:9px; line-height:1.5; max-width:470px; }.copy-answer { border:1px solid rgba(213,237,213,.38); background:rgba(255,255,255,.08); color:#eef8ef; border-radius:7px; padding:7px 9px; font-size:10px; white-space:nowrap; }.copy-answer:hover { background:rgba(255,255,255,.18); }.answer-copy { font-size:13px; line-height:1.9; color:#f4f8ed; margin:17px 0 0; max-width:800px; }.answer-foot { border-top:1px solid rgba(207,233,211,.18); margin-top:15px; padding-top:11px; color:#b5d6bd; font-size:10px; line-height:1.6; }.demand-card h5 { margin:0 0 8px; font-size:14px; }.demand-card p,.comparison-card p { margin:7px 0 0; color:#6e8177; font-size:10px; line-height:1.7; }.demand-card strong { color:#3d6656; }.comparison-card { background:#fffaf0; border-color:#ecdcbf; }.comparison-pills { display:flex; gap:6px; flex-wrap:wrap; }.comparison-pills span { border:1px solid #e5cfae; color:#a16b43; background:#fff2df; border-radius:99px; padding:6px 9px; font-size:9px; }
.library-view { max-width:1490px; margin:0 auto; padding:30px 46px 70px; }.library-hero { display:flex; justify-content:space-between; gap:25px; background:var(--ink); color:#eff6eb; border-radius:17px; padding:28px 32px; position:relative; overflow:hidden; }.library-hero:after { content:''; position:absolute; width:250px; height:250px; border:1px solid rgba(182,220,190,.22); border-radius:50%; right:-90px; top:-140px; }.library-hero h3 { margin:0; font-size:27px; letter-spacing:-.055em; }.library-hero p:not(.section-kicker) { max-width:640px; color:#b4d1be; line-height:1.8; font-size:11px; margin:10px 0 0; }.library-hero .section-kicker { color:#9dcaad; }.library-stat { display:grid; grid-template-columns:auto auto; gap:3px 10px; align-content:center; min-width:145px; position:relative; z-index:1; }.library-stat strong { color:#e7c778; font-size:22px; line-height:1; }.library-stat span { color:#9fc2ac; font-size:9px; align-self:end; padding-bottom:3px; }.library-toolbar { display:flex; justify-content:space-between; align-items:center; gap:13px; margin:18px 0 13px; }.library-search { display:flex; align-items:center; gap:8px; flex:1; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:0 12px; max-width:650px; }.library-search span { color:#80a08e; font-size:19px; }.library-search input { border:0; background:transparent; outline:0; width:100%; padding:11px 0; color:var(--ink); font-size:11px; }.library-search input::placeholder { color:#abb7af; }.library-tabs { display:flex; background:#e8eee8; border-radius:9px; padding:3px; }.library-tab { border:0; background:transparent; color:#73897c; border-radius:7px; padding:8px 11px; font-size:10px; }.library-tab.active { background:var(--white); color:var(--ink); box-shadow:0 2px 7px rgba(18,62,60,.08); }.library-layout { display:grid; grid-template-columns:minmax(310px,.75fr) minmax(500px,1.25fr); gap:13px; align-items:start; }.library-list { display:grid; gap:7px; max-height:720px; overflow:auto; padding-right:4px; }.library-item { text-align:left; border:1px solid #dce5dc; border-radius:10px; background:var(--white); padding:12px 13px; color:var(--ink); transition:.2s; }.library-item:hover,.library-item.selected { border-color:#74aa89; background:#f1f8f1; transform:translateX(2px); }.library-item-category { display:block; color:#aa7659; font-family:'DM Mono','Noto Sans TC',monospace; letter-spacing:.04em; font-size:8px; margin-bottom:5px; }.library-item strong { display:block; font-size:11px; line-height:1.5; }.library-item small { display:block; color:#82948a; font-size:9px; line-height:1.45; margin-top:5px; }.library-no-results { background:var(--white); border:1px dashed #cddbd0; border-radius:10px; padding:22px; color:#7d9185; font-size:11px; }.library-detail { background:var(--white); border:1px solid var(--line); border-radius:14px; padding:22px 24px; min-height:550px; box-shadow:var(--shadow); }.library-detail-empty { min-height:500px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:#82948a; }.library-detail-empty span { font-size:39px; color:#87ad97; }.library-detail-empty h4 { margin:13px 0 7px; color:var(--ink); font-size:16px; }.library-detail-empty p { max-width:310px; font-size:11px; line-height:1.7; }.detail-topline { display:flex; justify-content:space-between; align-items:center; gap:12px; }.library-detail h3 { margin:13px 0 17px; font-size:22px; letter-spacing:-.045em; line-height:1.35; }.detail-callout { background:#f5f0e5; border-radius:9px; padding:11px 13px; }.detail-callout span { color:#aa7659; font-family:'DM Mono'; font-size:8px; }.detail-callout p,.detail-section p,.detail-two-col p,.detail-warning p { color:#627a6c; font-size:11px; line-height:1.75; margin:5px 0 0; }.detail-section { border-top:1px solid #e4eae3; padding-top:16px; margin-top:16px; }.detail-section h4,.detail-two-col h4 { margin:0; font-size:12px; }.detail-answer { font-size:13px !important; color:#365f50 !important; line-height:1.9 !important; }.detail-two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; border-top:1px solid #e4eae3; padding-top:16px; margin-top:16px; }.detail-two-col ul { margin:8px 0 0; padding:0; list-style:none; display:grid; gap:6px; }.detail-two-col li { background:#f2f7f1; color:#5d7869; border-radius:7px; padding:7px 9px; font-size:10px; }.detail-two-col li:before { content:'✦'; color:#b7834e; margin-right:6px; }.detail-warning { background:#fff1e9; border-radius:9px; padding:11px 12px; margin-top:15px; }.detail-warning strong { color:#a96750; font-size:10px; }.detail-source { color:#9aa9a0; font-size:9px; margin-top:18px; }.detail-source a { color:#568a72; text-decoration:none; border-bottom:1px dashed #8ab69b; }.detail-source a:hover { color:#1e5f4c; }
@media (max-width:900px) { .library-view { padding:22px 18px 55px; }.library-hero { display:block; padding:24px; }.library-stat { margin-top:22px; }.library-toolbar { display:block; }.library-search { max-width:none; }.library-tabs { margin-top:10px; width:max-content; }.library-layout { grid-template-columns:1fr; }.library-list { max-height:350px; }.library-detail { min-height:0; }.detail-two-col { grid-template-columns:1fr; } }


/* Demo case showcase */
.demo-cases { margin: 0 0 28px; padding: 22px; border: 1px solid rgba(25, 72, 68, .14); border-radius: 24px; background: linear-gradient(110deg, #e7f0e9 0%, #f9f5ec 58%, #f0e7d7 100%); }
.demo-cases-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 16px; }
.demo-cases-heading h3 { margin: 3px 0 6px; }
.demo-cases-heading p:not(.section-kicker) { max-width: 620px; margin: 0; color: #55706a; font-size: 13px; }
.demo-count { padding: 8px 12px; border-radius: 99px; background: #fffdf8; color: #0d4a46; font-size: 12px; font-weight: 700; white-space: nowrap; }
.demo-case-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.demo-case { min-height: 142px; padding: 14px; border: 1px solid rgba(25, 72, 68, .12); border-radius: 16px; background: rgba(255, 253, 248, .78); transition: transform .2s ease, box-shadow .2s ease; }
.demo-case:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(22, 57, 51, .10); }
.demo-case-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.demo-case-top > span { color: #b86d51; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.demo-load { border: 0; border-bottom: 1px solid #0d4a46; background: transparent; color: #0d4a46; cursor: pointer; font-size: 11px; font-weight: 800; padding: 0 0 2px; }
.demo-case h4 { margin: 13px 0 7px; color: #173f3c; font-size: 14px; line-height: 1.35; }
.demo-case p { margin: 0; color: #687b73; font-size: 12px; line-height: 1.55; }
@media (max-width: 1100px) { .demo-case-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .demo-cases { padding: 16px; border-radius: 18px; } .demo-cases-heading { display: block; } .demo-count { display: inline-block; margin-top: 12px; } .demo-case-list { grid-template-columns: 1fr; } }

/* 主操作層級與多級示範案例中心 */
.button-new-analysis { min-width: 190px; padding-left: 18px; padding-right: 18px; box-shadow: 0 8px 18px rgba(11,59,58,.16); }
.button-compact { padding: 9px 11px; font-size: 11px; }
.case-library-view { max-width: 1490px; margin: 0 auto; padding: 30px 46px 70px; }
.case-library-hero { display:flex; justify-content:space-between; gap:28px; padding:30px 34px; color:#eff6eb; background:linear-gradient(112deg,#0b3b3a 0%,#1b615a 72%,#8d6f4a 160%); border-radius:17px; position:relative; overflow:hidden; }
.case-library-hero:after { content:''; position:absolute; width:300px; height:300px; border:1px solid rgba(198,232,201,.22); border-radius:50%; right:-100px; top:-155px; }
.case-library-hero h3 { margin:0; font-size:28px; letter-spacing:-.055em; }
.case-library-hero p:not(.section-kicker) { max-width:690px; color:#b8d4c1; font-size:11px; line-height:1.8; margin:10px 0 0; }
.case-library-hero .section-kicker { color:#a6d0b3; }
.case-library-stat { position:relative; z-index:1; display:grid; grid-template-columns:auto auto; gap:3px 10px; align-content:center; min-width:140px; }
.case-library-stat strong { color:#e7c778; font-size:24px; line-height:1; }.case-library-stat span { color:#a5c5b0; font-size:9px; align-self:end; padding-bottom:4px; }
.case-library-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:16px; margin-top:18px; align-items:start; }
.case-tree { display:grid; gap:5px; background:#edf3ed; border:1px solid #d7e2d8; border-radius:14px; padding:10px; position:sticky; top:18px; }
.case-tree-item { width:100%; border:1px solid transparent; background:transparent; color:var(--ink); text-align:left; border-radius:9px; padding:10px 11px; transition:.2s; }
.case-tree-item:hover,.case-tree-item.active { background:#fffdf8; border-color:#a9cbb2; box-shadow:0 3px 10px rgba(18,62,60,.06); }
.case-tree-item strong,.case-tree-item small { display:block; }.case-tree-item strong { font-size:11px; line-height:1.45; }.case-tree-item small { color:#7b9183; font-size:9px; line-height:1.45; margin-top:3px; }
.case-tree-group { display:grid; gap:3px; }.case-subtree { display:grid; gap:2px; padding:0 0 4px 10px; }.case-subtree button { border:0; background:transparent; border-left:2px solid #c8d9cc; text-align:left; padding:6px 9px; color:#70877a; font-size:10px; border-radius:0 6px 6px 0; }.case-subtree button:hover,.case-subtree button.active { color:#1c6650; background:#e0efe3; border-left-color:#4d9771; }
.case-results { min-width:0; }.case-toolbar { display:flex; gap:10px; justify-content:space-between; align-items:center; margin-bottom:12px; }.case-search { display:flex; align-items:center; gap:8px; flex:1; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:0 12px; max-width:720px; }.case-search span { color:#80a08e; font-size:19px; }.case-search input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:11px; padding:11px 0; }.case-search input::placeholder { color:#abb7af; }
.case-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.case-item { border:1px solid #d8e3d9; border-radius:13px; background:var(--white); padding:16px; min-height:210px; display:flex; flex-direction:column; box-shadow:0 5px 18px rgba(18,62,60,.035); transition:.2s; }.case-item:hover { border-color:#8eb89d; transform:translateY(-2px); box-shadow:0 10px 24px rgba(18,62,60,.09); }.case-item-meta { display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin-bottom:9px; }.case-item-meta span { color:#a66e51; font-family:'DM Mono','Noto Sans TC',monospace; font-size:8px; }.case-item-meta em { font-style:normal; color:#658174; background:#eef5ef; border-radius:99px; padding:4px 7px; font-size:8px; }.case-item h4 { margin:0 0 7px; font-size:14px; line-height:1.4; }.case-item p { margin:0; color:#71837a; font-size:10px; line-height:1.65; }.case-item .case-question { color:#385f51; font-size:11px; margin-bottom:7px; }.case-item-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:14px; border-top:1px solid #edf0eb; }.case-item-footer > span { color:#9a6b4f; font-size:9px; }.case-load { padding:7px 10px; font-size:10px; }.case-empty { grid-column:1/-1; border:1px dashed #bdcec2; border-radius:12px; padding:35px; text-align:center; color:#789083; font-size:11px; background:rgba(255,253,248,.55); }
.custom-case-panel { margin-top:16px; padding:24px; border:1px solid #c7ddca; border-radius:16px; background:#f0f7ef; }.custom-case-heading { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }.custom-case-heading h3 { margin:0; font-size:20px; }.custom-case-heading p:not(.section-kicker) { color:#71877a; font-size:10px; line-height:1.6; margin:7px 0 0; max-width:650px; }.custom-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }.custom-case-grid label { display:grid; gap:6px; color:#567263; font-size:10px; font-weight:700; }.custom-case-grid input,.custom-case-grid select { width:100%; border:1px solid #ceded1; border-radius:8px; padding:10px 11px; outline:0; color:var(--ink); background:#fffdf8; font-size:11px; }.custom-case-grid input:focus,.custom-case-grid select:focus { border-color:#75a987; box-shadow:0 0 0 3px rgba(117,169,135,.12); }.custom-case-grid textarea { min-height:80px; background:#fffdf8; }.full-field { grid-column:1/-1; }.custom-case-actions { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:16px; color:#71877a; font-size:9px; }
@media (max-width:900px) { .case-library-view { padding:22px 18px 55px; }.case-library-hero { display:block; padding:24px; }.case-library-stat { margin-top:20px; }.case-library-layout { grid-template-columns:1fr; }.case-tree { position:static; display:block; overflow:auto; white-space:nowrap; }.case-tree-item { display:inline-block; width:auto; min-width:150px; vertical-align:top; margin-right:4px; }.case-tree-item small { white-space:normal; }.case-tree-group { display:inline-block; vertical-align:top; }.case-subtree { display:none; }.case-list { grid-template-columns:1fr; }.case-toolbar { display:block; }.case-search { max-width:none; margin-bottom:9px; }.custom-case-grid { grid-template-columns:1fr; }.full-field { grid-column:auto; }.custom-case-actions { display:block; }.custom-case-actions .button { margin-top:10px; } }
@media (max-width:720px) { .top-actions { display:grid; grid-template-columns:1.45fr 1fr 1fr; gap:6px; }.top-actions .button { min-width:0; padding-left:7px; padding-right:7px; }.button-new-analysis { min-width:0; }.button-symbol { margin-right:2px; } }

.save-case-link { display:block; width:100%; border:0; background:transparent; color:#6b8978; padding:9px 8px 2px; font-size:10px; text-align:center; }.save-case-link:hover { color:#1f6b53; text-decoration:underline; }

/* 2026-11-05 UI refinement: unified signal mark, icon alignment and stable custom-case panel */
.brand-lockup { align-items:center; gap:11px; }
.brand-mark { width:42px; height:42px; flex:0 0 42px; padding:0; border:0; border-radius:12px; overflow:hidden; background:var(--ink); display:block; }
.brand-mark svg { display:block; width:100%; height:100%; }
.mark-bubble { fill:none; stroke:#fffdf8; stroke-width:6; stroke-linejoin:round; }
.mark-bars { fill:none; stroke:#fffdf8; stroke-width:7; stroke-linecap:round; }
.mark-accent { fill:#e4b45c; }
.mark-accent-stroke { fill:none; stroke:#e4b45c; stroke-width:7; stroke-linecap:round; }
.eyebrow { margin-bottom:2px; }
.brand-lockup h1 { display:flex; align-items:baseline; gap:7px; white-space:nowrap; line-height:1; }
.brand-lockup h1 span { font-family:'Manrope','Noto Sans TC',sans-serif; font-weight:800; }
.brand-lockup h1 em { font-family:'Noto Sans TC','Manrope',sans-serif; font-weight:500; }
.breadcrumb b { font-weight:400; }
.button-symbol { display:inline-grid; place-items:center; width:18px; height:18px; margin-right:4px; line-height:1; vertical-align:-3px; }
.card-heading { align-items:center; }
.card-heading > div:nth-child(2) { min-width:0; }
.card-heading h4 { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.card-icon, .nav-icon, .topic-number, .empty-orbit b { line-height:1; }
.case-library-hero h3 { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.custom-case-panel { padding:0; overflow:hidden; }
.custom-case-panel-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:52px; padding:8px 14px; }
.custom-case-toggle { border:0; background:transparent; color:var(--ink); padding:8px 0; font-size:12px; font-weight:800; white-space:nowrap; }
.custom-case-toggle:hover { color:#1d6a52; }
.custom-case-close { flex:0 0 auto; white-space:nowrap; padding:8px 12px; }
.custom-case-form { border-top:1px solid #c7ddca; padding:21px 24px 24px; }
.custom-case-heading { align-items:flex-start; }
.custom-case-heading h3 { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:18px; }
.custom-case-panel.collapsed { background:#f0f7ef; }
.custom-case-panel:not(.collapsed) { background:#f0f7ef; }
@media (max-width:720px) {
  .brand-lockup { gap:9px; }
  .brand-mark { width:40px; height:40px; flex-basis:40px; }
  .brand-lockup h1 { gap:5px; font-size:18px; }
  .brand-lockup h1 em { font-size:16px; }
  .headline-row h2 { white-space:nowrap; font-size:24px; }
  .case-library-hero h3 { font-size:24px; }
  .custom-case-form { padding:18px 15px 20px; }
  .custom-case-heading h3 { font-size:17px; }
}

/* 2026-11-05: unified SVG icon system and PWA update prompt */
.icon-definitions { position:absolute; width:0; height:0; overflow:hidden; }
.ui-icon { width:16px; height:16px; flex:0 0 16px; display:inline-block; vertical-align:-3px; color:currentColor; }
.button .ui-icon { width:17px; height:17px; flex-basis:17px; margin-right:5px; vertical-align:-4px; }
.quick-chip .ui-icon, .save-case-link .ui-icon, .custom-case-toggle .ui-icon { width:13px; height:13px; flex-basis:13px; margin-right:3px; vertical-align:-2px; }
.brand-mark-image { display:block; width:100%; height:100%; object-fit:cover; }
.card-heading > .card-icon { display:grid; place-items:center; align-content:center; justify-content:center; text-align:center; line-height:0; padding:0; }
.card-svg { width:18px; height:18px; display:block; }
.quote-icon .card-svg { width:20px; height:20px; }
.signal-icon .card-svg { width:19px; height:19px; }
.case-search > .ui-icon, .library-search > .ui-icon { color:#86a096; margin:0 8px 0 2px; flex:0 0 16px; }
.update-prompt { position:fixed; z-index:30; left:50%; bottom:22px; transform:translateX(-50%); width:min(560px, calc(100vw - 28px)); display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 15px 13px 17px; color:#eff7ee; background:#0b3b3a; border:1px solid #70a98c; border-radius:12px; box-shadow:0 18px 40px rgba(11,59,58,.25); }
.update-prompt strong, .update-prompt span { display:block; }
.update-prompt strong { font-size:12px; }
.update-prompt span { margin-top:3px; color:#b8d7c2; font-size:10px; }
.update-prompt button { border:1px solid #e4b45c; border-radius:8px; background:#e4b45c; color:#173e3a; padding:8px 13px; font-size:11px; font-weight:800; white-space:nowrap; }
@media (max-width:720px) {
  .update-prompt { bottom:12px; }
  .card-heading > .card-icon { flex-basis:31px; }
}
