:root{--bg: #f4f5f7;--panel: #ffffff;--line: #e2e5ea;--ink: #1d2330;--muted: #6b7280;--brand: #2f5bea;--warn: #b45309;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #14171c;--panel: #1c2027;--line: #2d333d;--ink: #e6e8ec;--muted: #9aa3af;--brand: #6b8cff;--warn: #f59e0b;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Pretendard,Malgun Gothic,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100%}.bar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.bar-brand{display:flex;align-items:center;gap:8px;font-size:16px}.pill{font-size:12px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}.bar-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.save{font-size:12px;color:var(--muted)}.save-off{color:var(--warn)}.btn,.btn-sm{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 12px;cursor:pointer;list-style:none}.btn-sm{padding:4px 10px;font-size:13px}.btn:hover:not(:disabled),.btn-sm:hover{border-color:var(--brand)}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;padding:2px 0;font-size:12px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--panel);padding:6px 14px;cursor:pointer}.seg button.on{background:var(--brand);color:#fff}.menu{position:relative}.menu summary::-webkit-details-marker{display:none}.menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:10;display:grid;min-width:200px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0000001f}.menu-list button{text-align:left;border:0;background:none;padding:8px 10px;border-radius:6px;cursor:pointer}.menu-list button:hover{background:var(--bg)}.notice{padding:8px 16px;background:color-mix(in srgb,var(--brand) 12%,var(--panel));border-bottom:1px solid var(--line)}.body{flex:1;display:grid;grid-template-columns:380px 1fr;min-height:0}.side{overflow-y:auto;background:var(--panel);border-right:1px solid var(--line)}.stage{overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:10px}.stage-note{margin:0;color:var(--muted);font-size:12px}.frame{width:100%;max-width:1280px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 4px 18px #0000000f}.frame-mobile{max-width:390px;border-radius:28px;border-width:8px;border-color:#20242c}.panel details{border-bottom:1px solid var(--line)}.panel>details>summary{padding:14px 16px;font-weight:700;cursor:pointer}.panel>details>:not(summary){padding:0 16px 16px}.fld-group{display:grid;gap:12px}.fld{display:grid;gap:4px}.fld>span{font-size:12px;color:var(--muted)}.fld input:not([type=color]):not([type=range]),.fld textarea,.fld select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.fld textarea{resize:vertical}.fld-color{grid-template-columns:1fr auto 70px;align-items:center}.fld-color input{width:40px;height:28px;border:0;padding:0;background:none;cursor:pointer}.fld-color code{font-size:12px;color:var(--muted)}.warn{margin:0;color:var(--warn);font-size:12px}.logo-row{display:flex;align-items:center;gap:10px}.logo-row img{height:36px;max-width:120px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#fff}.tpl-list{display:grid;gap:8px}.tpl{display:grid;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);cursor:pointer}.tpl.on{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent)}.tpl small{color:var(--muted)}.tpl-sw{display:flex;gap:4px;margin-bottom:4px}.tpl-sw i{width:18px;height:18px;border-radius:50%;border:1px solid var(--line)}details.sec{border:1px solid var(--line);border-radius:8px;margin-top:8px}details.sec>summary{padding:10px 12px;cursor:pointer;display:flex;align-items:center}details.sec>.fld-group{padding:0 12px 12px}.sec-move{margin-left:auto;display:inline-flex;gap:2px}.sec-move button{border:1px solid var(--line);background:var(--panel);border-radius:4px;width:24px;height:22px;font-size:10px;cursor:pointer}.sec-move button:disabled{opacity:.35;cursor:default}.fld-list{display:grid;gap:8px}.fld-list-head{font-size:12px;color:var(--muted)}.fld-item{display:grid;gap:6px;padding:10px;border:1px dashed var(--line);border-radius:8px}.save-dirty{color:var(--warn)}.hint{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.wish{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 16px;background:color-mix(in srgb,var(--warn) 10%,var(--panel));border-bottom:1px solid var(--line);font-size:13px}.wish .btn-link{margin-left:auto}.tpl-more{margin-top:10px}.add-sec{margin-top:12px}.biz-add{display:flex;flex-wrap:wrap;gap:6px}.btn-sm:disabled{opacity:.45;cursor:default}.modal{position:fixed;inset:0;z-index:50;background:#00000059;display:grid;place-items:center;padding:16px}.modal-box{width:min(560px,100%);max-height:80vh;overflow:auto;background:var(--panel);border-radius:12px;padding:16px;box-shadow:0 16px 48px #00000040}.modal-box>header{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;font-size:16px}.modal-box>header small{color:var(--muted)}.modal-box>header .btn-link{margin-left:auto}.site-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.site-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.site-list li.on{border-color:var(--brand)}.site-list li>div{flex:1;display:grid;min-width:0}.site-list small{color:var(--muted)}@media(max-width:900px){.body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{max-height:45vh;border-right:0;border-bottom:1px solid var(--line)}.stage{padding:12px}.bar{gap:8px;padding:8px 12px}.bar-actions{margin-left:0;width:100%}}.btn-accent{background:#1f7a4d;color:#fff;border-color:#1f7a4d}.slug-row{display:flex;align-items:center;gap:6px}.slug-row input{flex:1;min-width:0}.slug-row code{color:var(--muted);white-space:nowrap}.hint.ok{color:#1f7a4d}.pub-live{display:flex;gap:10px;align-items:baseline;margin:0;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,#1f7a4d 10%,transparent)}.pub-live span{font-size:12px;color:var(--muted)}.pub-actions{display:flex;gap:8px;flex-wrap:wrap}.logo-row small{color:var(--muted)}
