/* ════════════════════════════════════════════════════════════════
   itd-editor.css — 인스타 스토리식 사진 편집기 (Phase 2/3)
   텍스트 · 스티커 · 레이아웃(반달 fan) · 그리기. 따뜻한 아이보리/로즈 톤.
   색: --accent 토큰 사용(단일 제어). 스코프: .itded
   ──────────────────────────────────────────────────────────────── */
.itded{position:fixed;inset:0;z-index:11200;display:none;flex-direction:column;background:#0F0A0C;
  font-family:-apple-system,"Pretendard","Apple SD Gothic Neo",sans-serif;-webkit-font-smoothing:antialiased;
  touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain}
.itded.is-open{display:flex}
@media (width >= 768px){ .itded{left:var(--side-nav-width)} }   /* PC 사이드바 가림 방지 [v716] SSOT */

/* 스테이지 — 사진 + 레이어 + 드로잉 */
.itded__stage{position:relative;flex:1 1 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:margin .2s ease}
.itded__photowrap{position:absolute;inset:0;transform-origin:center center;will-change:transform}
.itded__photo{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
/* 콜라주(좌우2장/4장) */
.itded__collage{position:absolute;inset:0;display:grid;gap:3px;background:#fff}
.itded__collage[hidden]{display:none}
.itded__collage.is-grid2{grid-template-columns:1fr 1fr}
.itded__collage.is-grid4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
/* [레이아웃 재설계] 셀 좌표 절대배치(비대칭 레이아웃 지원) — 위치는 인라인 left/top/w/h */
.itded__collage.is-abs{display:block}
.itded__collage.is-abs .itded__cell{position:absolute}
.itded__cell{position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}
.itcellimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center center;will-change:transform;pointer-events:none;-webkit-user-drag:none}
.itded__collage.is-cropping{touch-action:none}
.itded__collage.is-cropping .itded__cell{cursor:move}
.itded__cell.is-cellsel{outline:2.5px solid var(--accent,#D58A95);outline-offset:-2px}
.itded__frame{position:absolute;inset:0;pointer-events:none;z-index:2}
.itded__draw{position:absolute;inset:0;z-index:3;touch-action:none}
.itded__draw.is-armed{cursor:crosshair}
.itded__layers{position:absolute;inset:0;z-index:4}
.itded__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,12,16,.34),transparent 16%,transparent 60%,rgba(20,12,16,.4))}

/* 레이어(텍스트/스티커) */
.itl{position:absolute;left:0;top:0;transform-origin:center center;cursor:grab;touch-action:none;will-change:transform}
.itl.is-active{outline:1.5px solid rgba(255,255,255,.92);outline-offset:4px;border-radius:4px}
.itl__del{position:absolute;left:-20px;top:-20px;width:24px;height:24px;border-radius:50%;background:rgba(20,12,16,.7);
  color:#fff;display:none;place-items:center;z-index:5;transform-origin:bottom right}   /* [#8] 역스케일 시 박스 모서리쪽에 고정 */
.itl.is-active .itl__del{display:grid}
.itl.itl--guard .itl__del,.itl.itl--guard .itl__dup{pointer-events:none}
.itl__del svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.4}
.itl__rot{position:absolute;right:-20px;bottom:-20px;width:24px;height:24px;border-radius:50%;background:rgba(20,12,16,.7);color:#fff;display:none;place-items:center;z-index:5;cursor:grab;touch-action:none;transform-origin:top left}
.itl.is-active .itl__rot{display:grid}
.itl__rot svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.2}
/* [P1-3] 레이어 복제 핸들 — 우상단 */
.itl__dup{position:absolute;right:-20px;top:-20px;width:24px;height:24px;border-radius:50%;background:rgba(20,12,16,.7);color:#fff;display:none;place-items:center;z-index:5;cursor:pointer;border:none;padding:0;transform-origin:bottom left}
.itl.is-active .itl__dup{display:grid}
.itl__dup svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:2.1}
.itl-text{color:#fff;font-weight:800;line-height:1.16;text-align:center;white-space:pre-wrap;outline:none;
  text-shadow:0 1px 12px rgba(0,0,0,.4);padding:6px 10px;min-width:30px}
.itl-text[contenteditable="true"]{cursor:text}
.itl-sticker{font-size:64px;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}

/* 상단바 */
.itded__top{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;
  padding:calc(14px + env(safe-area-inset-top)) 16px 0;z-index:9}
