:root{font-family:"Yu Gothic UI",system-ui,sans-serif;color:#211b33;background:#f4f0fb;color-scheme:light}*{box-sizing:border-box}body{margin:0}main{max-width:1080px;margin:auto;padding:24px}header{background:#21183b;color:#fff;padding:30px 36px;border-radius:24px;margin-bottom:20px}header p{color:#e4d9fd}header span{font-size:.82rem;background:#403260;padding:6px 12px;border-radius:20px}.eyebrow{letter-spacing:.18em;font-weight:700;font-size:.78rem}h1{font-size:clamp(1.65rem,4vw,3rem);margin:4px 0}h2{font-size:1.12rem;margin:0 0 12px}p{line-height:1.55}.workspace{display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,1.5fr);gap:16px}.setup,.preview,.order{background:white;border-radius:18px;padding:18px;box-shadow:0 4px 18px #2417390c}.setup p,.order p{font-size:.9rem}.setup h2:not(:first-child){margin-top:22px}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:10px}input,select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #c9bddc;border-radius:8px;font:inherit}.pair{display:flex;gap:12px}.pair label{flex:1}.stage{min-height:280px;background:#241b3e;display:grid;place-items:center;border-radius:12px;position:relative;overflow:hidden;color:#e6dcff}canvas{display:block;max-width:100%;max-height:440px;object-fit:contain;cursor:crosshair}.stage p{position:absolute;pointer-events:none}.toolbar,.order{display:flex;gap:12px;align-items:center;justify-content:space-between}.toolbar{margin-top:12px}.order{margin-top:16px}.order p{margin:4px 0}button,a#download{border:0;padding:11px 15px;border-radius:10px;background:#563592;color:white;font:inherit;font-weight:700;cursor:pointer}button:disabled{background:#e8e0f1;color:#514662;cursor:default}a#download:not([hidden]){display:block;margin-top:8px;text-align:center}#status{min-height:24px;color:#40276b}@media(max-width:690px){main{padding:12px}.workspace{grid-template-columns:1fr}.order{align-items:stretch;flex-direction:column}header{padding:20px}}
header{padding:13px 22px;margin-bottom:14px}header h1{font-size:clamp(1.35rem,3vw,2rem)}header p{margin:4px 0}header span{display:inline-block;margin-top:4px;padding:3px 9px}
#part[data-part="mouth"]{border:2px solid #f14f93;background:#fff0f6}
#part[data-part="left"]{border:2px solid #21acd0;background:#e5f8ff}
#part[data-part="right"]{border:2px solid #a36de7;background:#f3eaff}
#editing-part,.zoom-hint{margin:4px 0 8px;font-size:.85rem}
.range-labels{display:flex;justify-content:space-between;font-size:.75rem}
.zoom-controls{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}
.zoom-controls label{margin:0}.zoom-controls input{grid-column:1;grid-row:2}.zoom-controls button{grid-column:2;grid-row:1/span 2}
#editor-viewport{display:block;max-height:410px;overflow:auto;min-height:0;overscroll-behavior:contain}
#editor-viewport canvas{max-width:none;max-height:none;height:auto;margin-inline:auto}
#empty{text-align:center;position:static;margin:0;padding:12px}
@media(max-width:690px){header{padding:11px 16px}}
.preview{min-width:0}#editor-viewport{width:100%;max-width:100%}
