.band-home-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:9px}
.band-home-card{display:flex;flex-direction:column;gap:3px;min-height:76px;padding:13px 9px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:center;text-decoration:none}
.band-home-card:hover,.unit-card:hover{border-color:#9db4ec;transform:translateY(-2px)}
.band-home-card strong{font-size:17px;color:var(--accent)}.band-home-card span{font-size:10px;color:var(--muted)}
.learning-status{font-size:12px;color:var(--muted);margin:12px 0 29px}.learning-status a{color:var(--accent)}
.search-label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.search-input{max-width:420px;margin-bottom:15px}
.band-filter{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 20px}.band-filter button{border:1px solid var(--line);border-radius:99px;background:#fff;padding:7px 13px;font-size:12px;font-weight:700}
.band-filter button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.unit-card{display:flex;flex-direction:column;min-height:174px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;transition:.15s}
.unit-card .unit-band{font-size:11px;color:var(--accent);font-weight:700}.unit-card strong{font-size:18px;margin-top:7px;line-height:1.4}.unit-chars{font-family:var(--hanja);font-size:23px;letter-spacing:3px;color:#4d5b75;margin:9px 0;overflow-wrap:anywhere}.unit-bottom{font-size:11px;color:var(--accent);font-weight:700;margin-top:auto}
.empty-search{background:#fff;border:1px dashed var(--line);padding:25px;text-align:center;border-radius:12px;color:var(--muted)}
.unit-actions,.record-tools{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:11px}
.character-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);background:#fff;border-radius:13px}.character-card strong{font-family:var(--hanja);font-size:32px;font-weight:500}.character-card span{font-size:12px;color:var(--muted)}
.word-list{display:flex;flex-wrap:wrap;gap:8px}.word-list span{padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:12px}.word-list b{font-family:var(--hanja);font-size:17px;margin-right:6px}
.lesson-question h2{font-size:14px;min-height:34px}.lesson-options{border:0;padding:0;margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}.lesson-options .option span{overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dots{display:flex;justify-content:center;gap:10px;min-height:72px;align-items:center}.dots i{width:16px;height:16px;border-radius:50%;background:var(--accent)}
.picture-icon{display:grid;place-items:center;height:92px}.picture-icon svg{height:80px;width:80px}
.write-details{border-top:1px solid var(--line);margin-top:15px;padding-top:10px}.write-details summary{cursor:pointer;font-size:12px;color:var(--accent);font-weight:700}.write-details .text-button{margin-top:4px}
.canvas-wrap{position:relative;margin-top:10px}.canvas-wrap>span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--hanja);font-size:72px;color:#e2e7f1;pointer-events:none}.canvas-wrap canvas{position:relative;z-index:1;margin:0;background-color:transparent}
.step-actions{display:flex;gap:7px}.stamp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.stamp{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;padding:18px 7px;border:1px dashed #b6c4de;border-radius:14px;background:#fff;color:var(--muted);min-height:135px;text-align:center}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}#feedback-dialog label{display:block;font-size:12px;font-weight:700;margin:12px 0 5px}#feedback-dialog textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical;min-height:125px}#feedback-status{min-height:1.5em}
.privacy-page{max-width:760px;min-height:0;margin:auto;padding:45px 20px}.privacy-page>a{color:var(--accent)}.privacy-page h1{font-size:30px;margin:18px 0 30px}.privacy-page h2{font-size:19px;margin:27px 0 8px}.privacy-page p{color:var(--muted);font-size:14px;line-height:1.8}
.stamp.earned{border:1px solid #8dcba9;background:#f1fbf4;color:var(--green)}.stamp>span{font-size:30px;line-height:1.2}.stamp strong{font-size:13px}.stamp small{font-size:10px;line-height:1.4}.record-tools{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
@media(max-width:900px){.band-home-grid{grid-template-columns:repeat(5,1fr)}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.main-nav{gap:1px}.main-nav a{font-size:11px;padding:7px 10px}.band-home-grid{grid-template-columns:repeat(3,1fr)}.band-home-card{min-height:69px;padding:10px 7px}.unit-grid{grid-template-columns:1fr}.unit-card{min-height:145px}.unit-actions .button{flex:1 1 145px}.lesson-options{grid-template-columns:1fr 1fr}.stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stamp{min-height:115px}.record-tools .button{flex:1 1 100%}}
@media print{
  .picture-icon{height:14mm}.picture-icon svg{height:13mm;width:13mm}.print-question .print-options{line-height:1.5;word-break:keep-all}.print-question{min-height:37mm}
  .print-page.write-page,.print-page.sheet-page{display:flex;flex-direction:column}.write-page .print-footer,.sheet-page .print-footer{margin-top:auto}
  .write-rows{display:grid;gap:2mm}.write-row{display:grid;grid-template-columns:23mm 1fr;align-items:stretch;gap:2mm;break-inside:avoid}.write-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1mm;border:1px solid #888;background:#fff;text-align:center}.write-label b{font-size:7pt;font-weight:600;color:#444}.write-label strong{font-family:var(--hanja);font-size:26pt;font-weight:500;line-height:1.1}.write-label span{font-size:8pt;line-height:1.2;word-break:keep-all}.write-lines{display:grid;gap:1mm}.write-cells{display:grid;grid-template-columns:repeat(6,1fr);gap:1mm}.write-cells span{position:relative;display:block;height:var(--cell-h,24mm);border:1px solid #888;overflow:hidden}.write-cells span::before,.write-cells span::after{content:"";position:absolute;border:0 dashed #bbb}.write-cells span::before{left:50%;top:0;bottom:0;border-left-width:1px}.write-cells span::after{top:50%;left:0;right:0;border-top-width:1px}.write-cells .trace{display:grid;place-items:center;font-family:var(--hanja);font-size:calc(var(--cell-h,24mm)*.68);line-height:1}.write-cells .t1{color:#59616b}.write-cells .t2{color:#a3abb5}.write-cells .t3{color:#d0d5db}
  .write-recall{margin-top:4mm}.write-recall h2{font-size:10pt;margin:0 0 2mm}.write-recall>div{display:grid;grid-template-columns:repeat(var(--n),minmax(0,24mm));gap:2mm;justify-content:space-between}.write-recall>div>div{border:1px solid #888;display:flex;flex-direction:column}.write-recall small{font-size:7.5pt;text-align:center;padding:1mm 0;border-bottom:1px solid #888;word-break:keep-all}.write-recall i{display:block;height:20mm}
  .sheet-title{font-size:10.5pt;margin:0 0 2mm;padding:1mm 2mm;border-left:3px solid #146B55;background:#F1F6F3}.sheet-questions{display:grid;grid-template-columns:1fr 1fr;gap:0 6mm;margin-bottom:4mm}.sheet-question{min-height:var(--q-h,20mm);border-bottom:1px solid #DDD;padding:1.5mm 0;break-inside:avoid}.sheet-question h3{font-size:9pt;font-weight:600;margin:0 0 1mm;line-height:1.35}.sheet-question-body{display:flex;align-items:center;gap:3mm}.sheet-question .print-hanja{font-family:var(--hanja);font-size:20pt;line-height:1.1;margin:0;min-width:11mm;text-align:center}.sheet-question .print-options{font-size:9pt;line-height:1.5;margin:0;word-break:keep-all}.sheet-question .picture-icon{height:12mm;flex:none}.sheet-question .picture-icon svg{height:12mm;width:12mm}.sheet-dots{font-size:10pt;margin:0;white-space:nowrap}
  .sheet-match{margin-bottom:4mm}.match-row{display:grid;grid-template-columns:36mm 3mm 1fr 3mm 36mm;align-items:center;height:7mm}.match-row i{display:block;width:2mm;height:2mm;border-radius:50%;background:#222}.match-left,.match-right{font-size:10pt}.match-left{text-align:right;padding-right:2mm;font-family:var(--hanja);font-size:14pt}.match-right{padding-left:2mm}.match-hanja{font-family:var(--hanja);font-size:14pt}
  .sheet-write{width:100%;border-collapse:collapse;table-layout:fixed}.sheet-write th{font-size:8.5pt;font-weight:600;background:#F1F6F3;border:1px solid #888;padding:1mm}.sheet-write td{height:var(--row-h,13mm);border:1px solid #888;text-align:center;font-size:10pt;padding:0;line-height:1}.sheet-write-hanja{font-family:var(--hanja);font-size:18pt!important}.sheet-write .sheet-trace{font-family:var(--hanja);font-size:18pt;color:#a3abb5}
  .print-page.story-page{display:flex;flex-direction:column}.story-page .print-footer{margin-top:auto}.story-talk{display:flex;align-items:center;gap:4mm;margin-bottom:4mm}.story-talk img{width:15mm;height:auto;flex:none}.story-talk p{position:relative;margin:0;flex:1;border:1.5px solid #146B55;border-radius:4mm;padding:2.5mm 4mm;font-size:9.5pt;line-height:1.5}.story-talk b{display:block;font-size:11pt;color:#146B55}.story-list{display:grid;gap:2mm}.story-card{display:grid;grid-template-columns:30mm 1fr 26mm;min-height:var(--story-h,30mm);border:1px solid #888;break-inside:avoid}.story-char{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #888;background:#F1F6F3;padding:1mm}.story-char strong{font-family:var(--hanja);font-size:34pt;font-weight:500;line-height:1.1}.story-char span{font-size:9pt;font-weight:600}.story-text{display:flex;flex-direction:column;justify-content:center;gap:1.5mm;padding:1.5mm 4mm;word-break:keep-all}.story-text p{margin:0;font-size:10pt;line-height:1.5}.story-text .story-word{font-size:9pt;color:#333}.story-word b{font-weight:700;color:#146B55;margin-right:1mm}.story-write{position:relative;border-left:1px solid #888}.story-write::before,.story-write::after{content:"";position:absolute;border:0 dashed #bbb}.story-write::before{left:50%;top:0;bottom:0;border-left-width:1px}.story-write::after{top:50%;left:0;right:0;border-top-width:1px}.story-words{margin-top:3mm}.story-words h2{font-size:10pt;margin:0 0 1.5mm}.story-words>div{display:grid;grid-template-columns:1fr 1fr;gap:1mm 5mm}.story-words p{font-size:10pt;margin:0}.story-words b{font-family:var(--hanja);font-size:13pt;font-weight:500}.story-note{margin:2mm 0 0}.write-dense{gap:1mm}.write-dense .write-label{flex-direction:row;gap:1.5mm}.write-dense .write-label strong{font-size:15pt}.write-dense .write-label span{font-size:7pt}.write-dense .write-label b{display:none}.write-label .order-svg{width:19mm;height:19mm;display:block}.order-svg .o-glyph{fill:#4b5563}.order-svg .o-line{fill:none;stroke:#d33;stroke-width:12;opacity:.55}.order-svg .o-num circle{r:54px;fill:#fff;stroke:#d33;stroke-width:8}.order-svg .o-num text{fill:#c1121f;font:700 60px sans-serif;text-anchor:middle;dominant-baseline:central}.write-dense .write-label .order-svg{width:13mm;height:13mm}.write-label .stroke-n{font-style:normal;font-size:8pt;font-weight:700;color:#146B55;line-height:1.1}.write-dense .write-label .stroke-n{font-size:7pt}
  .write-medium .write-row{grid-template-columns:28mm 1fr}.write-medium .write-label{display:grid;grid-template-columns:15mm minmax(0,1fr);grid-template-rows:auto auto;gap:.5mm;align-items:center;justify-items:center;padding:.5mm}.write-medium .write-label b{display:none}.write-medium .write-label .order-svg,.write-medium .write-label strong{grid-column:1;grid-row:1/3;width:15mm;height:15mm}.write-medium .write-label strong{font-size:18pt;line-height:15mm}.write-medium .write-label span{grid-column:2;grid-row:1;font-size:7pt;line-height:1.1;word-break:normal;overflow-wrap:anywhere}.write-medium .write-label .stroke-n{grid-column:2;grid-row:2;font-size:7pt}
  .sheet-answer-list{display:flex;flex-wrap:wrap;gap:1.5mm 7mm;font-size:10pt;margin-bottom:5mm}.sheet-answer-list b{font-family:var(--hanja);font-size:12pt;font-weight:500}.answer-page .print-answers{margin-bottom:5mm}
  .concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}.concept-grid>div{border:1px solid #ccc;min-height:35mm;display:flex;align-items:center;justify-content:center;gap:4mm;break-inside:avoid}.concept-grid strong{font-family:var(--hanja);font-size:28pt;font-weight:500}.concept-grid span{font-size:9pt}.concept-page h2{font-size:12pt;margin:8mm 0 2mm}.concept-words{display:grid;grid-template-columns:1fr 1fr;gap:1mm 5mm}.concept-words p{font-size:10pt;margin:0}.concept-words b{font-family:var(--hanja);font-size:13pt}
}
.order-strip{display:grid;grid-template-columns:repeat(var(--n),minmax(0,12mm));gap:.8mm;justify-content:start}
.order-step{position:relative;display:block;aspect-ratio:1;max-height:12mm;border:1px solid #B9C2BE;border-radius:1.2mm;background:#FFF}
.order-step svg{display:block;width:100%;height:100%}
.order-step b{position:absolute;left:.4mm;top:0;font-size:5.5pt;line-height:1.1;color:#C2372F}
.o-grid{stroke:#E3E7E5;stroke-width:10;stroke-dasharray:30 30;fill:none}.o-past{fill:#9AA39F}.o-now{fill:#E0342A}.o-next{fill:#EEF1EF}.o-start{fill:#1E9E5A;stroke:#FFF;stroke-width:14}
@media print{.order-strip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