.itded__ic{width:38px;height:38px;border-radius:50%;background:rgba(30,18,22,.42);backdrop-filter:blur(8px);
  color:#fff;display:grid;place-items:center;border:0;cursor:pointer}
.itded__ic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* [P1-3] 되돌리기/다시 — 상단 가운데 그룹 */
.itded__hist{display:flex;gap:8px}
.itded__hist .itded__ic{width:36px;height:36px}
.itded__hist .itded__ic svg{width:19px;height:19px}
.itded__ic:disabled{opacity:.34;cursor:default}
.itded__done{height:38px;padding:0 18px;border-radius:999px;background:#fff;color:#1c1316;font-size:14px;font-weight:800;
  border:0;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.22)}

/* 우측 레일 */
.itded__rail{position:absolute;right:14px;top:calc(64px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:11px;z-index:9}
.itrb{width:44px;height:44px;border-radius:50%;background:rgba(30,18,22,.42);backdrop-filter:blur(10px);color:#fff;
  display:grid;place-items:center;border:0;cursor:pointer;font-weight:800;font-size:16px}
.itrb svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.itrb.on{background:var(--accent-strong, #BC6675);box-shadow:0 6px 18px rgba(140,72,90,.5)}

/* 공통 패널 베이스 */
/* [#3·#6] 패널 열고/닫힘 슬라이드 — display 토글 대신 translateY 애니메이션(부드럽게 내려감) */
.itpanel{position:absolute;left:0;right:0;bottom:0;z-index:10;transform:translateY(112%);opacity:0;pointer-events:none;
  transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s ease;will-change:transform}
.itpanel.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
/* [P2-2] 전체보기 — 패널을 잠깐 내려 사진 전체 확인 */
.itded--peek .itpanel.is-open{transform:translateY(105%)}
.itded--peek .itded__rail{opacity:.25;pointer-events:none}
.itded__ic[data-r="peek"].on{background:#fff;color:#1c1316}
.itded__ic[data-r="peek"].on svg{stroke:#1c1316}

/* ── 텍스트 패널 (하단바) ── */
.ittext{padding:0 16px calc(16px + env(safe-area-inset-bottom))}
.ittext__top{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px}
/* [#4] 글자 추가 버튼 */
.ittext__add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:10px 0 12px;padding:11px;border-radius:12px;border:0;background:#fff;color:#1c1316;font-size:14px;font-weight:800;cursor:pointer}
.ittext__add svg{width:18px;height:18px;stroke:#1c1316;fill:none;stroke-width:2.3;stroke-linecap:round}
.italn{display:inline-flex;gap:6px}
.italn button{width:36px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.4);background:rgba(20,12,16,.3);
  color:#fff;display:grid;place-items:center;cursor:pointer}
.italn button svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.italn button.on{background:#fff;border-color:#fff}
.italn button.on svg{stroke:#1c1316}
.itsize{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:11px;font-weight:700}
.itsize input{width:108px;accent-color:#fff}
.itfonts{display:flex;gap:9px;overflow-x:auto;padding:0 0 12px;scrollbar-width:none}
.itfonts::-webkit-scrollbar{display:none}
.itfont{flex:none;height:46px;padding:0 17px;border-radius:12px;border:1.5px solid rgba(255,255,255,.6);
  background:rgba(20,12,16,.24);color:#fff;font-size:19px;font-weight:700;cursor:pointer;white-space:nowrap;
  display:flex;align-items:center;justify-content:center;text-shadow:0 1px 5px rgba(0,0,0,.35)}
.itfont.on{background:#fff;color:#1c1316;border-color:#fff;text-shadow:none}
.itcolors{display:flex;gap:13px;overflow-x:auto;padding:2px 0;scrollbar-width:none}
.itcolors::-webkit-scrollbar{display:none}
.itsw{width:28px;height:28px;border-radius:50%;flex:none;border:1.5px solid rgba(255,255,255,.5);cursor:pointer}
.itsw.on{box-shadow:0 0 0 2px #1c1316,0 0 0 4px #fff}

/* ── 스티커 시트 — 인스타식 어두운 반투명 + 스티커는 타일 없이 '떠 있게' ── */
.itstk{background:rgba(22,17,20,.72);-webkit-backdrop-filter:saturate(150%) blur(26px);backdrop-filter:saturate(150%) blur(26px);
  border-radius:24px 24px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.4);color:#fff;
  padding:0 16px calc(14px + env(safe-area-inset-bottom));max-height:68vh;overflow-y:auto;transition:transform .2s ease}
.itstk .itgrip--p{touch-action:none}
.itstk .itgrip--p::before{background:rgba(255,255,255,.5)}
.itgrip{width:42px;height:4px;border-radius:2px;background:#E0D8D2;margin:11px auto 8px}
/* [#7] 패널 상단 grip — 아래로 긁으면 닫힘(터치영역 넓게) */
.itgrip--p{width:100%;height:20px;margin:0 0 6px;background:transparent;border-radius:0;position:relative;touch-action:none;cursor:grab}
.itgrip--p::before{content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);width:44px;height:4px;border-radius:2px;background:#E0D8D2}
.itstk__search{display:flex;align-items:center;gap:9px;height:42px;border-radius:13px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);padding:0 13px;color:rgba(255,255,255,.6);font-size:13px;font-weight:500;margin-bottom:14px}
.itstk__search svg{width:17px;height:17px;stroke:rgba(255,255,255,.6);fill:none;stroke-width:1.8}
.itfstk{display:flex;gap:9px;overflow-x:auto;margin-bottom:16px;scrollbar-width:none}
.itfstk::-webkit-scrollbar{display:none}
.itfs{flex:none;height:38px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;
  font-size:12.5px;font-weight:700;background:#fff;border:1px solid #EFE6E2;color:#2C2226;cursor:pointer;
  box-shadow:0 2px 10px rgba(168,100,115,.08);font-family:inherit;-webkit-appearance:none;appearance:none}
.itfs:active{transform:scale(.96)}
.itfs svg{width:15px;height:15px;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* '예약하기'는 강조 텍스트/테두리만 — 채워진(선택된 것처럼 보이던) 스타일 제거 */
.itfs.book{border:1px solid var(--accent,#D58A95);color:var(--accent-strong,#BC6675)}
.itfs.book svg{stroke:var(--accent-strong,#BC6675)}.itfs.loc svg{stroke:#E8536B}.itfs.price svg{stroke:#E0934A}.itfs.time svg{stroke:#6E9BC4}.itfs.phone svg{stroke:#5BA97A}
.itfstk.is-dragging,.itfonts.is-dragging,.itcolors.is-dragging,.itstk__tabs.is-dragging{cursor:grabbing;scroll-snap-type:none}
/* [#5] 스티커 카테고리 탭 — 상단 고정 가로 스크롤 */
.itstk__tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:2;background:transparent;padding-bottom:12px;margin-bottom:2px}
.itstk__tabs::-webkit-scrollbar{display:none}
/* 카테고리 탭 — 인스타식: 비활성=투명 텍스트, 활성=흰 알약 */
.itstk__tab{flex:none;height:32px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;
  background:transparent;border:0;color:rgba(255,255,255,.6);cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none}
.itstk__tab:active{transform:scale(.96)}
.itstk__tab.on{background:#fff;color:#15181D}
.itstk__body{min-height:180px}
/* [#5] 글자 스티커 — 박스 없이 텍스트만(그림자로 가독성). 인스타식. */
.itsgrid--txt{grid-template-columns:repeat(2,1fr);gap:8px 6px;margin-bottom:14px}
.itsgrid--txt button{aspect-ratio:auto;min-height:46px;font-size:16px;color:#fff;line-height:1.2;padding:6px 4px;word-break:keep-all;text-align:center;background:none;border:0;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.itssub{font-size:11px;font-weight:700;color:rgba(255,255,255,.55);margin:4px 0 10px;letter-spacing:.02em}
/* 이모지·데코 — 타일 없이 크게 떠 있게(인스타식) */
.itsgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:6px}
.itsgrid button{aspect-ratio:1;border-radius:14px;background:none;border:0;display:grid;place-items:center;
  font-size:34px;cursor:pointer;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.itsgrid button:active{transform:scale(.9)}

/* ── 레이아웃 반달 fan ── */
/* 레이아웃 패널: 하단 투명 드래그면(반달 원은 fixed 라 어디서 잡아도 회전됨) */
.itlay{height:46vh;min-height:300px;position:relative;background:transparent}
/* 라벨·반달·호 모두 fixed → JS 가 레이아웃 버튼(우측 레일) 기준 뷰포트 좌표로 배치(버튼 옆 반달) */
.itlay__hd{position:fixed;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5);z-index:11;text-align:left;pointer-events:none}
.itlay__hd b{font-size:16px;font-weight:800}
.itlay__hd span{display:block;margin-top:2px;font-size:11.5px;font-weight:600;opacity:.92}
.itlay__arc{position:fixed;border-radius:50%;border:1.5px dashed rgba(255,255,255,.38);pointer-events:none;z-index:10}
.itfan{position:fixed;z-index:11;border-radius:50%;background-size:cover;background-position:center;border:2px solid rgba(255,255,255,.9);
  box-shadow:0 6px 18px rgba(0,0,0,.35);cursor:pointer;transition:transform .18s ease,width .18s,height .18s}
.itfan.on{border:3px solid var(--accent,#D58A95);box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 0 4px rgba(213,138,149,.35)}

/* ── 레이아웃(타입 칩 + 사진 순서 선택) ── */
.itlay2{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(15,10,12,.62) 34%)}
.itlay2__hint{color:#fff;font-size:12px;line-height:1.5;margin-bottom:10px;text-shadow:0 1px 6px rgba(0,0,0,.5);min-height:18px}
.itlay2__hint b{font-weight:800}
.itlay2__cnt{margin-left:2px;padding:1px 7px;border-radius:999px;background:var(--accent-strong,#BC6675);font-size:11px}
.itlay2__tip{display:block;margin-top:3px;font-size:11px;color:rgba(255,255,255,.78);font-weight:600}
.itlay2__types{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:11px}
.itlay2__types::-webkit-scrollbar{display:none}
/* [레이아웃 재설계] 도형 미니썸네일 카드 피커 */
.itlaytype{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;width:52px;padding:7px 0 5px;border-radius:13px;border:1.5px solid rgba(255,255,255,.4);background:rgba(20,12,16,.34);color:rgba(255,255,255,.9);font-size:11px;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none}
.itlaytype__d{width:24px;height:30px;display:grid;place-items:center}
.itlaytype__d svg rect{fill:rgba(255,255,255,.34);stroke:rgba(255,255,255,.55);stroke-width:.8}
.itlaytype em{font-style:normal;line-height:1}
.itlaytype:active{transform:scale(.95)}
.itlaytype.on{background:#fff;color:#1c1316;border-color:#fff}
.itlaytype.on .itlaytype__d svg rect{fill:var(--accent,#D58A95);stroke:var(--accent-strong,#BC6675)}
.itlay2__strip{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.itlay2__strip::-webkit-scrollbar{display:none}
.itlaythumb{position:relative;flex:none;width:58px;height:72px;border-radius:11px;border:2px solid rgba(255,255,255,.6);background-size:cover;background-position:center;cursor:pointer;padding:0}
.itlaythumb.on{border-color:var(--accent,#D58A95);box-shadow:0 0 0 3px rgba(213,138,149,.4)}
.itlaybadge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--accent-strong,#BC6675);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.itded__cell--empty{display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:12px;font-weight:700;line-height:1.4;border:1px dashed rgba(255,255,255,.5)}
/* 레이아웃 추가 컨트롤(간격/배경/추가사진) */
.itlay2__ctrls{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.itlay2__gap{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.itlay2__gap input{width:86px;accent-color:#fff}
.itlay2__fit{display:inline-flex;gap:2px;background:rgba(20,12,16,.3);border-radius:9px;padding:2px}
.itlay2__fit button{height:28px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:rgba(255,255,255,.85);font-size:11.5px;font-weight:700;cursor:pointer}
.itlay2__fit button.on{background:#fff;color:#1c1316}
/* [#7] 레이아웃 배경색 줄 — 색이 많아 우측이 잘리던 것을 좌우 스크롤로. 자기 줄 전체 폭 사용. */
.itlay2__bg{display:flex;gap:8px;align-items:center;flex:1 1 100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0;flex-wrap:nowrap}
.itlay2__bg::-webkit-scrollbar{display:none}
.itlay2__bg .itlaybg{flex:none}
/* [#13] 무지개 스와치 — 탭하면 네이티브 색상 팔레트. 전 스펙트럼 자유 선택. */
.itsw--rb{position:relative;overflow:hidden;padding:0;border:1.5px solid rgba(0,0,0,.12);
  background:conic-gradient(from 0deg,#f00,#ffb000,#ffe600,#3ad13a,#00c2c2,#2b6bff,#8a4bff,#ff3fb0,#f00)}
.itsw--rb input[type="color"]{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);opacity:0;border:none;padding:0;cursor:pointer;background:transparent}
/* [#13-v2] 화면 안 색상 팔레트(SV 사각형 + 색조 바) */
.itcp{position:fixed;z-index:100000;width:196px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 10px 34px rgba(0,0,0,.28);touch-action:none;user-select:none}
.itcp__row{display:flex;gap:10px}
.itcp__sq{position:relative;width:148px;height:132px;border-radius:9px;cursor:crosshair;overflow:hidden;flex:none}
.itcp__dark{position:absolute;inset:0;background:#000;pointer-events:none}
.itcp__sqt{position:absolute;width:16px;height:16px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.4);transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.itcp__val{position:relative;width:18px;height:132px;border-radius:9px;cursor:pointer;flex:none}
.itcp__valt{position:absolute;left:50%;width:22px;height:10px;border-radius:5px;background:#fff;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.4);transform:translate(-50%,-50%);pointer-events:none}
.itcp__foot{display:flex;align-items:center;gap:8px;margin-top:10px}
.itcp__prev{width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.12);flex:none}
.itcp__hex{font-size:12.5px;font-weight:800;letter-spacing:.4px;color:#333;font-family:ui-monospace,Menlo,monospace}
.itlaybg{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);cursor:pointer}
.itlaybg.on{box-shadow:0 0 0 2px #1c1316,0 0 0 4px #fff}
.itlay2__add{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 13px;border-radius:999px;background:var(--accent-strong,#BC6675);color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.itlay2__add svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ── 사진별 보정 ── */
.itadj{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(15,10,12,.66) 30%)}
.itadj__sub{font-size:11px;font-weight:700;color:rgba(255,255,255,.82);margin-bottom:9px;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.itadj__strip{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:12px}
.itadj__strip::-webkit-scrollbar{display:none}
.itadjthumb{flex:none;width:54px;height:66px;border-radius:11px;border:2px solid rgba(255,255,255,.6);background-size:cover;background-position:center;cursor:pointer;padding:0}
.itadjthumb.on{border-color:var(--accent,#D58A95);box-shadow:0 0 0 3px rgba(213,138,149,.4)}
.itadj__row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.itadj__row span{width:42px;color:#fff;font-size:12px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.itadj__row input{flex:1;accent-color:#fff}
.itadj__row b{width:34px;text-align:right;color:#fff;font-size:12px;font-weight:700}
.itadj__reset{margin-top:6px;width:100%;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.5);background:rgba(20,12,16,.3);color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.itadj__rotrow b{min-width:40px}
.itadj__bgrow{display:flex;gap:8px;margin:2px 0 12px}
.itadj__bg{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:10px;border:1.5px solid var(--accent,#D58A95);background:rgba(213,138,149,.16);color:#fff;font-size:12.5px;font-weight:700;cursor:pointer}
.itadj__bg svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.itadj__bg--undo{flex:0 0 auto;width:62px;border-color:rgba(255,255,255,.4);background:rgba(20,12,16,.3)}
.itadj__bg.is-busy{opacity:.6}
/* [#4] 누끼 배경 색/사진 — 누끼 버튼 바로 아래. 탭하면 0초 재합성(매트 캐시) */
.itadj__cutbg{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-4px 0 12px}
.itadj__cutbg .itlaybg{width:26px;height:26px}
.itlaybg--up{display:inline-grid;place-items:center;background:rgba(255,255,255,.12);border-style:dashed}
.itlaybg--up svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* [#2] 최근 업로드 배경 재사용 스와치 */
.itlaybg--recent{background-size:cover;background-position:center;border-style:solid;border-color:var(--accent,#D58A95)}
.itlaybg--recent.on{border-width:3px}
/* [#3] 수평 가이드 그리드(삼분할) — 수평 조정 중에만 표시 */
.itded__grid{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;transition:opacity .2s ease;
  background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
  background-size:100% 33.34%,33.34% 100%}
.itded.is-leveling .itded__grid{opacity:1}

/* ── 그리기 [#6] 하단 시트 — 붓(라벨)·굵기(가로 슬라이더)·색·전체지우기 ── */
.itdrawp{background:linear-gradient(180deg,transparent,rgba(15,10,12,.72) 30%);padding:8px 16px calc(14px + env(safe-area-inset-bottom))}
.itdrawp__tools{display:flex;align-items:flex-end;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}
.itdrawp__tools::-webkit-scrollbar{display:none}
.itbrush2{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;width:52px;padding:7px 0 5px;border-radius:13px;
  border:1.5px solid rgba(255,255,255,.4);background:rgba(20,12,16,.34);color:rgba(255,255,255,.9);font-size:11px;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none}
.itbrush2 svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.itbrush2 em{font-style:normal;line-height:1}
.itbrush2:active{transform:scale(.95)}
.itbrush2.on{background:#fff;color:#1c1316;border-color:#fff}
.itdrawp__clear{flex:none;margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;
  border:1.5px solid rgba(255,155,155,.7);background:rgba(30,18,22,.4);color:#ff9b9b;font-size:12.5px;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none}
.itdrawp__clear svg{width:16px;height:16px;stroke:#ff9b9b;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.itdrawp__size{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.itdrawp__lbl{color:#fff;font-size:12px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.5);flex:none}
.itdrawp__size input{flex:1;accent-color:#fff}
.itdrawp__colors{display:flex;gap:13px;align-items:center;overflow-x:auto;scrollbar-width:none}
.itdrawp__colors::-webkit-scrollbar{display:none}
.itdsw{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.85);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.itdsw.on{width:36px;height:36px;border:3px solid #fff}

/* 레이아웃 프레임 프리셋(예시) */
.itded__frame.fr-soft{box-shadow:inset 0 0 0 10px rgba(255,255,255,.9),inset 0 0 0 12px rgba(213,138,149,.5)}
.itded__frame.fr-mini{box-shadow:inset 0 0 0 14px #fff}
.itded__frame.fr-black{box-shadow:inset 0 0 0 14px #15181D}

/* ── 크기조절 핸들(공통) ── */
.itl__rs{position:absolute;left:-20px;bottom:-20px;width:24px;height:24px;border-radius:50%;background:rgba(20,12,16,.7);color:#fff;display:none;place-items:center;z-index:5;cursor:nwse-resize;touch-action:none;transform-origin:top right}
.itl.is-active .itl__rs{display:grid}
.itl__rs svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.2}
.itl-shape{display:block}

/* ── 내 스티커(#7) · 데코(#6) ── */
.itssub--row{display:flex;align-items:center;justify-content:space-between}
.itstk__up{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.itstk__up svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.itstk__empty{grid-column:1/-1;font-size:12px;color:rgba(255,255,255,.55);padding:4px 2px}
/* 데코 SVG 스티커도 타일 없이 떠 있게 */
.itdeco{aspect-ratio:1;border-radius:14px;background:none;border:0;display:grid;place-items:center;cursor:pointer;padding:5px;position:relative;-webkit-appearance:none;appearance:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.itdeco:active{transform:scale(.9)}
.itdeco img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.itmine__x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#15181D;color:#fff;font-size:12px;line-height:18px;text-align:center}

/* ── 도형 패널(#8) ── */
.itshape{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(15,10,12,.5) 38%)}
.itshape__row{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}
.itshape__row::-webkit-scrollbar{display:none}
.itshp{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:62px;height:62px;border-radius:14px;border:1.5px solid rgba(255,255,255,.5);background:rgba(20,12,16,.3);color:#fff;cursor:pointer;-webkit-appearance:none;appearance:none}
.itshp em{font-size:10px;font-weight:700;font-style:normal}
.itshp__ic--line{width:24px;height:0;border-top:3px solid #fff}
.itshp__ic--rect{width:20px;height:16px;border:2px solid #fff}
.itshp__ic--round{width:20px;height:16px;border:2px solid #fff;border-radius:5px}
.itshp__ic--circle{width:18px;height:18px;border:2px solid #fff;border-radius:50%}
.itshape__opts{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 10px}
.itshape__fill button{height:30px;padding:0 12px;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:rgba(20,12,16,.3);color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.itshape__fill button.on{background:#fff;color:#1c1316}
.itshape__thick{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:11px;font-weight:700}
.itshape__thick input{width:96px;accent-color:#fff}
.itshape__colors{display:flex;gap:13px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.itshape__colors::-webkit-scrollbar{display:none}
.itscw{width:28px;height:28px;border-radius:50%;flex:none;border:1.5px solid rgba(255,255,255,.55);cursor:pointer}
.itscw.on{box-shadow:0 0 0 2px #1c1316,0 0 0 4px #fff}
