:root{--ink:#171717;--muted:#737373;--line:#e5e5e5;--paper:#fff;--surface:#f5f5f3;--accent:#2563eb;--accent-dark:#1d4ed8;--radius:14px;font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--surface);min-width:320px}button,input,textarea,select{font:inherit}.topbar{height:64px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:750;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--ink);color:white;font-size:15px}.top-actions{display:flex;align-items:center;gap:16px}.save-state{font-size:12px;color:var(--muted)}.button{border:0;border-radius:9px;padding:10px 15px;font-size:13px;font-weight:700;cursor:pointer}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:#333}.button-quiet{background:white;border:1px solid var(--line);color:#555}.button-full{width:100%;margin-top:4px;padding:13px}.workspace{height:calc(100vh - 64px);display:grid;grid-template-columns:370px 1fr}.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:26px 24px 60px;overflow:auto}.side-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--accent);margin:0 0 5px}.side-heading h1{font-size:24px;letter-spacing:-.04em;margin:0}.icon-button{border:1px solid var(--line);background:white;width:36px;height:36px;border-radius:9px;cursor:pointer;color:#555}.panel-section{padding:22px 0;border-top:1px solid var(--line)}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:14px}.section-title span{font-size:10px;font-weight:800;color:var(--accent)}.section-title h2{margin:0;font-size:14px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.template-card{background:white;border:1px solid var(--line);border-radius:10px;padding:6px;text-align:left;cursor:pointer;min-width:0}.template-card.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.template-card strong,.template-card small{display:block;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-card strong{font-size:11px;margin-top:6px}.template-card small{font-size:9px;color:var(--muted);margin:3px 0}.thumb{height:58px;border-radius:6px;background:#f0f0ee;display:block;position:relative;overflow:hidden}.thumb:before,.thumb:after{content:"";position:absolute}.editorial-thumb:before{left:8px;top:10px;width:38px;height:5px;background:#222;box-shadow:0 9px 0 #bdbdbd}.editorial-thumb:after{left:8px;right:8px;bottom:7px;height:24px;background:#d2d2d2;border-radius:4px}.event-thumb:before{left:8px;top:8px;width:42px;height:5px;background:#222;box-shadow:0 9px 0 #bdbdbd,0 18px 0 #2563eb}.event-thumb:after{left:8px;right:8px;bottom:5px;height:18px;background:#d2d2d2;border-radius:4px}.split-thumb:before{left:7px;top:9px;width:33px;height:5px;background:#222;box-shadow:0 9px 0 #bdbdbd}.split-thumb:after{right:5px;top:5px;bottom:5px;width:42%;background:#d2d2d2;border-radius:4px}.field{display:block;margin-bottom:13px}.field>span{display:flex;justify-content:space-between;font-size:11px;font-weight:650;margin-bottom:6px}.field em{font-style:normal;color:#999;font-weight:500}.field input,.field textarea,.field select,.field>select{width:100%;border:1px solid var(--line);background:#fbfbfa;border-radius:8px;padding:10px 11px;font-size:12px;outline:none;resize:none;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{border-color:#888;background:white}.conditional-fields{display:none}.conditional-fields.visible{display:block}.upload-box{height:112px;border:1px dashed #c7c7c7;border-radius:10px;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.upload-box.dragging{border-color:var(--accent);background:#eff6ff}.upload-box .upload-icon{font-size:22px;line-height:1}.upload-box strong{font-size:12px;margin-top:5px}.upload-box small{font-size:10px;color:#999;margin-top:4px}.range-row{display:none;grid-template-columns:auto 1fr 40px;align-items:center;gap:10px;margin-top:14px;font-size:11px}.range-row.visible{display:grid}.range-row input{accent-color:var(--ink);min-width:0}.range-row output{text-align:right;color:var(--muted)}.stage-shell{min-width:0;display:flex;flex-direction:column;overflow:hidden}.stage-toolbar{height:58px;background:rgba(255,255,255,.86);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.stage-toolbar>div{display:flex;align-items:center;gap:8px;font-size:12px}.stage-toolbar small{color:var(--muted);border-left:1px solid var(--line);padding-left:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e}.stage{flex:1;min-height:0;display:grid;place-items:center;padding:44px;overflow:auto;background-color:#efefec;background-image:radial-gradient(#d4d4d0 1px,transparent 1px);background-size:18px 18px}canvas{display:block;max-width:100%;max-height:100%;background:white;box-shadow:0 18px 60px rgba(0,0,0,.15);touch-action:none}.stage-hint{height:34px;margin:0;display:grid;place-items:center;background:white;border-top:1px solid var(--line);font-size:10px;color:#888}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#171717;color:white;padding:11px 16px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:850px){.workspace{height:auto;display:block}.sidebar{border-right:0;height:auto}.stage-shell{height:70vh;min-height:500px}.save-state{display:none}.stage{padding:20px}}@media(max-width:450px){.topbar{padding:0 14px}.sidebar{padding:22px 16px}.top-actions .button{padding:9px 11px}.template-grid{gap:5px}.stage-toolbar{padding:0 14px}.stage-toolbar small{display:none}}
