:root{color:#1f211d;background:#f7f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.4;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:minmax(280px,340px) minmax(380px,1fr) minmax(240px,300px);min-height:100svh;background:linear-gradient(90deg,rgba(31,33,29,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(31,33,29,.035) 1px,transparent 1px),#f7f7f4;background-size:28px 28px}.inspector,.readout{display:flex;flex-direction:column;gap:24px;min-width:0;padding:24px;background:#fafaf7db;backdrop-filter:blur(18px)}.inspector{border-right:1px solid #dedbd1}.readout{border-left:1px solid #dedbd1}.app-title{display:flex;align-items:center;gap:12px;min-height:48px}.logo-mark{display:grid;width:34px;height:34px;place-items:center;color:#f7f7f4;background:#1f211d;border-radius:8px}.app-title p{margin:0;font-size:16px;font-weight:700;letter-spacing:0}.app-title span,.hint,.export-section p,.drop-copy small,.readout dt{color:#6b665c;font-size:12px}.control-section,.export-section{display:grid;gap:12px}.section-heading,.readout-header,.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.icon-button{display:grid;width:30px;height:30px;place-items:center;color:#4b4a44;background:transparent;border:1px solid #d8d5cb;border-radius:8px}.icon-button:hover{background:#efeee8}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;background:#eceae2;border:1px solid #d9d6cd;border-radius:9px}.segmented button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:0 8px;color:#555148;background:transparent;border:0;border-radius:7px;transition:background .14s ease,color .14s ease,transform .14s ease}.segmented button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented button:hover{color:#1f211d;transform:translateY(-1px)}.segmented button.active{color:#11130f;background:#fff;box-shadow:0 1px 2px #1f211d17}.dimension-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.number-field{position:relative;display:grid;gap:6px}.number-field span,.color-row span{color:#4f4b43;font-size:12px;font-weight:650}.number-field input{width:100%;min-width:0;height:42px;padding:0 36px 0 11px;color:#1f211d;background:#fff;border:1px solid #d8d5cb;border-radius:8px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.number-field input:focus,.drop-zone:focus-within{border-color:#2f6f68;box-shadow:0 0 0 3px #2f6f6829}.number-field em{position:absolute;right:11px;bottom:11px;color:#8a857a;font-size:11px;font-style:normal}.number-field.disabled{opacity:.46}.hint{margin:0}.drop-zone{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:56px;padding:8px;background:#ffffffa8;border:1px dashed #c9c4b7;border-radius:8px;transition:border-color .14s ease,background .14s ease,transform .14s ease}.drop-zone:hover{background:#fff;border-color:#2f6f68;transform:translateY(-1px)}.drop-zone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.drop-preview{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;color:#6b665c;background:#efeee8;border-radius:8px}.drop-preview img{width:100%;height:100%;object-fit:cover}.drop-copy{display:grid;min-width:0}.drop-copy strong,.drop-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-row{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 0 0 1px}.color-row input{width:60px;height:34px;padding:3px;background:#fff;border:1px solid #d8d5cb;border-radius:8px}.primary-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;color:#fff;background:#1f211d;border:0;border-radius:8px;transition:background .14s ease,transform .14s ease}.primary-action:hover{background:#2f6f68;transform:translateY(-1px)}.export-section p{min-height:18px;margin:0}.workspace{display:grid;min-width:0;min-height:100svh;padding:24px}.preview-shell{position:relative;display:grid;grid-template-rows:auto minmax(420px,1fr);min-height:calc(100svh - 48px);overflow:hidden;background:#f7f7f4;border:1px solid #d8d5cb;border-radius:8px}.preview-toolbar{min-height:46px;padding:0 14px;color:#5e5a51;background:#fafaf7e0;border-bottom:1px solid #dfdcd4;font-size:12px;font-weight:650}.preview-canvas{position:relative;min-height:420px}.preview-canvas canvas{display:block;width:100%;height:100%}.readout-header{min-height:34px;padding-bottom:10px;border-bottom:1px solid #dedbd1}.readout-header span,.readout-header strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.readout-header strong{color:#2f6f68}.readout dl{display:grid;gap:18px;margin:0}.readout dl div{display:grid;gap:4px}.readout dt,.readout dd{margin:0}.readout dd{color:#24251f;font-size:13px}@media(max-width:1120px){.app-shell{grid-template-columns:320px minmax(0,1fr)}.readout{grid-column:1 / -1;display:grid;grid-template-columns:180px minmax(0,1fr);border-top:1px solid #dedbd1;border-left:0}.readout dl{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:820px){.app-shell{display:flex;flex-direction:column}.inspector,.readout,.workspace{padding:16px}.inspector,.readout{border:0;border-bottom:1px solid #dedbd1}.workspace{min-height:540px}.preview-shell{min-height:520px}.readout{display:flex}.readout dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.segmented,.dimension-grid,.readout dl{grid-template-columns:1fr}}
