*{box-sizing:border-box}body{margin:0;font-family:Pretendard,"Malgun Gothic",Arial,sans-serif;font-size:13px;color:#24313b;background:#e8edf0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d6dfe4;border-radius:6px;background:white;padding:9px 11px;color:#293a45}button:hover{background:#eaf3f7}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1684a5;outline-offset:2px}.primary{background:#17657b;color:#fff;border-color:#17657b}.primary:hover{background:#124f61}header{height:66px;padding:0 22px;background:white;border-bottom:1px solid #d4dde2;display:flex;align-items:center;gap:24px}header b{font-size:20px}header b span{font-size:13px;font-weight:400;color:#647784;margin-left:12px}.actions{margin-left:auto;display:flex;gap:7px}#status{font-size:12px;color:#617581}.workspace{display:grid;grid-template-columns:218px minmax(320px,1fr) 274px;height:calc(100vh - 66px)}aside{background:#fff;padding:20px 16px;overflow:auto}.left{border-right:1px solid #d4dde2}.right{border-left:1px solid #d4dde2}h3{font-size:13px;margin:25px 0 12px}label{display:block;color:#526671;font-size:12px;margin:12px 0}input,select,textarea{display:block;width:100%;margin-top:7px;padding:9px;border:1px solid #d4dde2;border-radius:5px;background:white;color:#24313b}input[type=color]{height:37px;padding:3px}textarea{resize:vertical}.grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.grid label{min-width:0}.hint{font-size:11px;color:#75848d;line-height:1.9;margin-top:28px}.stage{overflow:auto;padding:0 24px 50px;background-image:radial-gradient(#cdd7dd .7px,transparent .7px);background-size:12px 12px}.stagebar{position:sticky;top:0;z-index:3;margin:0 -24px 20px;background:#edf1f4ed;padding:7px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3dce2}.stagebar label{display:flex;align-items:center;gap:8px;margin:0}.stagebar select{margin:0;width:80px}#frameWrap{margin:0 auto}iframe{display:block;border:0;transform-origin:top left;background:white;box-shadow:0 8px 30px #2335431a}#sections button{display:block;width:100%;text-align:left;margin:4px 0;border:0;padding:10px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#sections button.active{background:#e3f1f6;color:#12566a}#empty{line-height:1.8;color:#778791}#fontFamily{height:184px;padding:3px}#fontFamily option{padding:8px 6px}#fontSample{min-height:56px;padding:13px 10px;border:1px solid #d4dde2;border-radius:5px;background:#f7f9fa;font-size:18px;line-height:1.45;color:#253640;word-break:keep-all}dialog{border:1px solid #cad5da;border-radius:12px;padding:30px;width:360px}dialog::backdrop{background:#263b4b88}dialog button{margin-top:20px;width:100%}#loginError{color:#a33}
input[type=range]{padding:0;height:37px;accent-color:#1684a5}
#storeDialog{width:auto;max-width:92vw}
#storeBox{width:min(620px,86vw)}
#storeBox h2{margin:0 0 6px;font-size:18px}
#storeBox .grid button{margin-top:0}
.store-list{font-size:11px;max-height:150px;overflow:auto;margin-top:6px;line-height:1.7}
.store-list .gif{color:#0b6b3a;font-weight:600}
/* 내 상세페이지 목록(카드) - 미리캔버스식 첫 화면 */
#gallery{height:calc(100vh - 66px);overflow:auto;padding:26px 30px 60px;background:#f2f5f7}
.gal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.gal-head h1{font-size:23px;margin:0}
.gal-sub{margin:5px 0 0;font-size:12px;color:#6b7b85}
.gal-tools{display:flex;gap:8px;align-items:center}
.gal-tools input{margin:0;width:190px}
.gal-drop{border:2px dashed #c3ced4;border-radius:12px;padding:15px;text-align:center;font-size:12px;color:#63737d;background:#fbfcfd;margin-bottom:20px}
.gal-drop.over{border-color:#1684a5;background:#e9f5f9;color:#12566a}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:18px}
.gal-card{background:#fff;border:1px solid #dce4e9;border-radius:11px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.gal-card:hover{box-shadow:0 7px 22px #2a3f4d1f;transform:translateY(-2px)}
.gal-thumb{position:relative;height:168px;background:#eef2f4;cursor:pointer;display:block;width:100%;border:0;padding:0;overflow:hidden}
.gal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gal-thumb .none{display:flex;align-items:center;justify-content:center;height:100%;color:#98a6ae;font-size:12px}
.gal-badge{position:absolute;left:8px;top:8px;background:#0009;color:#fff;font-size:10px;padding:3px 7px;border-radius:20px}
.gal-body{padding:10px 11px 11px}
.gal-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gal-date{font-size:11px;color:#8496a0;margin-top:2px}
.gal-acts{display:flex;gap:4px;margin-top:9px}
.gal-acts button{flex:1;padding:6px 0;font-size:11px}
.gal-acts .danger{color:#b3261e;border-color:#efc9c6}
.gal-acts .danger:hover{background:#fdeeed}
#repairBox{margin:8px 0 4px;padding:9px;border-radius:8px;background:#fff6e5;border:1px solid #f0d9a8}
.repair-msg{font-size:12px;color:#8a5a00;font-weight:600;margin-bottom:6px}
.repair-drop{border:2px dashed #e0bc74;border-radius:7px;padding:10px;text-align:center;font-size:11px;color:#8a6a2a;line-height:1.7}
.repair-drop.over{border-color:#c98a00;background:#fdecc8}
.repair-drop button{width:auto;padding:3px 9px;margin-top:5px;font-size:11px}
#importOpen{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 10px;border:2px dashed #b9c4c9;background:#f7fafb;margin:0 0 6px}
#importOpen small{font-size:11px;color:#6b7b85;font-weight:400}
#importOpen.over{border-color:#1684a5;background:#e3f1f6;color:#12566a}
#deletePage{width:100%;margin-bottom:6px}
#importDialog{width:auto;max-width:92vw}
#importBox{width:min(760px,86vw);display:flex;flex-direction:column}
#importBox h2{margin:0 0 6px;font-size:18px}
#importBox .hint{margin-top:0}
#importBox textarea{font-family:ui-monospace,Consolas,monospace;font-size:12px;min-height:150px}
#importDrop{border:2px dashed #b9c4c9;border-radius:10px;padding:14px;text-align:center;font-size:12px;color:#5b6b75;margin-top:8px}
#importDrop.over{border-color:#1684a5;background:#eef7fa}
#importDrop button{width:auto;margin:0 4px;padding:4px 10px}
#importList{font-size:11px;max-height:110px;overflow:auto;margin-top:8px;line-height:1.7}
#importList .ok{color:#177245}#importList .miss{color:#a12}
#importError{color:#a12;font-size:12px;margin:10px 0 0;min-height:16px}
#importBox .grid button{margin-top:14px}@media(max-width:1050px){.workspace{grid-template-columns:165px minmax(280px,1fr) 220px}header{gap:10px;padding:0 12px}header b span{display:none}.actions button{padding:8px;font-size:11px}}@media(max-width:720px){header{height:auto;min-height:70px;flex-wrap:wrap;padding:12px}.workspace{height:auto;grid-template-columns:1fr}.left,.right{max-height:330px}.stage{height:65vh}.actions{flex-wrap:wrap;margin:0}#status{margin-left:auto}}

/* 다른 페이지에서 가져오기 */
#borrowDialog{width:min(1280px,96vw);max-width:96vw;height:92vh;padding:0}
#borrowBox{display:flex;flex-direction:column;height:100%}
.borrow-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #e3e3e3}
.borrow-head h2{margin:0;font-size:17px}
.borrow-head select{width:auto;min-width:160px;margin:0}
.borrow-head .hint{flex:1;min-width:200px;margin:0}
.borrow-head button{margin:0}
.borrow-body{flex:1;display:flex;min-height:0}
.borrow-view{flex:1;overflow:auto;background:#eef0f1;padding:16px}
#borrowWrap{margin:0 auto;overflow:hidden;background:#fff;box-shadow:0 2px 10px #0002}
#borrowFrame{border:0;width:860px;transform-origin:0 0;display:block}
.borrow-side{width:300px;padding:12px 14px;border-left:1px solid #e3e3e3;overflow:auto;display:flex;flex-direction:column;gap:8px}
.borrow-side button{width:100%;margin:0}
.borrow-sections{display:flex;flex-direction:column;gap:3px;max-height:34vh;overflow:auto}
.borrow-sections button{text-align:left;font-size:12px;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.borrow-sections button.active{background:#e3f1f6;border-color:#1684a5}
.borrow-picked{font-size:12px;background:#f6f6f4;border-radius:6px;padding:8px;min-height:36px;word-break:break-all}