:root{--accent: oklch(.62 .18 25);--accent-soft: color-mix(in oklch, var(--accent) 14%, transparent);--accent-ink: color-mix(in oklch, var(--accent) 88%, black);--bg: #fafaf9;--surface: #ffffff;--surface-2: #f5f5f4;--ink: #171717;--ink-2: #404040;--ink-3: #737373;--ink-4: #a3a3a3;--line: #e7e5e4;--line-2: #d6d3d1;--pad-y: 14px;--pad-x: 14px;--row-h: 36px;--radius: 10px;--radius-sm: 6px;--font-sans: "Geist", ui-sans-serif, system-ui, sans-serif;--font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", monospace;--shadow-sm: 0 1px 2px rgba(15,15,15,.04), 0 1px 1px rgba(15,15,15,.03);--shadow-md: 0 4px 14px rgba(15,15,15,.06), 0 1px 2px rgba(15,15,15,.04);--shadow-lg: 0 24px 48px -16px rgba(15,15,15,.18), 0 4px 14px rgba(15,15,15,.06)}[data-density=compact]{--pad-y: 10px;--pad-x: 10px;--row-h: 30px}[data-theme=dark]{--bg: #0f0f0f;--surface: #1a1a1a;--surface-2: #232323;--ink: #f5f5f4;--ink-2: #d4d4d4;--ink-3: #a3a3a3;--ink-4: #737373;--line: #2a2a2a;--line-2: #3a3a3a;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 14px rgba(0,0,0,.5);--shadow-lg: 0 24px 48px -16px rgba(0,0,0,.7)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;gap:8px;height:var(--row-h);padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:500;transition:background .14s,border-color .14s,transform .06s}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:color-mix(in oklch,var(--ink) 86%,var(--accent))}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:var(--accent-ink)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:5px}.tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-width:30px;padding:0 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ink-2);font-size:13px;transition:background .12s,color .12s}.tool:hover{background:var(--surface-2);color:var(--ink)}.tool.active{background:var(--accent-soft);color:var(--accent-ink)}.tool.icon-only{padding:0;width:30px}.tool-sep{width:1px;height:18px;background:var(--line);margin:0 4px}.kbd{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border-radius:4px;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line);line-height:1.4}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12px;color:var(--ink-2)}.pill .dot{width:6px;height:6px;border-radius:50%;background:#43a84c}.landing-wrap{min-height:100vh;display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid transparent}.top-nav .links{display:flex;align-items:center;gap:4px}.top-nav .links a{padding:8px 12px;border-radius:6px;color:var(--ink-2);text-decoration:none;font-size:13.5px}.top-nav .links a:hover{background:var(--surface-2);color:var(--ink)}.wordmark{display:inline-flex;align-items:baseline;font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em;color:var(--ink);font-size:17px;text-decoration:none}.wordmark .i{color:var(--accent);font-style:italic;font-family:var(--font-serif);font-weight:400;font-size:22px;line-height:.8;margin-right:1px;transform:translateY(2px)}.wordmark .pdf{font-family:var(--font-mono);font-weight:500;font-size:13px;background:var(--ink);color:var(--bg);padding:2px 5px;border-radius:4px;margin-left:6px;transform:translateY(-2px);letter-spacing:0}.hero{flex:1;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;padding:40px 64px 80px;max-width:1280px;margin:0 auto;width:100%;align-items:center}@media (max-width: 980px){.hero{grid-template-columns:1fr;padding:24px 24px 60px;gap:32px}}.hero h1{font-family:var(--font-sans);font-size:clamp(40px,5.4vw,68px);font-weight:500;letter-spacing:-.025em;line-height:1.02;margin:0 0 20px;color:var(--ink);text-wrap:balance}.hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);letter-spacing:-.01em}.hero .lede{font-size:17.5px;color:var(--ink-2);line-height:1.55;max-width:44ch;margin:0 0 28px;text-wrap:pretty}.hero .badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.drop-zone{border:1.5px dashed var(--line-2);border-radius:14px;background:var(--surface);padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-md);transition:border-color .15s,background .15s;position:relative}.drop-zone.dragging{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 5%,var(--surface))}.drop-zone .dz-icon{width:56px;height:64px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);position:relative;flex-shrink:0;overflow:hidden}.drop-zone .dz-icon:before{content:"";position:absolute;top:0;right:0;width:16px;height:16px;background:var(--bg);border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.drop-zone .dz-icon .pdfmark{position:absolute;bottom:8px;left:6px;font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--accent);letter-spacing:.04em}.drop-zone .dz-lines{position:absolute;top:22px;left:6px;right:6px;display:flex;flex-direction:column;gap:3px}.drop-zone .dz-lines i{display:block;height:2px;background:var(--line);border-radius:1px}.drop-zone .dz-lines i:nth-child(2){width:70%}.drop-zone .dz-lines i:nth-child(3){width:90%}.drop-zone .dz-lines i:nth-child(4){width:60%}.drop-zone .dz-head{display:flex;gap:16px;align-items:flex-start}.drop-zone .dz-title{font-size:16px;font-weight:500;color:var(--ink);margin-bottom:4px}.drop-zone .dz-sub{font-size:13.5px;color:var(--ink-3);line-height:1.5}.drop-zone .dz-actions{display:flex;gap:10px;align-items:center;border-top:1px dashed var(--line);padding-top:18px}.drop-zone .dz-or{color:var(--ink-4);font-size:12.5px}.drop-zone .dz-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-3);margin-top:4px}.drop-zone .dz-meta span{display:inline-flex;align-items:center;gap:5px}.hero .privacy-line{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:13px;color:var(--ink-3)}.hero .privacy-line .lock{width:22px;height:22px;border-radius:50%;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;color:#38853e}.feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-row .f{background:var(--bg);padding:28px 32px}.feature-row .f h3{font-size:14px;font-weight:500;color:var(--ink);margin:14px 0 6px;letter-spacing:-.005em}.feature-row .f p{font-size:13px;color:var(--ink-3);margin:0;line-height:1.5}.feature-row .f .gly{width:28px;height:28px;border-radius:6px;background:var(--surface-2);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}@media (max-width: 900px){.feature-row{grid-template-columns:repeat(2,1fr)}}.footer{padding:28px 32px;color:var(--ink-4);font-size:12.5px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.footer .ftr-links{display:flex;gap:18px}.footer a{color:var(--ink-3);text-decoration:none}.footer a:hover{color:var(--ink)}.editor-app{min-height:100vh;display:grid;grid-template-rows:48px 44px 1fr;background:var(--surface-2)}.editor-app.toolbar-left{grid-template-rows:48px 1fr;grid-template-columns:60px 1fr}.editor-app.toolbar-left .ed-topbar{grid-column:1 / -1}.editor-app.toolbar-left .ed-toolbar{grid-row:2;grid-column:1;flex-direction:column;height:100%;width:60px;padding:10px 6px;gap:4px;overflow-y:auto;align-items:center}.editor-app.toolbar-left .ed-toolbar .tool-sep{width:28px;height:1px;margin:4px 0}.editor-app.toolbar-left .ed-toolbar .tool{width:36px;height:36px}.editor-app.toolbar-left .ed-toolbar .group-label,.editor-app.toolbar-left .ed-toolbar .font-controls,.editor-app.toolbar-left .ed-toolbar .size-input{display:none}.editor-app.toolbar-left .ed-body{grid-row:2;grid-column:2}.ed-topbar{background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:18px}.ed-topbar .left,.ed-topbar .right{display:flex;align-items:center;gap:4px}.ed-topbar .center{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink-2);font-size:13.5px}.ed-topbar .doc-name{font-weight:500;color:var(--ink);padding:4px 8px;border-radius:5px;cursor:text}.ed-topbar .doc-name:hover{background:var(--surface-2)}.ed-topbar .save-status{color:var(--ink-3);font-size:12.5px;display:inline-flex;align-items:center;gap:5px}.ed-topbar .save-status .dot{width:5px;height:5px;border-radius:50%;background:#43a84c}.ed-toolbar{background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 12px;gap:2px;overflow-x:auto}.ed-toolbar .group-label{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin:0 6px 0 4px}.ed-toolbar .font-controls{display:flex;align-items:center;gap:2px}.ed-toolbar select{height:28px;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:0 8px;font-size:12.5px;color:var(--ink);outline:none}.ed-toolbar select:hover{background:var(--surface-2)}.ed-toolbar .size-input{width:50px;height:28px;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:0 6px;font-size:12.5px;text-align:center;outline:none}.ed-toolbar .color-swatch{width:26px;height:26px;border-radius:5px;border:1px solid var(--line);position:relative;overflow:hidden}.ed-toolbar .color-swatch:after{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:4px;background:var(--swatch, var(--ink));border-radius:1px}.ed-body{display:grid;grid-template-columns:220px 1fr;overflow:hidden;height:calc(100vh - 92px)}.editor-app.toolbar-left .ed-body{height:calc(100vh - 48px)}.page-rail{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:14px 0 60px}.page-rail-head{display:flex;align-items:center;justify-content:space-between;padding:0 14px 10px;border-bottom:1px solid var(--line);margin-bottom:12px}.page-rail-head .label{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em}.page-rail-head .count{font-size:12px;color:var(--ink-3)}.page-thumb{display:flex;gap:10px;align-items:flex-start;padding:8px 14px;cursor:pointer;position:relative;transition:background .12s}.page-thumb:hover{background:var(--surface-2)}.page-thumb:hover .row-actions{opacity:1}.page-thumb.active{background:var(--accent-soft)}.page-thumb.active .pt-num{color:var(--accent-ink);font-weight:600}.page-thumb.dragging{opacity:.4}.page-thumb.drop-above:before,.page-thumb.drop-below:after{content:"";position:absolute;left:14px;right:14px;height:2px;background:var(--accent);border-radius:2px}.page-thumb.drop-above:before{top:-1px}.page-thumb.drop-below:after{bottom:-1px}.pt-num{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);width:16px;text-align:right;line-height:1.6;padding-top:2px}.pt-thumb{width:100px;height:130px;background:#fff;border:1px solid var(--line-2);border-radius:3px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;flex-shrink:0;transform-origin:center;transition:transform .2s ease}[data-theme=dark] .pt-thumb{background:#f8f8f7}.pt-thumb .mini{position:absolute;top:8px;right:8px;bottom:8px;left:8px;display:flex;flex-direction:column;gap:2px}.pt-thumb .mini i{display:block;height:2px;background:#d4d4d4;border-radius:.5px}.pt-thumb .mini i.short{width:60%}.pt-thumb .mini i.med{width:78%}.pt-thumb .mini i.head{width:50%;height:4px;background:#525252;margin-bottom:4px}.pt-thumb .mini .gap{height:6px}.row-actions{position:absolute;top:8px;right:14px;display:flex;gap:2px;opacity:0;transition:opacity .12s}.row-actions .ra{width:22px;height:22px;border-radius:4px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-3)}.row-actions .ra:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.rail-cta{margin:8px 14px;width:calc(100% - 28px);height:32px;border-radius:6px;border:1px dashed var(--line-2);background:transparent;color:var(--ink-3);font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.rail-cta:hover{background:var(--surface-2);color:var(--ink)}.canvas{background:var(--surface-2);overflow-y:auto;padding:32px;display:flex;flex-direction:column;align-items:center;gap:24px;position:relative}[data-theme=dark] .canvas{background:#0a0a0a}.page{width:816px;min-height:1056px;background:#fff;box-shadow:var(--shadow-md);border-radius:2px;padding:96px;color:#171717;font-family:Times New Roman,Iowan Old Style,Georgia,serif;font-size:13.5px;line-height:1.6;position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1);transform-origin:center}.page[data-rot="90"]{transform:rotate(90deg);margin:130px 0}.page[data-rot="180"]{transform:rotate(180deg)}.page[data-rot="270"]{transform:rotate(270deg);margin:130px 0}.page .page-num{position:absolute;bottom:36px;left:50%;transform:translate(-50%);font-family:Times New Roman,serif;font-size:11px;color:#737373}.edt{outline:none;border-radius:2px;padding:1px 2px;margin:0 -2px;transition:background .1s,box-shadow .1s;cursor:text}.edt:hover{background:color-mix(in oklch,var(--accent) 8%,transparent)}.edt:focus{background:color-mix(in oklch,var(--accent) 6%,transparent);box-shadow:0 0 0 1.5px var(--accent)}.page h2.edt{font-family:inherit;font-size:22px;font-weight:700;margin:0 0 18px;letter-spacing:-.005em}.page .meta{color:#525252;font-size:12px;margin-bottom:28px;font-family:Geist Mono,ui-monospace,monospace}.page p.edt{margin:0 0 14px}.page .sig{margin-top:32px;font-family:"Instrument Serif",serif;font-style:italic;font-size:22px;line-height:1;color:#1a1a1a}.page .sig-line{margin-top:4px;width:220px;height:1px;background:#a3a3a3}.page .sig-name{font-family:inherit;font-size:13px;margin-top:4px;color:#404040}.page-header-stripe{height:4px;width:60px;background:var(--accent);margin-bottom:32px}.canvas-hud{position:fixed;bottom:18px;right:18px;display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:var(--shadow-md);z-index:10}.canvas-hud .hud-btn{height:28px;min-width:28px;border-radius:5px;border:none;background:transparent;color:var(--ink-2);font-size:12px;padding:0 8px;font-family:var(--font-mono)}.canvas-hud .hud-btn:hover{background:var(--surface-2)}.privacy-indicator{position:fixed;bottom:18px;left:18px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;box-shadow:var(--shadow-md);font-size:12px;color:var(--ink-2);z-index:10}.privacy-indicator .ind-dot{width:6px;height:6px;border-radius:50%;background:#43a84c;box-shadow:0 0 0 3px color-mix(in oklch,oklch(.65 .16 145) 18%,transparent)}.menubar{display:flex;align-items:center;gap:2px}.menubar .m{padding:4px 10px;border-radius:5px;font-size:13px;color:var(--ink-2);cursor:pointer}.menubar .m:hover{background:var(--surface-2);color:var(--ink)}.row{display:flex;align-items:center;gap:8px}.grow{flex:1}.muted{color:var(--ink-3)}.mono{font-family:var(--font-mono)}.privacy-banner{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-size:12.5px;box-shadow:var(--shadow-sm)}.privacy-banner .glow{width:18px;height:18px;border-radius:50%;background:#43a84c;display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 0 3px color-mix(in oklch,oklch(.65 .16 145) 18%,transparent)}.preview-frame{position:relative;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.preview-frame .pf-chrome{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface)}.preview-frame .pf-chrome .b{width:9px;height:9px;border-radius:50%;background:var(--line-2)}.preview-frame .pf-chrome .url{flex:1;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}::-webkit-scrollbar-track{background:transparent}.ad-wrap{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;min-height:90px}.ad-tag{position:absolute;top:6px;right:8px;font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);background:var(--surface-2);padding:2px 6px;border-radius:3px;z-index:2}.ad-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-4);pointer-events:none}.ad-ph-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,var(--surface-2) 25%,transparent 25%),linear-gradient(-45deg,var(--surface-2) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--surface-2) 75%),linear-gradient(-45deg,transparent 75%,var(--surface-2) 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0;opacity:.45}.ad-ph-meta{position:relative;z-index:1;text-align:center;padding:12px 16px;background:color-mix(in oklch,var(--surface) 80%,transparent);border-radius:6px}.ad-ph-label{font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:2px}.ad-ph-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4)}.ad-row{padding:36px 64px 12px;max-width:1280px;margin:0 auto;width:100%}.ad-row .ad-wrap{max-width:728px;margin:0 auto;min-height:90px}@media (max-width: 700px){.ad-row{padding:24px 16px 8px}}.ad-rail{margin:14px;min-height:240px}.consent-overlay{position:fixed;inset:auto 0 0 0;z-index:1000;display:flex;justify-content:center;padding:12px;pointer-events:none}.consent-card{pointer-events:auto;width:100%;max-width:720px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:18px}.consent-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.consent-icon{width:28px;height:28px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.consent-title{font-weight:500;color:var(--ink);margin-bottom:4px}.consent-body{font-size:13px;color:var(--ink-2);line-height:1.55;text-wrap:pretty}.consent-body a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.consent-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.consent-cats{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.consent-cat{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--surface);transition:background .12s,border-color .12s}.consent-cat:hover{background:var(--surface-2)}.consent-cat input{margin-top:2px;accent-color:var(--accent)}.cc-name{font-size:13px;font-weight:500;color:var(--ink)}.cc-sub{font-size:12px;color:var(--ink-3);margin-top:2px}.pdf-canvas-page{width:auto;min-height:auto;padding:0;display:inline-block;position:relative}.pdf-canvas-page canvas{display:block;border-radius:2px}
