@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;700&display=swap";:root{color-scheme:light;font-family:Space Grotesk,Noto Sans TC,system-ui,sans-serif;background-color:#f7f3ee;color:#1f1b16;--app-header-offset: 0px;--accent: #c85a2a;--accent-dark: #9f3f19;--panel: #fffaf2;--ink: #1f1b16;--muted: #6f665f;--line: #e4d8c8;--shadow: 0 24px 48px rgba(31, 27, 22, .08)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(circle at top left,#fff1dd,#f7f3ee 50%,#efe7de);overflow:hidden}a{color:inherit;text-decoration:none}.app-shell{height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:flex-start;padding:12px;background:#fffaf2;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inline{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.brand-title{font-size:18px;font-weight:700}.nav{display:flex;gap:12px}.nav-link{padding:10px 16px;border-radius:999px;border:1px solid transparent;background:#f3e7d8}.nav-link.router-link-active{background:var(--accent);color:#fff;border-color:var(--accent-dark)}.app-main{flex:1;padding:0;overflow:hidden}.page{max-width:1080px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow);overflow:auto}.card{background:#fff;border-radius:18px;border:1px solid var(--line);padding:20px;display:grid;gap:16px}.project-actions{display:grid;gap:10px}.hidden-file{display:none}.inline-link{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px;font-weight:600}.import-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.import-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px}.import-main{display:grid;gap:20px}.import-side{display:grid;gap:20px;align-content:start}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.tab-card{gap:20px}.tab-header{display:flex;gap:8px;flex-wrap:wrap}.tab-button{border-radius:999px;padding:8px 16px;border:1px solid var(--line);background:#f3e7d8;font-weight:600}.tab-button.active{background:var(--accent);color:#fff;border-color:var(--accent-dark)}.tab-body{display:grid;gap:16px}.panel.wide{margin:0 auto;height:calc(100vh - 140px);display:flex;flex-direction:column;overflow:hidden;position:relative}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}h1{margin:0 0 8px;font-size:28px}h2{margin:0 0 6px;font-size:20px}.muted{color:var(--muted);font-size:14px}.section{margin-top:24px}.upload-area{border:2px dashed var(--line);border-radius:20px;padding:24px;text-align:center;background:#fff6e8;display:grid;gap:12px;cursor:pointer;transition:border .2s ease,background .2s ease}.upload-area.active{border-color:var(--accent);background:#ffe9d2}.upload-area input[type=file]{opacity:0;position:absolute;pointer-events:none}.file-name{font-size:14px;color:var(--muted)}.field{display:flex;align-items:center;gap:12px}.field input{padding:8px 12px;border-radius:10px;border:1px solid var(--line);width:120px;font-family:inherit}.source-picker{display:flex;gap:12px;flex-wrap:wrap}.source-button{border-radius:999px;padding:10px 16px;border:1px solid var(--line);background:#fff;cursor:pointer}.source-button.active{background:var(--accent);color:#fff;border-color:var(--accent-dark)}.summary{display:grid;gap:8px}.status-row{display:flex;align-items:center;gap:8px}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent}.status-pill.is-success{background:#e5f6eb;color:#1c6e3a;border-color:#bfe6cb}.status-pill.is-fail{background:#fde7e5;color:#9c2f1f;border-color:#f3b8b0}.status-pill.is-idle{background:#f0ede7;color:#6f665f;border-color:#e2d7c8}.import-actions{justify-content:flex-end}.actions{display:flex;gap:12px}button{font-family:inherit;border-radius:12px;border:1px solid var(--line);padding:10px 18px;background:#fff;cursor:pointer}button.primary{background:var(--accent);color:#fff;border-color:var(--accent-dark)}button.ghost{background:transparent}.error{color:#b63e24;font-weight:600}.chapter-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;flex:1;min-height:0;position:relative}.chapter-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);padding-right:12px;min-height:0}.header-actions{align-items:center}.sidebar-scroll{overflow:auto;padding-right:4px;flex:1}.chapter-list{display:grid;gap:12px}.chapter-item{text-align:left;padding:12px;border-radius:16px;border:1px solid var(--line);background:#fff}.chapter-item.active{border-color:var(--accent);box-shadow:0 12px 24px #c85a2a33}.chapter-meta{font-size:12px;color:var(--muted)}.chapter-detail{display:flex;flex-direction:column;gap:16px;min-height:0}.sticky-tools{position:sticky;top:var(--app-header-offset);background:var(--panel);padding:8px 0 12px;border-bottom:1px solid var(--line);z-index:3;display:flex;flex-direction:column;gap:12px}.chapter-select{display:none}.chapter-select label{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:14px}.chapter-select span{white-space:nowrap}.chapter-select select{flex:1;padding:10px 12px;border-radius:12px;border:1px solid var(--line);font-family:inherit}.chapter-header,.chapter-controls{display:flex;flex-direction:column;gap:12px}.chapter-title-input{display:flex;flex-direction:column;gap:8px}.chapter-title-input input{padding:10px 12px;border-radius:12px;border:1px solid var(--line);font-family:inherit}.adjust-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adjust-hint{font-size:14px}.message-list{display:grid;gap:12px}.message-scroll{overflow:auto;padding-right:4px;flex:1;position:relative}.message-item{background:#fff;border-radius:16px;padding:12px 16px;border:1px solid var(--line)}.message-meta{display:flex;gap:8px;font-size:12px;margin-bottom:8px;color:var(--muted)}.message-role{text-transform:uppercase;font-weight:600}.message-content{margin:0;white-space:pre-wrap;font-family:Noto Sans TC,sans-serif}.message-content.markdown{white-space:normal;line-height:1.6}.message-content.markdown p{margin:0 0 8px}.message-content.markdown p:last-child{margin-bottom:0}.message-content.markdown ul,.message-content.markdown ol{margin:0 0 8px 20px;padding:0}.message-content.markdown code{font-family:Space Grotesk,Noto Sans TC,sans-serif;background:#f3e7d8;padding:2px 6px;border-radius:6px;font-size:.9em}.message-content.markdown pre{background:#f3e7d8;padding:12px;border-radius:12px;overflow:auto;margin:0 0 8px}.message-content.markdown blockquote{margin:0 0 8px;padding:8px 12px;border-left:3px solid var(--accent);background:#fff6e8}.message-content.markdown em{font-style:normal;color:var(--muted)}.message-content.markdown a{color:var(--accent-dark);text-decoration:underline}.to-top{position:sticky;bottom:12px;margin:16px 0 0 auto;border-radius:999px;padding:8px 16px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 18px #1f1b161f;z-index:4}.empty{padding:24px;background:#fff;border-radius:16px;border:1px dashed var(--line);color:var(--muted)}@media (max-width: 960px){body{overflow:auto}.panel-header{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.app-header{flex-direction:column;align-items:flex-start}.nav{gap:8px}.nav-link{padding:6px 10px;font-size:12px}.app-main{padding:0;overflow:auto}.panel{padding:12px;overflow:visible}.panel.wide{height:auto;overflow:visible}.import-layout,.settings-grid{grid-template-columns:1fr}.import-actions{flex-direction:column;align-items:stretch}.chapter-layout{grid-template-columns:1fr}.chapter-sidebar{border-right:none;padding-right:0;display:none}.sidebar-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:6px}.chapter-list{display:none}.chapter-item{min-width:220px;flex:0 0 auto}.chapter-header{position:sticky;top:var(--app-header-offset);background:var(--panel);padding-top:8px;border-bottom:1px solid var(--line);z-index:3}.chapter-select{display:block}.chapter-header .actions,.panel-header .actions{width:100%;flex-wrap:wrap}.chapter-header .actions button,.panel-header .actions button{width:100%;max-width:100%;white-space:normal}.adjust-controls .muted{flex-basis:100%}.message-scroll{overflow:visible;padding-right:0;flex:none}.to-top{position:fixed;right:16px;bottom:16px;margin:0}}
