:root{--paper:#fff;--desk:#edf2f5;--ink:#18334a;--muted:#647789;--teal:#087f81;--line:#d9e3ea;--warn:#b75a31;--part1:#087f81;--part2:#4168a5;--part3:#b07b2d;--part4:#816b9d;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--ink);background:var(--desk);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #74cacc;outline-offset:3px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}p{line-height:1.8}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;color:var(--teal)}.muted{color:var(--muted)}.brand{display:inline-flex;align-items:center;gap:10px}.brand img{width:35px;height:35px}.brand>span{font-family:Georgia,"Times New Roman",serif;font-style:italic;letter-spacing:-2px;font-size:36px;line-height:1}.brand-dot{color:var(--teal)}.primary,.secondary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;font-weight:600;min-height:42px;padding:10px 17px;transition:background .15s}.primary{background:var(--teal);color:#fff}.primary:hover{background:#066a6c}.primary>span:last-child{font-size:20px}.secondary{background:#e5f4f2;color:#086769;border:1px solid #c8e6e1}.secondary:hover{background:#d8eeeb}.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.ghost:hover{background:#f8fafb}.small{min-height:34px;font-size:12px;padding:7px 12px}.text-button{background:none;color:var(--muted);padding:5px 0}.text-button:hover{color:var(--teal)}.danger-text{color:#a34635}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{position:relative;min-height:760px;background:#e3ecef;padding:48px clamp(32px,6vw,100px);overflow:hidden}.story-copy{margin-top:86px;position:relative;z-index:2}.story-copy h1{font-size:clamp(34px,4vw,58px);font-weight:600;line-height:1.35;letter-spacing:-.045em;margin:20px 0}.story-copy p{color:#567081;font-size:16px}.story-foot{position:absolute;bottom:40px;left:clamp(32px,6vw,100px);font-size:12px;color:var(--muted)}.paper-demo{position:relative;width:330px;height:320px;margin:45px 0 10px auto;transform:rotate(-4deg)}.demo-sheet{position:absolute;background:#fff;width:220px;height:280px;box-shadow:0 15px 35px #18334a12;border:1px solid #d6e1e5;padding:28px}.demo-sheet.back{left:6px;top:20px;transform:rotate(-10deg)}.demo-sheet.front{right:4px;top:0;display:flex;flex-direction:column;align-items:center}.demo-sheet small{font:9px Consolas,monospace;letter-spacing:.15em;color:#93a3af}.demo-sheet strong{font-family:"SimSun","Songti SC",serif;font-size:25px;margin-top:38px;color:var(--ink)}.demo-sheet span{font-size:10px;margin-top:12px;color:var(--muted)}.demo-rule{width:100%;height:1px;background:#dce7eb;margin:25px 0 7px}.demo-sheet i{width:100%;height:4px;background:#e7edf0;margin:6px 0}.demo-sheet i:nth-of-type(2){width:80%}.demo-sheet b{font:11px Consolas,monospace;position:absolute;bottom:18px}.demo-seam{position:absolute;left:0;right:-10px;top:190px;border-top:2px dashed var(--teal);transform:rotate(4deg);z-index:4}.demo-seam span{display:inline-block;background:var(--teal);color:white;font-size:10px;padding:5px 9px;border-radius:4px;float:right;margin-top:-13px}.login-panel{background:#fff;display:flex;align-items:center;justify-content:center;position:relative;padding:60px 40px}.login-form-wrap{max-width:350px;width:100%}.login-form-wrap h2{font-size:30px;margin:14px 0 9px;letter-spacing:-.04em}.login-form-wrap form{margin-top:32px}.login-form-wrap label{display:block;margin:20px 0;font-size:13px;font-weight:600}.login-form-wrap input{display:block;width:100%;height:48px;background:#f8fafb;border:1px solid var(--line);border-radius:7px;margin-top:9px;padding:0 13px;color:var(--ink)}.login-form-wrap input::placeholder{font-weight:400;color:#98a6b1}.password-field{position:relative;display:block}.password-field input{padding-right:58px}.password-field button{position:absolute;right:13px;top:15px;font-size:12px}.large{width:100%;min-height:48px;justify-content:space-between}.form-error{font-size:12px;color:var(--warn);min-height:22px;margin:5px 0 15px}.login-note{font-size:11px;margin-top:22px;color:var(--muted)}.panel-footer{position:absolute;bottom:40px;color:#8b9eaa;font:12px Consolas,monospace}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{height:78px;display:flex;align-items:center;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);gap:22px}.app-header .brand>span{font-size:33px}.app-header .brand img{width:31px;height:31px}.header-divider{height:24px;border-left:1px solid var(--line)}.header-title{font-size:13px;white-space:nowrap}.tool-tabs{align-self:stretch;display:flex;align-items:stretch;margin-left:35px}.tool-tabs>span{display:flex;align-items:center;font-size:13px;color:var(--teal);border-bottom:2px solid var(--teal);padding:0 14px}.header-account{margin-left:auto;display:flex;gap:10px;align-items:center}.private-badge{font-size:11px;color:#648276;margin-right:8px;white-space:nowrap}.private-badge i{display:inline-block;width:6px;height:6px;background:#539584;border-radius:50%;margin-right:6px}.app-shell main{flex:1;padding:0 30px;max-width:1800px;width:100%;margin:0 auto}.help-box{background:#f9fcfc;border-bottom:1px solid var(--line);padding:20px 36px}.help-box strong{font-size:13px}.help-box p{color:var(--muted);font-size:12px;max-width:1100px;margin-top:7px}.empty-workspace{max-width:880px;margin:55px auto 40px}.empty-top{text-align:center}.empty-top h1{font-size:36px;font-weight:600;letter-spacing:-.06em;margin:16px 0 13px}.empty-top p{color:var(--muted)}.upload-card{background:#fff;border:1.5px dashed #b4cad0;border-radius:14px;min-height:340px;margin:35px auto 25px;max-width:660px;display:flex;align-items:center;flex-direction:column;justify-content:center;cursor:pointer;padding:30px;transition:border-color .2s,background .2s}.upload-card:hover,.upload-card.dragover{border-color:var(--teal);background:#f9fffd}.upload-icon{position:relative;width:49px;height:60px;color:#93a7b2}.upload-icon svg{width:42px;height:49px}.upload-icon span{position:absolute;left:-6px;top:20px;color:white;background:var(--teal);padding:5px 7px;border-radius:3px;font:700 15px Georgia,serif}.upload-card h2{font-size:20px;font-weight:600;margin-top:12px}.upload-card p{font-size:13px;color:var(--muted);margin:9px 0 21px}.upload-cta{pointer-events:none}.upload-card small{margin-top:18px;color:#80939f;font-size:11px}.empty-notes{display:flex;justify-content:center;gap:40px;color:var(--muted);font-size:12px}.empty-notes b{color:var(--ink);font-size:12px;margin-right:7px}.recent-block{margin:40px auto 0;max-width:660px}.recent-title{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--muted)}.recent-item{width:100%;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 8px;text-align:left;background:transparent;color:var(--ink)}.recent-item:hover{background:#e6ecef}.recent-icon{background:#dceae9;color:var(--teal);border-radius:5px;padding:6px 9px;font:700 15px Georgia,serif}.recent-item>div{flex:1;min-width:0}.recent-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.recent-item small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.recent-state{font-size:11px;color:var(--muted)}.app-footer{display:flex;justify-content:space-between;font-size:10px;color:#8b9aa4;padding:22px 36px}.document-workspace{margin:24px 0 0}.document-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:90px;margin-bottom:22px}.back-button{font-size:11px;margin-bottom:8px}.document-heading h1{font-size:19px;line-height:1.5;font-weight:600;max-width:900px;overflow-wrap:anywhere}.document-heading p{font-size:11px;color:var(--muted);margin-top:7px}.dot-separator{margin:0 9px}.document-actions{display:flex;gap:9px;flex-shrink:0}.document-actions button{font-size:12px;background:#fff}.editor{display:grid;grid-template-columns:148px minmax(310px,1fr) 330px;border:1px solid #d7e2e8;border-radius:10px;background:#fff;overflow:hidden;min-height:670px}.panel-heading{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--line)}.panel-heading strong{font-size:13px;font-weight:600}.panel-heading>span{font-size:11px;color:var(--muted)}.pages-panel{background:#f8fafb;border-right:1px solid var(--line)}.thumbnail-list{padding:14px 16px;height:660px;overflow-y:auto;scrollbar-width:thin}.thumbnail{display:block;width:100%;position:relative;padding:0;margin-bottom:16px;background:none;border:2px solid transparent;border-radius:4px}.thumbnail img{display:block;width:100%;box-shadow:0 2px 6px #18334a12;background:#fff;min-height:130px;border:1px solid #e6edf1}.thumbnail span{display:block;font:11px Consolas,monospace;color:var(--muted);padding:6px}.thumbnail.selected{border-color:var(--teal)}.thumbnail.selected span{background:#e4f3f1;color:var(--teal)}.thumbnail.cut-marker:before{content:"";position:absolute;left:-10px;top:0;width:5px;height:16px;background:var(--teal);border-radius:2px}.preview-panel{display:flex;flex-direction:column;min-width:0;background:#e8eef2}.preview-toolbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#f8fafb;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.preview-toolbar>div{display:flex;align-items:center;gap:5px}.icon-button{width:30px;height:30px;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:5px}.page-jump{display:flex;align-items:center;gap:5px;font:11px Consolas,monospace}.page-jump input{width:42px;text-align:center;padding:5px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);appearance:textfield}.page-jump input::-webkit-inner-spin-button{appearance:none}.preview-scroll{height:556px;overflow:auto;padding:24px 28px 18px;scrollbar-width:thin;text-align:center}.preview-scroll>img{display:block;width:min(100%,680px);height:auto;margin:0 auto;background:#fff;box-shadow:0 5px 22px #18334a18;min-height:300px}.preview-caption{font-size:10px;color:var(--muted);margin:13px auto 0;max-width:680px}.page-map-wrap{padding:18px 22px 15px;border-top:1px solid #d5e0e7;margin-top:auto;background:#f8fafb}.page-map-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px}.page-map-heading span{font-size:10px;color:var(--muted)}.page-map{display:flex;height:24px;gap:1px;margin-top:13px}.map-page{flex:1;min-width:0;padding:0;background:#dbe4ea;position:relative;border-radius:1px}.map-page.in-range{background:var(--range-color);opacity:.75}.map-page.current{opacity:1;box-shadow:0 0 0 2px var(--ink);z-index:1}.map-page.safe-cut:before{content:"";position:absolute;left:-1px;top:-5px;height:5px;border-left:2px solid var(--teal)}.map-legend{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:9px}.legend-cut{display:inline-block;height:8px;margin-right:5px;border-left:2px solid var(--teal)}.split-panel{border-left:1px solid var(--line);min-width:0}.split-panel-body{padding:17px}.panel-intro{font-size:11px;color:var(--muted);margin-bottom:15px}.cut-here{padding:13px 12px;background:#f1f7f7;border:1px solid #d6eae8;border-radius:7px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.cut-here label{font-size:11px;white-space:nowrap}.cut-here input{width:41px;height:30px;border:1px solid #c6dedb;background:#fff;border-radius:4px;text-align:center;color:var(--ink);margin:0 2px}.cut-here p{font-size:10px;line-height:1.6;color:var(--muted);width:100%;overflow-wrap:anywhere}.range-list{margin-top:18px}.range-card{border:1px solid var(--line);border-left:3px solid var(--range-color);border-radius:7px;padding:12px;margin-top:10px}.range-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.range-badge{color:var(--range-color);font-size:11px;font-weight:600}.remove-range{color:#99a7b0;background:none;font-size:18px;line-height:1;padding:0 4px}.range-card label{font-size:10px;color:var(--muted);display:block}.range-card input{border:1px solid var(--line);border-radius:5px;background:#fff;height:33px;padding:0 9px;width:100%;color:var(--ink);font-size:12px;margin-top:5px}.range-pages{display:flex;gap:10px;align-items:flex-end}.range-pages label{flex:1;min-width:0}.range-pages>span{color:#a4b4be;padding-bottom:10px}.range-card>label{margin-top:11px}.add-range{background:none;border:1px dashed #c4d3dc;border-radius:6px;width:100%;min-height:35px;color:var(--muted);font-size:11px;margin-top:12px}.add-range:hover{color:var(--teal);border-color:var(--teal)}.draft-state{font-size:10px;color:#81968f;margin-top:10px;min-height:18px}.range-error{font-size:11px;color:#a35133;line-height:1.7;margin-top:6px}.document-warning{margin:12px 0;background:#fff4e8;padding:10px;border-radius:5px;font-size:11px;color:#92633c;line-height:1.7}.split-submit{margin-top:16px;width:100%;justify-content:space-between;font-size:12px}.split-note{color:#8a9aa4;font-size:10px;margin-top:9px;line-height:1.7}.job-status{max-width:660px;padding:21px 24px;margin:35px auto;border:1px solid #cbe3df;background:#f6fcfa;border-radius:10px}.job-status>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:13px}.job-status>div:first-child span{font:12px Consolas,monospace;color:var(--muted)}.progress-track{height:4px;background:#dcebe6;margin-top:17px;border-radius:3px;overflow:hidden}.progress-track i{display:block;background:var(--teal);height:100%;width:0;transition:width .4s}.job-status p{font-size:11px;color:var(--muted);margin-top:12px}.job-status.failed{background:#fff7ed;border-color:#edd7bd}.job-status.failed strong{color:#9d593d}.job-status.failed button{margin-top:12px}.downloads{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.downloads h3{font-size:12px;font-weight:600;color:var(--teal);margin-bottom:10px}.download-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid #edf2f5;color:var(--ink);font-size:11px}.download-link>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-link small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.download-link:hover{color:var(--teal)}.download-all{display:flex;justify-content:center;margin-top:14px;font-size:11px}.toast{position:fixed;z-index:100;left:50%;bottom:30px;transform:translateX(-50%);background:#18334a;color:white;border-radius:8px;padding:12px 18px;max-width:min(90vw,650px);box-shadow:0 5px 22px #18334a30;font-size:12px;line-height:1.7}.toast.error{background:#8f4837}
@media(min-width:1500px){.editor{grid-template-columns:166px minmax(360px,1fr) 370px}.preview-scroll{height:650px}.thumbnail-list{height:756px}.range-card{padding:14px}.split-panel-body{padding:20px}}
@media(max-width:1050px){.app-header{padding:0 22px;gap:14px}.tool-tabs{margin-left:10px}.app-shell main{padding:0 18px}.editor{grid-template-columns:112px minmax(280px,1fr) 290px}.thumbnail-list{padding:12px 10px}.panel-heading{padding:0 12px}.split-panel-body{padding:13px}.preview-scroll{padding:18px 16px}.document-heading h1{font-size:17px}.document-actions{flex-direction:column;gap:6px}.private-badge{display:none}}
@media(max-width:780px){.login-shell{display:block}.login-story{min-height:auto;padding:27px 28px 34px}.story-copy{margin-top:30px}.story-copy h1{font-size:36px;margin:12px 0}.story-copy p{font-size:13px}.paper-demo,.story-foot{display:none}.login-panel{padding:38px 28px 65px}.panel-footer{bottom:21px}.login-form-wrap{max-width:440px}.login-form-wrap h2{font-size:25px}.app-header{height:65px;padding:0 15px;gap:10px}.header-title,.header-divider,.tool-tabs{display:none}.header-account{gap:6px}.app-header .brand>span{font-size:30px}.app-header .brand img{width:28px;height:28px}.app-header .small{font-size:11px;padding:6px 9px}.app-shell main{padding:0 12px}.empty-workspace{margin:35px auto 25px}.empty-top h1{font-size:27px}.empty-top p{font-size:12px}.upload-card{min-height:300px;margin:25px auto 20px;padding:25px 15px}.upload-card h2{font-size:18px}.empty-notes{gap:10px;justify-content:space-between;font-size:10px}.empty-notes b{display:block;margin-bottom:5px}.app-footer{padding:22px 15px;gap:14px;font-size:9px}.document-heading{align-items:flex-start;margin-bottom:15px;gap:12px}.document-heading h1{font-size:14px}.document-actions button{font-size:10px;padding:7px 9px;min-height:32px}.document-heading p{font-size:10px}.editor{display:flex;flex-wrap:wrap;min-height:0}.pages-panel{width:100%;border-right:0;border-bottom:1px solid var(--line)}.pages-panel .panel-heading{height:36px}.thumbnail-list{display:flex;gap:9px;height:112px;padding:9px 12px;overflow-y:hidden;overflow-x:auto}.thumbnail{width:56px;flex-shrink:0;margin:0;height:94px}.thumbnail img{min-height:0;height:70px;object-fit:contain;background:#fff}.thumbnail span{padding:3px;font-size:9px}.thumbnail.cut-marker:before{left:-5px;width:3px;height:10px}.preview-panel{width:100%}.preview-toolbar{height:45px;padding:0 12px}.preview-scroll{height:440px;padding:15px 17px}.page-map-wrap{padding:14px}.page-map{height:19px}.preview-caption{font-size:9px}.split-panel{border-left:0;border-top:1px solid var(--line);width:100%}.split-panel .panel-heading{height:45px}.split-panel-body{padding:16px}.range-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.range-card{margin:0;padding:10px}.range-card input{font-size:11px;padding:0 6px}.cut-here{padding:12px}.range-pages{gap:5px}.job-status{padding:17px;margin:20px 0}.help-box{padding:16px}.help-box p{font-size:11px}.page-map-heading span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.preview-scroll>img{width:auto;max-width:100%;height:calc(100% - 28px);min-height:0;object-fit:contain}.preview-scroll.zoomed>img{width:min(100%,680px);height:auto;object-fit:fill}
