@charset "UTF-8";:root{--blue:#1768b6;--deep:#183b61;--ink:#243e59;--muted:#7a8da1;--line:#e0e9f2;--paper:#fff;--bg:#f4f7fb;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:13px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #8fc4ff;outline-offset:3px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.96)}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.topbar{height:82px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--deep);display:flex;gap:13px;align-items:center;font-size:23px;font-weight:750;letter-spacing:2px}.brand small{display:block;font:8px system-ui;letter-spacing:1.8px;margin-top:5px;color:#6a849e}.brand-mark{display:grid;grid-template-columns:repeat(2,10px);gap:4px;background:var(--blue);padding:12px;border-radius:12px;transform:rotate(-4deg)}.brand-mark i{background:#fff;width:10px;height:10px;border-radius:2px}.brand-mark i:last-child{background:#8dc7ff}.header-right{display:flex;align-items:center;gap:19px}.local-badge{font-size:11px;color:#6c849a;display:flex;align-items:center;gap:6px}.local-badge b{width:6px;height:6px;background:#4ca685;border-radius:50%}.primary,.secondary{border-radius:7px;padding:11px 17px;font-weight:600;border:1px solid transparent;white-space:nowrap}.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #1768b615}.secondary{background:#fff;color:#3d5d7c;border-color:#d9e4ef}.small{padding:10px 15px}.text-button{border:0;background:none;color:var(--blue);padding:4px;font-size:12px}main{max-width:1650px;margin:auto;padding:36px 4% 24px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:29px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#6390b7;font-weight:700;margin:0 0 12px}h1{font-size:26px;letter-spacing:1px;margin:0;color:var(--deep);font-weight:700}.intro{font-size:12px;color:#8393a4;margin:12px 0 0}.heading-note{display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:10px;color:#97a7b8;padding-bottom:4px}.heading-note strong{color:var(--blue);font-weight:500}.heading-note i{font-style:normal;color:#bdc9d5}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.controls{display:flex;flex-direction:column;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:19px}h2{font-size:13px;margin:0;color:var(--deep);font-weight:700}.section-title h2>span:not(.muted){font:10px system-ui;color:#7b9ab5;margin-right:9px}.upload-zone{position:relative;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #c6d8e9;background:#f7faff;border-radius:8px;cursor:pointer;overflow:hidden}.upload-zone.dragover{border-color:var(--blue);background:#e6f2ff}.upload-zone img{max-height:130px;max-width:90%;object-fit:contain;image-rendering:pixelated}.upload-zone #uploadPrompt{display:flex;align-items:center;flex-direction:column;gap:11px;color:#7298ba}.upload-zone strong{font-size:12px;font-weight:500;color:#517594}.upload-zone small{font-size:10px;color:#99abba}.change-photo{position:absolute;bottom:7px;right:8px;font-size:10px;padding:4px 8px;border-radius:4px;background:#fffdf0ee;color:#6083a1;box-shadow:0 1px 6px #00264c10}.file-name{text-align:center;color:#90a0b1;font-size:10px;margin:10px 0 18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:600;color:#627b92;margin:0 0 15px}.field input,.field select{width:100%;height:36px;background:#fff;border:1px solid #dce5ee;border-radius:6px;padding:0 9px;color:#3b5974;font-size:11px;font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.range-label{font-size:11px;display:flex;justify-content:space-between;align-items:center;margin:8px 0 10px;color:#627b92}.range-label output{color:var(--blue);font-size:10px;font-weight:600}input[type=range]{appearance:none;display:block;width:100%;height:4px;border-radius:4px;background:#dfeaf5;margin:15px 0 14px;accent-color:var(--blue)}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#fff;border:3px solid var(--blue);border-radius:50%;box-shadow:0 1px 4px #1768b620;cursor:pointer}input[type=range]:disabled{opacity:.45}.field-note{font-size:10px;line-height:1.7;color:#9aa9b7;margin:0}.range-ticks{display:flex;justify-content:space-between;color:#99a9b9;font-size:9px;margin-bottom:22px}.chip{font:9px system-ui;letter-spacing:.5px;color:#608db6;background:#eef5fc;padding:4px 6px;border-radius:4px}.checkbox{display:flex;align-items:center;gap:7px;font-size:10px;color:#768da2;margin:15px 0}.checkbox input{accent-color:var(--blue);margin:0}.generate{width:100%;margin-top:7px;padding:13px 10px;letter-spacing:.3px}.generate span{margin-right:7px}.status{font-size:10px;line-height:1.65;color:#92a3b4;text-align:center;margin:11px 0 0;min-height:16px}.tip{border:1px solid #e0eaf4;background:#edf4fc;border-radius:10px;padding:16px 20px;color:#8199b0}.tip>span{font-size:11px;color:#5d85a8;font-weight:600}.tip p{font-size:11px;line-height:1.9;margin:7px 0 0}.studio{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 6px 25px #173b6104}.studio-toolbar{height:63px;padding:12px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.tab-group{display:flex;background:#f0f4f8;border-radius:6px;padding:3px;gap:2px}.tab-group button{border:0;background:none;color:#8295a8;padding:8px 12px;border-radius:4px;font-size:11px}.tab-group button.active{background:#fff;color:var(--blue);box-shadow:0 2px 6px #183b610a;font-weight:600}.toolbar-actions{display:flex;align-items:center;gap:4px}.toolbar-actions select{border:0;border-right:1px solid #e0e8f0;padding:6px 10px;background:#fff;font-size:11px;color:#6a859e;margin-right:8px}.icon-button,.zoom-label{background:none;border:0;color:#6b8298;padding:5px 7px;font-size:16px}.zoom-label{font-size:10px;min-width:40px}.paper-stage{position:relative;background-color:#eaf0f6;background-image:radial-gradient(#ccd9e5 .7px,transparent .7px);background-size:12px 12px;height:690px;overflow:auto;padding:30px 26px;scrollbar-color:#bdcddd #e9f0f6;overscroll-behavior:contain}.paper-wrap{margin:0 auto;box-shadow:0 6px 25px #345b7b18;background:#fff;width:100%;min-width:200px;line-height:0}.paper-wrap svg{display:block;width:100%;height:auto}#editorCanvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.canvas-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid #e4ebf2;color:#8ca0b3;font-size:10px}.canvas-footer span:first-child{color:#577895}.canvas-footer i{font-style:normal;padding:0 7px}.palette-panel{border-top:1px solid #e8eef4;padding:20px 22px}.palette-panel .section-title{margin-bottom:13px}.muted{font-size:10px;color:#96a6b6;font-weight:400}.palette-list{display:flex;gap:8px;flex-wrap:wrap}.color-chip{display:flex;align-items:center;gap:6px;border:1px solid #e0e8ef;border-radius:6px;background:#fff;padding:6px 9px;font-size:10px;color:#5d7891}.color-chip.active{border-color:#2c7fc8;background:#edf5fd;box-shadow:0 0 0 1px #2c7fc833}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid #00000015}.color-chip small{font-size:9px;color:#99a9b7}.export-bar{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e4ecf4;background:#fbfdff}.export-bar strong{font-size:12px;color:#426b90}.export-bar p{font-size:10px;color:#9aacbd;margin:6px 0 0}.export-actions{display:flex;gap:8px;flex-wrap:wrap}.export-actions button{font-size:11px;padding:10px 12px}.export-actions .primary{padding:10px 17px}.export-actions .primary span{margin-left:12px}.warnings{font-size:10px;color:#91a3b4;border-top:1px solid #e9eff5;padding:12px 22px;line-height:1.9}.warnings summary{cursor:pointer;color:#6986a0}.warnings ul{padding-left:16px}.site-footer{max-width:1650px;margin:auto;padding:15px 4% 25px;display:flex;justify-content:space-between;font-size:10px;color:#9aaaba}.site-footer a{color:inherit}.site-footer i{font-style:normal;margin:0 8px}.editor-tools{padding:10px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.editor-tools .secondary{font-size:10px;padding:6px 9px}.editor-tools>span{font-size:10px;color:#7190ab}.editor-tools .checkbox{margin:0}.loading-overlay{position:absolute;inset:0;background:#edf5f9ed;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;color:#386b97;line-height:1.8}.loading-overlay p{font-size:11px;color:#8aa2b6}.spinner{width:30px;height:30px;border:3px solid #cddfed;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:20px}@keyframes spin{to{transform:rotate(360deg)}}dialog{width:min(590px,92vw);padding:35px;border:0;border-radius:16px;color:var(--ink);box-shadow:0 15px 100px #183b6144}dialog::backdrop{background:#183b6166;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin-bottom:22px}dialog ol{padding-left:19px;font-size:13px;line-height:2}dialog li{margin:10px 0}dialog p:not(.eyebrow){color:#7e91a3;line-height:1.9;font-size:12px}.close-dialog:not(.primary){position:absolute;right:16px;top:10px;font-size:24px;border:0;background:none;color:#7990a5}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#183b61;color:#fff;box-shadow:0 8px 30px #10294233;padding:13px 24px;border-radius:9px;z-index:30;font-size:12px;max-width:90vw;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.paper-stage{height:820px}.workspace{grid-template-columns:300px minmax(0,1fr)}.panel{padding:22px}}@media(max-width:1100px){.heading-note{display:none}.header-right{gap:10px}.local-badge{display:none}.workspace{grid-template-columns:250px minmax(0,1fr);gap:16px}.panel{padding:16px}.export-bar{align-items:start;flex-direction:column}.paper-stage{height:650px;padding:22px 16px}.studio-toolbar{padding:12px}.toolbar-actions select{max-width:110px}.tab-group button{padding:8px}.canvas-footer{font-size:9px;padding:12px}}@media(max-width:760px){.topbar{height:70px;padding:0 5%}.brand{font-size:18px;gap:9px}.brand small{font-size:6px}.brand-mark{padding:9px;grid-template-columns:repeat(2,8px);gap:3px}.brand-mark i{width:8px;height:8px}.header-right .text-button,.header-right #saveProjectBtn{display:none}.header-right .secondary{font-size:10px;padding:8px 10px}main{padding:25px 4% 14px}.page-heading{margin-bottom:20px}h1{font-size:21px;line-height:1.5}.eyebrow{font-size:8px}.intro{font-size:10px;line-height:1.8}.workspace{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.panel{padding:13px}.section-title{gap:5px;margin-bottom:14px}h2{font-size:11px}.section-title h2>span:not(.muted){margin-right:5px;font-size:8px}.chip{font-size:7px}.upload-zone{height:130px}.upload-zone img{max-height:116px}.field-row{grid-template-columns:1fr;gap:0}.field{font-size:10px;margin-bottom:12px}.field select{font-size:10px;padding:0 5px}.range-label{font-size:10px}.range-label output{font-size:9px}.checkbox{font-size:9px;line-height:1.7;align-items:start}.tip{display:none}.studio-toolbar{height:auto;min-height:60px;gap:6px;padding:10px}.tab-group button{font-size:10px;padding:7px}.toolbar-actions select{font-size:9px;max-width:96px;padding:6px 4px;margin-right:0}.zoom-label{min-width:27px;padding:5px 2px}.icon-button{font-size:13px;padding:5px}.paper-stage{height:570px;padding:16px 10px}.canvas-footer{font-size:8px;gap:6px}.palette-panel{padding:16px 12px}.color-chip{padding:5px 7px;font-size:9px}.palette-list{gap:6px}.export-bar{padding:16px 12px}.export-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.export-actions button{font-size:10px}.site-footer{font-size:8px;gap:10px;line-height:1.8}.warnings{padding:10px 12px}.editor-tools{padding:8px 10px;gap:6px}.source-panel .field-note{font-size:9px}.upload-zone strong{font-size:10px;text-align:center}.upload-zone small{font-size:8px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
