*{box-sizing:border-box}body,html{margin:0;font-family:adobe-clean-spectrum-vf,adobe-clean-variable,adobe-clean,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5;color:light-dark(#222,#e6e6e6)}.brand{display:flex;justify-content:flex-start;align-items:center;text-decoration:none;color:light-dark(#263238,#f0f0f0)}.brand-logo{height:32px;width:auto;display:block}.mobile-bar .brand-logo{height:26px}.mobile-bar{display:none}.layout{display:grid;grid-template-columns:288px 1fr;align-items:start;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;gap:.75rem;padding:1.1rem .6rem;background:light-dark(#f4f4f5,#161616);overflow:hidden}.rail-head,.sidebar{display:flex;flex-direction:column}.rail-head{gap:.65rem;padding:.4rem .5rem 0}.rail-nav{flex:1 1;overflow-y:auto;padding-top:.5rem}.rail-foot{padding:.75rem .35rem .15rem;margin-top:.5rem}.tree{list-style:none;margin:0;padding:0}.tree-row{display:block;width:100%;box-sizing:border-box;text-align:left;padding:.34rem .5rem;border:0;border-radius:6px;background:none;color:inherit;font:inherit;font-size:.95rem;line-height:1.3;text-decoration:none;cursor:pointer}.tree-cat{font-weight:600}.tree-leaf{color:inherit}.tree-row:hover{background:light-dark(rgba(0,0,0,.06),rgba(255,255,255,.07))}.tree-row.is-active{background:light-dark(#e6f0fd,#15324f);color:light-dark(#1473e6,#79b8ff);font-weight:700}.content{padding:2rem 2.75rem;min-width:0;max-width:56rem}.content h1{font-size:2.25rem;font-weight:800;line-height:1.15;letter-spacing:-.01em;margin:0 0 .6rem}.prose h1{font-size:2rem;font-weight:800;line-height:1.2;margin:2.25rem 0 .6rem}.prose h2{font-size:1.5rem;font-weight:700;margin-top:2.25rem;padding-bottom:.3rem;border-bottom:1px solid light-dark(#d8d8d8,#333)}.prose h3{font-size:1.2rem;font-weight:700;margin-top:1.5rem}.scrim{display:none;border:0;padding:0}.nav-section+.nav-section{margin-top:1.25rem}.nav-section-heading{margin:0 0 .25rem;padding:0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:light-dark(#6b6b6b,#9a9a9a)}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.5rem}.home-card{border:1px solid light-dark(#e1e1e1,#2a2a2a);border-radius:10px;padding:1rem 1.1rem;background:light-dark(#fff,#1b1b1b)}.home-card h2{font-size:1.05rem;margin:0 0 .5rem}.home-card ul{list-style:none;margin:0;padding:0}.home-card li{padding:.15rem 0}.breadcrumbs-wrap{margin-bottom:.75rem}.lead{font-size:1.1rem;color:light-dark(#4b4b4b,#b0b0b0)}.ov-section{margin-top:2rem}.ov-section>h2{font-size:1.25rem;font-weight:700;margin:0 0 .85rem;padding-bottom:.3rem;border-bottom:1px solid light-dark(#d8d8d8,#333)}.chapter-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width:560px){.chapter-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.chapter-grid{grid-template-columns:repeat(3,1fr)}}.chapter-card{display:flex;flex-direction:column;justify-content:center;gap:.2rem;min-height:64px;padding:.7rem .95rem;border:1px solid light-dark(#e1e1e1,#2a2a2a);border-radius:10px;background:light-dark(#fff,#1b1b1b);color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.chapter-card:hover{border-color:light-dark(#1473e6,#5aa3ff);box-shadow:0 2px 10px rgba(0,0,0,.08)}.chapter-card:active{transform:translateY(1px)}.chapter-card-title{font-weight:600;font-size:1rem}.chapter-card-meta{font-size:.8rem;color:light-dark(#6b6b6b,#9a9a9a)}.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1.5rem}.shelf-card{display:flex;align-items:stretch;min-height:88px;border:1px solid light-dark(#e1e1e1,#2a2a2a);border-radius:12px;overflow:hidden;background:light-dark(#fff,#1b1b1b);color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.shelf-card:hover{border-color:light-dark(#1473e6,#5aa3ff);box-shadow:0 2px 12px rgba(0,0,0,.09)}.shelf-card-preview{flex:0 0 88px;width:88px;height:88px;background:light-dark(#f0f0f2,#222)}.shelf-card-preview img{width:100%;height:100%;object-fit:cover;display:block}.shelf-card-body{display:flex;align-items:center;padding:0 1.1rem;font-weight:700;font-size:1.1rem;min-width:0}.page-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid light-dark(#e1e1e1,#2a2a2a)}.page-nav-link{display:flex;flex-direction:column;gap:.15rem;max-width:48%;padding:.6rem .95rem;border:1px solid light-dark(#e1e1e1,#2a2a2a);border-radius:10px;color:inherit;text-decoration:none;transition:border-color .15s ease}.page-nav-link:hover{border-color:light-dark(#1473e6,#5aa3ff)}.page-nav-link.next{margin-left:auto;align-items:flex-end;text-align:right}.page-nav-dir{font-size:.8rem;color:light-dark(#1473e6,#79b8ff)}.page-nav-dir,.page-nav-title{font-weight:600}.prose{margin-top:1.5rem;line-height:1.65}.prose p{margin:.75rem 0}.prose ol,.prose ul{margin:.75rem 0;padding-left:1.4rem}.prose li{margin:.2rem 0}.prose img{max-width:100%;height:auto;border:1px solid light-dark(#e1e1e1,#2a2a2a);border-radius:6px}.prose pre{background:light-dark(#f5f5f5,#181818);padding:1rem;border-radius:8px;overflow-x:auto}.prose code{font-family:source-code-pro,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.prose blockquote{margin:1rem 0;padding-left:1rem;border-left:3px solid light-dark(#d4d4d4,#3a3a3a);color:light-dark(#5b5b5b,#9a9a9a)}@media (max-width:820px){.mobile-bar{display:flex;align-items:center;gap:.5rem;position:sticky;top:0;z-index:30;height:52px;padding:0 .6rem;background:var(--s2-container-bg,light-dark(#fff,#111));border-bottom:1px solid light-dark(#e1e1e1,#2a2a2a)}.layout{grid-template-columns:1fr}.sidebar{position:fixed;top:52px;left:0;z-index:25;width:min(86vw,320px);height:calc(100vh - 52px);transform:translateX(-100%);transition:transform .2s ease}.layout.menu-open .sidebar{transform:translateX(0);box-shadow:0 0 24px rgba(0,0,0,.25)}.layout.menu-open .scrim{display:block;position:fixed;inset:52px 0 0 0;z-index:20;background:rgba(0,0,0,.4)}.content{padding:1.5rem 1.25rem}}.brand-kb{margin-left:.4rem;font-weight:700;font-size:.7rem;letter-spacing:.05em;padding:.1rem .35rem;border-radius:4px;background:light-dark(#e3eaee,#2b3940);color:light-dark(#37474f,#cfd8dc);align-self:center}.new-page-btn{display:inline-block;margin-top:.6rem;padding:.35rem .7rem;border-radius:6px;background:light-dark(#1473e6,#2680eb);color:#fff;text-decoration:none;font-size:.85rem;font-weight:600}.new-page-btn:hover{filter:brightness(1.08)}.user-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;font-size:.8rem}.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:light-dark(#546e7a,#90a4ae)}.logout-link{color:light-dark(#1473e6,#5aa2f5);text-decoration:none;white-space:nowrap}.logout-link:hover{text-decoration:underline}.badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.12rem .4rem;border-radius:4px;background:light-dark(#eceff1,#37474f);color:light-dark(#455a64,#cfd8dc);vertical-align:middle}.badge+.badge{margin-left:.3rem}.badge-internal{background:light-dark(#fff3e0,#4e342e);color:light-dark(#e65100,#ffb74d)}.badge-public{background:light-dark(#e8f5e9,#1b3a25);color:light-dark(#2e7d32,#81c784)}.badge-draft{background:light-dark(#fce4ec,#4a2336);color:light-dark(#ad1457,#f48fb1);margin-left:.4rem}.tree-leaf .badge-draft{font-size:.6rem;padding:0 .3rem}.article-meta{display:flex;align-items:center;gap:.3rem;margin-bottom:.5rem}.article-meta .meta-spacer{flex:1 1}.edit-link{color:light-dark(#1473e6,#5aa2f5);text-decoration:none;font-weight:600;font-size:.9rem}.edit-link:hover{text-decoration:underline}.org-note{background:light-dark(#fff8e1,#3a3320);border-left:3px solid light-dark(#f9a825,#ffca28);padding:.6rem .9rem;border-radius:4px;font-size:.9rem}.muted{color:light-dark(#607d8b,#90a4ae)}.card-list{list-style:none;padding:0;margin:.5rem 0 1.5rem;display:grid;gap:.6rem}.card{display:block;padding:.7rem .9rem;border-radius:8px;background:light-dark(#f5f7f8,#263238);text-decoration:none;color:inherit}.card:hover{background:light-dark(#eceff1,#2e3d45)}.card-title{display:block;font-weight:600}.card-summary{display:block;font-size:.88rem;color:light-dark(#546e7a,#b0bec5);margin-top:.2rem}.card-crumb{display:block;font-size:.75rem;color:light-dark(#90a4ae,#78909c)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.9rem;padding:2rem;border-radius:12px;background:light-dark(#ffffff,#1e2a30);box-shadow:0 10px 30px rgba(0,0,0,.12)}.login-card h1{margin:0;font-size:1.3rem}.login-sub{margin:0;color:light-dark(#607d8b,#90a4ae);font-size:.9rem}.login-error{color:light-dark(#c62828,#ef9a9a);font-size:.85rem;margin:0}.editor{max-width:760px;display:flex;flex-direction:column;gap:1rem}.editor-head{display:flex;align-items:baseline;justify-content:space-between}.editor-row{display:flex;gap:1rem;flex-wrap:wrap}.editor-actions{display:flex;align-items:center;gap:1.2rem;margin-top:.5rem}.saved-note{color:light-dark(#2e7d32,#81c784);font-size:.9rem;margin:0}.fab-root{position:fixed;right:1.25rem;bottom:1.25rem;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.fab-toggle{width:52px;height:52px;border-radius:50%;border:none;background:light-dark(#1473e6,#2680eb);color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.22)}.fab-toggle:hover{filter:brightness(1.08)}.fab-panel{width:280px;background:light-dark(#ffffff,#1e2a30);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.24);padding:.6rem;display:flex;flex-direction:column;gap:.15rem}.fab-panel-head{font-weight:700;font-size:.85rem;padding:.3rem .5rem;color:light-dark(#37474f,#cfd8dc)}.fab-item{text-align:left;background:none;border:none;padding:.55rem .6rem;border-radius:8px;font-size:.92rem;cursor:pointer;color:inherit}.fab-item:hover{background:light-dark(#eef2f4,#2e3d45)}.fab-danger{color:light-dark(#c62828,#ef9a9a)}.fab-form{display:flex;flex-direction:column;gap:.7rem;padding:.3rem .4rem .5rem}.fab-confirm-text{font-size:.85rem;color:light-dark(#546e7a,#b0bec5);margin:0 .2rem}.fab-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.2rem}