@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#fff;--surface:#f7f8f7;--surface-strong:#eef3f1;--text:#17201e;--muted:#687471;--border:#dce3df;--accent:#0f766e;--accent-strong:#0b5f59;--accent-soft:#dff4f1;--amber:#d49421;--amber-soft:#d4942129;--danger:#b4233a;--danger-soft:#fbe7eb;--shadow:0 18px 42px #16201e1a;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg);font-family:var(--font);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img,canvas{max-width:100%;display:block}h1,h2,p{margin:0}h1{max-width:620px;font-size:28px;font-weight:720;line-height:1.12}h2{font-size:14px;font-weight:760;line-height:1.2}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button,.tool,.icon-button{border:1px solid var(--border);min-height:36px;color:var(--text);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;text-decoration:none;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.button:hover,.tool:hover,.icon-button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button.secondary{background:var(--surface)}.icon-button{width:36px;padding:0}.icon-button.danger{color:var(--danger);background:var(--danger-soft);border-color:#f3c7cf}.workspace-shell{background:var(--surface);grid-template-rows:auto 1fr;min-height:100vh;display:grid;position:relative}.topbar{border-bottom:1px solid var(--border);background:#fff;grid-template-columns:minmax(260px,360px) 1fr auto;align-items:center;gap:18px;height:64px;padding:0 20px;display:grid}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-copy{gap:2px;min-width:0;display:grid}.brand-lockup strong,.viewer-title strong{font-size:14px;font-weight:780;display:block}.brand-lockup span,.viewer-title span,.status-line,.muted{color:var(--muted);font-size:11px}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.status-line{align-items:center;gap:8px;min-width:0;display:flex}.status-line span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.topbar-actions{align-items:center;gap:8px;display:flex}.slug-input,.url-input,.document-title-form input,.field-stack input,.field-stack select,.document-settings-fields input{border:1px solid var(--border);min-height:36px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 10px}.slug-input{width:150px}.url-import-form{align-items:center;gap:6px;display:flex}.url-input{width:min(28vw,260px)}.document-title-form{grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:4px;max-width:100%;display:grid}.document-title-form input{min-height:26px;color:var(--muted);border-radius:6px;padding:0 7px;font-size:12px}.title-save-button{border:1px solid var(--border);background:var(--surface);width:26px;min-height:26px;color:var(--accent);border-radius:6px;place-items:center;padding:0;display:inline-grid}.slug-input:focus,.url-input:focus,.document-title-form input:focus,.field-stack input:focus,.field-stack select:focus,.document-settings-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.drop-upload-overlay{z-index:40;border:2px dashed var(--accent);color:var(--accent-strong);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f7f8f7e0;border-radius:8px;place-items:center;gap:10px;font-size:18px;font-weight:760;display:grid;position:fixed;inset:78px 18px 18px}.editor-grid{grid-template-columns:220px 112px minmax(0,1fr) 320px;min-height:0;display:grid}.document-rail,.page-rail,.inspector{border-right:1px solid var(--border);background:#fff;min-height:0;overflow:auto}.page-rail{background:var(--surface)}.inspector{border-right:0;border-left:1px solid var(--border);flex-direction:column;gap:18px;padding:16px;display:flex}.rail-title{color:var(--muted);text-transform:uppercase;padding:16px 14px 10px;font-size:12px;font-weight:760}.rail-search{background:var(--surface);color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin:0 10px 10px;padding:8px 9px;font-size:12px;display:flex}.document-list,.hotspot-list,.suggestion-list{gap:6px;display:grid}.document-row,.hotspot-row,.suggestion-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;gap:3px;width:calc(100% - 16px);margin:0 8px;padding:10px;display:grid}.document-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px}.document-row-select{min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:4px;display:grid}.document-row-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.document-row-actions{align-items:center;gap:4px;display:flex}.document-row-action.icon-button{border-radius:7px;width:28px;min-height:28px}.hotspot-row{cursor:grab;grid-template-columns:auto minmax(0,1fr);align-items:center}.hotspot-row:active{cursor:grabbing}.hotspot-row span,.hotspot-row small{grid-column:2}.hotspot-row-grip{color:var(--muted);grid-row:1/span 2}.hotspot-row.is-dragging{opacity:.45}.hotspot-row.is-drop-target{border-color:var(--accent);background:var(--accent-soft)}.document-row span,.hotspot-row span,.suggestion-row span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:680;overflow:hidden}.document-row small,.hotspot-row small,.suggestion-row small{color:var(--muted);font-size:12px}.document-row.active,.hotspot-row.active,.document-row:hover,.hotspot-row:hover,.suggestion-row:hover{border-color:var(--border);background:var(--surface)}.page-thumb{background:#fff;border:2px solid #0000;border-radius:8px;gap:5px;width:78px;margin:0 auto 12px;padding:5px;display:grid;box-shadow:0 6px 20px #16201e14}.page-thumb.active{border-color:var(--accent)}.page-thumb img{border:1px solid var(--border);border-radius:4px;width:100%}.page-thumb span{color:var(--muted);font-size:12px}.canvas-column{grid-template-rows:auto 1fr;min-width:0;min-height:0;display:grid}.editor-toolbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 14px;display:flex}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 9px;font-size:13px;display:inline-flex}.segmented button.active{color:var(--text);background:#fff;box-shadow:0 1px 4px #16201e14}.canvas-scroller{place-items:start center;min-height:0;padding:28px;display:grid;overflow:auto}.pdf-page-frame{border:1px solid var(--border);width:min(100%,760px);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;position:relative}.pdf-page-frame.mode-draw{cursor:crosshair}.pdf-page-frame img{width:100%;height:auto;display:block}.hotspot-svg,.hotspot-layer{width:100%;height:100%;position:absolute;inset:0}.hotspot-svg{pointer-events:none}.hotspot-svg polygon,.hotspot-svg ellipse,.hotspot-svg rect,.hotspot-svg polyline,.hotspot-svg circle{pointer-events:auto;fill:#d494211f;stroke:var(--amber);stroke-width:.28px;vector-effect:non-scaling-stroke}.hotspot-svg .draft,.hotspot-svg .polygon-draft{pointer-events:none;fill:#d4942114;stroke-dasharray:2 1.4}.hotspot-svg .polygon-draft{fill:none}.hotspot-svg .polygon-point{pointer-events:none;fill:#fff;stroke:var(--amber);stroke-width:.45px}.hotspot-svg .freehand-draft-fill{pointer-events:none;fill:#0f766e21;stroke:none}.hotspot-svg .freehand-draft-line{pointer-events:none;fill:none;stroke:var(--accent);stroke-width:.78px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none}.hotspot-svg .freehand-point{pointer-events:none;fill:#fff;stroke:var(--accent);stroke-width:.45px;filter:drop-shadow(0 1px 2px #16201e3d)}.hotspot-svg .selected{fill:#0f766e24;stroke:var(--accent);stroke-width:.45px}.hotspot-svg .admin-hotspot-resize-rect{pointer-events:none;fill:none;stroke:var(--accent);stroke-width:.32px;stroke-dasharray:1.2 .9;vector-effect:non-scaling-stroke}.hotspot-svg .admin-hotspot-resize-handle{pointer-events:auto;fill:var(--accent);stroke:#fff;stroke-width:.3px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #16201e3d)}.hotspot-svg .admin-hotspot-resize-handle.is-east{cursor:ew-resize}.hotspot-svg .admin-hotspot-resize-handle.is-south{cursor:ns-resize}.hotspot-svg .admin-hotspot-resize-handle.is-corner{cursor:nwse-resize}.pdf-page-frame.mode-select .admin-hotspot-svg polygon,.pdf-page-frame.mode-select .admin-hotspot-svg ellipse{cursor:move}.admin-label-layer{pointer-events:none;position:absolute;inset:0}.admin-badge-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.admin-badge-layer .visible-badge{cursor:grab;touch-action:none}.admin-badge-layer .visible-badge:active{cursor:grabbing}.admin-badge-resize-box{z-index:5;border:1.5px solid var(--accent);pointer-events:none;transform-origin:50%;border-radius:4px;position:absolute;box-shadow:0 0 0 2px #ffffffd1}.badge-resize-handle{background:var(--accent);pointer-events:auto;border:2px solid #fff;border-radius:999px;width:12px;height:12px;padding:0;position:absolute;box-shadow:0 4px 10px #16201e38}.badge-resize-handle.is-east{cursor:ew-resize;top:50%;right:-7px;transform:translateY(-50%)}.badge-resize-handle.is-south{cursor:ns-resize;bottom:-7px;left:50%;transform:translate(-50%)}.badge-resize-handle.is-corner{cursor:nwse-resize;bottom:-7px;right:-7px}.admin-hotspot-label{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--text);background:#ffffffe6;border:1px solid #d494219e;border-radius:6px;padding:3px 6px;font-size:12px;line-height:1.2;position:absolute;overflow:hidden;transform:translate(6px,6px);box-shadow:0 8px 18px #16201e1a}.admin-hotspot-label.selected{border-color:var(--accent);background:#dff4f1f5}.hotspot-marker{border:1.5px solid var(--amber);color:var(--text);background:#d494211a;padding:0;position:absolute;overflow:visible}.hotspot-marker.is-selected{border-color:var(--accent);background:#0f766e1f}.hotspot-marker.is-ellipse{border-radius:999px}.hotspot-marker.is-click-only{box-shadow:none;color:#0000;background:0 0;border-color:#0000}.hotspot-marker.is-click-only:hover,.hotspot-marker.is-click-only:focus-visible{background:0 0;border-color:#0000}.draft-marker{pointer-events:none;border-style:dashed}.visible-badge{z-index:3;color:#fff;background:var(--accent);letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform-origin:50%;pointer-events:auto;filter:drop-shadow(0 8px 14px #16201e2e);border:0;place-items:center;min-width:0;min-height:0;padding:0 8px;font-size:12px;font-weight:780;line-height:1;display:grid;position:absolute;overflow:hidden}.visible-badge.selected,.visible-badge:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.admin-badge-layer .visible-badge.selected{outline:none}.badge-pill{background:var(--accent);border-radius:999px}.badge-banner{color:#221604;background:var(--amber);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,8px 50%)}.badge-ribbon{background:var(--danger);clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%,9px 50%)}.badge-explode{color:#241702;clip-path:polygon(50% 0,60% 22%,84% 9%,77% 35%,100% 45%,77% 58%,88% 84%,61% 75%,50% 100%,39% 75%,12% 84%,23% 58%,0 45%,23% 35%,16% 9%,40% 22%);background:#f0b429;padding:0 12%;font-size:10px}.hotspot-tooltip,.hotspot-badge,.hotspot-callout,.hotspot-hover-card{white-space:nowrap;text-overflow:ellipsis;background:var(--text);color:#fff;border-radius:8px;max-width:190px;padding:5px 8px;font-size:12px;line-height:1.2;position:absolute;top:-28px;left:0;overflow:hidden;box-shadow:0 8px 18px #16201e2e}.hotspot-badge{background:var(--amber);color:#1f1604;top:4px;left:4px}.hotspot-callout{color:var(--text);border:1px solid var(--border);background:#fff;top:0;left:calc(100% + 8px)}.hotspot-hover-card{color:var(--text);border:1px solid var(--border);background:#fff;top:calc(100% + 8px)}.hotspot-underline{background:var(--amber);height:4px;position:absolute;bottom:-5px;left:0;right:0}.hotspot-pulse{background:var(--amber);border-radius:999px;width:16px;height:16px;margin:-8px 0 0 -8px;animation:1.5s infinite pulse;position:absolute;top:50%;left:50%;box-shadow:0 0 #d4942173}@keyframes pulse{70%{box-shadow:0 0 0 16px #d4942100}to{box-shadow:0 0 #d4942100}}.empty-state{place-self:center;justify-items:start;gap:14px;max-width:520px;padding:24px;display:grid}.empty-state p{color:var(--muted)}.field-stack{gap:12px;display:grid}.field-stack label{color:var(--muted);gap:6px;font-size:12px;display:grid}.document-settings-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px}.document-settings-panel summary{min-height:40px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:0 10px;font-size:13px;font-weight:760;list-style:none;display:flex}.document-settings-panel summary::-webkit-details-marker{display:none}.document-settings-panel summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;transition:transform .16s;transform:rotate(45deg)}.document-settings-panel[open] summary:after{transform:rotate(225deg)}.document-settings-panel summary span{align-items:center;gap:7px;display:inline-flex}.document-settings-fields{gap:10px;padding:0 10px 10px;display:grid}.publication-version-list{gap:8px;padding:0 10px 10px;display:grid}.publication-version-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.publication-version-row.is-editing{border-color:var(--accent);background:var(--accent-soft)}.publication-version-row.is-live:not(.is-editing){border-color:#c9ddd7}.publication-version-row.is-draft:not(.is-editing){background:#fff9ea;border-color:#f0d28c}.publication-version-meta{gap:2px;min-width:0;display:grid}.publication-version-heading{align-items:center;gap:6px;min-width:0;display:flex}.publication-version-meta strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.publication-version-meta span{color:var(--muted);font-size:11px}.publication-status-badge{text-transform:uppercase;border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:760;line-height:1}.publication-status-badge.is-live{color:var(--accent-strong);background:#dff3ed}.publication-status-badge.is-offline{color:#9f1239;background:#f9d6dd}.publication-status-badge.is-draft{color:#8a5a00;background:#fff0bd}.publication-version-actions{align-items:center;gap:4px;display:flex}.publication-version-actions .icon-button{width:30px;min-height:30px}.publication-live-action.is-offline{border-color:var(--accent);background:var(--accent);color:#fff}.publication-live-action.is-offline:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.publication-live-action.is-live{background:var(--danger-soft);color:var(--danger);border-color:#f3c7cf}.publication-live-action.is-live:hover{border-color:var(--danger);background:#f9d6dd}.document-settings-fields label{color:var(--muted);gap:6px;font-size:12px;display:grid}.badge-editor{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;padding:10px;display:grid}.badge-editor-title,.range-field span{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge-editor-title>span{color:var(--text);font-size:12px;font-weight:760}.field-stack .badge-toggle,.document-settings-fields .settings-toggle{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.field-stack .badge-toggle input,.document-settings-fields .settings-toggle input{accent-color:var(--accent)}.text-button{color:var(--accent);background:0 0;border:0;padding:0;font-size:12px}.badge-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.badge-presets button{border:1px solid var(--border);min-height:30px;color:var(--text);background:#fff;border-radius:6px;font-size:12px}.badge-presets button:hover,.text-button:hover{border-color:var(--accent);color:var(--accent)}.range-field input[type=range]{width:100%;accent-color:var(--accent)}.range-field small{color:var(--muted);font-size:11px}.geometry-readout{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:8px;padding:9px;font-size:12px}.inspector-actions{justify-content:space-between;align-items:center;display:flex}.viewer-shell{background:linear-gradient(#fbfcfb 0%,#eff4f2 100%);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.viewer-shell.is-fullscreen,.viewer-shell.is-no-header{grid-template-rows:1fr}.viewer-shell.is-embed{background:#fff;grid-template-rows:1fr;min-height:100vh}.viewer-shell.is-fullscreen .book-stage{padding:18px 24px}.viewer-shell.is-no-header .book-stage{padding-top:12px}.viewer-shell.is-fullscreen .reader-mode{padding-top:24px}.viewer-shell.is-no-header .reader-mode{padding-top:16px}.viewer-shell.is-embed .book-stage,.viewer-shell.is-embed .reader-mode{padding-top:12px}.viewer-toolbar{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;grid-template-columns:minmax(180px,1fr) minmax(0,2fr) minmax(180px,1fr);align-items:center;gap:18px;height:62px;padding:0 18px;display:grid;position:sticky;top:0}.viewer-logo-link{outline:none;justify-self:start;align-items:center;min-width:0;display:inline-flex}.viewer-logo-link:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.viewer-logo-link img{object-fit:contain;width:auto;max-width:min(26vw,220px);height:52px}.viewer-title{text-align:center;min-width:0}.viewer-title strong{font-size:15px}.viewer-title strong,.viewer-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-tools{justify-self:end;align-items:center;gap:8px;display:flex}.fullscreen-exit-button{right:calc(env(safe-area-inset-right) + 22px);bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:70;width:48px;min-height:48px;color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf9f5e6;border:1px solid #17201e29;border-radius:999px;place-items:center;padding:0;display:inline-grid;position:fixed;box-shadow:0 16px 38px #17201e33}.fullscreen-exit-button:hover{border-color:var(--accent);color:var(--accent-strong)}.fullscreen-exit-button:focus-visible{box-shadow:0 0 0 4px var(--accent-soft), 0 16px 38px #17201e33;outline:none}.tool.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.book-mode{grid-template-rows:1fr;min-height:0;display:grid}.book-stage{background:radial-gradient(#ffffff57,#fff0 38%),linear-gradient(135deg,#d9dad6,#cdcfca);justify-content:center;align-items:center;min-height:0;padding:22px 24px 8px;display:flex;position:relative;overflow:hidden}.page-flip-shell{height:var(--spread-height,min(calc(100vh - 150px), 760px));max-width:none;min-height:0;aspect-ratio:var(--book-aspect,1.414);isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;position:relative}.page-flip-shell:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.page-flip-shell:before{content:"";filter:blur(15px);z-index:0;pointer-events:none;background:#17201e3d;border-radius:50%;height:34px;position:absolute;inset:auto 2.5% -14px}.page-flip-shell:after{content:"";z-index:3;pointer-events:none;opacity:.1;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#ffffff38 0 1px,#20201c1a 1px 2px,#0000 2px 7px),repeating-linear-gradient(92deg,#0000 0 14px,#20201c14 14px 15px,#0000 15px 31px);position:absolute;inset:0}.page-flip-host{z-index:1;position:absolute;inset:0}.book-turn-zones{z-index:4;pointer-events:none;position:absolute;inset:0}.book-turn-zone{opacity:0;pointer-events:auto;background:0 0;border:0;width:clamp(30px,6.5%,58px);padding:0;position:absolute;top:8%;bottom:8%}.book-turn-zone.left{left:0}.book-turn-zone.right{right:0}.book-turn-zone.is-available{cursor:grab}.book-turn-zone.is-available:active{cursor:grabbing}.book-turn-zone.is-unavailable{cursor:not-allowed}.book-turn-zone:focus-visible{opacity:1;box-shadow:inset 0 0 0 2px var(--accent);background:#0f766e1a;outline:none}.book-turn-zone:disabled{pointer-events:none}.book-page-markers{z-index:4;color:#17201eb8;letter-spacing:0;pointer-events:none;font-size:12px;font-weight:780;position:absolute;inset:0}.book-page-marker{text-align:center;background:#faf9f5c7;border:1px solid #17201e14;border-radius:999px;min-width:32px;padding:4px 9px;position:absolute;bottom:clamp(8px,1.6%,16px);box-shadow:0 8px 20px #17201e1f}.book-page-marker.left{left:clamp(10px,3%,26px)}.book-page-marker.right{right:clamp(10px,3%,26px)}.page-flip-shell.is-turning .page-flip-host{z-index:10}.page-flip-book.stf__parent{touch-action:none;-webkit-user-select:none;user-select:none;height:100%;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important}.page-flip-book .stf__wrapper{width:100%;position:relative;height:100%!important;padding-bottom:0!important}.page-flip-book canvas{background:#fdfcf9;border:1px solid #17201e1f;border-radius:4px;box-shadow:0 20px 48px #17201e29}.book-hotspot-overlay{z-index:5;pointer-events:none;width:100%;height:100%;transition:opacity .14s;position:absolute;top:0;left:0;overflow:hidden}.book-hotspot-overlay.is-paused,.book-hotspot-overlay.is-unmeasured{opacity:0}.page-flip-shell.is-turning .book-hotspot-overlay{z-index:2;opacity:0}.book-hotspot-page{pointer-events:none;width:50%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.book-hotspot-page.left{left:0}.book-hotspot-page.right{left:50%}.book-hotspot-overlay.is-portrait .book-hotspot-page.right{width:100%;left:0;right:auto}.book-hotspot{pointer-events:auto;border:1px solid var(--amber);min-width:0;min-height:0;color:var(--text);text-align:center;background:#ffffffd6;border-radius:8px;place-items:center;padding:3px 5px;font-size:12px;line-height:1.15;display:grid;position:absolute;overflow:hidden;box-shadow:0 8px 20px #16201e1f}.book-hotspot.is-click-only{color:#0000;box-shadow:none;background:0 0;border-color:#0000;border-radius:0;padding:0}.book-hotspot:hover,.book-hotspot:focus-visible{border-color:var(--accent);background:#dff4f1eb;outline:none}.book-hotspot.is-click-only:hover,.book-hotspot.is-click-only:focus-visible{background:0 0;border-color:#0000}.public-home{background:#fff;place-items:center;min-height:100vh;padding:32px;display:grid}.public-home-logo-link{border-radius:8px;outline:none;justify-content:center;align-items:center;min-width:180px;min-height:96px;padding:24px;transition:box-shadow .16s,transform .16s;display:inline-flex}.public-home-logo-link:hover,.public-home-logo-link:focus-visible{box-shadow:0 0 0 4px var(--accent-soft)}.public-home-logo-link:active{transform:scale(.99)}.public-home-logo-link img{width:min(52vw,280px);height:auto}.not-found-page{color:#dce4e5;text-align:center;isolation:isolate;background:#0d1515;justify-content:center;align-items:center;min-height:100vh;padding:64px 16px;display:flex;position:relative;overflow:hidden}.not-found-page.is-embed{min-height:100vh}.not-found-grid{z-index:-2;opacity:.03;pointer-events:none;background-image:linear-gradient(90deg,#242427 1px,#0000 1px),linear-gradient(#242427 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.not-found-glow{z-index:-1;aspect-ratio:1;opacity:.05;filter:blur(120px);pointer-events:none;background:#7df4ff;border-radius:50%;width:min(80vw,680px);position:absolute}.not-found-canvas{z-index:1;flex-direction:column;align-items:center;width:min(100%,896px);display:flex;position:relative}.not-found-brand{color:#dce4e5;font-family:Geist, var(--font);letter-spacing:0;margin-bottom:48px;font-size:24px;font-weight:700;line-height:32px}.not-found-illustration-wrap{margin-bottom:48px;position:relative}.not-found-illustration-glow{opacity:.1;filter:blur(32px);background:#7df4ff;border-radius:24px;transition:opacity .7s;position:absolute;inset:0}.not-found-illustration-wrap:hover .not-found-illustration-glow{opacity:.2}.not-found-illustration-frame{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#16161866;border:1px solid #242427;border-radius:24px;justify-content:center;align-items:center;width:320px;height:320px;padding:16px;transition:transform .5s;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 64px #0000006b}.not-found-illustration-frame:hover{transform:scale(1.02)}.not-found-illustration-frame img{object-fit:contain;mix-blend-mode:screen;opacity:.9;width:100%;height:100%;transition:opacity .3s}.not-found-illustration-frame:hover img{opacity:1}.not-found-copy{justify-items:center;gap:24px;max-width:672px;margin-bottom:48px;display:grid}.not-found-copy h1{color:#dce4e5;font-family:Geist, var(--font);letter-spacing:0;margin:0;font-size:40px;font-weight:700;line-height:48px}.not-found-copy p{color:#b9cacb;max-width:448px;margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:16px;line-height:24px}.not-found-copy small{color:#849495;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:18px}.not-found-actions{justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.not-found-primary-action,.not-found-secondary-action{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:160px;min-height:56px;padding:0 32px;text-decoration:none;transition:transform .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.not-found-primary-action{color:#00363a;font-family:Geist, var(--font);background:#00f0ff;border:1px solid #00f0ff;font-size:16px;font-weight:700;line-height:24px;position:relative;overflow:hidden}.not-found-primary-action:hover,.not-found-primary-action:focus-visible{transform:scale(1.05)}.not-found-primary-action svg{transition:transform .16s}.not-found-primary-action:hover svg,.not-found-primary-action:focus-visible svg{transform:translate(4px)}.not-found-secondary-action{color:#dce4e5;background:0 0;border:1px solid #849495;font-family:JetBrains Mono,ui-monospace,monospace;font-size:16px;font-weight:500;line-height:24px}.not-found-secondary-action:hover,.not-found-secondary-action:focus-visible{background:#161618;border-color:#7df4ff}.not-found-primary-action:active,.not-found-secondary-action:active{transform:scale(.95)}.not-found-terminal{color:#849495;opacity:.4;align-items:center;gap:8px;margin-top:96px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:18px;transition:opacity .16s;display:flex}.not-found-terminal:hover{opacity:1}.page-flip-loading{z-index:6;color:var(--muted);pointer-events:none;background:#f5f4f0cc;border-radius:4px;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.reader-mode{justify-items:center;gap:24px;min-height:0;padding:28px 16px;display:grid;overflow:auto}.reader-page{border:1px solid var(--border);width:min(100%,860px);box-shadow:var(--shadow);background:#fff;position:relative;overflow:hidden}.reader-page canvas{width:100%;height:100%}.loading-state,.error-text{color:var(--muted);place-self:center}.error-text{color:var(--danger);background:var(--danger-soft);border:1px solid #f3c7cf;border-radius:8px;padding:12px}@media (width<=640px){.not-found-page{padding:48px 16px}.not-found-brand,.not-found-illustration-wrap,.not-found-copy{margin-bottom:36px}.not-found-illustration-frame{width:256px;height:256px}.not-found-copy h1{font-size:28px;line-height:34px}.not-found-copy p{font-size:14px;line-height:20px}.not-found-actions{flex-direction:column}.not-found-primary-action,.not-found-secondary-action{width:100%}.not-found-terminal{margin-top:64px}}@media (width<=1100px){.editor-grid{grid-template-columns:180px 92px minmax(0,1fr)}.inspector{border-left:0;border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}}@media (width<=760px){.topbar,.viewer-toolbar{flex-wrap:wrap;grid-template-columns:1fr;height:auto;min-height:64px;padding:10px}.topbar{display:flex}.topbar-actions,.viewer-tools,.url-import-form{flex-wrap:wrap}.viewer-title{text-align:center;width:100%}.viewer-tools,.viewer-logo-link{justify-self:center}.viewer-toolbar{justify-items:center;gap:8px;padding:10px 12px}.viewer-tools{justify-content:center}.viewer-logo-link img{max-width:min(54vw,210px);height:48px}.url-input{width:min(100%,220px)}.editor-grid{grid-template-columns:1fr}.document-rail,.page-rail{display:none}.inspector{grid-template-columns:1fr}.canvas-scroller{padding:14px}.book-stage{padding:12px 8px 6px}.page-flip-shell{max-width:none;min-height:0}.book-hotspot{padding:2px;font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
