/* 학생 다이아그램 올리기: 사진 찍기 · 사진 고르기 · 화면에 그리기를 크고 분명하게.
   영상 옆 "다이아그램" 칸(pg-choice)과 올리기 창(cs-choice)이 같은 모양을 쓴다. */

/* ── 영상 옆 칸 ── */
.pg-upload-hint{margin:-4px 0 12px;font-size:15px;line-height:1.5;color:var(--studio-muted)}
.pg-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.classroom-studio .pg-choice{display:grid;justify-items:center;align-content:center;gap:6px;min-height:136px;padding:14px 8px;border:2px solid var(--studio-line);border-radius:16px;background:#fff;color:var(--studio-ink);font:inherit;text-align:center;cursor:pointer;transition:background .12s,border-color .12s,transform .08s}
.classroom-studio .pg-choice:hover{border-color:#b6c3af;background:var(--studio-soft)}
.classroom-studio .pg-choice:active{transform:scale(.98)}
.classroom-studio .pg-choice.is-main{border-color:#e3a22d;border-bottom-width:5px;background:var(--studio-accent)}
.classroom-studio .pg-choice.is-main:hover{background:var(--studio-accent-hover)}
.classroom-studio .pg-choice:focus-visible{outline:3px solid var(--studio-green);outline-offset:3px}
.pg-choice-ico,.cs-choice-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#f1f3ed;color:var(--studio-ink)}
.is-main>.pg-choice-ico,.is-main>.cs-choice-ico{background:#ffffffb8}
.pg-choice-ico i,.cs-choice-ico i{transform:scale(1.35)}
.pg-choice strong,.cs-choice strong{font-size:18px;letter-spacing:-.3px}
.pg-choice small,.cs-choice small{font-size:13px;color:var(--studio-muted)}
.pg-choice.is-main small,.cs-choice.is-main small{color:#4a4128}
/* 제출한 그림이 옆에 있을 때는 좁으니 한 줄씩 */
.pg-creation-flow:not([data-state=ready]) .pg-choices{grid-template-columns:minmax(0,1fr)}
.pg-creation-flow:not([data-state=ready]) .pg-choice{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left;column-gap:12px;min-height:72px;padding:10px 14px}
.pg-creation-flow:not([data-state=ready]) .pg-choice .pg-choice-ico{grid-row:1/3;width:46px;height:46px}
.pg-creation-flow:not([data-state=ready]) .pg-choice strong{align-self:end}
.pg-creation-flow:not([data-state=ready]) .pg-choice small{align-self:start}
.classroom-studio .pg-sample-link{padding:12px 14px;border-radius:14px;font-size:16px}
.pg-sample-link img{width:52px;height:58px}
@media(max-width:420px){.pg-choices{grid-template-columns:minmax(0,1fr)}.classroom-studio .pg-choice{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left;column-gap:14px;min-height:72px;padding:10px 14px}.pg-choice .pg-choice-ico{grid-row:1/3;width:46px;height:46px}.pg-choice strong{align-self:end}.pg-choice small{align-self:start}}

/* ── 올리기 창 ── */
.cs-upload-dialog.classroom-studio{width:min(640px,95vw)}
.cs-upload-dialog>header h2{font-size:24px}
.cs-upload-dialog .cs-modal-body{padding:20px 22px 22px}
.cs-simple-upload{gap:16px}
.cs-step-title{margin:0;font-size:21px;font-weight:800;letter-spacing:-.4px;color:var(--studio-ink)}
.cs-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.cs-choices[hidden],.cs-photo-ready[hidden]{display:none}
.cs-upload-dialog .cs-choice{position:relative;display:grid;justify-items:center;align-content:center;gap:6px;min-height:156px;padding:16px 8px;border:2px solid var(--studio-line);border-radius:18px;background:#fff;color:var(--studio-ink);font:inherit;text-align:center;cursor:pointer;transition:background .12s,border-color .12s}
.cs-upload-dialog .cs-choice:hover{border-color:#b6c3af;background:var(--studio-soft)}
.cs-upload-dialog .cs-choice:focus-within{outline:3px solid var(--studio-green);outline-offset:3px}
.cs-upload-dialog .cs-choice.is-main{border-color:#e3a22d;border-bottom-width:5px;background:var(--studio-accent)}
.cs-upload-dialog .cs-choice.is-main:hover{background:var(--studio-accent-hover)}
.cs-upload-dialog .cs-choice input{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}
.cs-choice-ico{width:58px;height:58px}
.cs-choice strong{font-size:19px}
.cs-choice small{font-size:14px}

/* 사진을 고른 뒤: 크게 보여 주고 확인 */
.cs-photo-ready{display:grid;gap:10px;margin-top:10px}
.cs-upload-dialog #diagramUploadPreview{width:100%;max-height:340px;padding:10px;border:2px solid var(--studio-line);border-radius:18px;background:#fff;object-fit:contain}
.cs-upload-dialog .cs-replace{justify-self:center;min-height:46px;padding:8px 20px;border:2px solid var(--studio-line);border-radius:999px;background:#fff;color:var(--studio-ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.cs-upload-dialog .cs-replace:hover{background:var(--studio-soft)}

/* 선생님 예시를 올리기 전에 볼 수 있게 */
.cs-upload-sample{border:1px solid var(--studio-line);border-radius:14px;background:#fffdf5}
.cs-upload-sample[hidden]{display:none}
.cs-upload-sample>summary{padding:12px 16px;font-size:16px;font-weight:700;color:var(--studio-green);cursor:pointer}
.cs-upload-sample [data-sample-body]{display:grid;justify-items:center;gap:6px;padding:0 16px 16px}
.cs-upload-sample-img{display:block;max-width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:#fff}

/* 직접 그리기: 큰 버튼 · 색깔 동그라미 */
.cs-upload-dialog .cs-draw-toolbar{gap:8px}
.cs-upload-dialog .cs-draw-toolbar button{min-height:48px;padding:8px 14px;font-size:16px;font-weight:700}
.cs-swatches{display:inline-flex;align-items:center;gap:6px;padding:0 4px}
.cs-upload-dialog .cs-draw-toolbar button.cs-swatch{min-height:0;width:34px;height:34px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px #c9cfc4}
.cs-upload-dialog .cs-draw-toolbar button.cs-swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--studio-ink)}
.cs-upload-dialog #diagramCanvas{width:100%;height:auto;border:2px solid #b8c6af;border-radius:14px;touch-action:none}
.classroom-studio .cs-upload-alternative{min-height:46px;font-size:16px;font-weight:650;color:var(--studio-green)}

/* 올리기 · 한마디 */
.cs-upload-caption>summary{font-size:16px}
.cs-upload-dialog .cs-upload-caption textarea{font-size:16px}
.classroom-studio .cs-simple-upload-footer .cs-primary{min-height:58px;font-size:20px;border-radius:14px}
.cs-simple-upload-footer p{font-size:14px}

/* 카메라가 켜져 있을 때는 선택 카드를 감춘다 */
.cs-simple-upload:has(.cs-camera-stage:not([hidden])) :is(.cs-choices,.cs-step-title,.cs-upload-sample,.cs-photo-ready){display:none}

@media(max-width:480px){
  .cs-choices{grid-template-columns:minmax(0,1fr)}
  .cs-upload-dialog .cs-choice{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left;column-gap:16px;min-height:78px;padding:10px 16px}
  .cs-choice-ico{grid-row:1/3;width:52px;height:52px}
  .cs-choice strong{align-self:end}
  .cs-choice small{align-self:start}
}
