/* 이미지 스튜디오(#/image) — 렌더 스튜디오와 같은 두 칸. 왼쪽 설명·참고·크기, 오른쪽 결과, 아래 이 브라우저 기록. */
.image-page{max-width:1280px}
.image-back{font-size:13px;color:var(--muted)}
.image-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 42px}
.image-heading h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.045em;margin:8px 0 14px}
.image-heading p:last-child{color:var(--muted);font-size:17px}
.image-badge{white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:10px 17px;font-size:13px}
.image-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:26px;align-items:start}
.image-panel,.image-result{border:1px solid var(--line);border-radius:16px}
.image-panel{padding:25px}
.image-page h2{font-size:14px;font-weight:500;letter-spacing:.04em;margin:28px 0 14px}
.image-page h2 span{font-size:18px;font-weight:650;letter-spacing:-.02em;margin-left:9px}
.image-page h2 em{font-style:normal;font-size:12px;color:var(--muted);margin-left:8px;letter-spacing:0}
.image-panel [data-session]:not(:empty){font-size:13px;line-height:1.7;margin-bottom:18px}
.image-panel [data-session] p{margin:0 0 10px}
.image-workspace{display:block;font-size:13px;margin-bottom:6px}
.image-workspace select,.image-field select{display:block;width:100%;margin-top:7px;padding:9px;background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:12px}
.image-panel textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:130px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px;line-height:1.6}
.image-panel textarea:focus{outline:2px solid var(--ink);outline-offset:2px}
.image-ideas{display:grid;gap:4px;margin-top:10px}
.image-ideas>span{font-size:12px;color:var(--muted)}
.image-ideas .text-button{text-align:left;font-size:12px;line-height:1.6;color:var(--muted);padding:2px 0}
.image-ideas .text-button:hover{color:var(--ink)}
.image-drop{display:grid;position:relative;place-items:center;align-content:center;gap:8px;border:1px dashed var(--muted);border-radius:10px;min-height:96px;padding:14px;cursor:pointer;background:var(--paper);text-align:center}
.image-drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.image-drop:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.image-drop strong{font-size:13px}
.image-drop span{font-size:11px;color:var(--muted)}
.image-refs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.image-refs:empty{display:none}
.image-refs figure{position:relative;margin:0;aspect-ratio:1;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}
.image-refs img{width:100%;height:100%;object-fit:cover;display:block}
.image-ref-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:14px;line-height:1;cursor:pointer}
.image-aspects{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border:0;padding:0;margin:0 0 14px}
.image-aspects legend{font-size:13px;margin-bottom:7px}
.image-aspects label{position:relative}
.image-aspects input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.image-aspects span{display:block;text-align:center;font-size:11px;padding:9px 2px;border:1px solid var(--line);border-radius:6px;background:var(--paper);white-space:nowrap}
.image-aspects input:checked+span{border-color:var(--ink);font-weight:650}
.image-aspects input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.image-field{display:block;font-size:13px;margin:0 0 14px}
.image-go{width:100%;justify-content:center;margin-top:20px}
.image-page button:disabled{opacity:.45;cursor:default}
.image-allowance{font-size:12px;color:var(--muted);margin:10px 0 0}
.image-allowance:empty,.image-message:empty{display:none}
.image-message{font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:12px 0 0}
.image-result{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.image-result>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:24px}
.image-result>header h2{margin:0}
.image-result>header>span{font-size:12px;color:var(--muted);text-align:right}
.image-stage{display:flex;align-items:center;justify-content:center;min-height:460px;padding:16px;background:color-mix(in srgb,var(--paper) 90%,var(--line))}
.image-stage.is-busy>*{opacity:.45}
.image-stage.is-busy{animation:image-wait 1.6s ease-in-out infinite}
@keyframes image-wait{50%{background:color-mix(in srgb,var(--paper) 80%,var(--line))}}
@media(prefers-reduced-motion:reduce){.image-stage.is-busy{animation:none}}
.image-output{display:block;max-width:100%;max-height:72vh;height:auto;border-radius:6px}
.image-empty{text-align:center;padding:24px}
.image-empty p{font-size:16px;font-weight:600;margin:0 0 10px}
.image-empty span{font-size:12px;color:var(--muted)}
.image-actions{display:flex;flex-wrap:wrap;gap:8px;padding:20px 22px 10px}
.image-actions>span{flex:1}
.image-actions .button{font-size:12px;min-height:38px;padding:9px 13px}
.image-note{font-size:12px;line-height:1.8;color:var(--muted);margin:4px 24px 0}
.image-note:last-child{margin-bottom:24px}
.image-history{margin-top:40px}
.image-history>header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px}
.image-history>header h2{margin:0}
.image-history>header span{font-size:12px;color:var(--muted)}
.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.image-grid figure{margin:0;display:grid;gap:6px}
.image-grid figure>button:first-child{padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);cursor:pointer;aspect-ratio:1}
.image-grid img{width:100%;height:100%;object-fit:cover;display:block}
.image-grid figcaption{font-size:12px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.image-grid .text-button{justify-self:start;font-size:12px}
.image-muted{font-size:13px;color:var(--muted)}
.image-page [hidden]{display:none!important}
@media(max-width:850px){
  .image-layout{grid-template-columns:1fr}
  .image-panel{padding:22px}
  .image-heading{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:28px}
  .image-heading p:last-child{font-size:14px}
  .image-badge{padding:8px 11px;font-size:11px}
  .image-stage{min-height:280px}
  .image-result>header{padding:20px}
  .image-actions{padding:16px}
  .image-grid{grid-template-columns:repeat(2,1fr)}
}
