:root{--panel-bg: #f5f5f7;--panel-border: #e0e0e2;--canvas-bg: #ececef;--text: #2a2d3c;--text-muted: #8a8a92;--accent: #3a6ff7;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:#fff}.size-select{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px}.size-select h1{font-size:20px;font-weight:500;margin:0}.size-grid{display:grid;grid-template-columns:repeat(2,180px);gap:16px}.size-card{border:1px solid var(--panel-border);border-radius:12px;padding:20px;cursor:pointer;background:#fff;text-align:left;transition:border-color .15s}.size-card:hover{border-color:var(--accent)}.size-card .ratio{font-size:15px;font-weight:500}.size-card .dim{font-size:12px;color:var(--text-muted);margin-top:4px}.editor{display:flex;height:100vh}.panel{width:280px;flex-shrink:0;background:var(--panel-bg);border-right:1px solid var(--panel-border);overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.panel .props{background:#eaf0ff;border-radius:8px;padding:10px 12px;font-size:12px;color:var(--accent)}.section{background:#fff;border:1px solid var(--panel-border);border-radius:8px}.section>summary{padding:10px 12px;font-size:13px;cursor:pointer;list-style:none}.section>summary::-webkit-details-marker{display:none}.section .body{padding:0 12px 12px;font-size:12px;color:var(--text-muted)}.export-btn{margin-top:auto;padding:12px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;cursor:pointer}.canvas-area{flex:1;background:var(--canvas-bg);display:flex;align-items:center;justify-content:center;position:relative}.canvas-label{position:absolute;top:12px;left:14px;font-size:11px;color:var(--text-muted)}.props-title{font-size:11px;opacity:.8}.props-name{font-size:13px;font-weight:500;margin:4px 0 6px}.props-grid{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:12px}.props-grid span:nth-child(2n){text-align:right}.props-actions{display:flex;gap:6px;margin-top:8px}.props-actions button,.row button{font-size:11px;padding:4px 8px;border:1px solid var(--panel-border);border-radius:6px;background:#fff;cursor:pointer}.props-actions button:hover,.row button:hover{border-color:var(--accent)}.props-empty{font-size:12px;opacity:.7;margin-top:4px}.image-panel{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:8px}.row .label{font-size:12px;color:var(--text);min-width:90px}.hint{font-size:11px;color:var(--text-muted);line-height:1.5}button:disabled{opacity:.4;cursor:default}input[type=color]{width:36px;height:28px;padding:0;border:1px solid var(--panel-border);border-radius:6px;background:#fff;cursor:pointer}
