:root{--paper: #f3efe6;--ink: #1d1a16;--blue: #1f4e89;--line: #d9d1c3;--soft: #5e574c;--card: #fffdf8;color:var(--ink);background:var(--paper);font-family:Songti SC,STSong,PingFang SC,Palatino,Palatino Linotype,Times New Roman,serif}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--blue)}.boot-shell{min-height:100vh;display:grid;place-items:center}.boot-card{width:min(440px,calc(100% - 32px))}.boot-card h1{font-size:2rem;font-weight:600;margin:0 0 8px}.boot-card p{margin:0;color:var(--soft);line-height:1.5}.page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:22px 0 48px}.top{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}.mark{font-size:1.7rem;font-weight:600;margin:0;letter-spacing:.01em}.top a,.lang{margin-left:auto;background:none;border:0;padding:0;text-decoration:none}.lang{margin-left:0}.lead{max-width:42rem;margin:0 0 22px;line-height:1.55}.workspace{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:28px;align-items:start}.controls,.preview{background:var(--card);border:1px solid var(--line);padding:16px}.controls{display:grid;gap:12px}label.field{display:grid;gap:6px;font-size:.92rem}.row{display:flex;gap:10px;align-items:center}.row label{display:flex;gap:8px;align-items:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}input[type=number],input[type=text],select{width:100%;background:var(--paper);border:1px solid var(--line);padding:7px 8px}input[type=range]{width:100%;accent-color:var(--blue)}.drop{display:grid;place-items:center;min-height:148px;aspect-ratio:295 / 413;border:1px dashed var(--blue);background:var(--paper);text-align:center;padding:12px}.drop strong{display:block;margin-bottom:6px}.drop span{color:var(--soft);font-size:.88rem;line-height:1.4}.drop input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatches button{width:28px;height:28px;border:1px solid var(--ink);padding:0;background:var(--sw, #fff)}.swatches button[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:2px}.swatches button.clear{background:var(--paper);font-size:14px;line-height:1}.positions{display:grid;grid-template-columns:repeat(3,28px);gap:4px}.positions button{width:28px;height:28px;border:1px solid var(--line);background:var(--paper);padding:0}.positions button[aria-pressed=true]{background:var(--blue);border-color:var(--blue)}.generate,.downloads button,.ghost{border:1px solid var(--blue);background:var(--blue);color:#fff;padding:9px 12px}.ghost{background:transparent;color:var(--blue)}.generate:disabled{opacity:.55;cursor:progress}.downloads{display:flex;flex-wrap:wrap;gap:8px}.downloads[hidden]{display:none}.status{margin:0;min-height:1.4em;line-height:1.45;color:var(--soft)}.status.error{color:#8d2a22}.note{margin:18px 0 0;color:var(--soft);font-size:.9rem;line-height:1.45}.preview{display:grid;gap:16px;justify-items:start}.preview canvas{max-width:100%;height:auto;background:#e7e1d6}.preview .sheet{max-width:min(100%,520px)}.file-name{margin:0;color:var(--soft);font-size:.9rem;word-break:break-all}@media(max-width:800px){.workspace{grid-template-columns:1fr}.top{flex-wrap:wrap}}
