/* 한 수, 낙서 — 배우기 화면 (2026-11-01). style.css·puppets.css 위에 얹는 최소 규칙 */
.learn-intro{padding:28px 0 18px}
.learn-intro h1{margin:0 0 8px;font-family:var(--hand);font-size:44px;line-height:1.1}
.learn-lead{margin:0;max-width:40em;color:#55636b;font-size:15px;line-height:1.7}
.learn-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:32px;align-items:start}
.learn-menu h2{font-family:var(--hand);font-size:22px;margin:0 0 10px}
.learn-menu h2+ol+h2{margin-top:22px}
.learn-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.learn-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;border:1px solid transparent;min-height:44px}
.learn-item:hover{background:#efe9da}
.learn-item.is-active{background:#fff;border-color:#c9cbbb;box-shadow:2px 3px 0 #989b8e14}
.learn-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
.learn-name{font-weight:700;font-size:14px;line-height:1.3}
.learn-name small{display:block;font-weight:400;font-size:12px;color:#6d7578;margin-top:2px}
.learn-stars{color:#c8932f;font-size:12px;letter-spacing:1px;white-space:nowrap}
.learn-list--puzzles{grid-template-columns:repeat(5,1fr)}
.learn-chip{display:grid;place-items:center;min-height:44px;border-radius:8px;border:1px solid #c9cbbb;color:var(--ink);text-decoration:none;font-weight:700;background:#fcfaf3}
.learn-chip:hover{background:#efe9da}
.learn-chip.is-solved{background:#e7f0e2;border-color:#9fb994}
.learn-chip.is-active{outline:2px solid var(--blue);outline-offset:1px}
.learn-total{margin:16px 0 0;font-size:12px;color:#6d7578}
.learn-stage{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.learn-board-wrap{grid-column:1;grid-row:1}
.stage-card{grid-column:2;grid-row:1;position:sticky;top:16px}
.stage-card h2{font-family:var(--hand);font-size:26px;margin:0 0 10px}
.stage-text{margin:0 0 12px;line-height:1.7;font-size:15px}
.stage-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#6d7578;min-height:18px}
.stage-stars{color:#c8932f;letter-spacing:1px}
.stage-status{min-height:3em;margin:12px 0;font-weight:700;line-height:1.5}
.stage-status[data-tone="good"]{color:#3f7a47}
.stage-status[data-tone="bad"]{color:var(--red)}
.stage-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.stage-actions .primary-btn,.stage-actions .text-btn{min-height:44px}
.square.goal::before{content:"";position:absolute;inset:18%;border-radius:50%;border:3px dashed #c8932f;opacity:.9;pointer-events:none}
.goal-star{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(16px,4.2vw,30px);color:#d39a2c;text-shadow:0 1px 0 #fff;animation:goal-pulse 1.6s ease-in-out infinite;pointer-events:none}
@keyframes goal-pulse{50%{transform:scale(1.15)}}
.learn-guide{margin:36px 0 10px;max-width:46em}
.learn-guide h2{font-family:var(--hand);font-size:26px}
.learn-guide li{line-height:1.8;margin-bottom:4px}
@media(max-width:1050px){.learn-layout{grid-template-columns:1fr}.learn-menu{order:2}.learn-stage{order:1}}
@media(max-width:760px){.learn-stage{grid-template-columns:1fr}.stage-card{grid-column:1;grid-row:1;position:static}.learn-board-wrap{grid-row:2}.learn-intro h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.goal-star{animation:none}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.learn-page .site-header nav .nav-link{white-space:nowrap}
@media(max-width:420px){.learn-page .site-header nav{gap:10px}.learn-page .site-header nav .nav-link{font-size:12px}.learn-page .brand small{letter-spacing:1px}}
/* 2026-11-04 오늘의 한 문제 카드 */
.daily-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center;margin:0 0 26px}
.daily-card h2{font-family:var(--hand);font-size:28px;margin:0 0 6px}
.daily-state{margin:0;font-weight:700;line-height:1.5}
.daily-state[data-tone="good"]{color:#3f7a47}
.daily-state[data-tone="bad"]{color:var(--red)}
.daily-streak{margin:4px 0 0;font-size:12px;color:#6d7578}
.daily-actions{flex-direction:column;align-items:stretch;min-width:180px}
@media(max-width:760px){.daily-card{grid-template-columns:1fr}.daily-actions{flex-direction:row;align-items:center}}
