:root{color-scheme:light;--bg: #f3f6f8;--panel: #ffffff;--ink: #17242b;--muted: #5f727c;--line: #d7e2e7;--brand: #006b8f;--brand-strong: #004e68;--accent: #4b9a78;--soft: #e7f3f6;--shadow: 0 16px 40px rgba(19, 45, 56, .12);font-family:Segoe UI,Noto Sans TC,Microsoft JhengHei,Arial,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#006b8f1f,#f3f6f800 270px),var(--bg)}button,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:var(--brand-strong);font-weight:700}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;border-bottom:1px solid rgba(0,78,104,.18);background:#f3f6f8f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{min-width:0}.brand p,.slide-kicker{margin:0 0 4px;color:var(--brand-strong);font-size:12px;font-weight:800}.brand h1,.viewer-header h2{margin:0;color:var(--ink);letter-spacing:0}.brand h1{font-size:clamp(20px,2.2vw,32px);line-height:1.15}.top-actions,.viewer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.button,.icon-button{min-height:40px;border:1px solid rgba(0,78,104,.22);border-radius:8px;background:#fff;color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:800;text-decoration:none}.button{padding:8px 12px}.icon-button{width:40px;padding:0}.button.primary{background-color:var(--brand);background-image:none;box-shadow:none;color:#fff;border-color:var(--brand)}.button:hover,.icon-button:hover{border-color:var(--brand);box-shadow:0 8px 18px #004e681f}.layout{display:grid;grid-template-columns:280px minmax(0,1fr) minmax(320px,390px);gap:14px;padding:16px}.layout.left-closed{grid-template-columns:minmax(0,1fr) minmax(320px,390px)}.layout.right-closed{grid-template-columns:280px minmax(0,1fr)}.layout.left-closed.right-closed{grid-template-columns:minmax(0,1fr)}.panel{min-width:0;border:1px solid rgba(0,78,104,.14);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.toc-panel,.side-panel{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 106px);overflow:auto}.panel-head{display:flex;gap:10px;align-items:flex-start;padding:14px;border-bottom:1px solid var(--line);background:#f9fbfc;border-radius:8px 8px 0 0}.panel-head h2,.focus-box h3,.resource-box h3,.prompt-list h3{margin:0;font-size:16px;letter-spacing:0}.panel-head p,.focus-box p,.prompt-card p,.empty,.note-meta span{color:var(--muted);line-height:1.55}.panel-head p,.prompt-card p,.empty{margin:4px 0 0;font-size:13px}.toc-list{display:grid;gap:14px;padding:12px}.toc-group h3{margin:0 0 8px;color:var(--muted);font-size:12px}.toc-button{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start;margin-bottom:6px;padding:9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.toc-button:hover,.toc-button.active{background:var(--soft);border-color:#006b8f47}.toc-button span{color:var(--brand-strong);font-size:12px;font-weight:900}.toc-button strong{line-height:1.45;font-size:13px}.viewer{display:grid;gap:12px;min-width:0}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.viewer-header h2{font-size:clamp(19px,2vw,28px)}.slide-stage{margin:0;min-height:58vh;display:grid;place-items:center;border:1px solid rgba(0,78,104,.16);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#e6f3f7c7),#eef6f8;box-shadow:var(--shadow);overflow:hidden}.slide-stage img{display:block;width:100%;max-height:68vh;object-fit:contain}.note-panel{padding:12px}.note-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.note-meta strong{font-size:15px}.note-meta span{font-size:12px}.note-panel textarea,.prompt-card textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;background:#fbfdfe;color:var(--ink);line-height:1.58;outline:none}.note-panel textarea{min-height:130px;padding:12px}.note-panel textarea:focus,.prompt-card textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #006b8f1f}.focus-box,.resource-box,.prompt-list{padding:14px;border-bottom:1px solid var(--line)}.resource-box{display:grid;gap:8px}.prompt-list{display:grid;gap:12px;border-bottom:0}.prompt-card{position:relative;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.prompt-card-head{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:10px}.prompt-card span{color:var(--accent);font-size:12px;font-weight:900}.prompt-card h4{margin:3px 0 0;font-size:15px;letter-spacing:0}.prompt-card textarea{min-height:260px;padding:11px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.copy-toast{position:absolute;right:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:var(--brand-strong);color:#fff;font-size:12px;font-weight:800}.viewer:fullscreen{padding:18px;background:#071216}.viewer:fullscreen .note-panel{display:none}.viewer:fullscreen .viewer-header{background:#102129}.viewer:fullscreen .viewer-header h2{color:#edf7fa}.viewer:fullscreen .slide-stage{min-height:calc(100vh - 116px)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #0f171b;--panel: #162329;--ink: #edf7fa;--muted: #a9bbc4;--line: #2b424c;--brand: #2da4cc;--brand-strong: #77d6f0;--accent: #72c69e;--soft: #19343e;--shadow: 0 16px 40px rgba(0, 0, 0, .28)}body{background:linear-gradient(180deg,#2da4cc29,#0f171b00 270px),var(--bg)}.topbar,.panel{background:#162329f0}.panel-head,.prompt-card,.button,.icon-button,.note-panel textarea,.prompt-card textarea{background:#162329}.slide-stage{background:linear-gradient(135deg,#162329eb,#143741c7),#14242b}}@media(max-width:1080px){.layout,.layout.left-closed,.layout.right-closed,.layout.left-closed.right-closed{grid-template-columns:1fr}.toc-panel,.side-panel{position:static;max-height:none}}@media(max-width:680px){.topbar{align-items:flex-start;flex-direction:column;padding:14px}.top-actions{width:100%;justify-content:flex-start}.layout{padding:10px}.viewer-header{align-items:flex-start;flex-direction:column}.slide-stage{min-height:42vh}.slide-stage img{max-height:45vh}.button{min-height:44px}.icon-button{width:44px;min-height:44px}}
