:root{--midnight:#1a1f3a;--paper:#f6f1e7;--paper-2:#efe7d6;--paper-3:#e7dcc5;--ink:#1f1b16;--ink-2:#3a342c;--ink-muted:#6b6359;--ink-soft:#8d8479;--rule:#d9cfbd;--rule-soft:#e4dcca;--ember:oklch(58% .12 40);--ember-soft:oklch(58% .12 40/.12);--moss:oklch(55% .08 140);--moss-soft:oklch(55% .08 140/.14);--dusk:oklch(50% .1 260);--dusk-soft:oklch(50% .1 260/.14);--wine:oklch(48% .1 20);--wine-soft:oklch(48% .1 20/.14);--serif:"Newsreader", "Iowan Old Style", "Palatino", Georgia, serif;--sans:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SF Mono", Menlo, monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;--fs-2xl:40px;--u:4px;--radius:3px;--shadow-1:0 1px 0 #1f1b160a;--shadow-2:0 4px 24px -8px #1f1b162e;--shadow-3:0 12px 40px -12px #1f1b1638}:root[data-density=compact]{--fs-base:13px;--fs-sm:11px;--u:3px}:root[data-density=comfortable]{--fs-base:15px;--u:5px}:root[data-font=lora]{--serif:"Lora", Georgia, serif;--sans:"Inter", sans-serif}:root[data-font=spectral]{--serif:"Spectral", Georgia, serif;--sans:"Work Sans", sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;padding:0}html.app-shell,body.app-shell{height:100%;overflow:hidden}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}input,textarea{color:inherit;background:0 0;border:0;outline:none;font-family:inherit}.mono{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.serif{font-family:var(--serif)}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.rule{border-top:1px solid var(--rule)}.app{grid-template-rows:44px 40px 1fr;grid-template-columns:240px 1fr;height:100vh;display:grid;overflow:hidden}.app[data-in-book="0"]{grid-template-rows:44px 1fr}:root[data-sidebar=wide] .app{grid-template-columns:280px 1fr}:root[data-sidebar=narrow] .app{grid-template-columns:64px 1fr}:root[data-sidebar=hidden] .app{grid-template-columns:0 1fr}:root[data-left-collapsed="1"] .app{grid-template-columns:56px 1fr!important}.notes-panel--mini{border-left:1px solid var(--rule);background:var(--paper);flex-direction:column;align-items:center;gap:4px;height:100%;min-height:0;padding:16px 0;display:flex;position:relative;overflow:visible}.notes-panel--mini .mini-section{border-bottom:1px solid var(--rule-soft);flex-direction:column;align-items:center;gap:5px;width:100%;margin-bottom:12px;padding:0 8px 14px;display:flex}.notes-panel--mini .mini-section:last-of-type{border-bottom:0}.notes-panel--mini .mini-head{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-muted);text-transform:uppercase;margin-bottom:6px;font-size:9px}.notes-panel--mini .mini-card{cursor:pointer;border:0;border-radius:50%;width:22px;height:22px;padding:0;transition:transform .12s}.notes-panel--mini .mini-card:hover{transform:scale(1.15)}.notes-panel--mini .mini-note{background:var(--ember);opacity:.7;border-radius:2px;width:24px;height:4px}.notes-panel--mini .mini-note.anno-dusk{background:var(--dusk)}.notes-panel--mini .mini-note.anno-moss{background:var(--moss)}.notes-panel--mini .mini-note.anno-wine{background:var(--wine)}.notes-panel--mini .mini-note.is-todo{background:var(--moss)}.sidebar--mini{padding:16px 0;position:relative}.sidebar--mini .mini-section{border-bottom:1px solid var(--rule-soft);flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;padding:0 8px 14px;display:flex}.sidebar--mini .mini-section:last-of-type{border-bottom:0}.sidebar--mini .mini-head{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-muted);text-transform:uppercase;margin-bottom:6px;font-size:9px}.sidebar--mini .mini-chap{width:36px;height:26px;font-family:var(--mono);color:var(--ink);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex}.sidebar--mini .mini-chap:hover{background:var(--paper-2)}.sidebar--mini .mini-chap.is-active{outline:1.5px solid var(--ember);outline-offset:1px}.sidebar--mini .mini-chap.final{background:oklch(55% .08 150/.12);border-color:#0000}.sidebar--mini .mini-chap.revising{background:oklch(58% .12 40/.12);border-color:#0000}.sidebar--mini .mini-chap.draft{opacity:.7}.sidebar--mini .mini-chap.outline{color:var(--ink-muted);background:0 0}.sidebar--mini .mini-card{border:1.5px solid var(--paper);width:16px;height:16px;box-shadow:0 0 0 1px var(--rule);cursor:pointer;border-radius:50%;margin:2px 0;padding:0}.sidebar--mini .mini-card:hover{transform:scale(1.15)}.edge-toggle{background:var(--paper);border:1px solid var(--rule);width:18px;height:40px;color:var(--ink-soft);cursor:pointer;z-index:30;border-radius:0 4px 4px 0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;box-shadow:1px 1px #00000005}.edge-toggle:hover{background:var(--ember);color:#fff;border-color:var(--ember)}.edge-toggle--left{top:50%;right:-9px;transform:translateY(-50%)}.edge-toggle--right{border-right:0;border-radius:4px 0 0 4px;margin-right:-9px;top:50%;right:320px;transform:translateY(-50%)}:root[data-right-collapsed="1"] .edge-toggle--right{border-radius:4px 0 0 4px;margin-right:-9px;right:56px}.topbar{align-items:center;gap:calc(var(--u) * 3);padding:0 calc(var(--u) * 4);border-bottom:1px solid var(--rule);background:var(--paper);font-family:var(--sans);font-size:var(--fs-sm);z-index:10;grid-column:1/-1;display:flex;position:relative}.topbar .logo{font-family:var(--serif);font-size:var(--fs-md);letter-spacing:-.01em;font-weight:500}.topbar .logo .mark{color:var(--ember);font-weight:600}.topbar .book-title{font-family:var(--serif);color:var(--ink-muted);font-style:italic}.topbar .spacer{flex:1}.topbar .sep{background:var(--rule);width:1px;height:16px}.topbar .btn{color:var(--ink-muted);border-radius:3px;padding:4px 10px}.topbar .btn:hover{background:var(--paper-2);color:var(--ink)}.topbar .btn.is-active{color:var(--ember)}.topbar .wc{color:var(--ink-muted);font-family:var(--mono);font-size:var(--fs-xs)}.topbar .wc b{color:var(--ink);font-weight:500}.appbar{background:var(--paper);border-bottom:1px solid var(--rule);font-family:var(--sans);z-index:20;grid-column:1/-1;align-items:center;gap:14px;padding:0 18px;font-size:13px;display:flex;position:relative}.appbar .logo{font-family:var(--serif);letter-spacing:-.018em;font-size:16px}.appbar .sep{background:var(--rule);width:1px;height:16px}.appbar .spacer{flex:1}.appnav{align-items:center;gap:2px;height:100%;display:flex}.appnav .app-link{color:var(--ink-muted);border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:color .12s,background .12s;display:inline-flex;position:relative}.appnav .app-link:hover{color:var(--ink);background:var(--paper-2)}.appnav .app-link.is-active{color:var(--ink)}.appnav .app-link.is-active:after{content:"";background:var(--ember);border-radius:1px;height:2px;position:absolute;bottom:-11px;left:10px;right:10px}.appnav .app-link .badge{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);background:var(--paper-2);border-radius:8px;padding:1px 5px;font-size:9px}.appnav .app-link.is-active .badge{color:var(--ember);background:var(--ember-soft)}.appbar .iconbtn{width:28px;height:28px;color:var(--ink-soft);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.appbar .iconbtn:hover{color:var(--ink);background:var(--paper-2)}.appbar .avatar{color:#fff;width:26px;height:26px;font-family:var(--mono);cursor:pointer;background:oklch(55% .08 220);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:500;display:flex}.appbar .user-wrap{position:relative}.appbar .lang-seg{border:1px solid var(--rule);background:var(--paper);border-radius:5px;align-items:center;margin-right:4px;display:inline-flex;overflow:hidden}.appbar .lang-opt{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:4px 7px;font-size:10px;font-weight:500;transition:background .12s,color .12s}.appbar .lang-opt+.lang-opt{border-left:1px solid var(--rule)}.appbar .lang-opt:hover{color:var(--ink);background:var(--paper-2)}.appbar .lang-opt.is-on{color:#fff;background:var(--ember)}.appbar .user-menu{background:var(--paper);border:1px solid var(--rule);width:280px;box-shadow:var(--shadow-3,0 12px 40px -12px #1f1b1638);z-index:100;font-family:var(--sans);border-radius:5px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.um-section{border-bottom:1px solid var(--rule-soft);align-items:center;gap:10px;margin-bottom:4px;padding:10px 10px 12px;display:flex}.um-avatar{color:#fff;width:36px;height:36px;font-family:var(--mono);background:oklch(55% .08 220);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}.um-info{flex:1;min-width:0}.um-name{font-family:var(--serif);color:var(--ink);font-size:15px;font-weight:500}.um-sub{font-family:var(--mono);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.um-item{color:var(--ink);cursor:pointer;border-radius:3px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;text-decoration:none;transition:background .1s;display:flex}.um-item:hover{background:var(--paper-2)}.um-item .icn{color:var(--ink-soft);flex-shrink:0}.um-item:hover .icn{color:var(--ink-muted)}.um-label{flex:1}.um-meta{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2);border-radius:8px;padding:2px 6px;font-size:9px}.um-item.is-danger{color:var(--wine)}.um-item.is-danger .icn{color:var(--wine);opacity:.7}.um-item.is-danger:hover{background:oklch(48% .1 20/.06)}.um-divider{background:var(--rule-soft);height:1px;margin:4px 6px}.app-level-wrap{max-width:1200px;margin:0 auto;padding:24px 40px 0}.app-level-eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ember);margin-bottom:8px;font-size:10px}.bookbar{background:var(--paper);border-bottom:1px solid var(--rule);font-family:var(--sans);z-index:19;grid-column:1/-1;align-items:stretch;font-size:13px;display:flex;position:relative}.bookbar-title{border-right:1px solid var(--rule-soft,var(--rule));cursor:pointer;align-items:center;gap:10px;min-width:220px;padding:0 18px;display:flex;position:relative}.bookbar-title:hover{background:var(--paper-2)}.bookbar-title .crumb-back{width:18px;height:18px;color:var(--ink-soft);border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.bookbar-title .crumb-back:hover{background:var(--rule);color:var(--ink)}.bookbar-title .crumb-back svg{fill:none;stroke:currentColor;stroke-width:1.5px}.bookbar-title .title{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:15px;font-style:italic}.bookbar-title .caret{color:var(--ink-soft);display:inline-flex}.bookbar-title .caret svg{fill:none;stroke:currentColor;stroke-width:1.5px}.booknav{align-items:stretch;padding:0 14px;display:flex}.booknav .tab{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:color .12s;display:inline-flex;position:relative}.booknav .tab:hover{color:var(--ink)}.booknav .tab.is-active{color:var(--ink);font-weight:500}.booknav .tab.is-active:after{content:"";background:var(--ember);height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.booknav .tab .count{font-family:var(--mono);color:var(--ink-soft);margin-left:2px;font-size:10px}.booknav .tab.is-active .count{color:var(--ember)}.bookbar-right{align-items:center;gap:12px;margin-left:auto;padding:0 18px;display:flex}.bookbar-right .wc{font-family:var(--mono);color:var(--ink-muted);align-items:center;font-size:11px;display:inline-flex}.bookbar-right .wc b{color:var(--ink);font-weight:500}.bookbar-right .wc-bar{background:var(--rule);vertical-align:middle;border-radius:2px;width:60px;height:3px;margin:0 8px;display:inline-block;position:relative;overflow:hidden}.bookbar-right .wc-bar>span{background:var(--ember);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.book-switch{background:var(--paper);border:1px solid var(--rule);width:320px;box-shadow:var(--shadow-3,0 8px 24px #0000001f);z-index:50;border-radius:5px;padding:6px;position:absolute;top:calc(100% + 4px);left:12px}.book-switch .head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:8px 10px 4px;font-size:9px}.book-switch .item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.book-switch .item:hover{background:var(--paper-2)}.book-switch .item.is-current{background:var(--ember-soft)}.book-switch .item .spine{border-radius:2px;align-self:stretch;width:4px;min-height:32px}.book-switch .item .info{flex:1;min-width:0}.book-switch .item .bs-title{font-family:var(--serif);color:var(--ink);font-size:14px;font-weight:500}.book-switch .item .bs-sub{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:2px;font-size:9px}.book-switch .item .bs-check{width:12px;color:var(--ember);justify-content:center;align-items:center;display:inline-flex}.book-switch .bs-divider{background:var(--rule-soft,var(--rule));height:1px;margin:4px 6px}.book-switch .bs-foot{width:100%;color:var(--ink-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:inline-flex}.book-switch .bs-foot:hover{background:var(--paper-2);color:var(--ink)}.sidebar{border-right:1px solid var(--rule);background:var(--paper);padding:calc(var(--u) * 3) 0;font-size:var(--fs-sm);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:visible}.sidebar-scroll{min-height:0;padding:calc(var(--u) * 3) 0;margin:calc(var(--u) * -3) 0;flex:auto;overflow-y:auto}.sidebar-section{padding:0 calc(var(--u) * 3);margin-bottom:calc(var(--u) * 5)}.sidebar-section h5{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 calc(var(--u) * 2) 0;justify-content:space-between;align-items:center;font-weight:500;display:flex}.sidebar-section h5 .count{color:var(--ink-soft)}.nav-item{align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u)*1.5) calc(var(--u) * 2);color:var(--ink-2);cursor:pointer;text-align:left;border-radius:3px;width:calc(100% + 16px);margin:0 -8px;display:flex}.nav-item:hover{background:var(--paper-2)}.nav-item.is-active{background:var(--paper-3);color:var(--ink)}.nav-item .icon{width:14px;height:14px;color:var(--ink-soft);flex:0 0 14px}.nav-item.is-active .icon{color:var(--ember)}.nav-item .badge{font-family:var(--mono);color:var(--ink-soft);margin-left:auto;font-size:10px}.chap-item{cursor:pointer;border-radius:3px;margin:0 -8px;padding:6px 8px;line-height:1.35;display:block}.chap-item:hover{background:var(--paper-2)}.chap-item.is-active{background:var(--paper-3)}.chap-item .n{font-family:var(--mono);color:var(--ink-soft);font-size:10px}.chap-item .t{color:var(--ink-2)}.chap-item.is-active .t{color:var(--ink);font-weight:500}.chap-item .meta{font-family:var(--mono);color:var(--ink-soft);margin-top:2px;font-size:10px}.chap-status{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.chap-status.final{background:var(--moss)}.chap-status.revising{background:var(--ember)}.chap-status.draft{background:var(--ink-soft)}.chap-status.outline{border:1px solid var(--ink-soft);background:0 0}.stage{position:relative;overflow:hidden}.view{height:100%;overflow:auto}.editor-grid{grid-template-columns:1fr 320px;height:100%;display:grid;position:relative}:root[data-right-collapsed="1"] .editor-grid{grid-template-columns:1fr 56px}.editor-scroll{padding:calc(var(--u) * 8) 0 80px 0;scroll-behavior:smooth;min-width:0;overflow-y:auto}.editor-inner{max-width:820px;padding:0 calc(var(--u) * 10);margin:0 auto}.editor-inner.no-margin{max-width:720px}.notes-panel{border-left:1px solid var(--rule);background:var(--paper);flex-direction:column;min-height:0;display:flex;position:relative;overflow:visible}.notes-panel .np-scroll{min-height:0;padding:calc(var(--u) * 6) 0 80px 0;flex:auto;overflow-y:auto}:root[data-right-collapsed="1"] .notes-panel:not(.notes-panel--mini){display:none}.notes-panel .np-head{padding:0 calc(var(--u) * 5) calc(var(--u) * 3);border-bottom:1px solid var(--rule-soft);margin-bottom:calc(var(--u) * 4);align-items:baseline;gap:10px;display:flex}.notes-panel .np-head h4{font-family:var(--serif);letter-spacing:-.005em;margin:0;font-size:17px;font-weight:400}.notes-panel .np-head .count{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.08em;font-size:10px}.notes-panel .np-empty{padding:40px calc(var(--u) * 5);font-family:var(--serif);color:var(--ink-soft);text-wrap:pretty;font-size:14px;font-style:italic;line-height:1.55}.notes-panel .np-empty b{color:var(--ink-muted);font-style:normal;font-family:var(--sans);letter-spacing:.04em;margin-bottom:6px;font-size:12px;display:block}.notes-panel .np-list{padding:0 calc(var(--u) * 5);flex-direction:column;gap:14px;display:flex}.notes-panel .np-item{border-left:2px solid var(--ember);padding:6px 0 6px 12px}.notes-panel .np-item.anno-dusk{border-left-color:var(--dusk)}.notes-panel .np-item.anno-moss{border-left-color:var(--moss)}.notes-panel .np-item.anno-wine{border-left-color:var(--wine)}.notes-panel .np-item.is-todo{border-left-color:var(--moss)}.notes-panel .np-item-head{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.notes-panel .np-text{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;font-size:14px;line-height:1.5}.notes-panel .np-item.is-todo .np-text:before{content:"TODO · ";font-family:var(--mono);color:var(--moss);letter-spacing:.06em;margin-right:6px;font-size:10px}.notes-panel .np-section{padding:0 0 calc(var(--u) * 5);margin-bottom:calc(var(--u) * 4);border-bottom:1px solid var(--rule-soft)}.notes-panel .np-section:last-child{border-bottom:0;margin-bottom:0}.notes-panel .np-section-head{padding:0 calc(var(--u) * 5);margin:0 0 calc(var(--u) * 3);align-items:baseline;gap:10px;display:flex}.notes-panel .np-section-head h4{font-family:var(--serif);letter-spacing:-.005em;margin:0;font-size:17px;font-weight:400}.notes-panel .np-section-head .count{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.08em;margin-left:auto;font-size:10px}.notes-panel .np-cards{padding:0 calc(var(--u) * 4);flex-direction:column;gap:1px;display:flex}.notes-panel .np-card{font-family:var(--sans);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:2px;align-items:center;gap:9px;padding:6px 8px;font-size:13px;transition:background .12s;display:flex}.notes-panel .np-card:hover{background:var(--paper-2)}.notes-panel .np-card-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.notes-panel .np-card-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.notes-panel .np-card-kind{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.notes-panel .np-card-count{font-family:var(--mono);color:var(--ember);background:var(--ember-soft,#b1503214);text-align:center;border-radius:8px;min-width:18px;padding:1px 6px;font-size:10px}.chap-head{margin-bottom:calc(var(--u) * 8)}.chap-head .eyebrow{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-muted);text-transform:uppercase;margin-bottom:10px}.chap-head h1{font-family:var(--serif);font-size:var(--fs-2xl);letter-spacing:-.015em;margin:0;font-weight:400;line-height:1.1}.chap-head .subhead{font-family:var(--serif);color:var(--ink-muted);font-style:italic;font-size:var(--fs-md);margin-top:12px}.chap-head .meta{gap:calc(var(--u) * 4);margin-top:calc(var(--u) * 4);font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-muted);display:flex}.chap-head .meta b{color:var(--ink);font-weight:500}.prose p{font-family:var(--serif);color:var(--ink);text-wrap:pretty;margin:0 0 1.1em;font-size:18px;line-height:1.7;position:relative}.prose p.has-anno{cursor:pointer}.prose p.has-anno:before{content:"";background:var(--ember);opacity:.5;border-radius:2px;width:3px;height:calc(100% - .7em);position:absolute;top:.55em;left:-16px}.prose p.has-anno.anno-dusk:before{background:var(--dusk)}.prose p.has-anno.anno-moss:before{background:var(--moss)}.prose p.is-focus{background:var(--ember-soft)}.prose.prose-editor{caret-color:var(--ember);border-radius:4px;outline:none;min-height:400px;margin:0 -16px;padding:12px 16px;transition:background .2s,box-shadow .2s}.prose.prose-editor:hover{background:oklch(97.5% .008 55)}.prose.prose-editor:focus,.prose.prose-editor:focus-visible,.prose.prose-editor:focus-within{box-shadow:inset 3px 0 0 var(--ember);background:oklch(96% .015 60);outline:none}.prose.prose-editor p{margin:0 0 1.1em}.prose.prose-editor p.is-edited:after{content:none}.prose-foot{color:var(--ink-soft);align-items:center;gap:10px;padding:20px 0 8px;display:flex}.keep-writing{cursor:text;font-family:var(--serif);color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:17px;font-style:italic;display:flex}.keep-writing:hover{color:var(--ink-muted)}.caret-bar{background:var(--ember);opacity:.55;width:2px;height:18px;display:inline-block}.sel-toolbar{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-3);z-index:150;font-family:var(--sans);border-radius:4px;font-size:12px;display:flex;overflow:hidden}.sel-toolbar button{color:var(--paper);cursor:pointer;background:0 0;border:0;border-right:1px solid oklch(30% .01 60);align-items:center;gap:6px;padding:8px 12px;display:flex}.sel-toolbar button:last-child{border-right:0}.sel-toolbar button:hover{background:oklch(30% .01 60)}.sel-toolbar:after{content:"";background:var(--ink);z-index:-1;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.note-draft{background:var(--paper);border:1px solid var(--rule);width:340px;box-shadow:var(--shadow-3);z-index:150;font-family:var(--sans);border-radius:4px}.note-draft .nd-head{border-bottom:1px solid var(--rule-soft);font-family:var(--mono);letter-spacing:.1em;background:var(--paper-2);justify-content:space-between;align-items:center;padding:10px 14px;font-size:10px;display:flex}.note-draft .nd-quote{font-family:var(--serif);color:var(--ink-muted);border-left:2px solid var(--ember);background:var(--paper-2);border-radius:0 2px 2px 0;margin:10px 14px 0;padding:8px 10px;font-size:13px;font-style:italic;line-height:1.5}.note-draft textarea{border:1px solid var(--rule);background:var(--paper);width:calc(100% - 28px);min-height:70px;font-family:var(--sans);resize:vertical;border-radius:2px;outline:none;margin:10px 14px;padding:8px;font-size:13px;line-height:1.45}.note-draft textarea:focus{border-color:var(--ember)}.note-draft .nd-foot{border-top:1px solid var(--rule);background:var(--paper-2);justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.note-draft .nd-foot .ghost{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:12px}.note-draft .nd-foot .primary{color:#fff;background:var(--ember);cursor:pointer;border:0;border-radius:2px;padding:6px 14px;font-size:12px}.autocomplete .ac-item.ac-create{border-top:1px solid var(--rule);background:var(--paper-2)}.autocomplete .ac-item.ac-create .dot{color:#fff;background:var(--ember)!important}.new-card-dialog{background:var(--paper);border:1px solid var(--rule);width:360px;box-shadow:var(--shadow-3);z-index:120;font-family:var(--sans);border-radius:4px;position:absolute}.new-card-dialog .ncd-head{border-bottom:1px solid var(--rule-soft);background:var(--paper-2);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mention{color:var(--moss);background:var(--moss-soft);cursor:pointer;white-space:nowrap;border-radius:3px;padding:1px 5px;font-style:normal;text-decoration:none;transition:background .15s}.mention:hover{background:oklch(55% .08 140/.24)}.margin-col{position:relative}.margin-note{font-family:var(--sans);font-size:var(--fs-sm);border-left:2px solid var(--ember);background:var(--paper-2);cursor:pointer;border-radius:0 3px 3px 0;width:100%;margin-bottom:12px;padding:10px 12px;line-height:1.5;transition:top .2s;position:absolute}.margin-note.anno-dusk{border-color:var(--dusk)}.margin-note.anno-moss{border-color:var(--moss)}.margin-note .head{justify-content:space-between;margin-bottom:4px;display:flex}.margin-note .head .who{font-family:var(--mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.margin-note .head .when{font-family:var(--mono);color:var(--ink-soft);font-size:10px}.margin-note .body{color:var(--ink-2)}.margin-note.is-todo{background:var(--wine-soft);border-color:var(--wine)}.margin-note.is-todo .body:before{content:"TODO  ";font-family:var(--mono);color:var(--wine);letter-spacing:.08em;font-size:10px}.mention-pop{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-3);z-index:100;border-radius:4px;width:320px;position:absolute;overflow:hidden}.mention-pop .pop-head{border-bottom:1px solid var(--rule);background:var(--paper-2);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.mention-pop .pop-head .kind{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.mention-pop .pop-head .name{font-family:var(--serif);font-size:var(--fs-md)}.mention-pop .pop-body{font-size:var(--fs-sm);color:var(--ink-2);padding:12px 14px;line-height:1.5}.mention-pop .pop-foot{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-muted);gap:10px;padding:8px 14px;font-size:10px;display:flex}.autocomplete{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-3);z-index:200;border-radius:4px;width:320px;max-height:320px;position:absolute;overflow:auto}.ac-head{border-bottom:1px solid var(--rule);font-family:var(--mono);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;background:var(--paper-2);justify-content:space-between;padding:8px 12px;font-size:10px;display:flex}.ac-item{cursor:pointer;font-size:var(--fs-sm);border-bottom:1px solid var(--rule-soft);align-items:center;gap:10px;padding:8px 12px;display:flex}.ac-item:last-child{border-bottom:0}.ac-item:hover,.ac-item.is-active{background:var(--paper-3)}.ac-item .dot{border-radius:2px;flex:0 0 8px;width:8px;height:8px}.ac-item .name{font-family:var(--serif)}.ac-item .kind{font-family:var(--mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-left:auto;font-size:9px}.scrubber{background:var(--paper);border-top:1px solid var(--rule);height:56px;font-size:var(--fs-xs);font-family:var(--mono);color:var(--ink-muted);grid-template-columns:180px 1fr 180px;align-items:center;display:grid;position:absolute;bottom:0;left:0;right:0}.scrubber .sc-left{padding-left:24px}.scrubber .sc-right{text-align:right;padding-right:24px}.scrubber .sc-track{cursor:pointer;align-items:center;height:36px;display:flex;position:relative}.scrubber .sc-bar{background:var(--rule);height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.scrubber .sc-chap{background:var(--paper-3);border:1px solid var(--rule);border-radius:2px;width:10px;height:22px;position:absolute;top:50%;transform:translate(-50%,-50%)}.scrubber .sc-chap.final{background:var(--moss);border-color:#0000}.scrubber .sc-chap.revising{background:var(--ember);border-color:#0000}.scrubber .sc-chap.draft{background:var(--ink-soft);opacity:.6;border-color:#0000}.scrubber .sc-chap.outline{background:0 0}.scrubber .sc-chap.is-current{outline:2px solid var(--ember);outline-offset:2px;z-index:2}.scrubber .sc-chap:hover{transform:translate(-50%,-50%)scaleY(1.3)}.scrubber .sc-label{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:2px;left:0;right:0}.cards-view{padding:calc(var(--u) * 8) calc(var(--u) * 10)}.view-head{align-items:baseline;gap:calc(var(--u) * 4);margin-bottom:calc(var(--u) * 8);display:flex}.view-head h1{font-family:var(--serif);font-size:var(--fs-2xl);letter-spacing:-.015em;margin:0;font-weight:400}.view-head .eyebrow{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase}.view-head .spacer{flex:1}.tabs{border-bottom:1px solid var(--rule);margin-bottom:calc(var(--u) * 6);font-size:var(--fs-sm);gap:0;display:flex}.tabs button{color:var(--ink-muted);border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;display:flex}.tabs button:hover{color:var(--ink)}.tabs button.is-active{color:var(--ink);border-bottom-color:var(--ember)}.tabs button .count{font-family:var(--mono);color:var(--ink-soft);background:var(--paper-2);border-radius:8px;padding:1px 6px;font-size:10px}.tabs button.is-active .count{color:var(--ember);background:var(--ember-soft)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}:root[data-cards=dense] .card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}:root[data-cards=detailed] .card-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.card{background:var(--paper);border:1px solid var(--rule);cursor:pointer;border-radius:4px;flex-direction:column;gap:10px;padding:16px;transition:all .15s;display:flex;position:relative}.card:hover{border-color:var(--ink-soft);box-shadow:var(--shadow-2)}.card .color-bar{border-radius:4px 0 0 4px;width:3px;position:absolute;top:0;bottom:0;left:0}.card .card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card .card-top .name{font-family:var(--serif);font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:500;line-height:1.15}.card .card-top .role{font-family:var(--mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:10px}.card .summary{color:var(--ink-muted);font-size:var(--fs-sm);line-height:1.5;font-family:var(--serif);font-style:italic}.card .tags{flex-wrap:wrap;gap:4px;display:flex}.card .tag{font-family:var(--mono);background:var(--paper-2);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;border-radius:10px;padding:2px 7px;font-size:10px}.card .foot{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--rule-soft);justify-content:space-between;padding-top:8px;font-size:10px;display:flex}.card .portrait{aspect-ratio:3/2;background:linear-gradient(135deg, transparent 49%, var(--rule) 49%, var(--rule) 51%, transparent 51%) var(--paper-2);width:100%;font-family:var(--mono);color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;background-size:8px 8px;border-radius:3px;justify-content:center;align-items:center;font-size:10px;display:flex}:root[data-cards=dense] .portrait{display:none}:root[data-cards=dense] .summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.detail{padding:calc(var(--u)*8) calc(var(--u)*10);max-width:1100px;margin:0 auto}.detail-head{grid-template-columns:280px 1fr;gap:32px;margin-bottom:40px;display:grid}.detail-head .portrait{aspect-ratio:3/4}.detail-head h1{font-family:var(--serif);font-size:var(--fs-2xl);letter-spacing:-.015em;margin:0;font-weight:400}.detail-head .role{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ember);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.detail-head .traits{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.stats-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:40px;display:grid}.stat{background:var(--paper);padding:18px}.stat .label{font-family:var(--mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:10px}.stat .value{font-family:var(--serif);font-size:var(--fs-xl);font-weight:400}.stat .sub{font-family:var(--mono);color:var(--ink-soft);margin-top:2px;font-size:10px}.detail-section{margin-bottom:48px}.detail-section h3{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:12px;margin:0 0 16px;font-weight:500;display:flex}.detail-section h3:after{content:"";background:var(--rule);flex:1;height:1px}.mentions-chart{align-items:flex-end;gap:4px;height:120px;padding:12px 0;display:flex}.mentions-chart .bar{background:var(--ember);opacity:.85;border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:opacity .15s;position:relative}.mentions-chart .bar:hover{opacity:1}.mentions-chart .bar .bn{font-family:var(--mono);color:var(--ink-soft);font-size:9px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.mentions-chart .bar .bv{font-family:var(--mono);color:var(--ink);opacity:0;font-size:9px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.mentions-chart .bar:hover .bv{opacity:1}.relmap{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:20px}.timeline-view{padding:calc(var(--u) * 6) 0;flex-direction:column;height:100%;display:flex;overflow:hidden}.timeline-view .view-head{padding:0 calc(var(--u)*8)}.timeline-wrap{padding:0 calc(var(--u)*8) 20px;flex:1;overflow:auto}.timeline-legend{font-family:var(--mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:20px;margin-bottom:20px;font-size:10px;display:flex}.timeline-legend .chip{align-items:center;gap:6px;display:inline-flex}.timeline-legend .chip .swatch{border-radius:2px;width:10px;height:10px}.swimlanes{border:1px solid var(--rule);background:var(--paper);border-radius:4px;grid-template-columns:160px 1fr;min-width:1100px;display:grid;overflow:hidden}.lane-head{border-bottom:1px solid var(--rule);font-family:var(--mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;background:var(--paper-2);padding:10px 14px;font-size:10px}.lane-head.chapters{grid-template-columns:repeat(14,1fr);padding:0;display:grid}.lane-head.chapters .col{text-align:center;font-family:var(--mono);color:var(--ink-muted);border-right:1px solid var(--rule-soft);padding:10px 8px;font-size:10px}.lane-head.chapters .col:last-child{border-right:0}.lane{display:contents}.lane .lane-label{border-top:1px solid var(--rule);border-right:1px solid var(--rule);font-size:var(--fs-sm);align-items:center;gap:8px;padding:16px;display:flex}.lane .lane-label .swatch{border-radius:2px;flex:0 0 10px;width:10px;height:10px}.lane .lane-label .status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-left:auto;font-size:9px}.lane .lane-track{border-top:1px solid var(--rule);grid-template-columns:repeat(14,1fr);min-height:64px;display:grid;position:relative}.lane .lane-track .slot{border-right:1px solid var(--rule-soft);flex-direction:column;gap:4px;padding:8px 6px;display:flex}.lane .lane-track .slot:last-child{border-right:0}.lane .lane-track .beat{font-family:var(--sans);cursor:pointer;color:var(--ink);background:var(--paper-2);border-left:2px solid var(--ink-soft);border-radius:3px;padding:5px 7px;font-size:10px;line-height:1.3}.lane .lane-track .beat.kind-climax{background:var(--wine-soft);border-left-color:var(--wine);font-weight:500}.lane .lane-track .beat.kind-turn{background:var(--ember-soft);border-left-color:var(--ember);font-weight:500}.lane .lane-track .beat.kind-discovery{background:var(--dusk-soft);border-left-color:var(--dusk)}.lane .lane-track .beat.kind-meeting{background:var(--moss-soft);border-left-color:var(--moss)}.list-view{padding:calc(var(--u)*8) calc(var(--u)*10);max-width:1000px;margin:0 auto}.filter-bar{font-size:var(--fs-sm);gap:8px;margin-bottom:24px;display:flex}.filter-bar button{border:1px solid var(--rule);color:var(--ink-muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:5px 12px;font-size:10px}.filter-bar button.is-active{border-color:var(--ember);color:var(--ember);background:var(--ember-soft)}.filter-bar .search{border:1px solid var(--rule);border-radius:3px;flex:1;padding:5px 12px}.todo-row{border-bottom:1px solid var(--rule-soft);cursor:pointer;grid-template-columns:24px 80px 1fr 80px 80px;align-items:center;gap:16px;padding:12px 8px;display:grid}.todo-row:hover{background:var(--paper-2)}.todo-row .check{border:1px solid var(--ink-soft);border-radius:2px;width:16px;height:16px;transition:background .12s,border-color .12s}.todo-row .check:hover{background:var(--paper-3);border-color:var(--ember)}.todo-row.is-done .check{background:var(--moss);border-color:var(--moss);color:#fff}.todo-row.is-done{opacity:.45}.todo-row.is-done .text{text-decoration:line-through}.todo-row.is-done .check{background:var(--moss);border-color:var(--moss)}.todo-row .ch{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.todo-row .text{font-family:var(--serif);font-size:var(--fs-md);line-height:1.4}.todo-row .prio{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;text-align:center;font-size:10px}.todo-row .prio.high{color:var(--wine)}.todo-row .prio.med{color:var(--ember)}.todo-row .prio.low{color:var(--ink-soft)}.todo-row .goto{opacity:0;font-family:var(--mono);color:var(--ink-muted);text-align:right;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.todo-row:hover .goto{opacity:1}.sidenote-card{background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--dusk);cursor:pointer;border-radius:0 3px 3px 0;margin-bottom:12px;padding:16px 20px}.sidenote-card:hover{box-shadow:var(--shadow-2)}.sidenote-card .sn-head{justify-content:space-between;margin-bottom:8px;display:flex}.sidenote-card .sn-head .t{font-family:var(--serif);font-size:var(--fs-md);font-weight:500}.sidenote-card .sn-head .m{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.sidenote-card .body{font-family:var(--serif);color:var(--ink-2);line-height:1.5;font-size:var(--fs-sm)}.dash{padding:calc(var(--u)*8) calc(var(--u)*10);max-width:1200px;margin:0 auto}.dash-hero{border-bottom:1px solid var(--rule);grid-template-columns:1.6fr 1fr;gap:32px;margin-bottom:40px;padding-bottom:32px;display:grid}.dash-hero h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 8px;font-size:56px;font-weight:400;line-height:1.02}.dash-hero .sub{font-family:var(--serif);color:var(--ink-muted);font-style:italic;font-size:var(--fs-lg)}.dash-hero .author{font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:20px}.dash-hero .progress-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:24px}.progress-card .big{font-family:var(--serif);font-size:48px;line-height:1}.progress-card .big .of{color:var(--ink-soft);font-size:var(--fs-lg)}.progress-card .bar{background:var(--rule);border-radius:3px;height:6px;margin:16px 0 8px;overflow:hidden}.progress-card .bar>div{background:var(--ember);height:100%}.progress-card .mono-grid{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;padding-top:20px;display:grid}.progress-card .mono-grid .cell{font-family:var(--mono)}.progress-card .mono-grid .cell .l{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:9px}.progress-card .mono-grid .cell .v{color:var(--ink);font-size:14px}.dash-row{grid-template-columns:2fr 1fr;gap:32px;margin-bottom:32px;display:grid}.dash-block h3{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:10px;margin:0 0 16px;font-weight:500;display:flex}.dash-block h3:after{content:"";background:var(--rule);flex:1;height:1px}.chap-strip{grid-template-columns:repeat(14,1fr);align-items:end;gap:3px;height:100px;display:grid}.chap-strip .bar{background:var(--paper-3);cursor:pointer;border-radius:2px 2px 0 0;position:relative}.chap-strip .bar.final{background:var(--moss)}.chap-strip .bar.revising{background:var(--ember)}.chap-strip .bar.draft{background:var(--ink-soft);opacity:.55}.chap-strip .bar.outline{border:1px dashed var(--ink-soft);opacity:.4;background:0 0}.chap-strip .bar:hover{outline:1px solid var(--ink);outline-offset:2px}.chap-strip .bar .n{font-family:var(--mono);color:var(--ink-soft);font-size:9px;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.tweaks{background:var(--paper);border:1px solid var(--rule);width:260px;box-shadow:var(--shadow-3);z-index:1000;font-size:var(--fs-sm);border-radius:4px;padding:16px;display:none;position:fixed;bottom:20px;right:20px}.tweaks.is-open{display:block}.tweaks h4{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);justify-content:space-between;margin:0 0 14px;font-weight:500;display:flex}.tweaks .grp{margin-bottom:14px}.tweaks .grp .lbl{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:10px}.tweaks .seg{border:1px solid var(--rule);border-radius:3px;display:flex;overflow:hidden}.tweaks .seg button{color:var(--ink-muted);border-right:1px solid var(--rule);flex:1;padding:6px 10px;font-size:11px}.tweaks .seg button:last-child{border-right:0}.tweaks .seg button.is-active{background:var(--ember-soft);color:var(--ember)}.modal-back{z-index:500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f1b1659;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--paper);width:min(960px,92vw);max-height:88vh;box-shadow:var(--shadow-3);border-radius:4px;position:relative;overflow:auto}.modal .close{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;font-size:10px;position:absolute;top:14px;right:14px}.modal .close:hover{color:var(--ink)}.icn{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.chip{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--paper-2);color:var(--ink-muted);border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;display:inline-flex}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--rule);border:2px solid var(--paper);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.ce-modal{background:var(--paper);border-radius:6px;width:min(560px,92vw);animation:.18s ease-out ceRise;position:relative;overflow:visible;box-shadow:0 24px 60px #1f1b1640,0 2px 8px #1f1b1614}@keyframes ceRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ce-head{justify-content:space-between;align-items:center;padding:18px 22px 0;display:flex}.ce-eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.ce-eyebrow b{color:var(--ink-muted);font-weight:500}.ce-close{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:6px 10px;font-size:10px}.ce-close:hover{color:var(--ink);background:var(--paper-2)}.ce-body{padding:14px 22px 0}.ce-row{margin-bottom:14px}.ce-row:last-child{margin-bottom:0}.ce-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px;font-size:10px;display:block}.ce-type{position:relative}.ce-type-trigger{background:var(--paper);border:1px solid var(--rule);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .12s;display:flex}.ce-type-trigger:hover{border-color:var(--ink-soft)}.ce-type-trigger.is-open{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}.ce-type-icon{background:var(--paper-2);width:28px;height:28px;color:var(--ink-muted);font-family:var(--serif);border-radius:3px;flex:0 0 28px;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex}.ce-type-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ce-type-name{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:16px;font-weight:500}.ce-type-desc{font-family:var(--sans);color:var(--ink-muted);font-size:12px}.ce-type-caret{width:12px;height:12px;color:var(--ink-soft);transition:transform .18s}.ce-type-trigger.is-open .ce-type-caret{color:var(--ember);transform:rotate(180deg)}.ce-menu{background:var(--paper);border:1px solid var(--rule);z-index:10;border-radius:5px;max-height:320px;padding:6px;animation:.14s ease-out ceRise;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #1f1b162e}.ce-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.ce-menu-item:hover{background:var(--paper-2)}.ce-menu-item.is-selected{background:var(--ember-soft)}.ce-menu-item.is-selected .ce-type-name{color:var(--ember)}.ce-name{background:var(--paper);border:1px solid var(--rule);width:100%;font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;border-radius:4px;padding:12px 14px;font-size:22px;font-weight:500}.ce-name:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft);outline:none}.ce-input,.ce-textarea{background:var(--paper);border:1px solid var(--rule);width:100%;font-family:var(--sans);color:var(--ink-2);border-radius:4px;padding:10px 12px;font-size:13px}.ce-textarea{min-height:90px;font-family:var(--serif);resize:vertical;font-size:14px;line-height:1.55}.ce-input:focus,.ce-textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft);outline:none}.ce-extras{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.ce-extras .ce-row{margin-bottom:0}.ce-swatches{gap:8px;display:flex}.ce-swatch{cursor:pointer;border:0;border-radius:50%;width:22px;height:22px;padding:0;transition:transform .12s;box-shadow:inset 0 0 0 1px #1f1b161a}.ce-swatch:hover{transform:scale(1.12)}.ce-swatch.is-selected{box-shadow:inset 0 0 0 1px #1f1b161a, 0 0 0 2px var(--paper), 0 0 0 3px var(--ink)}.ce-foot{border-top:1px solid var(--rule-soft);background:var(--paper-2);border-radius:0 0 6px 6px;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:14px 22px 16px;display:flex}.ce-foot .left{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.ce-foot .actions{gap:8px;display:flex}.ce-btn{font-family:var(--sans);cursor:pointer;border:1px solid #0000;border-radius:3px;padding:8px 16px;font-size:13px;font-weight:500}.ce-btn--ghost{color:var(--ink-2);background:0 0}.ce-btn--ghost:hover{background:var(--paper-3)}.ce-btn--danger{color:var(--wine);background:0 0;border-color:#0000}.ce-btn--danger:hover{background:#70344c14}.ce-btn--primary{background:var(--ember);color:#fff;border-color:var(--ember)}.ce-btn--primary:hover{filter:brightness(.95)}.ce-btn--primary:disabled{opacity:.5;cursor:not-allowed}.cd-actions{border-top:1px solid var(--rule);gap:8px;margin-top:24px;padding-top:18px;display:flex}.cd-actions button{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:1px solid var(--rule);color:var(--ink-muted);background:0 0;border-radius:3px;padding:7px 14px;font-size:10px}.cd-actions button:hover{color:var(--ink);border-color:var(--ink-muted);background:var(--paper-2)}.cd-actions .danger{color:var(--wine)}.cd-actions .danger:hover{color:var(--wine);border-color:var(--wine);background:#70344c0f}.cd-actions .primary{color:var(--ember);border-color:var(--ember)}.cd-actions .primary:hover{background:var(--ember-soft)}.comments-list{padding:8px 32px 60px}.comment-card{border:1px solid var(--rule);background:var(--paper);border-radius:5px;margin-bottom:18px;transition:border-color .12s,background .12s;position:relative;overflow:hidden}.comment-card.is-unread{border-color:var(--ember)}.comment-card.is-unread:before{content:"";background:var(--ember);width:3px;position:absolute;top:0;bottom:0;left:0}.comment-card.is-resolved{opacity:.72}.comment-card.is-resolved .cm-text{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-soft);text-decoration-color:var(--ink-soft)}.cm-anchor{background:var(--paper-2);border-bottom:1px solid var(--rule-soft);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 18px;transition:background .1s;display:grid}.cm-anchor:hover{background:var(--paper-3)}.cm-anchor-meta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;font-size:10px}.cm-anchor-text{font-family:var(--serif);color:var(--ink-2);text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:14px;font-style:italic;line-height:1.45;display:-webkit-box;overflow:hidden}.cm-anchor-jump{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ember);font-size:10px}.cm-body{padding:16px 20px 8px}.cm-row{grid-template-columns:32px 1fr;align-items:flex-start;gap:12px;padding:8px 0;display:grid}.cm-reply{padding-left:44px}.cm-reply.is-me .cm-bubble{background:var(--ember-soft);border-color:var(--ember)}.cm-avatar{width:32px;height:32px;font-family:var(--serif);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.cm-bubble{background:var(--paper-2);border:1px solid var(--rule-soft);border-radius:4px;padding:10px 14px}.cm-head{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:6px;font-size:10px;display:flex}.cm-who{color:var(--ink);font-weight:500}.cm-role{color:var(--ink-soft)}.cm-kind{color:var(--ember);letter-spacing:.1em}.cm-when{color:var(--ink-soft);margin-left:auto}.cm-text{font-family:var(--serif);color:var(--ink);font-size:14.5px;line-height:1.55}.cm-actions{border-top:1px solid var(--rule-soft);align-items:center;gap:8px;margin-top:6px;padding:10px 20px 14px;display:flex}.cm-reply-stub,.cm-resolve{border:1px solid var(--rule);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:3px;padding:6px 12px;font-size:10px}.cm-reply-stub:hover{color:var(--ink);border-color:var(--ink-muted)}.cm-resolve:hover{color:var(--moss);border-color:var(--moss);background:#6b8b5b0f}.comment-card.is-resolved .cm-resolve{color:var(--ink-soft)}.comment-card.is-resolved .cm-resolve:hover{color:var(--ember);border-color:var(--ember)}.feat-soon{vertical-align:middle;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);border-radius:10px;margin-left:10px;padding:3px 7px;font-size:9px;display:inline-block}.proof,.proof-stack{display:none!important}.mk-header nav{gap:26px}.mk-header .hdr-right{align-self:center;align-items:center;gap:20px;display:flex}.beta-tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;align-items:center;gap:8px;font-size:10px;display:inline-flex}.dot-go{background:var(--ember);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in oklch, var(--ember) 55%, transparent);border-radius:50%;animation:2.6s infinite goPulse}@keyframes goPulse{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--ember) 50%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.btn-join{font-family:var(--sans);color:var(--ink-2);border:1px solid var(--ink-2);border-radius:3px;align-items:center;gap:8px;padding:8px 15px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:inline-flex}.btn-join:hover{background:var(--ink-2);color:var(--paper)}.btn-join .arr{transition:transform .14s}.btn-join:hover .arr{transform:translate(3px)}.promo-hero{border-bottom:1px solid var(--rule);padding:76px 0 72px;position:relative;overflow:hidden}.promo-hero .paper-bg{z-index:0;opacity:.4;background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 72% 40%,#0000,#000 62%);mask-image:radial-gradient(at 72% 40%,#0000,#000 62%)}.promo-hero .inner{z-index:2;position:relative}.hero-eyebrow{color:var(--ink-muted);align-items:center;gap:10px;display:inline-flex}.hero-eyebrow .dot-live{background:var(--moss);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in oklch, var(--moss) 55%, transparent);border-radius:50%;animation:2.6s infinite goPulse}.hero-split{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;display:grid}:root[data-hero=centered] .hero-split{display:none}.hero-centered{text-align:center;display:none}:root[data-hero=centered] .hero-centered{display:block}.hero-centered .hero-copy{max-width:64ch;margin:0 auto}.hero-centered h1{max-width:16ch;margin:18px auto 0}.hero-centered .lede{max-width:56ch;margin:24px auto 0}.hero-centered .waitlist{max-width:540px;margin:36px auto 0}.hero-centered .hero-marks{justify-content:center}.hero-wide-preview{margin-top:56px}.hero-copy h1{margin-top:18px}.hero-copy .lede{margin-top:24px}.hero-marks{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:28px;margin-top:28px;font-size:10.5px;display:flex}.hero-marks span{align-items:center;gap:8px;display:inline-flex}.hero-marks span:before{content:"";background:var(--ember);border-radius:50%;width:4px;height:4px}.scratch-chip{border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:30px;align-items:center;gap:12px;margin-top:22px;padding:9px 14px 9px 12px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.scratch-chip:hover{border-color:var(--ink-soft);box-shadow:var(--shadow-2);transform:translateY(-1px)}.scratch-chip .new{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ember);border-radius:20px;padding:3px 7px;font-size:9px}.scratch-chip .lbl{font-family:var(--serif);font-size:15px}.scratch-chip .lbl em{color:var(--ink-muted);font-style:italic}.scratch-chip .arr{color:var(--ink-soft)}.waitlist{margin-top:34px}.wl-form .wl-row{gap:10px;display:flex}.wl-input,.wl-select{background:var(--paper);border:1px solid var(--rule);font-family:var(--sans);color:var(--ink);border-radius:4px;padding:13px 15px;font-size:15px;transition:border-color .15s,box-shadow .15s}.wl-input::placeholder{color:var(--ink-soft)}.wl-input:focus,.wl-select:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft);outline:none}.wl-input{flex:auto;min-width:0}.wl-select{color:var(--ink-muted);cursor:pointer}.wl-btn{border:1px solid var(--ember);background:var(--ember);color:#fff;font-family:var(--sans);cursor:pointer;white-space:nowrap;border-radius:4px;flex:none;padding:13px 20px;font-size:14px;font-weight:500;transition:filter .12s}.wl-btn:hover{filter:brightness(.95)}.wl-note{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);align-items:center;gap:8px;margin-top:11px;font-size:10px;display:flex}.wl-note b{color:var(--ink-muted);font-weight:500}:root[data-waitlist=inline] .wl-form .wl-row{flex-wrap:wrap}:root[data-waitlist=inline] .wl-form .wl-select{flex:0 0 168px}:root[data-waitlist=card] .wl-inline-only,.wl-card{display:none}:root[data-waitlist=card] .wl-card{display:block}:root[data-waitlist=card] .wl-inline{display:none}.wl-card{border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-2);border-radius:6px;max-width:520px;overflow:visible}.wl-card .wl-card-head{border-bottom:1px solid var(--rule);background:var(--paper-2);border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.wl-card .wl-card-head .t{font-family:var(--serif);letter-spacing:-.01em;font-size:19px}.wl-card .wl-card-head .proof{text-align:right}.wl-card .wl-card-head .proof .n{font-family:var(--serif);color:var(--ember);font-size:22px;line-height:1}.wl-card .wl-card-head .proof .l{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-top:3px;font-size:9px}.wl-card .wl-card-body{padding:22px}.wl-card .wl-card-body .wl-field{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.wl-card .wl-card-body label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:10px}.wl-card .wl-card-body .wl-input,.wl-card .wl-card-body .wl-select{width:100%}.wl-card .wl-card-body .wl-btn{text-align:center;justify-content:center;width:100%;padding:14px}.proof-stack{align-items:center;gap:10px;display:flex}.proof-stack .avs{display:flex}.proof-stack .avs span{border:2px solid var(--paper);width:26px;height:26px;font-family:var(--serif);color:#fff;border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:11px;display:flex}.proof-stack .avs span:first-child{margin-left:0}.proof-stack .txt{color:var(--ink-muted);font-size:12.5px;line-height:1.4}.proof-stack .txt b{color:var(--ink);font-weight:600}.wl-success{border:1px solid color-mix(in oklch, var(--moss) 40%, var(--rule));background:var(--moss-soft);border-radius:6px;align-items:flex-start;gap:14px;max-width:540px;padding:18px 20px;display:none}.wl-success.show{display:flex}.wl-success .mk{background:var(--moss);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex}.wl-success .t{font-family:var(--serif);margin-bottom:3px;font-size:17px}.wl-success .s{color:var(--ink-2);font-size:13px;line-height:1.5}.wl-success .s b{font-weight:600}.scratch-teaser{color:#f6f1e7;background:#2b2620;border-radius:6px;grid-template-columns:1.3fr 1fr;display:grid;position:relative;overflow:hidden}.scratch-teaser:before{content:"#318";font-family:var(--serif);color:#d9775714;pointer-events:none;font-size:120px;font-style:italic;font-weight:300;line-height:1;position:absolute;top:18px;right:30px}.scratch-teaser .st-left{z-index:1;padding:48px 48px 44px;position:relative}.scratch-teaser .st-eye{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#d97757;font-size:11px}.scratch-teaser h2{font-family:var(--serif);letter-spacing:-.015em;color:#f6f1e7;max-width:18ch;margin:16px 0 0;font-size:40px;font-weight:300;line-height:1.08}.scratch-teaser h2 em{color:#d97757;font-style:italic}.scratch-teaser p{color:#f6f1e7b3;max-width:46ch;margin:18px 0 0;font-size:15.5px;line-height:1.6}.scratch-teaser .st-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.scratch-teaser .st-btn{font-family:var(--sans);border-radius:4px;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.scratch-teaser .st-btn.solid{color:#1f1b16;background:#d97757}.scratch-teaser .st-btn.solid:hover{background:#e8906c}.scratch-teaser .st-btn.ghost{color:#f6f1e7d9;background:0 0;border:1px solid #f6f1e738}.scratch-teaser .st-btn.ghost:hover{color:#d97757;border-color:#d97757}.scratch-teaser .st-right{z-index:1;border-left:1px solid #f6f1e71f;flex-direction:column;justify-content:center;padding:40px 44px 40px 40px;display:flex;position:relative}.st-right .pe{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#f6f1e780;font-size:10px}.st-right .pt{font-family:var(--serif);color:#f6f1e7;margin:14px 0 0;font-size:23px;font-weight:300;line-height:1.28}.st-right .pt em{color:#d97757;font-style:italic}.st-right .tags{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f6f1e780;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:9px;display:flex}.fcards{background:var(--rule);border:1px solid var(--rule);border-radius:5px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.fcard{background:var(--paper);padding:30px 28px;transition:background .15s}.fcard:hover{background:var(--paper-2)}.fcard .ic{background:var(--ember-soft);border:1px solid color-mix(in oklch, var(--ember) 18%, transparent);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:18px;display:flex}.fcard .ic svg{width:19px;height:19px;stroke:var(--ember);fill:none;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.fcard .k{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin-bottom:9px;font-size:10px}.fcard h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 9px;font-size:21px;font-weight:400;line-height:1.15}.fcard p{color:var(--ink-muted);margin:0;font-size:13.5px;line-height:1.55}.cookie-bar{z-index:1400;background:var(--ink);width:min(880px,100vw - 32px);color:var(--paper);border-radius:6px;align-items:center;gap:24px;padding:16px 18px 16px 22px;transition:transform .4s cubic-bezier(.2,1,.3,1);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(140%);box-shadow:0 18px 50px #1f1b1666}.cookie-bar.show{transform:translate(-50%)translateY(0)}.cookie-bar .ck-mark{font-family:var(--serif);flex:none;font-size:22px;line-height:1}.cookie-bar .ck-txt{color:#f6f1e7d1;flex:auto;font-size:13px;line-height:1.5}.cookie-bar .ck-txt a{color:var(--paper);text-underline-offset:2px;text-decoration:underline}.cookie-bar .ck-actions{flex:none;gap:10px;display:flex}.cookie-bar .ck-btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:4px;padding:9px 16px;font-size:13px;font-weight:500}.cookie-bar .ck-btn.decline{color:#f6f1e7cc;background:0 0;border-color:#f6f1e740}.cookie-bar .ck-btn.decline:hover{color:var(--paper);border-color:#f6f1e780}.cookie-bar .ck-btn.accept{background:var(--ember);color:#fff}.cookie-bar .ck-btn.accept:hover{filter:brightness(.95)}.promo-cta-band{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.section-eyebrow-row{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.feat-section{grid-template-columns:1fr 1.35fr;align-items:start;gap:60px;display:grid}.feat-section.reverse{grid-template-columns:1.35fr 1fr}.feat-section.reverse .feat-text{order:2}.feat-section .feat-text{position:sticky;top:110px}.feat-list{margin:24px 0 0;padding:0;list-style:none}.feat-list li{border-top:1px solid var(--rule-soft);color:var(--ink-2);gap:11px;padding:11px 0;font-size:14px;line-height:1.55;display:flex}.feat-list li:before{content:"";background:var(--ember);border-radius:50%;flex:0 0 6px;width:6px;height:6px;margin-top:7px}.tag-inline{font-family:var(--mono);background:var(--moss-soft);color:var(--moss);border-radius:3px;padding:1px 6px;font-size:.92em}.subnav{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#f6f1e7eb;position:sticky;top:64px}.subnav .inner{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:30px;padding:14px 32px;font-size:11px;display:flex}.subnav a{color:var(--ink-muted);text-decoration:none}.subnav a:hover,.subnav a.active{color:var(--ember)}@media (width<=920px){.hero-split,.scratch-teaser,.fcards,.feat-section,.feat-section.reverse{grid-template-columns:1fr}.feat-section .feat-text{position:static}}.nselect{font-family:var(--sans);position:relative}.wl-field .nselect,.wl-card .nselect,.wl-page-form .nselect{width:100%}:root[data-waitlist=inline] .wl-row .nselect{flex:0 0 210px}.nselect-trigger{background:var(--paper);border:1px solid var(--rule);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:11px;width:100%;padding:11px 13px;transition:border-color .12s,box-shadow .12s;display:flex}.nselect-trigger:hover{border-color:var(--ink-soft)}.nselect-trigger.is-open{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}.nselect-icon{width:28px;height:28px;font-family:var(--serif);background:var(--paper-3);color:var(--ink-muted);border-radius:4px;flex:0 0 28px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.nselect-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.nselect-name{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:16px;font-weight:500;line-height:1.2}.nselect-trigger.is-placeholder .nselect-name{color:var(--ink-soft);font-weight:400}.nselect-desc{color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.3;overflow:hidden}.nselect-caret{width:14px;height:14px;color:var(--ink-soft);flex:0 0 14px;transition:transform .18s}.nselect-trigger.is-open .nselect-caret{color:var(--ember);transform:rotate(180deg)}.nselect-menu{z-index:60;background:var(--paper);border:1px solid var(--rule);border-radius:6px;flex-direction:column;padding:6px;animation:.16s ease-out nselIn;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 16px 40px #1f1b1629,0 2px 6px #1f1b160f}.nselect-scroll{flex:auto;max-height:214px;overflow-y:auto}@keyframes nselIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nselect-item{cursor:pointer;text-align:left;background:0 0;border-radius:4px;align-items:center;gap:11px;width:100%;padding:8px 10px;transition:background 80ms;display:flex}.nselect-item:hover,.nselect-item.is-focus{background:var(--paper-2)}.nselect-item.is-selected{background:var(--ember-soft)}.nselect-item.is-selected .nselect-name{color:var(--ember)}.nselect-item .check{width:14px;height:14px;color:var(--ember);flex:0 0 14px;justify-content:center;align-items:center;display:flex}.nselect-item:not(.is-selected) .check{visibility:hidden}.nselect-foot{border-top:1px solid var(--rule-soft);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);flex:none;justify-content:space-between;align-items:center;margin-top:2px;padding:8px 10px 4px;font-size:9px;display:flex}.nselect-foot kbd{font-family:var(--mono);border:1px solid var(--rule);background:var(--paper);color:var(--ink-muted);border-radius:2px;padding:2px 5px;font-size:9px}.foot-wl{max-width:320px;margin-top:10px}.foot-wl-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-top:20px;font-size:10px;font-weight:500}.foot-wl-row{border:1px solid var(--rule);background:var(--paper);border-radius:4px;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.foot-wl-row:focus-within{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}.foot-wl-row input{min-width:0;font-family:var(--sans);color:var(--ink);background:0 0;border:0;flex:1;padding:11px 13px;font-size:14px}.foot-wl-row input::placeholder{color:var(--ink-soft)}.foot-wl-row button{background:var(--ember);color:#fff;cursor:pointer;font-family:var(--sans);border:0;flex:none;align-items:center;padding:0 16px;font-size:16px;transition:filter .12s;display:flex}.foot-wl-row button:hover{filter:brightness(.95)}.foot-wl-note{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:9px;font-size:9.5px}.foot-wl.is-done .foot-wl-row,.foot-wl.is-done .foot-wl-note{display:none}.foot-wl-done{font-family:var(--serif);color:var(--moss);align-items:center;gap:9px;font-size:14px;font-style:italic;display:none}.foot-wl.is-done .foot-wl-done{display:flex}.foot-wl-done .mk{background:var(--moss);color:#fff;border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-style:normal;display:flex}.wl-check{cursor:pointer;align-items:flex-start;gap:11px;margin:4px 0 2px;display:flex}.wl-check input{appearance:none;cursor:pointer;border:1px solid var(--rule);background:var(--paper-2);border-radius:4px;flex:none;width:18px;height:18px;margin:1px 0 0;transition:background .12s,border-color .12s,box-shadow .12s;position:relative}.wl-check input:hover{border-color:var(--ink-soft)}.wl-check input:focus-visible{box-shadow:0 0 0 3px var(--ember-soft);outline:none}.wl-check input:checked{background:var(--ember);border-color:var(--ember)}.wl-check input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:9px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.wl-check .lab{color:var(--ink-2);font-size:13px;line-height:1.45}.wl-check .lab b{color:var(--ink);font-weight:600}.wl-check .lab span{color:var(--ink-muted);margin-top:2px;font-size:11.5px;display:block}.wl-card .wl-check .lab{font-size:11.5px}.wl-card .wl-check .lab span{font-size:10.5px}.ctype-grid{background:var(--rule);border:1px solid var(--rule);border-radius:6px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;display:grid;overflow:hidden}.ctype{background:var(--paper);align-items:flex-start;gap:14px;padding:22px;transition:background .12s;display:flex}.ctype:hover{background:var(--paper-2)}.ctype .ic{border-radius:6px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ctype .ic svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ctype .nm{font-family:var(--serif);letter-spacing:-.005em;font-size:18px;font-weight:500;line-height:1.1}.ctype .ds{color:var(--ink-muted);margin-top:5px;font-size:12.5px;line-height:1.45}@media (width<=920px){.ctype-grid{grid-template-columns:1fr}}.recent-list{border-top:1px solid var(--rule);margin-top:34px}.recent-row{border-bottom:1px solid var(--rule);color:inherit;grid-template-columns:56px 1fr 150px 84px;align-items:baseline;gap:22px;padding:18px 8px;text-decoration:none;transition:background .1s;display:grid}.recent-row:hover{background:var(--paper-2)}.recent-row .rn{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);font-size:11px}.recent-row .rmain .rt{font-family:var(--serif);letter-spacing:-.01em;font-size:18px;line-height:1.25}.recent-row .rmain .rt em{font-style:italic}.recent-row .rmain .rp{font-family:var(--serif);color:var(--ink-muted);margin-top:4px;font-size:13px;font-style:italic;line-height:1.4}.recent-row .rby{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:10px}.recent-row .rby .who{color:var(--ink)}.recent-row .rmeta{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-align:right;font-size:10px}@media (width<=920px){.recent-row{grid-template-columns:40px 1fr}.recent-row .rby,.recent-row .rmeta{display:none}}.chrome.has-pop{overflow:visible}.chrome.has-pop .bar{border-radius:6px 6px 0 0}.demo-mention{position:relative}.demo-mention .mention-pop{white-space:normal;cursor:default;text-align:left;display:none;top:calc(100% + 9px);left:0}.demo-mention{cursor:pointer}.demo-mention:hover{background:oklch(55% .08 140/.24)}.demo-mention.is-open{background:oklch(55% .08 140/.3)}.demo-mention.is-open .mention-pop,.mention-pop .pop-body,.mention-pop .pop-foot{display:block}.mention-pop .pop-foot{display:flex}.mention-pop .cdot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:7px;display:inline-block}.mention-pop .pop-foot span{white-space:nowrap}.mk-footer .bottom .ver{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);text-transform:none;margin-left:8px;font-size:10px}.roadmap{grid-template-columns:repeat(6,1fr);margin-top:52px;display:grid;position:relative}.roadmap:before{content:"";background:var(--rule);height:2px;position:absolute;top:34px;left:7px;right:calc(16.6667% - 7px)}.rm-items{flex-direction:column;gap:20px;display:flex}.rm-stop{padding-right:30px;position:relative}.rm-when{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);height:14px;margin-bottom:14px;font-size:11px}.rm-dot{background:var(--ember);z-index:1;width:14px;height:14px;box-shadow:0 0 0 4px var(--paper);border-radius:50%;margin-bottom:22px;position:relative}.rm-stop[data-accent=dusk] .rm-dot{background:var(--dusk)}.rm-stop[data-accent=moss] .rm-dot{background:var(--moss)}.rm-stop[data-accent=tbd] .rm-dot{background:var(--paper);box-shadow:0 0 0 4px var(--paper), inset 0 0 0 2px var(--ink-soft)}.rm-stop[data-accent=tbd] .rm-when{color:var(--ink-soft)}.rm-title{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:7px;font-size:19px;font-weight:400;line-height:1.15}.rm-note{color:var(--ink-muted);max-width:24ch;font-size:13px;line-height:1.5}.rm-foot{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);margin-top:20px;font-size:10.5px}@media (width<=920px){.roadmap{grid-template-columns:1fr}.roadmap:before{width:2px;height:auto;inset:4px auto 4px 6px}.rm-stop{padding:0 0 28px 30px}.rm-when{height:auto;margin-bottom:8px}.rm-dot{margin:0;position:absolute;top:2px;left:0}}.page{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--sans)}.container{max-width:1200px;margin:0 auto;padding:0 32px}.container.narrow{max-width:720px}.container.mid{max-width:900px}.mk-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);background:#f6f1e7eb;position:sticky;top:0;overflow:visible}.mk-header .inner{align-items:stretch;gap:0;height:64px;padding:0;display:flex;overflow:visible}.mk-header .logo{font-family:var(--serif);letter-spacing:-.018em;color:var(--midnight);isolation:isolate;align-self:flex-start;align-items:center;height:calc(100% + 12px);margin-right:32px;padding:0 22px;font-size:20px;line-height:1;text-decoration:none;display:inline-flex;position:relative}.mk-header .logo:before{content:"";z-index:-1;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 100'><path d='M 0.5 0 L 99.5 0 L 99.5 88 L 50 99.5 L 0.5 88 Z' fill='%23efe7d6' stroke='%23d9cfbd' stroke-width='1' vector-effect='non-scaling-stroke'/></svg>") 50%/100% 100% no-repeat;position:absolute;inset:0}.mk-header .logo b{font-weight:600}.mk-header .logo i{font-style:normal;font-weight:300}.mk-header nav{align-items:center;gap:28px;font-size:14px;display:flex}.mk-header nav a{color:var(--ink-muted);text-decoration:none}.mk-header nav a:hover,.mk-header nav a.is-active{color:var(--ink)}.mk-header .spacer{flex:1}.mk-header .inner>.btn,.mk-header .inner>div{align-self:center}.mk-header .user-chip{cursor:pointer;border-radius:20px;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.mk-header .user-chip:hover{background:var(--paper-2)}.mk-header .user-chip .av{background:var(--ember);color:#fff;width:28px;height:28px;font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:flex}.btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .12s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:#000}.btn-ember{background:var(--ember);color:#fff}.btn-ember:hover{filter:brightness(.95)}.btn-ghost{color:var(--ink);border-color:var(--rule);background:0 0}.btn-ghost:hover{background:var(--paper-2);border-color:var(--ink-soft)}.btn-link{color:var(--ink-muted);background:0 0}.btn-link:hover{color:var(--ink)}.btn-lg{padding:13px 22px;font-size:15px}.btn-sm{padding:5px 11px;font-size:12px}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);font-size:11px}.display-1{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-size:96px;font-weight:400;line-height:.98}.display-2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:64px;font-weight:400;line-height:1.02}.display-3{font-family:var(--serif);letter-spacing:-.018em;margin:0;font-size:48px;font-weight:400;line-height:1.05}.h1{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:40px;font-weight:400;line-height:1.1}.h2{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:28px;font-weight:400;line-height:1.15}.h3{font-family:var(--serif);margin:0;font-size:20px;font-weight:500;line-height:1.2}.lede{font-family:var(--serif);color:var(--ink-2);margin:0;font-size:22px;font-weight:300;line-height:1.45}.body{color:var(--ink-2);font-size:16px;line-height:1.6}.section{border-bottom:1px solid var(--rule);padding:96px 0}.section.tight{padding:64px 0}.section.alt{background:var(--paper-2)}.hero{padding:88px 0 64px;position:relative;overflow:hidden}.hero .inner{z-index:2;position:relative}.hero h1{max-width:12ch}.hero .lede{max-width:52ch;margin-top:28px}.hero .cta{align-items:center;gap:14px;margin-top:40px;display:flex}.hero .marks{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:48px;margin-top:80px;font-size:11px;display:flex}.hero .paper-bg{z-index:1;opacity:.35;background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 70%,#0000,#000 60%);mask-image:radial-gradient(at 70%,#0000,#000 60%)}.feat-grid{border:1px solid var(--rule);background:var(--paper);border-radius:4px;grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.feat{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:32px}.feat:nth-child(3n){border-right:0}.feat:nth-last-child(-n+3){border-bottom:0}.feat .num{font-family:var(--mono);color:var(--ember);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;font-size:11px}.feat .ttl{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:12px;font-size:22px;line-height:1.15}.feat .txt{color:var(--ink-muted);font-size:14px;line-height:1.55}.chrome{border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-3);border-radius:6px;overflow:hidden}.chrome .bar{background:var(--paper-2);border-bottom:1px solid var(--rule);height:32px;font-family:var(--mono);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;padding:0 12px;font-size:10px;display:flex}.chrome .bar .dot{background:var(--rule);border-radius:50%;width:10px;height:10px}.chrome .bar .dot:first-child{background:#e06c5d}.chrome .bar .dot:nth-child(2){background:#d9a441}.chrome .bar .dot:nth-child(3){background:#7fa663}.chrome .bar .url{opacity:.7;margin:0 auto}.form-stack{flex-direction:column;gap:20px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:11px}.field .hint{color:var(--ink-soft);font-size:12px}.input,.textarea,.select{background:var(--paper);border:1px solid var(--rule);font-family:var(--sans);color:var(--ink);border-radius:3px;padding:11px 14px;font-size:15px;transition:border .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--ember);outline:none}.textarea{resize:vertical;min-height:120px;font-family:var(--serif);line-height:1.5}.field .grow{border:1px solid var(--rule);background:var(--paper);font-family:var(--serif);border-radius:3px;padding:11px 14px;font-size:18px}.field-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.check-row{align-items:center;gap:10px;display:flex}.check-row input[type=checkbox]{accent-color:var(--ember);width:16px;height:16px}.error{color:var(--wine);font-size:12px}.field-icon{position:relative}.field-icon .input{padding-left:40px}.field-icon svg{color:var(--ink-soft);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.divider{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:14px;margin:24px 0;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:var(--rule);flex:1;height:1px}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-page .pitch{background:var(--paper-2);border-right:1px solid var(--rule);flex-direction:column;justify-content:space-between;padding:64px;display:flex;position:relative;overflow:hidden}.auth-page .pitch .quote{font-family:var(--serif);max-width:28ch;font-size:28px;font-style:italic;line-height:1.3}.auth-page .pitch .attr{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-top:20px;font-size:11px}.auth-page .form-wrap{flex-direction:column;justify-content:center;width:100%;max-width:480px;margin:0 auto;padding:64px;display:flex}.auth-page .logo-top{font-family:var(--serif);letter-spacing:-.018em;color:var(--midnight);align-items:baseline;margin-bottom:48px;font-size:20px;line-height:1;display:inline-flex}.auth-page .logo-top b{font-weight:600}.auth-page .logo-top i{font-style:normal;font-weight:300}.price-grid{border:1px solid var(--rule);background:var(--paper);border-radius:4px;grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.price-card{border-right:1px solid var(--rule);padding:40px 32px;position:relative}.price-card:last-child{border-right:0}.price-card.featured{background:var(--paper-2)}.price-card .tier{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:16px;font-size:11px}.price-card.featured .tier{color:var(--ember)}.price-card .amount{font-family:var(--serif);font-size:52px;font-weight:400;line-height:1}.price-card .amount .per{color:var(--ink-muted);font-size:15px;font-family:var(--sans)}.price-card .desc{font-family:var(--serif);color:var(--ink-muted);margin:12px 0 24px;font-size:15px;font-style:italic}.price-card ul{margin:24px 0 32px;padding:0;font-size:14px;list-style:none}.price-card ul li{border-top:1px solid var(--rule-soft);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.price-card ul li:first-child{border-top:0;padding-top:0}.price-card ul li .ck{color:var(--moss);flex:0 0 14px;margin-top:2px}.mk-footer{color:var(--ink-muted);border-top:1px solid var(--rule);background:var(--paper-2);padding:64px 0 48px;font-size:13px}.mk-footer .cols{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;display:grid}.mk-footer h5{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;font-size:10px;font-weight:500}.mk-footer a{color:var(--ink-muted);padding:5px 0;text-decoration:none;display:block}.mk-footer a:hover{color:var(--ink)}.mk-footer .bottom{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:20px;margin-top:48px;padding-top:24px;font-size:10px;display:flex}.books-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.book-card{background:var(--paper);border:1px solid var(--rule);cursor:pointer;color:inherit;border-radius:4px;flex-direction:column;padding:0;text-decoration:none;transition:all .15s;display:flex;overflow:hidden}.book-card:hover{border-color:var(--ink-soft);box-shadow:var(--shadow-2);transform:translateY(-2px)}.book-card .cover{aspect-ratio:5/7;background:var(--paper-3);flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:relative}.book-card .cover .title{font-family:var(--serif);letter-spacing:-.01em;max-width:12ch;color:var(--ink);font-size:26px;font-weight:400;line-height:1.1}.book-card .cover .author{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:10px}.book-card .cover .edge{background:linear-gradient(90deg,#1f1b160f,#0000);width:6px;position:absolute;top:0;bottom:0;right:0}.book-card .meta{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);justify-content:space-between;padding:14px 16px;font-size:10px;display:flex}.book-card .progress-mini{background:var(--rule);height:3px;position:relative}.book-card .progress-mini>div{background:var(--ember);height:100%}.settings-layout{grid-template-columns:240px 1fr;gap:48px;padding:48px 0;display:grid}.settings-nav{font-size:14px}.settings-nav a{color:var(--ink-muted);cursor:pointer;border-radius:3px;margin:0 -12px;padding:8px 12px;text-decoration:none;display:block}.settings-nav a:hover{color:var(--ink);background:var(--paper-2)}.settings-nav a.is-active{color:var(--ink);background:var(--paper-3);font-weight:500}.settings-nav h6{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:24px 0 8px;font-size:10px;font-weight:500}.settings-nav h6:first-child{margin-top:0}.setting-group{border-bottom:1px solid var(--rule);margin-bottom:40px;padding-bottom:40px}.setting-group h2{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 8px;font-size:28px;font-weight:400}.setting-group .desc{color:var(--ink-muted);margin-bottom:24px;font-size:14px;line-height:1.5}.reader{background:var(--paper);min-height:100vh}.reader-top{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);background:#f6f1e7f2;align-items:center;gap:20px;padding:12px 24px;font-size:11px;display:flex;position:sticky;top:0}.reader-top .spacer{flex:1}.reader-top .progress{align-items:center;gap:8px;display:flex}.reader-top .progress-bar{background:var(--rule);border-radius:2px;width:160px;height:3px}.reader-top .progress-bar>div{background:var(--ember);height:100%}.reader-content{max-width:680px;margin:0 auto;padding:80px 32px 120px}.reader-content h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 8px;font-size:52px;font-weight:400;line-height:1.02}.reader-content .chapn{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-bottom:20px;font-size:11px}.reader-content .reader-sub{font-family:var(--serif);color:var(--ink-muted);margin:16px 0 48px;font-size:19px;font-style:italic;line-height:1.4}.reader-content p{font-family:var(--serif);color:var(--ink);text-wrap:pretty;margin:0 0 1.1em;font-size:19px;line-height:1.75}.reader-content p:first-of-type:first-letter{font-family:var(--serif);float:left;color:var(--ember);margin:6px 10px 0 -4px;font-size:68px;font-weight:400;line-height:.85}.reader-ctrl{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-2);border-radius:24px;flex-direction:column;gap:8px;padding:10px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.reader-ctrl button{width:32px;height:32px;color:var(--ink-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.reader-ctrl button:hover{background:var(--paper-2);color:var(--ink)}.reader-ctrl button.is-active{background:var(--ember);color:#fff}.reader-footer{border-top:1px solid var(--rule);justify-content:space-between;max-width:680px;margin:48px auto 0;padding:48px 32px 80px;display:flex}.reader-footer a{color:var(--ink-muted);font-family:var(--serif);font-size:17px;text-decoration:none}.reader-footer a:hover{color:var(--ember)}.reader-footer .n{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:10px}.sg-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.swatch-card{background:var(--paper);border:1px solid var(--rule);border-radius:3px;overflow:hidden}.swatch-card .sw{height:80px}.swatch-card .meta{padding:10px 12px}.swatch-card .meta .n{font-family:var(--mono);letter-spacing:.06em;font-size:11px}.swatch-card .meta .v{font-family:var(--mono);color:var(--ink-muted);margin-top:2px;font-size:10px}.type-row{border-top:1px solid var(--rule-soft);grid-template-columns:120px 1fr 140px;align-items:baseline;gap:24px;padding:20px 0;display:grid}.type-row:first-child{border-top:0}.type-row .label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:11px}.type-row .spec{font-family:var(--mono);color:var(--ink-soft);text-align:right;font-size:11px}.comp-showcase{border:1px solid var(--rule);background:var(--paper);border-radius:3px;padding:24px}.comp-showcase .comp-head{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:16px;font-size:10px}.hub-page{min-height:100vh;padding:80px 0}.hub-header{text-align:left;max-width:720px;margin-bottom:56px}.hub-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.hub-card{border:1px solid var(--rule);background:var(--paper);cursor:pointer;color:inherit;border-radius:4px;padding:24px;text-decoration:none;transition:all .15s;display:block;position:relative}.hub-card:hover{border-color:var(--ink-soft);box-shadow:var(--shadow-2);transform:translateY(-2px)}.hub-card .kind{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-bottom:10px;font-size:10px}.hub-card .ttl{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 8px;font-size:22px;line-height:1.15}.hub-card .dsc{color:var(--ink-muted);font-size:13px;line-height:1.5}.hub-card .arrow{color:var(--ink-soft);transition:transform .15s;position:absolute;top:24px;right:20px}.hub-card:hover .arrow{color:var(--ember);transform:translate(2px,-2px)}.toast{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-3);border-radius:3px;padding:12px 20px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-muted{color:var(--ink-muted)}.text-center{text-align:center}.ns-notif-wrap{align-items:center;display:inline-flex;position:relative}.ns-notif-btn{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex;position:relative}.ns-notif-btn:hover{color:var(--ink);background:var(--paper-2)}.ns-notif-dot{background:var(--ember);color:#fff;min-width:16px;height:16px;font-family:var(--mono);letter-spacing:.04em;box-shadow:0 0 0 2px var(--paper);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:600;display:inline-flex;position:absolute;top:5px;right:4px}.ns-notif-pop{background:var(--paper);border:1px solid var(--rule);z-index:1000;border-radius:5px;flex-direction:column;width:380px;max-height:540px;animation:.16s ease-out nsNotifIn;display:flex;overflow:hidden;box-shadow:0 24px 60px #1f1b162e,0 2px 8px #1f1b160f}@keyframes nsNotifIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ns-notif-head{border-bottom:1px solid var(--rule);background:var(--paper-2);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ns-notif-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:16px;font-weight:500}.ns-notif-sub{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:2px;font-size:10px}.ns-notif-readall{border:1px solid var(--rule);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);background:0 0;border-radius:3px;padding:4px 9px;font-size:9px}.ns-notif-readall:not(:disabled):hover{color:var(--ink);border-color:var(--ink-muted)}.ns-notif-readall:disabled{opacity:.4;cursor:default}.ns-notif-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.ns-notif-item{border-bottom:1px solid var(--rule-soft)}.ns-notif-item:last-child{border-bottom:none}.ns-notif-item>a{color:var(--ink);grid-template-columns:32px 1fr 10px;align-items:flex-start;gap:12px;padding:12px 16px;text-decoration:none;transition:background 80ms;display:grid}.ns-notif-item>a:hover{background:var(--paper-2)}.ns-notif-item.is-unread>a{background:var(--ember-soft)}.ns-notif-item.is-unread>a:hover{background:oklch(94% .04 60)}.ns-notif-avatar{width:30px;height:30px;font-family:var(--serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:inline-flex}.ns-notif-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ns-notif-line{font-family:var(--sans);color:var(--ink);font-size:13px;line-height:1.4}.ns-notif-line strong{font-weight:500}.ns-notif-excerpt{font-family:var(--serif);color:var(--ink-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13px;font-style:italic;line-height:1.45;display:-webkit-box;overflow:hidden}.ns-notif-meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:8px;margin-top:6px;font-size:9px;display:flex}.ns-notif-kind{letter-spacing:.1em;font-weight:500}.ns-notif-pip{background:var(--ember);border-radius:50%;align-self:flex-start;width:7px;height:7px;margin-top:6px}.ns-notif-foot{border-top:1px solid var(--rule);background:var(--paper-2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ns-notif-foot a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ember);font-size:10px;text-decoration:none}.ns-notif-foot a:hover{text-decoration:underline}.ns-notif-foot .ns-notif-settings{color:var(--ink-muted)}.ns-notif-foot .ns-notif-settings:hover{color:var(--ink)}.ns-confirm-back{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f1b166b;justify-content:center;align-items:center;animation:.14s ease-out nsConfirmIn;display:flex;position:fixed;inset:0}@keyframes nsConfirmIn{0%{opacity:0}to{opacity:1}}.ns-confirm{background:var(--paper);border-radius:5px;width:min(460px,92vw);animation:.2s cubic-bezier(.2,1.4,.4,1) nsConfirmRise;overflow:hidden;box-shadow:0 30px 70px #1f1b164d}@keyframes nsConfirmRise{0%{transform:translateY(8px)}to{transform:translateY(0)}}.ns-confirm.is-danger{border-top:4px solid var(--wine)}.ns-confirm-head{padding:22px 24px 8px}.ns-confirm-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.ns-confirm.is-danger .ns-confirm-eyebrow{color:var(--wine)}.ns-confirm-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:8px 0 0;font-size:22px;font-weight:400}.ns-confirm-body{color:var(--ink-2);padding:0 24px 18px;font-size:14px;line-height:1.55}.ns-confirm-body p{margin:12px 0 0}.ns-confirm-body em{font-family:var(--serif);color:var(--ink);font-style:italic}.ns-confirm-confirm{margin-top:14px}.ns-confirm-confirm label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px;font-size:10px;display:block}.ns-confirm-confirm input{background:var(--paper);border:1px solid var(--rule);width:100%;font-family:var(--mono);color:var(--ink);border-radius:4px;padding:10px 12px;font-size:13px}.ns-confirm-confirm input:focus{border-color:var(--wine);outline:none;box-shadow:0 0 0 3px #70344c1f}.ns-confirm-foot{background:var(--paper-2);border-top:1px solid var(--rule-soft);justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.ns-confirm-foot .ns-c-cancel{border:1px solid var(--rule);font-family:var(--sans);cursor:pointer;color:var(--ink);background:0 0;border-radius:3px;padding:8px 14px;font-size:13px}.ns-confirm-foot .ns-c-cancel:hover{background:var(--paper-3)}.ns-confirm-foot .ns-c-ok{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--sans);cursor:pointer;border-radius:3px;padding:8px 14px;font-size:13px;font-weight:500}.ns-confirm.is-danger .ns-confirm-foot .ns-c-ok{background:var(--wine);border-color:var(--wine)}.ns-confirm-foot .ns-c-ok:disabled{opacity:.4;cursor:not-allowed}.ns-toast{background:var(--ink);color:var(--paper);font-family:var(--sans);z-index:1300;border-radius:4px;align-items:center;gap:10px;padding:12px 20px 12px 16px;font-size:13px;animation:.2s ease-out nsToastIn;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #1f1b1640}.ns-toast.is-danger{background:var(--wine)}.ns-toast .ns-toast-mark{font-family:var(--serif);font-size:16px;line-height:1}@keyframes nsToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:300 500;font-display:swap;src:url(/fonts/newsreader-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/ibm-plex-sans.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
