:root{color:#111827;background:#f5f7f9;font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,textarea{font:inherit}button{border:0}a{color:#087f8c;text-decoration:none}.app-shell{min-height:100vh;background:linear-gradient(180deg,#fff 0,#f7f9fb 280px,#f5f7f9),#f5f7f9}.topbar{display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 24px;border-bottom:1px solid #d8dee6;background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:14px;font-size:24px;font-weight:760;color:#111827}.brand-mark{display:grid;grid-template-columns:repeat(4,4px);gap:3px;width:31px;align-items:center}.brand-mark span{display:block;width:4px;border-radius:3px;background:#0a9aa3}.brand-mark span:nth-child(1){height:9px}.brand-mark span:nth-child(2){height:20px}.brand-mark span:nth-child(3){height:14px}.brand-mark span:nth-child(4){height:26px}.top-actions,.section-heading,.box-title,.panel-header,.panel-header>div,.markdown-footer,.ghost-button,.button,.icon-button{display:flex;align-items:center}.top-actions{gap:12px}.model-control{display:grid;grid-template-columns:auto minmax(150px,230px);align-items:center;gap:8px;height:40px;padding:0 10px;border:1px solid #ccd5df;border-radius:6px;background:#fff}.model-control span{color:#64748b;font-size:13px;font-weight:650}.model-control input{width:100%;min-width:0;border:0;outline:0;color:#111827;font-size:14px;background:transparent}.button{height:40px;gap:8px;padding:0 18px;border-radius:6px;border:1px solid transparent;font-size:14px;font-weight:650;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.72}.button-primary{color:#fff;background:#07939b;box-shadow:0 12px 24px #07939b29}.button-primary:hover{background:#067f87}.button-secondary{color:#1f2937;background:#fff;border-color:#ccd5df}.button-secondary:hover,.ghost-button:hover,.icon-button:hover{background:#f1f5f9}.meta-strip{display:flex;align-items:center;gap:32px;min-height:52px;padding:0 24px;color:#4b5563;border-bottom:1px solid #dfe5ec;background:#fbfcfd;white-space:nowrap;overflow-x:auto}.meta-strip span{font-size:14px}.platform-chip{display:inline-flex;align-items:center;margin-left:6px;padding:3px 8px;border-radius:5px;color:#b91c1c;background:#fee2e2;font-size:13px}.workspace{display:grid;grid-template-columns:minmax(310px,380px) minmax(0,1fr);gap:8px;padding:0;min-height:calc(100vh - 123px)}.panel{min-width:0;background:#fff;border:1px solid #d8dee6}.source-panel,.output-panel{display:flex;flex-direction:column}.panel-header{justify-content:space-between;height:54px;padding:0 20px;border-bottom:1px solid #dfe5ec}.compact-mode-section{padding:16px 18px 18px;border-bottom:1px solid #dfe5ec}.compact-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#111827}.compact-section-title h2{margin:0;font-size:15px;font-weight:740}.compact-mode-grid{display:grid;gap:8px}.panel-header>div{gap:9px}.panel-header h2{margin:0;color:#111827;font-size:17px;font-weight:740;line-height:1.2}.icon-button{justify-content:center;width:34px;height:34px;border-radius:6px;color:#4b5563;background:transparent;cursor:pointer}.icon-button.labeled{width:auto;gap:7px;padding:0 12px;border:1px solid #ccd5df;background:#fff;font-size:13px}.source-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;padding:20px}.source-cover{position:relative;height:122px;overflow:hidden;border-radius:8px;background:radial-gradient(circle at 72% 19%,rgba(245,158,11,.62) 0 6px,transparent 7px),linear-gradient(135deg,rgba(15,118,110,.1),transparent 45%),linear-gradient(160deg,#8b5e34,#f1d7a8 55%,#395144)}.source-cover:before,.source-cover:after{position:absolute;content:"";display:block}.source-cover:before{left:14px;bottom:18px;width:92px;height:36px;border-radius:5px;background:#ffffffbd;transform:rotate(-4deg);box-shadow:0 8px 22px #281f173d}.source-cover:after{right:17px;bottom:20px;width:35px;height:30px;border:5px solid rgba(255,255,255,.86);border-top:0;border-radius:0 0 14px 14px;box-shadow:inset 0 9px #ffffff2e}.cover-sun{position:absolute;top:0;right:0;width:72px;height:72px;background:radial-gradient(circle,rgba(255,245,210,.62),transparent 70%)}.cover-book{position:absolute;left:15px;bottom:50px;width:46px;height:9px;border-radius:8px;background:#52382485}.source-card h1{margin:5px 0 12px;color:#101827;font-size:17px;font-weight:720;line-height:1.45}.source-card p,.source-card span{margin:0 0 12px;color:#6b7280;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0 20px 18px;border-bottom:1px solid #e5eaf0}.stats-grid div{min-width:0}.stats-grid dt,.detail-list dt{margin:0 0 6px;color:#6b7280;font-size:13px}.stats-grid dd,.detail-list dd{margin:0;color:#1f2937;font-size:14px;font-weight:620}.detail-list{display:grid;gap:14px;margin:0;padding:18px 20px 0}.detail-list a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-row{display:flex;flex-wrap:wrap;gap:8px;padding:18px 20px 0}.tag-row span{border:1px solid #d8dee6;border-radius:5px;padding:5px 9px;color:#374151;background:#fff;font-size:13px}.summary-block{padding:18px 20px}.summary-block span{display:block;margin-bottom:8px;color:#6b7280;font-size:13px}.summary-block p{margin:0;color:#111827;font-size:14px;line-height:1.7}.markdown-footer{justify-content:space-between;gap:16px;margin-top:auto;padding:18px 20px;border-top:1px solid #dfe5ec}.markdown-footer div{display:grid;gap:6px}.markdown-footer strong{font-size:14px}.markdown-footer span{color:#6b7280;font-size:13px}.mode-card{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);min-height:74px;align-items:center;column-gap:10px;row-gap:2px;padding:11px 38px 11px 11px;border-radius:8px;border:1px solid #cdd6df;color:#111827;background:#fff;text-align:left;cursor:pointer}.mode-card:hover{border-color:#9fb0bf;box-shadow:0 12px 30px #0f172a0f}.mode-card.selected.teal{border-color:#07939b;box-shadow:inset 0 0 0 1px #07939b,0 16px 35px #07939b14}.mode-card.selected.amber{border-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b,0 16px 35px #f59e0b17}.mode-icon{display:inline-flex;align-items:center;justify-content:center;grid-row:1 / span 2;width:36px;height:36px;border-radius:8px;color:#fff}.mode-card.teal .mode-icon{background:#07939b}.mode-card.amber .mode-icon{background:#f59e0b}.selected-check{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;background:#07939b}.mode-card.amber .selected-check{background:#f59e0b}.mode-card strong{font-size:15px;font-weight:760}.mode-card span:last-child{max-width:390px;color:#5d6673;font-size:12px;line-height:1.45}.box-title{justify-content:space-between;gap:12px;color:#1f2937;font-size:15px;font-weight:650}.box-title>span:last-child{color:#6b7280;font-size:13px;font-weight:520}.output-panel{position:relative;min-width:0}.empty-state,.result-ready{display:grid;justify-items:center;align-content:center;min-height:540px;padding:34px;text-align:center}.result-ready{place-items:stretch;align-content:start;justify-items:stretch;min-height:calc(100vh - 178px);text-align:left}.empty-icon,.result-icon{display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:8px;margin-bottom:18px;color:#a9b3bf;border:1px solid #dfe5ec;background:#fbfcfd}.result-icon.teal{color:#07939b;background:#e6f7f7;border-color:#bde7e8}.result-icon.amber{color:#b45309;background:#fff7ed;border-color:#fed7aa}.empty-state h2,.result-ready h2{margin:0 0 12px;font-size:18px;font-weight:740}.empty-state p,.result-ready p{max-width:300px;margin:0;color:#6b7280;font-size:14px;line-height:1.7}.result-ready>.result-icon,.result-ready>h2,.result-ready>p{justify-self:start}.analysis-result{width:100%;margin-top:18px;padding:12px;text-align:left}.analysis-result{border:1px solid #d8dee6;border-radius:8px;background:#fff}.markdown-render{margin-top:14px;color:#111827;font-size:15px;line-height:1.78}.markdown-render>:first-child{margin-top:0}.markdown-render>:last-child{margin-bottom:0}.markdown-render h1,.markdown-render h2,.markdown-render h3,.markdown-render h4{color:#0f172a;line-height:1.35}.markdown-render h1{margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid #e5eaf0;font-size:26px;font-weight:780}.markdown-render h2{margin:28px 0 12px;font-size:20px;font-weight:760}.markdown-render h3{margin:22px 0 10px;font-size:17px;font-weight:740}.markdown-render p{margin:10px 0}.markdown-render ul,.markdown-render ol{margin:10px 0 14px;padding-left:24px}.markdown-render li+li{margin-top:4px}.markdown-render table{display:block;width:100%;max-width:100%;margin:16px 0 22px;overflow-x:auto;border-collapse:collapse;font-size:14px}.markdown-render th,.markdown-render td{min-width:120px;padding:9px 11px;border:1px solid #d8dee6;vertical-align:top}.markdown-render th{background:#f8fafc;font-weight:720}.markdown-render blockquote{margin:16px 0;padding:4px 0 4px 14px;border-left:3px solid #07939b;color:#475569}.markdown-render code{padding:2px 5px;border-radius:5px;color:#0f172a;background:#f1f5f9;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.markdown-render pre{overflow-x:auto;margin:16px 0;padding:14px;border-radius:8px;background:#0f172a}.markdown-render pre code{padding:0;color:#e2e8f0;background:transparent}.error-state .empty-icon{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.error-state p{color:#991b1b}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.workspace{grid-template-columns:320px minmax(0,1fr)}.empty-state,.result-ready{min-height:320px}}@media(max-width:760px){.topbar{height:auto;min-height:68px;align-items:flex-start;flex-direction:column;gap:14px;padding:16px;position:static}.brand{font-size:21px}.top-actions{width:100%;flex-wrap:wrap}.model-control{grid-template-columns:auto minmax(0,1fr);width:100%}.button{flex:1;min-width:0;justify-content:center;padding:0 12px}.meta-strip{gap:18px;padding:12px 16px}.workspace{display:block;min-height:auto}.panel{border-left:0;border-right:0}.source-card{grid-template-columns:98px minmax(0,1fr);padding:16px}.source-cover{height:98px}.source-card h1{font-size:16px}.mode-card{min-height:74px}}
