@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,Noto Sans KR,sans-serif;color:#222633;background:#f5f6fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #746eff;outline-offset:2px}#root{min-height:100vh}.app-shell{height:100vh;min-height:660px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:66px;flex:none;background:#fff;border-bottom:1px solid #e9ebf0;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:9px;font-family:Manrope,Noto Sans KR,sans-serif;font-size:20px;font-weight:800;letter-spacing:-1.2px;color:#242535}.brand-mark{width:30px;height:30px;border-radius:9px;background:#5b59e8;color:#fff;display:grid;place-items:center;box-shadow:0 5px 12px #5b59e833}.brand-dot{color:#635ff0}.brand-sub{font-family:Manrope,sans-serif;font-size:9px;font-weight:800;letter-spacing:1.4px;color:#a2a7b6;margin-left:8px;margin-top:4px}.top-center{position:absolute;left:50%;transform:translate(-50%);font-size:12px;color:#888e9e;font-weight:600;display:flex;align-items:center;gap:7px}.status-dot,.status-led{width:6px;height:6px;background:#51c5a3;border-radius:50%;display:inline-block}.top-actions{display:flex;align-items:center;gap:18px}.local-badge{font-size:11px;color:#a0a6b3}.top-save{height:35px;background:#242637;color:#fff;border:0;border-radius:8px;padding:0 15px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;transition:.2s}.top-save:hover:not(:disabled){background:#4e4bd6;transform:translateY(-1px)}.ribbon{background:#fff;flex:none;border-bottom:1px solid #e9ebf0;box-shadow:0 5px 20px #202a4410;z-index:4}.tabs{height:44px;display:flex;align-items:stretch;padding:0 30px;gap:24px;border-bottom:1px solid #f0f1f4}.tab{border:0;background:transparent;color:#969baa;font-size:13px;font-weight:700;padding:0 5px;position:relative}.tab:hover{color:#4f4ccf}.tab.selected{color:#5552db}.tab.selected:after{content:"";position:absolute;height:3px;background:#6661ee;bottom:0;left:0;right:0;border-radius:4px 4px 0 0}.tool-row{height:69px;display:flex;align-items:center;gap:8px;padding:0 26px}.ribbon-tool{border:1px solid transparent;background:transparent;border-radius:9px;display:flex;align-items:center;gap:9px;padding:10px 13px;white-space:nowrap;font-size:12px;font-weight:700;color:#555c6b;transition:.18s}.ribbon-tool:hover:not(:disabled),.ribbon-tool.chosen{background:#f0efff;color:#514bd8}.ribbon-tool.primary{margin-left:5px;color:#fff;background:#5d59e8;box-shadow:0 5px 12px #5d59e826}.ribbon-tool.primary:hover:not(:disabled){background:#4945d3}.tool-spacer{flex:1}.zoom-tools{display:flex;align-items:center;gap:2px;color:#717789;font-size:11px;font-weight:800}.zoom-tools span{min-width:40px;text-align:center}.icon-button{border:0;background:transparent;color:#858b9a;border-radius:8px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:5px 8px;font-size:12px;font-weight:700}.icon-button:hover:not(:disabled),.icon-button.active{color:#5752dc;background:#f1efff}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:246px minmax(0,1fr) 296px}.left-panel,.right-panel{background:#fff;min-height:0;display:flex;flex-direction:column}.left-panel{border-right:1px solid #e9ebf0}.right-panel{border-left:1px solid #e9ebf0}.panel-heading{height:91px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:19px 20px 14px 24px;border-bottom:1px solid #f1f2f6}.eyebrow{font-family:Manrope,sans-serif;font-weight:800;font-size:9px;letter-spacing:1.8px;color:#9aa0b0}.panel-heading h2{font-size:16px;letter-spacing:-.4px;margin:5px 0 0}.panel-heading h2 span{font-size:11px;color:#6a65e8;background:#f0efff;border-radius:5px;padding:2px 6px;vertical-align:2px;margin-left:5px}.panel-heading .icon-button{background:#f5f5fb;color:#6260c9}.thumbnail-list{flex:1;overflow:auto;padding:17px 12px 20px}.thumbnail-item{width:100%;position:relative;border:1px solid transparent;background:transparent;border-radius:11px;display:flex;align-items:center;gap:11px;padding:9px 10px;text-align:left;margin-bottom:5px;transition:.17s}.thumbnail-item:hover{background:#f6f6fb}.thumbnail-item.current{background:#f1f0ff;border-color:#dcd9ff}.thumbnail-item.dragging{opacity:.45}.grip{color:#c2c5ce;flex:none}.thumb-paper{width:69px;height:88px;flex:none;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e3e5ea;box-shadow:0 2px 5px #1f294410;overflow:hidden}.thumb-paper canvas{width:69px!important;height:auto!important;max-height:88px;object-fit:contain}.thumb-meta{display:flex;flex-direction:column;gap:5px;min-width:0}.thumb-meta strong{font-family:Manrope,sans-serif;font-size:15px;color:#5453d9}.thumb-meta span{font-size:10px;color:#9298a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:87px}.empty-thumbs{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b2b6c3;text-align:center}.empty-thumbs svg{color:#b8b5ed}.empty-thumbs p{font-size:12px;font-weight:700;color:#8e94a1;margin:16px 0 4px}.empty-thumbs span{font-size:11px;line-height:1.6}.add-file-bottom{height:42px;flex:none;margin:12px 17px 18px;border:1px dashed #c7c5ec;border-radius:8px;color:#6260ca;background:#fafaff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px}.add-file-bottom:hover{background:#f1efff}.stage{position:relative;min-width:0;min-height:0;background:#f4f5f8;display:flex;flex-direction:column}.stage-bar{height:54px;flex:none;display:flex;justify-content:space-between;align-items:center;padding:0 30px;border-bottom:1px solid #e9ebf0;color:#8f95a3;font-size:11px;background:#f8f9fb}.stage-bar>div{display:flex;gap:10px;align-items:center;min-width:0}.stage-file{font-weight:700;color:#4e5465;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.stage-divider{color:#c7cbd3}.stage-hint{font-size:11px;color:#aaaeb9}.page-scroll{flex:1;overflow:auto;padding:32px 24px 45px}.page-mat{display:flex;flex-direction:column;align-items:center;width:max-content;min-width:100%;margin:auto}.page-wrap{position:relative;background:#fff;box-shadow:0 13px 45px #303a5a25,0 1px 4px #303a5a13;flex:none;overflow:hidden}.main-canvas{display:block;width:100%!important;height:100%!important;object-fit:fill}.annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.text-annotation,.highlight-box,.text-region{position:absolute}.text-annotation{white-space:pre-wrap;line-height:1.35;z-index:2;pointer-events:auto;cursor:pointer;outline:1px dashed transparent}.text-annotation:hover,.text-annotation.annotation-active{outline-color:#625cef}.text-annotation.replacement{background:#fff}.highlight-box{background:#ffd63d63;z-index:1;pointer-events:auto;cursor:pointer}.highlight-box:hover{outline:1px solid #e7aa1e}.text-region{z-index:3;border:1px solid #625cef77;background:#655efa1e;cursor:text;pointer-events:auto;padding:0}.text-region:hover{background:#625cfb40;border-color:#625cef}.stage.text .page-wrap{cursor:text}.stage.highlight .page-wrap{cursor:crosshair}.page-number{margin-top:17px;border-radius:6px;background:#e5e7ee;color:#73798a;font-size:10px;font-weight:800;padding:4px 12px}.welcome{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:24px}.welcome:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#e6e3ff,#f4f5f800 68%);right:-180px;top:-230px}.welcome-orbit{position:absolute;border:1px solid #e2e0f3;border-radius:50%;width:460px;height:460px;right:-150px;top:-190px;opacity:.75}.orbit-two{width:650px;height:650px;right:-245px;top:-285px}.welcome-card{position:relative;z-index:1;width:min(100%,610px);background:#fff;border:1px solid #e7e8f0;border-radius:21px;padding:48px 56px 38px;box-shadow:0 25px 70px #35335a13}.welcome-icon{width:64px;height:64px;background:#eeedff;color:#5f5ae4;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:26px;position:relative}.welcome-icon span{position:absolute;width:27px;height:27px;right:-7px;top:-8px;background:#6460e9;color:#fff;border:3px solid white;border-radius:9px;display:grid;place-items:center}.welcome-card .eyebrow{color:#6e69e8}.welcome-card h1{font-family:Manrope,Noto Sans KR,sans-serif;font-size:clamp(32px,3.4vw,43px);letter-spacing:-2.3px;line-height:1.28;margin:15px 0 17px;color:#282b3d}.welcome-card h1 em{font-style:normal;color:#615ce9}.welcome-card p{font-size:12px;line-height:1.9;color:#8c93a2;margin:0 0 27px}.welcome-actions{display:flex;gap:9px}.welcome-actions button{display:flex;align-items:center;justify-content:center;gap:9px;height:43px;border-radius:9px;font-size:12px;font-weight:800;padding:0 16px}.welcome-primary{background:#5d59e8;color:#fff;border:1px solid #5d59e8;box-shadow:0 7px 18px #5d59e82b}.welcome-primary:hover{background:#4e4acf}.welcome-secondary{background:#fff;color:#626879;border:1px solid #e1e3e9}.welcome-secondary:hover{background:#f7f7fd}.welcome-features{border-top:1px solid #eff0f4;display:flex;gap:17px;flex-wrap:wrap;margin-top:34px;padding-top:20px}.welcome-features span{display:flex;align-items:center;gap:5px;color:#969baa;font-size:10px;font-weight:600}.welcome-features svg{color:#6c68e7}.side-tabs{height:56px;display:flex;align-items:stretch;border-bottom:1px solid #eff0f4;flex:none;padding:0 22px;gap:20px}.side-tabs button{background:none;border:0;color:#a2a7b4;font-size:12px;font-weight:700;position:relative;padding:0 2px}.side-tabs button.active{color:#5c58df}.side-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#6863ed}.side-content{overflow:auto;padding:5px 22px 24px;flex:1}.side-section{padding:24px 0;border-bottom:1px solid #eef0f4}.side-section.last{border-bottom:0}.side-section h3{font-size:14px;color:#35394a;letter-spacing:-.3px;margin:8px 0}.side-section p{font-size:11px;line-height:1.7;color:#9aa0ae;margin:0 0 16px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.action-grid .icon-button{height:37px;border:1px solid #e9eaf1;background:#fff;color:#676d7e;justify-content:flex-start;padding:0 10px;font-size:11px}.action-grid .icon-button:hover:not(:disabled){background:#f3f2ff;border-color:#d9d6ff;color:#5f5adf}.action-grid .icon-button svg{width:15px;height:15px}.range-control{display:flex;gap:5px}.range-control input{min-width:0;flex:1;height:37px;border:1px solid #e4e6ed;border-radius:7px;padding:0 11px;font-size:11px;color:#34394a;background:#fff}.range-control input::placeholder{color:#bdc0ca}.range-control button{width:39px;border-radius:7px;border:0;background:#fceeee;color:#dc6868;display:grid;place-items:center}.range-control button:hover:not(:disabled){background:#ffe0e0}.range-section small{display:block;color:#b3b8c4;font-size:9px;line-height:1.5;margin-top:9px}.secondary-wide,.ocr-button{width:100%;height:39px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:11px;font-weight:700}.secondary-wide{background:#f7f7fb;border:1px solid #e7e8ef;color:#686c81}.secondary-wide:hover:not(:disabled){background:#f0efff;color:#5e5bd6}.ocr-button{background:#eeedff;border:1px solid #dedbff;color:#5d58de;justify-content:flex-start;padding:0 11px}.ocr-button svg:last-child{margin-left:auto}.ocr-button:hover:not(:disabled){background:#e5e3ff}.region-count{margin:14px 0 11px;font-size:10px;color:#a1a6b2}.region-count strong{color:#5f5adb}.search-wrap{height:37px;display:flex;align-items:center;gap:8px;border:1px solid #e7e8ef;border-radius:8px;padding:0 10px;color:#adb2bf}.search-wrap input{border:0;outline:0!important;width:100%;font-size:11px;color:#414659}.search-wrap input::placeholder{color:#bbc0ca}.annotation-editor .editor-title{display:flex;justify-content:space-between;align-items:flex-start}.annotation-editor .editor-title button{border:0;background:#fff1f1;color:#d27171;width:29px;height:29px;border-radius:7px;display:grid;place-items:center}.annotation-editor label{display:block;font-size:10px;color:#868c9c;font-weight:700;margin:11px 0 7px}.annotation-editor textarea{width:100%;resize:vertical;border:1px solid #e4e6ed;border-radius:8px;padding:10px;color:#34394a;font-size:12px;line-height:1.6}.editor-controls{display:flex;gap:10px}.editor-controls label{flex:1}.editor-controls input[type=number]{width:100%;height:34px;border:1px solid #e4e6ed;border-radius:7px;padding:0 8px;margin-top:6px}.editor-controls input[type=color]{width:100%;height:34px;border:1px solid #e4e6ed;border-radius:7px;padding:3px;margin-top:6px;background:#fff}.annotation-editor .editor-note{margin-top:16px;margin-bottom:0;font-size:10px}.edit-tip{background:#fafaff;border:1px solid #eeeefe;border-radius:12px;margin-top:20px;padding:18px}.tip-icon{color:#6b67e3}.edit-tip h4{font-size:11px;margin:12px 0 7px;color:#54596a}.edit-tip p{margin:0;font-size:10px}.statusbar{height:30px;flex:none;background:#fff;border-top:1px solid #e9ebf0;display:flex;align-items:center;justify-content:space-between;padding:0 19px;color:#a3a8b5;font-size:10px}.statusbar>span:first-child{display:flex;align-items:center;gap:7px}.footer-sep{padding:0 7px;color:#d1d4dc}.toast{position:fixed;bottom:52px;left:50%;transform:translate(-50%);background:#2c3044;color:#fff;box-shadow:0 12px 35px #23243844;border-radius:9px;padding:11px 12px;min-width:220px;max-width:min(450px,90vw);z-index:50;display:flex;align-items:center;gap:9px;font-size:12px}.toast>svg{color:#86e0b9;flex:none}.toast button{margin-left:auto;background:none;border:0;color:#d2d5e0;padding:0;display:grid;place-items:center}.busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#f8f8fe88;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;gap:13px;color:#42465f;font-size:13px;font-weight:700}.spinner{width:25px;height:25px;border:3px solid #d9d7ff;border-top-color:#5b56e1;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.workspace{grid-template-columns:205px minmax(0,1fr) 268px}.topbar{padding:0 18px}.tool-row{padding:0 15px}.ribbon-tool{padding:9px}.left-panel .panel-heading{padding-left:17px}.stage-hint{display:none}.welcome-card{padding:38px}}@media(max-width:850px){.workspace{grid-template-columns:160px minmax(0,1fr)}.right-panel{display:none}.left-panel .panel-heading{padding:10px}.thumbnail-item{padding:5px}.thumbnail-item .grip{display:none}.thumb-paper{width:53px;height:72px}.thumb-paper canvas{width:53px!important}.thumb-meta span{max-width:65px}.tool-row{overflow-x:auto}.top-center,.local-badge{display:none}.welcome-card{max-width:560px}.stage-bar{padding:0 17px}}@media(max-width:600px){.app-shell{min-height:560px}.topbar{height:56px}.brand-sub{display:none}.ribbon .tabs{padding:0 14px}.tool-row{height:56px}.ribbon-tool span{display:none}.ribbon-tool{padding:9px}.workspace{grid-template-columns:1fr}.left-panel{display:none}.welcome-card{padding:30px 24px}.welcome-card h1{font-size:32px}.welcome-card p br{display:none}.welcome-features{gap:10px}.stage-bar{height:44px}.page-scroll{padding:15px 10px 35px}.statusbar{font-size:9px}.statusbar>span:last-child{display:none}}.text-annotation.replacement{padding:0 8px 4px 0;white-space:pre}.text-region:not(:hover){background:transparent}.original-preview{display:flex;align-items:baseline;gap:8px;margin:12px 0 4px;color:#9aa0ae;font-size:10px}.original-preview strong{color:#5b6070;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
