:root{--dark:#101a2f;--deep:#101a2e;--cyan:#27c5ba;--muted:#8491a4;--bg:#f5f7fa;--line:#e6ebf0;--text:#1d2b42}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Noto Sans TC",-apple-system,BlinkMacSystemFont,"Microsoft JhengHei",sans-serif;font-size:14px}button,select,textarea{font:inherit}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:250px;flex-shrink:0;background:#101a2d;color:#d7dfed;padding:29px 17px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 36px}.brand-icon{display:flex;justify-content:center;align-items:center;width:41px;height:41px;background:#26baac;border-radius:12px;color:#102f37;font-size:27px;font-weight:900}.brand strong{font-size:19px;letter-spacing:3px}.brand small{display:block;color:#8f9cae;font-size:8px;letter-spacing:1.4px;margin-top:5px}.nav-caption{padding:0 12px;margin-bottom:12px;font-size:10px;letter-spacing:2px;color:#75869d}.spacer-top{margin-top:28px}.nav-active{background:#18334a;border:1px solid #295367;padding:15px 12px;border-radius:10px;color:#e6fff9;font-weight:700;display:flex;gap:12px;align-items:center}.nav-active>span:first-child{color:#41dbc6}.small-pill{font-size:10px;margin-left:auto;color:#b4e9dc}.nav-item{border:0;background:transparent;text-align:left;width:100%;color:#abb8cb;padding:13px 12px;margin-bottom:5px;border-radius:8px}.nav-item span{color:#7589a3;margin-right:10px}.nav-item:hover,.nav-item.active{background:#1b2a40;color:#fff}.nav-item.active span{color:#39d1be}.side-bottom{margin-top:auto;border-top:1px solid #29354a;padding:25px 12px 2px}.side-detail{color:#72829a;font-size:11px;margin-bottom:15px}.side-detail b{display:block;color:#d2ddea;font-size:12px;margin-top:5px;font-weight:500}.demo-badge{border:1px solid #2b5a60;border-radius:6px;color:#6bddd0;font-size:10px;padding:10px;margin-top:23px;letter-spacing:.8px}.main{min-width:0;flex:1}.topbar{height:72px;background:white;border-bottom:1px solid #e5e9ee;display:flex;justify-content:space-between;align-items:center;padding:0 45px}.crumb{font-size:12px;color:#8a97aa}.crumb span{margin:0 13px;color:#c5cbd4}.header-right{display:flex;align-items:center;gap:11px;color:#738298;font-size:12px}.status-dot{height:7px;width:7px;border-radius:50%;background:#24c9a6}.avatar{width:34px;height:34px;background:#e7f7f4;color:#129381;border-radius:50%;display:grid;place-items:center;margin-left:15px;font-weight:700}.content{max-width:1500px;margin:auto;padding:34px 42px}.hero{position:relative;overflow:hidden;border-radius:17px;background:radial-gradient(circle at 74% 35%,#24435b 0,#12263c 35%,#101c31 75%);color:white;min-height:285px;padding:38px 48px}.hero-eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;color:#8eebd8;position:relative;z-index:1}.tiny-glow{display:inline-block;width:6px;height:6px;background:#66efc8;border-radius:50%;box-shadow:0 0 12px #80f9d3;margin-right:9px}.hero h1{font-size:clamp(31px,3.3vw,49px);line-height:1.31;margin:19px 0 12px;letter-spacing:1.5px;position:relative;z-index:1}.hero h1 em{font-style:normal;color:#49d6bf}.hero p{position:relative;z-index:1;max-width:500px;line-height:1.85;font-size:13px;color:#b5c9d6;margin-bottom:22px}.hero-actions{display:flex;gap:22px;align-items:center;position:relative;z-index:2}.primary{background:#22bea9;border:0;color:#072a2e;border-radius:7px;font-weight:800;padding:13px 20px;display:inline-flex;align-items:center;gap:21px;transition:.2s}.primary:hover{background:#48ddc7;transform:translateY(-1px)}.duration{font-size:11px;color:#9fbbca}.hero-orb{width:360px;height:360px;border-radius:50%;position:absolute;right:11%;top:-32px;border:1px solid #427b83;box-shadow:0 0 0 26px #22485c66,0 0 0 52px #22485c33,0 0 0 80px #22485c1c;background:radial-gradient(circle at 45% 42%,#35686f99,#12273e88 69%);opacity:.75}.hero-orb:after{content:'↗';position:absolute;color:#8cddc9a6;font-size:155px;font-weight:200;left:95px;top:72px}.hero-decor{position:absolute;right:38px;bottom:22px;color:#6e9d9f;font-size:12px;letter-spacing:4px}.hero-decor span{color:#26c5b1}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:19px 0 30px}.metric{background:#fff;border:1px solid #e8edf2;border-radius:10px;padding:19px 23px;min-height:122px}.metric>span{color:#7b8a9d;font-size:12px}.metric strong{display:block;font-size:32px;color:#1e3044;margin-top:7px;letter-spacing:-1px}.metric strong sub{font-size:13px;vertical-align:baseline;font-weight:500;margin-left:2px}.metric small{display:block;color:#a4afbc;font-size:11px;margin-top:3px}.workspace{background:#fff;border:1px solid #e9eef2;border-radius:15px;padding:30px;box-shadow:0 5px 30px #192d4210}.workspace-top,.result-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#1aa994;font-weight:800}.workspace h2{font-size:22px;margin:9px 0}.workspace-top p{color:#8391a3;margin:0;font-size:12px}.mode-tag{background:#eaf9f5;color:#208e7f;font-weight:600;font-size:11px;padding:9px 13px;border-radius:100px;white-space:nowrap}.task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:25px}.task{position:relative;text-align:left;background:#f8fafb;border:1px solid #e8edf0;border-radius:9px;padding:19px 18px;min-height:115px;transition:.2s}.task:hover{border-color:#8bddcc}.task.selected{border-color:#26bca9;background:#f0fcf9;box-shadow:inset 0 0 0 1px #26bca927}.task-index{display:block;color:#1da991;font-size:10px;letter-spacing:1px;font-weight:700;margin-bottom:12px}.task strong{display:block;font-size:14px;margin-bottom:7px}.task small{font-size:11px;color:#8392a1}.task-arrow{position:absolute;right:14px;top:14px;color:#37af9e}.prompt-panel{border:1px solid #dfe8ee;border-radius:10px;margin-top:20px;overflow:hidden}.input-head{display:flex;align-items:center;gap:9px;padding:13px 18px;background:#f6f9fb;font-weight:700;color:#34465a;font-size:12px;border-bottom:1px solid #e9eff3}.spark{color:#16b7a4;font-size:17px}.input-hint{margin-left:auto;color:#a5b0be;font-size:11px;font-weight:400}textarea{display:block;width:100%;border:0;outline:0;padding:17px 18px;line-height:1.85;color:#334358;resize:vertical;min-height:100px;font-size:13px;background:#fff}.prompt-bottom{display:flex;justify-content:space-between;align-items:center;padding:9px 11px 11px 18px}.ai-switch{display:flex;gap:8px;align-items:center;color:#7c8b9d;font-size:11px}.ai-switch input{accent-color:#1bb49f}.run{padding:11px 19px}.results{margin-top:34px;border-top:1px solid #edf0f2;padding-top:28px}.result-time{color:#92a0ad;font-size:11px;margin-top:8px}.result-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.result-kpis>div{padding:16px 18px;background:#f8fafb;border:1px solid #edf0f4;border-radius:8px}.result-kpis span{display:block;color:#8190a0;font-size:11px}.result-kpis strong{font-size:23px;display:block;margin-top:7px}.result-kpis small{font-size:10px;color:#93a2ad}.negative{color:#d76b68!important}.positive{color:#109a84!important}.result-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:15px}.paper{border:1px solid #e6ebef;border-radius:9px;padding:19px;min-width:0}.paper-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.paper-title strong{font-size:13px}.paper-title>span{color:#9eacb9;font-size:10px}.paper-title select{border:1px solid #e1e9ef;border-radius:6px;padding:6px 7px;background:#fafcfd;color:#45556a;font-size:11px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{background:#f6f8fa;color:#8b99a9;font-weight:600;text-align:right;padding:11px 8px}th:first-child,td:first-child{text-align:left}td{text-align:right;padding:14px 8px;border-bottom:1px solid #eef1f3;color:#3c4f61}tr:last-child td{border:0}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.active{background:#eefaf7}td:first-child b{display:block;font-size:11px}td:first-child small{display:block;color:#9eacb8;font-size:10px;margin-top:3px}.hint{color:#9aa8b8;font-size:10px;line-height:1.6;margin:15px 0 0}.chart{width:100%;min-height:220px}.chart svg{width:100%;height:auto;display:block}.legend{display:flex;gap:15px;font-size:10px;color:#8695a6}.legend i{display:inline-block;width:17px;height:3px;vertical-align:middle;margin-right:6px}.legend-a{background:#aeb9c8}.legend-b{background:#22b9a6}.chart-note{font-size:11px;color:#65798b;line-height:1.6;background:#f6faf9;border-radius:7px;padding:11px;margin-top:7px}.insights{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}.finding{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f0f3f5;font-size:12px;line-height:1.7;color:#485b6d}.finding:last-child{border:0}.finding span{color:#1caa96;font-weight:800}.action{padding:10px 0;border-bottom:1px solid #f0f3f5;font-size:11px}.action:last-child{border:0}.action b{display:block;margin-bottom:5px;color:#21394d}.action span{color:#7d90a2;line-height:1.6}.ai-narrative{margin-top:15px;background:#eef9f6;padding:18px;border-radius:10px;border:1px solid #b6e7dc;line-height:1.8;white-space:pre-wrap}.result-footer{font-size:10px;color:#9aabb5;margin-top:16px;line-height:1.7}footer{display:flex;justify-content:space-between;color:#9daaB7;font-size:10px;padding:22px 4px}@media(max-width:1180px){.sidebar{width:205px}.content{padding:28px 24px}.topbar{padding:0 25px}.hero-orb{right:-4%}.result-grid{grid-template-columns:1fr}.insights{grid-template-columns:1fr 1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;min-height:0;padding:13px}.brand{padding:3px 5px 10px}.sidebar .nav-caption,.sidebar .nav-active,.sidebar .nav-item,.sidebar .side-bottom{display:none}.topbar{height:50px;padding:0 15px}.crumb{font-size:10px}.crumb span{margin:0 5px}.header-right{font-size:0}.avatar{display:none}.content{padding:15px}.hero{padding:30px 25px;min-height:295px}.hero-orb{opacity:.25;right:-165px}.hero h1{font-size:31px}.hero p{max-width:300px}.metrics{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:17px}.metric{padding:15px;min-height:104px}.metric strong{font-size:25px}.workspace{padding:18px}.workspace h2{font-size:19px}.task-grid{grid-template-columns:1fr;gap:9px}.task{min-height:86px;padding:14px}.task-index{margin-bottom:5px}.task strong{margin-bottom:4px}.result-kpis{grid-template-columns:1fr}.insights{grid-template-columns:1fr}.workspace-top,.result-head{display:block}.mode-tag{display:inline-block;margin-top:14px}.hero-decor{display:none}footer{display:block;line-height:2}footer span{display:block}} 

/* V1.1: 原始數據探索／分析結果揭曉 */
[hidden]{display:none!important}.data-preview{background:white;border:1px solid #e9eef2;border-radius:15px;padding:30px;margin-bottom:22px;box-shadow:0 5px 30px #192d4210}.preview-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.preview-head h2{font-size:22px;margin:9px 0}.preview-head p{margin:0;color:#8391a3;font-size:12px;line-height:1.7}.preview-tag{background:#f2f5f9;color:#617184;border-radius:100px;padding:9px 13px;white-space:nowrap;font-size:11px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;flex-wrap:wrap}.data-tabs{display:flex;gap:7px}.data-tab{border:1px solid #e3e9ef;background:#f7fafc;border-radius:8px;padding:10px 14px;color:#5d6d80;font-weight:700}.data-tab.active{background:#e7faf5;border-color:#21b69f;color:#168a78}.data-tab span{opacity:.65;margin-left:3px}#data-search{border:1px solid #dbe5ed;background:white;border-radius:8px;padding:11px 12px;min-width:260px;max-width:100%;color:#24374b}.raw-table-wrap{overflow:auto;border:1px solid #e8edf2;border-radius:8px}.raw-table{width:100%;font-size:12px;white-space:nowrap}.raw-table th{text-align:left;background:#f3f7f9;padding:13px 12px}.raw-table td{text-align:left;padding:12px;color:#405367}.raw-table tbody tr{cursor:default}.raw-table tbody tr:nth-child(even){background:#fafcfd}.raw-table tbody tr:hover{background:#f1faf8}.raw-table .empty-row{text-align:center;padding:32px}.preview-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12px;color:#7d8da0}.page-controls{display:flex;align-items:center;gap:12px}.page-controls button{background:white;border:1px solid #dce5ec;border-radius:7px;padding:9px 12px;color:#36546a}.page-controls button:disabled{opacity:.4;cursor:not-allowed}.preview-tip{background:#f4faf8;border-left:3px solid #25b9a4;padding:11px 14px;margin:18px 0 0;color:#54726d;font-size:12px;line-height:1.7}@media(max-width:760px){.data-preview{padding:18px}.preview-head{display:block}.preview-tag{display:inline-block;margin-top:13px}.preview-head h2{font-size:19px}#data-search{width:100%}.preview-bottom{flex-wrap:wrap}.data-tab{padding:9px 10px}}
.upload-zone{background:#fff;border:1px solid #e5eaf1;border-radius:19px;padding:28px;margin:24px 0;box-shadow:0 10px 26px rgba(20,46,72,.06)}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.upload-field{display:flex;flex-direction:column;gap:12px;padding:19px;border:2px dashed #c6d7e1;border-radius:14px;color:#1a3b52;font-weight:700;background:#f7fbfd}.upload-field input{width:100%;max-width:100%;font-size:13px}.upload-field small{color:#6b8190;font-weight:400}.upload-actions{display:flex;align-items:center;gap:16px;margin-top:17px;flex-wrap:wrap}#load-status{font-size:13px;color:#607383}.ai-analysis{margin-top:18px;padding:22px}.ai-analysis .ai-narrative{display:block;white-space:pre-wrap;line-height:1.9;font-size:15px;color:#26465e;background:#f2f9fa;padding:20px;border-radius:12px}.ai-required{font-size:13px;color:#536d7f}.ai-analysis .paper-title{margin-bottom:12px}button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.upload-grid{grid-template-columns:1fr}.upload-zone{padding:16px}}
[hidden]{display:none!important}

/* V2.3: Markdown document layout for OpenAI response */
.ai-analysis .ai-narrative{white-space:normal;overflow-wrap:anywhere;line-height:1.85;font-size:15px;padding:24px 28px;color:#26465e}
.ai-narrative h1,.ai-narrative h2,.ai-narrative h3,.ai-narrative h4,.ai-narrative h5,.ai-narrative h6{color:#163b50;line-height:1.45;margin:1.4em 0 .65em;font-weight:750}
.ai-narrative h1{font-size:22px;border-bottom:1px solid #cee4e6;padding-bottom:10px;margin-top:0}
.ai-narrative h2{font-size:19px;border-bottom:1px solid #deeaee;padding-bottom:8px}
.ai-narrative h3{font-size:17px}.ai-narrative h4{font-size:16px}
.ai-narrative p{margin:.75em 0}.ai-narrative ul,.ai-narrative ol{padding-left:1.65em;margin:.6em 0 1.1em}.ai-narrative li{margin:.35em 0}
.ai-narrative strong{color:#163b50;font-weight:750}.ai-narrative hr{border:0;border-top:1px solid #d7e6eb;margin:24px 0}
.ai-narrative .md-table-wrap{max-width:100%;overflow-x:auto;margin:16px 0 24px;border:1px solid #d8e7eb;border-radius:10px;background:#fff}
.ai-narrative table{border-collapse:collapse;min-width:580px;width:100%;font-size:13px;line-height:1.6}
.ai-narrative th,.ai-narrative td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid #e4edf1;white-space:normal}
.ai-narrative th{background:#e8f5f4;font-weight:750;color:#204c56}.ai-narrative tr:last-child td{border-bottom:0}.ai-narrative tbody tr:nth-child(even){background:#f9fcfd}
.ai-narrative blockquote{border-left:4px solid #28b7a8;padding:9px 15px;background:#e9f7f5;color:#385c65;margin:14px 0}
.ai-narrative pre{background:#203645;color:#e9f4f7;border-radius:8px;padding:15px;overflow-x:auto;line-height:1.6}.ai-narrative :not(pre)>code{background:#e0edee;padding:2px 5px;border-radius:4px}.ai-narrative a{color:#087b83;text-decoration:underline}
@media(max-width:760px){.ai-analysis .ai-narrative{padding:17px 14px}.ai-narrative h1{font-size:19px}.ai-narrative h2{font-size:17px}}

/* V2.5 Guided stages */
.stage-progress{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0}.stage-progress span{padding:10px 15px;border:1px solid #dbe6ea;border-radius:999px;background:#f5f8fa;color:#718692;font-weight:700;font-size:13px}.stage-progress span.current{background:#e2f5f1;color:#0a766d;border-color:#58c5b7}.stage-progress span.complete{background:#f2faf8;color:#2e8276;border-color:#d0eae4}.step-action{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:20px}.step-action span{font-size:13px;color:#728694}#workspace[hidden],#data-preview[hidden],#metrics[hidden]{display:none!important}.nav-item[hidden]{display:none!important}

/* V2.6 bottom controls */
.bottom-controls{background:#fff;border:1px solid #e4eaf0;border-radius:13px;padding:21px 26px;margin-top:23px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.bottom-controls strong{font-size:16px;color:#1d3e52}.bottom-controls p{margin:7px 0;color:#8395a1;font-size:12px}.bottom-controls small{width:100%;color:#748895;font-size:11px}.bottom-control-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.secondary-action{background:#fff;border:1px solid #b5cad3;border-radius:7px;padding:12px 19px;font-weight:750;color:#385468}.secondary-action:hover{background:#f1f7f8}@media(max-width:760px){.bottom-controls{padding:19px}.bottom-control-buttons{width:100%}.bottom-control-buttons button{flex:1;justify-content:center}}
