:root{--green-50:#eff4e4;--green-600:#557c33;--green-700:#3e5c26;--bark-50:#f9f8f3;--bark-100:#efe9df;--bark-200:#ddd1be;--bark-300:#c6b399;--bark-500:#856a49;--bark-700:#513e2a;--bark-900:#2a2016;--clay-500:#b5744a;--red-600:#b4472e;--bg:var(--bark-50);--surface:#fff;--surface-2:var(--bark-50);--text:var(--bark-900);--muted:var(--bark-500);--border:var(--bark-200);--border-strong:var(--bark-300);--accent:#2d5a4c;--accent-hover:#244a3f;--focus:#5e8f7a;--imp-1:#2d5a4c;--imp-2:#7e8a4a;--imp-3:#c29a45;--parchment:#fbf7ec;--branch:#8a6a45;--pure-ink:#6b4e30;--stitch:color-mix(in srgb, var(--muted) 60%, transparent);--bg-photo:url(/bg/lb-light-1.svg);--bg-photo-opacity:1;--bg-photo-filter:none;--radius-sm:5px;--radius:7px;--radius-lg:11px;--pill:999px;--shadow-1:0 1px 3px #2a201617, 0 1px 2px #2a20160d;--shadow-2:0 8px 26px #2a201624;--font:-apple-system, "Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "EB Garamond", Georgia, "Times New Roman", serif}:root[data-theme=dark]{--bg:#0a0908;--surface:#171512;--surface-2:#1e1b18;--text:#ede9e1;--muted:#948c80;--border:#2a2723;--border-strong:#383430;--accent:#5f9585;--accent-hover:#79ac9b;--focus:#5f9585;--imp-1:#5f9585;--imp-2:#9aa766;--imp-3:#d3b45f;--parchment:#1c1916;--branch:#5a4e42;--pure-ink:#c9b48d;--stitch:#c9a24b57;--bg-photo:url(/bg/lb-dark-1.svg);--bg-photo-opacity:1;--bg-photo-filter:none;--shadow-1:0 1px 3px #0009;--shadow-2:0 10px 30px #000000b3}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.55;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background-image:var(--bg-photo);opacity:var(--bg-photo-opacity);filter:var(--bg-photo-filter);background-position:50%;background-size:cover;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(150% 100% at 50% -15%,#0000 48%,#2a201629);position:fixed;inset:0}:root[data-theme=dark] body:after{background:radial-gradient(80% 50% at 50% -5%,#dcaa6e0d,#0000 55%),radial-gradient(150% 130% at 50% 40%,#0000 20%,#000000c7)}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::placeholder{color:var(--muted);opacity:.85}.serif{font-family:var(--font-serif)}.muted{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--wrap:820px}.app{flex-direction:column;height:100dvh;display:flex}.app-header{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.wordmark{letter-spacing:.01em;color:var(--text);font-size:22px;font-weight:500}.header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.trunk-pill{color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--pill);white-space:nowrap;cursor:pointer;align-items:center;gap:2px;padding:4px 12px;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex}.trunk-pill:hover{border-color:var(--border-strong);background:var(--surface)}.trunk-pill-tree{color:var(--accent);margin-right:2px;display:inline-flex}.trunk-pill{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.trunk-pill-wrap{display:inline-flex;position:relative}.trunk-quick-backdrop{z-index:55;position:fixed;inset:0}.trunk-quick{z-index:56;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:200px;max-width:280px;box-shadow:var(--shadow-2);flex-direction:column;padding:6px;animation:.16s trunk-quick-in;display:flex;position:absolute;top:calc(100% + 6px);right:0}@keyframes trunk-quick-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.trunk-quick-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:4px 10px 6px;font-size:10.5px;font-weight:600}.trunk-quick-item{text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:14px;transition:background .12s;display:flex}.trunk-quick-item:hover{background:var(--surface-2)}.trunk-quick-item.active{color:var(--accent)}.trunk-quick-tree{color:var(--accent);flex:none;display:inline-flex}.trunk-quick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.trunk-quick-check{color:var(--accent);flex:none;font-weight:600}.trunk-quick-manage{border:none;border-top:1px solid var(--border);color:var(--muted);cursor:pointer;text-align:left;background:0 0;margin-top:4px;padding:9px 10px 5px;font-size:13px;transition:color .12s}.trunk-quick-manage:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){.trunk-quick{animation:none}}.icon-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--muted);flex:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}a.icon-btn{text-decoration:none}.icon-btn.signout:hover{color:var(--clay-500);border-color:color-mix(in srgb, var(--clay-500) 45%, var(--border))}.btn{border-radius:var(--radius);border:1px solid #0000;padding:9px 16px;font-size:14px;font-weight:500}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{color:var(--accent);border-color:var(--border-strong);background:0 0}.btn.ghost:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:var(--accent)}.btn.ghost:disabled{opacity:.45;cursor:not-allowed}.branch-bar{background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.branch-tabs{max-width:var(--wrap);scrollbar-width:none;align-items:center;gap:6px;margin:0 auto;padding:8px 20px;display:flex;overflow-x:auto}.branch-tabs::-webkit-scrollbar{display:none}.branch-tab{border:1px solid var(--border);border-radius:var(--pill);color:var(--muted);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex}.branch-tab.active{background:var(--surface);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border));font-weight:500}.branch-count{background:var(--surface-2);border-radius:var(--pill);color:var(--muted);padding:0 6px;font-size:11px}.branch-tab.active .branch-count{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.branch-add{border-radius:var(--pill);border:1px dashed var(--border-strong);width:28px;height:28px;color:var(--muted);background:0 0;flex:none;font-size:16px;line-height:1}.branch-add:hover{color:var(--accent);border-color:var(--accent)}.capture{background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.write-dim{z-index:40;opacity:0;pointer-events:none;background:#140e0657;transition:opacity .4s;position:fixed;inset:0}.app.writing .write-dim{opacity:1;pointer-events:auto}.app.writing .capture{-webkit-backdrop-filter:none}.app.writing .compose-field,.app.writing .compose .btn{z-index:50;position:relative}@media (prefers-reduced-motion:reduce){.write-dim{transition:none}}.compose{max-width:var(--wrap);align-items:flex-end;gap:10px;margin:0 auto;padding:12px 20px 4px;display:flex}.compose-field{flex:1;min-width:0;display:flex;position:relative}.compose-input{resize:none;background:var(--parchment);min-height:46px;max-height:200px;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);flex:1;padding:12px 44px 12px 14px;font-family:inherit;font-size:15px;line-height:1.5}.compose-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.compose-input{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent}.compose-input::-webkit-scrollbar{width:6px}.compose-input::-webkit-scrollbar-track{background:0 0}.compose-input::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.compose-input:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.compose-input:focus::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.compose-input::-webkit-scrollbar-button{display:none}.wv-result,.rt-preview,.rt-textarea,.ws-body{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent}.wv-result::-webkit-scrollbar{width:6px}.rt-preview::-webkit-scrollbar{width:6px}.rt-textarea::-webkit-scrollbar{width:6px}.ws-body::-webkit-scrollbar{width:6px}.wv-result::-webkit-scrollbar-track{background:0 0}.rt-preview::-webkit-scrollbar-track{background:0 0}.rt-textarea::-webkit-scrollbar-track{background:0 0}.ws-body::-webkit-scrollbar-track{background:0 0}.wv-result::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.rt-preview::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.rt-textarea::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.ws-body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.wv-result:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.rt-preview:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.rt-textarea:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.ws-body:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.wv-result::-webkit-scrollbar-button{display:none}.rt-preview::-webkit-scrollbar-button{display:none}.rt-textarea::-webkit-scrollbar-button{display:none}.ws-body::-webkit-scrollbar-button{display:none}.compose .btn{flex:none;justify-content:center;align-items:center;height:46px;display:inline-flex}.compose-pin{border-radius:var(--radius);width:32px;height:32px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:7px;right:7px}.compose-pin:hover{color:var(--accent)}.compose-pin.on{color:#fff;background:var(--accent)}.compose-pin.locating{animation:1s ease-in-out infinite leaf-add-pulse}.compose-pin.err{color:var(--red-600)}.cm-head .compose-pin{margin-left:auto;position:static}.pure-page .compose-pin{top:9px;right:9px}.compose-sub{max-width:var(--wrap);flex-wrap:wrap;align-items:center;gap:12px;margin:0 auto;padding:1px 20px 4px;display:flex}.compose-photos-link{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:3px 0;font-size:12.5px;line-height:1;transition:color .15s;display:inline-flex}.compose-photos-link:hover{color:var(--text)}.compose-photos-link svg{flex:none}.compose-photos-link:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.compose-photos-link:disabled:hover{color:var(--muted)}.compose-hint-inline{color:var(--muted);font-size:12px}.compose-hint-inline.err{color:var(--red-600)}.compose-invite{border-radius:var(--radius);pointer-events:none;animation:1.15s ease-out both compose-bloom;position:absolute;inset:0;overflow:hidden}.compose-invite:before{content:"";background:linear-gradient(105deg,#0000 22%,#ffffff73 50%,#0000 78%);width:62%;animation:1.15s ease-out both compose-sweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-165%)}@keyframes compose-bloom{0%{box-shadow:0 0 #0000}25%{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent), 0 0 22px 3px color-mix(in srgb, var(--accent) 30%, transparent)}to{box-shadow:0 0 #0000}}@keyframes compose-sweep{0%{transform:translate(-165%)}60%{transform:translate(230%)}to{transform:translate(230%)}}@media (prefers-reduced-motion:reduce){.compose-invite,.compose-invite:before{animation:none}}.canvas-scroll{flex:1;min-height:0;overflow:clip auto}.branch-head-wrap{z-index:30;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(10px);transition:box-shadow .2s;position:sticky;top:0}.branch-head-wrap[data-stuck]{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);box-shadow:0 8px 20px -14px #00000073}.branch-head{max-width:var(--wrap);justify-content:space-between;align-items:baseline;gap:12px;margin:0 auto;padding:22px 20px 4px;transition:padding .2s;display:flex}.branch-head-wrap[data-stuck] .branch-head{align-items:center;padding:9px 20px 8px}.branch-head-wrap[data-stuck] .branch-title{font-size:19px}.branch-head-wrap[data-stuck] .branch-cover{display:none}.branch-title{letter-spacing:.01em;margin:0;font-size:26px;font-weight:500}.wb-split{align-items:center;gap:10px;display:inline-flex;position:relative}.wb-btns{align-items:stretch;display:inline-flex}.wb-main{border-top-right-radius:0;border-bottom-right-radius:0}.wb-caret{border-top-left-radius:0;border-bottom-left-radius:0;align-items:center;margin-left:-1px;padding-left:8px;padding-right:8px;display:inline-flex}.wb-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:232px;box-shadow:var(--shadow-2);padding:5px;animation:.14s both wv-viewbook-in;position:absolute;top:calc(100% + 6px);right:0}.wb-item{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;transition:background .12s;display:flex}.wb-item:hover{background:var(--parchment)}.wb-item-title{font-size:14px;font-weight:500}.wb-item-sub{font-size:12px}.wb-toast{white-space:nowrap;font-size:12.5px;animation:.2s both wv-viewbook-in}.wb-toast-ok{color:var(--accent)}.wb-toast-err{color:var(--red-600)}.wb-toast-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;font-size:12.5px;text-decoration:underline}.wb-toast-link:hover{color:var(--text)}@media (max-width:640px){.wb-toast{display:none}.wb-menu{left:0;right:auto}}.canvas{max-width:var(--wrap);--branch-inset:20px;--twig:15px;--card-gap:40px;--leaf-half:45px;margin:0 auto;padding:20px 20px 64px;position:relative}.leaf-row:before,.leaf-row:after{content:"";background:var(--branch);z-index:0;pointer-events:none;border-radius:3px;width:3px;position:absolute;left:50%;transform:translate(-50%)}.leaf-row:before{height:calc(50% - var(--leaf-half) + 12px);top:-12px}.leaf-row:after{top:calc(50% + var(--leaf-half));bottom:-34px}.leaf-row{grid-template-columns:1fr 1fr;align-items:center;margin:12px 0 34px;display:grid;position:relative}.leaf-grip{z-index:4;border-radius:var(--radius);width:22px;height:22px;color:var(--muted);background:color-mix(in srgb, var(--surface) 62%, transparent);opacity:0;pointer-events:none;cursor:grab;touch-action:none;border:none;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:inline-flex;position:absolute;top:5px;right:5px}.leaf-row:hover .leaf-grip,.leaf-row[data-dragging] .leaf-grip,.leaf-row[data-revealed=true] .leaf-grip{opacity:.6;pointer-events:auto}.leaf-grip:hover{opacity:1;color:var(--accent)}.leaf-grip:active{cursor:grabbing}.leaf-row[data-dragging]{z-index:6}.leaf-row[data-dragging] .leaf-main{box-shadow:var(--shadow-2)}body.reordering{-webkit-user-select:none;user-select:none;cursor:grabbing}.leaf-select{z-index:9;cursor:pointer;border-radius:var(--radius-lg);-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:absolute;inset:0}.leaf-select-chip{border:2px solid var(--border-strong);background:var(--surface);color:#fff;width:24px;height:24px;box-shadow:var(--shadow-1);border-radius:50%;justify-content:center;align-items:center;transition:background .14s,border-color .14s;display:inline-flex;position:absolute;top:8px;left:8px}.leaf-select-chip svg{opacity:0;transition:opacity .14s}.leaf-select.on .leaf-select-chip{background:var(--accent);border-color:var(--accent)}.leaf-select.on .leaf-select-chip svg{opacity:1}.leaf-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.leaf-row[data-deselected=true] .leaf-main,.leaf-row[data-deselected=true] .leaf-artifact,.leaf-row[data-deselected=true] .leaf-audio{opacity:.38;transition:opacity .15s}.weave-select-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.wsb-count-col{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.wsb-count{color:var(--muted);white-space:nowrap;font-size:13px}.wsb-count strong{color:var(--accent);font-variant-numeric:tabular-nums}.wsb-bulk{align-items:center;gap:6px;display:inline-flex}.wsb-bulk-link{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0;font-size:11px;line-height:1.3;transition:color .15s}.wsb-bulk-link:hover:not(:disabled){color:var(--accent)}.wsb-bulk-link:disabled{color:var(--muted);opacity:.45;cursor:default}.wsb-bulk-sep{color:var(--muted);opacity:.4;font-size:11px}.leaf-card{touch-action:pan-y;min-width:0;max-width:340px;animation:.6s cubic-bezier(.34,1.56,.64,1) backwards leaf-fall;animation-delay:calc(min(var(--i,0), 12) * 55ms);position:relative}.leaf-imp-frame{z-index:0;pointer-events:none;opacity:.5;position:absolute;top:0;left:0;overflow:visible}.leaf-imp-frame path{transition:stroke-opacity .22s}.leaf-main{z-index:3;background:var(--parchment);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:13px 15px;transition:box-shadow .2s,border-color .2s;position:relative}.leaf-card:hover .leaf-main{box-shadow:var(--shadow-2);border-color:var(--border-strong)}.leaf-del{z-index:4;border-radius:var(--pill);border:1px solid var(--border);color:var(--muted);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;align-items:center;gap:2px;margin-top:6px;padding:3px 6px;transition:opacity .18s,color .15s,background .15s,border-color .15s;display:inline-flex;position:absolute;top:100%;left:0}.leaf-row:hover .leaf-del,.leaf-row:focus-within .leaf-del,.leaf-row[data-revealed=true] .leaf-del,.leaf-row[data-hold=true] .leaf-del{opacity:1;pointer-events:auto}.leaf-del:hover{color:var(--red-600);background:var(--surface);border-color:color-mix(in srgb, var(--red-600) 50%, var(--border))}.leaf-del:active{scale:.93}.leaf-del-trash{order:1}.leaf-del-arrow{order:2}.leaf-row[data-side=left] .leaf-del-arrow{order:0;rotate:180deg}.leaf-text{white-space:pre-wrap;cursor:text;word-break:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 3;text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.leaf-text:focus,.leaf-text:focus-visible{outline:none}.leaf-time{margin-top:8px;font-size:11px;display:block}.leaf-row[data-side=left] .leaf-card{margin-right:var(--card-gap);grid-column:1;justify-self:end}.leaf-row[data-side=right] .leaf-card{margin-left:var(--card-gap);grid-column:2;justify-self:start}.leaf-card:after{content:"";width:var(--twig);background:var(--branch);height:2px;animation:.45s cubic-bezier(.22,1,.36,1) backwards twig-grow;animation-delay:calc(min(var(--i,0), 12) * 55ms + .24s);position:absolute;top:50%;transform:translateY(-50%)}.leaf-row[data-side=left] .leaf-card:after{right:calc(-1 * var(--twig));transform-origin:100%}.leaf-row[data-side=right] .leaf-card:after{left:calc(-1 * var(--twig));transform-origin:0}.leaf-node{color:var(--accent);z-index:5;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;animation:.5s cubic-bezier(.34,1.56,.64,1) backwards bud-pop;animation-delay:calc(min(var(--i,0), 12) * 55ms + .13s);padding:9px;transition:scale .2s,filter .2s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.leaf-node svg{display:block}.leaf-row:hover .leaf-node{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 45%, transparent));scale:1.08}.leaf-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.leaf-foot .leaf-time{margin-top:0}.leaf-adders{align-items:center;gap:6px;display:inline-flex}.leaf-meta{align-items:center;gap:10px;min-width:0;display:inline-flex}.leaf-loc{align-items:center;gap:1px;min-width:0;display:inline-flex}.leaf-loc-link{width:22px;height:22px;color:var(--muted);justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.leaf-loc-link:hover{color:var(--accent)}.leaf-loc-remove{width:18px;height:18px;color:var(--muted);opacity:0;pointer-events:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:opacity .15s,color .12s;display:inline-flex}.leaf-loc-remove:hover{color:var(--red-600)}.leaf-time-btn{cursor:text;font:inherit;color:inherit;line-height:inherit;background:0 0;border:0;padding:0}.leaf-time-btn:hover .leaf-time,.leaf-time-btn:focus-visible .leaf-time{color:var(--accent);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.leaf-when-set,.leaf-loc-set{width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:var(--pill);opacity:0;pointer-events:none;background:0 0;border:0;justify-content:center;align-items:center;transition:opacity .15s,color .12s;display:inline-flex}.leaf-row:hover .leaf-when-set,.leaf-row:focus-within .leaf-when-set,.leaf-row[data-revealed=true] .leaf-when-set,.leaf-row:hover .leaf-loc-set,.leaf-row:focus-within .leaf-loc-set,.leaf-row[data-revealed=true] .leaf-loc-set,.leaf-loc-set.on{opacity:1;pointer-events:auto}.leaf-when-set:hover,.leaf-loc-set:hover,.leaf-loc-set.on{color:var(--accent)}.leaf-when-input{font:inherit;color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);max-width:200px;padding:2px 6px;font-size:11.5px}.leaf-where-edit{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.leaf-where-btn{cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--pill);color:var(--accent);font:inherit;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:background .12s;display:inline-flex}.leaf-where-btn:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, transparent)}.leaf-where-btn:disabled{opacity:.55;cursor:default}.leaf-where-input{min-width:0;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex:150px;padding:4px 8px;font-size:12px}.leaf-where-input:focus{border-color:var(--accent);outline:none}.leaf-where-cancel{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:17px;line-height:1}.leaf-where-cancel:hover{color:var(--red-600)}.leaf-where-err{color:var(--red-600);flex-basis:100%;font-size:11.5px}.leaf-loc-link{cursor:pointer;width:auto;min-width:22px;font:inherit;background:0 0;border:0;gap:4px;padding:0 2px}.leaf-loc-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:16ch;font-size:11px;overflow:hidden}.leaf-loc-link:hover .leaf-loc-name{color:var(--accent)}.lp-overlay{z-index:85}.lp-modal{width:min(560px,100%);max-height:min(90vh,760px)}.lp-body{flex-direction:column;flex:1;gap:10px;padding:14px 18px 10px;display:flex;overflow-y:auto}.lp-loading{text-align:center;margin:24px 0}.lp-search{min-height:40px}.lp-search gmp-place-autocomplete{width:100%;display:block}.lp-map{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);width:100%;height:min(46vh,360px);overflow:hidden}.lp-hint{margin:0;font-size:12px}.lp-fallback{flex-direction:column;gap:8px;display:flex}.lp-where{margin-top:0}.lp-fields{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:4px;padding-top:4px;display:flex}.lp-label{flex:220px;align-items:center;gap:8px;min-width:0;display:flex}.lp-label-name{white-space:nowrap;font-size:12px}.lp-input{min-width:0;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex:1;padding:6px 9px;font-size:13.5px}.lp-input:focus{border-color:var(--accent);outline:none}.lp-input:disabled{opacity:.6}.lp-coords{flex-basis:100%;font-size:11.5px}.lp-coords a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.lp-coords a:hover{color:var(--accent)}.lp-foot{justify-content:space-between}.lp-remove{color:var(--clay-500)}.lp-remove:hover{color:var(--red-600)}.leaf-row:hover .leaf-loc-remove,.leaf-row:focus-within .leaf-loc-remove,.leaf-row[data-revealed=true] .leaf-loc-remove{opacity:1;pointer-events:auto}.leaf-add{border-radius:var(--pill);border:1px solid var(--border);width:26px;height:26px;color:var(--muted);opacity:0;pointer-events:none;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .18s,color .15s,background .15s,border-color .15s;display:inline-flex}.leaf-add:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.leaf-add:active{scale:.9}.leaf-add.busy{animation:1s ease-in-out infinite leaf-add-pulse}.leaf-add.failed{color:var(--red-600);border-color:color-mix(in srgb, var(--red-600) 55%, var(--border))}.leaf-row:hover .leaf-add,.leaf-row:focus-within .leaf-add,.leaf-row[data-revealed=true] .leaf-add{opacity:1;pointer-events:auto}@keyframes leaf-add-pulse{0%,to{opacity:.45}50%{opacity:1}}.leaf-move{border-radius:var(--pill);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent);cursor:pointer;align-items:center;gap:4px;padding:2px 9px 2px 7px;font-size:11.5px;font-weight:500;transition:background .15s,border-color .15s;animation:.16s both filer-in;display:inline-flex}.leaf-move:hover{background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:var(--accent)}.undo-toast{z-index:80;border-radius:var(--pill);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:9px 10px 9px 16px;font-size:13.5px;animation:.22s both undo-in;display:inline-flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.undo-toast-label{color:var(--muted)}.undo-toast.notice{padding-right:16px}.undo-toast-btn{cursor:pointer;border-radius:var(--radius);color:var(--accent);background:0 0;border:none;align-items:center;gap:5px;padding:4px 8px;font-size:13.5px;font-weight:600;transition:background .12s;display:inline-flex}.undo-toast-btn:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}@keyframes undo-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.undo-toast,.leaf-move{animation:none}}.leaf-artifact{z-index:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--parchment);box-shadow:var(--shadow-1);margin:-10px 8px 0;animation:.42s cubic-bezier(.22,1,.36,1) backwards artifact-in;position:relative;overflow:hidden}.leaf-artifact-open{cursor:zoom-in;background:0 0;border:none;width:100%;height:42px;padding:0;display:block}.leaf-artifact-open img{object-fit:cover;width:100%;height:100%;display:block}.leaf-artifact-remove{border-radius:var(--pill);color:#fff;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);background:#00000085;border:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:17px;line-height:1;transition:opacity .18s,background .15s;display:inline-flex;position:absolute;bottom:5px;right:8px}.leaf-row:hover .leaf-artifact-remove,.leaf-row:focus-within .leaf-artifact-remove,.leaf-row[data-revealed=true] .leaf-artifact-remove{opacity:1;pointer-events:auto}.leaf-artifact-remove:hover{background:color-mix(in srgb, var(--red-600) 88%, #000)}.leaf-artifact-bind{z-index:2;position:absolute;bottom:5px;right:38px}.leaf-artifact-bind .leaf-add{color:#fff;-webkit-backdrop-filter:blur(2px);background:#00000085;border:none;width:24px;height:24px}.leaf-artifact-bind .leaf-add:hover{background:color-mix(in srgb, var(--accent) 80%, #000);color:#fff;border:none}.leaf-artifact--audio .leaf-artifact-bind{top:19px;bottom:auto}.leaf-artifact--audio .leaf-artifact-bind .leaf-add{color:var(--muted);-webkit-backdrop-filter:none;background:0 0}.leaf-artifact--audio .leaf-artifact-bind .leaf-add:hover{color:var(--accent);background:0 0}.leaf-artifact-bind .woven-bind-menu{left:auto;right:0}.leaf-artifact:has(.wb-menu){overflow:visible;z-index:12!important}.leaf-artifact-open{border-radius:inherit;overflow:hidden}@keyframes artifact-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.leaf-artifact--video{z-index:3}.leaf-artifact--photo{z-index:2}.leaf-artifact--audio{z-index:1}.leaf-artifact--video .leaf-artifact-open{cursor:pointer;position:relative}.leaf-clip-blank{background:color-mix(in srgb, var(--muted) 18%, transparent);width:100%;height:100%;display:block}.leaf-clip-play{border-radius:var(--pill);color:#fff;-webkit-backdrop-filter:blur(2px);background:#00000075;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,scale .12s;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.leaf-artifact--video .leaf-artifact-open:hover .leaf-clip-play{background:#000000a8}.leaf-artifact--video .leaf-artifact-open:active .leaf-clip-play{scale:.92}.leaf-clip-time{border-radius:var(--pill);color:#fff;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(2px);background:#00000075;padding:2px 8px;font-size:11px;line-height:1.5;transition:opacity .15s;position:absolute;bottom:8px;right:8px}.leaf-row:hover .leaf-clip-time,.leaf-row:focus-within .leaf-clip-time,.leaf-row[data-revealed=true] .leaf-clip-time{opacity:0}.leaf-clip-state{border-radius:var(--pill);white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(2px);background:#0000008c;padding:2px 8px;font-size:11px;position:absolute;top:50%;left:44px;transform:translateY(-50%)}.leaf-clip-state.failed{background:color-mix(in srgb, var(--red-600) 82%, #000)}.leaf-clip-retry{border-radius:var(--pill);cursor:pointer;color:#fff;font:inherit;background:#0000008c;border:1px solid #fff;padding:3px 10px;font-size:11px;transition:background .12s,border-color .12s;position:absolute;bottom:8px;right:40px}.leaf-clip-retry:hover{background:var(--accent);border-color:var(--accent)}.leaf-artifact--video[data-pending=failed] .leaf-clip-time,.leaf-artifact--video[data-pending=uploading] .leaf-clip-time{opacity:0}.leaf-vid-error{color:var(--red-600);margin:6px 0 0;font-size:12.5px;animation:.3s backwards artifact-in}.leaf-audio{align-items:center;gap:12px;padding:18px 44px 8px 13px;display:flex}.leaf-audio-play{border-radius:var(--pill);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);width:26px;height:26px;color:var(--accent);flex:none;justify-content:center;align-items:center;transition:background .15s,scale .12s;display:inline-flex}.leaf-audio-play:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.leaf-audio-play:active{scale:.92}.wave{flex:1;align-items:center;gap:2px;min-width:0;height:22px;display:flex}.wave>span{background:color-mix(in srgb, var(--muted) 55%, transparent);border-radius:1px;flex:1 1 0;min-width:1px;transition:background .12s linear}.wave>span.on{background:var(--accent)}.leaf-audio-time,.leaf-audio-remove{align-items:center;height:26px;transition:opacity .15s;display:inline-flex;position:absolute;top:18px;right:8px}.leaf-audio-time{font-variant-numeric:tabular-nums;justify-content:flex-end;font-size:11px}.leaf-audio-remove{width:24px;color:var(--muted);opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;font-size:18px;line-height:1;transition:opacity .15s,color .12s}.leaf-audio-remove:hover{color:var(--red-600)}.leaf-row:hover .leaf-audio-remove,.leaf-row:focus-within .leaf-audio-remove,.leaf-row[data-revealed=true] .leaf-audio-remove{opacity:1;pointer-events:auto}.leaf-row:hover .leaf-audio-time,.leaf-row:focus-within .leaf-audio-time,.leaf-row[data-revealed=true] .leaf-audio-time{opacity:0}.audio-player{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 14px;display:flex}.audio-player-play{border-radius:var(--pill);cursor:pointer;border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);width:30px;height:30px;color:var(--accent);flex:none;justify-content:center;align-items:center;transition:background .15s,scale .12s;display:inline-flex}.audio-player-play:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.audio-player-play:active{scale:.92}.audio-player .wave{height:28px}.audio-player-time{font-variant-numeric:tabular-nums;flex:none;font-size:12px}.audio-player-dl{border-radius:var(--pill);width:28px;height:28px;color:var(--muted);cursor:pointer;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.audio-player-dl:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.wv-audio-head{margin-bottom:16px}.wv-song-wait{opacity:.85;margin-top:6px;font-size:12.5px}.book-song-player{margin:0 0 16px}.book-song-player .audio-player{background:#5c402212;border-color:#5c402238}.leaf-artifact--text{z-index:0}.leaf-text-open{cursor:pointer;text-align:left;width:100%;color:var(--muted);background:0 0;border:none;align-items:center;gap:8px;padding:13px 34px 9px 13px;display:flex}.leaf-text-open:hover{color:var(--text)}.leaf-text-open>svg{flex:none}.leaf-text-snippet{min-width:0;color:inherit;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.leaf-text-remove{width:24px;height:24px;color:var(--muted);opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:opacity .15s,color .12s;display:inline-flex;position:absolute;top:13px;right:8px}.leaf-text-remove:hover{color:var(--red-600)}.leaf-row:hover .leaf-text-remove,.leaf-row:focus-within .leaf-text-remove,.leaf-row[data-revealed=true] .leaf-text-remove{opacity:1;pointer-events:auto}.leaf-lightbox{z-index:60;-webkit-backdrop-filter:blur(3px);cursor:zoom-out;background:#000000c7;justify-content:center;align-items:center;padding:24px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.leaf-lightbox img{border-radius:var(--radius);max-width:100%;max-height:100%;box-shadow:var(--shadow-2);animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes lightbox-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.leaf-lightbox--clip{cursor:zoom-out}.leaf-lightbox--clip video{cursor:auto;border-radius:var(--radius);max-width:100%;max-height:100%;box-shadow:var(--shadow-2);background:#000;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop}.leaf-lightbox-nav{border-radius:var(--pill);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);background:#00000073;border:none;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.leaf-lightbox-nav:hover{background:#000000a6}.leaf-lightbox-nav.prev{left:14px;transform:translateY(-50%)scaleX(-1)}.leaf-lightbox-nav.next{right:14px}.leaf-lightbox-count{border-radius:var(--pill);color:#fff;letter-spacing:.02em;-webkit-backdrop-filter:blur(2px);background:#00000073;padding:4px 12px;font-size:12.5px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.rec-overlay{z-index:70;-webkit-backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.rec-modal{background:var(--surface);width:min(360px,100%);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);text-align:center;padding:22px 20px 20px;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;position:relative}.rec-close{width:30px;height:30px;color:var(--muted);border-radius:var(--pill);background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex;position:absolute;top:8px;right:8px}.rec-close:hover{color:var(--text);background:var(--surface-2)}.rec-title{margin:0 0 16px;font-size:19px}.rec-mic{border-radius:var(--pill);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);width:72px;height:72px;color:var(--accent);justify-content:center;align-items:center;transition:background .15s,scale .12s;display:inline-flex}.rec-mic:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.rec-mic:active{scale:.95}.rec-mic.recording{color:var(--red-600);border-color:color-mix(in srgb, var(--red-600) 55%, var(--border));background:color-mix(in srgb, var(--red-600) 12%, transparent);animation:1.3s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--red-600) 40%, transparent)}50%{box-shadow:0 0 0 12px #0000}}.rec-hint{margin:12px 0 0;font-size:13px}.rec-timer{font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:14px 0 2px;font-size:24px}.rec-timer .muted{font-size:15px}.rec-upload{color:var(--accent);text-underline-offset:2px;background:0 0;border:none;margin-top:14px;font-size:13px;text-decoration:underline}.rec-upload:hover{color:var(--accent-hover)}.rec-processing{padding:24px 0}.rec-error{color:var(--red-600);margin:8px 0 4px;font-size:14px}.rec-review{background:var(--parchment);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;margin:4px 0 16px;padding:10px 12px;display:flex}.rec-review .wave{height:26px}.rec-review>.muted{font-variant-numeric:tabular-nums;flex:none;font-size:12px}.rec-actions{justify-content:center;gap:10px;display:flex}.rec-actions .btn{flex:1}.rt-overlay{z-index:70;-webkit-backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.rt-modal{background:var(--surface);width:min(620px,100%);max-height:min(80vh,720px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.rt-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.rt-tabs{background:var(--surface-2);border-radius:var(--radius);gap:4px;padding:3px;display:inline-flex}.rt-tabs button{color:var(--muted);border-radius:calc(var(--radius) - 2px);background:0 0;border:none;padding:5px 14px;font-size:13px;font-weight:500}.rt-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.rt-close{width:30px;height:30px;color:var(--muted);border-radius:var(--pill);background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.rt-close:hover{color:var(--text);background:var(--surface-2)}.rt-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:3px;padding:8px 12px;display:flex}.rt-toolbar button{border-radius:var(--radius);min-width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 7px;font-size:14px;display:inline-flex}.rt-toolbar button:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}.rt-toolbar code{font-size:12px}.rt-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.rt-textarea{resize:none;background:var(--parchment);min-height:220px;color:var(--text);border:none;outline:none;flex:1;padding:16px 18px;font-family:inherit;font-size:15px;line-height:1.6}.rt-preview{background:var(--parchment);flex:1;min-height:220px;padding:16px 20px;overflow-y:auto}.rt-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.rt-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.rt-count.near{color:var(--clay-500)}.rt-count.full{color:var(--red-600);font-weight:500}.rt-buttons{gap:8px;display:inline-flex}.md{line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3{font-family:var(--font-serif);margin:1.1em 0 .4em;line-height:1.25}.md h1{font-size:1.5em}.md h2{font-size:1.28em}.md h3{font-size:1.1em}.md p{margin:.6em 0}.md ul,.md ol{margin:.6em 0;padding-left:1.4em}.md li{margin:.2em 0}.md blockquote{border-left:3px solid var(--border-strong);color:var(--muted);margin:.7em 0;padding:.2em 0 .2em 14px}.md code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.md a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.md strong{font-weight:600}.wv-overlay{z-index:70;-webkit-backdrop-filter:blur(3px);background:#00000094;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.wv-modal{background:var(--surface);width:min(680px,100%);max-height:min(86vh,820px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.wv-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.wv-title{margin:0;font-size:20px}.wv-pick{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;flex:1;min-height:0;padding:20px 18px 22px;overflow-y:auto}.wv-lead{text-align:center;margin:0 0 16px;font-size:14px}.wv-types{grid-template-columns:1fr 1fr;gap:12px;display:grid}.wv-type{color:var(--text);background:var(--parchment);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.wv-type:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:var(--shadow-1)}.wv-type.expanded{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.wv-type-main{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:16px;transition:transform .1s;display:flex}.wv-type-main:active{transform:scale(.99)}.wv-type-icon{color:var(--accent);margin-bottom:8px;line-height:0;display:inline-flex}.wv-type-label{font-size:15px;font-weight:500}.wv-type-blurb{font-size:12px}.wv-type-caret{border:0;border-left:1px solid var(--border);width:54px;color:var(--muted);cursor:pointer;background:0 0;flex-direction:column;flex:none;justify-content:center;align-self:stretch;align-items:center;gap:4px;padding:0;transition:color .15s,background .15s;display:inline-flex}.wv-type-caret:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.wv-type-caret[aria-expanded=true]{color:var(--accent)}.wv-type-caret svg{transition:transform .18s}.wv-type-caret[aria-expanded=true] svg{transform:rotate(180deg)}.wv-tune-count{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:var(--pill);justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.wv-tune{background:color-mix(in srgb, var(--accent) 6%, var(--parchment));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:var(--radius);flex-direction:column;grid-column:1/-1;gap:10px;margin:-4px 1px 0;padding:13px 15px;animation:.18s wv-tune-in;display:flex}@keyframes wv-tune-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wv-tune{animation:none}}.wv-tune-label{color:var(--muted);letter-spacing:.01em;font-size:12.5px;font-weight:500}.wv-tune-pills{flex-wrap:wrap;gap:8px;display:flex}.wv-tune-pill{cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--pill);padding:5px 13px;font-size:13px;transition:border-color .13s,background .13s,color .13s}.wv-tune-pill:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.wv-tune-pill.on{background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--accent);font-weight:500}.wv-tune-pill:disabled{opacity:.4;cursor:default}.wv-tune-hint{font-size:11.5px}.wv-select-wrap{color:var(--text);align-self:flex-start;display:inline-flex;position:relative}.wv-select{appearance:none;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--pill);padding:6px 34px 6px 13px;font-family:inherit;font-size:13px;line-height:1.2;transition:border-color .13s}.wv-select:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.wv-select:focus{border-color:var(--accent);outline:none}.wv-select-wrap>svg{pointer-events:none;color:var(--muted);position:absolute;top:50%;right:11px;transform:translateY(-50%)}.wv-mode{border:1px solid var(--border);border-radius:var(--pill);align-self:flex-start;display:inline-flex;overflow:hidden}.wv-mode-pill{cursor:pointer;color:var(--muted);background:var(--surface);border:none;padding:6px 14px;font-size:13px;transition:background .13s,color .13s}.wv-mode-pill+.wv-mode-pill{border-left:1px solid var(--border)}.wv-mode-pill.on{background:var(--accent);color:#fff;font-weight:500}.wv-extra-input{resize:none;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 11px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .13s}.wv-extra-input::placeholder{color:var(--muted)}.wv-extra-input:focus{border-color:var(--accent);outline:none}.wv-extra-count{color:var(--muted);text-align:right;margin-top:-4px;font-size:11px}.wv-clip-note{margin:6px 0 0;font-size:12px;line-height:1.4}.wv-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:52px 24px;display:flex}.weave-loader{color:var(--accent);width:210px;max-width:100%;height:auto;display:block}.weave-loader path,.weave-loader circle{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;animation:4s ease-in-out infinite weave-draw}.wl-tangle{animation-delay:0s}.wl-thread{animation-delay:.55s}.wl-arm{animation-delay:.85s}.wl-body{animation-delay:1.05s}.wl-head{animation-delay:1.15s}.wl-hair{animation-delay:1.3s}@keyframes weave-draw{0%{stroke-dashoffset:1px}35%{stroke-dashoffset:0}72%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@media (prefers-reduced-motion:reduce){.weave-loader path,.weave-loader circle{stroke-dashoffset:0;animation:none}}.ps-stage{flex-direction:column;gap:18px;padding:18px 20px 20px;display:flex}.ps-grid{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;max-height:44vh;padding:2px;display:grid;overflow-y:auto}.ps-thumb{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);overflow:hidden}.ps-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ps-lead{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.ps-actions{justify-content:flex-end;gap:10px;display:flex}.ps-loading-sub{margin:-8px 0 0;font-size:13px}.bt-cancel{margin-top:2px}.pm-modal{width:min(440px,100%)}.pm-options{flex-direction:column;gap:10px;padding:18px 20px 22px;display:flex}.pm-option{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.pm-option:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-2))}.pm-option:disabled{cursor:not-allowed;opacity:.55}.pm-option:disabled:hover{border-color:var(--border);background:var(--surface-2)}.pm-option-icon{border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 12%, transparent);width:38px;height:38px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.pm-option-body{flex-direction:column;gap:3px;display:flex}.pm-option-title{color:var(--text);font-size:14.5px;font-weight:600}.pm-option-desc{color:var(--muted);font-size:13px;line-height:1.5}.look-loader{color:var(--accent);width:208px;max-width:100%;height:auto;display:block}.look-loader path{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;animation:3.6s ease-in-out infinite ll-draw}.ll-eye{animation-delay:0s}.ll-lash{animation-delay:80ms}.ll-iris{animation-delay:.12s}.ll-gaze{animation-delay:.2s}.ll-photo{animation-delay:.28s}@keyframes ll-draw{0%{stroke-dashoffset:1px}28%{stroke-dashoffset:0}70%{stroke-dashoffset:0}to{stroke-dashoffset:-1px}}@media (prefers-reduced-motion:reduce){.look-loader path{stroke-dashoffset:0;animation:none}}.wv-error{color:var(--red-600);max-width:44ch;font-size:14px}.wv-spent{color:var(--text);max-width:40ch;margin:0;font-size:15px}.wv-spent-sub{max-width:40ch;margin:8px 0 0;font-size:13px}.wv-actions{gap:10px;display:inline-flex}.wv-result{background:var(--parchment);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;flex:1;padding:24px 26px;overflow-y:auto}.wv-doc{max-width:60ch;margin:0 auto}.wv-doc.md{line-height:1.7}.wv-editable{cursor:text;caret-color:var(--accent);outline:none}.wv-editable:focus,.wv-editable:focus-visible{outline:none}.wv-screenplay{max-width:62ch;font-family:Courier New,Courier Prime,Courier,ui-monospace,monospace;font-size:14px;line-height:1.4}.wv-screenplay .fp-titlepage{text-align:center;margin:6px 0 30px}.wv-screenplay .fp-fptitle{text-transform:uppercase;letter-spacing:.04em;font-size:19px;font-weight:700}.wv-screenplay .fp-byline{color:var(--muted);margin-top:10px}.wv-screenplay .fp-scene{text-transform:uppercase;margin:20px 0 8px;font-size:14px;font-weight:700}.wv-screenplay .fp-action{margin:12px 0}.wv-screenplay .fp-scene+.fp-action,.wv-screenplay .fp-action:first-child{margin-top:0}.wv-screenplay .fp-char{text-transform:uppercase;margin:12px 0 0 37%}.wv-screenplay .fp-paren{color:var(--muted);margin:0 30% 0 27%}.wv-screenplay .fp-dialogue{margin:0 22% 0 15%}.wv-screenplay .fp-lyric{margin:0 22% 0 15%;font-style:italic}.wv-screenplay .fp-trans{text-align:right;text-transform:uppercase;margin:12px 0}.wv-screenplay .fp-center{text-align:center;margin:12px 0}.wv-screenplay .fp-break{border:0;border-top:1px dashed var(--border-strong);margin:20px 0}.wv-image{border-radius:var(--radius);max-width:100%;box-shadow:var(--shadow-1);margin:0 auto;display:block}.wv-crop-stage{flex-direction:column;align-items:center;gap:10px;display:flex}.wv-crop-wrap{width:fit-content;max-width:100%;margin:0 auto;display:block;position:relative}.wv-crop-wrap .wv-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.wv-crop-layer{cursor:crosshair;touch-action:none;border-radius:var(--radius);position:absolute;inset:0;overflow:hidden}.wv-crop-hint{border-radius:var(--pill);white-space:nowrap;color:#fff;pointer-events:none;background:#0000008c;padding:6px 12px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wv-crop-box{cursor:move;border:1.5px dashed #fff;position:absolute;box-shadow:0 0 0 9999px #0000007a}.wv-crop-handle{border-radius:var(--pill);border:2px solid var(--accent);width:18px;height:18px;box-shadow:var(--shadow-1);background:#fff;position:absolute}.wv-crop-handle[data-handle=nw]{cursor:nwse-resize;top:-2px;left:-2px}.wv-crop-handle[data-handle=ne]{cursor:nesw-resize;top:-2px;right:-2px}.wv-crop-handle[data-handle=sw]{cursor:nesw-resize;bottom:-2px;left:-2px}.wv-crop-handle[data-handle=se]{cursor:nwse-resize;bottom:-2px;right:-2px}.wv-crop-error{text-align:center;margin:0}.wv-crop-busy{padding:40px 24px}.wv-poem{max-width:30em;font-family:var(--font-serif);color:var(--text);font-variant-ligatures:common-ligatures;-webkit-font-smoothing:antialiased;margin:0 auto;padding:6px 0 12px}.wv-poem .poem-title{font-family:var(--font-serif);letter-spacing:.24em;text-transform:uppercase;margin:0 0 1.9em;font-size:20px;font-weight:400;line-height:1.35}.wv-poem .poem-stanza{margin:0 0 1.5em}.wv-poem .poem-stanza:last-child{margin-bottom:0}.wv-poem .poem-line{text-wrap:pretty;font-size:17px;line-height:1.62;display:block}.wv-poem .poem-line em{font-style:italic}.wv-poem .poem-line strong{font-weight:600}@media (max-width:640px){.wv-poem .poem-title{letter-spacing:.18em;font-size:18px}.wv-poem .poem-line{font-size:16px}}.wv-quote{text-align:center;max-width:26em;margin:0 auto;padding:30px 0}.wv-quote p{font-family:var(--font-serif);color:var(--text);text-wrap:pretty;margin:0;font-size:27px;font-weight:700;line-height:1.5}@media (max-width:640px){.wv-quote p{font-size:21px}}.wv-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.wv-foot-right{gap:8px;display:inline-flex}.wv-viewbook{color:var(--accent);align-items:center;gap:7px;animation:.35s both wv-viewbook-in;display:inline-flex}.wv-viewbook:hover{color:var(--text)}@keyframes wv-viewbook-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.wv-viewbook{animation:none}}@media (max-width:640px){.wv-types{grid-template-columns:1fr}.wv-foot{flex-direction:column-reverse;align-items:stretch}.wv-foot .btn,.wv-foot-right{justify-content:center;width:100%}}.wv-settings-btn{border:1px solid var(--border);border-radius:var(--pill);color:var(--muted);background:0 0;margin:18px auto 0;padding:7px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:block}.wv-settings-btn:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.set-drawer{border-bottom:1px solid var(--border)}.set-bar{background:var(--surface);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:11px 16px;transition:background .15s;display:flex}.set-bar:hover{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.set-bar-name{flex:none;font-size:13.5px;font-weight:500}.set-bar-sum{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.set-bar>svg{color:var(--muted);flex:none;transition:transform .18s,color .15s}.set-bar:hover>svg,.set-bar.open>svg{color:var(--accent)}.set-bar.open>svg{transform:rotate(180deg)}.set-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.set-panel{background:color-mix(in srgb, var(--accent) 6%, var(--parchment));border-top:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));padding:2px 18px 14px;animation:.18s wv-tune-in}.set-grouphead{justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;display:flex}.set-grouptoggle{min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;display:inline-flex}.set-grouptoggle>svg{color:var(--muted);flex:none;transition:transform .18s,color .15s}.set-grouptoggle[aria-expanded=true]>svg{color:var(--accent);transform:rotate(180deg)}.set-grouptoggle:hover .ws-group-title{color:var(--accent)}.set-folded-s{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.set-reset{font:inherit;color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:12px 0 0;padding:0;font-size:12px;text-decoration:underline;display:block}.set-reset:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){.set-panel{animation:none}.set-bar,.set-bar>svg,.set-grouptoggle>svg{transition:none}}.ws-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);background:#00000094;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.ws-modal{background:var(--surface);width:min(560px,100%);max-height:min(88vh,760px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.ws-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ws-title{margin:0;font-size:19px}.ws-body{padding:4px 20px 8px;overflow-y:auto}.ws-group{padding:14px 0}.ws-group+.ws-group{border-top:1px solid var(--border)}.ws-group-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:600}.ws-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.acct-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);background:#00000094;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.acct-modal{background:var(--surface);width:min(430px,100%);max-height:min(88vh,720px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.acct-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.acct-avatar{color:var(--accent);line-height:0;display:inline-flex}.acct-title{flex:1;margin:0;font-size:19px}.acct-body{padding:4px 20px 10px;overflow-y:auto}.acct-group{padding:15px 0}.acct-group+.acct-group{border-top:1px solid var(--border)}.acct-group-title{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:11px;font-weight:600}.acct-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.acct-row+.acct-row{margin-top:16px}.acct-row-label{flex-direction:column;gap:2px;min-width:0;display:flex}.acct-row-name{font-size:14.5px}.acct-row-hint{font-size:12px}.acct-foot{border-top:1px solid var(--border);padding:12px 16px;display:flex}.acct-signout{align-items:center;gap:8px;display:inline-flex}.acct-legal-link{cursor:pointer;color:var(--muted);font:inherit;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;margin:10px 2px 2px;padding:2px 0;font-size:12.5px;text-decoration:underline;transition:color .15s}.acct-legal-link:hover{color:var(--accent)}.acct-back{cursor:pointer;width:30px;height:30px;color:var(--accent);border-radius:var(--pill);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-left:-6px;padding:0;transition:background .12s;display:inline-flex}.acct-back:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.acct-hub{padding-top:2px;padding-bottom:6px}.acct-hub-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:var(--text);font:inherit;background:0 0;align-items:center;gap:12px;padding:13px 2px;display:flex}.acct-hub-row:last-child{border-bottom:0}.acct-hub-row:hover .acct-hub-name,.acct-hub-row:focus-visible .acct-hub-name{color:var(--accent)}.acct-hub-ic{border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 12%, transparent);width:36px;height:36px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.acct-hub-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.acct-hub-name{font-size:14.5px;transition:color .12s}.acct-hub-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.acct-chip{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--pill);white-space:nowrap;border:1px solid;flex:none;padding:2px 7px;font-size:9.5px}.acct-chip.device{color:var(--gold,#c29a45);border-color:color-mix(in srgb, var(--gold,#c29a45) 55%, transparent)}.acct-chip.account{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.acct-count{color:var(--muted);border-radius:var(--pill);background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;padding:1px 7px;font-size:11.5px}.acct-chev{color:var(--muted);flex:none;font-size:20px;line-height:1}.acct-body--panel{animation:.22s cubic-bezier(.22,1,.36,1) acct-in-right}.acct-body--hub{animation:.22s cubic-bezier(.22,1,.36,1) acct-in-left}@keyframes acct-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes acct-in-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.acct-scope-note{margin:14px 0 0;font-size:11.5px}.acct-email{word-break:break-all;margin:2px 0 12px;font-size:14px}.acct-account-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.acct-account-actions .acct-legal-link{margin:0}.acct-row--switch{align-items:flex-start}.au-state{margin:6px 0 2px;font-size:11.5px;display:block}.au-photos--off{opacity:.55}@media (max-width:480px){.acct-chip{display:none}.acct-scope-note{display:block}}@media (prefers-reduced-motion:reduce){.acct-body--panel,.acct-body--hub{animation:none}}.acct-erase-hint{max-width:46ch;margin:0 0 12px;display:block}.acct-erase-link{cursor:pointer;font:inherit;color:var(--clay-500);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--clay-500) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--clay-500) 45%, transparent);background:0 0;border:0;padding:0;font-size:13px}.acct-erase-link:hover{color:var(--red-600);text-decoration-color:currentColor}.acct-erase-confirm{flex-direction:column;gap:6px;margin:0 0 18px;display:flex}.acct-erase-confirm input{font:inherit;color:var(--text);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);padding:8px 10px;font-size:14px}.acct-erase-confirm input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.acct-erase-error{color:var(--red-600);margin:-8px 0 14px;font-size:13px}.btn.danger:disabled{opacity:.45;cursor:not-allowed}.btn.danger:disabled:hover{background:var(--red-600);border-color:var(--red-600)}.legal-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s lightbox-fade;display:flex;position:fixed;inset:0}.legal-overlay.gate{z-index:200}.legal-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(640px,100%);max-height:min(86vh,820px);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.legal-close{z-index:2;position:absolute;top:10px;right:10px}.legal-doc{color:var(--text);flex:1;padding:24px 26px;font-size:14.5px;line-height:1.62;overflow-y:auto}.legal-doc h1{margin:2px 40px 2px 0;font-size:21px;font-weight:600}.legal-doc h1+p{color:var(--muted);margin:0 0 4px;font-size:12.5px}.legal-doc h2{margin:22px 0 6px;font-size:15px;font-weight:600}.legal-doc p{margin:8px 0}.legal-doc ul{margin:8px 0;padding-left:20px}.legal-doc li{margin:6px 0}.legal-doc strong{font-weight:600}.legal-foot{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.legal-foot-note{flex:1;min-width:180px;font-size:12px}.legal-agree{min-width:100px}@media (prefers-reduced-motion:reduce){.legal-overlay{animation:none}}.pref-switch{border-radius:var(--pill);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);flex:none;width:42px;height:24px;padding:0;transition:background .16s,border-color .16s;position:relative}.pref-switch-thumb{background:var(--surface);width:18px;height:18px;box-shadow:var(--shadow-1);border-radius:50%;transition:transform .18s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px}.pref-switch.on{background:var(--accent);border-color:var(--accent)}.pref-switch.on .pref-switch-thumb{background:#fff;transform:translate(18px)}.pref-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dib-time{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:5px 8px;font-size:13.5px;line-height:1.2}.dib-time:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent);outline:none}.dib-time:disabled{opacity:.5}.dib-time::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}:root[data-theme=dark] .dib-time::-webkit-calendar-picker-indicator{filter:invert();opacity:.55}@media (prefers-reduced-motion:reduce){.acct-overlay,.acct-modal{animation:none}.pref-switch-thumb{transition:none}}.dial{padding:9px 0}.dial-name{margin-bottom:5px;font-size:14px;font-weight:500}.dial-row{grid-template-columns:66px 1fr 66px;align-items:center;gap:8px;display:grid}.dial-pole{color:var(--muted);font-size:11px}.dial-row .dial-pole:first-child{text-align:right}.dial-row .dial-pole:last-child{text-align:left}.dial-track{border-radius:var(--radius);outline:none;justify-content:space-between;align-items:center;gap:2px;height:30px;padding:0 4px;display:flex}.dial-track:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 45%, transparent)}.dial-notch{cursor:pointer;background:0 0;border:none;flex:1 1 0;height:22px;padding:0;position:relative}.dial-notch:before{content:"";background:var(--border-strong);border-radius:1px;width:2px;height:12px;transition:background .12s,height .12s,width .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dial-notch.zero:before{background:var(--muted);height:18px}.dial-notch.lit:before{background:color-mix(in srgb, var(--accent) 55%, var(--border))}.dial-notch:hover:before{background:var(--accent)}.dial-notch.active:before{background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%}@media (max-width:640px){.dial-row{grid-template-columns:52px 1fr 52px;gap:6px}.dial-pole{font-size:10px}}.ws-head{gap:12px}.ws-seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--pill);padding:3px;display:inline-flex}.ws-seg button{font:inherit;color:var(--muted);border-radius:var(--pill);cursor:pointer;background:0 0;border:0;padding:5px 15px;font-size:12.5px;font-weight:600;transition:color .15s,background .15s}.ws-seg button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-1)}.knobgrid{grid-template-columns:repeat(3,1fr);gap:12px 8px;margin-top:6px;display:grid}.knobdial{text-align:center;min-width:0;padding:6px 2px 2px}.knobdial .dial-name{margin-bottom:2px;font-size:13px;font-weight:500}.knob-wrap{border-radius:50%;outline:none;width:100%;max-width:112px;display:inline-block}.knob-wrap:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 45%, transparent)}.knobdial-poles{color:var(--muted);justify-content:space-between;gap:6px;width:92%;max-width:104px;margin:0 auto;font-size:10px;display:flex}@media (prefers-reduced-motion:reduce){.knob-pointer{transition:none!important}}.canvas.empty{justify-content:center;align-items:center;min-height:44vh;display:flex}.canvas.empty:before{display:none}.empty-note{text-align:center;max-width:340px}.empty-leaf{color:var(--accent);opacity:.55;font-size:42px;line-height:1}.empty-title{margin:12px 0 6px;font-size:20px}@keyframes branch-draw{0%{scale:1 0}to{scale:1}}@keyframes leaf-fall{0%{opacity:0;transform:translateY(-22px)rotate(-5deg)}60%{opacity:1}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes bud-pop{0%{scale:0}65%{scale:1.3}to{scale:1}}@keyframes twig-grow{0%{scale:0 1}to{scale:1}}@keyframes leaf-off-left{0%{opacity:1;transform:translate(0)rotate(0)}10%{opacity:1;transform:translate(-3px,-3px)rotate(-3deg)}40%{opacity:1;transform:translate(-17px,30px)rotate(4deg)}72%{opacity:.72;transform:translate(-7px,92px)rotate(-3deg)}to{opacity:0;transform:translate(-13px,190px)rotate(2deg)}}@keyframes leaf-off-right{0%{opacity:1;transform:translate(0)rotate(0)}10%{opacity:1;transform:translate(3px,-3px)rotate(3deg)}40%{opacity:1;transform:translate(17px,30px)rotate(-4deg)}72%{opacity:.72;transform:translate(7px,92px)rotate(3deg)}to{opacity:0;transform:translate(13px,190px)rotate(-2deg)}}@keyframes leaf-off-fade{to{opacity:0}}.leaf-card.exiting{pointer-events:none;z-index:3;animation-duration:1.5s;animation-timing-function:linear;animation-delay:0s;animation-fill-mode:forwards}.leaf-row[data-side=left] .leaf-card.exiting{animation-name:leaf-off-left}.leaf-row[data-side=right] .leaf-card.exiting{animation-name:leaf-off-right}@media (prefers-reduced-motion:reduce){.canvas:before,.leaf-card,.leaf-node,.leaf-card:after,.leaf-artifact,.leaf-add.busy,.leaf-lightbox,.leaf-lightbox img,.leaf-lightbox--clip video,.leaf-vid-error,.rec-overlay,.rec-modal,.rec-mic.recording,.rt-overlay,.rt-modal,.wv-overlay,.wv-modal,.ws-overlay,.ws-modal{animation:none}.leaf-card.exiting,.woven-card.exiting{animation-name:leaf-off-fade;animation-duration:.25s}}@media (max-width:640px){.wordmark{font-size:20px}.app-header{gap:10px;padding-left:14px;padding-right:14px}.header-right{gap:8px}.trunk-pill{padding:4px 10px}.compose{padding:10px 14px 4px}.compose-sub,.branch-tabs,.branch-head{padding-left:14px;padding-right:14px}.canvas{--canvas-pad:14px;--rail:6px;--twig:15px;padding-left:14px;padding-right:14px}.leaf-row:before,.leaf-row:after{left:auto;right:calc(var(--rail) + 1.5px);transform:none}.leaf-row{grid-template-columns:1fr}.leaf-row[data-side] .leaf-card{max-width:none;margin:0 calc(var(--rail) + 1.5px + var(--card-gap)) 0 0;grid-column:1;justify-self:stretch}.leaf-row[data-side] .leaf-card:after{left:auto;right:calc(-1 * var(--twig));width:var(--twig);transform-origin:100%}.leaf-node{left:auto;right:calc(var(--rail) + 1.5px);transform:translate(50%,-50%)}.leaf-row[data-side] .leaf-del{left:0;right:auto}.leaf-row[data-side] .leaf-del-arrow{order:0;rotate:180deg}.leaf-row[data-side] .leaf-del-trash{order:1}.leaf-row[data-side] .leaf-card.exiting{animation-name:leaf-off-left}}.grove-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);background:#00000094;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.grove-modal{background:var(--surface);width:min(720px,100%);max-height:min(88vh,900px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.grove-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.grove-title{margin:0;font-size:20px}.grove-body{background:var(--surface-2);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;flex-direction:column;flex:1;gap:16px;padding:18px;display:flex;overflow-y:auto}.tree-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:14px 16px 16px}.tree-card.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.tree-card-head{align-items:center;gap:10px;display:flex}.tree-card-title{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.tree-badge{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:var(--pill);padding:2px 9px;font-size:11px;font-weight:500}.tree-switch{color:var(--muted);border:1px solid var(--border);border-radius:var(--pill);background:0 0;padding:3px 11px;font-size:12px;transition:color .15s,border-color .15s}.tree-switch:hover{color:var(--accent);border-color:var(--accent)}.tree-trash,.branch-trash{border-radius:var(--radius);width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.tree-trash:hover:not(:disabled),.branch-trash:hover:not(:disabled){color:var(--red-600);background:color-mix(in srgb, var(--red-600) 8%, transparent);border-color:color-mix(in srgb, var(--red-600) 35%, transparent)}.tree-trash:disabled,.branch-trash:disabled{opacity:.3;cursor:not-allowed}.tree-figure{color:var(--accent);justify-content:center;padding:8px 0 4px;display:flex}.tree-svg{width:auto;max-width:100%;height:200px;display:block}.tree-svg path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;animation:.9s forwards tree-grow}@keyframes tree-grow{to{stroke-dashoffset:0}}.branch-mgmt{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.branch-row{border-radius:var(--radius);align-items:center;gap:10px;padding:5px 6px;display:flex}.branch-row:hover{background:var(--surface-2)}.branch-dot{background:var(--branch);border-radius:50%;flex:none;width:8px;height:8px}.branch-name{text-align:left;flex:1;min-width:0}.branch-leaves{color:var(--muted);white-space:nowrap;font-size:12px}.branch-add-row{color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:left;background:0 0;width:100%;margin-top:4px;padding:7px 12px;font-size:13px;transition:color .15s,border-color .15s,background .15s}.branch-add-row:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.branch-cap{color:var(--muted);padding:6px 6px 2px;font-size:12px}.tree-plant{border-radius:var(--radius-lg);border:1px dashed var(--border-strong);color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.tree-plant:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.tree-plant-glyph{font-size:18px;line-height:1}.inline-name{border-radius:var(--radius-sm);color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;max-width:100%;padding:2px 6px;font-size:14px;overflow:hidden}.inline-name:hover{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.inline-name.tree-name{font-family:var(--font-serif);font-size:17px}.inline-name-input{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text);outline:none;max-width:100%;padding:2px 6px;font-family:inherit;font-size:14px}.inline-name-input.tree-name{font-family:var(--font-serif);font-size:17px}.branch-tab-edit{color:var(--text);border:1px solid var(--accent);background:var(--surface);outline:none;width:8.5em;font-family:inherit}.confirm-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.15s lightbox-fade;display:flex;position:fixed;inset:0}.confirm-card{background:var(--surface);width:min(400px,100%);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:22px 22px 18px;animation:.2s cubic-bezier(.22,1,.36,1) lightbox-pop}.confirm-title{margin:0 0 8px;font-size:20px}.confirm-body{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.btn.danger{background:var(--red-600);color:#fff;border-color:var(--red-600)}.btn.danger:hover{background:color-mix(in srgb, var(--red-600) 88%, #000);border-color:color-mix(in srgb, var(--red-600) 88%, #000)}@media (prefers-reduced-motion:reduce){.grove-overlay,.grove-modal,.confirm-overlay,.confirm-card{animation:none}.tree-svg path{stroke-dashoffset:0;animation:none}}@media (max-width:640px){.grove-body{padding:14px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}.boot-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:24px;display:flex}.boot-error .serif{font-family:var(--font-serif);margin:0;font-size:22px}.boot-error p{margin:0}.boot-error .btn{margin-top:8px}.boot-error .boot-signin{color:var(--muted);border-color:#0000;margin-top:2px;font-size:13px}.boot-error .boot-signin:hover{color:var(--accent);background:0 0;border-color:#0000}.sync-chip{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;animation:.2s sync-chip-in;display:inline-flex}.sync-chip .sync-mark{display:inline-flex}.sync-chip .sync-mark svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.sync-chip.saved{color:var(--accent)}.sync-chip.error{color:var(--red-600)}.sync-chip.saving .sync-mark svg{animation:.8s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}@keyframes sync-chip-in{0%{opacity:0}to{opacity:1}}@media (max-width:480px){.sync-chip{gap:0;font-size:0}.sync-chip .sync-mark svg{width:15px;height:15px}}@media (prefers-reduced-motion:reduce){.sync-chip.saving .sync-mark svg{animation:none}}.book-overlay{z-index:90;--leather:#3b2a1d;--leather-hi:#5c4530;--leather-lo:#1d130a;--parch:#f1e7cd;--parch-hi:#f7efd8;--parch-lo:#e6d8b4;--bookink:#3a2c1b;--bookmuted:#8a7350;--gilt:#c19a3f;--ribbon:#7c3b39;--tex-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='170' height='170' filter='url(%23p)'/%3E%3C/svg%3E");--tex-leather:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23l)'/%3E%3C/svg%3E");--tex-crease:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='400' viewBox='0 0 300 400'%3E%3Cg fill='none' stroke='%23694c22' stroke-width='0.7' stroke-opacity='0.5'%3E%3Cpath d='M8 70 L292 96'/%3E%3Cpath d='M18 210 L282 156'/%3E%3Cpath d='M0 318 L300 300'/%3E%3Cpath d='M46 384 L258 352'/%3E%3Cpath d='M122 18 L150 384'/%3E%3C/g%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='0.6' stroke-opacity='0.4'%3E%3Cpath d='M10 72 L294 98'/%3E%3Cpath d='M2 320 L300 302'/%3E%3Cpath d='M124 18 L152 384'/%3E%3C/g%3E%3C/svg%3E");--mask-deckle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='520' preserveAspectRatio='none'%3E%3Cfilter id='dk'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.014 0.045' numOctaves='2' seed='6' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='8' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3Crect x='4' y='4' width='412' height='512' fill='%23ffffff' filter='url(%23dk)'/%3E%3C/svg%3E");background:radial-gradient(120% 90% at 50% -12%,#2f2215,#191108 72%);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;animation:.2s lightbox-fade;display:flex;position:fixed;inset:0}.undo-toast{z-index:120}.book-size{align-items:center;gap:8px;display:inline-flex}.book-size-a{font-family:var(--font-serif);color:#a8946a;line-height:1}.book-size-a.sm{font-size:12px}.book-size-a.lg{font-size:17px}.book-size-range{appearance:none;cursor:pointer;background:#c19a3f4d;border-radius:2px;outline:none;width:92px;height:3px}.book-size-range::-webkit-slider-thumb{appearance:none;background:var(--gilt);cursor:pointer;border:2px solid #241a10;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #00000073}.book-size-range::-moz-range-thumb{background:var(--gilt);cursor:pointer;border:2px solid #241a10;border-radius:50%;width:16px;height:16px}@media (max-width:640px){.book-size-range{width:76px}}.bk-frame{flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.bk-bar{z-index:8;padding:9px 14px;padding-top:max(9px, env(safe-area-inset-top));-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#c9b993;background:#191108db;border-bottom:1px solid #e9dcbf1a;flex:none;align-items:center;gap:10px;display:flex}.bk-bar .bk-mark{color:var(--gilt);flex:none;display:inline-flex}.bk-name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;min-width:0;font-family:var(--font-serif);color:#efe6d2;background:0 0;border:0;flex:auto;padding:5px 2px;font-size:14px;overflow:hidden}.bk-name:hover{color:var(--gilt)}.bk-ib{border-radius:var(--radius-sm);color:#a8946a;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:36px;height:36px;display:grid}.bk-ib:hover{color:#efe6d2;background:#e9dcbf14}.bk-ib:disabled{opacity:.35;cursor:default}.bk-ib svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.bk-scroll{scroll-behavior:smooth;scrollbar-width:none;flex:1;min-height:0;padding-right:30px;overflow:hidden auto}.bk-scroll::-webkit-scrollbar{width:0;height:0}.bk-stream{width:min(560px,100%);padding:16px 16px calc(72px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.bk-cover{text-align:center;color:#efe6d2;background:linear-gradient(115deg, #ffffff12, #0003 62%), radial-gradient(120% 100% at 22% 8%, var(--leather-hi), var(--leather) 46%, var(--leather-lo));border-radius:6px 16px 16px 6px;padding:34px 26px 22px;position:relative;overflow:hidden;box-shadow:0 14px 34px #00000075,inset 0 1px #ffffff12}.bk-cover:before{content:"";border-radius:inherit;pointer-events:none;background-image:var(--tex-leather);mix-blend-mode:overlay;opacity:.5;background-size:220px 220px;position:absolute;inset:0}.bk-cover:after{content:"";pointer-events:none;border:1px solid #c19a3f4d;border-radius:3px 11px 11px 3px;position:absolute;inset:12px;box-shadow:inset 0 0 0 3px #1c110742}.bk-cover>*{z-index:1;position:relative}.bk-cover-mark{color:var(--gilt);display:inline-flex}.book-cover-edit{gap:calc(10px * var(--book-scale,1));font-family:var(--font-serif);text-align:center;flex-direction:column;margin-top:8px;display:flex}.book-cover-edit input,.book-cover-edit textarea{resize:none;width:100%;color:inherit;text-align:center;background:0 0;border:none;border-radius:3px;outline:none;padding:2px 0;font-family:inherit}.book-cover-edit input:focus,.book-cover-edit textarea:focus{background:#0003}.book-cover-edit input::placeholder,.book-cover-edit textarea::placeholder{color:#a8946a;opacity:1}.bc-title{font-size:calc(29px * var(--book-scale,1));letter-spacing:.005em;color:var(--gilt);text-shadow:0 1px #0006;font-weight:500;line-height:1.18}.bc-desc{font-size:calc(15px * var(--book-scale,1));color:#e9dcbf;font-style:italic;line-height:1.5}.bc-authors{font-family:var(--font);font-size:calc(11px * var(--book-scale,1));letter-spacing:.15em;text-transform:uppercase;color:#c1ad84}.bk-cover-rule{background:linear-gradient(90deg,transparent,var(--gilt),transparent);width:58px;height:1px;margin:16px auto 0;display:block}.bk-cover-static .bc-title,.bk-cover-static .bc-desc,.bk-cover-static .bc-authors{margin:0}.bk-cover-static{flex-direction:column;gap:10px;margin-top:8px;display:flex}.bk-tools-block{border-top:1px solid #c19a3f33;margin-top:18px;padding-top:16px}.bk-swatches{justify-content:center;align-items:center;gap:9px;display:flex}.bk-sw{cursor:pointer;border:1px solid #00000073;border-radius:2px 5px 5px 2px;width:32px;height:40px;padding:0;transition:transform .18s,box-shadow .18s;position:relative;box-shadow:0 2px 6px #0000006b}.bk-sw.brown{background:linear-gradient(120deg,#5c4530,#3b2a1d 55%,#1d130a)}.bk-sw.black{background:linear-gradient(120deg,#413e37,#26241f 55%,#100f0d)}.bk-sw.burgundy{background:linear-gradient(120deg,#6b3033,#4a1f22 55%,#280f11)}.bk-sw.add{color:var(--gilt);box-shadow:none;background:0 0;border:1px dashed #c19a3f80;place-items:center;font-size:20px;line-height:1;display:grid}.bk-sw:hover{transform:translateY(-2px)}.bk-sw[aria-current=true]{box-shadow:0 0 0 1.5px var(--gilt), 0 3px 9px #00000080;transform:translateY(-2px)}.bk-sw:disabled{opacity:.5;cursor:default;transform:none}.bk-sw-label{font-family:var(--font);letter-spacing:.13em;text-transform:uppercase;color:#b9a67e;margin:10px 0 0;font-size:11px}.bk-rows{border-radius:var(--radius-sm);text-align:left;background:#00000038;flex-direction:column;gap:1px;margin-top:16px;display:flex;overflow:hidden}.bk-crow{color:#e4d8ba;cursor:pointer;width:100%;min-height:44px;font-family:var(--font);text-align:left;background:#ffffff09;border:0;align-items:center;gap:10px;padding:8px 13px;font-size:14px;display:flex}.bk-crow:hover:not(:disabled){color:#fff;background:#ffffff13}.bk-crow:disabled{opacity:.45;cursor:default}.bk-crow .lbl{flex:auto;min-width:0}.bk-crow .val{color:#a8946a;flex:none;font-size:12.5px}.bk-crow svg{color:#b9a67e;fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.bk-crow.static,.bk-crow.static:hover{cursor:default;color:#e4d8ba;background:#ffffff09}.bk-chip{font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--pill);color:#9fd0bf;background:#5f958538;flex:none;padding:3px 8px;font-size:10px}.bk-switch{border-radius:var(--pill);cursor:pointer;background:#0000004d;border:1px solid #c19a3f66;flex:none;width:38px;height:22px;padding:0;position:relative}.bk-switch:after{content:"";background:#a8946a;border-radius:50%;width:16px;height:16px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.bk-switch[aria-checked=true]{border-color:var(--gilt);background:#c19a3f4d}.bk-switch[aria-checked=true]:after{background:var(--gilt);transform:translate(16px)}.bk-stream .leaf{cursor:pointer;border-radius:5px;flex:none;width:auto;padding:34px 30px 14px;box-shadow:0 7px 22px #140c0457,inset 0 1px #ffffff73}.bk-stream .leaf:after{display:none}.bk-stream .leaf .bookcontent{height:auto;animation:none;display:block}.bk-stream .leaf .bk-body>:first-child{margin-top:0}.bk-foot{z-index:2;align-items:center;gap:6px;min-height:36px;margin-top:22px;display:flex;position:relative}.bk-foot .folio{text-align:right;margin:0 0 0 auto;padding:0}.bk-tools{opacity:0;pointer-events:none;flex-wrap:wrap;align-items:center;gap:5px;transition:opacity .22s,transform .22s cubic-bezier(.2,.9,.3,1);display:flex;transform:translateY(4px)}.leaf.armed .bk-tools{opacity:1;pointer-events:auto;transform:none}.bk-tool{cursor:pointer;border-radius:var(--radius-sm);color:#7b6343;background:#fbf7ec9e;border:1px solid #8a6a453d;place-items:center;width:40px;height:40px;padding:0;display:grid}.bk-tool:hover{color:var(--bookink);background:#fff;border-color:#8a6a4573}.bk-tool.danger:hover{color:var(--red-600);border-color:color-mix(in srgb,var(--red-600) 45%,transparent)}.bk-tool.apart{margin-left:12px}.bk-tool svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.bk-seg{border-radius:var(--radius-sm);border:1px solid #8a6a453d;display:inline-flex;overflow:hidden}.bk-seg button{cursor:pointer;color:#7b6343;height:40px;font-family:var(--font);letter-spacing:.03em;background:#fbf7ec9e;border:0;padding:0 13px;font-size:12px}.bk-seg button+button{border-left:1px solid #8a6a453d}.bk-seg button[aria-pressed=true]{color:var(--parch-hi);background:#7b6343}.bk-stream>.leaf.img{align-self:center;width:max(100%,min(760px,100vw - 88px))}.bk-end{text-align:center;font-family:var(--font-serif);color:#a8946a;margin:6px 0 0;padding:20px 0 4px;font-size:15px;font-style:italic}.bk-end span{background:linear-gradient(90deg,#0000,#8e7130,#0000);width:54px;height:1px;margin:0 auto 14px;display:block}.bk-tail{flex-direction:column;gap:8px;display:flex}.bk-tail-head{align-items:baseline;gap:10px;padding:0 2px 2px;display:flex}.bk-tail-head b{font-family:var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gilt);font-size:11px;font-weight:600}.bk-tail-head span{color:#a8946a;font-size:13px}.bk-seed{border-radius:var(--radius-sm);color:#c9b993;background:#fbf7ec12;border:1px solid #e9dcbf21;align-items:center;gap:10px;min-height:48px;padding:8px 11px;font-size:14px;transition:transform .5s cubic-bezier(.3,1.1,.4,1),opacity .5s;display:flex}.bk-seed.rising{opacity:0;transform:translateY(-26px)}.bk-seed .sk{font-family:var(--font);letter-spacing:.16em;text-transform:uppercase;color:#a8946a;flex:none;font-size:10px;font-weight:600}.bk-seed .sw{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-serif);flex:auto;font-style:italic;overflow:hidden}.bk-seed img{object-fit:cover;border:1px solid #e9dcbf2e;border-radius:3px;flex:none;width:44px;height:32px}.bk-bind{cursor:pointer;border-radius:var(--pill);min-height:34px;color:var(--gilt);font-family:var(--font);letter-spacing:.04em;background:#c19a3f1f;border:1px solid #c19a3f73;flex:none;padding:0 13px;font-size:12px}.bk-bind:hover:not(:disabled){background:var(--gilt);color:#241a10;border-color:var(--gilt)}.bk-bind:disabled{opacity:.55;cursor:default}.bk-more{cursor:pointer;border-radius:var(--radius-sm);color:#a8946a;width:100%;min-height:40px;font-family:var(--font);letter-spacing:.05em;background:0 0;border:1px dashed #e9dcbf2e;margin-top:2px;font-size:12.5px}.bk-more:hover{color:#c9b993;border-color:#e9dcbf57}.bk-tail-empty{color:#8a7350;font-size:14px;font-style:italic;font-family:var(--font-serif);padding:14px 2px}.bk-edge{z-index:7;cursor:pointer;touch-action:none;flex-direction:column;align-items:flex-end;gap:2px;width:30px;padding-right:8px;display:flex;position:absolute;bottom:8px;right:0}.bk-tick{cursor:pointer;background:#c19a3f42;border:0;border-radius:2px;flex:none;width:9px;min-height:10px;padding:0;transition:width .18s,background .18s;display:block}.bk-tick:hover{background:var(--gilt);width:16px}.bk-tick[aria-current=true]{background:var(--gilt);width:16px;box-shadow:0 0 8px #c19a3f80}.bk-tick.loose{background:#e9dcbf29}.bk-empty{text-align:center;color:#a8946a;font-family:var(--font-serif);padding:26px 6px;font-size:16px;line-height:1.5}@media (max-width:640px){.bk-stream{width:100%;padding:12px 14px calc(64px + env(safe-area-inset-bottom));gap:16px}.bk-stream .leaf{padding:28px 22px 12px}.bk-cover{padding:28px 20px 20px}.bk-tools{width:100%}.bk-seg{flex-basis:100%;order:-1}.bk-tool{width:44px;height:44px}.bk-seg button{height:44px}.bk-scroll{padding-right:44px}.bk-edge{width:44px}}@media (prefers-reduced-motion:reduce){.bk-scroll{scroll-behavior:auto}.bk-tools,.bk-seed{transition:none}}.leaf{min-width:0;color:var(--bookink);background:radial-gradient(40% 32% at 5% 95%, #78502352, transparent 72%), radial-gradient(34% 26% at 95% 5%, #78502347, transparent 72%), radial-gradient(30% 24% at 96% 93%, #7850233d, transparent 72%), radial-gradient(24% 20% at 4% 7%, #78502333, transparent 72%), radial-gradient(7% 6% at 66% 22%, #8c5f2d14, transparent 72%), radial-gradient(5% 5% at 28% 74%, #8c5f2d12, transparent 72%), radial-gradient(5% 5% at 86% 78%, #7850231a, transparent 72%), radial-gradient(128% 108% at 50% 50%, transparent 46%, #6c481e5c 100%), linear-gradient(120deg, var(--parch-hi), var(--parch) 46%, var(--parch-lo) 100%);position:relative;overflow:hidden}.leaf:before{content:"";pointer-events:none;background-image:var(--tex-paper);mix-blend-mode:multiply;opacity:.11;background-size:170px 170px;position:absolute;inset:0;-webkit-mask:radial-gradient(126% 108%,#0000 30%,#000 88%);mask:radial-gradient(126% 108%,#0000 30%,#000 88%)}.leaf .bookcontent{z-index:1;position:relative}.folio{font-family:var(--font);letter-spacing:.14em;color:var(--bookmuted);font-variant-numeric:tabular-nums;font-size:11px}.leaf.branch{flex-direction:column;display:flex}.bb-col{z-index:1;flex:1;position:relative}.bb-spine{background:linear-gradient(var(--branch),color-mix(in srgb,var(--branch) 45%,transparent));width:3px;position:absolute;top:-40px;bottom:-40px}.bb-half-left .bb-spine{right:-44px}.bb-half-right .bb-spine{left:-44px}.bb-half-full .bb-spine{right:-44px}.bb-row{margin-bottom:30px;position:relative}.bk-stream .bb-col{flex:none}.bk-stream .bb-spine{top:-18px;bottom:-16px}.bk-stream .bb-row:last-child{margin-bottom:0}.bk-stream .bb-photo{height:auto}.bk-stream .bb-photo img{object-fit:contain;height:auto}.bk-stream .bb-video{height:auto}.bb-col.bb-centered{flex-direction:column;justify-content:center;display:flex}.bb-col.bb-centered .bb-row:last-child{margin-bottom:0}.bb-card{background:#fbf7ecad;border:1px solid #8a6a4538;border-radius:12px;width:100%;padding:15px;position:relative;box-shadow:0 1px 3px #26180a1a}.bb-text{font-family:var(--font-serif);color:var(--bookink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:15px;line-height:1.55}.bb-photo{cursor:zoom-in;background:0 0;border:0;border-radius:8px;width:100%;max-height:420px;margin:10px 0 0;padding:0;display:block;position:relative;overflow:hidden}.bb-photo img{object-fit:cover;width:100%;height:100%;display:block}.bb-photo-more{border-radius:var(--pill);color:#fff;letter-spacing:.02em;background:#00000080;padding:2px 8px;font-size:12px;position:absolute;bottom:8px;right:8px}.bb-audio{align-items:center;gap:9px;margin-top:10px;display:flex}.bb-audio-play{border:1px solid var(--branch);width:28px;height:28px;color:var(--branch);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.bb-wave{flex:1;align-items:center;gap:2px;height:34px;display:flex}.bb-wave span{background:color-mix(in srgb,var(--branch) 35%,transparent);border-radius:1px;flex:1;min-height:3px}.bb-wave span.on{background:var(--accent)}.bb-audio-time{color:var(--bookmuted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.bb-video{background:#141210;border-radius:8px;justify-content:center;align-items:center;width:100%;margin:10px 0 0;display:flex;position:relative;overflow:hidden}.bb-video-open{cursor:pointer;width:100%;height:100%;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.bb-video img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.bb-video video{background:#000;width:100%;height:100%;display:block}.bb-video-play{pointer-events:none;background:#141210b8;border:1px solid #ffffff8c;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.bb-video-play:after{content:"";border:10px solid #0000;border-left:16px solid #fff;border-right-width:0;position:absolute;top:13px;left:18px}.bb-video-time{border-radius:var(--pill);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#141210b8;padding:2px 8px;font-size:11px;position:absolute;bottom:8px;right:8px}.bb-doc{max-width:100%;color:var(--branch);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:7px;margin-top:10px;padding:4px 0;display:inline-flex}.bb-doc-mark{flex:none}.bb-doc-snip{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid color-mix(in srgb,var(--branch) 40%,transparent);font-size:13px;overflow:hidden}.bb-meta{color:var(--bookmuted);margin-top:9px;font-size:11px}.bb-loc{color:var(--bookmuted);text-decoration:underline}.bb-doc-overlay{z-index:1000;background:#140e0680;justify-content:center;align-items:center;padding:20px;animation:.2s lightbox-fade;display:flex;position:fixed;inset:0}.bb-doc-modal{background:var(--parchment);color:var(--bookink);width:100%;max-width:640px;max-height:82vh;box-shadow:var(--shadow-2);border-radius:14px;padding:30px 34px;position:relative;overflow-y:auto}.bb-doc-body{line-height:1.7;font-family:var(--font-serif)}.bb-doc-body h1{margin:0 0 .6em;font-size:22px;font-weight:600}.bb-doc-body p{margin:0 0 1em}.export-content{color:#33281b;--bookink:#33281b;--bookmuted:#7a6a4d}.export-content .prose,.export-content .poem-line,.export-content .poem-title{color:#33281b}.export-branch{--bookink:#33281b;--bookmuted:#7a6a4d}.export-branch-row{margin-bottom:20px}.export-branch .bb-card{width:100%;box-shadow:none;background:#f7f0de;border:1px solid #d9cba9;margin:0}.export-branch .bb-card:after,.export-branch .bb-node{display:none}.export-branch .bb-wave span{background:#c9b489}.export-branch .bb-wave span.on{background:#5f9585}.export-branch .bb-doc,.export-branch .bb-audio-play{color:#8a6a45}.export-branch .bb-audio-play{border-color:#8a6a45}.export-branch .bb-doc-snip{border-bottom-color:#c9b489}.export-cover{text-align:center;color:#33281b;flex-direction:column;justify-content:center;align-items:center;gap:22px;height:100%;display:flex}.export-cover .ec-title{letter-spacing:.01em;margin:0;font-size:32px;font-weight:600;line-height:1.3}.export-cover .ec-desc{max-width:80%;margin:0;font-size:17px;font-style:italic;line-height:1.6}.export-cover .ec-authors{letter-spacing:.05em;text-transform:uppercase;color:#7a6a4d;margin:0;font-size:14px}.drafts-link{color:var(--muted);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 40%, transparent);background:0 0;border:0;padding:4px 6px;font-size:13px}.drafts-link:hover{color:var(--text)}.drafts-overlay{z-index:95;-webkit-backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.drafts-modal{background:var(--surface);width:min(600px,100%);max-height:min(84vh,760px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.2s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.drafts-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.drafts-title{margin:0 0 4px;font-size:20px}.drafts-lead{color:var(--muted);max-width:48ch;margin:0;font-size:13px}.drafts-body{background:var(--surface-2);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;flex:1;padding:6px;overflow-y:auto}.drafts-empty{color:var(--muted);text-align:center;padding:44px 20px;font-size:14px}.draft-row{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);align-items:center;gap:12px;margin:6px;padding:10px 12px;display:flex}.draft-icon{color:var(--accent);flex:none;display:inline-flex}.draft-snippet{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-family:var(--font-serif);flex:1;overflow:hidden}.draft-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:54px;height:40px;margin-right:auto}.draft-meta{color:var(--muted);white-space:nowrap;flex:none;font-size:11px}.draft-left{color:color-mix(in srgb, var(--muted) 78%, transparent)}.draft-acts{flex:none;align-items:center;gap:6px;display:inline-flex}.draft-acts .btn.ghost{padding:5px 12px;font-size:13px}.draft-discard{width:30px;height:30px;color:var(--muted);border-radius:var(--radius);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.draft-discard:hover{color:var(--red-600);background:color-mix(in srgb, var(--red-600) 8%, transparent)}.draft-discard svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}@media (prefers-reduced-motion:reduce){.drafts-overlay,.drafts-modal{animation:none}}.leaf.img{padding:16px 16px 6px}.bk-art{z-index:2;display:block;position:relative}.leaf.img .art{object-fit:contain;border-radius:2px;width:100%;height:auto;max-height:none;display:block;box-shadow:0 2px 12px #281a0c4d}.leaf.img.fill{padding:0}.leaf.img.fill .art{box-shadow:none;border-radius:5px 5px 0 0}.leaf.img.fill .bk-foot{padding:0 16px 8px}.leaf.img.fill .corner{display:none}.leaf.img .corner{z-index:3;pointer-events:none;clip-path:polygon(0 0,100% 0,0 100%);filter:drop-shadow(1px 1.5px 1.2px #0000006b);background:linear-gradient(135deg,#3b3b3e 0%,#242426 30%,#1c1c1e 42%,#4d4d51 47.5%,#2a2a2d 50%);width:34px;height:34px;position:absolute}.leaf.img .corner.tl{top:-2px;left:-2px}.leaf.img .corner.tr{top:-2px;right:-2px;transform:rotate(90deg)}.leaf.img .corner.br{bottom:-2px;right:-2px;transform:rotate(180deg)}.leaf.img .corner.bl{bottom:-2px;left:-2px;transform:rotate(-90deg)}.fit-toggle{z-index:4;background:color-mix(in srgb,var(--parch) 82%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid #3c281266;border-radius:999px;font-size:12px;display:inline-flex;position:absolute;bottom:14px;left:50%;overflow:hidden;transform:translate(-50%)}.fit-toggle button{color:var(--bookmuted);background:0 0;border:0;padding:5px 13px}.fit-toggle button.on{background:var(--bookink);color:var(--parch-hi)}.leaf .bookempty{text-align:center;color:var(--bookmuted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px 0;display:flex}.leaf .bookempty svg{fill:none;width:40px;height:40px;stroke:color-mix(in srgb,var(--bookink) 45%,transparent);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.leaf .bookempty p{font-family:var(--font-serif);max-width:22ch;margin:0;font-size:16px}.book-remove{z-index:5;border-radius:var(--radius);background:color-mix(in srgb,var(--parch) 70%,transparent);width:30px;height:30px;color:var(--bookmuted);opacity:0;border:1px solid #0000;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:inline-flex;position:absolute;top:12px;right:14px}.spread:hover .book-remove{opacity:1}.book-remove:hover{color:var(--red-600)}.book-remove svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.book-nav{display:none}.book-nav button{border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.book-nav button:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.book-nav button:disabled{opacity:.35;cursor:not-allowed}.book-nav button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.book-nav .pageno{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;min-width:8ch;font-size:12px}@media (prefers-reduced-motion:reduce){.book-overlay{animation:none}}@media (max-width:768px){.book{--h:min(74vh,600px);border-radius:6px;padding:16px 18px 20px}.book .strap,.book .ribbon{display:none}.leaf{padding:30px 26px}.stack{width:12px}}.compose-memory{max-width:var(--wrap);flex-direction:column;margin:0 auto;padding:12px 20px 4px;display:flex}.app.writing .compose-memory,.app.writing .compose-sub.cm-sub{z-index:50;position:relative}.cm-backdrop{z-index:45;position:fixed;inset:0}.cm-head{align-items:center;padding:0 0 8px;display:flex}.compose-memory .cm-toolbar{border:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;background:var(--parchment);border-bottom:0}.cm-preview{background:var(--parchment);height:min(58vh,620px);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;padding:18px 20px;overflow-y:auto}.cm-preview::-webkit-scrollbar{width:6px}.cm-preview::-webkit-scrollbar-track{background:0 0}.cm-preview::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.cm-rendered{border-radius:0 0 var(--radius) var(--radius);cursor:text;outline:none}.cm-rendered:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.cm-rendered:empty:before{content:attr(data-placeholder);color:var(--muted);cursor:text}.cm-rendered.md>:first-child{margin-top:0}.cm-preview-empty{text-align:center;cursor:text;width:100%;color:var(--muted);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:15px;display:flex}.cm-preview-empty span{opacity:.82;font-size:13px}.cm-textarea{resize:none;background:var(--parchment);height:min(58vh,620px);color:var(--text);border:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;padding:16px 18px;font-family:inherit;font-size:15.5px;line-height:1.65}.cm-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.cm-textarea:disabled{opacity:.7}.cm-textarea::-webkit-scrollbar{width:6px}.cm-textarea::-webkit-scrollbar-track{background:0 0}.cm-textarea::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.cm-actions{justify-content:space-between;align-items:center;gap:12px;padding:10px 2px 0;display:flex}.cm-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.cm-count.near{color:var(--clay-500)}.cm-count.full{color:var(--red-600);font-weight:500}.cm-actions .btn{height:40px;padding:0 20px}.cm-processing{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);box-shadow:var(--shadow-1);align-items:center;gap:10px;margin-top:10px;padding:10px 14px;font-size:13px;display:inline-flex}.cm-spinner{border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:15px;height:15px;animation:.8s linear infinite cm-spin}@keyframes cm-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cm-spinner{animation:none}}@media (max-width:768px){.cm-textarea,.cm-rendered{height:min(52vh,460px)}}.pure-overlay{z-index:70;background:radial-gradient(120% 80% at 50% 42%, var(--parchment) 0%, var(--bark-100) 68%, var(--bark-200) 100%);color:var(--text);overscroll-behavior:none;flex-direction:column;align-items:center;padding:20px;animation:.2s lightbox-fade;display:flex;position:fixed;inset:0;overflow:hidden}:root[data-theme=dark] .pure-overlay{background:radial-gradient(120% 80% at 50% 42%, var(--parchment) 0%, var(--surface) 68%, var(--bg) 100%)}.pure-overlay:before{content:"";z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:220px 220px;position:absolute;inset:0}.pure-overlay:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(120% 90%,#0000 60%,#140e0629 100%);position:absolute;inset:0}.pure-swipe-hint{z-index:2;color:var(--accent);pointer-events:none;animation:3.2s ease-in-out infinite pure-swipe-bob;position:absolute;top:20px;left:50%}@keyframes pure-swipe-bob{0%,to{opacity:.38;transform:translate(-50%)scale(1)}50%{opacity:.7;transform:translate(-50%,-4px)scale(1.06)}}.pure-stage{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:560px;display:flex;position:relative}.pure-question,.pure-eyebrow{z-index:2;text-align:center;width:100%;max-width:560px;margin:0 auto 18px;line-height:1.35;animation:.5s both pure-fade-up;position:relative}.pure-question{color:var(--text);font-size:22px}.pure-eyebrow{color:var(--pure-ink);font-size:20px;font-style:italic}@keyframes pure-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pure-field{z-index:2;flex-direction:column;align-items:center;gap:14px;width:100%;animation:.55s cubic-bezier(.22,1,.36,1) .12s both pure-leaf-settle;display:flex;position:relative}@keyframes pure-leaf-settle{0%{opacity:0;transform:translateY(10px)rotate(-1deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.pure-page{background:var(--parchment);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;padding:22px 20px 16px;transition:box-shadow .35s,border-color .15s;position:relative;overflow:hidden;box-shadow:0 16px 30px #140e0624,inset 0 1px #fff6}.pure-page:focus-within{border-color:var(--accent);box-shadow:0 16px 30px #140e0624, 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent), 0 1px 0 #fff6 inset}.pure-invite{border-radius:var(--radius);pointer-events:none;animation:1.15s ease-out both compose-bloom;position:absolute;inset:0;overflow:hidden}.pure-invite:before{content:"";background:linear-gradient(105deg,#0000 22%,#ffffff73 50%,#0000 78%);width:62%;animation:1.15s ease-out both compose-sweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-165%)}.pure-input{resize:none;width:100%;color:var(--text);text-align:center;background:0 0;border:none;padding:0;font-family:inherit;font-size:17px;line-height:1.5}.pure-input:focus{outline:none}.pure-input::placeholder{color:var(--pure-ink);opacity:1}.pure-input{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent}.pure-input::-webkit-scrollbar{width:6px}.pure-input::-webkit-scrollbar-track{background:0 0}.pure-input::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:var(--pill)}.pure-input:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.pure-input:focus::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 65%, transparent)}.pure-input::-webkit-scrollbar-button{display:none}.pure-add{height:46px;padding:0 30px;transition:transform .12s;position:relative;overflow:hidden}.pure-add:active{transform:scale(.96)}.pure-add:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff73,#fff0 70%);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.pure-add:active:after{animation:.55s ease-out pure-ink-bloom}@keyframes pure-ink-bloom{0%{opacity:.9;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(15)}}.pure-memory-input{text-align:left;resize:none;height:min(46vh,420px)}.pure-memory-input:disabled{opacity:.7}.pure-sub{z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex;position:relative}.pure-drafts{z-index:2;text-align:left;cursor:pointer;max-width:560px;color:var(--muted);letter-spacing:.02em;background:0 0;border:0;margin:0 auto;font-size:13px;transition:color .15s;display:block;position:absolute;bottom:14px;left:20px;right:20px}.pure-drafts:hover{color:var(--accent)}.pure-drafts-count{color:var(--accent);font-variant-numeric:tabular-nums}.pure-overlay.flicking{animation:.4s cubic-bezier(.4,0,.2,1) forwards pure-flick-away}@keyframes pure-flick-away{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14%)}}@media (prefers-reduced-motion:reduce){.pure-overlay,.pure-overlay.flicking,.pure-swipe-hint,.pure-question,.pure-eyebrow,.pure-field{animation:none}.pure-add:after{animation:none!important}.pure-invite,.pure-invite:before{animation:none}.pure-add,.pure-page{transition:none}}.drafts-modal{width:min(600px,100%)}.drafts-empty{text-align:center;background:var(--surface-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:44px 28px;display:flex}.drafts-empty-leaf{color:var(--accent);opacity:.6}.drafts-empty p{max-width:42ch;margin:0}.drafts-empty p.serif{font-size:18px}.drafts-body{background:var(--surface-2);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 45%, transparent) transparent;flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.drafts-hint{margin:0 2px;font-size:13px}.drafts-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.draft-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);align-items:stretch;gap:4px;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.draft-card.sel{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent)}.draft-pick{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:0;flex-direction:column;flex:1;gap:7px;padding:12px;display:flex}.draft-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:15px;line-height:1.45;display:-webkit-box;overflow:hidden}.draft-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.draft-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.draft-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:var(--pill);padding:1px 7px;font-size:10.5px}.draft-trash{align-self:center;margin-right:6px}.draft-filer{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:12px;margin-top:8px;padding:12px;animation:.16s both filer-in;display:flex}@keyframes filer-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.filer-trunk{flex-direction:column;gap:6px;display:flex}.filer-trunk-name{color:var(--muted);font-size:12px;font-weight:600}.filer-trunk.active .filer-trunk-name{color:var(--accent)}.filer-branches{flex-wrap:wrap;gap:6px;display:flex}.filer-branch{border:1px solid var(--border-strong);border-radius:var(--pill);color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.filer-branch:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.filer-branch-count{color:var(--muted);background:var(--surface-2);border-radius:var(--pill);padding:0 6px;font-size:11px}.filer-branch:hover .filer-branch-count{color:var(--accent)}.filer-none{font-size:12px}.filer-branch.current{opacity:.55;cursor:default;border-style:dashed}.filer-branch.current:hover{color:var(--text);border-color:var(--border-strong);background:0 0}.filer-branch:disabled{pointer-events:none}.move-leaf-preview{border-radius:var(--radius-lg);background:var(--parchment);border:1px solid var(--border);color:var(--text);margin:2px 2px 4px;padding:10px 12px;font-size:14.5px;line-height:1.5}.move-leaf-filer{margin-top:0}@media (prefers-reduced-motion:reduce){.draft-filer{animation:none}}.grove-drafts-link{cursor:pointer;color:var(--muted);background:0 0;border:0;align-self:center;margin-top:2px;font-size:13px;transition:color .15s}.grove-drafts-link:hover{color:var(--accent)}.grove-drafts-count{color:var(--accent);font-variant-numeric:tabular-nums}.book-share{z-index:5;border-radius:var(--radius);background:color-mix(in srgb,var(--parch) 70%,transparent);width:30px;height:30px;color:var(--bookmuted);opacity:.5;border:1px solid #0000;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:inline-flex;position:absolute;top:12px;right:52px}.spread:hover .book-share{opacity:1}.book-share:hover{color:var(--accent)}.book-share svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.share-overlay{z-index:95;-webkit-backdrop-filter:blur(3px);background:#00000094;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.share-modal{background:var(--surface);width:min(420px,100%);max-height:min(90vh,780px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) lightbox-pop;display:flex;overflow:hidden}.share-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.share-title{margin:0;font-size:19px}.share-aspect{gap:8px;padding:14px 16px 2px;display:flex}.share-aspect button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);cursor:pointer;flex:1;padding:9px 10px;font-size:13.5px;transition:color .15s,border-color .15s,background .15s}.share-aspect button .muted{font-size:11px}.share-aspect button.on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--surface);color:var(--accent);font-weight:500}.share-stage{background:var(--surface-2);flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex}.share-preview{object-fit:contain;border-radius:9px;max-width:100%;box-shadow:0 12px 34px -12px #140e068c}.share-stage.square .share-preview{max-height:min(54vh,336px)}.share-stage.portrait .share-preview{max-height:min(64vh,470px)}.share-msg{color:var(--muted);align-items:center;gap:10px;min-height:220px;font-size:14px;display:inline-flex}.share-spinner{border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite cm-spin}.share-actions{gap:10px;padding:14px 16px 4px;display:flex}.share-actions .btn{flex:1}.share-note{margin:0;padding:4px 16px 16px;font-size:12px;line-height:1.5}@media (prefers-reduced-motion:reduce){.share-overlay,.share-modal,.share-spinner{animation:none}}.share-picker{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent;gap:6px;padding:12px 16px 2px;display:flex;overflow-x:auto}.share-picker button{border:1px solid var(--border);border-radius:var(--pill);background:var(--surface-2);max-width:160px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:none;padding:7px 12px;font-size:12.5px;transition:color .15s,border-color .15s,background .15s;overflow:hidden}.share-picker button.on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--surface);color:var(--accent);font-weight:500}.share-picker::-webkit-scrollbar{height:6px}.share-picker::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 45%,transparent);border-radius:var(--pill)}.share-format{gap:8px;padding:14px 16px 2px;display:flex}.share-format button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);cursor:pointer;flex:1;padding:9px 10px;font-size:13.5px;transition:color .15s,border-color .15s,background .15s}.share-format button .muted{font-size:11px}.share-format button.on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--surface);color:var(--accent);font-weight:500}.share-poster{justify-content:center;align-items:center;display:flex;position:relative}.share-encoding{background:linear-gradient(#0000 45%,#080a08bf);border-radius:9px;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;padding:18px;display:flex;position:absolute;inset:0}.share-encoding .muted{color:#eee7d8eb;font-size:12.5px}.share-progress{background:#eee7d838;border-radius:999px;width:82%;height:6px;overflow:hidden}.share-progress span{background:var(--accent);border-radius:999px;height:100%;transition:width .2s;display:block}video.share-preview{background:#000}@media (prefers-reduced-motion:reduce){.share-progress span{transition:none}}.book-song-replace{flex-direction:column;gap:4px;margin-top:9px;display:flex}.book-replace-link{cursor:pointer;color:#2d5a4c;background:0 0;border:1px dashed #2d5a4c73;border-radius:999px;align-self:flex-start;align-items:center;padding:5px 13px;font-size:12.5px;transition:background .15s,border-color .15s;display:inline-flex}.book-replace-link:hover{background:#2d5a4c14;border-color:#2d5a4cb3}.book-replace-link.busy{opacity:.65;cursor:progress}.book-replace-err{color:var(--red-600);font-size:11.5px}.share-modal.sharebook{width:min(440px,100%)}.sharebook-body{flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.sharebook-lead{color:var(--text);margin:0;font-size:14px;line-height:1.55}.sharebook-link{gap:8px;display:flex}.sharebook-link input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);min-width:0;color:var(--text);flex:1;padding:9px 11px;font-family:inherit;font-size:13px}.sharebook-link .btn{flex:none}.sharebook-actions{gap:8px;display:flex}.sharebook-actions .btn{flex:1}.sharebook-share{width:100%}.sharebook-note{margin:0;font-size:12px;line-height:1.5}.sharebook-err{color:var(--red-600);margin:0;font-size:12.5px}.acct-row-block{flex-direction:column;align-items:stretch;gap:10px;display:flex}.au-photos{flex-wrap:wrap;gap:8px;display:flex}.au-thumb{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);width:62px;height:62px;position:relative;overflow:hidden}.au-thumb img{object-fit:cover;width:100%;height:100%;display:block}.au-remove{cursor:pointer;color:#fff;opacity:0;background:#0000008c;border:0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:15px;line-height:1;transition:opacity .15s;display:inline-flex;position:absolute;top:2px;right:2px}.au-thumb:hover .au-remove,.au-remove:focus-visible{opacity:1}.au-remove:disabled{cursor:default}.au-add{border-radius:var(--radius);cursor:pointer;border:1px dashed var(--border-strong);width:62px;height:62px;color:var(--muted);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;transition:color .15s,border-color .15s;display:inline-flex}.au-add:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.au-add:disabled{opacity:.6;cursor:default}.au-count,.au-empty{font-size:11.5px}.au-err{color:var(--red-600);font-size:12px}@media (prefers-reduced-motion:reduce){.au-remove,.au-add{transition:none}}.pp-list{flex-direction:column;gap:10px;display:flex}.pp-person{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.pp-fields{align-items:center;gap:8px;display:flex}.pp-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--text);font:inherit;padding:6px 9px;font-size:13.5px}.pp-input:focus{border-color:var(--accent);outline:none}.pp-name{flex:0 38%;font-weight:600}.pp-relation{flex:auto}.pp-remove{cursor:pointer;width:26px;height:26px;color:var(--muted);border-radius:var(--pill);background:0 0;border:none;flex:none;font-size:18px;line-height:1}.pp-remove:hover{color:var(--red-600)}.pp-count{font-size:11.5px}.pp-add{border:1px dashed var(--border-strong);border-radius:var(--pill);color:var(--muted);font:inherit;cursor:pointer;background:0 0;align-self:flex-start;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:color .12s,border-color .12s;display:inline-flex}.pp-add:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.pp-add:disabled{opacity:.6;cursor:default}.pp-form-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:480px){.pp-fields{flex-wrap:wrap}.pp-name{flex-basis:calc(100% - 34px)}.pp-relation{flex-basis:100%}}.as-toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.as-toggle input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.as-works{flex-direction:column;gap:6px;display:flex}.as-work{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);align-items:center;gap:9px;padding:6px 30px 6px 8px;display:flex;position:relative}.as-work img{object-fit:cover;border-radius:4px;flex:none;width:30px;height:30px}.as-work-mark{width:30px;height:30px;color:var(--branch);flex:none;justify-content:center;align-items:center;display:inline-flex}.as-work-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.as-work-plain{opacity:.62}.as-work-plain .as-work-name:after{content:" · style not read";color:var(--muted)}.as-work .au-remove{top:50%;right:6px;transform:translateY(-50%)}.as-add{cursor:pointer;color:var(--accent);border:1px dashed var(--border-strong);border-radius:var(--radius);background:0 0;align-self:flex-start;padding:6px 12px;font-size:12.5px;transition:border-color .15s,color .15s}.as-add:hover:not(:disabled){border-color:var(--accent)}.as-add:disabled{color:var(--muted);cursor:default}@media (prefers-reduced-motion:reduce){.as-add{transition:none}}.cut-list{flex-direction:column;gap:8px;display:flex}.cut-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);align-items:center;gap:12px;padding:10px 12px;display:flex}.cut-kind{border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 12%, transparent);width:30px;height:30px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.cut-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cut-label{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.cut-meta{color:var(--muted);font-size:11.5px}.cut-actions{flex:none;align-items:center;gap:4px;display:flex}.cut-back{padding:5px 11px;font-size:12.5px}.cut-discard{cursor:pointer;width:28px;height:28px;color:var(--muted);border-radius:var(--pill);background:0 0;border:0;font-size:18px;line-height:1}.cut-discard:hover{color:var(--red-600)}@media (max-width:480px){.cut-meta{white-space:normal}}.book-overlay.leather-black{--leather:#1b1b1f;--leather-hi:#3b3b44;--leather-lo:#050507;--ribbon:#6b2f2c;--gilt:#c9b46a;--leather-glow:#7d7d8c57}.book-overlay.leather-burgundy{--leather:#4a1a21;--leather-hi:#762d39;--leather-lo:#1e070b;--ribbon:#2f4a3c;--gilt:#d1ad4f;--leather-glow:#c46e7a57}.book-swatch{vertical-align:-2px;border-radius:2px 4px 4px 2px;flex:none;display:inline-block;box-shadow:inset 0 0 0 1px #00000040,0 1px 2px #00000040}.swatch-brown{background:linear-gradient(158deg,#5c4530,#3b2a1d 46%,#1d130a)}.swatch-black{background:linear-gradient(158deg,#3b3b44,#1b1b1f 46%,#050507)}.swatch-burgundy{background:linear-gradient(158deg,#762d39,#4a1a21 46%,#1e070b)}.book-picker-btn{border-radius:var(--radius);min-width:0;max-width:100%;color:var(--text);font-family:var(--font-serif);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:4px 8px;font-size:13px;display:inline-flex}.book-picker-btn:hover{border-color:var(--border);background:var(--surface-2)}.book-picker-btn svg{flex:none}.book-picker .wb-menu{min-width:250px;left:0;right:auto}.wb-item.current{background:color-mix(in srgb, var(--accent) 8%, transparent)}.wb-item-title .book-swatch{margin-right:2px}.wv-bind .wb-menu{top:auto;bottom:calc(100% + 6px)}.wv-bind .wb-main{align-items:center;gap:7px;display:inline-flex}.wv-bind .wb-main .book-swatch{box-shadow:0 0 0 1px #ffffff8c}.wv-bind .wb-caret{padding-left:7px;padding-right:7px}.toc-list{margin:0;padding:0;list-style:none}.toc-row{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);align-items:center;gap:10px;margin:6px;padding:8px 10px;display:flex}.toc-row.dragging{opacity:.45}.toc-row.over{border-color:var(--accent);box-shadow:0 -2px 0 var(--accent)}.toc-grip{color:var(--muted);cursor:grab;flex:none;padding:4px 2px;display:inline-flex}.toc-row.dragging .toc-grip{cursor:grabbing}.toc-icon{color:var(--accent);flex:none;display:inline-flex}.toc-main{text-align:left;cursor:pointer;min-width:0;color:var(--text);background:0 0;border:0;flex-direction:column;flex:1;gap:1px;padding:0;display:flex}.toc-title{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.toc-meta{font-size:11.5px}.toc-acts{flex:none;gap:2px;display:inline-flex}.toc-nudge{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:28px;height:28px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.toc-nudge:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.toc-nudge:disabled{opacity:.35;cursor:default}.wv-refine{flex-direction:column;gap:6px;max-width:640px;margin:12px auto 0;display:flex}.wv-refine-row{align-items:stretch;gap:8px;display:flex}.wv-refine-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--parchment);min-width:0;color:var(--text);flex:1;padding:9px 12px;font-size:14px}.wv-refine-input:focus{border-color:var(--accent);outline:none}.wv-refine-go{white-space:nowrap;flex:none}.wv-refine-hint,.wv-refine-done{margin:0;font-size:12.5px}.wv-refine-error{margin:0}@media (max-width:560px){.wv-refine-row{flex-direction:column}}.trunk-pill{max-width:100%}.trunk-pill-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:480px){.app-header .theme-toggle{display:none}.trunk-pill{max-width:118px}.header-right{gap:6px}}.acct-theme{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 4px;font-size:13.5px;display:none}@media (max-width:480px){.acct-theme{display:flex}}@media (max-width:768px){.icon-btn{width:40px;height:40px}.compose-sub{gap:4px 10px}.compose-photos-link,.compose-sub>button{min-height:44px;padding:6px 4px}.leaf-add{width:40px;height:40px}.leaf-row .leaf-when-set,.leaf-row .leaf-loc-set{flex:none;width:40px;height:40px}.leaf-time-btn{min-height:40px;margin:-8px -6px;padding:8px 6px}.leaf-del{padding:12px 14px}.compose-pin{width:40px;height:40px}.branch-add{width:36px;height:36px}.leaf-artifact-remove{width:40px;height:40px}.leaf-artifact-bind{bottom:-3px;right:50px}.leaf-artifact-bind .leaf-add{width:40px;height:40px}.leaf-artifact--audio .leaf-artifact-bind{top:11px;bottom:auto}.drafts-link{min-height:44px;padding:8px 10px}.grove-drafts-link{min-height:44px;padding:10px 12px}.tree-trash,.branch-trash,.toc-nudge,.cut-discard,.draft-discard,.book-nav button{width:44px;height:44px}.fit-toggle button{padding:11px 16px}.book-remove,.book-share{width:40px;height:40px}}.sheet-backdrop{z-index:96;background:#00000073;animation:.16s lightbox-fade;position:fixed;inset:0}.sheet{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);max-width:520px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-2);border-radius:16px;margin:0 auto;padding:6px 6px 8px;animation:.22s cubic-bezier(.22,1,.36,1) sheet-up;position:absolute}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet-grab{background:var(--border-strong);border-radius:2px;width:36px;height:4px;margin:4px auto 8px}.sheet-row{width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:15px;display:flex}.sheet-row+.sheet-row{border-top:1px solid var(--border);border-radius:0}.sheet-row:active{background:var(--surface-2)}.sheet-row:disabled{opacity:.45;cursor:default}.sheet-row-static{cursor:default}.sheet-sub{text-align:right;font-size:12.5px}.sheet .book-size{padding:0}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.sheet-title{color:var(--text);margin:2px 14px 6px;font-size:17px}.sheet-main{align-items:center;gap:8px;display:inline-flex}.sheet-row.on{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:10px}.sheet-row.on+.sheet-row{border-top-color:#0000}@media (max-width:640px){.confirm-overlay{align-items:flex-end;padding:8px}.confirm-card{width:100%;max-width:520px;padding:18px 18px calc(14px + env(safe-area-inset-bottom,0px));border-radius:16px;margin:0 auto;animation:.22s cubic-bezier(.22,1,.36,1) sheet-up}.confirm-card:before{content:"";background:var(--border-strong);border-radius:2px;width:36px;height:4px;margin:-6px auto 12px;display:block}.confirm-actions{flex-direction:column-reverse;gap:8px}.confirm-actions .btn{width:100%;min-height:48px}.grove-overlay,.drafts-overlay{align-items:stretch;padding:0}.grove-modal,.drafts-modal{border:0;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;animation:.22s cubic-bezier(.22,1,.36,1) sheet-up}.grove-body{padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));gap:12px}.drafts-body{padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}.tree-card{border-radius:var(--radius);padding:12px 12px 14px}}@media (max-width:768px){.toc-grip{display:none}.toc-row{min-height:52px}}.toc-row{touch-action:pan-y;-webkit-user-select:none;user-select:none}.toc-row.lifted{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface));transform:scale(1.015);box-shadow:0 6px 18px -8px #00000073}.toc-row.target{border-style:dashed}.toc-row.target .toc-main{cursor:copy}@media (prefers-reduced-motion:reduce){.confirm-card,.grove-modal,.drafts-modal{animation:none}}@media (max-width:480px){.wv-pick{padding:14px 12px 16px}.wv-types{grid-template-columns:1fr 1fr;gap:8px}.wv-type-main{gap:1px;padding:12px 10px 11px}.wv-type-icon{margin-bottom:5px}.wv-type-icon svg{width:24px;height:24px}.wv-type-label{font-size:13.5px}.wv-type-blurb{display:none}.wv-type-caret{width:40px}.set-bar{flex-wrap:wrap;gap:6px 10px;padding:10px 14px}.set-bar-sum{white-space:normal;flex-basis:100%;order:3;line-height:1.35}.set-bar>svg{margin-left:auto}}.app-header{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}@media (max-width:640px){.app-header{padding-left:calc(14px + env(safe-area-inset-left,0px));padding-right:calc(14px + env(safe-area-inset-right,0px))}}.pure-drafts{bottom:calc(14px + env(safe-area-inset-bottom,0px))}.undo-toast{bottom:calc(24px + env(safe-area-inset-bottom,0px))}@media (max-width:640px){.wv-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.book-nav{margin-bottom:0}}.toc-main{flex-direction:row;align-items:center;gap:12px;display:flex}.toc-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toc-title{font-size:14.5px}.toc-snippet{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.toc-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.toc-kind{color:var(--accent);align-items:center;gap:4px;display:inline-flex}.toc-kind svg{display:inline-block}.toc-thumb{background:#f1e7cd;border-radius:2px 5px 5px 2px;flex:none;width:54px;height:72px;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000047,0 0 0 1px #00000014}.toc-thumb-img img{object-fit:cover;width:100%;height:100%;display:block}.toc-thumb-page{color:#3a2c1b;font-family:var(--font-serif);flex-direction:column;gap:2px;padding:7px 6px;display:flex}.toc-thumb-line{white-space:nowrap;text-overflow:clip;font-size:4.6px;line-height:1.35;display:block;overflow:hidden}.toc-thumb-line.head{white-space:normal;max-height:16px;margin-bottom:1px;font-size:5.6px;font-weight:600}.toc-thumb-page.poem{padding-top:9px}.toc-thumb-page.poem .toc-thumb-line{font-size:4.4px}.toc-thumb-page.branch{padding-left:14px}.toc-thumb-page.branch .toc-thumb-line{white-space:normal;background:#3a2c1b12;border-radius:1px;max-height:12px;margin-bottom:2px;padding:1px 2px;font-size:4.2px}.toc-thumb-spine{opacity:.7;background:#8a6a45;width:1px;position:absolute;top:6px;bottom:6px;left:8px}.toc-thumb-note{color:var(--accent);font-size:10px;font-style:normal;position:absolute;bottom:2px;right:4px}@media (max-width:480px){.toc-thumb{width:46px;height:62px}.toc-snippet{-webkit-line-clamp:1}}@media (max-width:768px){.leaf-foot{flex-wrap:wrap;row-gap:6px}.leaf-meta{flex:auto;min-width:0}.leaf-time-btn,.leaf-time{white-space:nowrap;flex:none}.leaf-adders{flex:1 0 100%;justify-content:flex-start}.branch-title{overflow-wrap:anywhere;text-wrap:balance;min-width:0;font-size:24px;line-height:1.2}.branch-head{align-items:center}.wb-main{white-space:nowrap}}@media (hover:none){.leaf-row:not([data-revealed=true]):not(:focus-within) .leaf-adders,.leaf-row:not([data-revealed=true]):not(:focus-within) .leaf-loc-set:not(.on),.leaf-row:not([data-revealed=true]):not(:focus-within) .leaf-when-set{display:none}}@media (max-width:480px){.compose-sub{gap:2px 6px}.compose-photos-link,.compose-sub>button{padding:6px 2px;font-size:12px}.wb-main{padding-left:12px;padding-right:10px;font-size:13px}}.canvas-wide{--woven-col:272px;grid-template-columns:var(--woven-col) minmax(0, var(--wrap)) var(--woven-col);justify-content:center;align-items:start;column-gap:28px;padding:0 16px;display:grid;position:relative}.canvas-wide>.canvas{grid-area:1/2;min-width:0}.woven-col{grid-row:1;min-width:0;position:relative}.woven-col.left{grid-column:1}.woven-col.right{grid-column:3}.woven-card{z-index:1;touch-action:pan-y;background:var(--parchment);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:11px 13px 10px;animation:.6s cubic-bezier(.34,1.56,.64,1) backwards leaf-fall;position:relative}.woven-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.woven-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.woven-when{white-space:nowrap;margin-left:auto;font-size:11px}.woven-card:hover .leaf-del,.woven-card:focus-within .leaf-del,.woven-card.compact .leaf-del{opacity:1;pointer-events:auto}@media (hover:none){.woven-card .leaf-del{opacity:1;pointer-events:auto}}.woven-col.left .leaf-del-arrow,.woven-card.compact .leaf-del-arrow{order:0;rotate:180deg}.woven-card.exiting{pointer-events:none;z-index:3;animation-duration:1.5s;animation-timing-function:linear;animation-delay:0s;animation-fill-mode:forwards}.woven-col.left .woven-card.exiting,.woven-card.compact.exiting{animation-name:leaf-off-left}.woven-col.right .woven-card.exiting{animation-name:leaf-off-right}.woven-image{cursor:zoom-in;border-radius:var(--radius);background:0 0;border:0;width:100%;padding:0;display:block;overflow:hidden}.woven-image img{width:100%;max-width:100%;height:auto;display:block}.woven-card{min-width:0;max-width:100%}@media (max-width:768px){.woven-more{min-height:40px}}.woven-player{margin-bottom:8px}.woven-body{font-family:var(--font-serif);color:var(--text);-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;max-height:11.5em;font-size:14px;line-height:1.55;position:relative;overflow:hidden}.woven-body:not(.open):after{content:"";background:linear-gradient(to bottom, transparent, var(--parchment));pointer-events:none;height:3em;position:absolute;bottom:0;left:0;right:0}.woven-body.open{max-height:none}.woven-body p{margin:0 0 .6em}.woven-body h1,.woven-body h2,.woven-body h3{margin:0 0 .5em;font-size:15px}.woven-body.wv-poem .poem-title{letter-spacing:.18em;margin:0 0 .8em;font-size:13px}.woven-body.wv-poem .poem-line{display:block}.woven-body.wv-quote p{text-align:center;font-size:15px;font-weight:600}.woven-body.wv-screenplay{font-family:Courier New,Courier,monospace;font-size:12px}.woven-more{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:4px 0;font-size:12.5px}.woven-more:hover{text-decoration:underline}.woven-foot{flex-wrap:wrap;gap:4px;margin-top:8px;font-size:11px;display:flex}.woven-source{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.lightbox{z-index:120;background:#000000d1;justify-content:center;align-items:center;padding:20px;animation:.18s lightbox-fade;display:flex;position:fixed;inset:0}.lightbox-img{border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #0009}.lightbox-close{color:#fff;cursor:pointer;background:#0006;border:1px solid #ffffff4d;border-radius:50%;width:40px;height:40px;font-size:18px;position:absolute;top:14px;right:14px}.canvas-panes{position:relative}.pane-switch{max-width:var(--wrap);gap:14px;margin:0 auto;padding:12px 20px 18px;display:flex}.pane-switch button{border:1px solid var(--border);border-radius:var(--pill);min-height:40px;color:var(--muted);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.pane-switch button.on{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.pane-count{border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);padding:1px 7px;font-size:11px}.panes{touch-action:pan-y;grid-template-columns:100% 100%;display:grid;overflow:hidden}.panes>.pane{min-width:0;transition:transform .28s cubic-bezier(.22,1,.36,1)}.canvas-panes[data-pane=weaves]>.panes>.pane{transform:translate(-100%)}.woven-list{max-width:var(--wrap);flex-direction:column;gap:12px;margin:0 auto;padding:8px 14px 64px;display:flex}.woven-card.compact{padding:10px 12px 9px}.woven-empty{text-align:center;padding:48px 24px}.woven-empty p{margin:0 0 6px}@media (max-width:640px){.pane-switch{gap:12px;padding:12px 14px 18px}}@media (prefers-reduced-motion:reduce){.panes>.pane{transition:none}.woven-card{animation:none}}.woven-acts{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.woven-act{border:1px solid var(--border);border-radius:var(--pill);min-height:30px;color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.woven-act:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.woven-act.bound{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.woven-act:disabled{opacity:.6;cursor:default}.woven-bind{gap:0}.woven-bind-menu{min-width:250px;left:0;right:auto}.leaf-main:has(.wb-menu){z-index:12}.wb-item:disabled{cursor:default}@media (max-width:768px){.woven-act{min-height:40px;padding:6px 12px}}.canvas-wide{--woven-col:232px}.branch-title-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.branch-cover{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:12.5px;display:flex}.branch-cover-line{background:color-mix(in srgb, var(--border) 80%, transparent);border-radius:2px;width:120px;height:3px;display:inline-block;overflow:hidden}.branch-cover-line i{background:var(--accent);border-radius:2px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.woven-sheaf{flex-direction:column;gap:6px;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;left:0;right:0}.woven-sheaf-head{letter-spacing:.06em;text-transform:uppercase;padding:0 4px 2px;font-size:11px}.woven-seed{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 7%, var(--parchment));width:100%;min-height:30px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:12.5px;line-height:1.2;transition:opacity .18s,border-color .18s,background .18s,transform .18s;display:flex}.woven-seed:hover,.woven-seed.lit{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--parchment))}.woven-seed.dim,.woven-slot.dim{opacity:.55}.woven-seed:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.woven-seed-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);flex:none;align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:inline-flex}.woven-seed-words{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-serif);flex:1;font-size:13px;overflow:hidden}.woven-seed-thumb{object-fit:cover;border-radius:4px;flex:none;width:22px;height:22px}.woven-wave{color:var(--accent);flex:none}.woven-wave rect{fill:currentColor;opacity:.75}.woven-seed-book{background:var(--imp-3);border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto}.woven-more-seeds{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:center;min-height:28px;padding:4px 8px;font-size:12px}.woven-more-seeds:hover{color:var(--accent)}@keyframes seed-bud{0%{opacity:0;transform:translateX(var(--from,-14px)) scale(.92)}to{opacity:1;transform:none}}.woven-col.left .woven-seed.arrive{--from:14px}.woven-seed.arrive{animation:.5s cubic-bezier(.22,1,.36,1) .18s backwards seed-bud}.woven-slot.open{display:block}.woven-fold{width:28px;height:28px;color:var(--muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.woven-fold:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.canvas-wide{--shift:0px}.canvas-wide>.canvas{z-index:1}.canvas-wide>.canvas .leaf-row{transition:translate .55s cubic-bezier(.3,1.3,.4,1);transition-delay:calc(min(var(--ripple,0), 12) * 26ms);translate:none}.canvas-wide[data-shift=left]>.canvas .leaf-row{translate:var(--shift) 0}.canvas-wide[data-shift=right]>.canvas .leaf-row{translate:calc(-1 * var(--shift)) 0}.woven-col{width:100%;transition:translate .55s cubic-bezier(.3,1.3,.4,1),width .55s cubic-bezier(.3,1.3,.4,1)}.canvas-wide[data-shift=left]>.woven-col.right{width:calc(100% - var(--shift));translate:var(--shift) 0}.canvas-wide[data-shift=right]>.woven-col.left{width:calc(100% - var(--shift))}@media (prefers-reduced-motion:reduce){.canvas-wide>.canvas .leaf-row,.woven-col{transition:none}}.leaf-row.lit .leaf-main{box-shadow:var(--shadow-2);border-color:var(--accent);transform:translateY(-2px)}.leaf-row .leaf-main{transition:box-shadow .2s,border-color .2s,transform .2s}.canvas-wide[data-focus] .leaf-row:not(.lit) .leaf-main{opacity:.8}.woven-group{flex-direction:column;gap:6px;scroll-margin-top:12px;display:flex}.woven-group+.woven-group{margin-top:10px}.woven-group-head{align-items:baseline;gap:8px;margin:0 0 2px;font-size:14px;font-weight:500;display:flex}.woven-group-count{color:var(--muted);font-size:11px;font-family:var(--font)}.woven-tie{cursor:pointer;font:inherit;color:var(--muted);text-align:left;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);background:0 0;border:0;margin:0;padding:0}.woven-tie:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.woven-tie.loose{color:var(--clay-500);text-decoration-style:dashed}.woven-tie.loose:hover{color:var(--accent)}.loose-door{cursor:pointer;font:inherit;color:var(--clay-500);text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.loose-door:hover{color:var(--accent)}.woven-sheaf-head.loose-door{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.tie-modal{max-height:min(86vh,820px)}.tie-search{border-bottom:1px solid var(--border);background:var(--surface);padding:10px 14px}.tie-search input{width:100%;height:40px;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:0 12px;font-size:14px}.tie-search input:focus{border-color:var(--accent);outline:none}.tie-body{padding:8px 6px 10px}.tie-group+.tie-group{margin-top:12px}.tie-branch{font-family:var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--branch);margin:0 0 4px;padding:0 10px;font-size:10.5px;font-weight:600}.tie-trunk+.tie-trunk{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.tie-tree{font-family:var(--font-serif);color:var(--text);align-items:baseline;gap:9px;margin:0 0 8px;padding:0 10px;font-size:16px;font-weight:500;display:flex}.tie-tree-here{font-family:var(--font);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--pill);background:var(--surface-2);color:var(--muted);padding:3px 7px;font-size:9.5px;font-weight:600}.tie-warn{color:var(--clay-500);background:color-mix(in srgb, var(--clay-500) 8%, transparent);border-top:1px solid var(--border);margin:0;padding:9px 16px 12px;font-size:12.5px;line-height:1.5}.tie-leaf{border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;min-height:48px;font-family:var(--font-serif);color:var(--text);background:0 0;border:1px solid #0000;align-items:flex-start;gap:10px;padding:9px 10px;font-size:15px;line-height:1.45;display:flex}.tie-leaf:hover{background:var(--surface);border-color:var(--border)}.tie-leaf.on{background:color-mix(in srgb, var(--accent) 7%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.tie-box{border:1.5px solid var(--border-strong);color:#0000;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;margin-top:3px;display:grid}.tie-box svg{width:11px;height:11px}.tie-leaf.on .tie-box{background:var(--accent);border-color:var(--accent);color:#fff}.tie-text{overflow-wrap:anywhere;flex:auto;min-width:0}.tie-home{font-family:var(--font);letter-spacing:.11em;text-transform:uppercase;border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);flex:none;align-self:center;padding:3px 7px;font-size:9.5px;font-weight:600}.tie-when{font-family:var(--font);color:var(--muted);flex:none;align-self:center;font-size:11px}.tie-foot{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:12px 14px;display:flex}.tie-count{min-width:0;color:var(--muted);flex:auto;font-size:13px}.tie-moves{color:var(--accent);font-weight:500}.loose-modal{max-height:min(88vh,860px)}.loose-err{color:var(--clay-500);background:color-mix(in srgb, var(--clay-500) 8%, transparent);border-bottom:1px solid var(--border);margin:0;padding:9px 16px;font-size:13px}.loose-body{padding:4px 6px 8px}.loose-row{border-radius:var(--radius);grid-template-columns:auto 1fr;gap:0 12px;padding:13px 12px;display:grid}.loose-row+.loose-row{border-top:1px solid var(--border);border-radius:0}.loose-row:hover{background:var(--surface)}.loose-check{cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;margin:-6px 0 0 -8px;padding:0;display:grid}.loose-box{color:#0000;border:1.5px solid var(--border-strong);background:var(--surface);border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.loose-check svg{width:14px;height:14px}.loose-check[aria-checked=true] .loose-box{background:var(--accent);border-color:var(--accent);color:#fff}.loose-main{min-width:0}.loose-piece{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.loose-kind{font-family:var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex:none;align-items:center;gap:5px;font-size:10px;font-weight:600;display:inline-flex}.loose-kind svg{color:var(--accent)}.loose-words{font-family:var(--font-serif);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:46ch;font-size:16px;line-height:1.35;overflow:hidden}.loose-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:52px;height:38px}.loose-ties{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.loose-tie{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--pill);background:color-mix(in srgb, var(--accent) 9%, transparent);border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);max-width:34ch;color:var(--text);padding:4px 10px;font-size:13px;line-height:1.3;overflow:hidden}.loose-tie.weak{background:color-mix(in srgb, var(--imp-3) 12%, transparent);border-color:color-mix(in srgb, var(--imp-3) 34%, transparent)}.loose-tie.none{border:1px dashed var(--border-strong);color:var(--muted);background:0 0;font-style:italic}.loose-why{font-family:var(--font);color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.5}.loose-why b{color:var(--text);font-weight:600}.loose-acts{gap:14px;margin-top:7px;display:flex}.loose-link{cursor:pointer;font-family:var(--font);color:var(--accent);background:0 0;border:0;padding:4px 0;font-size:12.5px}.loose-link:hover{text-underline-offset:3px;text-decoration:underline}.loose-link.quiet{color:var(--muted)}.loose-foot{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:12px 14px;display:flex}.loose-count{color:var(--muted);flex:auto;font-size:13px}@media (max-width:640px){.tie-leaf,.loose-link{min-height:44px}.loose-check{width:44px;height:44px}.loose-words{white-space:normal;max-width:100%}.tie-foot,.loose-foot{flex-wrap:wrap}.tie-count,.loose-count{flex-basis:100%}.tie-foot .btn,.loose-foot .btn{flex:1;min-height:46px}}@media (max-width:768px){.woven-seed{min-height:40px}.woven-fold{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.woven-seed.arrive{animation:none}.woven-sheaf,.leaf-row .leaf-main{transition:none}}.woven-body.wv-editable{cursor:text;caret-color:var(--accent);border-radius:var(--radius-sm);outline:none}.woven-body.wv-editable:focus{max-height:none}.woven-body.wv-editable:focus:after{display:none}[data-realm=weavvle]{--wvl-ground:#fbf6ea;--wvl-ink:#2a2016;--wvl-ink-soft:#513e2a;--wvl-muted:#7a6247;--wvl-leaf:#2e7433;--wvl-leaf-deep:#1f5424;--wvl-leaf-soft:#8fc06a;--wvl-marigold:#e9a21b;--wvl-moon:#5b5bd6;--wvl-berry:#c8553d;--wvl-card:#fff;--wvl-line:#e6dcc8;--wvl-radius:20px;--bg:var(--wvl-ground);--surface:var(--wvl-card);--text:var(--wvl-ink);--muted:var(--wvl-muted);--border:var(--wvl-line);--accent:var(--wvl-leaf);--accent-hover:var(--wvl-leaf-deep);--focus:var(--wvl-moon);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-realm=weavvle] body{background:var(--wvl-ground);color:var(--wvl-ink);font-family:Atkinson Hyperlegible,system-ui,sans-serif;font-size:17px;line-height:1.55}[data-realm=weavvle] body:before,[data-realm=weavvle] body:after{display:none}.wvl{min-height:100dvh;font-family:var(--wvl-font-body), "Atkinson Hyperlegible", system-ui, sans-serif}.wvl :focus-visible{outline:3px solid var(--wvl-moon);outline-offset:2px}.wvl-page{box-sizing:border-box;max-width:720px;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 48px max(16px, env(safe-area-inset-left));flex-direction:column;gap:24px;margin:0 auto;display:flex}.wvl-center{justify-content:center;align-items:flex-start;max-width:560px;min-height:100dvh}.wvl-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wvl-top-actions{align-items:center;gap:4px;display:flex}.wvl-brand{color:var(--wvl-ink);align-items:center;gap:8px;display:inline-flex}.wvl-brand-mark{color:var(--wvl-leaf);line-height:0}.wvl-brand-word{font-family:var(--wvl-font-display), "Bricolage Grotesque", sans-serif;letter-spacing:-.02em;font-size:24px;font-weight:800}.wvl-h1{font-family:var(--wvl-font-display), "Bricolage Grotesque", sans-serif;letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(32px,7vw,48px);font-weight:800;line-height:1.05}.wvl-lede{color:var(--wvl-ink-soft);max-width:46ch;margin:0;font-size:18px}.wvl-lede em{color:var(--wvl-ink);font-style:normal;font-weight:700}.wvl-btn{border:2px solid var(--wvl-ink);min-height:52px;font:700 17px/1 var(--wvl-font-body), system-ui, sans-serif;color:var(--wvl-ink);background:var(--wvl-card);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.wvl-btn:active{transform:translateY(1px)}.wvl-btn:disabled{opacity:.5;cursor:default}.wvl-btn-primary{background:var(--wvl-leaf);border-color:var(--wvl-leaf);color:#fff}.wvl-btn-primary:hover{background:var(--wvl-leaf-deep);border-color:var(--wvl-leaf-deep)}.wvl-btn-quiet{border-color:var(--wvl-line)}.wvl-btn-dashed{width:100%;color:var(--wvl-ink-soft);background:0 0;border:2px dashed #c6b399}.wvl-link-btn{min-height:44px;font:700 15px/1 var(--wvl-font-body), system-ui, sans-serif;color:var(--wvl-ink-soft);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0 12px}.wvl-link-btn:hover{color:var(--wvl-leaf);background:color-mix(in srgb, var(--wvl-leaf) 8%, transparent)}.wvl-avatar{border:2px solid var(--wvl-ink);width:46px;height:46px;font-family:var(--wvl-font-display), sans-serif;color:var(--wvl-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:inline-flex}.wvl-avatar-lg{border-width:3px;width:88px;height:88px;font-size:38px}.wvl-forest{flex-direction:column;align-items:flex-start;gap:16px;padding-top:8vh;display:flex}.wvl-choose{flex-direction:column;gap:18px;display:flex}.wvl-authors{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.wvl-author{border-radius:var(--wvl-radius);background:var(--wvl-card);border:2px solid var(--wvl-ink);width:100%;min-height:72px;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:14px;padding:10px 16px;display:flex}.wvl-author:hover{background:#fffdf6}.wvl-author-text{flex-direction:column;flex:1;display:flex}.wvl-author-name{font-size:19px;font-weight:700}.wvl-author-sub{color:var(--wvl-muted);font-size:14px}.wvl-chev{color:var(--wvl-muted);font-size:26px}.wvl-add{border-radius:var(--wvl-radius);background:var(--wvl-card);border:2px solid var(--wvl-ink);flex-direction:column;gap:14px;padding:18px;display:flex}.wvl-add-field{flex-direction:column;gap:6px;font-size:15px;font-weight:700;display:flex}.wvl-add-field small{color:var(--wvl-muted);font-weight:400}.wvl-add-field input,.wvl-add-field select{border:2px solid var(--wvl-line);min-height:48px;font:400 17px var(--wvl-font-body), system-ui, sans-serif;color:var(--wvl-ink);background:#fff;border-radius:12px;padding:0 12px}.wvl-add-field input:focus,.wvl-add-field select:focus{border-color:var(--wvl-moon);outline:none}.wvl-add-error{color:var(--wvl-berry);margin:0;font-size:15px}.wvl-add-actions{justify-content:flex-end;gap:10px;display:flex}@media (prefers-reduced-motion:reduce){.wvl-btn{transition:none}}.wvh{flex-direction:column;gap:14px;display:flex}.wvh-lead{max-width:46ch;margin:0;display:block}.wvh-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wvh-author{border:1px solid var(--border-strong);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 12px;display:flex}.wvh-author:hover{border-color:var(--accent)}.wvh-author:disabled{opacity:.6}.wvh-avatar{border:2px solid var(--bark-900);width:40px;height:40px;color:var(--bark-900);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.wvh-text{flex-direction:column;flex:1;min-width:0;display:flex}.wvh-name{font-size:15px}.wvh-sub{color:var(--muted);font-size:12px}.wvh-open{color:var(--accent);flex:none;font-size:12.5px}.wvh-add-btn{border:1px dashed var(--border-strong);min-height:48px;color:var(--muted);background:0 0;border-radius:14px;font-size:14px}.wvh-add-btn:hover{border-color:var(--accent);color:var(--accent)}.wvh-add{border:1px solid var(--border-strong);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.wvh-add-field{flex-direction:column;gap:4px;font-size:13.5px;display:flex}.wvh-add-field small{color:var(--muted)}.wvh-add-field input,.wvh-add-field select{border:1px solid var(--border-strong);background:var(--surface);min-height:42px;color:var(--text);font:inherit;border-radius:10px;padding:0 10px;font-size:15px}.wvh-add-error{color:var(--red-600);margin:0;font-size:13px}.wvh-add-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:480px){.wvh-open{display:none}}
