:root{--green: #40c089;--green-soft: #e8f7f0;--green-deep: #2ea372;--paper: #ffffff;--panel: #f9f9f9;--panel-2: #f4f4f4;--ink: #2f3338;--ink-soft: #6b7177;--ink-faint: #9aa0a6;--line: #e7e8ea;--line-soft: #eef0f1;--highlight-hover: #f1f2f3;--highlight-active: var(--green-soft);--shadow-card: 0 1px 3px rgba(20, 28, 36, .06), 0 1px 2px rgba(20, 28, 36, .04);--shadow-lift: 0 8px 28px rgba(20, 28, 36, .12);--shadow-drawer: -12px 0 40px rgba(20, 28, 36, .1);--serif: "Source Serif 4", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r-sm: 7px;--r-md: 11px;--r-lg: 16px;--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}::selection{background:var(--green-soft)}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.16) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:#00000024;border-radius:20px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#00000042;background-clip:padding-box}.dash{--d-bg: #0d1117;--d-bg-2: #161b22;--d-bg-3: #1c2230;--d-line: #232a36;--d-ink: #e6edf3;--d-ink-soft: #8b949e;--d-ink-faint: #5d646e;display:grid;grid-template-columns:256px 1fr;grid-template-rows:64px 1fr;grid-template-areas:"side top" "side main";height:100%;background:var(--d-bg);color:var(--d-ink)}.dash-top{grid-area:top;display:flex;align-items:center;gap:16px;padding:0 28px;border-bottom:1px solid var(--d-line)}.dash-search{flex:1;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:10px;background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:10px;padding:9px 14px;color:var(--d-ink-soft);transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.dash-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #40c08929}.dash-search input{flex:1;border:none;background:none;outline:none;color:var(--d-ink);font-size:14px}.dash-search input::placeholder{color:var(--d-ink-faint)}.dash-top-right{display:flex;align-items:center;gap:14px}.goal-capsule{display:flex;align-items:center;gap:10px;background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:999px;padding:6px 14px 6px 8px;font-size:13px;color:var(--d-ink-soft)}.pill-btn{background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--d-ink-soft)}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--green),#2c7be5);color:#fff;display:grid;place-items:center;font-weight:600;font-size:14px}.dash.light{--d-bg: #f4f6f8;--d-bg-2: #ffffff;--d-bg-3: #eef1f4;--d-line: #e2e6ea;--d-ink: #1d2227;--d-ink-soft: #5d646e;--d-ink-faint: #969ca4}.theme-toggle{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--d-bg-2);border:1px solid var(--d-line);color:var(--d-ink-soft);transition:color .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease)}.theme-toggle:hover{color:var(--d-ink);border-color:#38414e}.section-add{color:var(--d-ink-faint);display:inline-flex;transition:color .14s var(--ease)}.section-add:hover{color:var(--green)}.folder-input{width:calc(100% - 22px);margin:4px 11px 6px;background:var(--d-bg-3);border:1px solid var(--d-line);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--d-ink);outline:none}.folder-input:focus{border-color:var(--green)}.nav-hint{padding:2px 11px 6px;font-size:12.5px;color:var(--d-ink-faint)}.nav-del{color:var(--d-ink-faint);display:none;align-items:center}.nav-item:hover .nav-del{display:inline-flex}.nav-del:hover{color:#e0716b}.nav-count{font-size:11px;background:var(--d-bg-3);color:var(--d-ink-soft);border-radius:999px;padding:1px 8px}.dash-head-row{display:flex;align-items:center;justify-content:space-between}.link-btn-dark{font-size:13px;font-weight:600;color:#e0716b;padding:7px 12px;border-radius:8px;transition:background .14s var(--ease)}.link-btn-dark:hover{background:#e0716b1f}.folder-menu{position:absolute;right:8px;top:44px;z-index:50;width:190px;background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:10px;box-shadow:0 12px 32px #0000004d;padding:6px;animation:fadeUp .16s var(--ease-out)}.folder-menu-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--d-ink-faint);padding:5px 8px}.folder-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:8px;border-radius:7px;font-size:13.5px;color:var(--d-ink);transition:background .14s var(--ease)}.folder-menu-item:hover{background:var(--d-bg-3)}.folder-menu-item span{color:var(--green);display:inline-flex}.folder-menu-item>span:first-child{color:var(--d-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-menu-empty{font-size:12.5px;color:var(--d-ink-faint);padding:6px 8px}.dash-side{grid-area:side;background:var(--d-bg-2);border-right:1px solid var(--d-line);padding:22px 16px;display:flex;flex-direction:column;gap:6px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 18px;font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:-.01em}.brand .mark{color:var(--green)}.cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#04140d;font-weight:600;font-size:14px;padding:11px;border-radius:10px;margin-bottom:14px;transition:transform .12s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease);box-shadow:0 6px 18px #40c08938}.cta:hover{background:#4cd29a;transform:translateY(-1px)}.cta:active{transform:translateY(0)}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;font-size:14px;color:var(--d-ink-soft);transition:background .14s var(--ease),color .14s var(--ease)}.nav-item:hover{background:var(--d-bg-3);color:var(--d-ink)}.nav-item.active{background:#40c0891f;color:var(--green)}.nav-item .ic{color:inherit;opacity:.9}.nav-section{margin-top:18px;padding:0 11px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-ink-faint);display:flex;justify-content:space-between;align-items:center}.dash-main{grid-area:main;overflow:auto;padding:30px 36px 60px}.dash-h1{font-family:var(--serif);font-size:26px;font-weight:700;margin:4px 0 22px;letter-spacing:-.015em}.table{width:100%;border-collapse:collapse}.table thead th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--d-ink-faint);padding:0 16px 12px;border-bottom:1px solid var(--d-line)}.doc-row{cursor:pointer;transition:background .14s var(--ease)}.doc-row:hover{background:var(--d-bg-2)}.doc-row td{padding:16px;border-bottom:1px solid var(--d-line);vertical-align:middle}.doc-title{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}.doc-snippet{color:var(--d-ink-soft);font-size:13px;margin-top:4px;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:5px 11px;border-radius:999px;background:var(--d-bg-3);color:var(--d-ink-soft);border:1px solid var(--d-line)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--d-ink-faint)}.status-dot.draft{background:#d6a93c}.status-dot.in_review{background:#2c7be5}.status-dot.final{background:var(--green)}.progress-cell{min-width:150px}.progress-track{height:6px;border-radius:999px;background:var(--d-bg-3);overflow:hidden}.progress-fill{height:100%;background:var(--green);border-radius:999px;transition:width .4s var(--ease-out)}.progress-label{font-size:12px;color:var(--d-ink-soft);margin-top:6px}.row-star{color:var(--d-ink-faint);display:inline-flex;transition:color .14s var(--ease),transform .14s var(--ease)}.row-star.on{color:var(--green)}.row-star:hover{transform:scale(1.12)}.row-actions{display:flex;gap:6px;opacity:0;transition:opacity .14s var(--ease)}.doc-row:hover .row-actions{opacity:1}.icon-btn-dark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--d-ink-soft);transition:background .14s var(--ease),color .14s var(--ease)}.icon-btn-dark:hover{background:var(--d-bg-3);color:var(--d-ink)}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.note-tile{background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:12px;padding:16px;cursor:pointer;min-height:120px;display:flex;flex-direction:column;transition:border-color .14s var(--ease),transform .12s var(--ease),background .14s var(--ease)}.note-tile:hover{border-color:#2f3a4a;background:var(--d-bg-3);transform:translateY(-2px)}.note-tile-text{flex:1;font-size:14px;line-height:1.5;color:var(--d-ink);white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.note-tile-meta{margin-top:14px;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--d-ink-faint)}.note-tile-meta span:first-child{color:var(--green);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmt-tile-top{display:flex;align-items:center;gap:7px;margin-bottom:10px}.cmt-resolved-tag{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--d-ink-faint);border:1px solid var(--d-line);padding:2px 6px}.empty-state{text-align:center;padding:80px 20px;color:var(--d-ink-soft)}.empty-state h3{font-family:var(--serif);color:var(--d-ink);font-size:20px;margin-bottom:8px}.editor-root{display:flex;flex-direction:column;height:100%;background:var(--paper);color:var(--ink);overflow:hidden}.editor-root.dark{--paper: #0f141b;--panel: #151b23;--panel-2: #1b222c;--ink: #e7edf3;--ink-soft: #98a1ab;--ink-faint: #646c76;--line: #232b36;--line-soft: #1c232d;--highlight-hover: #1b222c;--highlight-active: rgba(64, 192, 137, .16);--green-soft: rgba(64, 192, 137, .15);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lift: 0 12px 34px rgba(0, 0, 0, .5);--shadow-drawer: -16px 0 50px rgba(0, 0, 0, .45)}.editor-body{flex:1;display:flex;min-height:0;overflow:hidden}.topbar{height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 14px;background:var(--paper);border-bottom:1px solid var(--line)}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-logo{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--green);transition:background .14s var(--ease)}.topbar-logo:hover{background:var(--highlight-hover)}.topbar-title{border:none;background:none;outline:none;color:var(--ink);font-size:15px;font-weight:600;letter-spacing:-.01em;width:360px;max-width:42vw;padding:6px 8px;border-radius:7px;transition:background .14s var(--ease)}.topbar-title:hover{background:var(--highlight-hover)}.topbar-title::placeholder{color:var(--ink-faint)}.topbar-saved{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-faint);opacity:0;transition:opacity .3s var(--ease)}.topbar-saved.show{opacity:1;color:var(--green)}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-btn{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;color:var(--ink-soft);padding:7px 11px;border-radius:9px;transition:background .14s var(--ease),color .14s var(--ease)}.topbar-btn:hover{background:var(--highlight-hover);color:var(--ink)}.topbar-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--ink-soft);transition:background .14s var(--ease),color .14s var(--ease)}.topbar-icon:hover{background:var(--highlight-hover);color:var(--ink)}.goal-ring-btn{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 13px 5px 6px;font-size:13px;font-weight:600;color:var(--ink);transition:border-color .14s var(--ease)}.goal-ring-btn:hover{border-color:#313b48}.export-wrap{position:relative}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.export-menu{position:absolute;right:0;top:42px;z-index:50;width:200px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lift);padding:6px;animation:fadeUp .16s var(--ease-out)}.export-menu button{display:block;width:100%;text-align:left;font-size:13.5px;color:var(--ink);padding:9px 10px;border-radius:7px;transition:background .14s var(--ease)}.export-menu button:hover{background:var(--highlight-hover)}.export-menu-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding:6px 10px 4px}.export-menu-divider{height:1px;background:var(--line);margin:5px 0}@media print{.mode-rail,.op-panel,.util-dock,.topbar,.drawer,.drawer-scrim,.sel-pop,.comment-hl-layer,.focus-overlay{display:none!important}.editor-root,.editor-body,.canvas-wrap{display:block!important;height:auto!important;overflow:visible!important;background:#fff!important}.canvas-col{max-width:100%!important;padding:0!important}.bn-container .bn-editor{color:#111!important}body{background:#fff!important}}.mode-rail{width:58px;flex-shrink:0;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:4px;z-index:20}.rail-top{margin-bottom:14px}.rail-btn{position:relative;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--ink-soft);transition:background .14s var(--ease),color .14s var(--ease)}.rail-btn:hover{background:var(--highlight-hover);color:var(--ink)}.rail-btn.active{color:var(--green)}.rail-btn.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--green)}.rail-spacer{flex:1}.rail-tip{position:absolute;left:52px;background:#0a0e13;border:1px solid var(--line);color:var(--ink);font-size:12px;padding:5px 9px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity .14s var(--ease),transform .14s var(--ease);z-index:40}.rail-btn:hover .rail-tip{opacity:1;transform:translate(0)}.op-panel{flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);overflow:hidden;transition:width .32s var(--ease),opacity .24s var(--ease);display:flex;flex-direction:column}.op-panel-inner{width:340px;display:flex;flex-direction:column;height:100%}.op-header{padding:22px 22px 12px;font-family:var(--sans);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.op-sub{padding:0 22px 14px;font-size:13px;color:var(--ink-soft)}.op-body{flex:1;overflow:auto;padding:4px 16px 24px}.topic-card{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 12px;margin-bottom:9px;box-shadow:var(--shadow-card);transition:box-shadow .16s var(--ease),border-color .16s var(--ease),transform .12s var(--ease)}.topic-card:hover{border-color:#dadce0}.topic-card.dragging{box-shadow:var(--shadow-lift);opacity:.95}.topic-card .strip{width:3px;align-self:stretch;border-radius:3px;margin:-2px 2px -2px -4px}.drag-handle{color:var(--ink-faint);cursor:grab;display:grid;place-items:center;flex-shrink:0}.drag-handle:active{cursor:grabbing}.topic-text{flex:1;font-size:14px;border:none;background:none;outline:none;color:var(--ink);padding:2px 0}.topic-text.level-2{padding-left:14px;font-size:13.5px;color:var(--ink-soft)}.topic-text.level-3{padding-left:28px;font-size:13px;color:var(--ink-soft)}.topic-card .card-actions{display:flex;gap:2px;opacity:0;transition:opacity .14s var(--ease)}.topic-card:hover .card-actions{opacity:1}.mini-icon{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--ink-faint);transition:background .14s var(--ease),color .14s var(--ease)}.mini-icon:hover{background:var(--highlight-hover);color:var(--ink)}.add-topic{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border:1.5px dashed #cfd2d6;border-radius:var(--r-md);color:var(--ink-soft);font-size:14px;font-weight:500;margin-top:4px;transition:color .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease)}.add-topic:hover{color:var(--green);border-color:var(--green);background:var(--green-soft)}.ol-section{margin-bottom:7px}.ol-dragging{opacity:.9}.ol-card{position:relative;display:flex;align-items:center;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 8px 8px 10px;box-shadow:var(--shadow-card);transition:border-color .14s var(--ease),box-shadow .14s var(--ease);overflow:hidden}.ol-card:hover{border-color:#d9dbdf}.ol-strip{position:absolute;left:0;top:0;bottom:0;width:3px}.ol-collapse{flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;color:var(--ink-faint);border-radius:5px;transition:background .14s var(--ease),color .14s var(--ease)}.ol-collapse:hover{background:var(--highlight-hover);color:var(--ink)}.ol-handle{flex-shrink:0;color:var(--ink-faint);cursor:grab;display:grid;place-items:center;width:18px}.ol-handle:active{cursor:grabbing}.ol-heading-input{flex:1;min-width:0;border:none;background:none;outline:none;padding:3px 2px;color:var(--ink);letter-spacing:-.01em;text-overflow:ellipsis}.ol-card.level-1 .ol-heading-input{font-size:14px;font-weight:700}.ol-card.level-2 .ol-heading-input{font-size:13px;font-weight:600;color:var(--ink-soft)}.ol-card.level-3 .ol-heading-input{font-size:12.5px;font-weight:500;color:var(--ink-soft)}.ol-actions{flex-shrink:0;display:flex;gap:1px;opacity:0;transition:opacity .14s var(--ease)}.ol-card:hover .ol-actions{opacity:1}.ol-children{margin-left:14px;padding-left:8px;border-left:1.5px solid var(--line-soft);margin-top:6px}.ol-para{margin:4px 0}.ol-para-input{width:100%;border:1px solid transparent;background:none;outline:none;resize:none;overflow:hidden;font-size:12.5px;line-height:1.5;color:var(--ink-soft);padding:5px 8px;border-radius:7px;transition:background .14s var(--ease),border-color .14s var(--ease)}.ol-para-input::placeholder{color:var(--ink-faint);font-style:italic}.ol-para-input:hover{background:var(--paper)}.ol-para-input:focus{background:var(--paper);border-color:var(--green);box-shadow:0 0 0 3px #40c0891f}.rw-label{font-family:var(--mono, ui-monospace, "SFMono-Regular", monospace);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:4px 4px 8px}.rw-original{background:var(--panel-2);border:1.5px solid var(--ink);border-radius:4px;padding:13px 14px;font-family:var(--serif);font-size:15px;line-height:1.5;color:var(--ink);margin:0 4px 18px;box-shadow:3px 3px #2f33381f}.rw-input{width:calc(100% - 8px);margin:0 4px;min-height:90px;resize:vertical;border:1.5px solid var(--green);border-radius:var(--r-md);padding:12px 14px;font-family:var(--serif);font-size:15px;line-height:1.5;outline:none;box-shadow:0 0 0 3px #40c0891f;transition:box-shadow .16s var(--ease)}.rw-input:focus{box-shadow:0 0 0 4px #40c08933}.rw-variation{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid transparent;border-radius:6px;margin:0 4px 7px;transition:background .14s var(--ease),border-color .14s var(--ease)}.rw-variation:hover{background:var(--paper)}.rw-variation.active{background:var(--green-soft);border-color:#40c08959}.radio{width:18px;height:18px;border-radius:50%;border:2px solid #c4c8cc;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--paper);transition:border-color .14s var(--ease)}.rw-variation.active .radio{border-color:var(--green)}.radio .dot{width:8px;height:8px;border-radius:50%;background:var(--green);transform:scale(0);transition:transform .16s var(--ease-out)}.rw-variation.active .radio .dot{transform:scale(1)}.rw-var-text{flex:1;font-family:var(--serif);font-size:14.5px;line-height:1.5}.rw-var-del{opacity:0;color:var(--ink-faint);transition:opacity .14s var(--ease),color .14s var(--ease)}.rw-variation:hover .rw-var-del{opacity:1}.rw-var-del:hover{color:#e05656}.panel-empty{padding:40px 24px;text-align:center;color:var(--ink-faint);font-size:14px;line-height:1.6}.rw-section{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin:16px 4px 8px}.rw-section:first-child{margin-top:2px}.rw-sentence{display:block;width:100%;text-align:left;font-family:var(--serif);font-size:15px;line-height:1.55;color:var(--ink-soft);padding:8px 10px;margin:0 0 2px;border:none;background:none;cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease)}.rw-sentence:hover{color:var(--ink);background:var(--highlight-hover)}.rw-active-card{margin:2px 0 8px;padding:14px;border:none;background:var(--panel-2);animation:fadeUp .18s var(--ease-out)}.rw-active-card .rw-original{margin:0 0 14px;background:none;border:none;padding:0;color:var(--ink);font-style:italic}.rw-active-card .rw-versions-head{margin:0 0 6px}.rw-active-card .rw-variation{margin:0;padding:8px;background:none}.rw-active-card .rw-variation.active{background:var(--highlight-active)}.rw-active-card .rw-variation:hover{background:var(--highlight-hover)}.rw-versions-head{display:flex;align-items:center;justify-content:space-between;margin:22px 4px 8px}.rw-add{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--green-deep);padding:5px 9px;border-radius:7px;transition:background .14s var(--ease)}.rw-add:hover{background:var(--green-soft)}.rw-var-edit{flex:1;border:none;background:none;outline:none;resize:none;overflow:hidden;font-family:var(--serif);font-size:14.5px;line-height:1.5;color:var(--ink);padding:2px 0}.rw-variation .radio{cursor:pointer}.ro-group-label{font-size:13px;letter-spacing:-.01em;color:var(--ink);font-weight:700;padding:0 2px}.ro-section{margin:0 2px 14px;background:var(--panel);border:1px solid var(--line);padding:6px 6px 8px;transition:box-shadow .16s var(--ease),border-color .16s var(--ease)}.ro-section.dragging{opacity:.85;box-shadow:var(--shadow-lift);border-color:#40c08966}.ro-section-head{padding:8px;cursor:grab;-webkit-user-select:none;user-select:none}.ro-section-head:hover{background:var(--highlight-hover)}.ro-section-head:active{cursor:grabbing}.ro-section-title{font-size:12.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.02em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ro-section-body,.ro-blk{display:flex;flex-direction:column}.ro-blk+.ro-blk{margin-top:2px;border-top:1px solid var(--line-soft);padding-top:2px}.ro-blk.list{padding-left:4px}.ro-pchip.list{display:flex;align-items:flex-start;gap:8px;padding-top:7px;padding-bottom:7px}.ro-bullet{color:var(--ink-faint);line-height:1.55;flex-shrink:0}.ro-empty-drop{font-size:12.5px;color:var(--ink-faint);padding:10px 8px}.ro-pchip{background:none;border:none;padding:9px 10px;font-family:var(--serif);font-size:15px;line-height:1.55;color:var(--ink);cursor:grab;transition:background .14s var(--ease)}.ro-pchip:hover{background:var(--highlight-hover)}.ro-pchip.dragging{background:var(--panel-2);box-shadow:var(--shadow-lift);cursor:grabbing}.goal-badge{position:fixed;top:14px;right:66px;z-index:30;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:5px 14px 5px 7px;font-size:13px;font-weight:600;color:var(--ink-soft);box-shadow:var(--shadow-card);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.goal-badge:hover{border-color:#d6d9dc;box-shadow:var(--shadow-lift)}.goal-badge-pct{color:var(--ink)}.canvas-wrap{flex:1;overflow:auto;position:relative}.canvas-col{width:100%;max-width:760px;margin:0 auto;padding:36px 40px 240px}.canvas-col.full{max-width:1080px}.title-bar{position:sticky;top:0;z-index:15;display:flex;justify-content:center;background:linear-gradient(var(--paper) 72%,rgba(255,255,255,0));padding:8px 0 4px;transition:padding .22s var(--ease)}.title-bar:hover,.title-bar:focus-within{padding:14px 0 10px}.title-bar-inner{display:flex;align-items:center;gap:8px;max-width:60%;padding:4px 14px;border-radius:999px;border:1px solid transparent;opacity:.5;transition:opacity .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease)}.title-bar:hover .title-bar-inner,.title-bar:focus-within .title-bar-inner{opacity:1;border-color:var(--line);background:var(--paper);box-shadow:var(--shadow-card)}.title-bar-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.title-bar-input{border:none;outline:none;background:none;text-align:center;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--ink-soft);width:240px;transition:font-size .22s var(--ease),color .22s var(--ease)}.title-bar:hover .title-bar-input,.title-bar:focus-within .title-bar-input{font-size:15px;color:var(--ink)}.title-bar-input::placeholder{color:var(--ink-faint)}.focus-overlay{position:absolute;z-index:6;box-sizing:content-box;background:var(--paper);border-radius:4px;pointer-events:none;animation:focusIn .2s var(--ease-out)}@keyframes focusIn{0%{opacity:.4}to{opacity:1}}.fs-active{color:var(--ink);background:var(--green-soft);border-radius:3px;box-shadow:0 0 0 1px #40c08940;padding:0 1px}.fs-dim{color:var(--ink-faint)}.selection-note-btn{position:fixed;transform:translate(-50%);z-index:120;display:inline-flex;align-items:center;gap:6px;background:var(--green);color:#04140d;font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;box-shadow:0 8px 22px #40c08966;animation:fadeUp .16s var(--ease-out)}.selection-note-btn:hover{background:#4cd29a}.flash-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:140}.flash-box{position:fixed;border-radius:5px;background:#40c08952;box-shadow:0 0 0 2px #40c08999,0 0 22px 5px #40c08966;animation:flashFade 1.6s var(--ease) forwards}@keyframes flashFade{0%{opacity:0}12%{opacity:1}70%{opacity:1}to{opacity:0}}.bn-container{--bn-colors-editor-background: transparent;--bn-colors-editor-text: var(--ink)}.bn-container .bn-editor{font-family:var(--editor-font, var(--serif));font-size:var(--editor-size, 18px);line-height:var(--editor-lh, 1.6);color:var(--ink);background:transparent;padding-inline:0!important}.bn-container .bn-block-content p,.bn-container .bn-block-content{text-indent:var(--editor-indent, 0)}.bn-container .bn-block-content[data-content-type=heading]{letter-spacing:-.02em;text-indent:0}.canvas-col.focus-active .bn-editor{filter:blur(1.4px);opacity:.32;transition:opacity .25s var(--ease),filter .25s var(--ease)}.rw-canvas{font-family:var(--editor-font, var(--serif))}.rw-canvas .blk{margin-bottom:1em}.rw-canvas h1{font-size:1.9em;font-weight:700;letter-spacing:-.02em}.rw-canvas h2{font-size:1.5em;font-weight:700}.rw-canvas h3{font-size:1.25em;font-weight:600}.rw-canvas p{font-size:var(--editor-size, 18px);line-height:var(--editor-lh, 1.6)}.sentence{cursor:pointer;border-radius:4px;padding:1px 2px;margin:-1px -2px;transition:background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.sentence:hover{background:var(--highlight-hover)}.sentence.active{background:var(--green-soft);color:var(--green-deep);box-shadow:0 0 0 1px #40c0894d}.ro-canvas{font-family:var(--sans)}.ro-para{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;margin-bottom:16px}.ro-para-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:2px 4px 10px}.ro-chip{background:var(--paper);border:1px solid #dcdee1;border-radius:var(--r-sm);padding:10px 12px;margin-bottom:8px;font-family:var(--serif);font-size:15px;line-height:1.45;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow-card);cursor:grab;transition:box-shadow .16s var(--ease),transform .12s var(--ease)}.ro-chip:hover{border-color:#c7cace}.ro-chip.dragging{box-shadow:var(--shadow-lift);cursor:grabbing}.ro-chip .ro-handle{color:var(--ink-faint);margin-top:2px}.util-dock{width:52px;flex-shrink:0;border-left:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:4px;z-index:20}.dock-btn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--ink-soft);position:relative;transition:background .14s var(--ease),color .14s var(--ease)}.dock-btn:hover{background:var(--highlight-hover);color:var(--ink)}.dock-btn.active{background:var(--green-soft);color:var(--green-deep)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#141c240f;z-index:90;animation:fade .2s var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;height:100%;width:340px;background:var(--paper);box-shadow:var(--shadow-drawer);z-index:100;display:flex;flex-direction:column;animation:slideIn .28s var(--ease-out)}@keyframes slideIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid var(--line-soft)}.drawer-head h2{font-family:var(--serif);font-size:19px;font-weight:700;margin:0;letter-spacing:-.01em}.drawer-body{flex:1;overflow:auto;padding:20px 22px 40px}.field{margin-bottom:20px}.field-label{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:8px;display:block}.field-control{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;font-size:14px;background:var(--paper);outline:none;transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.field-control:focus{border-color:var(--green);box-shadow:0 0 0 3px #40c08924}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line-soft)}.toggle-row .t-label{font-size:14px}.switch{width:46px;height:26px;border-radius:8px;background:var(--panel-2);border:1.5px solid var(--line);position:relative;transition:background .2s var(--ease),border-color .2s var(--ease);flex-shrink:0}.switch.on{background:var(--green);border-color:var(--green-deep)}.switch .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:5px;background:#fff;box-shadow:0 1px 2px #0000002e;transition:transform .2s var(--ease-out)}.switch.on .knob{transform:translate(20px)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.stat-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}.stat-num{font-family:var(--serif);font-size:24px;font-weight:700}.stat-label{font-size:12px;color:var(--ink-soft);margin-top:2px}.ring-wrap{display:grid;place-items:center;margin:6px 0 24px}.ring-center{font-family:var(--serif);font-weight:700;font-size:26px}.ring-sub{font-size:12px;color:var(--ink-soft)}.version-item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-md);cursor:pointer;transition:background .14s var(--ease)}.version-item:hover{background:var(--panel)}.version-name{font-size:14px;font-weight:600}.version-time{font-size:12.5px;color:var(--ink-soft);margin-top:2px}.version-item .ver-del{margin-left:auto;opacity:0;color:var(--ink-faint);transition:opacity .14s var(--ease),color .14s var(--ease)}.version-item:hover .ver-del{opacity:1}.version-item .ver-del:hover{color:#e05656}.btn-outline{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--green);color:var(--green-deep);font-weight:600;font-size:14px;padding:10px;border-radius:var(--r-md);margin-bottom:18px;transition:background .14s var(--ease)}.btn-outline:hover{background:var(--green-soft)}.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#04140d;font-weight:600;font-size:14px;padding:9px 16px;border-radius:var(--r-md);transition:background .14s var(--ease),transform .12s var(--ease)}.btn-solid:hover{background:#4cd29a}.notes-hint{font-size:12.5px;line-height:1.5;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:11px 13px;margin-bottom:16px}.note-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;margin-bottom:10px}.note-card.anchored{border-left:3px solid var(--green)}.note-anchor{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:var(--green-soft);color:var(--green-deep);border-radius:6px;padding:6px 9px;margin-bottom:9px;font-size:12.5px;transition:background .14s var(--ease)}.note-anchor:hover{background:#d5f0e3}.note-quote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.font-preview{border:1px solid var(--line);border-radius:var(--r-md);padding:18px 16px;margin-bottom:22px;color:var(--ink);background:var(--panel);position:relative}.font-preview-name{position:absolute;bottom:8px;right:12px;font-family:var(--sans);font-size:11px;color:var(--ink-faint)}.font-list{display:flex;flex-direction:column;gap:4px}.font-group-label{font-family:ui-monospace,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:12px 2px 4px}.font-group:first-child .font-group-label{margin-top:0}.font-option{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:9px 12px;border-radius:var(--r-sm);font-size:15px;color:var(--ink);border:1px solid transparent;transition:background .14s var(--ease),border-color .14s var(--ease)}.font-option:hover{background:var(--panel)}.font-option.active{background:var(--green-soft);border-color:#40c08966;color:var(--green-deep)}.range{width:100%;accent-color:var(--green)}.settings-divider{height:1px;background:var(--line-soft);margin:18px 0 10px}.note-card textarea{width:100%;border:none;background:none;outline:none;resize:vertical;font-size:14px;line-height:1.5;min-height:40px}.note-time{font-size:11px;color:var(--ink-faint);margin-top:6px;display:flex;justify-content:space-between;align-items:center}.save-indicator{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-size:12.5px;padding:7px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);z-index:80}.save-indicator.show{opacity:.92}.seg{display:flex;background:var(--panel-2);border-radius:var(--r-sm);padding:3px;gap:3px}.seg button{flex:1;padding:7px;border-radius:6px;font-size:13px;color:var(--ink-soft);transition:background .14s var(--ease),color .14s var(--ease)}.seg button.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card);font-weight:600}.link-btn{color:var(--green-deep);font-size:13px;font-weight:500}.link-btn:hover{text-decoration:underline}.fade-in{animation:fadeUp .3s var(--ease-out)}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sel-pop{position:fixed;transform:translate(-50%);z-index:130;animation:fadeUp .14s var(--ease-out)}.sel-pop-bar{display:flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lift);padding:4px}.sel-pop-act{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink);padding:7px 11px;transition:background .14s var(--ease)}.sel-pop-act:hover{background:var(--highlight-hover)}.sel-pop-div{width:1px;align-self:stretch;background:var(--line);margin:4px 2px}.sel-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--ink-soft);transition:background .14s var(--ease),color .14s var(--ease)}.sel-icon:hover{background:var(--highlight-hover);color:var(--ink)}.sel-icon.needs:hover{color:#f08193}.sel-icon.good:hover{color:#5fd6a3}.sel-pop-composer{width:300px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lift);padding:12px;display:flex;flex-direction:column;gap:10px}.sel-pop-row{display:flex;align-items:center;gap:8px}.cat-dot{width:9px;height:9px;flex-shrink:0}.sel-cat{flex:1;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);font-size:13px;padding:7px 9px;outline:none}.sel-sentiments{display:flex;gap:6px}.sentiment-chip{flex:1;font-size:12px;font-weight:600;padding:6px 4px;border:1px solid var(--line);color:var(--ink-soft);background:var(--panel-2);transition:all .14s var(--ease)}.sentiment-chip.on.needs_work{background:#e0556a29;color:#f08193;border-color:#e0556a80}.sentiment-chip.on.comment{background:var(--highlight-active);color:var(--ink);border-color:var(--green)}.sentiment-chip.on.good_work{background:#40c08929;color:#5fd6a3;border-color:#40c0898c}.sel-input,.cmt-input{width:100%;min-height:64px;resize:vertical;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);font-size:13.5px;line-height:1.5;padding:9px 10px;outline:none}.sel-input:focus,.cmt-input:focus{border-color:var(--green)}.sel-pop-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.sel-quote-mini{font-size:11px;color:var(--ink-faint);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.sel-cancel{font-size:12.5px;color:var(--ink-soft);padding:6px 10px}.sel-cancel:hover{color:var(--ink)}.sel-save{font-size:12.5px;font-weight:700;color:#04140d;background:var(--green);padding:6px 12px}.sel-save:hover{background:#4cd29a}.comment-hl-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.comment-hl{position:absolute}.margin-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.margin-comment{position:absolute;width:234px;pointer-events:auto;text-align:left;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--green);padding:9px 11px;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow-card);transition:box-shadow .16s var(--ease),transform .12s var(--ease),border-color .16s var(--ease)}.margin-comment:hover{box-shadow:var(--shadow-lift);transform:translate(-2px);z-index:2}.mc-top{display:flex;align-items:center;gap:6px}.mc-cat{font-size:11.5px;font-weight:700}.mc-sent{margin-left:auto;font-size:10.5px;font-weight:700}.mc-sent.needs_work{color:#f08193}.mc-sent.good_work{color:#5fd6a3}.mc-sent.comment{color:var(--ink-faint)}.mc-text{font-size:12.5px;line-height:1.45;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mc-quote{font-style:italic;font-family:var(--serif)}.cmt-composer{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line-soft);margin-bottom:16px}.cmt-hint{font-size:12.5px;color:var(--ink-faint);margin-bottom:14px;line-height:1.5}.cmt-card{border:1px solid var(--line);background:var(--panel);padding:13px;margin-bottom:10px}.cmt-card.resolved{opacity:.55}.cmt-card-top{display:flex;align-items:center;gap:7px;margin-bottom:8px}.cmt-cat{font-size:12px;font-weight:700;flex:1}.cmt-time{font-size:11.5px;color:var(--ink-faint)}.cmt-author{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-soft);margin-bottom:8px}.cmt-avatar{width:20px;height:20px;border-radius:999px;background:linear-gradient(135deg,var(--green),#2c7be5);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700}.cmt-body{font-size:13.5px;line-height:1.5;color:var(--ink)}.cmt-sentiment{font-weight:700;margin-right:6px}.cmt-sentiment.needs_work{color:#f08193}.cmt-sentiment.good_work{color:#5fd6a3}.cmt-sentiment.comment{color:var(--ink-soft)}.cmt-quote{display:block;text-align:left;width:100%;margin-top:10px;padding:8px 10px;border-left:2px solid var(--green);background:var(--highlight-hover);font-family:var(--serif);font-size:13px;font-style:italic;color:var(--ink-soft);line-height:1.45;cursor:pointer;transition:color .14s var(--ease)}.cmt-quote:hover{color:var(--ink)}.cmt-actions{display:flex;gap:14px;margin-top:12px}.cmt-actions button{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-soft);transition:color .14s var(--ease)}.cmt-actions button:hover{color:var(--ink)}.cmt-resolved-head{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin:18px 0 10px}.ver-restore{font-size:12.5px;font-weight:600;color:var(--green-deep);padding:5px 9px;margin-right:4px;transition:background .14s var(--ease)}.ver-restore:hover{background:var(--green-soft)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:30px}.admin-stat{background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:12px;padding:18px}.admin-stat-num{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--d-ink)}.admin-stat-label{font-size:13px;color:var(--d-ink-soft);margin-top:4px}.admin-h2{font-size:15px;font-weight:600;color:var(--d-ink-soft);margin:0 0 14px}.admin-chart{display:flex;align-items:flex-end;gap:6px;height:180px;background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:12px;padding:16px 16px 28px}.admin-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.admin-bar-fill{width:60%;min-height:2px;background:var(--green);border-radius:4px 4px 0 0;transition:height .4s var(--ease-out)}.admin-bar-label{position:absolute;bottom:-22px;font-size:9.5px;color:var(--d-ink-faint);white-space:nowrap}.role-pill{font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;border:1px solid var(--d-line);background:var(--d-bg-3);color:var(--d-ink-soft);text-transform:capitalize}.role-pill.admin{color:var(--green);border-color:#40c08973}.role-pill:disabled{opacity:.7;cursor:default}.auth-screen{min-height:100%;display:grid;place-items:center;background:#0d1117;padding:24px}.auth-card{width:100%;max-width:400px;background:#161b22;border:1px solid #232a36;border-radius:16px;padding:32px 30px;color:#e6edf3;box-shadow:0 24px 60px #00000080}.auth-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;font-weight:700;margin-bottom:22px}.auth-brand .mark{color:var(--green)}.auth-title{font-family:var(--serif);font-size:24px;font-weight:700;margin:0 0 6px}.auth-sub{color:#8b949e;font-size:14px;line-height:1.5;margin:0 0 24px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field span{font-size:12.5px;color:#8b949e;font-weight:600}.auth-field input{background:#0d1117;border:1px solid #232a36;border-radius:9px;padding:11px 13px;color:#e6edf3;font-size:14px;outline:none;transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #40c08929}.auth-error{background:#e0556a1f;border:1px solid rgba(224,85,106,.4);color:#f08193;font-size:13px;padding:9px 12px;border-radius:9px}.auth-submit{margin-top:6px;background:var(--green);color:#04140d;font-weight:700;font-size:14.5px;padding:12px;border-radius:10px;transition:background .14s var(--ease),opacity .14s var(--ease)}.auth-submit:hover{background:#4cd29a}.auth-submit:disabled{opacity:.6;cursor:default}.auth-switch{margin-top:20px;font-size:13.5px;color:#8b949e;text-align:center}.auth-switch button{color:var(--green);font-weight:600}.auth-switch button:hover{text-decoration:underline}.account-modal{position:fixed;z-index:200;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow:auto;background:#161b22;border:1px solid #232a36;border-radius:16px;color:#e6edf3;padding:22px 24px 26px;box-shadow:0 30px 70px #0009;animation:fadeUp .18s var(--ease-out)}.account-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.account-head h2{font-family:var(--serif);font-size:20px;margin:0}.account-section{margin-bottom:20px}.account-label{display:block;font-size:12.5px;font-weight:600;color:#8b949e;margin-bottom:8px}.account-readonly{font-size:14px;color:#c9d1d9}.account-row{display:flex;gap:8px}.account-modal input{width:100%;background:#0d1117;border:1px solid #232a36;border-radius:9px;padding:10px 12px;color:#e6edf3;font-size:14px;outline:none}.account-modal input:focus{border-color:var(--green);box-shadow:0 0 0 3px #40c08929}.account-btn{flex-shrink:0;background:var(--green);color:#04140d;font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:9px;transition:background .14s var(--ease),opacity .14s var(--ease)}.account-btn:hover{background:#4cd29a}.account-btn:disabled{opacity:.5}.account-signout{width:100%;border:1px solid #232a36;color:#e6edf3;font-weight:600;font-size:14px;padding:11px;border-radius:10px;transition:background .14s var(--ease)}.account-signout:hover{background:#1c2230}.account-danger{border-top:1px solid #232a36;padding-top:18px;margin-top:4px}.account-delete{width:100%;border:1px solid rgba(224,85,106,.5);color:#f08193;font-weight:600;font-size:14px;padding:11px;border-radius:10px;transition:background .14s var(--ease)}.account-delete:hover{background:#e0556a1f}.account-msg{font-size:13px;padding:9px 12px;border-radius:9px;margin-bottom:16px}.account-msg.ok{background:#40c08924;color:#5fd6a3;border:1px solid rgba(64,192,137,.4)}.account-msg.err{background:#e0556a1f;color:#f08193;border:1px solid rgba(224,85,106,.4)}.crash-screen{min-height:100vh;display:grid;place-items:center;background:#0d1117;padding:24px}.crash-card{max-width:420px;text-align:center;background:#161b22;border:1px solid #232a36;border-radius:16px;padding:32px;color:#e6edf3}.crash-card h1{font-family:var(--serif);font-size:22px;margin:0 0 8px}.crash-card p{color:#8b949e;font-size:14px;margin:0 0 16px}.crash-card pre{background:#0d1117;border:1px solid #232a36;border-radius:8px;padding:10px;font-size:12px;color:#f08193;text-align:left;overflow:auto;margin-bottom:18px}.crash-card button{background:var(--green);color:#04140d;font-weight:700;padding:10px 20px;border-radius:10px}.sync-badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:var(--d-ink-soft);background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:999px;padding:6px 12px 6px 10px;transition:border-color .14s var(--ease)}.sync-badge:hover{border-color:#2f3a4a}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.sync-badge.syncing .sync-dot{background:#d6a93c;animation:pulse 1s ease-in-out infinite}.sync-badge.offline .sync-dot{background:var(--d-ink-faint)}.sync-badge.error .sync-dot{background:#e0556a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.user-menu{position:relative}.user-menu .user-dropdown{position:absolute;right:0;top:44px;width:200px;background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:12px;box-shadow:0 16px 40px #00000080;padding:8px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s var(--ease),transform .14s var(--ease);z-index:50}.user-menu:hover .user-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.user-dropdown-email{font-size:12px;color:var(--d-ink-faint);padding:6px 10px 8px;border-bottom:1px solid var(--d-line);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown button{display:block;width:100%;text-align:left;font-size:13.5px;color:var(--d-ink);padding:9px 10px;border-radius:8px;transition:background .14s var(--ease)}.user-dropdown button:hover{background:var(--d-bg-3)}:root{--r-sm: 0;--r-md: 0;--r-lg: 0}*{border-radius:0!important}.radio,.radio .dot,.avatar,.status-dot,.switch,.switch .knob{border-radius:999px!important}.sel-pop-bar,.sel-pop-composer,.sel-input,.cmt-input,.sel-cat,.sentiment-chip,.sel-icon,.cmt-card,.cmt-quote,.cmt-avatar,.margin-comment,.rw-active-card,.note-tile,.cmt-composer .sel-cat{border-radius:10px!important}.cmt-avatar{border-radius:999px!important}.sel-icon,.sentiment-chip{border-radius:8px!important}.mobile-tools-btn,.dash-hamburger{display:none}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#00000073;animation:fade .2s var(--ease)}.mobile-menu{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--panel);border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom));animation:sheetUp .26s var(--ease-out)}.mobile-menu-grip{width:40px;height:4px;border-radius:999px;background:var(--line);margin:4px auto 14px}.mobile-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.mobile-menu-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--ink);font-size:12.5px;font-weight:500}.mmi-icon{color:var(--ink-soft)}.mobile-menu-row{display:flex;gap:10px;margin-top:8px}.mobile-menu-row button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--ink);font-size:14px;font-weight:500}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 780px){.desktop-tools{display:none!important}.mobile-tools-btn{display:grid!important}.topbar{height:50px;padding:0 6px 0 8px}.topbar-title{width:auto;max-width:56vw;font-size:15px}.topbar-saved{display:none}.mode-rail{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:56px;flex-direction:row;border-right:none;border-top:1px solid var(--line);padding:0 0 env(safe-area-inset-bottom);gap:0;justify-content:space-around;z-index:60;background:var(--paper)}.mode-rail .rail-btn{flex:1;height:100%;width:auto;border-radius:0}.mode-rail .rail-btn.active:before{display:none}.mode-rail .rail-btn.active:after{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;background:var(--green)}.rail-tip{display:none!important}.rail-spacer{display:none}.util-dock,.editor-root.mode-produce .op-panel{display:none!important}.editor-root:not(.mode-produce) .op-panel{display:flex!important;position:fixed;top:50px;bottom:56px;left:0;width:100vw!important;opacity:1!important;z-index:30}.op-panel-inner{width:100%!important}.editor-root:not(.mode-produce) .canvas-wrap{display:none}.canvas-wrap{padding-bottom:56px}.canvas-col{padding:14px 16px 90px!important;max-width:100%!important}.drawer{top:auto;bottom:0;left:0;right:0;width:100%;height:86%;border-radius:16px 16px 0 0;animation:sheetUp .26s var(--ease-out)}.margin-layer{display:none!important}.sel-pop{max-width:92vw}.sel-pop-composer{width:min(300px,86vw)}.sel-icon{width:38px;height:38px}.dash{grid-template-columns:1fr;grid-template-rows:56px 1fr;grid-template-areas:"top" "main"}.dash-side{position:fixed;top:0;bottom:0;left:0;width:264px;z-index:90;transform:translate(-100%);transition:transform .25s var(--ease-out);box-shadow:8px 0 30px #0006}.dash.side-open .dash-side{transform:translate(0)}.dash-side-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#00000080}.dash-hamburger{display:grid!important;place-items:center;width:40px;height:40px;border-radius:9px;color:var(--d-ink-soft)}.dash-top{padding:0 12px;gap:10px}.dash-search{max-width:none}.dash-main{padding:18px 14px 60px}.dash-h1{font-size:22px}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table thead{display:none}.doc-row{border:1px solid var(--d-line);border-radius:12px;margin-bottom:10px;padding:6px 4px;background:var(--d-bg-2)}.doc-row td{border:none!important;padding:6px 12px}.doc-row td.progress-cell{display:none}.doc-row .doc-snippet{white-space:normal;max-width:none}.row-actions{opacity:1!important}.notes-grid{grid-template-columns:1fr}}.user-dropdown.open{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}.user-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}@media (max-width: 780px){.bn-container .bn-editor{font-size:16px;line-height:1.55}.bn-container .bn-block-content[data-content-type=heading][data-level="1"]{font-size:1.6em!important;line-height:1.2}.bn-container .bn-block-content[data-content-type=heading][data-level="2"]{font-size:1.3em!important}.bn-container .bn-block-content[data-content-type=heading][data-level="3"]{font-size:1.12em!important}.topbar-title{font-size:14.5px}.dash,.dash-main{overflow-x:hidden;max-width:100vw}.dash-top{gap:8px;padding:0 10px}.dash-search{flex:1 1 auto;min-width:0}.dash-search input{min-width:0}.dash-top-right{flex-shrink:0;gap:6px}.sync-badge{display:none}.doc-row td{word-break:break-word}.doc-row .doc-title{white-space:normal}.dash-head-row{flex-wrap:wrap;gap:8px}.user-menu .user-dropdown{right:0;width:220px}}@media (max-width: 780px){.dash-top{padding:0 8px}.dash-top-right{gap:4px}.dash-top-right .avatar{width:30px;height:30px;font-size:13px}.theme-toggle{width:34px;height:34px}}@media (max-width: 780px){.dash-search{flex:1 1 0!important}.dash-top-right{flex-shrink:0}}@media (max-width: 780px){.dash{grid-template-columns:minmax(0,1fr)!important}}@media (max-width: 780px){.bn-container .bn-block-content h1{font-size:26px!important;line-height:1.25!important}.bn-container .bn-block-content h2{font-size:21px!important;line-height:1.3!important}.bn-container .bn-block-content h3{font-size:18px!important;line-height:1.35!important}}.topbar-mobile-goal{display:none}@media (max-width: 780px){.bn-container .bn-editor{font-size:calc(var(--editor-size, 18px) - 2px)!important;line-height:var(--editor-lh, 1.6)!important}.bn-container .bn-block-content[data-content-type=heading]{font-size:calc(var(--editor-size, 18px) - 2px)!important}.bn-container .bn-block-content h1{font-size:1.7em!important;line-height:1.25!important}.bn-container .bn-block-content h2{font-size:1.35em!important;line-height:1.3!important}.bn-container .bn-block-content h3{font-size:1.15em!important;line-height:1.35!important}.sel-pop{position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:66px!important;transform:none!important;z-index:130}.sel-pop-bar{justify-content:center}.sel-pop-composer{width:auto!important}.topbar-mobile-goal{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 11px 4px 5px;font-size:12.5px;font-weight:600;color:var(--ink);margin-right:2px}}@media (max-width: 780px){.sel-pop{top:56px!important;bottom:auto!important}.topbar-mobile-goal{border-radius:999px!important}}.landing{min-height:100%;background:#0d1117;color:#e6edf3;font-family:var(--sans)}.landing-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1100px;margin:0 auto}.landing-brand{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:21px;font-weight:700}.landing-brand .mark{color:var(--green);display:inline-flex}.landing-brand.sm{font-size:17px}.landing-nav-actions{display:flex;align-items:center;gap:10px}.landing-btn-ghost{color:var(--d-ink-soft, #8b949e);font-size:14px;font-weight:600;padding:9px 14px}.landing-btn-ghost:hover{color:#e6edf3}.landing-btn-solid{background:var(--green);color:#04140d;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px!important;transition:background .14s var(--ease),transform .12s var(--ease)}.landing-btn-solid:hover{background:#4cd29a;transform:translateY(-1px)}.landing-btn-solid.lg{font-size:16px;padding:14px 28px}.landing-hero{max-width:820px;margin:0 auto;text-align:center;padding:70px 24px 50px}.landing-eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--green);background:#40c0891f;border:1px solid rgba(64,192,137,.3);padding:6px 14px;border-radius:999px!important;margin-bottom:22px}.landing-h1{font-family:var(--serif);font-size:56px;line-height:1.05;font-weight:700;letter-spacing:-.02em;margin:0 0 20px}.landing-sub{font-size:18px;line-height:1.6;color:#aab3bd;max-width:640px;margin:0 auto 30px}.landing-sub.center{margin-bottom:26px}.landing-sub strong{color:#e6edf3;font-weight:600}.landing-cta{margin-bottom:34px}.landing-modebar{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;color:#8b949e;font-size:14px;font-weight:500}.landing-modebar span{display:inline-flex;align-items:center;gap:7px}.landing-section{max-width:1040px;margin:0 auto;padding:56px 24px}.landing-section.alt{background:#11161e;max-width:none}.landing-section.alt>*{max-width:1040px;margin-left:auto;margin-right:auto}.landing-h2{font-family:var(--serif);font-size:32px;font-weight:700;text-align:center;letter-spacing:-.01em;margin:0 0 36px}.landing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.landing-grid.four{grid-template-columns:repeat(4,1fr)}.landing-card{background:#161b22;border:1px solid #232a36;padding:24px}.landing-card-icon{display:inline-grid;place-items:center;width:44px;height:44px;background:#40c0891f;color:var(--green);margin-bottom:14px}.landing-card h3{font-family:var(--serif);font-size:20px;font-weight:700;margin:0 0 8px}.landing-card p{color:#aab3bd;font-size:14.5px;line-height:1.55;margin:0}.landing-feature{text-align:center;padding:12px}.landing-feature-icon{display:inline-grid;place-items:center;width:40px;height:40px;background:#40c0891a;color:var(--green);margin-bottom:12px}.landing-feature h4{font-size:15px;font-weight:700;margin:0 0 6px}.landing-feature p{color:#8b949e;font-size:13.5px;line-height:1.5;margin:0}.landing-final{text-align:center;padding:70px 24px 80px;max-width:700px;margin:0 auto}.landing-footer{border-top:1px solid #232a36;padding:26px 28px;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;color:#5d646e;font-size:13px}@media (max-width: 780px){.landing-h1{font-size:38px}.landing-sub{font-size:16px}.landing-hero{padding:44px 20px 36px}.landing-grid,.landing-grid.four{grid-template-columns:1fr}.landing-h2{font-size:26px}.landing-nav{padding:14px 18px}.landing-modebar{gap:14px}}.sync-toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;z-index:120;background:#11202b;color:#d7f5e8;border:1px solid rgba(64,192,137,.45);padding:11px 14px;border-radius:10px;font-size:14px;box-shadow:0 8px 30px #00000073;max-width:min(92vw,460px);animation:toast-in .22s ease}.sync-toast.error{background:#2a1418;color:#ffd9df;border-color:#e0556a80}.sync-toast-ic{display:inline-flex}.sync-toast-x{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:13px;padding:0 2px;margin-left:4px}.sync-toast-x:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.link-btn{background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.link-btn:hover .doc-title{color:var(--d-accent, #40c089)}.btn-ghost-dark{background:var(--d-bg-2);border:1px solid var(--d-line);color:var(--d-ink);padding:7px 14px;border-radius:8px;cursor:pointer;font-size:13px}.btn-ghost-dark:hover{border-color:var(--d-accent, #40c089)}.admin-stats.compact{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:16px}.admin-stats.compact .admin-stat{padding:12px}.admin-stats.compact .admin-stat-num{font-size:22px}.action-pill{display:inline-block;font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--d-line);color:var(--d-ink-soft);text-transform:capitalize}.action-pill.created{color:#40c089;border-color:#40c08966}.action-pill.edited{color:#2c7be5;border-color:#2c7be566}.action-pill.trashed{color:#e0556a;border-color:#e0556a66}.admin-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:80;display:flex;justify-content:flex-end}.admin-drawer{width:min(720px,94vw);height:100%;overflow-y:auto;background:var(--d-bg-1);border-left:1px solid var(--d-line);padding:22px 24px 60px;box-shadow:-8px 0 40px #0006}.admin-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--d-line);position:sticky;top:0;background:var(--d-bg-1);z-index:1}.admin-drawer-title{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--d-ink)}.admin-drawer-body{padding-top:4px}.admin-doc-text{white-space:pre-wrap;line-height:1.6;color:var(--d-ink);background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:10px;padding:16px;max-height:320px;overflow-y:auto;font-size:14px}.admin-annot{background:var(--d-bg-2);border:1px solid var(--d-line);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:14px;color:var(--d-ink)}.light .admin-drawer,.light .admin-drawer-head{background:#fff}@media (max-width: 780px){.admin-drawer{width:100vw;border-left:none}}
