/* 앙파티 아뜰리에 워크시트 — 새 디자인 시스템 (A4 세로 210×297mm)
   색: ink #1d1d1b / soft #58595b / paper #f2f0eb / olive #9bb53a / orange #f14c46 / purple #c8449b
   폰트: Paperlogy(본문·제목), Lexend Exa Light(영문 라벨) — 모두 SIL OFL */
@font-face{font-family:Paperlogy;font-weight:200;src:url('../assets/fonts/Paperlogy-2ExtraLight.woff2') format('woff2')}
@font-face{font-family:Paperlogy;font-weight:300;src:url('../assets/fonts/Paperlogy-3Light.woff2') format('woff2')}
@font-face{font-family:Paperlogy;font-weight:400;src:url('../assets/fonts/Paperlogy-4Regular.woff2') format('woff2')}
@font-face{font-family:Paperlogy;font-weight:600;src:url('../assets/fonts/Paperlogy-6SemiBold.woff2') format('woff2')}
@font-face{font-family:'Lexend Exa';font-weight:300;src:url('../assets/fonts/LexendExa-Light.woff2') format('woff2')}

:root{
  --c-ink:#1d1d1b; --c-body:#1d1d1b; --c-mute:#58595b;
  --c-paper:#f2f0eb; --c-sand:#f2f0eb; --c-stone:#d9d6cd; --c-border:#58595b;
  --c-olive:#9bb53a; --c-orange:#f14c46; --c-purple:#c8449b;
  --c-coral:#f14c46; --c-sage:#9bb53a; --c-blue:#1d1d1b; --c-yellow:#9bb53a;
  --ws-accent:#9bb53a; --ws-soft:#e5ecd0; --ws-hl:rgba(155,181,58,.45);
  --f-sans:Paperlogy,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-serif:Paperlogy,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-eng:'Lexend Exa',Paperlogy,sans-serif;
}
body[data-accent="orange"]{--ws-accent:#f14c46;--ws-soft:#fbd1cf;--ws-hl:rgba(241,76,70,.4)}
body[data-accent="purple"]{--ws-accent:#c8449b;--ws-soft:#f1cee5;--ws-hl:rgba(200,68,155,.4)}
body[data-accent="ink"]{--ws-accent:#1d1d1b;--ws-soft:#c6c5c5;--ws-hl:rgba(29, 29, 27,.25)}
body[data-accent="olive"]{--ws-accent:#9bb53a;--ws-soft:#e5ecd0;--ws-hl:rgba(155,181,58,.45)}

*{box-sizing:border-box;margin:0;padding:0;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
body{background:var(--c-paper);font-family:var(--f-sans);font-weight:400;color:var(--c-body);display:flex;flex-direction:column;align-items:center;padding-bottom:60px;word-break:keep-all}

/* 화면용 툴바 (인쇄 시 숨김) */
.top-toolbar{position:sticky;top:0;width:100%;background:var(--c-ink);color:#fff;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;z-index:9999}
.toolbar-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.toolbar-btns{display:flex;gap:8px}
.toolbar-btn{padding:9px 18px;border-radius:999px;font:600 13px var(--f-sans);cursor:pointer;border:1.5px solid #fff;display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;background:transparent;transition:background .2s,color .2s}
.toolbar-btn:hover{background:#fff;color:var(--c-ink)}
.btn-print{background:var(--c-olive);border-color:var(--c-olive);color:var(--c-ink)}
.btn-print:hover{background:#fff;border-color:#fff}
.btn-back{}

.sheet-container{display:flex;flex-direction:column;gap:32px;margin-top:28px}

/* A4 */
.a4-page{width:210mm;min-height:297mm;height:297mm;background:#fff;padding:14mm 16mm 12mm;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1.5px solid var(--c-ink);border-radius:4px}

/* 헤더 */
.ws-header{border-bottom:3px solid var(--ws-accent);padding-bottom:9px;margin-bottom:12px}
.ws-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ws-brand{display:flex;align-items:center;gap:9px}
.ws-brand-logo{font-family:var(--f-eng);font-weight:300;font-size:11px;letter-spacing:.22em;color:var(--c-ink)}
.ws-category-badge{font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--ws-soft);color:var(--c-ink)}
.ws-student-meta{display:flex;gap:16px;font-size:11.5px;color:var(--c-mute)}
.ws-meta-field{display:flex;align-items:center;gap:6px}
.ws-meta-line{display:inline-block;width:70px;border-bottom:1px solid var(--c-mute);height:14px}
.ws-title-wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.ws-main-title{font-weight:600;font-size:21px;color:var(--c-ink);line-height:1.28;letter-spacing:-.02em}
.ws-sub-title{font-size:12px;font-weight:300;color:var(--c-mute);margin-top:3px}
.ws-page-num{font-family:var(--f-eng);font-weight:300;font-size:10.5px;letter-spacing:.1em;color:var(--c-ink);border:1.5px solid var(--c-ink);padding:3px 10px;border-radius:999px;white-space:nowrap}

/* 랄라 안내 */
.lalla-thought-box{display:flex;align-items:center;gap:14px;background:var(--c-paper);border-radius:16px;padding:10px 16px;margin-bottom:12px}
.lalla-thumb{width:46px;height:auto;flex-shrink:0}
.lalla-speech{font-size:12.5px;line-height:1.55;color:var(--c-ink)}
.lalla-speech strong{font-weight:600;background:linear-gradient(transparent 62%,var(--ws-hl) 62%)}

.ws-content{flex:1;display:flex;flex-direction:column;gap:11px;min-height:0}

/* 질문 카드 */
.prompt-card{background:#fff;border:1.5px solid var(--c-ink);border-radius:14px;padding:11px 14px}
.prompt-title{font-size:13px;font-weight:600;color:var(--c-ink);margin-bottom:6px;display:flex;align-items:center;gap:8px}
.prompt-title::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ws-accent);flex-shrink:0}
.prompt-q{font-size:12.5px;line-height:1.5}
.prompt-qdesc{font-size:11px;font-weight:300;color:var(--c-mute);margin-bottom:3px}
.writing-lines{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.write-line{border-bottom:1px solid var(--c-stone);height:18px}
.writing-area{flex:1;min-height:18px;margin-top:4px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,var(--c-stone) 27px,var(--c-stone) 28px);background-size:100% 28px}

/* 드로잉 캔버스 */
.drawing-canvas-frame{flex:1;background:#fff;border:1.5px dashed var(--c-mute);border-radius:16px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:12px 14px;background-image:radial-gradient(var(--c-stone) 1px,transparent 1.2px);background-size:16px 16px}
.canvas-guide-label{font-size:11px;font-weight:600;color:var(--c-mute);display:flex;align-items:center;gap:4px}
.canvas-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--f-eng);font-weight:300;letter-spacing:.2em;font-size:20px;color:rgba(88,89,91,.16);pointer-events:none;white-space:nowrap}

.color-mix-row{display:flex;justify-content:space-around;align-items:center;padding:8px 0}
.color-circle{width:48px;height:48px;border-radius:50%;border:1.5px dashed var(--c-mute)!important;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--c-mute);text-align:center;background:#fff!important}

.ws-footer{border-top:1px solid var(--c-ink);padding-top:7px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:300;color:var(--c-mute);flex-shrink:0}
.ws-docent-sign{display:flex;align-items:center;gap:8px}

/* 표지 */
.a4-page--cover{padding:18mm 18mm 14mm;background:var(--c-paper) url('../assets/cover-art.webp') center/100% 100% no-repeat;border-color:var(--c-ink);text-align:center}
.cover-top-emblem{font-family:var(--f-eng);font-weight:300;font-size:11px;letter-spacing:.3em;margin-bottom:8px}
.cover-edition-tag{display:inline-block;font-family:var(--f-eng);font-weight:300;font-size:10px;letter-spacing:.14em;color:var(--c-ink);background:var(--ws-accent);padding:5px 14px;border-radius:999px;margin-bottom:20px}
.cover-main-title{font-weight:600;font-size:30px;line-height:1.3;letter-spacing:-.02em;margin-bottom:10px}
.cover-sub-title{font-size:14px;font-weight:300;color:var(--c-mute);line-height:1.55;margin-bottom:24px}
.cover-art-frame{flex:1;max-height:95mm;border:1.5px solid var(--c-ink);border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;margin-bottom:22px}
.cover-art-thumb{width:110px;height:auto;margin-bottom:12px}
.cover-welcome-text{font-size:12.5px;line-height:1.6;max-width:440px}
.cover-student-box{background:#fff;border:1.5px solid var(--c-ink);border-radius:14px;padding:14px 20px;margin-bottom:16px;text-align:left}
.cover-student-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:12px}
.cover-meta-item{display:flex;align-items:center;gap:8px}
.cover-meta-label{font-weight:600;width:65px;flex-shrink:0}
.cover-meta-line{flex:1;border-bottom:1px solid var(--c-mute);height:16px}
.cover-footer-note{font-size:10px;font-weight:300;color:var(--c-mute);letter-spacing:.04em}

@page{size:A4 portrait;margin:0}
@media print{
  html,body{background:#fff!important;padding:0!important;margin:0!important;width:210mm!important}
  .top-toolbar{display:none!important}
  .sheet-container{gap:0!important;margin:0!important;padding:0!important}
  .a4-page{width:210mm!important;height:296.5mm!important;max-height:297mm!important;min-height:296mm!important;padding:13.5mm 16mm 12mm!important;page-break-inside:avoid!important;break-inside:avoid!important;page-break-after:always!important;break-after:page!important;border:none!important;border-radius:0!important;margin:0!important;overflow:hidden!important}
  .a4-page:last-child{page-break-after:auto!important;break-after:auto!important}
}
@media (max-width:820px){.a4-page{transform-origin:top left}}

/* 빈 공간 채우기: 질문 카드는 남는 높이를 나눠 갖고, 캔버스는 남은 높이를 채움 */
.ws-content>.prompt-card{flex:1 1 auto;display:flex;flex-direction:column}
.ws-content>.prompt-card .writing-lines{flex:1;justify-content:space-evenly;margin-top:6px}
.ws-content>.prompt-card .write-line{height:0;flex:1;max-height:32px;min-height:18px}
.drawing-canvas-frame{height:auto!important;min-height:0!important}
.a4-page>div:first-child:not(.ws-header){flex:1;display:flex;flex-direction:column;min-height:0}
.a4-page.a4-page--cover>div:first-child:not(.ws-header){flex:0 0 auto}
.cover-edition-tag{align-self:center}
.a4-page--cover>div:first-child{background:rgba(242,240,235,.97);border-radius:20px;padding:16px 20px}
.lalla-thumb--peek{width:auto!important;height:58px;margin:-6px 0}
