@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_482ce5{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_482ce5{--font-serif:"Fraunces","Fraunces Fallback"}:root{--bg:#faf9f6;--panel:#f3f1ec;--line:#e4e1d9;--text:#2b2a27;--muted:#8b877e;--accent:#6b7f6a;--hover:#ebe8e1;--active:#e2ded4;--danger:#b5523b;--peg-bg:#f1efea;--peg-dot:#d3cfc5;--radius:8px}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}.muted{color:var(--muted)}.error{color:var(--danger)}.pad{padding:4px 16px}.btn-primary{background:var(--text);color:var(--bg);border:0;border-radius:var(--radius);padding:10px 14px}.btn-primary:disabled{opacity:.6}.btn-ghost{background:none;border:0;border-radius:6px;padding:4px 8px;color:var(--muted)}.btn-ghost:hover{background:var(--hover);color:var(--text)}.hub{max-width:720px;margin:0 auto;padding:48px 16px}.hub-nav{display:flex;justify-content:flex-end;gap:16px}.hub h1{font-family:var(--font-serif),serif;font-weight:400;font-size:56px;margin:96px 0 8px}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:14px}.login-card h1{font-family:var(--font-serif),serif;font-weight:400;font-size:36px;margin:0}.login-card p{margin:0}.login-card label{display:flex;flex-direction:column;gap:6px;color:var(--muted)}.login-card input{font:inherit;color:var(--text);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.app-shell{display:flex;height:100vh;overflow:hidden}.app-main{flex:1 1;min-width:0;position:relative}.sidebar{width:260px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-foot,.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 14px 16px}.sidebar-foot{border-top:1px solid var(--line);padding:10px 12px 10px 16px}.brand{font-family:var(--font-serif),serif;font-size:20px}.tree{flex:1 1;overflow-y:auto;padding:4px 0 16px}.row{display:flex;align-items:center;min-height:30px;padding-right:8px;border-radius:6px;margin:0 6px}.row:hover{background:var(--hover)}.row.active{background:var(--active)}.row-label{flex:1 1;min-width:0;display:flex;align-items:center;gap:6px;background:none;border:0;padding:5px 0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-row.depth-0 .row-label{font-weight:600}.section-label{font-weight:500!important;text-transform:uppercase;letter-spacing:.06em}.caret,.icon,.section-label{color:var(--muted);font-size:11px}.caret,.icon{width:12px;flex-shrink:0}.row-actions{display:none;gap:2px}.row:hover .row-actions{display:flex}.row-actions button{background:none;border:0;width:22px;height:22px;border-radius:4px;color:var(--muted);line-height:1}.row-actions button:hover{background:var(--active);color:var(--text)}.inline-input{flex:1 1;font:inherit;padding:4px 6px;border:1px solid var(--accent);border-radius:5px;background:#fff;outline:none}.unsorted{margin-top:16px}.empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state h1{font-family:var(--font-serif),serif;font-weight:400;font-size:48px;margin:0 0 8px}.board-page{height:100%;display:flex;flex-direction:column}.board-bar{height:48px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg)}.crumb{color:var(--muted);white-space:nowrap}.board-name{flex:1 1;min-width:0;font:inherit;font-weight:600;font-size:15px;border:1px solid transparent;border-radius:6px;background:none;padding:4px 6px;outline:none}.board-name:hover{border-color:var(--line)}.board-name:focus{border-color:var(--accent);background:#fff}.save-status{color:var(--muted);font-size:12px;white-space:nowrap}.save-status.error{color:var(--danger)}.canvas-wrap{flex:1 1;position:relative;min-height:0}.pegboard{position:absolute;inset:0;background-color:var(--peg-bg);background-image:radial-gradient(circle,var(--peg-dot) 1.3px,transparent 1.6px);background-size:24px 24px;pointer-events:none}.canvas-wrap .excalidraw{--color-primary:var(--accent);--color-primary-darker:#5a6c59;--color-primary-darkest:#4b5a4a;--color-primary-light:#dfe6de}.canvas-wrap .excalidraw,.canvas-wrap .excalidraw .excalidraw__canvas{background:transparent!important}.canvas-loading{height:100%;display:grid;place-items:center;color:var(--muted)}.home{height:100%;overflow-y:auto;padding:0 40px 64px}.home-hero{min-height:44vh;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:48px 0 36px}.home-hero h1{font-family:var(--font-serif),serif;font-weight:300;font-size:clamp(56px,9vw,112px);letter-spacing:-.02em;line-height:1;margin:0 0 24px}.home-hero blockquote{margin:0;min-height:3.5em;max-width:560px;opacity:0;transition:opacity .6s ease}.home-hero blockquote.shown{opacity:1}.home-hero blockquote p{font-family:var(--font-serif),serif;font-style:italic;font-size:19px;line-height:1.45;margin:0 0 8px}.home-hero cite{font-style:normal;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.home-search{max-width:640px;margin:0 auto 48px}.search-field{display:flex;align-items:center;gap:10px;padding:0 18px;height:52px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);box-shadow:0 1px 2px rgba(43,42,39,.04);transition:border-color .15s,box-shadow .15s}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(107,127,106,.12)}.search-field input{flex:1 1;min-width:0;font:inherit;font-size:15px;color:var(--text);border:0;outline:none;background:none}.search-results{margin-top:12px;display:flex;flex-direction:column;gap:4px}.search-results>p{text-align:center;padding:16px 0}.search-result{display:block;padding:12px 16px;border-radius:10px}.search-result.selected{background:var(--hover)}.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.result-name{font-weight:600}.result-path{color:var(--muted);font-size:12px;white-space:nowrap}.result-files,.result-snippet{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.result-files{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.file-chip{padding:2px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:12px}mark{background:#e8e0c9;color:inherit;border-radius:3px;padding:0 1px}.recent{max-width:1040px;margin:0 auto}.recent h2{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:20px;gap:20px}.board-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .15s ease,box-shadow .15s ease}.board-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(43,42,39,.08)}.card-cover{aspect-ratio:4/3;background-color:var(--peg-bg);background-image:radial-gradient(circle,var(--peg-dot) 1.2px,transparent 1.5px);background-size:16px 16px;display:grid;place-items:center;overflow:hidden}.card-cover img{width:100%;height:100%;object-fit:cover}.card-initial{font-family:var(--font-serif),serif;font-size:44px;color:var(--muted)}.card-body{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px}.card-name{font-weight:600}.card-meta,.card-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{color:var(--muted);font-size:12px}.search-field input::-webkit-search-cancel-button{filter:grayscale(1);opacity:.5;cursor:pointer}.card-toolbar{position:relative;display:flex;gap:2px;padding:3px;background:#fff;border-radius:10px;box-shadow:0 0 0 1px rgba(43,42,39,.06),0 2px 8px rgba(43,42,39,.06);margin-right:8px}.card-toolbar>button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:7px;background:none;color:var(--text)}.card-toolbar>button.on,.card-toolbar>button:hover:not(:disabled){background:var(--hover)}.card-toolbar>button:disabled{color:#c9c5bc;cursor:default}.toolbar-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:300px;padding:10px;background:#fff;border-radius:10px;box-shadow:0 0 0 1px rgba(43,42,39,.06),0 8px 24px rgba(43,42,39,.12)}.toolbar-pop input:not([type=color]){flex:1 1;min-width:0;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:7px;outline:none}.toolbar-pop input:focus{border-color:var(--accent)}.toolbar-pop input[type=color]{width:38px;height:36px;padding:0;border:1px solid var(--line);border-radius:7px;background:none;cursor:pointer}.toolbar-pop .btn-primary{padding:8px 12px}.toolbar-pop .error{width:100%;margin:0;font-size:12px}.excalidraw .excalidraw__embeddable__outer{padding:0!important}.card{width:100%;height:100%;overflow:hidden;background:#fff;border-radius:10px;box-shadow:0 0 0 1px rgba(43,42,39,.07),0 2px 6px rgba(43,42,39,.06);font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;color:var(--text);position:relative}.card.is-active{box-shadow:0 0 0 2px var(--accent),0 4px 14px rgba(43,42,39,.1)}.excalidraw .card input:not([type=checkbox]){font:inherit;padding:0!important;height:auto;box-shadow:none!important;border-radius:0;color:inherit;background:none!important;border:0!important;outline:none;min-width:0}.excalidraw .excalidraw-hyperlinkContainer:has(a[href^="https://cards.local/"]){display:none!important}.card-hint{position:absolute;right:10px;bottom:8px;font-size:11px;color:var(--muted);opacity:0;transition:opacity .15s}.excalidraw__embeddable-container.is-hovered .card-hint{opacity:1}.checklist-card{display:flex;flex-direction:column;padding:12px 14px 10px}.checklist-head{display:flex;align-items:center;gap:8px;height:32px;margin-bottom:4px}.checklist-title{flex:1 1;font-weight:600!important;font-size:15px!important}.checklist-count{font-size:12px;color:var(--muted)}.checklist-card ul{list-style:none;margin:0;padding:0}.checklist-card li{display:flex;align-items:center;gap:8px;height:30px}.checklist-card li input[type=text]{flex:1 1}.checklist-card li.done input[type=text]{text-decoration:line-through;color:var(--muted)}.checklist-card input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.checklist-add{align-self:flex-start;margin-top:6px;padding:4px 0;border:0;background:none;color:var(--muted);font-size:13px}.checklist-add:hover{color:var(--text)}.link-card{display:flex;flex-direction:column}.link-image{height:150px;flex-shrink:0;background:var(--panel);overflow:hidden}.link-image img{width:100%;height:100%;object-fit:cover;display:block}.link-body{flex:1 1;min-height:0;display:flex;flex-direction:column;padding:12px 14px;gap:4px}.link-title{font-weight:600;line-height:1.3}.link-desc,.link-title{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-desc{color:var(--muted);font-size:12.5px;line-height:1.4}.link-foot{margin-top:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.link-favicon{width:14px;height:14px;border-radius:3px}.link-domain{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-open{color:var(--accent);font-weight:500}