:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202a3b;background:#f3f5fa;font-synthesis:none;--ink:#1a2539;--muted:#78859b;--line:#e7eaf2;--primary:#5046dc;--primaryLight:#eeedff;--mint:#00bb96;--white:#fff;--shadow:0 9px 35px rgba(25,38,75,.09)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bbb4ff;outline-offset:2px}button{touch-action:manipulation}[hidden]{display:none!important}svg{display:block}#app{min-height:100vh;min-height:100dvh}.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:25px;background:radial-gradient(ellipse at 45% 28%,#e9e6ff,transparent 48%),#f8f9fd}.boot-mark{width:84px;height:84px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(140deg,#5f52e9,#3634a1);box-shadow:0 18px 45px #443bd53c}.boot-document{font-size:54px;color:#fff}.boot-title{font-size:36px;font-weight:800;letter-spacing:-1.4px}.boot-title span{color:var(--primary)}.boot-screen p{max-width:460px;line-height:1.55;color:#69758a;margin:0}.loading-track{width:230px;height:5px;border-radius:20px;background:#e7e7f5;overflow:hidden}.loading-track-inner{width:50%;height:100%;background:var(--primary);border-radius:20px;animation:load 1.8s ease-in-out infinite}@keyframes load{0%{transform:translateX(-100%)}100%{transform:translateX(240%)}}.boot-subnote{font-size:12px}#boot-retry{background:var(--primary);border:0;color:#fff;padding:12px 22px;border-radius:12px}
.topbar{height:76px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:26px;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:176px;text-decoration:none;color:#18213a}.brand-mark{width:35px;height:39px;display:flex;align-items:center;justify-content:center;background:#4e47d6;border-radius:11px;color:white;box-shadow:0 5px 10px #4e47d629}.brand strong{font-weight:800;letter-spacing:-.7px;font-size:21px}.brand strong span{color:#5a4ee8}.file-heading{border-left:1px solid var(--line);padding-left:23px;min-width:0;flex:1}.file-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:370px}.file-sub{font-size:11px;color:var(--muted);margin-top:3px}.top-actions{display:flex;align-items:center;gap:9px}.btn{border:1px solid var(--line);background:white;color:#3f4d67;border-radius:11px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650;font-size:12px;white-space:nowrap;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#f6f7fe;border-color:#d4d4f2}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 4px 13px #554be331}.btn-primary:hover:not(:disabled){background:#453bd1;border-color:#453bd1}.btn-quiet{border-color:transparent;background:transparent}.btn-icon{padding:9px;min-width:38px;height:37px}.btn .i{width:17px;height:17px}.btn .i>*{stroke-width:1.9}.share-btn{background:#edf9f4;color:#137e67;border-color:#d6eee6}.share-btn:hover:not(:disabled){background:#daf5eb}.separator{width:1px;height:29px;background:var(--line);margin:0 5px}
.layout{display:flex;height:calc(100dvh - 76px);min-height:540px;overflow:hidden}.tool-rail{width:76px;flex:0 0 76px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 7px;overflow-y:auto;scrollbar-width:thin}.tool-item{width:61px;min-height:57px;border-radius:11px;background:transparent;color:#7e8aa0;border:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:600;position:relative}.tool-item .i{width:21px;height:21px}.tool-item:hover{background:#f5f5fd;color:#5148d9}.tool-item.active{background:var(--primaryLight);color:var(--primary)}.tool-item.active:before{content:"";position:absolute;left:-8px;width:3px;height:30px;border-radius:4px;background:var(--primary)}.tool-divider{height:1px;background:var(--line);width:36px;margin:6px auto}.pages-pane{width:218px;flex:0 0 218px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.pane-head{padding:21px 17px 15px;display:flex;align-items:center;justify-content:space-between}.pane-title{font-weight:800;font-size:13px}.pane-caption{font-size:11px;color:#919bae;margin-top:4px}.page-list{overflow:auto;flex:1;padding:3px 13px 25px;scrollbar-color:#dce0ef transparent;scrollbar-width:thin}.page-tile{border:1.5px solid transparent;background:transparent;border-radius:13px;padding:9px 8px 11px;width:100%;margin-bottom:11px;text-align:center;position:relative;color:#7f899a}.page-tile:hover{background:#f7f8fc}.page-tile.selected{border-color:#bdb9ff;background:#f5f4ff}.thumb-area{height:136px;max-width:100%;display:flex;align-items:center;justify-content:center}.thumb-area canvas{display:block;max-width:100%;max-height:128px;background:white;box-shadow:0 3px 14px #303b5923;border-radius:2px}.thumb-area .thumb-blank{width:94px;height:123px;box-shadow:0 3px 14px #303b5923;background:white}.page-number{font-size:11px;font-weight:650;margin-top:7px}.tile-controls{position:absolute;top:8px;right:8px;display:none;flex-direction:column;gap:3px}.page-tile:hover .tile-controls,.page-tile.selected .tile-controls{display:flex}.tile-mini{width:26px;height:25px;border:1px solid #e8e8ef;background:#fff;border-radius:7px;color:#68728d;display:grid;place-items:center}.tile-mini:hover{color:var(--primary)}.tile-mini svg{width:13px;height:13px}.page-footer{padding:13px;border-top:1px solid var(--line);display:grid;gap:8px}
.main-column{flex:1;display:flex;flex-direction:column;min-width:0}.contextbar{height:57px;background:#fff;border-bottom:1px solid var(--line);padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.page-info{font-size:12px;color:#68758b;font-weight:600}.page-info strong{color:#26324a}.context-actions{display:flex;align-items:center;gap:6px}.zoom-select{border:0;background:transparent;color:#445069;font-weight:750;font-size:12px;width:95px;cursor:pointer}.shortcut-hint{color:#9ca7b9;font-size:11px}.workspace{position:relative;overflow:auto;flex:1;overscroll-behavior:contain;scrollbar-color:#cbd2e2 transparent}.workspace-empty{width:min(440px,calc(100% - 40px));margin:clamp(35px,11vh,120px) auto 40px;text-align:center}.empty-art{margin:0 auto 25px;width:150px;height:168px;border-radius:33px;background:radial-gradient(circle,#dedafb,#f1f1fb);display:flex;align-items:center;justify-content:center;position:relative}.empty-art svg{width:75px;height:75px;color:#5c50e4;filter:drop-shadow(0 7px 8px #5c4ee03a)}.empty-art:after{content:'+';position:absolute;right:18px;bottom:20px;background:#12bf98;color:white;width:35px;height:35px;display:grid;place-items:center;border-radius:12px;font-size:25px;font-weight:600}.workspace-empty h1{font-size:24px;letter-spacing:-.8px;margin:0 0 12px}.workspace-empty p{color:#8390a5;line-height:1.6;font-size:13px;margin:0 auto 22px;max-width:365px}.empty-cta{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.empty-details{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#9aa5b9;margin-top:30px}.empty-details svg{color:#2bbc97;width:14px;height:14px}.sheet-holder{display:flex;justify-content:center;align-items:flex-start;padding:40px 35px 90px;min-width:max-content}.sheet{position:relative;background:#fff;box-shadow:0 14px 50px #2938502a,0 0 0 1px #cdd1dc;flex:none;touch-action:none;user-select:none}.sheet canvas{display:block;width:100%;height:100%;background:#fff}.ann-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;cursor:crosshair;touch-action:none}.ann-overlay[data-tool="select"]{cursor:default}.ann-overlay[data-tool="pen"]{cursor:crosshair}.ann-overlay [data-annid]{cursor:move}.ann-overlay [data-handle]{cursor:nwse-resize}.ann-overlay text{user-select:none}.statusbar{min-height:36px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:12px;color:#9aa3b4;font-size:10px;flex-shrink:0}.statusbar span:first-child{flex:1}.status-dot{display:inline-block;width:7px;height:7px;background:#00bd96;border-radius:50%;margin-right:5px}.drop-mask{position:absolute;inset:0;background:#5147dc1c;z-index:4;border:3px dashed #6c60ed;border-radius:13px;display:flex;justify-content:center;align-items:center;pointer-events:none}.drop-mask div{padding:20px;background:white;border-radius:15px;font-weight:750;box-shadow:var(--shadow)}
.properties-pane{width:285px;flex:0 0 285px;display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--line);min-width:0}.properties-body{overflow:auto;flex:1;padding:0 18px 20px}.inspector-empty{display:flex;align-items:center;flex-direction:column;text-align:center;color:#97a1b1;font-size:12px;gap:12px;padding:62px 12px}.inspector-empty svg{width:45px;height:45px;stroke:#c4c9d7;stroke-width:1.2}.inspector-empty strong{color:#525f72;font-size:13px}.section-heading{font-size:11px;font-weight:750;color:#647189;text-transform:uppercase;letter-spacing:.9px;margin:19px 0 10px}.field{display:flex;flex-direction:column;gap:8px;margin:13px 0}.field label{font-size:11px;color:#64728a;font-weight:650}.field input:not([type="checkbox"]):not([type="color"]),.field select,.field textarea{border:1px solid #dfe3ee;border-radius:9px;padding:9px 10px;color:#29344d;background:#fff;max-width:100%;min-width:0;font-size:12px}.field textarea{resize:vertical;min-height:85px;line-height:1.4}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.range-row{display:flex;align-items:center;gap:12px}.range-row input{width:100%;accent-color:var(--primary)}.range-row small{min-width:28px;color:#61708b;font-weight:700}.swatch-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.swatch{width:25px;height:25px;border-radius:9px;border:2px solid transparent;position:relative}.swatch.is-active{outline:2px solid #5d4cdd;outline-offset:2px}.custom-color{width:28px;height:28px;overflow:hidden;padding:0;border:0;border-radius:50%;background:transparent}.hint{padding:12px;background:#f6f7fc;border-radius:10px;font-size:11px;line-height:1.6;color:#78849b}.tool-note{margin-top:16px;line-height:1.6;color:#8894a7;font-size:11px}.inspector-actions{display:flex;gap:7px;margin-top:20px}.inspector-actions .btn{flex:1}.kbd{border-radius:4px;background:#f0f1f7;border:1px solid #e6e9f0;padding:2px 5px;font-size:10px;color:#8893a8}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#202a3f;color:white;z-index:50;border-radius:12px;padding:13px 17px;box-shadow:0 15px 40px #18213a40;font-size:12px;max-width:min(460px,calc(100vw - 40px));line-height:1.5;pointer-events:none;text-align:center}.toast.warning{background:#7e4912}.toast.error{background:#b63a43}.busy-cover{position:fixed;inset:0;z-index:30;background:#111a30b0;display:grid;place-items:center;padding:20px}.busy-content{background:white;border-radius:19px;padding:27px;display:flex;flex-direction:column;align-items:center;gap:13px;min-width:230px;max-width:320px;text-align:center;box-shadow:0 20px 70px #0003}.busy-content strong{font-size:14px}.busy-content p{font-size:12px;color:#8390a3;margin:0}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid #dedafa;border-top-color:var(--primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-only{display:none!important}
@media (max-width:1230px){.properties-pane{width:248px;flex-basis:248px}.pages-pane{width:185px;flex-basis:185px}.topbar{gap:14px;padding:0 16px}.brand{min-width:150px}.file-heading{padding-left:14px}.btn-label.optional{display:none}}
@media (max-width:970px){.properties-pane{position:fixed;right:0;top:76px;bottom:0;z-index:12;width:min(360px,90vw);transform:translateX(105%);transition:transform .2s;box-shadow:var(--shadow)}.properties-pane.mobile-show{transform:translateX(0)}.pages-pane{position:fixed;left:76px;top:76px;bottom:0;z-index:13;transform:translateX(calc(-100% - 76px));transition:transform .2s;box-shadow:var(--shadow);width:225px;flex-basis:225px}.pages-pane.mobile-show{transform:translateX(0)}.mobile-only{display:inline-flex!important}.shortcut-hint{display:none}.contextbar{padding:0 12px}}
@media (max-width:650px){.topbar{height:61px;padding:0 11px;gap:8px}.brand{min-width:auto;gap:7px}.brand-mark{width:31px;height:33px}.brand strong{font-size:17px}.file-heading{display:none}.top-actions{margin-left:auto;gap:3px}.top-actions .btn{padding:9px}.top-actions .btn-label{display:none}.top-actions .separator{margin:0 1px}.layout{height:calc(100dvh - 61px);min-height:0;display:flex;flex-direction:column}.tool-rail{height:76px;width:100%;flex:0 0 76px;flex-direction:row;overflow:auto;padding:6px 8px;gap:4px;border-right:none;border-bottom:1px solid var(--line);scrollbar-width:none}.tool-rail::-webkit-scrollbar{display:none}.tool-item{min-width:58px;width:58px;min-height:59px;gap:3px}.tool-item .i{width:19px;height:19px}.tool-divider{height:34px;width:1px;flex:none;margin:0 3px}.tool-item.active:before{left:13px;top:-7px;width:33px;height:3px}.main-column{flex:1;min-height:0}.contextbar{height:52px;flex:0 0 52px}.context-actions{gap:1px}.contextbar .btn-icon{min-width:32px;height:32px;padding:7px}.zoom-select{width:67px}.workspace-empty{margin:40px auto 20px}.empty-art{width:115px;height:130px;border-radius:25px;margin-bottom:17px}.workspace-empty h1{font-size:20px}.workspace-empty p{font-size:12px}.sheet-holder{padding:24px 24px 85px}.statusbar{padding:0 12px}.statusbar .hide-on-mobile{display:none}.properties-pane{top:auto;bottom:0;left:0;right:0;width:100%;height:min(73dvh,600px);transform:translateY(105%);border-radius:19px 19px 0 0;overflow:hidden}.properties-pane.mobile-show{transform:translateY(0)}.pages-pane{top:137px;left:0;width:220px;transform:translateX(-105%)}.drop-mask{display:none}}
