@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dmsans-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dmsans-var-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/ss4-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/ss4-var-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/sg-400.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/sg-500.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/sg-600.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/sg-700.woff2)format("woff2")}:root{--font-display:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-body:"DM Sans", "Space Grotesk", system-ui, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--content-max:1100px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:999px;--t-fast:.11s;--t-base:.2s;--t-slow:.32s;--ease:cubic-bezier(.32, .72, .28, 1);--f-label:11px;--f-small:12px;--f-body:13.5px;--f-lead:15px;--f-title:18px;--f-page:24px;--s-1:6px;--s-2:8px;--s-3:12px;--s-4:18px;--s-5:24px;--s-6:32px;--z-raised:10;--z-nav:100;--z-dropdown:500;--z-modal:1000;--z-toast:2000;--z-critical:9000;--backdrop:#0009;--sh-sm:0 1px 2px #14140f0a, 0 2px 8px #14140f0d;--sh-md:0 1px 2px #14140f0d, 0 8px 24px #14140f12;--sh-lg:0 2px 6px #14140f0f, 0 24px 64px #14140f24;--accent:#2563eb;--accent2:#1d4ed8;--accent-light:#eff6ff;--accent-dim:#dbeafe;--amber:#f59e0b;--teal:#22c55e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}[role=button]:focus-visible,[role=switch]:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pz-root-path{stroke-dasharray:200;stroke-dashoffset:200px;animation:pz-root-grow 3.6s var(--ease) infinite}.pz-root-path.b2{animation-delay:.5s}.pz-root-path.b3{animation-delay:1s}@keyframes pz-root-grow{0%{stroke-dashoffset:200px;opacity:0}10%{opacity:1}45%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}to{stroke-dashoffset:200px;opacity:0}}.pz-root-static{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.pz-skel{background:var(--pz-skel-base,#e9e9ef);background-image:linear-gradient(90deg, transparent 0%, var(--pz-skel-sheen,#ffffffa6) 50%, transparent 100%);background-repeat:no-repeat;background-size:200% 100%;flex-shrink:0;animation:1.4s ease-in-out infinite pz-skel-shimmer}@keyframes pz-skel-shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}:root{--pz-skel-base:#e9e9ef;--pz-skel-sheen:#ffffffb3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sh-sm:0 1px 2px #0000004d, 0 2px 8px #00000047;--sh-md:0 1px 2px #00000057, 0 8px 24px #0000005c;--sh-lg:0 2px 6px #0006, 0 24px 64px #00000080;--pz-skel-base:#26262e;--pz-skel-sheen:#ffffff12}}:root[data-theme=dark],.dark{--sh-sm:0 1px 2px #0000004d, 0 2px 8px #00000047;--sh-md:0 1px 2px #00000057, 0 8px 24px #0000005c;--sh-lg:0 2px 6px #0006, 0 24px 64px #00000080;--pz-skel-base:#26262e;--pz-skel-sheen:#ffffff12}.pz-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (pointer:coarse){button,[role=button],[role=switch],[role=tab]{min-height:40px}p button,p [role=button],span>button{min-height:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pz-skel{background-image:none;animation:none}.pz-root-path{stroke-dashoffset:0;opacity:1;animation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body);margin:0;overflow-x:hidden}input,textarea,select,button{font-family:var(--font-body)}#root{text-align:left;border:none;width:100%;max-width:100%;min-height:100vh;display:block}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a3550;border-radius:999px}@media (width<=768px){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}button,a,[role=button]{touch-action:manipulation}body{overscroll-behavior-y:none}}.rdy{background:var(--card,#fff);border:1px solid var(--border,#efefec);border-radius:var(--r-lg);margin-bottom:20px;padding:18px 20px}.rdy-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.rdy-title{font-family:var(--font-serif);color:var(--text,#14140f);font-size:16px;font-weight:700}.rdy-sub{color:var(--text2,#6b6960);margin-top:3px;font-size:12px;line-height:1.5}.rdy-count{color:var(--rdy-accent);font-size:20px;font-weight:800;font-family:var(--font-display);white-space:nowrap}.rdy-count span{color:var(--text3,#8a867c);font-size:13px;font-weight:600}.rdy-bar{border-radius:var(--r-pill);background:var(--border,#efefec);height:4px;margin-bottom:14px;overflow:hidden}.rdy-bar span{background:var(--rdy-accent);border-radius:inherit;height:100%;transition:width var(--t-slow) var(--ease);display:block}.rdy-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rdy-item{border-radius:var(--r-md);transition:background var(--t-fast) var(--ease);align-items:center;gap:11px;padding:9px 10px;display:flex}.rdy-item:hover{background:var(--bg,#fafaf8)}.rdy-item.is-critical{background:#f59e0b12}.rdy-mark{border:1.5px solid var(--border2,#e0ded6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.rdy-item.is-done .rdy-mark{background:var(--rdy-accent);border-color:var(--rdy-accent)}.rdy-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.rdy-label{color:var(--text,#14140f);flex-wrap:wrap;align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:flex}.rdy-item.is-done .rdy-label{color:var(--text3,#8a867c);text-decoration:line-through}.rdy-desc{color:var(--text2,#6b6960);font-size:11.5px;line-height:1.45}.rdy-item.is-done .rdy-desc{display:none}.rdy-flag{text-transform:uppercase;letter-spacing:.6px;color:#b45309;border-radius:var(--r-xs);background:#f59e0b29;padding:2px 6px;font-size:9.5px;font-style:normal;font-weight:700}.rdy-go{border:1px solid var(--border2,#e0ded6);border-radius:var(--r-md);color:var(--rdy-accent);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.rdy-go:hover{background:var(--bg,#fafaf8);border-color:var(--rdy-accent)}@media (width<=640px){.rdy-desc{display:none}.rdy-go{padding:5px 8px}}.db-svg-wrap{border:1px solid var(--border,#efefec);border-radius:var(--r-lg,14px);background:#fff;margin:12px 0;padding:12px;overflow-x:auto}.db-svg-wrap svg{width:100%;max-width:460px;height:auto;max-height:340px;margin:0 auto;display:block}.db-svg-wrap svg text{font-family:var(--font-body,system-ui)}@media (width<=520px){.db-svg-wrap{padding:8px}.db-svg-wrap svg{max-height:260px}}.db-mermaid{border:1px solid var(--border,#efefec);border-radius:var(--r-lg,14px);background:#fff;min-height:32px;margin:12px 0;padding:14px 12px;overflow-x:auto}.db-mermaid svg{max-width:100%;height:auto;margin:0 auto;display:block}.db-mermaid-raw{white-space:pre-wrap;font-family:var(--font-mono,ui-monospace, monospace);color:var(--text2,#57554a);font-size:12px;line-height:1.6}@media (width<=520px){.db-mermaid{padding:10px 8px}}.ts-backdrop{z-index:var(--z-modal,9000);background:var(--backdrop,#14140f80);animation:ts-fade var(--t-base) var(--ease);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes ts-fade{0%{opacity:0}to{opacity:1}}.ts-panel{background:var(--card,#fff);border-radius:var(--r-xl,20px);width:100%;max-width:940px;max-height:86vh;box-shadow:var(--sh-lg,0 24px 64px #00000047);animation:ts-rise var(--t-slow) var(--ease);flex-direction:column;display:flex;overflow:hidden}@keyframes ts-rise{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}.ts-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;display:flex}.ts-title{font-family:var(--font-serif);color:var(--text,#14140f);font-size:20px;font-weight:700}.ts-sub{color:var(--text3,#8a867c);margin-top:2px;font-size:12px}.ts-close{border-radius:var(--r-md,10px);border:1px solid var(--border,#efefec);background:var(--bg,#fafaf8);cursor:pointer;width:32px;height:32px;transition:background var(--t-fast) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ts-close:hover{background:var(--border,#efefec)}.ts-controls{gap:10px;padding:0 22px 14px;display:flex}.ts-search{border:1px solid var(--border2,#e0ded6);border-radius:var(--r-md,10px);background:var(--bg,#fafaf8);transition:border-color var(--t-fast) var(--ease);flex:1;align-items:center;gap:9px;padding:9px 12px;display:flex}.ts-search:focus-within{border-color:var(--accent,#2563eb);background:var(--card,#fff)}.ts-search input{color:var(--text,#14140f);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13.5px}.ts-clear{cursor:pointer;background:0 0;border:none;padding:0;display:flex}.ts-filter{border:1px solid var(--border2,#e0ded6);border-radius:var(--r-md,10px);background:var(--card,#fff);cursor:pointer;color:var(--text2,#57554a);padding:9px 12px;font-family:inherit;font-size:13px}.ts-body{flex:1;padding:0 22px 22px;overflow-y:auto}.ts-section+.ts-section{margin-top:22px}.ts-section-t{text-transform:uppercase;letter-spacing:.7px;color:var(--text3,#8a867c);margin-bottom:10px;font-size:11px;font-weight:700}.ts-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:10px;display:grid}.ts-card{border:1px solid var(--border,#efefec);border-radius:var(--r-lg,14px);background:var(--card,#fff);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);align-items:flex-start;gap:12px;padding:13px 14px;display:flex}.ts-card:hover{border-color:var(--border2,#e0ded6);box-shadow:var(--sh-sm,0 2px 8px #0000000d)}.ts-card.is-added{background:#2563eb08;border-color:#2563eb4d}.ts-icon{border-radius:var(--r-md,10px);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ts-info{flex:1;min-width:0}.ts-name{color:var(--text,#14140f);align-items:center;gap:6px;margin-bottom:3px;font-size:13.5px;font-weight:700;display:flex}.ts-tier{text-transform:uppercase;letter-spacing:.5px;color:#b45309;border-radius:var(--r-xs,4px);background:#f59e0b26;padding:1px 5px;font-size:9.5px;font-weight:700}.ts-desc{color:var(--text2,#57554a);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.ts-add{border-radius:var(--r-md,10px);border:1px solid var(--border2,#e0ded6);background:var(--card,#fff);width:30px;height:30px;color:var(--text2,#57554a);cursor:pointer;transition:all var(--t-fast) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ts-add:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb)}.ts-add.is-added{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}.ts-empty{text-align:center;padding:56px 0}.ts-empty-t{color:var(--text,#14140f);margin-top:10px;font-size:14px;font-weight:600}.ts-empty-s{color:var(--text3,#8a867c);margin-top:3px;font-size:12px}@media (width<=600px){.ts-backdrop{align-items:flex-end;padding:0}.ts-panel{border-radius:var(--r-xl,20px) var(--r-xl,20px) 0 0;max-height:92vh}.ts-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ts-backdrop,.ts-panel{animation:none}}.ts-card.is-usable{cursor:pointer}.ts-card.is-usable:hover{border-color:var(--accent,#2563eb)}.ts-card.is-usable:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.pz-lib-toggle{background:var(--db-bg,#f5f5f3);border:1px solid var(--db-border,#efefec);border-radius:var(--r-pill);align-items:center;gap:2px;padding:2px;display:inline-flex}.pz-lib-btn{cursor:pointer;border-radius:var(--r-pill);color:var(--db-text3,#8a867c);white-space:nowrap;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:none;padding:4px 11px;font-family:inherit;font-size:11.5px;font-weight:600}.pz-lib-btn:hover{color:var(--db-text,#14140f)}.pz-lib-btn.is-on{background:var(--db-surface,#fff);color:var(--accent,#2563eb);box-shadow:var(--sh-sm,0 1px 3px #00000014)}@media (width<=520px){.pz-lib-btn{padding:4px 8px;font-size:11px}}.pz-update{z-index:var(--z-critical,10000);color:#fff;border-radius:var(--r-pill);max-width:calc(100vw - 32px);animation:pz-update-in var(--t-slow) var(--ease) both;background:#14140f;align-items:center;gap:10px;padding:9px 10px 9px 14px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #00000047}@keyframes pz-update-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.pz-update-icon{flex-shrink:0;display:flex}.pz-update-text{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.pz-update-go{cursor:pointer;color:#14140f;border-radius:var(--r-pill);transition:opacity var(--t-fast) var(--ease);background:#fff;border:none;flex-shrink:0;padding:5px 14px;font-family:inherit;font-size:12.5px;font-weight:700}.pz-update-go:hover{opacity:.85}.pz-update-later{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}@media (width<=520px){.pz-update{max-width:none;left:12px;right:12px;transform:none}@keyframes pz-update-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.pz-update-text{white-space:normal;font-size:12.5px}}@media (prefers-reduced-motion:reduce){.pz-update{animation:none}}.db-home-cols{text-align:left;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;width:100%;margin:4px 0 22px;display:grid}.db-home-colhead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.db-home-colhead h2{font-family:var(--font-serif);color:var(--db-text,#14140f);margin:0;font-size:14px;font-weight:700}.db-home-colhead button{cursor:pointer;color:var(--accent,#2563eb);background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:600}.db-home-colhead button:hover{text-decoration:underline}.db-recent-list{flex-direction:column;gap:6px;display:flex}.db-recent-row{text-align:left;background:var(--db-surface,#fff);border:1px solid var(--db-border,#efefec);border-radius:var(--r-md,10px);cursor:pointer;width:100%;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);align-items:center;gap:10px;padding:10px 12px;font-family:inherit;display:flex}.db-recent-row:hover{border-color:var(--db-border2,#e0ded6);background:var(--db-bg,#fafaf8)}.db-recent-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.db-file-chip{border-radius:var(--r-sm,6px);background:#eff6ff;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.db-recent-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.db-recent-title{color:var(--db-text,#14140f);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.db-recent-meta{color:var(--db-text3,#8a867c);font-size:11.5px}
