@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--c-white:#fff;--c-50:#f6f8fe;--c-100:#eef1fc;--c-200:#e2e7fa;--c-300:#c9d3f2;--c-400:#9fabd6;--c-500:#747fab;--c-600:#545e85;--c-700:#383f60;--c-800:#232842;--c-900:#12142a;--c-black:#0b0d1e;--accent:#2f6feb;--accent-2:#4bb4f0;--accent-soft:#eef1ff;--accent-ink:#fff;--mint:#34d0b8;--ok:#16a34a;--warn:#d97706;--danger:#dc2626;--bg:#f4f6fd;--paper:var(--c-white);--paper-edge:var(--c-200);--ink:var(--c-900);--ink-soft:var(--c-600);--ink-faint:var(--c-500);--line:var(--c-200);--solid-bg:var(--accent);--solid-ink:#fff;--glass:#fff9;--glass-border:#fffc;--shadow:0 1px 2px #2d37780d, 0 20px 44px #2d37781a;--shadow-sm:0 1px 2px #2d377814, 0 6px 16px #2d37780f;--shadow-glow:0 12px 32px #2f6feb33;--r-s:10px;--r-m:18px;--r-l:26px;--r-xl:32px;--r-pill:999px;--sp-1:.5rem;--sp-2:clamp(.75rem, .6rem + .6vw, 1rem);--sp-3:clamp(1.1rem, .8rem + 1vw, 1.6rem);--sp-4:clamp(1.75rem, 1.2rem + 1.8vw, 2.6rem);--sp-5:clamp(2.6rem, 1.8rem + 3vw, 4.2rem);--font-type:"Inter", -apple-system, "SF Pro Text", "Segoe UI", sans-serif;--font-display:"Plus Jakarta Sans", -apple-system, "SF Pro Display", "Segoe UI", sans-serif;--font-brand:"Special Elite", "Courier New", monospace;--max-w:920px;--cream:var(--c-white);--paper-dark:var(--bg);--paper-aged:var(--line);--ink-light:var(--c-800);--ribbon-silver:var(--ink-faint);--ribbon-gold:var(--ink-soft);--key-dark:var(--solid-bg);--key-mid:var(--c-700)}:root[data-theme=dark]{--bg:#0a0c1c;--paper:#12142a;--paper-edge:#262b4a;--ink:#eef1fc;--ink-soft:#a3aad0;--ink-faint:#6c7299;--line:#232748;--accent:#4c86ff;--accent-2:#6fd0ff;--accent-soft:#4c86ff24;--ok:#34d399;--warn:#fbbf24;--danger:#f87171;--solid-bg:#7c8bff;--solid-ink:#0a0c1c;--glass:#181b338c;--glass-border:#4c86ff2e;--shadow:0 1px 2px #0006, 0 20px 50px #00000080;--shadow-sm:0 1px 2px #0006;--shadow-glow:0 16px 40px #4c86ff47;--cream:var(--paper);--paper-dark:var(--bg);--paper-aged:var(--line)}*,:before,:after{box-sizing:border-box}html,body,ul,ol,figure,h1,h2,h3,h4,p{margin:0;padding:0}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-size:17.5px}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);color:var(--ink);font-family:var(--font-type);flex-direction:column;min-height:100vh;font-size:1.03rem;line-height:1.75;transition:background .25s,color .25s;display:flex}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.15}h1{font-size:clamp(2.6rem,5.4vw,4.1rem)}h2{margin-bottom:var(--sp-2);font-size:clamp(1.75rem,3.2vw,2.4rem)}h3{letter-spacing:-.01em;margin-bottom:.4rem;font-size:1.22rem;font-weight:700}p{color:var(--ink)}p+p{margin-top:var(--sp-2)}.lead{color:var(--ink-soft);font-size:1.3rem;line-height:1.6}.meta{color:var(--ink-faint);font-size:.9rem}.muted{color:var(--ink-soft)}.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:var(--sp-1);align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;display:inline-flex}.container{width:100%;max-width:var(--max-w);padding:0 var(--sp-2);margin:0 auto}.container-wide{width:100%;max-width:1100px;padding:0 var(--sp-2);margin:0 auto}main.page{padding:var(--sp-3) var(--sp-2) var(--sp-5);flex:1}.paper{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-l);box-shadow:var(--shadow);padding:clamp(1.6rem,5vw,3.4rem);position:relative}.paper:before{content:"";height:3px;margin-bottom:var(--sp-3);border-radius:var(--r-pill);background:linear-gradient(90deg, var(--accent), var(--accent-2), transparent);opacity:.5;background-origin:border-box;display:block}.divider{height:1px;margin:var(--sp-3) 0;border-radius:var(--r-pill);background:linear-gradient(90deg, transparent, var(--line) 20%, var(--line) 80%, transparent);background-origin:border-box}.section{margin-top:var(--sp-5)}.section:first-child{margin-top:0}.section-head{max-width:640px;margin-bottom:var(--sp-3)}.site-header{padding:var(--sp-2) 0 0;z-index:50;transition:transform .3s cubic-bezier(.4,0,.2,1);position:sticky;top:0;transform:translateY(0)}.site-header--hidden{transform:translateY(-130%)}.site-nav{justify-content:space-between;align-items:center;gap:var(--sp-2);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(160%);border:1px solid var(--glass-border);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);padding:.5rem .5rem .5rem 1.2rem;display:flex}.brand{font-family:var(--font-brand);letter-spacing:.02em;color:var(--ink);flex-shrink:0;align-items:center;gap:.55rem;font-size:1rem;display:inline-flex}.wc-logo,.wc-mark{height:auto;display:block}:root[data-theme=dark] .wc-logo--hero{filter:drop-shadow(0 2px 10px #04081699)}.wc-logo--nav{width:72px}.wc-mark--nav{width:22px;display:none}.brand__name{display:none}.wc-logo--footer{width:118px}.wc-logo--card{width:104px;margin-bottom:.9rem}.wc-logo--hero{width:clamp(150px,22vw,230px);margin:0 auto var(--sp-2)}.wc-logo--about{width:min(60%,300px);margin:0 0 var(--sp-3)}@media (max-width:640px){.wc-logo--nav{display:none}.wc-mark--nav{display:block}.brand__name{display:inline}}.nav-links{scrollbar-width:none;align-items:center;gap:.15rem;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{border-radius:var(--r-pill);font-size:.96rem;font-family:var(--font-display);white-space:nowrap;color:var(--ink-soft);padding:.45rem .85rem;transition:background .15s,color .15s;display:inline-block}.nav-link:hover,.nav-link:focus-visible,.nav-link[aria-current=page]{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;background-origin:border-box}.nav-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}button.nav-hamburger,.nav-mobile-panel{display:none}.icon-btn{border-radius:var(--r-pill);border:1px solid var(--line);width:2.2rem;height:2.2rem;color:var(--ink-soft);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.icon-btn:hover,.icon-btn:focus-visible,.icon-btn.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;background-origin:border-box;border-color:#0000}.btn{border-radius:var(--r-pill);border:1.5px solid var(--line);font-family:var(--font-display);letter-spacing:-.005em;color:var(--ink);background:var(--paper);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:1.02rem;font-weight:600;text-decoration:none;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.btn:hover,.btn:focus-visible{box-shadow:var(--shadow-sm);border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.btn-solid{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:var(--shadow-glow);background-origin:border-box;border-color:#0000}.btn-solid:hover,.btn-solid:focus-visible{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;filter:brightness(1.06);box-shadow:var(--shadow-glow);background-origin:border-box;border-color:#0000}.btn-row{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.btn-row.center{justify-content:center}.key-btn{border-radius:var(--r-pill);font-family:var(--font-display);letter-spacing:-.005em;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-glow);background-origin:border-box;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.35rem;font-size:.98rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex}.key-btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.key-btn:active{transform:translateY(0)}.key-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.key-btn-ghost{border-radius:var(--r-pill);border:1.5px solid var(--line);font-family:var(--font-display);letter-spacing:-.005em;background:var(--paper);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.35rem;font-size:.98rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.key-btn-ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.key-btn-ghost:active{transform:translateY(0)}.key-btn-ghost:disabled{opacity:.38;cursor:not-allowed;transform:none}.grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));display:grid}.grid-2{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.card{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(160%);border:1px solid var(--glass-border);border-radius:var(--r-l);padding:var(--sp-3);flex-direction:column;gap:.5rem;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s;display:flex}a.card:hover,a.card:focus-visible,button.card:hover,button.card:focus-visible{box-shadow:var(--shadow-glow);border-color:var(--accent);transform:translateY(-4px)}.card h3{margin-bottom:0}.card p{color:var(--ink-soft);font-size:.95rem}.tool-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr));display:grid}.tool-card{gap:0;padding:0;overflow:hidden}.tool-card:hover,.tool-card:focus-within{box-shadow:var(--shadow-glow);border-color:var(--accent);transform:translateY(-4px)}.tool-card__media{height:240px;padding:var(--sp-3) var(--sp-3) 0;background:radial-gradient(120% 90% at 15% 0%, var(--accent), transparent 60%), radial-gradient(90% 80% at 100% 100%, var(--accent-2), transparent 65%), var(--accent-soft);justify-content:center;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.tool-card__media{background:radial-gradient(120% 90% at 15% 0%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 60%), radial-gradient(90% 80% at 100% 100%, color-mix(in srgb, var(--accent-2) 26%, transparent), transparent 65%), var(--accent-soft)}}.tool-card__media{border-bottom:1px solid var(--line);background-origin:border-box}.tool-card__media img{border:1px solid var(--line);border-radius:var(--r-m) var(--r-m) 0 0;width:min(280px,100%);height:auto;box-shadow:0 18px 40px -12px var(--accent);border-bottom:0;align-self:flex-start}@supports (color:color-mix(in lab, red, red)){.tool-card__media img{box-shadow:0 18px 40px -12px color-mix(in srgb, var(--accent) 45%, transparent)}}.tool-card__media img{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.tool-card:hover .tool-card__media img{transform:translateY(-6px)}.tool-card__body{padding:var(--sp-3);flex-direction:column;flex:1;gap:.75rem;display:flex}.tool-card__head{align-items:center;gap:.85rem;display:flex}.tool-card__icon{border-radius:var(--r-m);width:48px;height:48px;box-shadow:var(--shadow-sm);flex-shrink:0}.tool-card__kind{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700;display:block}.tool-card__title{color:var(--ink);text-decoration:none}.tool-card__title:hover{color:var(--accent)}.tool-card__actions{flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.5rem;display:flex}.tool-card__actions .btn{padding:.55rem 1.1rem;font-size:.92rem}.tool-card__actions .btn img{width:18px;height:18px}@media (max-width:480px){.tool-card__actions{grid-template-columns:1fr 1fr;display:grid}.tool-card__actions .btn{justify-content:center;padding-inline:.8rem}.tool-card__actions .btn-solid{grid-column:1/-1}}.paper-card{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-m);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .15s}.tag{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);font-size:.7rem;font-weight:600;font-family:var(--font-display);border:1px solid #0000;align-self:flex-start;padding:.2rem .7rem;display:inline-flex}.category-tag{border-radius:var(--r-pill);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);font-size:.65rem;font-weight:600;font-family:var(--font-display);border:1px solid #0000;align-self:flex-start;padding:.18rem .6rem;display:inline-flex}.hero{max-width:640px}.hero .cursor:after{content:"▌";margin-left:.15em;animation:1.1s step-end infinite blink}.bleed-band{width:100vw;margin-left:-50vw;margin-right:-50vw;position:relative;left:50%;right:50%}.bleed-band--tint{background:linear-gradient(180deg, var(--accent-soft), transparent 85%);background-origin:border-box}.split-row{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:clamp(2rem,6vw,4.5rem);display:grid}.split-row__icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:13px;place-items:center;margin-bottom:1.1rem;display:grid}.split-row h2{font-size:clamp(1.4rem,2.4vw,1.7rem)}.split-row p{color:var(--ink-soft);font-size:1.05rem;line-height:1.7}.feature-list{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:clamp(2.2rem,5vw,3.5rem) clamp(2rem,5vw,3.5rem);display:grid}.feature-list__item{align-items:flex-start;gap:1.1rem;display:flex}.feature-list__icon{background:linear-gradient(135deg, var(--accent), var(--accent-2));background-origin:border-box;border-radius:13px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.feature-list__item h3{font-size:1.2rem}.feature-list__item p{color:var(--ink-soft);margin:0;font-size:1.03rem;line-height:1.65}.photo-banner{border-radius:var(--r-xl);align-items:flex-end;min-height:clamp(280px,40vw,420px);display:flex;position:relative;overflow:hidden}.photo-banner img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-banner:after{content:"";background:linear-gradient(#0810240d 25%,#08102459 55%,#081024d1 100%) border-box;position:absolute;inset:0}.photo-banner__text{z-index:1;max-width:560px;padding:clamp(1.75rem,4vw,3rem);position:relative}.photo-banner__text .eyebrow{color:#bcd4ff}.photo-banner__text h2{color:#fff;margin-bottom:.5rem}.photo-banner__text p{color:#ffffffd1;font-size:1.05rem;line-height:1.6}.back-link{max-width:100%;margin-bottom:var(--sp-3);border:1px solid var(--glass-border);border-radius:var(--r-pill);background:var(--glass);-webkit-backdrop-filter:blur(12px)saturate(150%);box-shadow:var(--shadow-sm);color:var(--ink);font-family:var(--font-display);align-items:center;gap:.6rem;padding:.4rem 1.1rem .4rem .4rem;font-size:.92rem;font-weight:600;line-height:1.2;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex}.back-link__arrow{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;transition:background .18s,color .18s,transform .22s cubic-bezier(.3,.7,.4,1.4);display:grid}.back-link__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.back-link:hover,.back-link:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), var(--shadow-sm);transform:translateY(-1px)}.back-link:hover .back-link__arrow,.back-link:focus-visible .back-link__arrow{background:var(--accent);color:var(--accent-ink);transform:translate(-3px)}.back-link:focus-visible{outline:none}.back-link:active{transform:translateY(0)scale(.98)}@media (prefers-reduced-motion:reduce){.back-link,.back-link__arrow{transition:none}.back-link:hover,.back-link:hover .back-link__arrow{transform:none}}.field{margin-bottom:var(--sp-2)}.field label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.4rem;font-size:.78rem;display:block}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not(.bare-input),textarea,select{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-m);width:100%;color:var(--ink);font-family:var(--font-type);padding:.75rem 1rem;font-size:.98rem;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:130px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not(.bare-input):focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}input[type=checkbox],input[type=radio]{width:auto;box-shadow:none;accent-color:var(--accent);background:0 0;border:none;flex-shrink:0;padding:0}.contact-form{gap:0;scroll-margin-top:7rem}.contact-form__row{gap:0 var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-form__req{color:var(--accent)}.contact-form__opt{text-transform:none;letter-spacing:0;color:var(--ink-faint)}.contact-form__roles{border:0;min-width:0;margin-inline:0;padding:0}.contact-form__roles legend{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.6rem;padding:0;font-size:.78rem}.contact-form__chips{flex-wrap:wrap;gap:.5rem;display:flex}.field .contact-form__chip{text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer;margin:0;font-size:.92rem;display:inline-flex;position:relative}.contact-form__chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.contact-form__chip span{border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--paper);padding:.5rem 1rem;transition:border-color .15s,background .15s,color .15s}.contact-form__chip:hover span{border-color:var(--accent)}.contact-form__chip input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.contact-form__chip input:focus-visible+span{box-shadow:0 0 0 4px var(--accent-soft)}.contact-form__roles .contact-form__other{margin-top:.75rem}.contact-form__actions{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.contact-form__error{color:var(--danger);flex:260px;margin:0;font-size:.92rem}.contact-form--sent{align-items:flex-start;gap:.6rem}.contact-form--sent .btn{margin-top:.6rem}.contact-form__sent-icon{color:var(--ok)}.contact-alt-head{margin-top:var(--sp-5);font-size:clamp(1.3rem,2.4vw,1.7rem)}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.contact-form__row{grid-template-columns:1fr}.contact-form__actions .btn{justify-content:center;width:100%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}.panel-tray{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(160%);border:1px solid var(--glass-border);border-radius:var(--r-m)}.toolbar-btn{border-radius:var(--r-s);width:30px;height:30px;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.toolbar-btn:hover{background:var(--accent-soft);color:var(--accent)}.toolbar-btn.active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;background-origin:border-box}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.typewriter-input{background:var(--cream);resize:none;width:100%;font-family:var(--font-type);color:var(--ink);border:1.5px solid var(--paper-aged);border-radius:var(--r-s);outline:none;padding:.5rem .75rem;line-height:1.8;transition:border-color .15s,box-shadow .15s}.typewriter-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.typewriter-input::placeholder{color:var(--ribbon-silver)}.tiptap-editor:focus,.tiptap-editor:focus-visible{outline:none}.tiptap-editor{font-family:var(--doc-font,var(--font-type));font-size:var(--doc-size,1rem);line-height:var(--doc-leading,1.9);color:var(--ink);caret-color:var(--accent);outline:none}.tiptap-editor p{margin-bottom:1.2em}.tiptap-editor>:first-child{margin-top:0}.tiptap-editor>:last-child{margin-bottom:0}.tiptap-editor h1{font-family:var(--font-display);margin:1.5em 0 .75em;font-size:1.75em}.tiptap-editor h2{font-family:var(--font-display);margin:1.25em 0 .5em;font-size:1.35em}.tiptap-editor h3{font-family:var(--font-display);margin:1em 0 .4em;font-size:1.1em}.tiptap-editor blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink-soft);border-radius:0 8px 8px 0;margin:1.5em 0;padding:.2em 1.25rem;font-style:italic}.tiptap-editor mark{background:#ffd50061;border-radius:2px;padding:0 .1em}.tiptap-editor code{font-family:var(--font-type);background:var(--paper-dark);border-radius:4px;padding:.15em .4em;font-size:.9em}.tiptap-editor hr{border:none;border-top:1px dashed var(--line);margin:2em 0}.tiptap-editor ul,.tiptap-editor ol{margin-bottom:1em;padding-left:1.5rem}.tiptap-editor ul{list-style:outside}.tiptap-editor ol{list-style:decimal}.tiptap-editor ul ul{list-style:circle}.tiptap-editor ol ol{list-style:lower-alpha}.tiptap-editor li{margin-bottom:.3em}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--ink-faint);pointer-events:none;height:0;font-style:italic}.tiptap-annotation{cursor:pointer;border-bottom:2px solid #00000038}.tiptap-editor .tableWrapper{margin:1.2em 0;overflow-x:auto}.tiptap-editor table{border-collapse:collapse;table-layout:fixed;width:100%}.tiptap-editor td,.tiptap-editor th{border:1px solid var(--line);vertical-align:top;min-width:1em;padding:.45em .6em;position:relative}.tiptap-editor th{background:var(--paper-dark);font-family:var(--font-display);text-align:left;font-weight:400}.tiptap-editor td p,.tiptap-editor th p{margin-bottom:0}.tiptap-editor td p+p,.tiptap-editor th p+p{margin-top:.5em}.tiptap-editor .selectedCell{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tiptap-editor .selectedCell{background:color-mix(in srgb, var(--accent) 14%, transparent)}}.tiptap-editor .column-resize-handle{background:var(--accent);pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.tiptap-editor.resize-cursor{cursor:col-resize}.image-figure{text-align:center;max-width:100%;margin:1.4em 0}.image-figure__frame{max-width:100%;line-height:0;display:inline-block;position:relative}.image-figure__frame img{border:1px solid var(--paper-edge);border-radius:4px;max-width:100%;height:auto;display:block}.image-figure--selected .image-figure__frame img{outline:2px solid var(--accent);outline-offset:2px}.image-figure__remove{color:#fff;cursor:pointer;opacity:0;background:#0a0a0aad;border:none;border-radius:50%;place-items:center;width:26px;height:26px;transition:opacity .12s;display:grid;position:absolute;top:8px;right:8px}.image-figure__frame:hover .image-figure__remove,.image-figure__remove:focus-visible{opacity:1}.citation-chip{display:inline;position:relative}.citation-chip__text{cursor:pointer;border-radius:4px;padding:0 .1rem;transition:background .12s,color .12s}.citation-chip__text:hover,.citation-chip--selected .citation-chip__text{background:var(--accent-soft);color:var(--accent)}.citation-chip__editor{z-index:20;background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-s);box-shadow:var(--shadow-sm);padding:.3rem;display:block;position:absolute;bottom:calc(100% + 4px);left:0}.citation-chip__page-input{text-align:center;color:var(--ink);flex:0 0 2.4rem;border:1px solid var(--line)!important;background:var(--bg)!important;border-radius:5px!important;width:2.4rem!important;padding:.25rem .3rem!important;font-size:.72rem!important}.citation-chip__page-input:focus{box-shadow:none!important;border-color:var(--accent)!important;outline:none!important}.citation-chip__page-input::placeholder{color:var(--ink-faint)}.citation-chip__text sup{line-height:0}.citation-chip--note .citation-chip__text{padding:0 .05rem}.tiptap-editor p[data-csl-bib]{margin-bottom:.6em}.tiptap-editor p[data-csl-bib=entry-hanging]{text-indent:-.5in;padding-left:.5in}.page-footnotes{color:var(--ink);-webkit-user-select:none;user-select:none}.page-footnotes__rule{opacity:.55;background:currentColor}.page-footnotes--end{margin-top:2em}.page-footnote sup{line-height:0}.image-figure__resize-handle{cursor:nwse-resize;opacity:0;touch-action:none;width:14px;height:14px;transition:opacity .12s;position:absolute;bottom:2px;right:2px}.image-figure__resize-handle:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);border-radius:0 0 2px;width:9px;height:9px;position:absolute;bottom:2px;right:2px}.image-figure__frame:hover .image-figure__resize-handle{opacity:.85}.image-figure__caption-wrap{margin-top:.5em;position:relative}.image-figure__caption-wrap--empty:before{content:"Add a caption…";color:var(--ink-faint);text-align:center;pointer-events:none;font-size:.85em;font-style:italic;position:absolute;inset:0}.image-figure__caption{color:var(--ink-faint);text-align:center;outline:none;font-size:.85em;font-style:italic}.chart-node{max-width:100%;margin:1.4em 0}.tiptap-editor>:where(.react-renderer.node-imageFigure,.react-renderer.node-chart,.react-renderer.node-shape){margin:1.4em 0}.tiptap-editor>.react-renderer>.image-figure,.tiptap-editor>.react-renderer>.chart-node,.tiptap-editor>.react-renderer>.shape-node{margin-top:0;margin-bottom:0}.chart-node__frame{border:1px solid var(--paper-edge);background:var(--paper);border-radius:8px;max-width:100%;padding:14px 16px 10px;display:block;position:relative}.chart-node--selected .chart-node__frame{outline:2px solid var(--accent);outline-offset:2px}.chart-node__svg{width:100%;height:auto;display:block}.chart-node__pie-row{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.chart-node__svg--pie{flex-shrink:0;width:42%;min-width:90px;max-width:260px}.chart-node__legend{font-size:.78rem;font-family:var(--font-type);color:var(--ink);flex-direction:column;gap:.32rem;margin:0;padding:0;list-style:none;display:flex}.chart-node__legend li{align-items:center;gap:.4rem;display:flex}.chart-node__legend em{color:var(--ink-faint);margin-left:.2rem;font-style:normal}.chart-node__swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.chart-node__value,.chart-node__label{fill:var(--ink-faint);font-size:9px;font-family:var(--font-type)}.chart-node__controls{opacity:0;gap:4px;transition:opacity .12s;display:flex;position:absolute;top:8px;right:8px}.chart-node__frame:hover .chart-node__controls,.chart-node__ctrl:focus-visible{opacity:1}.chart-node__ctrl{color:#fff;cursor:pointer;background:#0a0a0aad;border:none;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.chart-node__ctrl[aria-pressed=true]{background:linear-gradient(135deg, var(--accent), var(--accent-2));background-origin:border-box}.chart-node__resize-handle{cursor:nwse-resize;opacity:0;touch-action:none;width:14px;height:14px;transition:opacity .12s;position:absolute;bottom:2px;right:2px}.chart-node__resize-handle:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);border-radius:0 0 2px;width:9px;height:9px;position:absolute;bottom:2px;right:2px}.chart-node__frame:hover .chart-node__resize-handle{opacity:.85}.chart-node__editor{border-top:1px dashed var(--line);flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.65rem;display:flex}.chart-node__type-row{gap:4px;margin-bottom:.3rem;display:flex}.chart-node__type-btn{border:1px solid var(--line);background:var(--bg);width:26px;height:26px;color:var(--ink);cursor:pointer;border-radius:6px;place-items:center;display:grid}.chart-node__type-btn[aria-pressed=true]{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;background-origin:border-box;border-color:#0000}.chart-node__row{align-items:center;gap:.35rem;display:flex}.chart-node__input{font-family:var(--font-type);border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px;padding:.25rem .4rem;font-size:.74rem}.chart-node__input--label{flex:1;min-width:0}.chart-node__input--value{width:56px}.chart-node__row-remove{width:22px;height:22px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;display:grid}.chart-node__row-remove:hover:not(:disabled){background:var(--bg);color:var(--ink)}.chart-node__row-remove:disabled{opacity:.3;cursor:not-allowed}.chart-node__add-row{font-size:.74rem;font-family:var(--font-type);border:1px dashed var(--line);color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;margin-top:.2rem;padding:.3rem .55rem;display:inline-flex}.chart-node__add-row:hover{border-color:var(--ink-soft);color:var(--ink)}.shape-node{margin:1.4em 0}.shape-node__frame{max-width:100%;line-height:0;display:inline-block;position:relative}.shape-node--selected .shape-node__frame{outline:2px solid var(--accent);outline-offset:2px}.shape-node__rotatable{transform-origin:50%;line-height:0;display:inline-block;position:relative}.shape-node__svg{max-width:100%;height:auto;display:block}.shape-node__text{text-align:center;cursor:text;outline:none;justify-content:center;align-items:center;padding:10px;line-height:1.3;display:flex;position:absolute;inset:0;overflow:hidden}.shape-node__text p{margin:0}.shape-node__controls{opacity:0;background:var(--bg);border-radius:8px;align-items:center;gap:3px;padding:3px;transition:opacity .12s;display:flex;position:absolute;top:6px;right:6px}.shape-node__frame:hover .shape-node__controls,.shape-node__controls:focus-within{opacity:1}.shape-node__ctrl{color:#fff;cursor:pointer;background:#0a0a0aad;border:none;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.shape-node__ctrl[aria-pressed=true]{background:linear-gradient(135deg, var(--accent), var(--accent-2));background-origin:border-box;box-shadow:inset 0 0 0 2px #ffffff80}.shape-node__resize-handle{cursor:nwse-resize;opacity:0;touch-action:none;width:14px;height:14px;transition:opacity .12s;position:absolute;bottom:2px;right:2px}.shape-node__resize-handle:after{content:"";border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);border-radius:0 0 2px;width:9px;height:9px;position:absolute;bottom:2px;right:2px}.shape-node__frame:hover .shape-node__resize-handle{opacity:.85}.shape-node__rotate-stem{background:var(--ink-soft);opacity:0;pointer-events:none;width:1px;height:18px;transition:opacity .12s;position:absolute;top:-18px;left:50%}.shape-node__rotate-handle{background:var(--paper);border:1.5px solid var(--ink-soft);width:18px;height:18px;color:var(--ink);cursor:grab;opacity:0;touch-action:none;border-radius:50%;place-items:center;transition:opacity .12s;display:grid;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.shape-node__rotate-handle:active{cursor:grabbing}.shape-node__frame:hover .shape-node__rotate-stem,.shape-node__frame:hover .shape-node__rotate-handle{opacity:.85}.tb-shape-grid{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.tb-shape-grid__cell{border:1px solid var(--line);background:var(--bg);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:6px;place-items:center;display:grid}.tb-shape-grid__cell:hover{border-color:var(--ink-soft)}.color-picker__trigger{cursor:pointer;border:1px solid #0003;border-radius:50%;flex-shrink:0;width:16px;height:16px;padding:0}.color-picker__pop{z-index:520;background:var(--paper);border:1px solid var(--paper-edge);width:200px;box-shadow:var(--shadow);font-family:var(--font-type);border-radius:10px;padding:.65rem}.color-picker__swatches{grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:.6rem;display:grid}.color-picker__swatch{cursor:pointer;border:1px solid #00000026;border-radius:50%;width:18px;height:18px;padding:0}.color-picker__swatch:hover{transform:scale(1.1)}.color-picker__swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.color-picker__custom{border-top:1px dashed var(--line);align-items:center;gap:.4rem;padding-top:.55rem;display:flex}.color-picker__native{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:30px;height:30px;padding:0}.color-picker__native::-webkit-color-swatch-wrapper{padding:2px}.color-picker__native::-webkit-color-swatch{border:none;border-radius:4px}.color-picker__hex{min-width:0;font-family:var(--font-type);text-transform:lowercase;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;flex:1;padding:.35rem .5rem;font-size:.78rem}.color-picker__hex:focus-visible{outline:2px dashed var(--ink-soft);outline-offset:1px}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.site-nav{border-radius:var(--r-l);padding:.5rem}.nav-links{display:none}button.nav-hamburger{place-items:center;display:grid}.nav-mobile-panel{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-l);box-shadow:var(--shadow);flex-direction:column;gap:.15rem;margin-top:.5rem;padding:.5rem;display:flex}.nav-mobile-panel .nav-link{text-align:left}}@media (max-width:480px){.paper{padding:1.3rem}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}html{scroll-behavior:smooth}.page-canvas,.tb-pop__scroll,.tb-pop{scroll-behavior:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes blink{50%{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes stampIn{0%{opacity:0;transform:scale(1.5)rotate(-4deg)}60%{opacity:1;transform:scale(.95)rotate(1deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-up{animation:.4s ease-out both fadeUp}.animate-fade-in{animation:.3s ease-out both fadeIn}.animate-slide-down{animation:.2s ease-out both slideDown}.animate-slide-in-right{animation:.3s ease-out both slideInRight}.animate-stamp-in{animation:.45s cubic-bezier(.36,.07,.19,.97) both stampIn}.animate-spin{animation:.75s linear infinite spin}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:80ms}.stagger-children>:nth-child(3){animation-delay:.16s}.stagger-children>:nth-child(4){animation-delay:.24s}.stagger-children>:nth-child(5){animation-delay:.32s}.tb{border-bottom:1px solid var(--paper-edge);background:var(--paper);flex-wrap:wrap;align-items:center;gap:.3rem .1rem;padding:.4rem .55rem;display:flex}.tb-group{border-right:1px solid var(--line);align-items:center;gap:2px;margin-right:.35rem;padding-right:.35rem;display:flex}.tb-group:last-child{border-right:none;margin-right:0;padding-right:0}.tb-btn{min-width:28px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.3rem;padding:0 .35rem;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.tb-btn--labeled{border-color:var(--accent);padding:0 .6rem 0 .5rem}@supports (color:color-mix(in lab, red, red)){.tb-btn--labeled{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}}.tb-btn--labeled{background:var(--accent-soft);color:var(--accent);font-family:var(--font-display);white-space:nowrap;font-size:.74rem;font-weight:600}.tb-btn--labeled:hover{border-color:var(--accent)}.tb-btn--labeled.tb-btn--find{border-color:#e0a100}@supports (color:color-mix(in lab, red, red)){.tb-btn--labeled.tb-btn--find{border-color:color-mix(in srgb, #e0a100 60%, var(--line))}}.tb-btn--labeled.tb-btn--find{background:#ffc400}@supports (color:color-mix(in lab, red, red)){.tb-btn--labeled.tb-btn--find{background:color-mix(in srgb, #ffc400 20%, var(--paper))}}.tb-btn--labeled.tb-btn--find{color:var(--ink)}.tb-btn--labeled.tb-btn--find svg{color:#b97800}.tb-btn--labeled.tb-btn--find:hover:not(:disabled){background:#ffc400;border-color:#e0a100}@supports (color:color-mix(in lab, red, red)){.tb-btn--labeled.tb-btn--find:hover:not(:disabled){background:color-mix(in srgb, #ffc400 32%, var(--paper))}}.tb-btn:hover:not(:disabled){background:var(--accent-soft)}.tb-btn[aria-pressed=true],.tb-btn.is-active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;background-origin:border-box;border-color:#0000}.tb-btn:disabled{opacity:.3;cursor:not-allowed}.tb-trigger{border:1px solid var(--line);background:var(--paper);height:28px;color:var(--ink);cursor:pointer;font-family:var(--font-type);white-space:nowrap;border-radius:8px;justify-content:space-between;align-items:center;gap:.35rem;padding:0 .5rem;font-size:.76rem;transition:border-color .12s,background .12s;display:inline-flex}.tb-trigger:hover{border-color:var(--accent)}.tb-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft)}.tb-trigger__value{text-overflow:ellipsis;overflow:hidden}.tb-trigger__chevron{opacity:.55;flex-shrink:0}.tb-pop-anchor{display:inline-flex;position:relative}.tb-pop{z-index:540;background:var(--paper);border:1px solid var(--paper-edge);max-height:calc(100vh - 32px);box-shadow:var(--shadow);overscroll-behavior:contain;border-radius:16px;position:fixed;top:0;left:0;overflow:hidden auto}.tb-pop--wide{min-width:min(300px,100vw - 16px);max-width:min(340px,100vw - 16px)}.tb-pop--centered{box-shadow:0 12px 40px #0a0a0a38,0 2px 8px #0a0a0a1f}.tb-pop__scroll{max-height:290px;padding:.25rem;overflow-y:auto}.tb-pop__pad{padding:.85rem}.tb-pop__label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:.5rem .6rem .2rem;font-size:.6rem;display:block}.tb-pop__divider{background:var(--line);height:1px;margin:.3rem .4rem}.tb-option{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.82rem;line-height:1.4;transition:background .1s,color .1s;display:flex}.tb-option:hover{background:var(--bg)}.tb-option[aria-selected=true]{background:var(--solid-bg);color:var(--solid-ink)}.tb-option__hint{opacity:.6;font-size:.68rem;font-family:var(--font-type)}.cite-style-list{max-height:min(420px,60vh)}.cite-style-opt{flex-direction:column;gap:.05rem;min-width:0;display:flex}.cite-style-opt__name{font-size:.8rem;line-height:1.3}.cite-style-opt__hint{opacity:.6;font-size:.66rem;font-family:var(--font-type)}.tb-fieldset{margin-bottom:.9rem}.tb-fieldset:last-child{margin-bottom:0}.tb-fieldset>legend,.tb-fieldset>.tb-fieldset__title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.4rem;padding:0;font-size:.6rem;display:block}.tb-choices{flex-wrap:wrap;gap:.3rem;display:flex}.tb-zone-editor{margin-bottom:.5rem}.tb-zone-editor__legend{color:var(--ink-faint);margin-bottom:.3rem;font-size:.64rem;display:block}.tb-zone-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.tb-zone-input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--ink);font-family:var(--font-type);border-radius:7px;padding:.3rem .4rem;font-size:.7rem}.tb-zone-editor__before{border-top:1px dashed var(--line);margin-top:.5rem;padding-top:.5rem}.tb-checkbox-row{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.4rem;margin-top:.3rem;font-size:.71rem;display:flex}.tb-checkbox-row input{width:auto;accent-color:var(--ink)}.tb-choice{border-radius:var(--r-pill);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;padding:.3rem .65rem;font-size:.74rem;transition:background .12s,color .12s,border-color .12s}.tb-choice:hover{border-color:var(--ink-soft);color:var(--ink)}.tb-swatch-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.tb-swatch{background:var(--swatch-color);cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .1s,border-color .12s}.tb-swatch:hover{transform:scale(1.08)}.tb-swatch[aria-pressed=true],.tb-swatch[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--paper)}.tb-swatch--small{width:20px;height:20px}.page-setup__head{border-bottom:1px solid var(--line);margin-bottom:.75rem;padding-bottom:.6rem}.page-setup__title{font-family:var(--font-display);color:var(--ink);margin:0 0 .2rem;font-size:1rem;font-weight:700}.page-setup__summary{color:var(--ink-faint);margin:0;font-size:.72rem;line-height:1.5}.tb-margin-space{margin-bottom:.5rem}.tb-range-row{color:var(--ink-soft);grid-template-columns:4.6rem 1fr 2.6rem;align-items:center;gap:.5rem;margin:.2rem 0;font-size:.74rem;display:grid}.tb-range-row input[type=range]{width:100%;accent-color:var(--accent)}.tb-range-row output{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.tb-margin-swatches{flex-wrap:wrap;gap:.45rem;margin-top:.55rem;display:flex}.tb-swatch--default{background:var(--paper);border-color:var(--line);position:relative}.tb-swatch--default:before{content:"";border:1.5px solid var(--swatch-color);background:linear-gradient(135deg, transparent 46%, var(--line) 46% 54%, transparent 54%);background-origin:border-box;border-radius:50%;position:absolute;inset:3px}.tb-grid-picker{flex-direction:column;gap:3px;display:flex}.tb-grid-picker__row{gap:3px;display:flex}.tb-grid-picker__cell{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:3px;width:18px;height:18px;padding:0}.tb-grid-picker__cell[aria-selected=true]{background:var(--solid-bg);border-color:var(--solid-bg)}.tb-choice[aria-pressed=true]{background:var(--solid-bg);color:var(--solid-ink);border-color:var(--solid-bg)}.tb-margin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.tb-margin-field{flex-direction:column;gap:.2rem;display:flex}.tb-margin-field>span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.64rem}.tb-margin-field input{border:1px solid var(--line);background:var(--bg);width:100%;font-size:.78rem;font-family:var(--font-type);border-radius:8px;padding:.3rem .5rem}.page-canvas{scrollbar-gutter:stable both-edges;background:var(--bg);min-width:0;padding:var(--sp-3) var(--sp-2) var(--sp-4);flex-direction:column;flex:1;align-items:safe center;display:flex;overflow:auto}.page-scale{flex-shrink:0}.page-stack{flex-shrink:0;position:relative}.page-papers{pointer-events:none;position:absolute;inset:0}.page-paper{background:var(--paper);border:1px solid var(--paper-edge);box-shadow:var(--shadow);border-radius:10px;position:absolute;left:0;right:0}.page-paper--tinted{overflow:hidden}.page-paper__margins{pointer-events:none;position:absolute}.page-paper__margins--frame{border:1px solid var(--margin-color)}.page-paper__margins--left:before{content:"";top:calc(-1 * var(--margin-top));bottom:calc(-1 * var(--margin-bottom));border-left:1.5px solid var(--margin-color);position:absolute;left:-1px}.page-paper__margins--tint{box-shadow:0 0 0 100vmax var(--margin-color)}@supports (color:color-mix(in lab, red, red)){.page-paper__margins--tint{box-shadow:0 0 0 100vmax color-mix(in srgb, var(--margin-color) 12%, transparent)}}.page-paper__num{font-family:var(--font-display);letter-spacing:.16em;color:var(--ink-faint);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.62rem;position:absolute}.page-flow{z-index:1;box-sizing:border-box;flex-direction:column;display:flex;position:relative}.page-flow>.tiptap-editor{flex:1}.page-sheet{background:var(--paper);border:1px solid var(--paper-edge);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;flex-shrink:0;display:flex;position:relative}.page-sheet__content{flex-direction:column;flex:1;min-height:0;display:flex}.page-sheet__content>.tiptap-editor{flex:1}.page-sheet--flow .tiptap-editor{min-height:60vh}.page-canvas--flow{padding:var(--sp-2) var(--sp-2) var(--sp-4)}.page-sheet--flow{width:100%;max-width:1100px;padding:var(--sp-3) var(--sp-4) var(--sp-4)}.page-break{pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.page-header,.page-footer{font-family:var(--doc-font,var(--font-type));color:var(--ink-faint);grid-template-columns:1fr auto 1fr;align-items:center;column-gap:.5rem;font-size:.8rem;display:grid;position:absolute}.page-footer{border-top:1px solid var(--paper-edge)}.page-header{border-bottom:1px solid var(--paper-edge)}.page-header span,.page-footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-header>:first-child,.page-footer>:first-child{text-align:left}.page-header>:nth-child(2),.page-footer>:nth-child(2){text-align:center}.page-header>:nth-child(3),.page-footer>:nth-child(3){text-align:right}.page-badge--button{cursor:pointer;transition:color .12s,border-color .12s,background .12s}.page-badge--button:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.page-badge{border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-type);color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.3rem;padding:.12rem .55rem;font-size:.64rem;display:inline-flex}.panel-resizer{cursor:col-resize;touch-action:none;outline:none;flex-shrink:0;width:8px;position:relative}.panel-resizer:before{content:"";background:var(--paper-edge);border-radius:2px;transition:background .12s;position:absolute;inset:0 3px}.panel-resizer:hover:before,.panel-resizer:focus-visible:before,.panel-resizer--active:before{background:var(--accent)}.panel-resizer--active:before{background:var(--accent-2)}.zp{flex-direction:column;height:100%;min-height:0;display:flex}.zp-head{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:.55rem;padding:.6rem .75rem;display:flex}.zp-head__text{flex:1;min-width:0}.zp-head__title{font-family:var(--font-display);color:var(--ink);font-size:.82rem;line-height:1.3;display:block}.zp-head__sub{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;display:block;overflow:hidden}.zp-status{border-radius:var(--r-pill);border:1px solid var(--line);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.28rem;padding:.1rem .5rem;font-size:.58rem;display:inline-flex}.zp-status--on{border-color:var(--ink);color:var(--ink)}.zp-tabs{border-bottom:1px solid var(--line);background:var(--paper);gap:2px;padding:.35rem .5rem;display:flex}.zp-tab{color:var(--ink-faint);cursor:pointer;font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .2rem;font-size:.64rem;transition:background .12s,color .12s;display:inline-flex}.zp-tab:hover{background:var(--bg);color:var(--ink)}.zp-tab[aria-selected=true]{background:var(--solid-bg);color:var(--solid-ink)}.zp-body{flex:1;min-height:0;overflow-y:auto}.zp-bar{border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:.4rem;padding:.5rem .6rem;display:flex}.zp-bar--sticky{z-index:2;position:sticky;top:0}.zp-bar--tucked{position:static}.zp-bar--reveal{animation:.2s zp-bar-in}@keyframes zp-bar-in{0%{transform:translateY(-100%)}to{transform:none}}.zp-input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);font-family:var(--font-type);border-radius:8px;flex:1;padding:.38rem .6rem;font-size:.8rem;transition:border-color .15s}.zp-input:focus{border-color:var(--ink-soft);outline:none}.zp-input::placeholder{color:var(--ink-faint)}.zp-icon-btn{background:var(--solid-bg);width:30px;height:30px;color:var(--solid-ink);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s;display:inline-flex}.zp-icon-btn:disabled{opacity:.35;cursor:not-allowed}.zp-tree{padding:.3rem .35rem .5rem}.zp-tree-row{border-radius:8px;align-items:center;gap:.1rem;display:flex}.zp-tree-row:hover{background:var(--bg)}.zp-tree-row[aria-current=true]{background:var(--solid-bg)}.zp-tree-row[aria-current=true] .zp-tree-btn,.zp-tree-row[aria-current=true] .zp-tree-toggle{color:var(--solid-ink)}.zp-tree-toggle{width:18px;height:26px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.zp-tree-toggle--empty{pointer-events:none;opacity:0}.zp-tree-btn{min-width:0;color:var(--ink);cursor:pointer;text-align:left;font-size:.78rem;font-family:var(--font-type);background:0 0;border:none;flex:1;align-items:center;gap:.4rem;padding:.3rem .4rem .3rem 0;display:flex}.zp-tree-btn>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.zp-tree-count{opacity:.55;flex-shrink:0;font-size:.64rem}.zp-tree-btn--muted{color:var(--ink-faint)}.zp-tree-btn--muted:hover{color:var(--ink)}.zp-tree-new{flex:1;align-items:center;gap:.3rem;padding:.25rem .4rem .25rem 0;display:flex}.zp-tree-new input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);font-family:var(--font-type);border-radius:6px;flex:1;padding:.28rem .5rem;font-size:.76rem}.zp-tree-new input:focus{border-color:var(--ink-soft);outline:none}.zp-tree-new button{width:22px;height:22px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.zp-tree-new button:hover:not(:disabled){background:var(--bg);color:var(--ink)}.zp-tree-new button:disabled{opacity:.4;cursor:not-allowed}.zp-tree-error{color:var(--ink);padding:.3rem .6rem .1rem 1.15rem;font-size:.68rem}.zp-source{border:none;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;padding:.65rem .75rem;transition:background .1s;display:block}.zp-source:hover{background:var(--paper)}.zp-source__top{align-items:flex-start;gap:.4rem;margin-bottom:.25rem;display:flex}.zp-source__title{color:var(--ink);flex:1;font-size:.78rem;font-weight:700;line-height:1.4}.zp-source__meta{color:var(--ink-faint);margin-bottom:.45rem;font-size:.68rem;line-height:1.45}.zp-source__foot{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zp-source__inline{min-width:0;font-family:var(--font-type);color:var(--ink-faint);background:var(--bg);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;flex:auto;padding:.1rem .35rem;font-size:.68rem;overflow:hidden}.zp-source__page{text-align:center;color:var(--ink);flex:0 0 2.2rem;border:none!important;border-bottom:1px solid var(--line)!important;background:0 0!important;border-radius:0!important;width:2.2rem!important;padding:.28rem .1rem!important;font-size:.64rem!important}.zp-source__page:focus{box-shadow:none!important;border-bottom-color:var(--accent)!important;outline:none!important}.zp-source__page::placeholder{color:var(--ink-faint)}.zp-cite-btn{border-radius:var(--r-pill);border:1px solid var(--solid-bg);background:var(--solid-bg);color:var(--solid-ink);cursor:pointer;font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:.28rem;padding:.28rem .7rem;font-size:.62rem;transition:background .12s,color .12s;display:inline-flex}.zp-empty{text-align:center;color:var(--ink-faint);flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1.25rem;display:flex}.zp-empty p{color:var(--ink-faint);font-size:.78rem;line-height:1.6}.zp-note{background:var(--bg);border-bottom:1px solid var(--line);color:var(--ink);align-items:flex-start;gap:.45rem;padding:.55rem .7rem;font-size:.72rem;line-height:1.5;display:flex}.zp-note--inset{border:1px solid var(--line);border-radius:10px;margin-bottom:.85rem}.zp-note svg{color:var(--ink-faint);flex-shrink:0;margin-top:2px}.zp-pad{padding:.9rem .8rem}.zp-field{margin-bottom:.75rem}.zp-field:last-child{margin-bottom:0}.zp-field>label{font-family:var(--font-display);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem;font-size:.6rem;display:block}.zp-field input,.zp-field select,.zp-field textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font-family:var(--font-type);border-radius:9px;padding:.45rem .65rem;font-size:.82rem}.zp-field textarea{min-height:0}.zp-field input:focus,.zp-field select:focus,.zp-field textarea:focus{border-color:var(--ink-soft);box-shadow:none;outline:none}.zp-actions{flex-wrap:wrap;gap:.45rem;margin-top:.85rem;display:flex}.zp-btn{border-radius:var(--r-pill);border:1px solid var(--solid-bg);background:var(--solid-bg);color:var(--solid-ink);cursor:pointer;font-family:var(--font-display);letter-spacing:.05em;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.72rem;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.zp-btn:disabled{opacity:.38;cursor:not-allowed}.zp-disclosure>summary{list-style:none}.zp-disclosure>summary::-webkit-details-marker{display:none}.zp-btn--ghost{color:var(--ink);border-color:var(--line);background:0 0}.zp-btn--ghost:hover:not(:disabled){border-color:var(--ink)}.zp-preview{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:.75rem .85rem}.zp-preview__type{border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-display);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);align-self:flex-start;margin-bottom:.4rem;padding:.1rem .5rem;font-size:.58rem;display:inline-flex}.zp-preview__title{margin-bottom:.25rem;font-size:.84rem;font-weight:700;line-height:1.4}.zp-preview__meta{color:var(--ink-faint);font-size:.72rem;line-height:1.5}.zp-preview__ref{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:.55rem;padding-top:.55rem;font-size:.7rem;line-height:1.6}.zp-refs{border-top:1px solid var(--paper-edge);background:var(--paper);flex-direction:column;min-height:0;max-height:42%;display:flex}.zp-refs__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .7rem;display:flex}.zp-refs__title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.35rem;font-size:.62rem;display:inline-flex}.zp-refs__list{overflow-y:auto}.zp-refs__item{border-bottom:1px solid var(--line);align-items:flex-start;gap:.4rem;padding:.5rem .7rem;display:flex}.zp-refs__item p{color:var(--ink-faint);flex:1;font-size:.68rem;line-height:1.6}.zp-refs__num{color:var(--ink-faint);flex-shrink:0;min-width:1.3rem;font-size:.66rem}.zp-spinner{color:var(--ink-faint);place-items:center;padding:2rem 1rem;display:grid}.zp-main{flex-direction:column;flex:1;min-height:0;display:flex}.zp-chrome{grid-template-rows:1fr;transition:grid-template-rows .2s;display:grid}.zp-chrome__inner{min-height:0;overflow:hidden}.zp-chrome--collapsed{grid-template-rows:0fr}.zp-listed-btn{border-radius:var(--r-pill);border:1px solid var(--solid-bg);background:var(--solid-bg);color:var(--solid-ink);font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:.4rem;padding:.42rem .55rem .42rem .7rem;font-size:.68rem;transition:opacity .12s,background .12s,color .12s;display:inline-flex}@media (hover:hover){.zp-listed-btn:hover{opacity:.88}}.zp-listed-btn[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--ink)}.zp-listed-btn__count{border-radius:var(--r-pill);background:var(--solid-ink);min-width:1.35rem;color:var(--solid-bg);text-align:center;padding:.05rem .38rem;font-size:.64rem}.zp-listed-btn[aria-pressed=true] .zp-listed-btn__count{background:var(--ink);color:var(--paper)}.zp-view-head{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.zp-back{color:var(--ink);font-family:var(--font-display);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.7rem;display:inline-flex}.zp-back:hover{background:var(--bg)}.zp-bib{padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--paper);flex-shrink:0}.zp-bib__btn{background:var(--accent);width:100%;min-height:44px;color:var(--accent-ink);font-family:var(--font-display);cursor:pointer;box-shadow:0 2px 10px var(--accent);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}@supports (color:color-mix(in lab, red, red)){.zp-bib__btn{box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 30%, transparent)}}.zp-bib__btn{transition:filter .12s,transform .12s}.zp-bib__btn:hover:not(:disabled){filter:brightness(1.08)}.zp-bib__btn:active:not(:disabled){transform:translateY(1px)}.zp-bib__btn:disabled{opacity:.5;cursor:progress}.zp-bib__count{border-radius:var(--r-pill);background:var(--accent-ink);min-width:1.4rem;padding:.05rem .4rem}@supports (color:color-mix(in lab, red, red)){.zp-bib__count{background:color-mix(in srgb, var(--accent-ink) 22%, transparent)}}.zp-bib__count{font-size:.72rem}.zp-bib__split{gap:.45rem;display:flex}.zp-bib__split .zp-bib__done{flex:1;min-width:0}.zp-bib__remove{border:1px solid var(--danger);border-radius:12px;align-items:center;gap:.4rem;min-height:44px;padding:0 .9rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zp-bib__remove{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line))}}.zp-bib__remove{background:var(--paper);color:var(--danger);font-family:var(--font-display);cursor:pointer;white-space:nowrap;font-size:.8rem;font-weight:600;transition:background .12s,border-color .12s}.zp-bib__remove:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.zp-bib__remove:hover{background:color-mix(in srgb, var(--danger) 8%, var(--paper))}}.zp-bib__remove:hover{border-color:var(--danger)}.zp-bib__done{background:var(--accent-soft);min-height:44px;color:var(--accent);font-family:var(--font-display);border-radius:12px;justify-content:center;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:flex}.zp-listed,.zp-edit{flex-direction:column;flex:1;min-height:0;display:flex}.zp-listed__body,.zp-edit__body{flex:1;min-height:0;overflow-y:auto}.zp-listed__intro{border-bottom:1px solid var(--line);padding:.8rem .8rem .55rem}.zp-listed__hint{color:var(--ink-faint);margin-top:.2rem;font-size:.7rem;line-height:1.5}.zp-listed__item{border-bottom:1px solid var(--line);align-items:flex-start;gap:.35rem;padding:.3rem .45rem .3rem .3rem;display:flex}.zp-listed__open{text-align:left;min-width:0;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:flex-start;gap:.4rem;padding:.4rem .45rem;display:flex}.zp-listed__open:hover{background:var(--bg)}.zp-listed__open--static{cursor:default}.zp-listed__open--static:hover{background:0 0}.zp-listed__ref{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.74rem;line-height:1.6}.zp-edit__body{padding:.85rem .8rem 1rem}.zp-edit__heading{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.62rem}.zp-edit__title{color:var(--ink);margin:.2rem 0 .8rem;font-size:.86rem;font-weight:700;line-height:1.4}.zp-edit__form{border:none;min-width:0;margin:0;padding:0}.zp-edit__form:disabled input,.zp-edit__form:disabled textarea,.zp-edit__form:disabled select{opacity:.7}.zp-edit__foot{border-top:1px solid var(--line);background:var(--paper);align-items:center;gap:.45rem;padding:.55rem .7rem;display:flex}.zp-edit__status{min-width:0;color:var(--ink-faint);flex:1;align-items:center;gap:.3rem;font-size:.68rem;display:inline-flex}.zp-creator{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem;margin-bottom:.4rem;padding:.45rem;display:grid}.zp-creator>select,.zp-creator__wide{grid-column:1/-1}.zp-creator__tools{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.zp-creator__mode{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:.15rem 0;font-size:.64rem;text-decoration:underline}.zp-creator__mode:hover{color:var(--ink)}.zp-source__open{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:block}.zp-source__open .zp-source__meta{display:block}.zp-source__open:hover .zp-source__title{text-underline-offset:2px;text-decoration:underline}.zp-source__edit-icon{color:var(--ink-faint);flex-shrink:0;margin-top:3px}.ctx-menu{z-index:500;background:var(--paper);border:1px solid var(--paper-edge);min-width:200px;max-width:240px;box-shadow:var(--shadow);font-family:var(--font-type);border-radius:10px;padding:.3rem}.ctx-menu__item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.55rem;padding:.4rem .55rem;font-size:.8rem;display:flex}.ctx-menu__item:hover{background:var(--bg)}.ctx-menu__item[aria-checked=true]{background:var(--solid-bg);color:var(--solid-ink)}.ctx-menu__item--stepper{cursor:default;justify-content:space-between}.ctx-menu__item--stepper:hover{background:0 0}.ctx-menu__stepper{color:var(--ink-faint);align-items:center;gap:.4rem;font-size:.76rem;display:inline-flex}.ctx-menu__stepper button{border:1px solid var(--line);background:var(--bg);width:20px;height:20px;color:var(--ink);cursor:pointer;border-radius:5px;place-items:center;font-size:.85rem;line-height:1;display:grid}.ctx-menu__stepper button:hover{border-color:var(--ink-soft)}.ctx-menu__stepper span{text-align:center;min-width:1.4em}.ctx-menu__divider{background:var(--line);height:1px;margin:.3rem .4rem}.ctx-menu__label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items:center;padding:.3rem .55rem .25rem;font-size:.6rem;display:flex}.ctx-menu__swatches{flex-wrap:wrap;align-items:center;gap:.35rem;padding:0 .55rem .5rem;display:flex}.ctx-menu__remove-highlight{border:1px dashed var(--line);width:20px;height:20px;color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:.85rem;line-height:1;display:grid}.ctx-menu__remove-highlight:hover{border-color:var(--ink-soft);color:var(--ink)}.annotation-hover-card{z-index:505;background:var(--ink);max-width:240px;color:var(--paper);box-shadow:var(--shadow);font-family:var(--font-type);pointer-events:none;border-radius:8px;padding:.55rem .7rem}.annotation-hover-card__text{color:var(--paper);margin:0;font-size:.74rem;line-height:1.45}mark[data-annotation-id]{cursor:pointer}.mac-window{background:var(--paper);border:1px solid var(--paper-edge);box-shadow:var(--shadow);border-radius:16px;position:relative;overflow:hidden}.mac-window__bar{background:var(--glass);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--paper-edge);align-items:center;gap:8px;padding:.7rem .9rem;display:flex}.mac-window__dots{flex-shrink:0;align-items:center;gap:7px;display:flex}.mac-window__dot{border-radius:50%;width:11px;height:11px}.mac-window__dot--red{background:#ff5f57}.mac-window__dot--yellow{background:#febc2e}.mac-window__dot--green{background:#28c840}.mac-window__title{text-align:center;font-family:var(--font-display);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:41px;font-size:.74rem;font-weight:600;overflow:hidden}.mac-window__body{background:var(--bg)}.editor-subbar{padding:.6rem 1rem}.editor-main{min-height:0;padding:.75rem var(--sp-2) var(--sp-2);flex-direction:column;flex:1;width:100%;margin:0 auto;display:flex}.status-panel-icons{gap:2px;display:flex}.status-panel-hamburger{display:none}.quick-cite-btn{border-radius:var(--r-pill);background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;height:26px;font-family:var(--font-display);white-space:nowrap;background-origin:border-box;border:1px solid #0000;flex-shrink:0;align-items:center;gap:.3rem;padding:0 .6rem;font-size:.72rem;transition:filter .15s,transform .12s;display:inline-flex}.quick-cite-btn:hover{filter:brightness(1.08)}.quick-cite-btn:active{transform:scale(.97)}.qc-bar{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg);width:190px;height:28px;color:var(--ink-faint);cursor:text;flex-shrink:1;align-items:center;gap:.4rem;min-width:112px;padding:0 .65rem;transition:border-color .12s,box-shadow .12s;display:inline-flex}.qc-bar:hover{border-color:var(--accent)}.qc-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.qc-bar__input.bare-input{min-width:0;height:100%;font-family:var(--font-display);color:var(--ink);box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.74rem}.qc-bar__input::placeholder{color:var(--ink-soft)}.tb-btn.status-labelled{width:auto;font-family:var(--font-display);gap:.35rem;padding:0 .55rem;font-size:.72rem}.qc-result.cmd-result{align-items:center;gap:.6rem;display:flex}.cmd-result__label{min-width:0;font-family:var(--font-display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.84rem;overflow:hidden}.cmd-result__hint{font-family:var(--font-display);color:var(--ink-faint);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:.05rem .35rem;font-size:.66rem}.cmd-result__group{color:var(--ink-faint);white-space:nowrap;font-size:.68rem}.cmd-result__enter{color:var(--ink-faint);flex-shrink:0}.cmd-flash{animation:1.4s ease-out cmd-flash}@keyframes cmd-flash{0%,35%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent)}to{box-shadow:0 0 0 3px #0000}}.editor-subbar__rule{background:var(--line);flex-shrink:0;width:1px;height:14px}.editor-subbar__title{flex:1;align-items:center;gap:.5rem;min-width:120px;display:flex}.editor-subbar__controls{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.view-switch{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg);flex-shrink:0;padding:2px;display:inline-flex}.view-switch__opt{border-radius:var(--r-pill);height:28px;color:var(--ink-soft);font-family:var(--font-display);white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0 .7rem;font-size:.74rem;transition:background .12s,color .12s;display:inline-flex}.view-switch__opt:hover{color:var(--ink)}.view-switch__opt[aria-checked=true]{background:var(--solid-bg);color:var(--solid-ink)}.text-size{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);flex-shrink:0;align-items:center;gap:2px;height:32px;padding:0 3px 0 .65rem;display:inline-flex}.text-size__label{font-family:var(--font-display);color:var(--ink-faint);white-space:nowrap;margin-right:.25rem;font-size:.7rem}.text-size__value{text-align:center;font-variant-numeric:tabular-nums;min-width:2.6rem;color:var(--ink);font-size:.74rem}.text-size button{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;display:inline-grid}.text-size button:hover:not(:disabled){background:var(--bg);color:var(--ink)}.text-size button:disabled{opacity:.35;cursor:not-allowed}.text-size button.text-size__value{border-radius:var(--r-pill);width:auto;min-width:2.9rem;color:var(--ink)}.focus-btn{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);height:30px;color:var(--ink);font-family:var(--font-display);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:.3rem;padding:0 .8rem;font-size:.74rem;transition:border-color .12s;display:inline-flex}.focus-btn:hover{border-color:var(--ink)}.editor-main--focus{padding:.75rem}.editor-main--focus .editor-tools.editor-tools--collapsed{display:none}.focus-exit{border-radius:var(--r-pill);border:1px solid var(--solid-bg);background:var(--solid-bg);height:26px;color:var(--solid-ink);font-family:var(--font-display);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:.3rem;padding:0 .7rem;font-size:.72rem;display:inline-flex}@media (hover:hover){.focus-exit:hover{filter:brightness(1.08)}}.focus-exit--sheet{display:none}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.focus-exit--sheet{display:inline-flex}}.save-ctl{flex-shrink:0;align-items:center;gap:.55rem;display:inline-flex}.save-ctl__status{flex-direction:column;align-items:flex-end;gap:4px;min-width:7.5rem;display:flex}.save-ctl__label{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.save-ctl__track{background:0 0;border-radius:3px;width:100%;height:3px;transition:background .2s;position:relative;overflow:hidden}.save-ctl__bar{border-radius:inherit;background:var(--ok);width:0;position:absolute;inset:0 auto 0 0}.save-ctl--saved .save-ctl__label{color:var(--ok)}.save-ctl--unsaved .save-ctl__label{color:var(--warn)}.save-ctl--error .save-ctl__label{color:var(--danger)}.save-ctl--offline .save-ctl__label,.save-ctl--saving .save-ctl__label{color:var(--ink-soft)}.save-ctl--saving .save-ctl__track,.save-ctl--flash .save-ctl__track{background:var(--ok)}@supports (color:color-mix(in lab, red, red)){.save-ctl--saving .save-ctl__track,.save-ctl--flash .save-ctl__track{background:color-mix(in srgb, var(--ok) 18%, transparent)}}.save-ctl--saving .save-ctl__bar{width:45%;animation:1s ease-in-out infinite save-bar}.save-ctl--flash .save-ctl__bar{width:100%;animation:1.8s forwards save-bar-done}@keyframes save-bar{0%{transform:translate(-100%)}to{transform:translate(230%)}}@keyframes save-bar-done{0%,60%{opacity:1}to{opacity:0}}.save-ctl--flash .save-ctl__track{animation:1.8s forwards save-bar-done}.save-ctl__btn{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);height:30px;color:var(--ink);font-family:var(--font-display);cursor:pointer;white-space:nowrap;align-items:center;gap:.3rem;padding:0 .8rem;font-size:.74rem;transition:border-color .12s;display:inline-flex}.save-ctl__short{display:none}.save-ctl__btn:hover:not(:disabled){border-color:var(--ink)}.save-ctl__btn:disabled{opacity:.55;cursor:progress}.save-ctl--unsaved .save-ctl__btn,.save-ctl--error .save-ctl__btn{background:var(--solid-bg);color:var(--solid-ink);border-color:var(--solid-bg)}.doc-title-input{border-radius:var(--r-s);min-width:0;font-family:var(--font-display);color:var(--ink);text-overflow:ellipsis;background:0 0;border:1px solid #0000;flex:1;margin-left:-.4rem;padding:.15rem .4rem;font-size:.88rem}.doc-title-input::placeholder{color:var(--ink-faint)}.doc-title-input:hover{background:var(--bg)}.doc-title-input:focus{background:var(--paper);border-color:var(--accent);text-overflow:clip;outline:none}.qc-overlay{z-index:560;-webkit-backdrop-filter:blur(2px);background:#0a0c1c47;justify-content:center;align-items:flex-start;padding:clamp(1rem,8vh,6rem) 1rem 1rem;display:flex;position:fixed;inset:0}.qc-panel{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-l);width:min(560px,100%);max-height:min(70vh,560px);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.qc-search{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:.55rem;padding:.7rem .85rem;display:flex}.qc-input{min-width:0;font-family:var(--font-display);color:var(--ink);background:0 0;border:none;flex:1;font-size:1rem}.qc-input:focus{outline:none}.qc-input::placeholder{color:var(--ink-faint)}.qc-close{width:24px;height:24px;color:var(--ink-faint);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.qc-close:hover{background:var(--bg);color:var(--ink)}.qc-page-input{text-align:center;color:var(--ink);flex:0 0 2.4rem;border:none!important;border-bottom:1px solid var(--line)!important;background:0 0!important;border-radius:0!important;width:2.4rem!important;padding:.2rem .15rem!important;font-size:.72rem!important}.qc-page-input:focus{box-shadow:none!important;border-bottom-color:var(--accent)!important;outline:none!important}.qc-page-input::placeholder{color:var(--ink-faint)}.qc-results{padding:.3rem;overflow-y:auto}.qc-result{border-radius:var(--r-m);text-align:left;grid-template-columns:1fr auto;grid-template-areas:"title inline""meta inline";align-items:center;gap:0 .6rem;width:100%;padding:.5rem .6rem;display:grid}.qc-result[aria-selected=true]{background:var(--bg)}.qc-result__title{font-family:var(--font-display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-area:title;font-size:.84rem;overflow:hidden}.qc-result__meta{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;grid-area:meta;font-size:.7rem;overflow:hidden}.qc-result__inline{font-family:var(--font-type);color:var(--accent);white-space:nowrap;flex-shrink:0;grid-area:inline;font-size:.68rem}.qc-empty{text-align:center;color:var(--ink-faint);flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1.5rem;display:flex}.qc-empty p{max-width:34ch;font-size:.8rem}.qc-note{color:var(--ink-soft);align-items:center;gap:.45rem;padding:.6rem .75rem;font-size:.72rem;display:flex}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.editor-shell>.site-header{display:none}.editor-subbar{min-height:52px;padding:.35rem .35rem .35rem .25rem;padding-top:max(.35rem, env(safe-area-inset-top));padding-left:max(.25rem, env(safe-area-inset-left));padding-right:max(.35rem, env(safe-area-inset-right));background:var(--paper);border-bottom:1px solid var(--paper-edge);flex-wrap:nowrap;gap:.25rem!important}.editor-subbar__back,.editor-subbar__rule,.editor-subbar__location,.editor-subbar__desktop,.editor-subbar__file-icon{display:none!important}.editor-subbar__title{min-width:0}.editor-subbar__controls{gap:.25rem}.editor-subbar .doc-title-input{margin-left:0;padding:.3rem .4rem;font-size:16px;font-weight:600}.save-ctl{gap:.3rem}.save-ctl__status{min-width:0}.save-ctl__track,.save-ctl__long{display:none}.save-ctl__short{display:inline}.save-ctl__btn{justify-content:center;width:38px;height:38px;padding:0}.save-ctl__btn-text{display:none}.editor-main,.editor-main--focus{max-width:none;padding:0}.editor-main .panel-container{border-bottom:none!important;border-left:none!important;border-right:none!important;border-radius:0!important}.editor-main--focus .panel-container{border-top:none!important}.text-size__label{display:none}.text-size{padding-left:3px}.text-size__value{min-width:2.3rem}.view-switch__opt{padding:0 .55rem}.page-canvas{padding:.6rem .4rem 1rem}.page-canvas--flow{padding:.5rem .5rem 1rem}.page-sheet--flow{padding:var(--sp-2) var(--sp-2) var(--sp-3)}.status-panel-icons{display:none}.status-panel-hamburger{display:inline-flex}.qc-overlay{align-items:stretch;padding:0}.qc-panel{border:none;border-radius:0;width:100%;max-height:100%}.qc-result{grid-template-columns:1fr;grid-template-areas:"title""meta""inline"}.qc-result__inline{justify-self:start}.panel-resizer{display:none}.side-panel{border-top:1px solid var(--paper-edge);border-radius:var(--r-l) var(--r-l) 0 0;box-shadow:var(--shadow);z-index:250;border-left:none!important;width:100%!important;min-width:0!important;max-width:100%!important;height:82vh!important;position:fixed!important;inset:auto 0 0!important}}.device-mock{filter:drop-shadow(0 22px 40px #1e285a2e);flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative}.device-mock__screen{background:var(--paper);width:100%;position:relative;overflow:hidden}.device-mock--mac{width:300px;max-width:86vw}.device-mock--mac .device-mock__screen{aspect-ratio:16/10.4;border:10px solid #1c1e28;border-bottom:none;border-radius:14px 14px 3px 3px}.device-mock--mac .device-mock__notch{z-index:2;background:#1c1e28;border-radius:0 0 9px 9px;width:86px;height:12px;position:absolute;top:0;left:50%;transform:translate(-50%)}.device-mock--mac .device-mock__base{background:linear-gradient(#3a3d4c,#1c1e28) border-box;border-radius:0 0 8px 8px;width:calc(100% + 34px);height:13px;position:relative}.device-mock--mac .device-mock__base:after{content:"";background:#52566a;border-radius:3px;width:90px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.device-pair{flex-shrink:0;align-items:flex-end;gap:clamp(1.5rem,4vw,3rem);display:flex}.device-mock--android{width:75px;max-width:22vw}.device-mock--android .device-mock__screen{aspect-ratio:9/18.5;border:9px solid #1c1e28;border-radius:11px;padding-top:18px}.device-mock--android .device-mock__cam{z-index:2;background:#05060a;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.device-mock--tablet{width:175px;max-width:48vw}.device-mock--tablet .device-mock__screen{aspect-ratio:3/4;border:10px solid #2b2d33;border-radius:20px}.device-mock--tablet .device-mock__tablet-cam{z-index:2;background:#6b6f7a;border-radius:50%;width:3px;height:3px;position:absolute;top:3.5px;left:50%;transform:translate(-50%)}.device-mock--chromebook{width:255px;max-width:72vw}.device-mock--chromebook .device-mock__screen{aspect-ratio:16/10.5;border:8px solid #33363f;border-bottom:none;border-radius:9px 9px 2px 2px}.device-mock--chromebook .device-mock__base{background:linear-gradient(#e4e7ee,#c6cad6) border-box;border-radius:0 0 7px 7px;width:calc(100% + 26px);height:11px}.device-mock__chrome-dot{background:conic-gradient(from -45deg,#ea4335 0deg 120deg,#fbbc05 120deg 240deg,#34a853 240deg 360deg) border-box;border-radius:50%;flex-shrink:0;width:13px;height:13px;position:relative}.device-mock__chrome-dot:after{content:"";background:var(--paper);border:1.5px solid #4285f4;border-radius:50%;position:absolute;inset:3.5px}.device-mock--windows{width:310px;max-width:88vw}.device-mock--windows .device-mock__screen{aspect-ratio:16/10.4;border:9px solid #2b2d33;border-bottom:none;border-radius:3px 3px 0 0}.device-mock--windows .device-mock__base{background:linear-gradient(#34363d,#1a1b1f) border-box;border-radius:0 0 5px 5px;width:calc(100% + 22px);height:12px}.device-mock__ui-bar--win{background:var(--paper);justify-content:space-between;padding:5px 4px 5px 10px}.device-mock__win-title{font-size:8px;font-family:var(--font-display);color:var(--ink-soft);font-weight:600}.device-mock__win-controls{align-items:center;gap:7px;padding-right:4px;display:flex}.device-mock__win-controls i{background:var(--ink-faint);width:9px;height:1.5px;font-style:normal;display:block}.device-mock__win-controls i:nth-child(2){border:1.4px solid var(--ink-faint);background:0 0;width:8px;height:8px}.device-mock__win-controls i.device-mock__win-close{background:#e04b4b;height:1.5px}.device-mock__win-taskbar{background:#1e2024;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:5px 0;display:flex}.device-mock__win-start{background:conic-gradient(from 90deg,#4285f4 0deg 90deg,#34a853 90deg 180deg,#fbbc05 180deg 270deg,#ea4335 270deg 360deg) border-box;border-radius:2px;width:13px;height:13px}.device-mock__win-taskicon{background:#ffffff47;border-radius:3px;width:11px;height:11px}.device-mock--linux{width:300px;max-width:84vw}.device-mock--linux .device-mock__screen{aspect-ratio:16/10;border:9px solid #201f1e;border-bottom:none;border-radius:4px 4px 0 0}.device-mock--linux .device-mock__base{background:linear-gradient(#3c3a37,#201f1e) border-box;border-radius:0 0 5px 5px;width:calc(100% + 22px);height:12px}.device-mock__ui-bar--linux{background:#2f2c2a;justify-content:space-between;padding:5px 8px}.device-mock__ui-bar--linux .device-mock__win-title{color:#e8e4de}.device-mock__linux-badge{background:conic-gradient(#e95420 0deg 180deg,#772953 180deg 360deg) border-box;border-radius:50%;flex-shrink:0;width:10px;height:10px}.device-mock__linux-clock{background:#ffffff2e;border-radius:3px;width:18px;height:6px}.device-mock__linux-body{flex:1;min-height:0;display:flex}.device-mock__linux-dock{background:#0000000f;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:16px;padding:8px 0;display:flex}.device-mock__linux-dock span{border-radius:3px;width:9px;height:9px}.device-mock__linux-dock span:first-child{background:#e95420}.device-mock__linux-dock span:nth-child(2){background:#772953}.device-mock__linux-dock span:nth-child(3){background:var(--accent)}.device-mock__linux-dock span:nth-child(4){background:var(--line)}.device-mock__ui{background:var(--paper);flex-direction:column;display:flex;position:absolute;inset:0}.device-mock__ui-bar{border-bottom:1px solid var(--line);background:var(--glass);flex-shrink:0;align-items:center;gap:5px;padding:6px 8px;display:flex}.device-mock__ui-bar--plain{border-bottom:none;height:14px;padding:0}.device-mock__ui-dot{border-radius:50%;width:6px;height:6px}.device-mock__ui-body{background-position:top;background-repeat:no-repeat;background-size:cover;flex:1;min-height:0}.device-mock__caption{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:.4rem;margin-top:1.1rem;font-size:.82rem;font-weight:600;display:inline-flex}.custom-cursor{z-index:2147483647;pointer-events:none;will-change:transform, opacity;border-radius:50%;position:fixed;top:0;left:0}.custom-cursor--ring{border:1.5px solid var(--accent);opacity:.55;width:34px;height:34px;margin:-17px 0 0 -17px;transition:opacity .2s,transform .2s,width .2s,height .2s,margin .2s}.custom-cursor--ring.is-active{opacity:.85;background:var(--accent-soft);width:44px;height:44px;margin:-22px 0 0 -22px}.custom-cursor.is-hidden{opacity:0}@media (pointer:coarse){.custom-cursor{display:none}}.scroll-beaker{z-index:400;background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);color:var(--ink-faint);border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .4rem .4rem;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:22px;right:18px}.scroll-beaker:hover,.scroll-beaker:focus-visible{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.scroll-beaker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scroll-beaker.is-fizzing svg{transform-origin:50% 90%;animation:.45s cubic-bezier(.36,.07,.19,.97) beaker-fizz}.scroll-beaker__sparks{pointer-events:none;width:0;height:0;position:absolute;top:.55rem;left:50%}.scroll-beaker__spark{width:2px;height:var(--len);background:linear-gradient(to top, transparent, var(--spark));box-shadow:0 0 6px var(--spark);opacity:0;transform-origin:50% 100%;animation:beaker-spark .85s cubic-bezier(.2,.7,.3,1) var(--delay) forwards;background-origin:border-box;border-radius:2px;position:absolute;top:0;left:-1px}.scroll-beaker__flash{background:radial-gradient(circle, var(--accent-2) 0%, transparent 70%);opacity:0;background-origin:border-box;border-radius:50%;width:28px;height:28px;position:absolute;top:-14px;left:-14px}.scroll-beaker.is-fizzing .scroll-beaker__flash{animation:.5s ease-out forwards beaker-flash}@keyframes beaker-spark{0%{opacity:1;transform:translate(0, 0) rotate(var(--rot)) scaleY(.4)}55%{opacity:1;transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scaleY(1)}to{opacity:0;transform:translate(calc(var(--dx) * 1.15), calc(var(--dy) + 18px)) rotate(var(--rot)) scaleY(.3)}}@keyframes beaker-flash{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.8)}}@keyframes beaker-fizz{0%,to{transform:rotate(0)}20%{transform:rotate(-7deg)}45%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}}.scroll-beaker__glass{color:var(--ink-faint)}.scroll-beaker__fill{transition:y .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1)}.scroll-beaker__pct{font-family:var(--font-display);color:var(--accent);letter-spacing:.02em;font-size:.62rem;font-weight:700}@media (max-width:640px){.scroll-beaker{display:none}}.hero-sky{z-index:-2;height:clamp(380px,48vw,580px);position:absolute;inset:0 0 auto;overflow:hidden}.hero-sky:after{content:"";background:linear-gradient(180deg, #f4f6fd00 0%, var(--bg) 92%);background-origin:border-box;position:absolute;inset:0}:root[data-theme=dark] .hero-sky:after{background:linear-gradient(180deg, #0a0c1c00 0%, var(--bg) 92%);background-origin:border-box}.hero-sky img{object-fit:cover;width:100%;height:100%;display:block}:root[data-theme=dark] .hero-sky img{filter:brightness(.5)saturate(.85)}.art-band{align-items:flex-end;min-height:clamp(300px,42vw,480px);display:flex;position:relative;overflow:hidden}.art-band__img-wrap{position:absolute;inset:-8%}.art-band__img-wrap img{object-fit:cover;width:100%;height:100%;transform:translateY(var(--parallax-y,0px));transition:transform 50ms linear;display:block}.art-band:after{content:"";background:linear-gradient(#060a1a0d 22%,#060a1a52 50%,#060a1ad1 100%) border-box;position:absolute;inset:0}.art-band__content{z-index:1;max-width:600px;padding:clamp(1.75rem,4vw,3.25rem);position:relative}.art-band__content .eyebrow{color:#cfe0ff}.art-band__content h2{color:#fff;margin-bottom:.5rem}.art-band__content p{color:#ffffffd9;font-size:1.08rem;line-height:1.65}.article-mock{color:var(--ink-soft);font-size:.93rem;line-height:1.8}.article-mock p{margin:0}.cite-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);font-size:.62rem;font-weight:700;font-family:var(--font-display);vertical-align:text-top;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;margin:0 1px;padding:0 4px;transition:background .12s,color .12s,transform .12s;display:inline-flex}button.cite-badge{border:0;line-height:1}.cite-badge:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.cite-badge:hover{background:color-mix(in srgb, var(--accent) 82%, #000)}}.cite-badge:hover{transform:translateY(-1px)}.cite-badge.is-active{outline:1.5px solid var(--accent);outline-offset:1px;transform:translateY(-1px)}.source-row{border-bottom:1px dashed var(--line);align-items:flex-start;gap:.55rem;padding:.55rem 0;display:flex}.source-row:last-child{border-bottom:none}.source-row{border-radius:6px;scroll-margin:1.5rem;transition:background .2s,box-shadow .2s}.source-row.is-active{background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-soft), 0 0 0 7px var(--accent)}@supports (color:color-mix(in lab, red, red)){.source-row.is-active{box-shadow:0 0 0 6px var(--accent-soft), 0 0 0 7px color-mix(in srgb, var(--accent) 35%, transparent)}}.source-row.is-active{animation:.6s ease-out source-flash}.source-row.is-active .source-row__num{background:var(--accent);color:#fff}@keyframes source-flash{0%{box-shadow:0 0 0 0 var(--accent), 0 0 0 0 transparent}to{box-shadow:0 0 0 6px var(--accent-soft), 0 0 0 7px color-mix(in srgb, var(--accent) 35%, transparent)}}.source-row__num{background:var(--accent-soft);width:17px;height:17px;color:var(--accent);font-size:.6rem;font-weight:700;font-family:var(--font-display);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.source-row__meta{min-width:0}.source-row__title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.source-row__cite{color:var(--ink-faint);font-size:.66rem}.source-row--link{color:inherit;cursor:pointer;text-decoration:none}.source-row--link .source-row__meta{flex:1}.source-row__open{color:var(--ink-faint);opacity:.55;flex-shrink:0;margin-top:2px;transition:opacity .15s,color .15s,transform .15s}.source-row--link:hover,.source-row--link:focus-visible{background:var(--accent-soft);outline:none}.source-row--link:hover .source-row__title,.source-row--link:focus-visible .source-row__title{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.source-row--link:hover .source-row__open,.source-row--link:focus-visible .source-row__open{opacity:1;color:var(--accent);transform:translate(1px,-1px)}.source-row--link:focus-visible{box-shadow:0 0 0 2px var(--accent)}.hero-doc{grid-template-columns:minmax(0,1fr) 210px;gap:2rem;padding:clamp(1.25rem,3.5vw,2.5rem);display:grid}.hero-doc__sources-head{align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.hero-doc__count{display:none}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.hero-doc{grid-template-columns:1fr;gap:0;padding:1.1rem 1.1rem 0}.article-mock{font-size:1rem;line-height:1.75}.article-mock .cite-badge{min-width:0;height:18px;margin:0 1px;padding:0 5px;font-size:.7rem}.hero-doc__sources{border-top:1px solid var(--line);background:var(--bg);border-radius:var(--r-l) var(--r-l) 0 0;margin:1.15rem -1.1rem 0;padding:.85rem 1.1rem 1.1rem}.hero-doc__sources-head{margin-bottom:.35rem}.hero-doc__count{border-radius:var(--r-pill);background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent);font-family:var(--font-display);place-items:center;margin-left:auto;padding:0 5px;font-size:.64rem;font-weight:700;display:grid}.hero-doc__list{flex-direction:column;display:flex}.hero-doc__sources .source-row{align-items:center;padding:.6rem 0}.hero-doc__sources .source-row__title{-webkit-line-clamp:1;font-size:.82rem}.hero-doc__sources .source-row__cite{font-size:.72rem}.hero-doc__sources .source-row__num{width:20px;height:20px;font-size:.66rem}}.site-footer{padding:clamp(3rem,6vw,4.5rem) 0 2rem;position:relative}.site-footer__grid{text-align:left;grid-template-columns:1.3fr repeat(3,1fr);gap:2.5rem;margin-bottom:2.5rem;display:grid}.site-footer__brand{flex-direction:column;gap:1rem;display:flex}.site-footer__quote{font-family:var(--font-display);color:var(--ink-soft);border-left:2px solid var(--accent);margin:0;padding-left:.85rem;font-size:.96rem;font-style:italic;line-height:1.55}.site-footer__quote cite{color:var(--ink-faint);margin-top:.4rem;font-size:.72rem;font-style:normal;display:block}.site-footer__social{gap:.5rem;display:flex}.site-footer__col h4{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem;font-size:.72rem}.site-footer__col ul{flex-direction:column;gap:.65rem;display:flex}.site-footer__col a{color:var(--ink-soft);font-size:.95rem;transition:color .12s}.site-footer__col a:hover{color:var(--accent)}.site-footer__bottom{border-top:1px solid var(--line);color:var(--ink-faint);text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.75rem;font-size:.85rem;display:flex}@media (max-width:820px){.site-footer__grid{text-align:left;grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.site-footer__grid{grid-template-columns:1fr}}.role-picker{border:0;min-width:0;margin:0;padding:0}.role-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.role-option{border:1.5px solid var(--line);border-radius:var(--r-m);background:var(--paper);cursor:pointer;flex-direction:column;gap:.35rem;padding:.9rem .85rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.role-option:hover{border-color:var(--ink-faint)}.role-option.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.role-option:has(.role-option__input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.role-option__input{opacity:0;pointer-events:none;position:absolute}.role-option__icon{color:var(--accent)}.role-option__label{font-family:var(--font-display);color:var(--ink);font-size:.95rem;font-weight:600}.role-option__body{color:var(--ink-soft);font-size:.76rem;line-height:1.45}@media (max-width:560px){.role-picker__grid{grid-template-columns:1fr}.role-option{grid-template-columns:auto 1fr;align-items:center;gap:.15rem .7rem;display:grid}.role-option__icon{grid-row:span 2}}.workspace-choices{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workspace-choice{border:1px solid var(--paper-edge);border-radius:var(--r-l);background:var(--paper);min-height:320px;box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.workspace-choice__head{align-items:center;gap:.85rem;display:flex}.workspace-choice__icon{border-radius:var(--r-m);width:48px;height:48px;color:var(--accent-ink);background:linear-gradient(135deg, var(--accent), var(--accent-2));background-origin:border-box;flex-shrink:0;place-items:center;display:grid}.workspace-choice h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem)}.workspace-choice__lead{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.6}.workspace-choice__list{flex-direction:column;flex:1;gap:.15rem;display:flex}.workspace-choice__row{border-radius:var(--r-s);text-align:left;width:100%;color:var(--ink);cursor:pointer;align-items:center;gap:.65rem;padding:.55rem .6rem;font-size:.9rem;transition:background .12s;display:flex}.workspace-choice__row:hover{background:var(--accent-soft)}.workspace-choice__row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.workspace-choice__actions{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.workspace-choices{grid-template-columns:1fr}.workspace-choice{min-height:0}}.class-tiles{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));display:grid}.class-tile{border:1px solid var(--paper-edge);border-radius:var(--r-l);background:var(--paper);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.class-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.class-tile__band{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-ink);background-origin:border-box;padding:1.1rem 1.2rem 1.4rem}.class-tile__name{font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.3}.class-tile__foot{color:var(--ink-soft);padding:.85rem 1.2rem;font-size:.82rem}.papers-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.papers-head__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.papers-section-title{margin-bottom:.75rem;font-size:1.15rem}.project-tile{color:inherit;text-decoration:none}.project-tile__body{flex:1;align-items:flex-start;gap:.7rem;padding:1.1rem 1.2rem;display:flex}.project-tile__icon{color:var(--accent);flex-shrink:0;margin-top:2px}.project-tile__name{color:var(--ink);overflow-wrap:anywhere;font-size:1rem}.project-tile__foot{border-top:1px solid var(--line);justify-content:space-between;gap:.5rem;display:flex}.project-picker{color:var(--ink-faint);align-items:center;gap:.3rem;display:inline-flex}.project-picker select{border-radius:var(--r-s);width:auto;max-width:11rem;color:var(--ink-soft);background:var(--paper);cursor:pointer;border-width:1px;padding:.3rem .5rem;font-family:inherit;font-size:.75rem}.new-project-form{gap:.5rem;max-width:640px;display:grid}.new-project-form__row{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.new-project-form__row input{flex:1;width:auto;min-width:200px}h1 .project-title-input{font-size:inherit;font-weight:inherit;margin-left:-.4rem;padding:.1rem .4rem;line-height:1.2}.editor-subbar__home{border-radius:var(--r-pill);width:40px;height:40px;color:var(--ink);flex-shrink:0;place-items:center;display:none}.editor-subbar__home:active{background:var(--bg)}.editor-subbar__more{display:none}.editor-subbar__more .tb-btn{border-radius:var(--r-pill);width:40px;height:40px}.status-phone-only{display:none}.editor-more{flex-direction:column;width:min(270px,100vw - 32px);padding:.35rem;display:flex}.editor-more .view-switch,.editor-more .text-size{align-self:flex-start;margin:0 .45rem .35rem}.editor-more__hint{color:var(--ink-faint);padding:0 .6rem .3rem;font-size:.7rem;line-height:1.45}.editor-more__location{padding:.5rem .6rem}.editor-more__location:empty{display:none}.editor-more a.tb-option{color:var(--ink);text-decoration:none}.ctx-menu__item:disabled{opacity:.4;cursor:default}.ctx-menu__item:disabled:hover{background:0 0}.ctx-menu-scrim{z-index:499;background:#0a0c1c4d;animation:.15s ease-out fadeIn;position:fixed;inset:0}.ctx-menu--sheet{overscroll-behavior:contain;min-width:0;max-width:none;max-height:78dvh;padding:.35rem .6rem max(.8rem, env(safe-area-inset-bottom));border-bottom:none;border-radius:18px 18px 0 0;animation:.2s cubic-bezier(.2,.8,.2,1) sheetUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.ctx-menu--sheet .ctx-menu__item{min-height:44px;padding:.55rem .6rem;font-size:.92rem}.ctx-menu--sheet .ctx-menu__label{font-size:.78rem}.ctx-menu--sheet .tb-swatch--small{width:30px;height:30px}.ctx-menu--sheet .ctx-menu__stepper button{width:36px;height:36px}.ctx-menu__grip{background:var(--line);border-radius:2px;width:40px;height:4px;margin:.3rem auto .55rem}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.find-bar{border-bottom:1px solid #e0a100;flex-direction:column;gap:.3rem;padding:.45rem .6rem;display:flex}@supports (color:color-mix(in lab, red, red)){.find-bar{border-bottom:1px solid color-mix(in srgb, #e0a100 45%, var(--line))}}.find-bar{background:#ffc400;border-top:3px solid #e0a100}@supports (color:color-mix(in lab, red, red)){.find-bar{background:color-mix(in srgb, #ffc400 12%, var(--paper))}}.find-bar{flex-shrink:0}.find-bar__row{align-items:center;gap:.25rem;display:flex}.find-bar__input{border:1px solid var(--line);background:var(--paper);min-width:0;height:30px;color:var(--ink);font-family:var(--font-type);border-radius:8px;flex:1;padding:0 .6rem;font-size:.82rem}.find-bar__input:focus{border-color:var(--accent);outline:none}.find-bar__count{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:3.6rem;color:var(--ink-faint);font-size:.7rem}.search-hit{background:#ffc40052;border-radius:2px}.search-hit--current{background:#ff8c008c;box-shadow:0 0 0 1px #c864008c}.tb-link{width:min(300px,100vw - 32px)}.tb-link__input{border:1px solid var(--line);background:var(--bg);width:100%;height:34px;color:var(--ink);border-radius:8px;padding:0 .6rem;font-size:.85rem}.tb-link__input:focus{border-color:var(--accent);outline:none}.tb-link__actions{justify-content:flex-end;gap:.35rem;margin-top:.6rem;display:flex}.tb-choice{align-items:center;gap:.3rem;display:inline-flex}.tb-choice:disabled{opacity:.45;cursor:not-allowed}.tb-choice--primary{background:var(--solid-bg);color:var(--solid-ink);border-color:var(--solid-bg)}.tb-choice--primary:hover:not(:disabled){color:var(--solid-ink);filter:brightness(1.08)}.tiptap-editor p[data-doc-style=title]{margin-bottom:.3em;font-size:2.1em;line-height:1.2}.tiptap-editor p[data-doc-style=subtitle]{color:var(--ink-soft);margin-bottom:1em;font-size:1.3em;line-height:1.3}.tiptap-editor h4{font-family:var(--font-display);margin:1em 0 .3em;font-size:1em;font-style:italic}.tiptap-editor a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.tiptap-editor ul[data-type=taskList]{padding-left:.15rem;list-style:none}.tiptap-editor ul[data-type=taskList] li{align-items:flex-start;gap:.55em;display:flex}.tiptap-editor ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;line-height:inherit;flex-shrink:0}.tiptap-editor ul[data-type=taskList] li>label input{vertical-align:middle;width:1em;height:1em;accent-color:var(--accent);cursor:pointer;margin:0}.tiptap-editor ul[data-type=taskList] li>div{flex:1;min-width:0}.tiptap-editor ul[data-type=taskList] li>div>p{margin-bottom:0}.tiptap-editor ul[data-type=taskList] li[data-checked=true]>div{color:var(--ink-faint);text-decoration:line-through}.tiptap-editor .doc-page-break{cursor:default;align-items:center;height:1.5em;margin:.5em 0;display:flex;position:relative}.tiptap-editor .doc-page-break:before{content:"";border-top:1px dashed var(--ink-faint);opacity:.6;flex:1}.tiptap-editor .doc-page-break:after{content:"Page break";background:var(--paper);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:0 .7em;font-size:.6rem;position:absolute;left:50%;transform:translate(-50%)}.tiptap-editor .doc-page-break.ProseMirror-selectednode:before{border-top-color:var(--accent);opacity:1}.tiptap-editor .doc-page-break.ProseMirror-selectednode:after{color:var(--accent)}.auth-trigger{align-items:center;gap:.35rem;width:auto;padding:0 .75rem;display:inline-flex}@media (max-width:640px){.site-nav{min-width:0}.brand{flex-shrink:1;min-width:0}.brand__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-trigger{justify-content:center;width:2.2rem;padding:0}.auth-trigger__name,.auth-trigger>svg:last-child{display:none}}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.tb{scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:0;padding:.25rem .35rem;overflow:auto hidden}.tb::-webkit-scrollbar{display:none}.tb-group{flex-shrink:0}.tb .tb-btn{min-width:38px;height:38px}.tb .tb-trigger{height:34px;font-size:.8rem}.editor-tools--collapsed{display:none}.editor-status{min-height:52px;padding:.3rem .45rem!important;padding-bottom:max(.3rem, env(safe-area-inset-bottom))!important}.status-phone-only{display:inline-flex}.editor-subbar__home{display:grid}.editor-subbar__more{display:inline-flex}.editor-status .tb-btn{min-width:40px;height:40px!important}.editor-status .quick-cite-btn{height:36px;padding:0 .9rem;font-size:.8rem}.editor-status__chars,.editor-status .page-badge{display:none}.find-bar__input{height:38px;font-size:16px}.find-bar .tb-btn{min-width:36px;height:36px}.tb-link__input{height:40px;font-size:16px}}.ctx-menu__group{display:contents}.ctx-menu--sheet .ctx-menu__group{grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.15rem 0 .45rem;display:grid}.ctx-menu--sheet .ctx-menu__group .ctx-menu__item{background:var(--bg);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;gap:.3rem;min-height:62px;padding:.45rem .25rem;font-size:.7rem;line-height:1.2}.ctx-menu--sheet .ctx-menu__group .ctx-menu__item svg{width:18px;height:18px}.ctx-menu--sheet .ctx-menu__group .ctx-menu__item[aria-checked=true]{background:var(--solid-bg);color:var(--solid-ink)}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.editor-subbar .doc-title-input{height:40px;box-shadow:none;background:0 0;border-color:#0000;border-radius:10px}.editor-subbar .doc-title-input:focus{border-color:var(--accent);background:var(--paper)}}.ctx-menu__label{gap:.4em}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.page-canvas--flow{scrollbar-gutter:auto;padding:0}.page-sheet--flow{max-width:none;min-height:100%;box-shadow:none;padding:1.1rem max(1rem, env(safe-area-inset-right)) 2rem max(1rem, env(safe-area-inset-left));border:none;border-radius:0}.editor-status .status-phone-only[aria-pressed=true],.editor-status .status-phone-only[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}}@media (hover:none){.editor-status .tb-btn:hover:not([aria-pressed=true]):not([aria-expanded=true]),.tb .tb-btn:hover:not([aria-pressed=true]){background:0 0}}.editor-tools__toggle{display:none}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.editor-tools{border-bottom:1px solid var(--paper-edge);background:var(--paper);align-items:stretch;min-height:49px;display:flex;position:relative}.editor-tools.editor-tools--collapsed{display:none}.editor-tools>.tb{border-bottom:none;flex:1;min-width:0}.editor-tools__toggle{border:none;border-left:1px solid var(--line);background:var(--paper);width:44px;color:var(--ink);cursor:pointer;flex-shrink:0;place-items:center;display:grid}.editor-tools__toggle[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.editor-tools--expanded>.tb{z-index:40;border-bottom:1px solid var(--paper-edge);max-height:62dvh;box-shadow:var(--shadow);border-bottom-right-radius:14px;flex-wrap:wrap;row-gap:.2rem;padding-bottom:.45rem;position:absolute;top:0;left:0;right:44px;overflow:hidden auto}.editor-tools--expanded>.editor-tools__toggle{z-index:41;margin-left:auto;position:relative}.editor-tools--expanded>.tb .tb-group{display:contents}}:root{--review-yellow:#ffdc5073;--review-green:#64c87861;--review-blue:#64a0dc61;--review-pink:#dc647852;--review-note:#2f6feb24;--review-note-edge:#2f6feb;--viz-line:#2f6feb;--viz-area:#2f6feb1a;--viz-citation:#0f9d8a;--viz-version:#7c3aed;--viz-teacher:#d0457f;--diff-add-bg:#2f7a3d29;--diff-add-ink:#1f5c2a;--diff-del-bg:#b3392f24;--diff-del-ink:#8f2c23;--review-ins-ink:#1d4ed8;--review-ins-bg:#1d4ed814;--review-del-ink:#b91c1c}:root[data-theme=dark]{--review-yellow:#ffd23c4d;--review-green:#5ac87842;--review-blue:#64a0f04d;--review-pink:#f0648c47;--review-note:#4c86ff38;--review-note-edge:#4c86ff;--viz-line:#4c86ff;--viz-area:#4c86ff24;--viz-citation:#179c89;--viz-version:#9a79f0;--viz-teacher:#e25a92;--diff-add-bg:#34d39929;--diff-add-ink:#6ee7b7;--diff-del-bg:#f8717129;--diff-del-ink:#fca5a5;--review-ins-ink:#8fb4ff;--review-ins-bg:#8fb4ff1f;--review-del-ink:#fca5a5}.review-container{max-width:1240px}.review-tabs{border-bottom:1px solid var(--line);margin-bottom:var(--sp-2);scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.review-tab{font-family:var(--font-display);color:var(--ink-faint);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.45rem;margin-bottom:-1px;padding:.6rem .9rem;font-size:.86rem;font-weight:600;display:inline-flex}.review-tab:hover{color:var(--ink)}.review-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.review-tab__count{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);padding:.05rem .45rem;font-size:.7rem}.review-btn{font-family:var(--font-display);color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.38rem .7rem;font-size:.76rem;font-weight:600;display:inline-flex}.review-btn:hover:not(:disabled){color:var(--ink);border-color:var(--ink-faint)}.review-btn:disabled{opacity:.45;cursor:not-allowed}.review-btn--primary{background:var(--solid-bg);color:var(--solid-ink);border-color:var(--solid-bg)}.review-btn--primary:hover:not(:disabled){color:var(--solid-ink);border-color:var(--solid-bg);filter:brightness(1.08)}.review-icon-btn{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.review-icon-btn:hover{color:var(--ink);background:var(--bg)}.review-empty{color:var(--ink-faint);font-size:.84rem;font-style:italic}.review-note{color:var(--ink-faint);margin-top:.75rem;font-size:.78rem;line-height:1.55}.review-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.35rem;font-size:.7rem;font-weight:700;display:block}.review-input{resize:vertical;width:100%;min-height:34px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-s);padding:.5rem .6rem;font-size:.84rem;line-height:1.45}.review-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.review-banner{color:var(--ink-soft);background:var(--accent-soft);border-radius:var(--r-s);align-items:center;gap:.6rem;margin-bottom:.6rem;padding:.55rem .8rem;font-size:.82rem;line-height:1.45;display:flex}.review-banner>span{flex:1;min-width:0}.review-banner--warn{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){.review-banner--warn{background:color-mix(in srgb, var(--warn) 14%, var(--paper))}}.review-banner--warn{color:var(--ink)}.review-banner--warn>svg{color:var(--warn);flex-shrink:0}.review-banner--editor{flex-shrink:0;margin:.5rem .75rem 0}.review-paper{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.review-paper__main{min-width:0}.review-toolbar{z-index:5;background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-s);flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.6rem;padding:.4rem .5rem;display:flex;position:sticky;top:0}.review-toolbar__rule{background:var(--line);width:1px;height:20px;margin:0 .2rem}.review-toolbar__swatches{gap:.25rem;margin-left:.15rem;display:inline-flex}.review-swatch-btn{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0}.review-swatch-btn:disabled{opacity:.4;cursor:not-allowed}.review-swatch-btn[aria-checked=true]{outline:2px solid var(--accent);outline-offset:2px}.review-swatch--yellow{background:var(--review-yellow)}.review-swatch--green{background:var(--review-green)}.review-swatch--blue{background:var(--review-blue)}.review-swatch--pink{background:var(--review-pink)}.review-swatch--note{background:var(--review-note)}.review-save{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.3rem;margin-left:auto;font-size:.74rem;display:inline-flex}.review-save--saved{color:var(--ok)}.review-save--error,.review-save--conflict{color:var(--warn)}.review-canvas{justify-content:center;display:flex}.review-sheet{max-width:820px}.review-anchor{cursor:pointer;border-radius:2px}.review-anchor--yellow{background:var(--review-yellow)}.review-anchor--green{background:var(--review-green)}.review-anchor--blue{background:var(--review-blue)}.review-anchor--pink{background:var(--review-pink)}.review-anchor--note{background:var(--review-note);border-bottom:2px solid var(--review-note-edge)}.review-anchor--active{outline:2px solid var(--accent);outline-offset:1px}.review-side{flex-direction:column;gap:.7rem;max-height:calc(100vh - 2rem);padding:.2rem .1rem .5rem;display:flex;position:sticky;top:1rem;overflow-y:auto}.review-composer{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-s);flex-direction:column;gap:.45rem;padding:.7rem;display:flex}.review-composer--anchored{border-color:var(--accent);box-shadow:var(--shadow-sm)}.review-composer__colors{align-items:center;gap:.35rem;display:flex}.review-composer__actions{justify-content:flex-end;gap:.4rem;display:flex}.review-chip{color:var(--ink-soft);background:var(--review-note);border-radius:var(--r-pill);cursor:pointer;border:1px solid #0000;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.review-chip[aria-checked=true]{border-color:var(--accent);color:var(--ink)}.review-threads{flex-direction:column;gap:.55rem;display:flex}.review-threads__toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.74rem}.review-thread{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-s);cursor:pointer;flex-direction:column;gap:.45rem;padding:.7rem;display:flex}.review-thread--active{border-color:var(--accent);box-shadow:var(--shadow-sm)}.review-thread--resolved{opacity:.7}.review-thread__quote{color:var(--ink-soft);-webkit-line-clamp:3;border-radius:4px;-webkit-box-orient:vertical;margin:0;padding:.3rem .5rem;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.review-thread__general{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:700}.review-thread__detached{color:var(--ink-faint);align-items:center;gap:.3rem;font-size:.72rem;display:flex}.review-comment{flex-direction:column;gap:.2rem;display:flex}.review-comment--reply{border-left:2px solid var(--line);padding-left:.6rem}.review-comment__head{align-items:center;gap:.4rem;min-width:0;display:flex}.review-comment__author{font-family:var(--font-display);color:var(--ink);align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;display:inline-flex}.review-comment__time{color:var(--ink-faint);margin-right:auto;font-size:.7rem}.review-comment__body{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.84rem;line-height:1.5}.review-thread__actions{cursor:default;flex-wrap:wrap;align-items:flex-start;gap:.4rem;display:flex}.review-reply{flex-direction:column;flex:1;align-items:flex-end;gap:.35rem;min-width:160px;display:flex}.review-reply .review-input{resize:none}.review-insights,.review-history{gap:var(--sp-2);flex-direction:column;display:flex}.review-history+.review-card{margin-top:var(--sp-2)}.review-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.review-stat{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-s);flex-direction:column;gap:.2rem;padding:.8rem .9rem;display:flex}.review-stat__value{font-family:var(--font-display);color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1.15}.review-stat__value--small{font-size:1rem}.review-stat__label{color:var(--ink-faint);font-size:.74rem}.review-card{padding:var(--sp-2);background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-m);min-width:0}.review-h3{font-family:var(--font-display);color:var(--ink);margin-bottom:.75rem;font-size:.98rem;font-weight:700}.review-h4{font-family:var(--font-display);color:var(--ink);margin:1.1rem 0 .6rem;font-size:.84rem;font-weight:700}.review-table-wrap{overflow-x:auto}.review-table{border-collapse:collapse;width:100%;font-size:.84rem}.review-table th{text-align:left;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:.4rem .5rem;font-size:.68rem;font-weight:700}.review-table td{border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink);padding:.55rem .5rem}.review-table tr:last-child td{border-bottom:none}.review-table .num{text-align:right;font-variant-numeric:tabular-nums;width:4.5rem}.review-table tr.is-muted td{color:var(--ink-faint)}.review-table__title{font-weight:600;display:block}.review-table__sub{color:var(--ink-faint);margin-top:.1rem;font-size:.74rem;display:block}.review-timeline{flex-direction:column;list-style:none;display:flex}.review-timeline__item{border-bottom:1px solid var(--line);color:var(--ink-soft);grid-template-columns:20px minmax(0,1fr) auto;align-items:baseline;gap:.6rem;padding:.45rem 0;font-size:.84rem;display:grid}.review-timeline__item:last-child{border-bottom:none}.review-timeline__icon{border-radius:50%;justify-content:center;align-self:center;align-items:center;width:18px;height:18px;display:inline-flex}.review-timeline__item--added .review-timeline__icon{background:var(--diff-add-bg);color:var(--diff-add-ink)}.review-timeline__item--removed .review-timeline__icon{background:var(--diff-del-bg);color:var(--diff-del-ink)}.review-timeline__text strong{color:var(--ink);font-weight:600}.review-timeline__time{color:var(--ink-faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.74rem}.review-drafts{flex-direction:column;gap:.5rem;list-style:none;display:flex}.review-drafts li{background:var(--bg);border-radius:var(--r-s);padding:.6rem .75rem}.review-drafts__head{font-family:var(--font-display);color:var(--ink);justify-content:space-between;gap:.75rem;font-size:.84rem;display:flex}.review-drafts__meta{color:var(--ink-faint);flex-shrink:0;font-size:.74rem}.review-drafts__why{color:var(--ink-faint);margin-top:4px;font-size:.78rem;font-style:italic}.history-chart{width:100%;position:relative}.history-chart>svg{cursor:crosshair;touch-action:pan-y;display:block}.history-chart__grid{stroke:var(--line);stroke-width:1px}.history-chart__axis{fill:var(--ink-faint);font-size:11px;font-family:var(--font-type)}.history-chart__session{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 3}.history-chart__area{fill:var(--viz-area)}.history-chart__line{fill:none;stroke:var(--viz-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.history-chart__cursor{stroke:var(--ink-faint);stroke-width:1px}.history-chart__selected{fill:var(--viz-line);stroke:var(--paper);stroke-width:2px}.history-mark{stroke:var(--paper);stroke-width:2px}.history-mark--citation{fill:var(--viz-citation)}.history-mark--version{fill:var(--viz-version)}.history-mark--teacher{fill:var(--viz-teacher)}.history-mark--large{fill:none;stroke:var(--warn);stroke-width:2px}.history-tip{min-width:150px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--paper-edge);box-shadow:var(--shadow-sm);pointer-events:none;z-index:2;border-radius:8px;flex-direction:column;gap:.1rem;padding:.45rem .6rem;font-size:.74rem;display:flex;position:absolute;top:0;transform:translate(-50%)}.history-tip strong{color:var(--ink);font-size:.82rem}.history-legend{color:var(--ink-soft);flex-wrap:wrap;gap:.35rem 1rem;margin-top:.5rem;font-size:.74rem;list-style:none;display:flex}.history-legend li{align-items:center;gap:.35rem;display:inline-flex}.history-legend__line{background:var(--viz-line);border-radius:1px;width:14px;height:2px}.history-player{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.history-player__range{min-width:140px;accent-color:var(--accent);flex:1}.history-player__pos{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.74rem}.history-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin:.8rem 0 .6rem;font-size:.8rem;display:flex}.history-meta strong{color:var(--ink)}.history-plus{color:var(--diff-add-ink);font-weight:600}.history-minus{color:var(--diff-del-ink);font-weight:600}.history-flag{color:var(--ink);border-radius:var(--r-pill);background:var(--warn);align-items:center;gap:.25rem;padding:.1rem .45rem;font-size:.74rem;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.history-flag{background:color-mix(in srgb, var(--warn) 16%, var(--paper))}}.history-flag svg{color:var(--warn)}.history-tag{border-radius:var(--r-pill);color:var(--ink);background:var(--viz-teacher);padding:.1rem .45rem;font-size:.72rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.history-tag{background:color-mix(in srgb, var(--viz-teacher) 16%, var(--paper))}}.history-text{background:var(--bg);border:1px solid var(--paper-edge);border-radius:var(--r-s);max-height:420px;font-family:var(--font-type);color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;padding:.85rem 1rem;font-size:.86rem;line-height:1.7;overflow-y:auto}.history-text__add{background:var(--diff-add-bg);color:var(--diff-add-ink)}.history-text__del{background:var(--diff-del-bg);color:var(--diff-del-ink);text-decoration:line-through}.history-sessions{flex-direction:column;gap:.4rem;list-style:none;display:flex}.history-session{text-align:left;background:var(--bg);border-radius:var(--r-s);cursor:pointer;width:100%;color:var(--ink-soft);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;padding:.6rem .75rem;display:grid}.history-session:hover{border-color:var(--line)}.history-session--active{border-color:var(--accent)}.history-session__when{font-family:var(--font-display);color:var(--ink);font-size:.84rem;font-weight:600}.history-session__what{grid-column:1;font-size:.78rem}.history-session__tags{flex-wrap:wrap;grid-area:1/2/span 2;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.feedback-panel{flex-direction:column;gap:.7rem;padding:.75rem;display:flex}.feedback-panel__intro{color:var(--ink-faint);font-size:.78rem;line-height:1.5}@media (max-width:960px){.review-paper{grid-template-columns:minmax(0,1fr)}.review-side{max-height:none;position:static;overflow:visible}}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review-toolbar{top:0}.review-timeline__item{grid-template-columns:20px minmax(0,1fr)}.review-timeline__time{grid-column:2}.history-session{grid-template-columns:minmax(0,1fr)}.history-session__tags{grid-area:auto/1;justify-content:flex-start}.history-tip{min-width:130px}}.review-ins{color:var(--review-ins-ink);background:var(--review-ins-bg);text-decoration:underline;-webkit-text-decoration-color:var(--review-ins-ink);-webkit-text-decoration-color:var(--review-ins-ink);-webkit-text-decoration-color:var(--review-ins-ink);text-decoration-color:var(--review-ins-ink)}@supports (color:color-mix(in lab, red, red)){.review-ins{-webkit-text-decoration-color:color-mix(in srgb, var(--review-ins-ink) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--review-ins-ink) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--review-ins-ink) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--review-ins-ink) 45%, transparent)}}.review-ins{text-underline-offset:3px}.review-del{color:var(--review-del-ink);text-decoration:line-through;text-decoration-thickness:1.5px}.review-anchor--pending{outline:2px dashed var(--accent);outline-offset:1px}.review-mode{letter-spacing:.06em;text-transform:uppercase;color:var(--review-ins-ink);background:var(--review-ins-bg);border-radius:var(--r-pill);cursor:help;margin-left:auto;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.review-mode+.review-save{margin-left:.5rem}.review-suggestions{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r-s);flex-direction:column;gap:.45rem;padding:.7rem;display:flex}.review-suggestions__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.review-suggestions__head .review-label{margin-bottom:0}.review-suggestions__all{gap:.3rem;display:inline-flex}.review-suggestions__list{flex-direction:column;gap:.2rem;max-height:260px;list-style:none;display:flex;overflow-y:auto}.review-suggestion{align-items:center;gap:.3rem;display:flex}.review-suggestion__text{text-align:left;cursor:pointer;min-width:0;color:var(--ink);background:0 0;border:none;border-radius:6px;flex:1;align-items:baseline;gap:.45rem;padding:.3rem .4rem;font-size:.8rem;display:flex}.review-suggestion__text:hover{background:var(--bg)}.review-suggestion__text>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-suggestion__kind{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-size:.68rem;font-weight:700}.review-suggestion__actions{flex-shrink:0;display:inline-flex}.cloud-panel{flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.cloud-panel__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-size:.66rem}.cloud-panel__lede{color:var(--ink-faint);margin:0;font-size:.82rem;line-height:1.6}.cloud-panel__tabs{border-radius:var(--r-s);background:var(--bg);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:4px;display:grid}.cloud-panel__tab{border-radius:var(--r-pill);min-width:0;color:var(--ink-soft);font:600 .74rem/1.2 var(--font-display);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:.45rem .35rem;display:inline-flex;overflow:hidden}.cloud-panel__tab:hover{color:var(--ink)}.cloud-panel__tab.is-active{background:var(--paper);color:var(--accent);box-shadow:var(--shadow-sm)}.cloud-panel__tab{border-radius:8px;gap:6px;padding:.5rem}.cloud-panel__tab svg{flex-shrink:0}.cloud-panel__tab-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.cloud-panel__tab-check{color:var(--ok)}.cloud-panel__card{border-radius:var(--r-s);background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.cloud-panel__heading{font:600 .86rem/1.3 var(--font-display);color:var(--ink);margin:0}.cloud-panel__note{color:var(--ink-faint);margin:0;font-size:.78rem;line-height:1.55}.cloud-panel__row{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.cloud-panel__account{padding:0 .15rem}.cloud-panel__status,.cloud-panel__folder{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex;overflow:hidden}.cloud-panel__status svg,.cloud-panel__folder svg{flex-shrink:0}.cloud-panel__brand{align-items:center;gap:.55rem;display:flex}.cloud-panel__link-btn{color:var(--accent);font:600 .76rem/1 var(--font-display);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .1rem;display:inline-flex}.cloud-panel__link-btn:disabled{opacity:.4;cursor:not-allowed}.cloud-panel__choices{flex-direction:column;gap:.35rem;display:flex}.cloud-panel__choice{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.5rem;font-size:.8rem;display:inline-flex}.cloud-panel__choice input{accent-color:var(--accent);width:auto;margin:0}.cloud-panel__choice:has(input:disabled){opacity:.5;cursor:not-allowed}.cloud-panel__wide{width:100%;padding:.55rem 1rem;font-size:.86rem}.cloud-panel__auth{flex-direction:column;gap:.5rem;display:flex}.cloud-panel__auth .cloud-panel__wide{text-align:center;justify-content:center;text-decoration:none}.cloud-panel__feedback{white-space:normal;margin:0;font-size:.8rem;line-height:1.5}.cloud-panel__error{color:var(--danger)}.cloud-panel__notice{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cloud-panel__notice>svg{color:var(--ok);flex-shrink:0}.cloud-panel__notice a{color:var(--accent);align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.cloud-browser{border-radius:var(--r-s);background:var(--paper);border:1px solid var(--accent);box-shadow:var(--shadow-sm);flex-direction:column;gap:.6rem;padding:.6rem;display:flex}.cloud-browser__bar{align-items:center;gap:.4rem;min-width:0;display:flex}.cloud-browser__crumbs{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.76rem;font-weight:600;overflow:hidden}.cloud-browser__icon-btn{border:1px solid var(--line);background:var(--paper);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;display:inline-grid}.cloud-browser__icon-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.cloud-browser__icon-btn:disabled{opacity:.35;cursor:not-allowed}.cloud-browser__list{border-top:1px solid var(--line);max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.cloud-browser__item{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.55rem;padding:.5rem .4rem;font-size:.8rem;display:flex}.cloud-browser__item:hover{background:var(--bg)}.cloud-browser__item>svg{color:var(--ink-faint);flex-shrink:0}.cloud-browser__item>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cloud-browser__chev{margin-left:auto}.cloud-browser__empty{color:var(--ink-faint);align-items:center;gap:.4rem;padding:.75rem .4rem;font-size:.78rem;display:flex}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.cloud-browser__item{padding:.7rem .4rem}.cloud-browser__list{max-height:50vh}}.cloud-logo-cluster{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.cloud-btn{gap:.45rem}.export-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.export-grid>button{width:100%;min-height:40px;padding-inline:.5rem;font-size:.82rem}.export-cloud{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.export-cloud__label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .6rem;font-size:.66rem}.export-cloud__hint{color:var(--ink-faint);margin:0 0 .6rem;font-size:.78rem;line-height:1.5}.export-cloud__list{flex-direction:column;gap:.45rem;display:flex}.export-cloud__item{border-radius:var(--r-s);border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:600 .84rem/1.2 var(--font-display);text-align:left;cursor:pointer;align-items:center;gap:.65rem;padding:.6rem .85rem;transition:border-color .12s,box-shadow .12s;display:flex}.export-cloud__item:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.export-cloud__item>span{flex:1}.export-cloud__item>.lucide{color:var(--ink-faint)}.export-cloud__soon{border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--line);font:600 .66rem/1.2 var(--font-display);color:var(--ink-faint);flex-shrink:0;padding:.15rem .5rem;font-style:normal}.tiptap-editor .held-selection{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tiptap-editor .held-selection{background:color-mix(in srgb, var(--accent) 24%, transparent)}}:root{--tex-command:#1d4ed8;--tex-bracket:#7c3aed;--tex-comment:#6b7280;--tex-number:#b45309;--tex-math:#047857;--tex-arg:#9d174d;--tex-error:#dc2626;--tex-gutter:#f7f8fc;--tex-active-line:#2f6feb0f;--tex-selection:#2f6feb33;--tex-match:#facc1559}:root[data-theme=dark]{--tex-command:#8fb2ff;--tex-bracket:#c4a5ff;--tex-comment:#7b82a8;--tex-number:#fbbf24;--tex-math:#5eead4;--tex-arg:#f9a8d4;--tex-error:#f87171;--tex-gutter:#0f1124;--tex-active-line:#4c86ff14;--tex-selection:#4c86ff4d;--tex-match:#facc1538}.mode-switch{display:inline-flex}.mode-switch__value{font-family:var(--font-display);align-items:center;gap:.35rem;font-size:.74rem;display:inline-flex}.mode-switch__list{flex-direction:column;gap:2px;min-width:250px;padding:.3rem;display:flex}.mode-switch__option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.55rem .6rem;display:flex}.mode-switch__option:hover{background:var(--bg)}.mode-switch__option[aria-selected=true]{background:var(--accent-soft)}.mode-switch__icon{color:var(--ink-soft);margin-top:.1rem;display:inline-flex}.mode-switch__option[aria-selected=true] .mode-switch__icon{color:var(--accent)}.mode-switch__text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.mode-switch__label{font-family:var(--font-display);font-size:.82rem;font-weight:600}.mode-switch__hint{color:var(--ink-faint);font-size:.72rem;line-height:1.35}.editor-more .mode-switch__list{padding:0 0 .2rem}.tex-pane{border-right:1px solid var(--paper-edge);background:var(--paper);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.tex-pane[hidden]{display:none}.page-canvas--preview{flex:1 1 0}.tex-pane:not([hidden])+.panel-resizer+.page-canvas--preview{min-width:280px}.tex-pane{min-width:200px}.page-canvas[hidden]{display:none}.tex-pane__bar{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:.4rem;min-height:36px;padding:.2rem .5rem .2rem .75rem;display:flex}.tex-pane__title{font-family:var(--font-display);color:var(--ink-soft);letter-spacing:.02em;font-size:.74rem}.tex-pane__spacer{flex:1}.tex-pane__status{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.tex-pane__status--warn{color:var(--warn);font-weight:600}.tex-pane__empty{color:var(--ink-faint);padding:.4rem .6rem .6rem;font-size:.76rem}.tex-log{max-width:min(380px,100vw - 32px)}.tex-log__line{white-space:normal;text-align:left;font-size:.76rem;line-height:1.4;display:block}.tex-source{flex:1;min-height:0;display:flex}.tex-source .cm-editor{background:var(--paper);min-width:0;height:100%;color:var(--ink);flex:1}.tex-source .cm-editor.cm-focused{outline:none}.tex-source .cm-scroller{font-family:SF Mono,ui-monospace,Menlo,Consolas,Liberation Mono,monospace;line-height:1.6}.tex-source .cm-content{caret-color:var(--accent);padding:.6rem 0 40vh}.tex-source .cm-line{padding:0 .9rem 0 .5rem}.tex-source .cm-gutters{background:var(--tex-gutter);color:var(--ink-faint);border-right:1px solid var(--line)}.tex-source .cm-activeLine{background:var(--tex-active-line)}.tex-source .cm-activeLineGutter{background:var(--tex-active-line);color:var(--ink-soft)}.tex-source .cm-cursor{border-left-color:var(--accent);border-left-width:2px}.tex-source .cm-selectionBackground,.tex-source .cm-editor.cm-focused .cm-selectionBackground,.tex-source .cm-content ::selection{background:var(--tex-selection)!important}.tex-source .cm-selectionMatch{background:var(--tex-match)}.tex-source .cm-matchingBracket{background:var(--tex-selection);color:inherit;outline:none}.tex-source .cm-foldPlaceholder{background:var(--bg);border:1px solid var(--line);color:var(--ink-soft)}.tex-source .cm-panels{background:var(--paper);color:var(--ink);border-color:var(--line)}.tex-source .cm-panels-top{border-bottom:1px solid var(--line)}.tex-source .cm-search{flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem .6rem;font-size:.78rem;display:flex}.tex-source .cm-search input.cm-textfield{border:1px solid var(--paper-edge);background:var(--bg);height:28px;color:var(--ink);border-radius:8px;padding:0 .5rem;font-size:.78rem}.tex-source .cm-search .cm-button{border:1px solid var(--paper-edge);background:var(--paper);height:28px;color:var(--ink);cursor:pointer;background-image:none;border-radius:8px;padding:0 .6rem;font-size:.74rem}.tex-source .cm-search label{color:var(--ink-soft);align-items:center;gap:.25rem;display:inline-flex}.tex-source .cm-search button[name=close]{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;font-size:1.1rem}.tex-source .cm-searchMatch{background:var(--tex-match)}.tex-source .cm-searchMatch-selected{background:var(--tex-selection)}.tex-source .cm-lintRange-warning{-webkit-text-decoration:underline wavy var(--warn);-webkit-text-decoration:underline wavy var(--warn);-webkit-text-decoration:underline wavy var(--warn);text-decoration:underline wavy var(--warn);text-underline-offset:3px;background-image:none}.tex-source .cm-gutter-lint{width:1rem}.cm-tooltip{color:var(--ink);box-shadow:var(--shadow);border-radius:10px;overflow:hidden;background:var(--paper)!important;border:1px solid var(--paper-edge)!important}.cm-tooltip.cm-tooltip-autocomplete>ul{max-height:16em;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}.cm-tooltip.cm-tooltip-autocomplete>ul>li{padding:.2rem .6rem!important}.cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--solid-bg);color:var(--solid-ink)}.cm-completionDetail{opacity:.65;font-style:normal;font-family:var(--font-type);margin-left:.6rem}.cm-completionInfo{background:var(--paper);color:var(--ink);border:1px solid var(--paper-edge);border-radius:10px;max-width:300px;padding:.5rem .7rem;font-size:.78rem}.cm-tooltip-lint{padding:0}.cm-diagnostic{padding:.45rem .7rem;font-size:.78rem;line-height:1.4}.cm-diagnostic-warning{border-left:3px solid var(--warn)}.tex-view-switch{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--bg);gap:2px;padding:2px;display:inline-flex}.tex-view-switch .tb-btn{border-radius:var(--r-pill);gap:.3rem;min-width:28px;height:24px;padding:0 .45rem}.tex-view-switch .tb-btn svg{flex-shrink:0}.editor-status .tex-view-switch .tb-btn.tb-btn[aria-checked=true]{background:var(--solid-bg);color:var(--solid-ink)}.tex-view-switch__text{font-family:var(--font-display);font-size:.72rem;display:none}.math-inline .katex{font-size:1.05em}.math-block{align-items:center;gap:1rem;margin:.6em 0;display:flex}.math-block__formula{text-align:center;flex:1;min-width:0;overflow:auto hidden}.math-block__formula .katex-display{margin:0}.math-block__number{text-align:right;flex:none;min-width:2.5em}.ProseMirror-selectednode.math-block,.ProseMirror-selectednode.math-inline{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.review-source{border:1px solid var(--line);background:var(--paper);border-radius:12px;margin:0 0 .75rem}.review-source summary{cursor:pointer;font-family:var(--font-display);color:var(--ink-soft);padding:.55rem .8rem;font-size:.78rem}.review-source pre{border-top:1px solid var(--line);white-space:pre-wrap;max-height:360px;color:var(--ink);margin:0;padding:.7rem .9rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.55;overflow:auto}@media (max-width:760px),(pointer:coarse) and (max-height:500px){.tex-pane{border-right:none}.tex-view-switch__split{display:none}.tex-view-switch__text{display:inline}.editor-status .tex-view-switch .tb-btn{min-width:0;padding:0 .7rem;height:34px!important}.tex-view-switch .tb-btn svg{display:none}.tex-source .cm-content{padding-bottom:30vh}.tex-source .cm-line{padding:0 .6rem 0 .3rem}.tex-pane__title{display:none}}@media (pointer:coarse) and (max-height:500px){.editor-subbar{min-height:42px;padding-top:max(.15rem, env(safe-area-inset-top));padding-bottom:.15rem}.tb .tb-btn{min-width:34px;height:34px}.tb .tb-trigger{height:32px}.editor-status{min-height:42px;padding-top:.15rem!important;padding-bottom:max(.15rem, env(safe-area-inset-bottom))!important}.editor-status .tb-btn{min-width:36px;height:34px!important}.editor-status .quick-cite-btn{height:32px}.editor-status .tex-view-switch .tb-btn{height:30px!important}.tex-pane__bar{min-height:30px;padding-block:0}}.editor-subbar[data-fit] .focus-btn__text,.editor-subbar[data-fit] .text-size__label,.editor-subbar[data-fit=view] .editor-subbar__roomy,.editor-subbar[data-fit=tools] .editor-subbar__roomy,.editor-subbar[data-fit=tools] .editor-subbar__desktop,.editor-subbar[data-fit=tools] .editor-subbar__location,.editor-subbar[data-fit=tools] .editor-subbar__back,.editor-subbar[data-fit=tools] .editor-subbar__rule{display:none}.editor-subbar[data-fit=labels] .help-btn .focus-btn__text{display:inline}.editor-subbar[data-fit=view] .editor-subbar__more,.editor-subbar[data-fit=tools] .editor-subbar__more{display:inline-flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
