*{box-sizing:border-box}:root{color:#111;font-synthesis:none;text-rendering:geometricprecision;--pasteboard-padding:clamp(64px, 10vw, 160px);--control-radius:6px;--compact-radius:5px;background:#d7d8d0;font-family:Pretendard,Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif}body{margin:0;overflow:hidden}button,input,textarea{font:inherit;min-width:0}button{color:#222;cursor:pointer;text-transform:uppercase;border-radius:var(--control-radius);background:#fff;border:1px solid #cfcfca;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:34px;font-size:11px;font-weight:750;display:inline-flex}button:hover{border-color:#111}button:disabled{color:#aaa;cursor:not-allowed;background:#eeeeea;border-color:#ddddda}button:disabled:hover{border-color:#ddddda}.app-shell{background:#dfe0da;grid-template-columns:284px 1fr;gap:12px;min-width:0;height:100vh;padding:14px 0 14px 14px;display:grid}.panel{background:#f4f4ef;border:1px solid #c7c8c0;border-radius:8px;flex-direction:column;gap:6px;min-width:0;max-height:calc(100vh - 28px);display:flex;overflow:hidden auto;box-shadow:0 12px 34px #1c1e1824}.brand{border-bottom:1px solid #deded8;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px 10px;display:flex}.brand h1{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:700}.status{color:#10894c;border-radius:var(--compact-radius);text-align:center;letter-spacing:.04em;background:#edf8f1;border:1px solid #10894c4d;padding:4px 7px;font-size:9px;font-weight:850;transition:background .2s,color .2s,border-color .2s}.status.is-ready{color:#0d76c9;background:#e8f4ff;border-color:#0d99ff59}.section{border-bottom:1px solid #deded8;flex-direction:column;gap:2px;min-width:0;padding:12px 15px 14px;display:flex}.section:first-of-type{padding-top:14px}.section:last-of-type{border-bottom:0}.section-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.section-title h2{color:#444;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11px;font-weight:700}.section-title span{color:#999;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:10px;font-weight:600;overflow:hidden}.layer-list{flex-direction:column;gap:2px;max-height:180px;margin-bottom:8px;display:flex;overflow:hidden auto}.layer-row{border-radius:var(--compact-radius);grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:4px;min-width:0;min-height:28px;display:grid}.layer-select{text-align:left;text-transform:none;border-radius:var(--compact-radius);grid-template-columns:auto 1fr auto;justify-content:stretch;gap:6px;min-height:28px;padding:0 8px;font-size:11px;display:grid}.layer-select span{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.layer-select small{color:#999;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.layer-row.is-active .layer-select,.layer-row.is-active .layer-lock{color:#0d76c9;background:#eaf5ff;border-color:#0d99ff}.layer-lock{min-height:28px;padding:0}input:focus,.layer-editor:focus{border-color:#0d99ff;outline:none}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0;margin-top:4px;display:grid}.icon-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;display:grid}.icon-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.align-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:5px;display:grid}.artboard-controls{grid-template-columns:minmax(0,1fr) 78px;gap:6px;min-width:0;display:grid}.select-field{color:#666;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:10px;font-weight:700;display:flex}.select-field select{border-radius:var(--compact-radius);color:#111;background:#fff;border:1px solid #d8d8d2;width:100%;min-height:32px;padding:0 8px;font-size:11px;font-weight:650}.select-field select:focus{border-color:#0d99ff;outline:none}.orientation-button{align-self:end;min-height:32px;padding:0 8px}.view-controls{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px;display:grid}.view-controls .icon-button{min-height:32px}.zoom-readout{min-height:32px;padding:0 8px}.solid{color:#fff;background:#111;border-color:#111}.render-button{color:#888;letter-spacing:.04em;background:#f0f0eb;border-color:#c0c0bb;width:100%;min-height:36px;margin-top:4px;font-size:11px;font-weight:850;transition:background .15s,border-color .15s,color .15s}.render-button.is-ready{color:#0d76c9;background:#e8f4ff;border-color:#0d99ff}.render-button.is-ready:hover{background:#d9edff;border-color:#0d76c9}.prop-group{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.prop-group:last-of-type{margin-bottom:0}.prop-group-label{color:#999;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px;font-size:10px;font-weight:700}.scrub-grid-2{grid-template-columns:1fr 1fr;gap:4px;display:grid}.scrub-grid-1{grid-template-columns:1fr;display:grid}.scrub-field{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:var(--compact-radius);background:#f8f8f5;border:1px solid #d8d8d2;align-items:center;gap:5px;height:28px;padding:0 7px;transition:border-color .1s,background .1s;display:flex}html.is-scrubbing,html.is-scrubbing *{cursor:ew-resize!important}.scrub-field:hover{background:#f2f2ee;border-color:#b0b0aa}.scrub-field--editing{cursor:text;background:#fff!important;border-color:#0d99ff!important}.scrub-label{color:#999;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0;min-width:20px;font-size:10px;font-weight:700}.scrub-value{text-align:right;font-variant-numeric:tabular-nums;color:#111;flex:1;font-size:11px;font-weight:500}.scrub-unit{color:#777;text-align:right;min-width:8px;font-size:10px;font-weight:700}.scrub-edit{text-align:right;font-variant-numeric:tabular-nums;color:#111;-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;width:0;padding:0;font-size:11px;font-weight:500}.scrub-edit::-webkit-outer-spin-button{-webkit-appearance:none}.scrub-edit::-webkit-inner-spin-button{-webkit-appearance:none}.font-picker{border-radius:var(--control-radius);background:#f8f8f5;border:1px solid #d8d8d2;flex-direction:column;gap:4px;padding:4px;display:flex}.font-picker-group{flex-direction:column;gap:2px;display:flex}.font-group-label{color:#bbb;text-transform:uppercase;letter-spacing:.06em;padding:2px 3px 1px;font-family:Pretendard,Inter,-apple-system,sans-serif;font-size:9px;font-weight:700}.font-grid{grid-template-columns:1fr 1fr;gap:2px;display:grid}.font-item{color:#222;text-transform:none;letter-spacing:0;text-align:left;border-radius:var(--compact-radius);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:flex-start;height:26px;min-height:0;padding:0 6px;font-size:11.5px;font-weight:400;overflow:hidden}.font-item:hover{background:#ececea;border-color:#c8c8c2}.font-item.is-active{color:#0d76c9;background:#eaf5ff;border-color:#0d99ff}.align-color-row{align-items:center;gap:5px;margin-bottom:2px;display:flex}.align-group{flex:1;gap:4px;display:flex}.align-group .icon-button{flex:1;min-height:28px}.color-chip{align-items:center;display:flex}.color-chip input[type=color]{border-radius:var(--compact-radius);cursor:pointer;background:#f8f8f5;border:1px solid #d8d8d2;width:28px;height:28px;padding:2px}.color-chip input[type=color]:hover{border-color:#b0b0aa}.color-field{color:#666;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;margin-bottom:4px;font-size:10px;font-weight:700;display:flex}.artboard-controls+.color-field{margin-top:8px}.color-field input[type=color]{cursor:pointer;border-radius:var(--compact-radius);background:#fff;border:1px solid #d8d8d2;width:100%;min-height:28px;padding:0}.field{color:#666;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;margin-bottom:4px;font-size:10px;font-weight:700;display:flex}.field span{justify-content:space-between;display:flex}.field b{color:#111;font-variant-numeric:tabular-nums}input[type=range]{appearance:none;background:#c0c0ba;width:100%;height:1px;margin:5px 0}input[type=range]::-webkit-slider-thumb{appearance:none;background:#111;border:0;border-radius:50%;width:11px;height:11px}input[type=range]::-moz-range-thumb{background:#111;border:0;border-radius:50%;width:11px;height:11px}.icon-button{min-height:28px;padding:0}.icon-button.is-active{color:#0d76c9;background:#eaf5ff;border-color:#0d99ff}.swatch{cursor:pointer;border-radius:var(--control-radius);background:#fff;border:1px solid #cfcfca;width:100%;min-height:34px;padding:0}.check-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:2px;display:grid}.check-row label{color:#333;align-items:center;gap:5px;min-height:28px;font-size:10px;font-weight:600;display:flex}.export-bar{background:linear-gradient(#f4f4ef00,#f4f4ef 20%);border-top:1px solid #deded8;border-radius:0 0 8px 8px;grid-template-columns:1fr 1fr;gap:6px;min-width:0;margin-top:auto;padding:10px 15px 15px;display:grid;position:sticky;bottom:0}.workspace{background:#dfe0da;justify-content:center;align-items:center;min-width:0;padding:14px 28px 14px 0;display:flex;position:relative;overflow:hidden}.workspace.is-space-panning{cursor:grab}.workspace.is-panning,.workspace.is-panning *{cursor:grabbing!important}.history-feedback{z-index:6;color:#222;pointer-events:none;background:#f8f8f5f0;border:1px solid #1111111f;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 12px;font-size:11px;font-weight:750;display:inline-flex;position:absolute;top:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #1c1e1824}.stage-frame{width:max-content;min-width:0;padding:var(--pasteboard-padding);will-change:transform}.fallback-note{color:#70520a;border-radius:var(--compact-radius);background:#fff7db;border:1px solid #d2b568;margin-bottom:10px;padding:8px 10px;font-size:11px;font-weight:750}.poster-stage{background:#fff;max-width:none;position:relative;overflow:visible;box-shadow:0 18px 55px #0000002e}.poster-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.interaction-layer{z-index:2;transform-origin:0 0;position:absolute;top:0;left:0;overflow:visible}.layer-hitbox{color:#0d99ff;cursor:move;text-transform:none;background:0 0;border:1px solid #0000;border-radius:0;min-height:12px;padding:0;position:absolute}.layer-hitbox:hover{border-style:dashed;border-color:#0d99ff80}.layer-hitbox.is-selected{background:#0d99ff0a;border:1px solid #0d99ff}.layer-hitbox.is-locked{background:#11111106;border-style:dashed;border-color:#11111147}.layer-hitbox.is-locked.is-selected{background:#0d99ff06;border-color:#0d99ff8c}.layer-editor,.layer-editor-preview{white-space:pre-wrap;overflow-wrap:break-word;border-radius:0;min-height:30px;padding:0;font-family:Pretendard,Helvetica,Arial,sans-serif;position:absolute;overflow:visible}.layer-editor-preview{z-index:3;pointer-events:none}.layer-editor{z-index:4;resize:none;background:#ffffff14;border:1.5px solid #0d99ff;outline:none}.layer-editor::selection{color:#0000;background:#0d99ff38}.rotation-handle{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0 1 13.66-5.66'/%3E%3Cpath d='M18 3v5h-5'/%3E%3Cpath d='M20 12a8 8 0 0 1-13.66 5.66'/%3E%3Cpath d='M6 21v-5h5'/%3E%3C/g%3E%3Cg fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0 1 13.66-5.66'/%3E%3Cpath d='M18 3v5h-5'/%3E%3Cpath d='M20 12a8 8 0 0 1-13.66 5.66'/%3E%3Cpath d='M6 21v-5h5'/%3E%3C/g%3E%3C/svg%3E") 12 12,grab}.resize-handle{z-index:10;background:#fff;border:1.5px solid #0d99ff;border-radius:1px;box-shadow:0 0 0 1px #00000014}.resize-handle--edit{opacity:.8}@media (width<=860px){body{overflow:auto}.app-shell{grid-template-rows:minmax(360px,48vh) 1fr;grid-template-columns:1fr;gap:12px;width:100%;min-height:100vh;padding:12px;overflow-x:hidden}.panel{border:1px solid #c7c8c0;border-radius:8px;max-height:none}.workspace{align-items:flex-start;padding:6px 0 18px;overflow:visible}button{white-space:nowrap;min-width:0;overflow:hidden}.brand{align-items:center}.stage-frame{width:max-content;min-width:0;margin:0 auto}}
