:root{color:#172b36;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f6f7;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}button:disabled,select:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #76b6ad}a{color:inherit;text-decoration:none}h2,p{margin:0}.topbar{background:#fff;border-bottom:1px solid #dde4e7;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex}.brand{align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.brand img{width:28px;height:28px}.local-label{color:#71828a;font-size:12px}.workspace{max-width:1920px;margin:0 auto;padding:24px 28px}.controls{grid-template-columns:minmax(0,1fr) 180px 150px;align-items:start;gap:20px;display:grid}.upload-area{min-width:0}.drop-zone{background:#fff;border:1px dashed #a9bfc5;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;height:62px;display:flex}.drop-zone:hover,.drop-zone.dragging{background:#ecf5f2;border-color:#548e81}.drop-zone strong{font-weight:500}.drop-zone span{color:#788990;font-size:12px}.file-input{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-info{color:#88969e;align-items:center;gap:12px;margin-top:10px;font-size:11px;display:flex}.file-name{white-space:nowrap;text-overflow:ellipsis;color:#536a75;min-width:0;overflow:hidden}.file-info>span:nth-child(2){white-space:nowrap}.clear-button{color:#637e8a;white-space:nowrap;background:0 0;border:0;padding:0;font-size:11px}.clear-button:hover{color:#2d675b}.size-control{color:#71828a;flex-direction:column;gap:7px;font-size:11px;display:flex}.size-control select{color:#415963;background:#fff;border:1px solid #dce3e7;border-radius:6px;width:100%;height:38px;padding:0 10px;font-size:12px}.download-button{color:#fff;background:#2d675b;border:1px solid #2d675b;border-radius:6px;align-self:start;height:38px;margin-top:24px;font-weight:500}.download-button:hover:enabled{background:#22594e}.process-status{color:#71828a;margin-top:10px;font-size:11px}.error-message{color:#aa4a3a;overflow-wrap:anywhere;margin-top:10px;font-size:12px}.preview-toolbar{justify-content:flex-end;margin:16px 0 12px;display:flex}.zoom-controls{background:#fff;border:1px solid #dce4e7;border-radius:6px;gap:2px;padding:3px;display:flex}.zoom-controls button{color:#71828a;background:0 0;border:0;border-radius:3px;padding:5px 10px;font-size:11px}.zoom-controls button.active{color:#406f62;background:#eaf1ef}.preview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.preview-panel{background:#fff;border:1px solid #dce4e7;border-radius:8px;min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid #e4eaed;justify-content:space-between;align-items:center;gap:8px;height:44px;padding:0 16px;display:flex}.panel-heading h2{font-size:12px;font-weight:500}.panel-heading>span{color:#88969e;font-size:10px}.canvas-stage{scrollbar-width:thin;scrollbar-color:#c5d1d6 transparent;background:#f8fafb;height:calc(100vh - 310px);min-height:380px;max-height:1200px;padding:20px;position:relative;overflow:auto}.canvas-stage.fit-mode{justify-content:center;align-items:center;display:flex}.canvas-stage canvas{flex-shrink:0;display:block}.empty-state{color:#99a7ad;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}@media (width<=720px){.topbar{height:54px;padding:0 16px}.brand{font-size:16px}.workspace{padding:16px}.controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.upload-area{grid-column:1/-1}.drop-zone{height:72px}.file-info{gap:8px}.size-control{gap:6px}.download-button{margin-top:23px}.preview-toolbar{margin-top:16px}.preview-grid{grid-template-columns:minmax(0,1fr);gap:16px}.canvas-stage{height:360px;min-height:360px}}
