:root{--font-geist:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-editorial:Georgia, "Times New Roman", serif;--bg:#f6f7f5;--panel:#fff;--sidebar:#f0f2ef;--text:#252823;--muted:#72786e;--faint:#a7aca3;--border:#dfe2dc;--border-strong:#cdd2ca;--green:#4c654c;--green-dark:#354b36;--green-soft:#e2e9df;--code:#f2f4f1;--quote:#f3f6f1;--shadow:0 12px 35px #212b2214}:root[data-theme=dark]{--bg:#151714;--panel:#1c1f1b;--sidebar:#181b17;--text:#e7e9e4;--muted:#9ca39a;--faint:#70776e;--border:#30352f;--border-strong:#41483f;--green:#a9bda5;--green-dark:#d0ddcd;--green-soft:#283127;--code:#242824;--quote:#212620;--shadow:0 12px 35px #00000040}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-geist), sans-serif;margin:0}button,input{font:inherit}button{color:inherit}::selection{color:#1f2b20;background:#cad8c5}.app-shell{min-height:100vh}.topbar{z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:240px minmax(0,1fr) auto;align-items:center;height:64px;display:grid;position:fixed;inset:0 0 auto}.brand{border:0;border-right:1px solid var(--border);cursor:pointer;letter-spacing:-.02em;background:0 0;align-items:center;gap:10px;height:64px;padding:0 24px;font-size:17px;font-weight:650;display:flex}.brand-mark,.footer-mark{background:var(--green-dark);width:28px;height:28px;color:var(--panel);font-family:var(--font-editorial), serif;border-radius:8px 8px 8px 3px;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.file-crumb{min-width:0;color:var(--muted);align-items:center;gap:9px;padding-left:24px;font-size:13px;display:flex}.file-crumb span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-dot{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px}.top-actions{align-items:center;gap:8px;padding-right:18px;display:flex}.icon-button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;transition:all .18s}.icon-button:hover{border-color:var(--border);background:var(--sidebar);color:var(--text)}.share-button{background:var(--green-dark);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;min-width:100px;height:38px;padding:0 13px 0 17px;font-size:13px;font-weight:620;display:flex;box-shadow:0 3px 10px #3046312e}.share-button:disabled{opacity:.65;cursor:wait}.share-arrow{opacity:.75;font-size:15px}.menu-wrap{position:relative}.menu{border:1px solid var(--border);background:var(--panel);width:190px;box-shadow:var(--shadow);border-radius:11px;padding:6px;position:absolute;top:44px;right:0}.menu button{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 10px;font-size:13px;display:block}.menu button:hover{color:var(--text);background:var(--sidebar)}.account-wrap{position:relative}.account-button{border:1px solid var(--border);background:var(--panel);height:36px;color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:0 10px 0 7px;font-size:11px;display:flex}.account-button:hover,.account-button.signed-in{color:var(--text)}.account-avatar{background:var(--sidebar);width:22px;height:22px;color:var(--green-dark);border-radius:7px;place-items:center;font-size:10px;font-weight:750;display:grid}.account-button.signed-in .account-avatar{background:var(--green-soft)}.account-menu{border:1px solid var(--border);background:var(--panel);width:170px;box-shadow:var(--shadow);border-radius:11px;padding:12px;position:absolute;top:44px;right:0}.account-menu strong,.account-menu small{display:block}.account-menu strong{font-size:12px}.account-menu small{color:var(--faint);margin:2px 0 11px;font-size:10px}.account-menu button{background:var(--sidebar);width:100%;color:var(--muted);text-align:left;cursor:pointer;border:0;border-radius:7px;padding:7px 8px;font-size:11px}.sidebar{z-index:20;border-right:1px solid var(--border);background:var(--sidebar);flex-direction:column;width:240px;padding:20px 16px 15px;display:flex;position:fixed;top:64px;bottom:0;left:0}.upload-card{border:1px dashed var(--border-strong);background:color-mix(in srgb, var(--panel) 45%, transparent);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:11px;width:100%;padding:11px;transition:all .2s;display:flex}.upload-card:hover{background:var(--panel);border-style:solid;transform:translateY(-1px);box-shadow:0 5px 15px #2832280d}.upload-icon{background:var(--green-soft);width:31px;height:31px;color:var(--green-dark);border-radius:8px;place-items:center;font-size:18px;display:grid}.upload-card strong,.upload-card small{display:block}.upload-card strong{margin-bottom:2px;font-size:12px}.upload-card small{color:var(--muted);font-size:10px}.asset-card{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;margin-top:7px;padding:7px 9px;display:flex}.asset-card:hover{background:color-mix(in srgb, var(--panel) 65%, transparent);color:var(--text)}.asset-card>span:first-child{background:var(--green-soft);width:23px;height:23px;color:var(--green-dark);border-radius:6px;place-items:center;font-size:12px;display:grid}.asset-card strong,.asset-card small{display:block}.asset-card strong{font-size:10px;font-weight:650}.asset-card small{color:var(--faint);margin-top:1px;font-size:8px}.outline{margin-top:27px;overflow-y:auto}.outline p{color:var(--faint);text-transform:uppercase;letter-spacing:.105em;margin:0 8px 11px;font-size:10px;font-weight:700}.outline a{color:var(--muted);border-radius:6px;padding:5px 8px;font-size:12px;line-height:1.45;text-decoration:none;transition:all .15s;display:block}.outline a:hover{background:color-mix(in srgb, var(--panel) 60%, transparent);color:var(--text)}.outline .level-2{padding-left:17px}.outline .level-3{padding-left:28px;font-size:11px}.empty-outline{color:var(--faint);padding:8px;font-size:11px}.library{border-bottom:1px solid var(--border);margin-top:22px;padding-bottom:17px}.library-heading{justify-content:space-between;align-items:center;padding:0 8px 8px;display:flex}.library-heading p{color:var(--faint);text-transform:uppercase;letter-spacing:.105em;margin:0;font-size:10px;font-weight:700}.library-heading span{background:var(--green-soft);min-width:18px;color:var(--green-dark);text-align:center;border-radius:99px;padding:2px 5px;font-size:9px}.library-controls{gap:7px;padding:0 5px 8px;display:grid}.view-toggle{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 50%, transparent);border-radius:7px;grid-template-columns:1fr 1fr;padding:2px;display:grid}.view-toggle button{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px;font-size:9px}.view-toggle button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #1e281f12}.category-filter{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.category-filter span{color:var(--faint);letter-spacing:.04em;font-size:9px;font-weight:650}.category-filter select{border:1px solid var(--border);background:var(--panel);min-width:0;height:28px;color:var(--muted);cursor:pointer;border-radius:7px;outline:none;padding:0 25px 0 8px;font-size:10px}.category-filter select:focus{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft)}.library-list{max-height:240px;overflow-y:auto}.library-item{border-radius:7px;align-items:center;display:flex;position:relative}.library-item:hover,.library-item.active{background:color-mix(in srgb, var(--panel) 75%, transparent)}.library-open{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;align-items:center;gap:9px;min-width:0;padding:7px 26px 7px 8px;display:flex}.library-open>span:last-child{min-width:0}.library-list strong,.library-list small{display:block}.library-list strong{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:570;overflow:hidden}.library-list small{color:var(--faint);margin-top:2px;font-size:8px}.library-list small em{background:var(--green-soft);color:var(--green);border-radius:4px;margin-right:6px;padding:1px 4px;font-style:normal}.delete-file{color:#0000;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:22px;height:22px;font-size:15px;display:grid;position:absolute;right:4px}.library-item:hover .delete-file,.delete-file:focus{color:#a8584d}.delete-file:hover{background:#f5e3df;color:#933f34!important}.library-file{border:1px solid var(--border);background:var(--panel);width:24px;height:27px;color:var(--green);font-family:var(--font-mono);border-radius:5px 5px 5px 2px;flex:none;place-items:center;font-size:10px;display:grid}.empty-library{color:var(--faint);padding:8px;font-size:10px;line-height:1.45;display:block}.signout-link{color:var(--faint);cursor:pointer;background:0 0;border:0;margin:8px 8px 0;padding:0;font-size:9px}.signout-link:hover{color:var(--text)}.sidebar-footer{border-top:1px solid var(--border);color:var(--faint);font-family:var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;margin-top:auto;padding:12px 8px 0;font-size:9px;display:flex}.reader-wrap{width:min(100% - 240px,1040px);margin-left:max(240px,50vw - 400px);padding:112px 72px 80px}.document-meta{color:var(--faint);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:7px;margin-bottom:30px;font-size:11px;display:flex}.category-editor{align-items:center;gap:7px;display:flex}.category-editor input{border:1px solid var(--border);background:var(--panel);width:110px;height:27px;color:var(--muted);text-transform:none;letter-spacing:0;border-radius:7px;outline:none;padding:0 8px;font-size:10px}.category-editor input:focus{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft)}.markdown-body{max-width:760px;color:var(--text);font-family:var(--font-geist), sans-serif;margin:0 auto;font-size:16px;line-height:1.78}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--text);font-family:var(--font-editorial), serif;letter-spacing:-.025em;scroll-margin-top:92px;font-weight:600;line-height:1.18}.markdown-body h1{margin:0 0 23px;font-size:clamp(40px,5vw,58px)}.markdown-body h2{border-bottom:1px solid var(--border);margin:56px 0 18px;padding-bottom:10px;font-size:28px}.markdown-body h3{margin:36px 0 10px;font-size:21px}.markdown-body p{margin:0 0 20px}.markdown-body a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px}.markdown-body strong{font-weight:680}.markdown-body blockquote{border-left:3px solid var(--green);background:var(--quote);color:var(--muted);font-family:var(--font-editorial), serif;border-radius:0 10px 10px 0;margin:32px 0;padding:20px 23px 20px 25px;font-size:18px;font-style:italic}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{margin:0 0 22px;padding-left:25px}.markdown-body li{margin:4px 0;padding-left:4px}.markdown-body input[type=checkbox]{accent-color:var(--green);margin-right:8px}.markdown-body code{border:1px solid var(--border);background:var(--code);font-family:var(--font-mono), monospace;border-radius:5px;padding:.18em .4em;font-size:.84em}.markdown-body pre{border:1px solid var(--border);background:var(--code);border-radius:11px;margin:28px 0;padding:20px 22px;line-height:1.65;position:relative;overflow-x:auto;box-shadow:inset 0 1px #ffffff40}.markdown-body pre code{background:0 0;border:0;padding:0;font-size:13px}.markdown-body.code-wrap pre code{white-space:pre-wrap;overflow-wrap:anywhere}.markdown-body table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:10px;width:100%;margin:26px 0 32px;font-size:14px;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border-bottom:1px solid var(--border);text-align:left;padding:10px 14px}.markdown-body th{background:var(--code);font-size:12px;font-weight:680}.markdown-body tr:last-child td{border-bottom:0}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:48px 0}.markdown-body img{border-radius:10px;max-width:100%}.document-footer{border-top:1px solid var(--border);max-width:760px;color:var(--faint);align-items:center;gap:9px;margin:76px auto 0;padding-top:22px;font-size:11px;display:flex}.footer-mark{border-radius:6px 6px 6px 2px;width:22px;height:22px;font-size:11px}.status-pill{z-index:30;border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 92%, transparent);color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:99px;align-items:center;gap:8px;padding:8px 12px;font-size:10px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 5px 18px #232d2414}.status-dot,.pulse{background:#70906d;border-radius:50%;width:6px;height:6px}.pulse{animation:1s infinite alternate pulse}.file-input{display:none}.drop-overlay{z-index:100;border:2px dashed var(--green);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:17px;place-items:center;display:grid;position:fixed;inset:10px}.drop-overlay div{flex-direction:column;align-items:center;gap:8px;display:flex}.drop-overlay span{background:var(--green-soft);width:54px;height:54px;color:var(--green-dark);border-radius:15px;place-items:center;margin-bottom:6px;font-size:27px;display:grid}.drop-overlay strong{font-family:var(--font-editorial), serif;font-size:27px}.drop-overlay small{color:var(--muted)}.modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12161273;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-modal{border:1px solid var(--border);background:var(--panel);border-radius:16px;width:min(100%,390px);padding:34px;position:relative;box-shadow:0 30px 80px #141c1538}.modal-close{width:30px;height:30px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:20px;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--sidebar);color:var(--text)}.login-mark{background:var(--green-dark);color:#fff;width:38px;height:38px;font-family:var(--font-editorial);border-radius:10px 10px 10px 4px;place-items:center;font-weight:700;display:grid}.login-modal h2{font-family:var(--font-editorial);letter-spacing:-.025em;margin:19px 0 7px;font-size:29px;font-weight:600}.login-modal>p{color:var(--muted);margin:0 0 24px;font-size:12px;line-height:1.5}.login-modal label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:14px;font-size:10px;font-weight:650;display:block}.login-modal input{border:1px solid var(--border-strong);background:var(--bg);width:100%;height:42px;color:var(--text);text-transform:none;letter-spacing:0;border-radius:9px;outline:none;margin-top:6px;padding:0 12px;font-size:13px}.login-modal input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.login-modal form>button{background:var(--green-dark);color:#fff;cursor:pointer;border:0;border-radius:9px;width:100%;height:42px;margin-top:20px;font-size:12px;font-weight:650}.login-modal form>button:disabled{opacity:.65}.login-error{color:#9b3d31;background:#f8e8e5;border-radius:7px;margin-top:12px;padding:8px 10px;font-size:10px}@keyframes pulse{to{opacity:.25;transform:scale(.75)}}@media (max-width:780px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;height:58px}.brand{border-right:0;width:58px;height:58px;padding:0 15px}.brand>span:last-child{display:none}.file-crumb{padding-left:8px}.top-actions{gap:2px;padding-right:9px}.top-actions>.icon-button:first-child,.account-button>span:last-child{display:none}.account-button{background:0 0;border-color:#0000;padding:0 6px}.share-button{gap:8px;min-width:78px}.sidebar{display:none}.reader-wrap{width:100%;margin:0;padding:91px 23px 70px}.markdown-body h1{font-size:39px}.markdown-body h2{margin-top:44px;font-size:25px}.document-meta{margin-bottom:24px}.status-pill{bottom:12px;right:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
