:root{font-family:"Source Serif 4","Noto Serif SC",Georgia,Times New Roman,serif;color:#2d2620;background:#fbf6eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;min-height:0;margin:0}body{overflow:hidden}body.is-resizing-rail{cursor:col-resize;-webkit-user-select:none;user-select:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled,textarea:disabled,input:disabled{cursor:not-allowed}.app{--bg-page: #fbf6eb;--bg-content: #fffdf7;--bg-elevated: #ffffff;--bg-code: #f3ecdb;--bg-quote: rgba(166, 75, 0, .06);--bg-hover: rgba(45, 38, 32, .06);--bg-topbar: rgba(251, 246, 235, .92);--text-main: #2d2620;--text-strong: #1a1410;--text-muted: #7d756a;--text-faint: #a6a094;--accent: #b54a14;--accent-soft: #d97843;--accent-bg: rgba(181, 74, 20, .1);--line: #d6cdb8;--line-strong: #2d2620;--line-dashed: #b8af9a;--shadow-paper: 2px 2px 0 rgba(45, 38, 32, .06);--shadow-soft: 0 1px 3px rgba(45, 38, 32, .06), 0 16px 34px rgba(45, 38, 32, .05);display:flex;width:100%;height:100%;min-height:100dvh;flex-direction:column;overflow:hidden;color:var(--text-main);background:radial-gradient(circle at 22% 0%,rgba(181,74,20,.08),transparent 32%),linear-gradient(90deg,rgba(45,38,32,.018) 1px,transparent 1px),var(--bg-page);background-size:auto,22px 22px,auto}.app[data-theme=dark]{--bg-page: #1a1612;--bg-content: #221d18;--bg-elevated: #2a241e;--bg-code: #2a241e;--bg-quote: rgba(217, 120, 67, .08);--bg-hover: rgba(255, 253, 247, .06);--bg-topbar: rgba(26, 22, 18, .92);--text-main: #e8dfd0;--text-strong: #faf2e0;--text-muted: #a89e8e;--text-faint: #756d60;--accent: #e8884c;--accent-soft: #f0a370;--accent-bg: rgba(232, 136, 76, .13);--line: #3d3528;--line-strong: #d6cdb8;--line-dashed: #4a4234;--shadow-paper: 2px 2px 0 rgba(0, 0, 0, .2);--shadow-soft: 0 1px 3px rgba(0, 0, 0, .18), 0 16px 34px rgba(0, 0, 0, .18)}.topbar{display:flex;height:52px;flex-shrink:0;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg-topbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}.app.is-immersive .topbar{position:fixed;top:0;left:50%;width:min(920px,calc(100% - 32px));height:46px;margin:0;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-top:0;border-radius:0 0 10px 10px;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform:translate(-50%) translateY(-36px);transition:opacity .22s var(--ease),transform .22s var(--ease)}.app.is-immersive .topbar:hover,.app.is-immersive .topbar:focus-within{opacity:0;transform:translate(-50%) translateY(-36px)}.app.is-immersive .brand strong,.app.is-immersive .brand-separator{display:none}.topbar button,.topbar-search,.font-controls{border:1px solid transparent;color:var(--text-main);background:transparent;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.topbar button:hover,.topbar-search:focus-within,.topbar-search:hover,.font-controls:hover{border-color:var(--line);background:var(--bg-hover)}.topbar button:active{transform:translateY(1px)}.topbar-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:6px;color:var(--text-muted)}.topbar-text-button{display:inline-flex;height:34px;align-items:center;gap:6px;padding:0 10px;border-radius:6px;color:var(--text-muted);font-size:12.5px;white-space:nowrap}.topbar-text-button:disabled{opacity:.42}.ai-access-topbar{border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.ai-access-topbar.is-locked{color:var(--accent);background:var(--accent-bg)}.ai-access-topbar.is-unlocked{color:color-mix(in srgb,#3d7450 72%,var(--text-main));border-color:color-mix(in srgb,#3d7450 34%,var(--line));background:color-mix(in srgb,#3d7450 10%,transparent)}.brand{display:flex;min-width:0;align-items:center;gap:9px;white-space:nowrap}.brand-script{color:var(--accent);font-family:Caveat,Brush Script MT,cursive;font-size:27px;font-weight:700;line-height:1}.brand-separator{color:var(--text-faint)}.unlock-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:color-mix(in srgb,var(--bg-page) 78%,rgba(45,38,32,.26));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.unlock-dialog{position:relative;width:min(720px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 88%,transparent),transparent 58%),var(--bg-content);box-shadow:0 24px 70px #2d26202e,inset 0 1px #ffffff6b;animation:unlock-enter .22s var(--ease)}.unlock-close{position:absolute;top:13px;right:13px;display:grid;width:34px;height:34px;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--text-muted);background:transparent}.unlock-close:hover{border-color:var(--line);color:var(--text-main);background:var(--bg-hover)}.unlock-copy{padding:30px 32px 0}.unlock-copy h2{max-width:520px;margin:6px 0 10px;color:var(--text-strong);font-size:27px;line-height:1.18}.unlock-copy p{max-width:600px;margin:0;color:var(--text-muted);font-size:14px;line-height:1.72}.unlock-layout{display:grid;grid-template-columns:210px 1fr;gap:24px;padding:26px 32px 32px}.unlock-qr{display:grid;min-height:210px;place-items:center;border:1px dashed color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--bg-elevated) 78%,var(--accent-bg))}.unlock-qr img{display:block;width:min(178px,100%);height:auto;border-radius:4px}.unlock-qr-placeholder{display:grid;gap:10px;place-items:center;color:var(--text-muted);font-size:13px}.unlock-form{display:grid;align-content:start;gap:12px}.unlock-form label{display:grid;gap:4px}.unlock-form label span{color:var(--text-strong);font-size:13px;font-weight:760}.unlock-form label small{color:var(--text-muted);font-size:12px;line-height:1.45}.unlock-input-row{display:flex;height:44px;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:6px;color:var(--text-muted);background:var(--bg-elevated)}.unlock-input-row:focus-within{border-color:var(--accent)}.unlock-input-row input{min-width:0;flex:1;border:0;outline:0;color:var(--text-main);background:transparent;font-size:16px}.unlock-submit{display:inline-flex;height:42px;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:6px;color:var(--bg-content);background:var(--accent);font-size:14px;font-weight:720;transition:transform .16s var(--ease),opacity .16s var(--ease)}.unlock-submit:active{transform:translateY(1px)}.unlock-submit:disabled{opacity:.55}.unlock-help{display:inline-flex;width:fit-content;align-items:center;gap:6px;color:var(--accent);font-size:12px;text-decoration:none}.unlock-help:hover{text-decoration:underline}@keyframes unlock-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.brand strong,.topbar-current{overflow:hidden;color:var(--text-main);font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.topbar-current{min-width:0;flex:1;color:var(--text-muted)}.topbar-actions{display:flex;align-items:center;gap:7px}.immersive-chrome{position:fixed;top:12px;left:50%;z-index:7;display:grid;width:min(900px,calc(100% - 40px));min-height:46px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:6px 7px 6px 15px;border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:8px;color:var(--text-main);background:color-mix(in srgb,var(--bg-topbar) 76%,transparent);box-shadow:inset 0 1px #ffffff1f,0 14px 34px color-mix(in srgb,var(--text-main) 9%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(-50%)}.immersive-chrome-copy{display:grid;min-width:0;grid-template-columns:auto minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:10px}.immersive-chrome-copy span,.immersive-chrome-copy em{color:var(--text-muted);font-size:12px;line-height:1.2}.immersive-chrome-copy span{letter-spacing:.08em;white-space:nowrap}.immersive-chrome-copy strong,.immersive-chrome-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.immersive-chrome-copy strong{color:var(--text-strong);font-size:13px;font-weight:650}.immersive-chrome-copy em{font-style:normal}.immersive-chrome-actions{display:flex;align-items:center;gap:6px}.immersive-progress-label{min-width:42px;color:var(--accent);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.immersive-chrome-actions button{display:inline-grid;min-width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--text-main);background:transparent;font-size:12px;font-weight:650;transition:transform .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.immersive-chrome-actions button:hover{border-color:var(--line);background:var(--bg-hover)}.immersive-chrome-actions button:active{transform:translateY(1px)}.immersive-chrome-actions .immersive-leave{display:inline-flex;min-width:0;align-items:center;gap:6px;padding:0 11px;color:var(--accent)}.immersive-chrome-actions .immersive-leave:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 42%,var(--bg-topbar))}.immersive-toc{position:fixed;top:clamp(86px,10vh,122px);bottom:clamp(38px,6vh,72px);left:16px;z-index:6;width:min(306px,calc(100vw - 64px));pointer-events:none}.immersive-toc-panel{display:flex;height:100%;min-height:0;flex-direction:column;padding:15px 12px 14px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bg-topbar) 82%,transparent);box-shadow:inset 0 1px #ffffff1a,0 20px 48px color-mix(in srgb,var(--text-main) 12%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:auto;transform:translate(calc(-100% - 18px));transition:opacity .22s var(--ease),transform .22s var(--ease)}.immersive-toc.is-open .immersive-toc-panel{opacity:1;transform:translate(0)}.immersive-toc-toggle{position:fixed;top:clamp(86px,10vh,122px);left:16px;z-index:7;display:inline-flex;height:38px;align-items:center;gap:7px;padding:0 11px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;color:var(--text-main);background:color-mix(in srgb,var(--bg-topbar) 84%,transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:12px;font-weight:680;pointer-events:auto;transition:left .22s var(--ease),transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.immersive-toc.is-open .immersive-toc-toggle{left:min(334px,calc(100vw - 112px));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent-bg) 42%,var(--bg-topbar))}.immersive-toc-toggle:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 34%,var(--bg-topbar))}.immersive-toc-toggle:active{transform:translateY(1px)}.immersive-toc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:1px 2px 12px;border-bottom:1px dashed color-mix(in srgb,var(--line-dashed) 72%,transparent)}.immersive-toc-head h2{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-strong);font-size:14px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.immersive-toc-head button{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--text-muted);background:transparent;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.immersive-toc-head button:hover{border-color:var(--line);color:var(--accent);background:var(--bg-hover)}.immersive-toc .outline{flex:1;max-height:none;margin-top:10px;padding-right:2px}.immersive-toc .outline button{padding-top:7px;padding-bottom:7px;border-radius:6px;font-size:12.5px}.topbar-search{display:flex;width:min(320px,24vw);height:34px;align-items:center;gap:7px;padding:0 10px;border-radius:6px;color:var(--text-faint)}.topbar-search input{min-width:0;flex:1;border:0;outline:0;color:var(--text-main);background:transparent;font-size:13px}.topbar-search input::placeholder{color:var(--text-faint)}.font-controls{display:grid;height:34px;grid-template-columns:repeat(3,34px);overflow:hidden;border-color:var(--line);border-radius:6px}.font-controls button{width:34px;height:32px;border:0;border-right:1px solid var(--line);border-radius:0;font-size:13px}.font-controls button:last-child{border-right:0}.workspace{display:grid;min-height:0;flex:1;grid-template-columns:224px minmax(720px,1fr) var(--study-width, 430px);overflow:hidden}.app.is-immersive .workspace{grid-template-columns:minmax(0,1fr)}.workspace.is-home{grid-template-columns:224px minmax(0,1fr)}.doc-rail,.study-rail{min-width:0;min-height:0;overflow:hidden;border-color:var(--line);background:color-mix(in srgb,var(--bg-page) 88%,transparent)}.doc-rail{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:18px 12px}.app.is-immersive .doc-rail,.app.is-immersive .study-rail{display:none}.import-box{display:grid;gap:8px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed var(--line-dashed)}.import-box button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:6px;color:var(--accent);background:var(--bg-elevated);font-size:13px;font-weight:650;text-align:center;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}.start-shell{min-width:0;min-height:0;overflow:auto;background:var(--bg-content)}.start-inner{display:grid;width:min(1120px,calc(100% - 72px));margin:0 auto;padding:56px 0 90px;gap:34px}.start-copy{max-width:740px}.start-copy h1{margin:0;color:var(--text-strong);font-size:clamp(34px,4.6vw,66px);line-height:1.03;letter-spacing:0}.start-copy p{max-width:720px;margin:18px 0 0;color:var(--text-muted);font-size:17px;line-height:1.72}.start-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.start-actions button,.recent-list button{border:1px solid var(--line);border-radius:6px;color:var(--text-main);background:var(--bg-elevated);text-align:left;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.start-actions button{display:grid;min-height:118px;align-content:space-between;gap:16px;padding:18px}.start-actions button:hover,.recent-list button:hover{border-color:var(--accent);background:var(--accent-bg)}.start-actions button:active,.recent-list button:active{transform:translateY(1px)}.start-actions strong{color:var(--text-strong);font-size:17px}.start-actions span{color:var(--text-muted);font-size:12.5px;line-height:1.5}.start-local-note{display:grid;gap:6px;max-width:720px;padding:16px 18px;border:1px dashed var(--line-dashed);border-radius:6px;color:var(--text-muted);background:color-mix(in srgb,var(--bg-page) 54%,transparent);font-size:13px;line-height:1.55}.start-local-note strong{color:var(--text-strong);font-size:14px}.start-url-import{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:end;gap:18px;padding:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-page) 50%,transparent)}.start-url-import h2{margin:0;color:var(--text-strong);font-size:18px}.start-lower{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.recent-panel{padding:20px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg-page) 50%,transparent)}.recent-panel h2{margin:0;color:var(--text-strong);font-size:18px}.recent-panel p{margin:12px 0 0;color:var(--text-muted);font-size:14px;line-height:1.65}.recent-list{display:grid;gap:8px;margin-top:14px}.recent-item{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.recent-list button{display:grid;gap:5px;padding:12px}.recent-delete{min-height:100%;place-items:center;padding:0;color:var(--text-faint);text-align:center}.recent-delete:hover{color:var(--accent)}.recent-list span{overflow:hidden;color:var(--text-strong);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.recent-list small{overflow:hidden;color:var(--text-muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.import-box button:hover{border-color:var(--accent);background:var(--accent-bg)}.import-box button:active{transform:translateY(1px)}.url-import{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.url-import.is-compact{grid-template-columns:1fr}.url-import input{min-width:0;height:38px;border:1px solid var(--line);border-radius:6px;outline:0;padding:0 11px;color:var(--text-main);background:var(--bg-elevated);font-size:13px}.url-import input:focus{border-color:var(--accent)}.url-import button{min-width:104px;min-height:38px;white-space:nowrap}.import-error{margin:0;color:color-mix(in srgb,#c9462c 78%,var(--text-main));font-size:11.5px;line-height:1.45}.doc-rail nav{min-height:0;flex:1;overflow:auto}.nav-group{margin-bottom:24px}.nav-group h2,.section-kicker{margin:0 0 10px;color:var(--text-faint);font-size:10.5px;font-weight:760;letter-spacing:.13em;text-transform:uppercase}.doc-link-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;gap:4px}.doc-link{display:block;width:100%;margin:3px 0;padding:9px;border:0;border-left:3px solid transparent;border-radius:6px;color:var(--text-main);background:transparent;font-size:14px;line-height:1.35;text-align:left;text-wrap:pretty;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.doc-delete{display:grid;width:30px;height:34px;margin:3px 0;place-items:center;border:0;border-radius:6px;color:var(--text-faint);background:transparent;opacity:.68;transition:opacity .15s var(--ease),background .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)}.doc-delete:hover{color:var(--accent);background:var(--accent-bg);opacity:1}.doc-delete:active{transform:translateY(1px)}.doc-link:hover{background:var(--bg-hover)}.doc-link.active{border-left-color:var(--accent);color:var(--accent);background:var(--accent-bg);font-weight:650}.rail-note{display:grid;gap:5px;padding-top:14px;border-top:1px dashed var(--line-dashed);color:var(--text-faint);font-size:11.5px;line-height:1.45}.rail-note strong{color:var(--text-muted)}.rail-empty{margin:6px 0 20px;padding:14px 10px;border:1px dashed var(--line);border-radius:6px;color:var(--text-muted);background:color-mix(in srgb,var(--bg-page) 54%,transparent);font-size:12.5px;line-height:1.6}.reader-shell{position:relative;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent),var(--bg-content)}.app.is-immersive .reader-shell{background:linear-gradient(90deg,color-mix(in srgb,var(--bg-page) 82%,transparent),transparent 8%,transparent 92%,color-mix(in srgb,var(--bg-page) 82%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--bg-page) 72%,transparent),transparent 14%,transparent 86%,color-mix(in srgb,var(--bg-page) 76%,transparent)),var(--bg-page)}.app.is-immersive .reader-shell:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--bg-page) 80%,transparent),transparent 10%,transparent 90%,color-mix(in srgb,var(--bg-page) 80%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--bg-page) 62%,transparent),transparent 15%,transparent 87%,color-mix(in srgb,var(--bg-page) 68%,transparent))}.progress-track{height:2px;background:transparent}.app.is-immersive .progress-track{position:fixed;top:0;left:0;z-index:8;width:100%;height:3px}.progress-track span{display:block;height:100%;background:var(--accent);transition:width .12s linear}.reader{height:calc(100% - 2px);overflow:auto;padding:38px clamp(30px,3vw,58px) 110px}.app.is-immersive .reader{height:calc(100dvh - 2px);padding:clamp(88px,10vh,126px) clamp(36px,6vw,96px) clamp(96px,11vh,140px);scroll-padding-top:88px}.reader-inner{width:100%;margin:0}.app.is-immersive .reader-inner{position:relative;z-index:2;max-width:min(84ch,calc(100vw - 72px))!important;margin:0 auto}.doc-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding-bottom:18px;border-bottom:1px dashed var(--line-dashed);color:var(--text-muted);font-size:13px}.app.is-immersive .doc-meta{display:none}.doc-meta span:first-child{padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:var(--accent-bg)}.doc-meta-action{display:inline-flex;min-height:26px;align-items:center;gap:6px;padding:2px 10px;border:1px solid var(--accent);border-radius:999px;color:var(--bg-content);background:var(--accent);font-size:12.5px;font-weight:650;transition:transform .16s var(--ease),opacity .16s var(--ease)}.doc-meta-action:hover{opacity:.88}.doc-meta-action:active{transform:translateY(1px)}.doc-meta-action:disabled{opacity:.56}.doc-meta .doc-meta-error{color:color-mix(in srgb,#c9462c 82%,var(--text-main))}.source-editor{display:grid;min-height:calc(100dvh - 170px);gap:14px}.source-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px dashed var(--line-dashed)}.source-editor-head h1{margin:0;color:var(--text-strong);font-size:1.45em;line-height:1.25}.source-editor-actions{display:flex;flex-shrink:0;align-items:center;gap:8px}.source-editor-actions button{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--line);border-radius:6px;color:var(--text-main);background:var(--bg-elevated);font-size:13px;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}.source-editor-actions button:hover{border-color:var(--accent);background:var(--accent-bg)}.source-editor-actions button:active{transform:translateY(1px)}.source-editor-actions .save-source{color:var(--bg-content);background:var(--accent)}.source-editor textarea{width:100%;min-height:min(68dvh,760px);resize:vertical;padding:18px;border:1px solid var(--line);border-radius:6px;outline:0;color:var(--text-main);background:var(--bg-elevated);box-shadow:var(--shadow-paper);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.82em;line-height:1.72}.source-editor textarea:focus{border-color:var(--accent)}.source-editor-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:var(--text-muted);font-size:12px;line-height:1.45}.doc-block{position:relative;scroll-margin-top:72px;border-radius:6px;transition:background .16s var(--ease),box-shadow .16s var(--ease)}h1.doc-block,h2.doc-block,h3.doc-block,h4.doc-block{color:var(--text-strong);font-weight:720;letter-spacing:0;text-wrap:balance}h1.doc-block{margin:0 0 22px;padding-bottom:18px;border-bottom:2px solid var(--line-strong);font-size:2.28em;line-height:1.13}h2.doc-block{margin:56px 0 20px;padding-top:28px;border-top:1px dashed var(--line-dashed);color:var(--accent);font-size:1.5em;line-height:1.22}h3.doc-block{margin:30px 0 12px;font-size:1.12em;line-height:1.35}h3.doc-block:before{content:"§ ";color:var(--accent-soft);font-weight:400}h4.doc-block{margin:20px 0 10px;font-size:1em}p.doc-block,blockquote.doc-block{margin:17px 0;line-height:1.86}.app.is-immersive p.doc-block,.app.is-immersive blockquote.doc-block,.app.is-immersive .doc-list{line-height:1.92;text-wrap:pretty}.app.is-immersive h1.doc-block{margin:clamp(4px,2.2vh,26px) 0 clamp(34px,5.6vh,58px);padding-bottom:clamp(20px,3.2vh,32px);border-bottom:1px solid color-mix(in srgb,var(--line-strong) 46%,transparent);font-size:clamp(2.5rem,4vw,4.1rem);line-height:1.08}.app.is-immersive h2.doc-block{margin:clamp(60px,9vh,96px) 0 22px;padding-top:clamp(26px,4vh,40px);border-top:1px solid color-mix(in srgb,var(--line-dashed) 72%,transparent);font-size:clamp(1.78rem,2vw,2.28rem)}.app.is-immersive h3.doc-block{margin:40px 0 14px;font-size:1.18em}.app.is-immersive p.doc-block{margin:.96em 0}.app.is-immersive .doc-list{margin:1.05em 0}.app.is-immersive blockquote.doc-block{margin:1.4em 0;padding:22px 26px;border-left-width:3px}.app.is-immersive .doc-block.is-selected,.app.is-immersive .doc-block:hover{background:color-mix(in srgb,var(--accent-bg) 34%,transparent);box-shadow:-18px 0 color-mix(in srgb,var(--accent-bg) 22%,transparent),18px 0 color-mix(in srgb,var(--accent-bg) 22%,transparent)}.app.is-immersive .doc-block.has-annotation:before{left:-24px}p.doc-block{color:var(--text-main)}blockquote.doc-block{padding:18px 24px;border-left:4px solid var(--accent);border-radius:3px;color:var(--text-main);background:var(--bg-quote);box-shadow:var(--shadow-paper)}ul.doc-block,ol.doc-block{margin:18px 0;padding-left:31px;line-height:1.84}li+li{margin-top:4px}pre.doc-block{position:relative;overflow-x:auto;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:3px;color:var(--text-main);background:var(--bg-code);box-shadow:var(--shadow-paper);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.84em;line-height:1.64;white-space:pre}.code-lang{position:sticky;left:0;display:inline-block;margin-bottom:10px;color:var(--text-faint);font-family:inherit;font-size:11px}.doc-block table{width:100%;border-collapse:collapse;margin:20px 0;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:color-mix(in srgb,var(--bg-elevated) 70%,var(--bg-code));box-shadow:var(--shadow-paper);font-size:.95em}.doc-block th,.doc-block td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.doc-block th{color:var(--text-strong);background:var(--accent-bg);font-weight:700}hr.doc-block{height:1px;margin:42px 0;border:0;border-top:1px dashed var(--line-dashed)}.doc-block code{padding:1px 5px;border-radius:4px;color:var(--text-strong);background:var(--bg-code);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.86em}pre.doc-block code{padding:0;border-radius:0;background:transparent}.doc-block a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:3px}.doc-image{display:block;max-width:100%;height:auto;margin:24px auto;border:1px solid var(--line);border-radius:6px;background:var(--bg-elevated);box-shadow:var(--shadow-paper)}.doc-block.is-selected{background:color-mix(in srgb,var(--accent-bg) 70%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent-bg) 70%,transparent)}.doc-block.is-focused{animation:source-flash 1.5s var(--ease)}.doc-block.has-annotation:before{content:"";position:absolute;top:.25em;bottom:.25em;left:-18px;width:3px;border-radius:99px;background:var(--accent)}.doc-block.has-important:before{background:#b54a14}.doc-block.has-question:before{background:#9b6b19}.doc-block.has-definition:before,.doc-block.has-term:before{background:#3f7a62}.doc-block.has-citation:before{background:#5c6f93}.doc-block.has-revisit:before{background:#8d6a9f}.annotation-mark,.search-mark{border-radius:3px;color:inherit}.annotation-mark{background:#dea64857}.annotation-important{background:#d8703852}.annotation-question{background:#cb993e54}.annotation-definition,.annotation-term{background:#4896743d}.annotation-citation{background:#5c6f9338}.annotation-revisit{background:#8d6a9f38}.search-mark{background:color-mix(in srgb,var(--accent) 28%,transparent)}.doc-list{display:grid;gap:7px;padding-left:0;list-style:none}.doc-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;margin:0;padding-left:calc(var(--list-level, 0) * 24px)}.list-marker{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right}@keyframes source-flash{0%{background:color-mix(in srgb,var(--accent-bg) 95%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent-bg) 72%,transparent)}to{background:transparent;box-shadow:none}}.reader-loading,.reader-error{display:grid;min-height:240px;place-items:center;border:1px dashed var(--line-dashed);color:var(--text-muted);background:var(--bg-quote)}.study-rail{position:relative;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;border-left:1px solid var(--line)}.rail-resizer{position:absolute;top:0;bottom:0;left:-5px;z-index:4;width:10px;cursor:col-resize;touch-action:none}.rail-resizer:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:transparent;transition:background .16s var(--ease),box-shadow .16s var(--ease)}.rail-resizer:hover:after,body.is-resizing-rail .rail-resizer:after{background:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.panel-section{flex-shrink:0;padding:18px;border-bottom:1px solid var(--line)}.toc-panel{max-height:28%;min-height:160px;overflow:hidden}.outline{display:grid;max-height:calc(100% - 22px);overflow:auto;gap:1px}.outline button{overflow:hidden;padding:6px 8px;border:0;border-radius:5px;color:var(--text-muted);background:transparent;font-size:12px;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap}.outline button:hover,.outline button.active{color:var(--accent);background:var(--bg-hover)}.selected-card p{display:-webkit-box;overflow:hidden;margin:0 0 10px;color:var(--text-main);font-size:13px;line-height:1.58;-webkit-box-orient:vertical;-webkit-line-clamp:6}.context-line,.hint-line{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:12px;line-height:1.45}.empty-state{padding:13px;border:1px dashed var(--line-dashed);border-radius:4px;color:var(--text-muted);background:var(--bg-quote);font-size:13px;line-height:1.55}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid button,.primary-button,.ai-actions button,.rail-translate-button,.ask-row button{border:1px solid var(--line);border-radius:6px;color:var(--text-main);background:var(--bg-elevated);transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),opacity .16s var(--ease)}.action-grid button:hover,.primary-button:hover,.ai-actions button:hover,.rail-translate-button:hover,.ask-row button:hover{border-color:var(--accent);background:var(--accent-bg)}.action-grid button:active,.primary-button:active,.ai-actions button:active,.rail-translate-button:active,.ask-row button:active{transform:translateY(1px)}.action-grid button:disabled,.primary-button:disabled,.ai-actions button:disabled,.rail-translate-button:disabled,.ask-row button:disabled{opacity:.42}.action-grid button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;font-size:13px}.field-label{display:block;margin-bottom:8px;color:var(--text-muted);font-size:12px;font-weight:650}.note-input{width:100%;min-height:86px;resize:vertical;margin-bottom:10px;padding:11px 12px;border:1px solid var(--line);border-radius:5px;outline:0;color:var(--text-main);background:var(--bg-elevated);line-height:1.5}.note-input::placeholder,.ask-row input::placeholder{color:var(--text-faint)}.note-input:focus,.ask-row:focus-within{border-color:var(--accent)}.kind-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 10px}.kind-picker button{min-height:30px;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);background:var(--bg-elevated);font-size:11.5px;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease),opacity .16s var(--ease)}.kind-picker button:hover,.kind-picker button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.kind-picker button:active{transform:translateY(1px)}.kind-picker button:disabled{opacity:.42}.primary-button{display:inline-flex;width:100%;min-height:38px;align-items:center;justify-content:center;gap:8px;color:var(--bg-content);background:var(--accent);font-size:13px;font-weight:650}.rail-translate-button{display:inline-flex;width:100%;min-height:36px;align-items:center;justify-content:center;gap:8px;margin-top:13px;color:var(--bg-content);background:var(--accent);font-size:13px;font-weight:650}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-title-row h2{margin:0;color:var(--text-strong);font-size:16px;line-height:1.25}.ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.ai-actions button{min-height:34px;font-size:12px}.ai-actions button:nth-child(3){grid-column:1 / -1}.ask-row{display:flex;height:40px;align-items:center;gap:8px;margin-top:9px;padding:0 6px 0 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg-elevated)}.ask-row input{min-width:0;flex:1;border:0;outline:0;color:var(--text-main);background:transparent;font-size:13px}.ask-row button{display:grid;width:29px;height:29px;place-items:center;color:var(--bg-content);background:var(--accent)}.ask-row+.hint-line{margin-top:8px}.error-line{margin-top:8px;padding:9px 10px;border:1px solid color-mix(in srgb,#c9462c 55%,var(--line));border-radius:5px;color:color-mix(in srgb,#c9462c 78%,var(--text-main));background:color-mix(in srgb,#c9462c 10%,transparent);font-size:12px;line-height:1.45}.ai-access-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:6px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 74%,transparent),transparent 72%),var(--bg-elevated);box-shadow:var(--shadow-paper)}.ai-access-card.is-unlocked{border-color:color-mix(in srgb,#3d7450 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,#3d7450 10%,transparent),transparent 72%),var(--bg-elevated)}.ai-access-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:6px;color:var(--accent);background:var(--accent-bg)}.ai-access-card.is-unlocked .ai-access-mark{color:color-mix(in srgb,#3d7450 75%,var(--text-main));border-color:color-mix(in srgb,#3d7450 32%,var(--line));background:color-mix(in srgb,#3d7450 10%,transparent)}.ai-access-card strong,.ai-access-card span{display:block}.ai-access-card strong{margin-bottom:3px;color:var(--text-strong);font-size:13px}.ai-access-card span{color:var(--text-muted);font-size:11.5px;line-height:1.45}.ai-access-card button{min-width:54px;height:32px;border:1px solid var(--line);border-radius:6px;color:var(--text-main);background:var(--bg-content);font-size:12px;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.ai-access-card button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.ai-access-card button:active{transform:translateY(1px)}.notes-feed{display:block;flex:0 0 auto;min-height:260px;overflow:visible;border-bottom:0}.feed-list{display:grid;gap:10px;align-content:start;margin-top:14px;overflow:visible;padding-bottom:14px;padding-right:2px}.feed-card{border:1px solid var(--line);border-radius:4px;padding:12px;background:var(--bg-elevated);box-shadow:var(--shadow-paper)}.feed-card.ai-card{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent-bg) 54%,var(--bg-elevated))}.feed-card.compact blockquote{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.feed-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.feed-card-head button{display:inline-flex;align-items:center;gap:5px;border:0;color:var(--text-muted);background:transparent;font-size:11px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.feed-card-head button:hover{color:var(--accent)}.feed-card-head button:disabled{opacity:.45;cursor:not-allowed}.note-body{margin:0 0 9px;font-size:13px;line-height:1.56}.ai-answer{display:grid;gap:10px;margin-bottom:11px;font-size:14px;line-height:1.66}.ai-answer h4,.note-body h4{margin:10px 0 2px;padding-top:8px;border-top:1px dashed var(--line);color:var(--accent);font-size:12px;font-weight:780;letter-spacing:.08em}.ai-answer h4:first-child,.note-body h4:first-child{margin-top:0;padding-top:0;border-top:0}.ai-answer p,.note-body p{margin:0}.ai-answer ul,.note-body ul{display:grid;gap:6px;margin:0;padding-left:19px}.ai-answer li,.note-body li{margin:0}.ai-answer code,.note-body code{padding:1px 5px;border-radius:4px;color:var(--text-strong);background:var(--bg-code);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.9em}.stream-placeholder{color:var(--text-muted);font-style:italic}.stream-cursor{display:inline-block;width:7px;height:1.2em;margin-left:3px;border-radius:99px;background:var(--accent);vertical-align:-.2em;animation:stream-caret .9s steps(2,jump-none) infinite}@keyframes stream-caret{50%{opacity:0}}.feed-card blockquote{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}@media(max-width:1180px){.workspace{grid-template-columns:220px minmax(0,1fr)}.study-rail{display:none}.topbar-search{width:min(240px,28vw)}.start-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.start-lower{grid-template-columns:1fr}}@media(max-width:820px){body{overflow:auto}.app{height:auto;min-height:100dvh;overflow:visible}.topbar{height:auto;flex-wrap:wrap;padding:10px}.app.is-immersive .topbar{width:calc(100% - 20px);height:auto;flex-wrap:wrap;padding:8px;transform:translate(-50%) translateY(-72px)}.app.is-immersive .topbar:hover,.app.is-immersive .topbar:focus-within{transform:translate(-50%) translateY(-72px)}.immersive-chrome{top:8px;width:calc(100% - 20px);grid-template-columns:1fr;gap:8px;padding:10px}.immersive-chrome-copy{grid-template-columns:minmax(0,1fr);gap:3px}.immersive-chrome-copy span{display:none}.immersive-chrome-actions{justify-content:space-between}.immersive-toc{top:126px;bottom:20px;left:10px;width:calc(100vw - 20px)}.immersive-toc-toggle{top:92px;left:10px;height:34px}.immersive-toc.is-open .immersive-toc-toggle{right:10px;left:auto}.immersive-toc-panel{padding:14px 11px 12px}.topbar-current{order:3;width:100%;flex:0 0 100%}.topbar-actions{width:100%;flex-wrap:wrap}.topbar-search{width:100%}.unlock-overlay{align-items:start;overflow:auto;padding:14px}.unlock-copy{padding:24px 20px 0}.unlock-copy h2{padding-right:38px;font-size:23px}.unlock-layout{grid-template-columns:1fr;gap:16px;padding:20px}.unlock-qr{min-height:190px}.workspace{display:block;overflow:visible}.workspace.is-home{display:block}.doc-rail{max-height:280px;border-right:0;border-bottom:1px solid var(--line)}.reader-shell{min-height:70dvh}.reader{height:auto;min-height:70dvh;padding:24px 18px 54px}.app.is-immersive .reader{height:auto;min-height:100dvh;padding:116px 20px 84px}.app.is-immersive .reader-inner{max-width:100%!important}.app.is-immersive p.doc-block,.app.is-immersive blockquote.doc-block,.app.is-immersive .doc-list{line-height:1.84}.start-inner{width:calc(100% - 32px);padding:32px 0 52px}.start-copy h1{font-size:34px}.start-actions,.start-url-import,.url-import{grid-template-columns:1fr}}
