@keyframes panelFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes launch-check-in{to{opacity:1;transform:translateY(0)}}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url(../lib/fonts/Inter-400.woff2)format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url(../lib/fonts/Inter-500.woff2)format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url(../lib/fonts/Inter-600.woff2)format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:700;src:url(../lib/fonts/Inter-700.woff2)format("woff2")}:root,:root[data-theme=light]{--ink:#1a1a1a;--ink-soft:#4a4a4a;--ink-faint:#909090;--bg:#ffffff;--rail:#f7f6f3;--rail-hover:#eeedea;--panel:#ffffff;--panel-muted:#f7f6f3;--panel-input:#ffffff;--stage-bg:#f2f4f7;--accent:#e53935;--accent-deep:#b71c1c;--accent-soft:#fff4f4;--accent-2:#2a2a2a;--accent-2-soft:#f0efed;--gold:#b3711f;--good:#16a34a;--line:#e2e0db;--line-dark:#d4d2cc;--input-bg:#f2f1ee;--input-bg-hover:#e8e7e3;--radius:10px;--shadow:0 14px 32px -16px rgba(0, 0, 0, 0.10)}:root[data-theme=dark]{--ink:#f0f0f0;--ink-soft:#a0a0a0;--ink-faint:#666666;--bg:#1a1a1a;--rail:#212121;--rail-hover:#2a2a2a;--panel:#212121;--panel-muted:#242424;--panel-input:#2a2a2a;--stage-bg:#1a1a1a;--accent:#e53935;--accent-deep:#b71c1c;--accent-soft:rgba(229, 57, 53, 0.16);--accent-2:#555555;--accent-2-soft:rgba(255, 255, 255, 0.08);--gold:#e0a458;--good:#4ade80;--line:#2e2e2e;--line-dark:#2e2e2e;--input-bg:#2a2a2a;--input-bg-hover:#333333;--radius:10px;--shadow:0 18px 40px -18px rgba(0, 0, 0, 0.7)}*{box-sizing:border-box}body,html{margin:0;height:100%}#topbar,body{display:flex;color:var(--ink)}body{font-family:Inter,-apple-system,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--stage-bg);flex-direction:column;height:100vh;overflow:hidden}button{cursor:pointer}button,input{font-family:inherit}#topbar{height:56px;flex:0 0 auto;align-items:center;gap:18px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--line-dark)}:root[data-theme=light] #topbar{background:#fff;border-bottom:1.5px solid var(--line-dark);box-shadow:0 1px 0 0 var(--line)}#find-bar{height:40px;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--panel-muted);border-bottom:1px solid var(--line-dark);color:var(--ink-faint)}#find-bar[hidden]{display:none}#find-input{border:0;background:0 0;outline:0;font-size:13px;color:var(--ink);width:240px;flex:0 0 auto}#find-input::placeholder{color:var(--ink-faint)}.find-ocr-toggle,.find-status{font-size:12px;color:var(--ink-soft);flex:0 0 auto}.find-status{min-width:90px}.find-ocr-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;margin-left:8px}.find-ocr-toggle input{cursor:pointer}#find-bar .icon-btn{flex:0 0 auto}.kdoc-search-highlight{position:absolute;background:#ffe000;mix-blend-mode:multiply;pointer-events:none;z-index:15;border-radius:2px}.kdoc-search-highlight.current{background:orange;mix-blend-mode:multiply;outline:1.5px solid rgba(255,120,0,.8)}:root[data-theme=light] #toolrail{background:var(--rail);border-right:1.5px solid var(--line-dark)}:root[data-theme=light] #sidepanel{background:#fff;border-left:1.5px solid var(--line-dark)}:root[data-theme=light] .tool.active .glyph{background:#fff2f2;box-shadow:-3px 0 0 0 var(--accent)}:root[data-theme=light] .tool.active{color:var(--accent)}.brand,.file-controls{display:flex;align-items:center}.brand{gap:8px;flex:0 0 auto;background:0 0;border:0;padding:4px 6px;margin:-4px -6px;border-radius:8px;cursor:pointer;color:inherit;font-family:inherit}.brand:hover{background:var(--rail-hover)}.brand span{font-weight:700;font-size:15px;letter-spacing:.01em}.file-controls{gap:10px;min-width:0}.filename,.page-nav{color:var(--ink-soft);font-size:13px}.filename{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-nav{display:flex;align-items:center;gap:6px}.icon-btn,.page-nav input[type=number]{background:var(--input-bg);border:1px solid var(--line-dark);color:var(--ink);border-radius:6px}.page-nav input[type=number]{width:44px;text-align:center;padding:4px 2px}.page-nav .of{color:var(--ink-faint)}.page-nav .sep{width:1px;height:20px;background:var(--line-dark);margin:0 4px}#zoom-level{width:42px;text-align:center;font-size:12.5px;color:var(--ink-soft)}.icon-btn{width:26px;height:26px;line-height:1;font-size:14px}.icon-btn:hover{background:var(--input-bg-hover)}.icon-btn:disabled{opacity:.35;cursor:default}.spacer{flex:1 1 auto}.primary-actions{display:flex;gap:6px;flex:0 0 auto}button.icon-action{border:0;border-radius:8px;padding:7px 10px;background:0 0;border:1px solid var(--line-dark);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease,filter .15s ease}button.icon-action:hover:not(:disabled){background:var(--rail-hover)}button.icon-action.accent{background:var(--accent);border-color:transparent;color:#fff}.appeal-page-icons button.accent:hover:not(:disabled),button.icon-action.accent:hover:not(:disabled){filter:brightness(1.1)}button.icon-action:active:not(:disabled){transform:scale(.95)}.appeal-page-icons button:disabled,button.ghost:disabled,button.icon-action:disabled,button.primary:disabled{opacity:.35;cursor:default}button.ghost,button.primary{border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}button.primary{background:var(--accent);color:#fff;cursor:pointer;transition:filter .15s ease,transform .1s ease}button.primary:not(:disabled):hover{filter:brightness(1.08)}button.primary:not(:disabled):active{transform:scale(.98)}button.ghost{background:0 0;border:1px solid var(--line-dark);color:var(--ink);transition:background .15s ease,transform .1s ease}.appeal-page-icons button:hover:not(:disabled),button.ghost:not(:disabled):hover{background:var(--rail-hover)}#appeal-palette-details{margin-bottom:14px;border:1px solid var(--line);border-radius:8px;padding:4px 12px;background:var(--panel-muted)}#appeal-palette-details summary{cursor:pointer;font-weight:600;font-size:13px;padding:8px 0;list-style:none;user-select:none}#appeal-palette-details summary::-webkit-details-marker{display:none}#appeal-palette-details summary::before{content:"▸";display:inline-block;margin-right:8px;transition:transform .12s ease}#appeal-palette-details[open] summary::before{transform:rotate(90deg)}#appeal-field-palette{padding-bottom:10px;max-height:260px;overflow-y:auto}.appeal-palette-item{padding:7px 10px;margin-bottom:5px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:12px;cursor:grab;user-select:none;transition:border-color .12s ease,background .12s ease}.appeal-palette-item:hover{border-color:var(--accent);background:var(--accent-soft)}.appeal-palette-item:active{cursor:grabbing}.appeal-palette-item .cover-tag{color:var(--ink-faint);font-size:10.5px}.appeal-page-icons{position:absolute;top:10px;right:10px;display:flex;gap:5px;z-index:40;background:rgba(255,255,255,.92);padding:4px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.18)}:root[data-theme=dark] .appeal-page-icons{background:rgba(30,30,30,.92)}.appeal-page-icons button,.appeal-page-resize-menu{display:flex;background:var(--panel);border:1px solid var(--line-dark)}.appeal-page-icons button{width:26px;height:26px;border-radius:6px;color:var(--ink);font-size:13px;cursor:pointer;align-items:center;justify-content:center;transition:background .12s ease}.appeal-page-icons button.accent{background:var(--accent);border-color:transparent;color:#fff}.appeal-page-resize-menu{position:absolute;top:32px;right:0;z-index:50;flex-direction:column;gap:3px;border-radius:8px;padding:5px;box-shadow:0 6px 18px rgba(0,0,0,.25);min-width:84px}.appeal-page-resize-menu[hidden]{display:none}.appeal-page-resize-menu button{width:auto;height:auto;padding:6px 10px;border:0;border-radius:5px;background:0 0;color:var(--ink);font-size:12.5px;text-align:left;justify-content:flex-start}.appeal-page-resize-menu button:hover{background:var(--rail-hover)}#appeal-reason-picker{margin-bottom:16px}.appeal-reason-card{text-align:left;margin-bottom:8px;padding:10px 12px}button.ghost:not(:disabled):active{transform:scale(.98)}button.block{width:100%;margin-top:10px}#body{flex:1 1 auto;display:flex;min-height:0}#toolrail{flex:0 0 92px;background:var(--rail);border-right:1px solid var(--line-dark);display:flex;flex-direction:column;align-items:stretch;padding:14px 8px;gap:6px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}#toolrail::-webkit-scrollbar{display:none}.rail-divider{height:1px;background:var(--line-dark);margin:6px 4px}.toolrail-about{margin-top:auto;padding:10px 6px 2px;border-top:1px solid var(--line-dark)}.toolrail-about .about-title{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px}.toolrail-about p{display:flex;justify-content:space-between;gap:6px;font-size:10.5px;color:var(--ink-soft);margin:0 0 3px;white-space:nowrap}.toolrail-about p span:first-child{color:var(--ink-faint)}.toolrail-about p span:last-child{overflow:hidden;text-overflow:ellipsis}.about-btn,.about-btn .glyph,.tool,.tool .glyph{display:flex;align-items:center;border-radius:9px}.about-btn,.tool{background:0 0;border:0;color:var(--ink-soft);flex-direction:column;gap:3px;padding:8px 4px;font-size:10.5px;font-weight:600;letter-spacing:.01em;transition:color .15s ease,transform .1s ease;cursor:pointer}.about-btn .glyph,.tool .glyph{width:34px;height:34px;justify-content:center;background:var(--rail-hover);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.about-btn .glyph svg,.shape-btn svg,.tool .glyph svg{width:18px;height:18px}.about-btn:hover .glyph,.tool:hover .glyph{background:var(--input-bg-hover)}.about-btn:hover,.tool.active,.tool:hover{color:var(--ink)}.tool.active .glyph{background:var(--rail-hover);color:var(--ink);box-shadow:-3px 0 0 0 var(--accent)}#stage{flex:1 1 auto;overflow:auto;position:relative;background:var(--stage-bg);padding:28px 0 60px}#empty-state,#pages-container{display:flex;align-items:center}#empty-state{position:absolute;inset:0;justify-content:center}.drop-card{background:var(--panel);border:2px dashed var(--line);border-radius:16px;padding:48px 56px;text-align:center;max-width:360px;box-shadow:0 12px 40px rgba(0,0,0,.08);transition:border-color .2s ease,box-shadow .2s ease}.drop-card .badge{display:inline-block;width:56px;height:56px;border-radius:13px;margin-bottom:14px}.drop-card h1{font-size:17px;margin:0 0 8px}.drop-card p{font-size:13px;color:var(--ink-soft);margin:0 0 18px;line-height:1.5}#stage.dragover .drop-card{border-color:var(--accent-2);background:var(--accent-2-soft)}#pages-container{flex-direction:column;gap:22px}#merge-stage{max-width:900px;margin:40px auto;padding:0 24px}#appeal-stage,#pages-stage,#split-stage{max-width:1000px;margin:40px auto;padding:0 24px}#appeal-stage{max-width:1180px}#appeal-reason-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.appeal-reason-card-big{text-align:left;padding:16px 18px 16px 20px;border:1px solid var(--line);border-left:3px solid var(--accent-2);border-radius:10px;background:var(--panel);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .1s ease}.appeal-reason-card-big.is-general,.appeal-reason-card-big:hover{border-left-color:var(--accent)}.appeal-reason-card-big:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px)}.appeal-reason-card-big strong{display:block;font-size:14.5px;margin-bottom:4px}.appeal-reason-card-big span{display:block;font-size:12.5px;color:var(--ink-soft);line-height:1.4}#merge-file-grid,#split-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.split-thumb{position:relative;border:2px solid var(--line);border-radius:8px;background:var(--panel-muted);padding:6px;cursor:pointer;user-select:none;transition:border-color .12s ease,box-shadow .12s ease}.split-thumb:hover{border-color:var(--accent-2)}.split-thumb.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;background:var(--accent-soft)}.page-thumb img,.split-thumb img{width:100%;display:block;border-radius:4px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);pointer-events:none}.split-thumb .thumb-loading{width:100%;aspect-ratio:.77;background:var(--input-bg);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--ink-faint)}.split-thumb .thumb-num{text-align:center;font-size:10.5px;color:var(--ink-soft);margin-top:5px;font-weight:600}.split-thumb .split-check{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:none;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}.split-thumb.selected .split-check{display:flex}.split-thumb.split-disabled{opacity:.5;cursor:default}.merge-stage-hint{text-align:center;color:var(--ink-soft);font-size:13.5px;margin-bottom:22px}.merge-card{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:10px;cursor:grab;user-select:none;transition:opacity .12s ease,transform .12s ease;box-shadow:0 2px 8px rgba(0,0,0,.06)}.merge-card:active{cursor:grabbing}.merge-card.dragging{opacity:.35}.merge-card.drag-over{border-color:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2) inset}.merge-card .merge-thumb{width:100%;aspect-ratio:.77;border-radius:6px;background:var(--input-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:8px}.merge-card .merge-thumb img{width:100%;display:block;box-shadow:0 2px 6px rgba(0,0,0,.2);pointer-events:none}.merge-card .merge-thumb .thumb-loading{font-size:10px;color:var(--ink-faint)}.merge-card .merge-order-badge{position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:50%;background:var(--accent-2);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}.merge-card .merge-name{font-size:12px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-add-card,.merge-card .merge-remove{display:flex;align-items:center;justify-content:center;cursor:pointer}.merge-card .merge-remove{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;border:0;font-size:12px;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.25)}.merge-card .merge-remove:hover{background:var(--accent-deep)}.merge-add-card{border:1.5px dashed var(--line-dark);border-radius:10px;background:0 0;flex-direction:column;gap:6px;min-height:150px;color:var(--ink-soft);font-size:12.5px;font-weight:600;transition:border-color .15s ease,color .15s ease}.merge-add-card:hover{border-color:var(--accent);color:var(--accent)}.merge-add-card .plus{font-size:26px;font-weight:400;line-height:1}.page-wrapper{position:relative;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.35)}.page-wrapper canvas{display:block}:root[data-theme=light] .page-wrapper{border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06);overflow:hidden}.page-number-tag{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--ink-faint)}.annotationOverlay,.draw-layer{position:absolute;inset:0}#pages-container.mode-addtext .page-wrapper{cursor:crosshair}.draw-layer{pointer-events:none}#pages-container.mode-draw .draw-layer{pointer-events:auto;cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI4IDI4Ij4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNCwxNCkgcm90YXRlKDQ1KSB0cmFuc2xhdGUoLTIsLTExKSI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIgcng9IjEiIGZpbGw9IiMyZjU0YWQiIHN0cm9rZT0iIzExMTYyYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMCwxNiA0LDE2IDIsMjIiIGZpbGw9IiMxYTFhMmUiIHN0cm9rZT0iIzExMTYyYiIgc3Ryb2tlLXdpZHRoPSIwLjgiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI0IiBoZWlnaHQ9IjMiIGZpbGw9IiNhYWIxZDYiLz4KICA8L2c+Cjwvc3ZnPgo=)6 22,crosshair}#pages-container.mode-erase .draw-layer{pointer-events:auto;cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI4IDI4Ij4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNCwxNSkgcm90YXRlKDQ1KSB0cmFuc2xhdGUoLTcsLTUpIj4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxMCIgcng9IjIiIGZpbGw9IiNmZjhmYjMiIHN0cm9rZT0iIzExMTYyYiIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxNCIgaGVpZ2h0PSI0IiByeD0iMiIgZmlsbD0iI2ZmZDFlMSIgc3Ryb2tlPSIjMTExNjJiIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogIDwvZz4KPC9zdmc+Cg==)14 15,cell}.textbox{position:absolute;display:flex;flex-direction:column;min-width:40px;min-height:1.3em;border:1px dashed var(--accent-2);background:rgba(47,84,173,.06)}.textbox:focus-within{border-style:solid;background:rgba(47,84,173,.1)}.textbox-content{flex:1 1 auto;width:100%;padding:2px 4px 2px 16px;outline:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;line-height:1.25;box-sizing:border-box;min-height:1.3em}.textbox .handle{position:absolute;left:-16px;top:-1px;width:14px;height:14px;background:var(--accent-2);color:#fff;border-radius:3px;font-size:9px;display:flex;align-items:center;justify-content:center;cursor:grab;user-select:none}.textbox .remove{position:absolute;right:-8px;top:-8px;width:16px;height:16px;background:var(--accent);color:#fff;border-radius:50%;font-size:10px;line-height:16px;text-align:center;cursor:pointer;display:none}#side-panel.open,.field span,.textbox:hover .remove{display:block}.textbox .resize-handle{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;background:var(--accent-2);border:2px solid #fff;border-radius:3px;cursor:nwse-resize;z-index:2}#side-panel{flex:0 0 300px;background:var(--panel);border-left:1px solid var(--line);padding:22px 20px;overflow-y:auto;display:none}.panel-section{display:none;opacity:0}.panel-section.active{display:block;animation:panelFadeIn .18s ease forwards}.panel-section h2{font-size:14px;font-weight:700;margin:0 0 14px;letter-spacing:-.01em}.field,.hint{font-size:12.5px;color:var(--ink-soft)}.hint{line-height:1.5;margin:0 0 14px}.hint.small{font-size:11.5px;margin-top:10px}.field{display:block;margin-bottom:14px}.field[hidden]{display:none}.field span{margin-bottom:4px;font-weight:600}.field input[type=number],.field input[type=text],.field select{width:100%;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:13px;color:var(--ink);background:var(--input-bg)}.field input[type=color]{width:100%;height:32px;border:1px solid var(--line);border-radius:7px;padding:2px;background:var(--input-bg)}.field .slider-row{display:flex;align-items:center;gap:8px;margin-bottom:0}.field .slider-row input[type=range]{flex:1;accent-color:var(--accent-2)}.field .slider-row span{display:inline;font-weight:400;margin-bottom:0;min-width:34px;text-align:right;color:var(--ink)}#merge-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}#merge-list li,.split-mode{display:flex;font-size:12.5px}#merge-list li{align-items:center;gap:8px;background:var(--panel-muted);border:1px solid var(--line);border-radius:8px;padding:7px 9px}#merge-list li .mname{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#merge-list li .mbtns{display:flex;gap:2px;flex:0 0 auto}#merge-list li button{background:0 0;border:0;color:var(--ink-soft);font-size:13px;padding:0 4px}#merge-list li button:hover{color:var(--accent)}.split-mode{flex-direction:column;gap:6px;margin-bottom:12px}.split-mode label{display:flex;align-items:center;gap:6px}.about-btn{margin-top:auto}.about-overlay{position:fixed;inset:0;background:rgba(14,20,48,.55);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.about-overlay[hidden]{display:none}.about-dialog{position:relative;background:var(--panel);color:var(--ink);border-radius:14px;max-width:460px;width:100%;max-height:86vh;overflow-y:auto;padding:28px 28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.about-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border:0;background:var(--panel-muted);color:var(--ink-soft);border-radius:50%;cursor:pointer;font-size:13px}.about-close:hover{background:var(--accent-soft);color:var(--accent)}.about-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.about-header h2{margin:0;font-size:17px}.about-version{margin:2px 0 0;font-size:12.5px;color:var(--ink-soft)}.about-section{margin-bottom:16px}.about-section h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.about-features-list,.about-section p{margin:0;font-size:13px;line-height:1.55;color:var(--ink-soft)}.about-section a,.about-section h3{color:var(--accent-2)}.about-features-list{padding-left:18px}.about-features-list li{margin-bottom:8px}#encryption-notice-close:hover,.about-features-list strong{color:var(--ink)}#pages-container.mode-form .page-wrapper{cursor:cell}.form-field-overlay{position:absolute;border:1px dashed var(--accent);background:0 0;border-radius:4px;box-sizing:border-box;user-select:none;min-width:14px;min-height:14px;z-index:20;transition:border-color .12s ease,border-style .12s ease,background .12s ease}.form-field-overlay:focus-within,.form-field-overlay:hover{border-style:solid;background:var(--accent-soft)}.form-field-overlay.form-field-suggested{border-color:#d97706;background:rgba(217,119,6,.1)}.form-field-overlay.spreadsheet-cell{border:1px solid transparent;background:0 0;border-radius:0;cursor:text}.form-field-overlay.spreadsheet-cell:hover{border-color:var(--accent-2)}.form-field-overlay.spreadsheet-cell .form-field-input{padding:2px 3px;border:0;background:0 0}.ss-overlay-el{position:absolute;z-index:15;box-sizing:border-box}.ss-header-bg{background:var(--panel-muted);border:1px solid var(--line);pointer-events:none}.ss-col-label{font-size:8.5px;font-weight:700;color:var(--ink-soft);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:text;z-index:20;border-radius:2px}.ss-col-label:focus,.ss-col-label:hover{outline:1px solid var(--accent-2);background:var(--panel)}.ss-col-delete{width:12px;height:12px;border:0;border-radius:50%;background:#dc2626;color:#fff;font-size:9px;line-height:12px;padding:0;cursor:pointer;z-index:30;display:flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .12s ease}.ss-col-delete:hover{opacity:1}.ss-gridline-h,.ss-gridline-v{background:var(--line-dark);pointer-events:none}.ss-gridline-h{height:1px}.ss-gridline-v{width:1px}.ss-col-resize{width:12px;cursor:col-resize;z-index:25}.ss-col-resize::after,.ss-row-resize::after{content:"";position:absolute;background:var(--accent-2);opacity:.45}.ss-col-resize::after{left:5px;top:0;bottom:0;width:2px}.ss-col-resize:hover::after{opacity:1;width:3px;left:4.5px}.ss-row-resize{height:7px;cursor:row-resize;z-index:25}.ss-row-resize::after{top:2.5px;left:0;right:0;height:2px}.ss-row-resize:hover::after{opacity:1;height:3px;top:2px}.ss-add-col,.ss-add-row{border:1.5px dashed var(--line-dark);background:0 0;color:var(--ink-soft);font-size:10.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;z-index:20;transition:border-color .12s ease,color .12s ease}.ss-add-row{height:22px}.ss-add-col{width:26px;writing-mode:vertical-rl}.ss-add-col:hover,.ss-add-row:hover{border-color:var(--accent);color:var(--accent)}.ss-add-col:disabled,.ss-add-row:disabled{opacity:.4;cursor:not-allowed}.ss-add-col:disabled:hover,.ss-add-row:disabled:hover{border-color:var(--line-dark);color:var(--ink-soft)}.kdoc-table-overlay{position:absolute;z-index:30;box-sizing:border-box;outline:1.5px dashed var(--accent);outline-offset:2px;background:#fff;cursor:default}.kdoc-table-grid{display:grid;width:100%;height:100%}.kdoc-table-cell{border:.5px solid var(--line-dark);padding:3px 5px;overflow:hidden;outline:0;cursor:text;box-sizing:border-box}.kdoc-table-cell:focus{outline:1.5px solid var(--accent-2);outline-offset:-1.5px}.kdoc-table-handle,.kdoc-table-remove{position:absolute;top:-11px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.3);z-index:32}.kdoc-table-handle{left:-11px;width:22px;height:22px;font-size:12px;cursor:grab}.kdoc-table-remove{right:-11px;width:20px;height:20px;border:0;font-size:14px;line-height:1;cursor:pointer}.kdoc-table-ctrl{position:absolute;z-index:31;box-sizing:border-box}.kdoc-col-resize{width:12px;cursor:col-resize;z-index:32}.kdoc-col-resize::after,.kdoc-row-resize::after{content:"";position:absolute;background:var(--accent-2);opacity:.4}.kdoc-col-resize::after{left:5px;top:0;bottom:0;width:2px}.kdoc-col-resize:hover::after{opacity:1;width:3px;left:4.5px}.kdoc-row-resize{height:7px;cursor:row-resize}.kdoc-row-resize::after{top:2.5px;left:0;right:0;height:2px}.kdoc-row-resize:hover::after{opacity:1;height:3px;top:2px}.kdoc-table-del-col,.kdoc-table-del-row{width:12px;height:12px;border:0;border-radius:50%;background:#dc2626;color:#fff;font-size:9px;line-height:12px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .12s ease}.kdoc-table-del-col:hover,.kdoc-table-del-row:hover{opacity:1}.kdoc-table-add-col,.kdoc-table-add-row{border:1.5px dashed var(--line-dark);background:var(--panel);color:var(--ink-soft);font-size:10.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:border-color .12s ease,color .12s ease}.kdoc-table-add-row{height:20px}.kdoc-table-add-col{width:24px;writing-mode:vertical-rl}.kdoc-table-add-col:hover,.kdoc-table-add-row:hover{border-color:var(--accent);color:var(--accent)}.kdoc-cell-toolbar{position:fixed;z-index:9999;display:none;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 7px;box-shadow:0 4px 14px rgba(0,0,0,.18);gap:5px;align-items:center}.kdoc-cell-toolbar [data-act=bold]{font-weight:700;width:26px;height:26px;border:1px solid var(--line);border-radius:5px;background:var(--input-bg);color:var(--ink);cursor:pointer}.kdoc-cell-toolbar [data-act=bold].active{background:var(--accent-2-soft);border-color:var(--accent-2)}.kdoc-cell-toolbar [data-act=color]{width:26px;height:26px;border:0;padding:0;cursor:pointer;background:0 0}.kdoc-cell-toolbar [data-act=size]{width:46px;height:26px;border:1px solid var(--line);border-radius:5px;font-size:12px;padding:0 4px;color:var(--ink);background:var(--input-bg)}.form-field-label,.form-field-move-handle{position:absolute;top:-18px;background:#2563eb;color:#fff}.form-field-move-handle{left:-1px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:3px 0 0 0;cursor:grab;touch-action:none;z-index:2}.form-field-move-handle:active{cursor:grabbing}.form-field-suggested .form-field-label,.form-field-suggested .form-field-move-handle,.form-field-suggested .form-field-resize{background:#d97706}.form-field-label{left:19px;right:38px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 4px;border-radius:0 3px 0 0;cursor:default}.form-field-btn{position:absolute;top:-18px;border:0;border-radius:0;font-size:11px;line-height:1;padding:2px 5px;height:18px;cursor:pointer;font-weight:700;z-index:2}.form-field-remove{right:-1px;background:#ef4444;color:#fff;border-radius:0 3px 0 0}.form-field-accept{right:18px;background:#16a34a;color:#fff}.form-field-resize{position:absolute;bottom:0;right:0;width:10px;height:10px;background:#2563eb;border-radius:2px 0 0 0;cursor:se-resize;touch-action:none}.form-field-input{position:absolute;left:2px;top:2px;right:2px;bottom:2px;border:0;background:rgba(255,255,255,.85);font-size:11px;padding:2px 4px;resize:none;outline:0;width:calc(100% - 8px);box-sizing:border-box;color:#111}.form-field-cb-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.form-field-cb-wrap input[type=checkbox],.form-field-cb-wrap input[type=radio]{width:12px;height:12px;pointer-events:auto;cursor:pointer}.form-field-overlay.form-field-round{border-radius:50%}.form-field-overlay.form-field-round .form-field-resize{border-radius:50%0 0 0}.encryption-notice{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);max-width:560px;background:var(--panel);border:1px solid var(--gold);color:var(--ink);border-radius:10px;padding:12px 40px 12px 16px;font-size:12.5px;line-height:1.5;box-shadow:var(--shadow);z-index:60}.encryption-notice strong{color:var(--gold)}#encryption-notice-close{position:absolute;top:10px;right:10px;background:0 0;border:0;color:var(--ink-faint);cursor:pointer;font-size:12px}.shape-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.page-thumb,.shape-btn{border:1px solid var(--line);border-radius:8px;background:var(--panel-muted)}.shape-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;color:var(--ink-soft);font-size:9.5px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.shape-btn.active,.shape-btn:hover{background:var(--input-bg-hover);color:var(--ink)}.shape-btn.active{border-color:var(--accent);box-shadow:0 3px 0 0 var(--accent)}@font-face{font-family:"KadendocSig Caveat";src:url(../lib/fonts/Caveat.woff2)format("woff2");font-display:swap}@font-face{font-family:"KadendocSig DancingScript";src:url(../lib/fonts/DancingScript.woff2)format("woff2");font-display:swap}@font-face{font-family:"KadendocSig GreatVibes";src:url(../lib/fonts/GreatVibes.woff2)format("woff2");font-display:swap}@font-face{font-family:"KadendocSig Sacramento";src:url(../lib/fonts/Sacramento.woff2)format("woff2");font-display:swap}.sig-style-btn.active,.sig-style-btn:hover{border-color:var(--accent-2)!important}.sig-style-btn.active{background:var(--accent-2-soft)!important;box-shadow:0 0 0 2px var(--accent-2) inset}#pages-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.page-thumb{position:relative;padding:6px;cursor:grab;user-select:none;transition:opacity .12s ease,transform .12s ease}.page-thumb:active{cursor:grabbing}.page-thumb.dragging{opacity:.35}.page-thumb.drag-over{border-color:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2) inset}.page-thumb .thumb-loading{width:100%;aspect-ratio:.77;background:var(--input-bg);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--ink-faint)}.page-thumb .thumb-num{text-align:center;font-size:10.5px;color:var(--ink-soft);margin-top:5px;font-weight:600}.page-thumb .thumb-remove,.page-thumb .thumb-rotate{position:absolute;right:2px;width:20px;height:20px;border-radius:50%;color:#fff;border:0;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.page-thumb .thumb-remove{top:2px;background:var(--accent);font-size:11px}.page-thumb .thumb-remove:hover{background:var(--accent-deep)}.page-thumb .thumb-rotate{bottom:24px;background:var(--accent-2);font-size:13px;opacity:0;transition:opacity .15s ease}.doc-tab.active::before,.doc-tab:hover::before,.page-thumb:hover .thumb-rotate{opacity:1}.page-thumb .thumb-rotate:hover{background:var(--accent)}#doc-tabs{display:flex;align-items:center;gap:2px;padding:0 10px;background:var(--bg);border-bottom:1px solid var(--line-dark);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--line-dark) transparent;height:40px;flex-shrink:0;flex:0 0 40px}#doc-tabs::-webkit-scrollbar{height:4px}#doc-tabs::-webkit-scrollbar-track{background:0 0}#doc-tabs::-webkit-scrollbar-thumb{background:var(--line-dark);border-radius:4px}#doc-tabs::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.doc-tab{display:flex;align-items:center;gap:6px;max-width:200px;height:30px;padding:0 8px 0 10px;background:var(--rail);border:1px solid var(--line-dark);border-bottom:none;border-radius:6px 6px 0 0;color:var(--ink-soft);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:background .15s ease,color .15s ease}.doc-tab::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.5;flex-shrink:0}.doc-tab:hover{background:var(--rail-hover);color:var(--ink)}.doc-tab.active{background:var(--bg);color:var(--ink);border-bottom:2px solid var(--bg);border-top:2px solid var(--accent);font-weight:600;margin-bottom:-1px}:root[data-theme=light] .doc-tab.active{background:#fff}.doc-tab .tab-name{overflow:hidden;text-overflow:ellipsis;max-width:140px}.doc-tab .tab-close,.doc-tab-add{align-items:center;justify-content:center}.doc-tab .tab-close{flex:0 0 auto;width:16px;height:16px;border-radius:4px;display:flex;font-size:14px;line-height:1;color:var(--ink-faint);font-family:system-ui,sans-serif}.doc-tab .tab-close:hover{background:var(--accent);color:#fff}.doc-tab-add{width:30px;height:30px;border-radius:7px;border:0;background:0 0;color:var(--ink-soft);font-size:16px;cursor:pointer;margin-bottom:4px}.doc-tab-add:hover{background:var(--rail-hover);color:var(--ink)}#launch-splash,#status-bar{align-items:center;background:var(--bg)}#status-bar,.doc-tab-add{flex:0 0 auto;display:flex}#status-bar{height:26px;padding:0 14px;border-top:1px solid var(--line-dark);font-size:11px;color:var(--ink-faint);font-weight:500;letter-spacing:.01em;user-select:none}#status-bar .sb-sep{width:1px;height:12px;background:var(--line-dark);margin:0 10px}#status-bar .sb-privacy{margin-left:auto;display:flex;align-items:center;gap:5px;color:#22c55e;font-weight:600;font-size:10.5px}#status-bar .sb-privacy svg{flex-shrink:0}#launch-splash{position:fixed;inset:0;z-index:9999;flex-direction:column;gap:18px;transition:opacity .35s ease}#launch-splash.hide{opacity:0;pointer-events:none}#launch-splash,#terms-gate,.terms-gate-links{display:flex;justify-content:center}#terms-gate{position:fixed;inset:0;z-index:10001;align-items:center;padding:24px;background:var(--bg)}#terms-gate[hidden]{display:none}#terms-gate-dialog{max-width:440px;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 30px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}#terms-gate-dialog img{border-radius:10px;margin-bottom:14px}#terms-gate-dialog h2{margin:0 0 12px;font-size:19px;color:var(--ink)}#terms-gate-dialog p,.terms-gate-notice ul{margin:0 0 18px;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}.terms-gate-links{gap:18px;margin-bottom:18px}.terms-gate-links a{font-size:13px}.terms-gate-notice{text-align:left;background:var(--panel-muted);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:9px;padding:14px 16px;margin-bottom:20px}.terms-gate-notice h3{margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--ink)}.terms-gate-notice ul{margin:0;padding-left:18px;font-size:12px}.terms-gate-notice ul li+li{margin-top:7px}.terms-gate-links a,.terms-gate-notice ul a{color:var(--accent-2);text-decoration:underline}.terms-gate-checkbox{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:13px;color:var(--ink);cursor:pointer;margin-bottom:20px}.terms-gate-checkbox input{margin-top:2px;flex-shrink:0;cursor:pointer}#terms-gate-continue{width:100%;padding:12px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .12s ease}#terms-gate-continue:disabled{opacity:.4;cursor:not-allowed}.launch-mark{display:flex;align-items:center;gap:10px;font-family:Inter,sans-serif;font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--ink)}.launch-mark img{border-radius:9px}.launch-checks,.launch-status{margin:0;font-size:13px;color:var(--ink-faint)}.launch-checks{list-style:none;margin:4px 0 0;padding:0;display:flex;gap:18px;font-size:12px;font-weight:600}.launch-checks li{opacity:0;transform:translateY(4px);animation:launch-check-in .35s ease forwards;animation-delay:var(--d, 0s)}.launch-checks li::before{content:"✓";color:#22c55e;margin-right:5px}@media (prefers-reduced-motion:reduce){.launch-checks li{animation:none;opacity:1;transform:none}#launch-splash{transition:none}}.textLayer br::selection,.textLayer span::selection{background:rgba(66,133,244,.38)}.textLayer br::-moz-selection,.textLayer span::-moz-selection{background:rgba(66,133,244,.38)}