:root{--paper:#FFFFFF;--wash:#EFF5FB;--ink:#172B41;--muted:#465B70;--line:#B8C8D8;--blue:#145BC1;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-h3:20px;--text-h2:24px;--text-title:40px;--text-display:56px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:var(--text-base);color:var(--ink);background:var(--paper);line-height:1.65;font-synthesis:none;font-variant-numeric:tabular-nums;accent-color:var(--blue);caret-color:var(--blue);scrollbar-color:var(--line) var(--paper)}*{box-sizing:border-box}body{margin:0}::selection{background:var(--blue);color:var(--paper)}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}a,button,summary{min-width:44px;min-height:44px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select{width:100%;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:12px;color:var(--ink);min-height:48px}input:hover,select:hover{border-color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}label{display:block;font-weight:600;font-size:var(--text-base)}label input,label select{margin-top:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35;text-wrap:balance}h1{font-size:var(--text-title);font-weight:700;margin-bottom:16px}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{color:var(--muted)}header,main,footer{max-width:1280px;margin:auto}.site-header{display:flex;align-items:center;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--line);gap:8px 24px}.brand{font-size:var(--text-h3);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;color:var(--ink);white-space:nowrap}.brand-mark{fill:var(--blue);stroke:var(--paper);stroke-width:2;flex:none}.site-header nav{display:flex;gap:16px;align-items:center}.site-header nav a{display:inline-flex;align-items:center;font-size:var(--text-sm)}.languages{margin-left:auto}.languages [aria-current]{color:var(--ink);font-weight:700;text-decoration:none}.hero{padding:32px 24px}.hero>p{font-size:var(--text-lg);max-width:48em}.promises{display:flex;gap:8px 24px;font-size:var(--text-sm);flex-wrap:wrap;color:var(--muted)}.workspace{margin:0 16px;display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.settings{padding:24px;min-width:0}.step-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step-heading h2{font-size:var(--text-h3);margin:0}.step{border:1px solid var(--blue);color:var(--blue);border-radius:4px;min-width:32px;height:32px;display:grid;place-items:center;font-size:var(--text-sm)}.upload{padding:24px 16px;background:var(--wash);border:1px dashed var(--blue);border-radius:4px;cursor:pointer}.upload:hover{border-style:solid}.upload:focus-within{outline:3px solid var(--blue);outline-offset:4px}.upload input.sr-only{min-height:0;padding:0;border:0}.upload strong{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.upload strong{display:block;overflow-wrap:anywhere}.upload span{display:block;font-size:var(--text-sm);color:var(--muted);font-weight:400;margin:8px 0 16px}.upload input{padding:0;font-size:var(--text-sm);background:transparent;border:0}.upload input::file-selector-button{border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);padding:12px 8px;min-height:44px;font:inherit;cursor:pointer}.small{font-size:var(--text-sm);line-height:1.7}.settings>.small{margin:12px 0 32px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.paper-pair{grid-template-columns:1fr}fieldset{padding:0;border:0;margin:0;min-width:0}.dimension-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px}.dimension-heading h3{font-size:var(--text-base);margin:0}.unit-label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm)}.unit-label select{width:72px;margin:0;padding:8px}.primary{width:100%;background:var(--blue);color:var(--paper);border:2px solid var(--blue);border-radius:4px;padding:16px;font-size:var(--text-base);font-weight:600;min-height:56px}.primary:hover:enabled{text-decoration:underline;text-underline-offset:4px}.export-note{text-align:center;margin:16px 0 0!important}.error{font-size:var(--text-base);border:1px solid var(--ink);background:var(--wash);color:var(--ink);padding:16px;border-radius:4px;margin:16px 0;overflow-wrap:anywhere}.text-button{border:0;background:transparent;text-decoration:underline;color:var(--blue);font-size:var(--text-sm);padding:12px 0}.preview-panel{background:var(--wash);padding:24px;display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--line);border-radius:0 0 8px 8px}.preview-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:8px 16px}.preview-header h2{font-size:var(--text-h2);margin-bottom:8px}.badge{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.empty{flex:1;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty h3{font-size:var(--text-h3);margin-bottom:8px}.empty p{font-size:var(--text-base)}.paper-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.paper-stack span{width:48px;height:64px;background:var(--paper);border:1px solid var(--blue)}.preview-tip{margin-top:auto;border-top:1px solid var(--line);padding-top:24px;font-size:var(--text-base)}.preview-tip p{margin:8px 0}.preview-tip a{display:inline-flex;align-items:center;font-size:var(--text-base)}.canvas-wrap{background:var(--paper);border:1px solid var(--line);padding:16px;display:flex;justify-content:center;margin:16px 0}canvas{display:block;max-width:100%;height:auto}#preview{max-height:480px;object-fit:contain}.summary{font-size:var(--text-base);margin-bottom:8px}.legend{font-size:var(--text-sm);display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0 24px}.legend i{display:inline-block;width:16px;height:12px;background:var(--blue);opacity:.3;border:1px solid var(--blue)}.preview-panel details{font-size:var(--text-base);margin-bottom:24px}.preview-panel details summary{cursor:pointer;padding:12px 0;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.preview-panel details label{margin:8px 0 16px;max-width:280px}#tile-preview{max-height:400px;object-fit:contain;border:1px solid var(--line);background:var(--paper)}.how{padding:40px 24px}.how-grid{display:grid;grid-template-columns:1fr;gap:32px}.how h2{font-size:var(--text-h2);margin:8px 0 16px}.how a{display:inline-flex;align-items:center}footer{padding:32px 24px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:start}footer p{font-size:var(--text-sm);margin:8px 0}footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;max-width:480px}footer nav a{display:inline-flex;align-items:center;font-size:var(--text-sm)}.article{max-width:44em;padding:48px 24px 64px;min-height:65vh}.article h1{font-size:var(--text-title);margin-bottom:24px}.article h2{margin:40px 0 16px}.article .lead{font-size:var(--text-lg)}.article li{margin-bottom:16px;color:var(--muted)}.article>a{display:inline-flex;align-items:center}.article ol{padding-left:24px}.article p{overflow-wrap:anywhere}.error-code{font-size:var(--text-display);color:var(--blue);font-weight:700;margin:0}.home-link{display:inline-flex;align-items:center;padding:8px 0}.not-found section{margin-top:32px;padding-top:8px;border-top:1px solid var(--line)}:lang(zh-Hans){line-height:1.75}:lang(zh-Hans) h1,:lang(zh-Hans) h2,:lang(zh-Hans) h3{line-height:1.35}.skip,.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip:focus{clip-path:none;top:8px;left:8px;width:auto;height:auto;padding:12px;background:var(--paper);z-index:5}[hidden]{display:none!important}@media(min-width:651px){.site-header,.hero,footer{padding-left:32px;padding-right:32px}.hero{padding-top:40px;padding-bottom:40px}.workspace{margin:0 32px}.settings,.preview-panel{padding:32px}.how{padding:48px 32px}.how-grid{grid-template-columns:repeat(3,1fr);gap:32px}.paper-pair{grid-template-columns:1fr 1fr}}@media(min-width:901px){.site-header{flex-wrap:nowrap}.site-header>nav:first-of-type{margin-left:auto}.languages{margin-left:16px}.hero h1{font-size:var(--text-display)}.workspace{grid-template-columns:400px minmax(0,1fr)}.settings{padding:32px}.preview-panel{border-top:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0}.paper-pair{grid-template-columns:1fr}.preview-header{flex-direction:column}.empty{min-height:440px}}@media(max-width:650px){.site-header{gap:4px 16px;padding:12px 24px}.site-header>.brand{width:100%}.site-header nav{gap:16px}.languages{margin-left:0}.hero h1{font-size:var(--text-title)}.workspace{margin:0 16px}.settings,.preview-panel{padding:24px 16px}.dimension-heading{gap:8px}.pair{gap:12px}.article{padding-top:32px}}
