.personal-lesson-page .lesson-board-toolbar{display:flex;align-items:center;gap:8px}
.personal-lesson-page .lesson-board-back{display:grid;place-items:center;text-decoration:none;flex:0 0 38px;min-height:38px}
.personal-lesson-page .fox-bubble small{display:block;font-size:.75rem;color:#756457;margin-bottom:6px}
.personal-lesson-page .fox-bubble p{margin:10px 0;line-height:1.5}
.personal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.personal-actions .button{min-height:44px;padding:9px 13px;font-size:.88rem;flex:1;text-align:center;white-space:normal}

.personal-lesson-page .strategy-board-prompt{margin:6px 0 0;text-align:center;font-size:.88rem}
.personal-ticket{display:flex;align-items:center;gap:16px;margin:0 0 26px;padding:16px 20px;border:1px solid #ed894c;border-radius:14px;background:#fff7ea;box-shadow:0 5px 0 #c67e3e,0 10px 20px #61412212;color:#302921}
.personal-ticket img{width:64px;height:64px;object-fit:contain;flex:none}
.personal-ticket-copy{flex:1;min-width:0}.personal-ticket-copy small{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#9b480d}.personal-ticket-copy strong{display:block;font-size:1.1rem}.personal-ticket-copy p{margin:4px 0 0;font-size:.82rem;color:#71665d}
.personal-ticket .button{min-height:44px;white-space:nowrap}
#personal-error{max-width:620px;margin:15px auto;color:#922f1c}#personal-retry{display:block;margin:10px auto}#personal-retry[hidden]{display:none}
@media(max-width:680px){.personal-ticket{gap:10px;padding:12px;margin-bottom:23px}.personal-ticket img{width:42px;height:42px}.personal-ticket-copy strong{font-size:.95rem}.personal-ticket-copy p{font-size:.75rem}.personal-ticket .button{font-size:.8rem;padding:10px}.personal-lesson-page .lesson-board-toolbar{gap:5px}.personal-lesson-page .lesson-board-back{flex-basis:34px;min-height:44px}.personal-lesson-page .lesson-trail li{padding:9px 2px}.personal-lesson-page .fox-message{grid-template-columns:58px minmax(0,1fr)}.personal-lesson-page .fox-message img{width:62px;height:62px}.personal-lesson-page .fox-bubble{padding:12px}.personal-lesson-page .lesson-panel{min-height:0}.personal-actions .button{font-size:.8rem;padding:9px}.personal-lesson-page .strategy-main{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.personal-lesson-page *{animation:none!important;transition:none!important}}

.personal-lesson-page .lesson-board-toolbar{letter-spacing:normal;text-transform:none}
.personal-lesson-page .personal-sound{flex:0 0 34px}
@media(max-width:680px){.personal-lesson-page .strategy-main{width:calc(100% - 16px)}}

.personal-lesson-page .strategy-board-prompt{line-height:1.4;padding:2px 4px}
.personal-actions:empty{display:none}

.personal-hearts{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;min-width:0}
.personal-heart{position:relative;width:38px;max-width:18%;line-height:0;filter:drop-shadow(0 3px 0 #7b51462b)}
.personal-heart img{display:block;width:100%;height:auto;filter:grayscale(1);opacity:.45}.personal-heart.is-current img{filter:none;opacity:.75}.personal-heart.is-done img{filter:none;opacity:1}
.personal-heart.is-current{transform:translateY(-2px);filter:drop-shadow(0 3px 3px #c6753d55)}
.personal-board-status{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 4px 2px}
.personal-board-status .strategy-board-prompt{margin:0;padding:0;text-align:left}
.personal-board-status>span{font-size:.75rem;color:#796b5e;white-space:nowrap}
.personal-practice-note{text-align:center;font-size:.75rem;color:#796b5e;line-height:1.5;margin:15px 0 0}
.personal-lesson-page .fox-bubble strong{margin-bottom:8px}
@media(max-width:680px){.personal-hearts{gap:5px}.personal-heart{position:relative;width:34px}.personal-lesson-page .lesson-stage{gap:18px}}

.personal-heart>span{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:3px;color:#fffaf1;font-size:19px;font-weight:900;text-shadow:0 1px 2px #933e2b}
.personal-lesson-page .personal-actions .button{display:flex;align-items:center;justify-content:center;gap:6px}
.personal-lesson-page .personal-actions .button img{width:28px;height:28px;object-fit:contain;flex:none}
.personal-lesson-page .strategy-board-shell{position:relative;isolation:isolate}
.personal-lesson-page .strategy-board-shell .completion-confetti{border-radius:10px}
.personal-next-bar{position:fixed;z-index:100;bottom:0;left:0;right:0;display:flex;justify-content:center;margin:0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#fff7ed 80%,#fff7ed00);border-top:1px solid #dfd1c080;backdrop-filter:blur(8px)}
.personal-lesson-page .personal-next-bar .button{flex:0 1 480px;min-height:48px;font-size:1rem}
.personal-lesson-page .has-next-bar{padding-bottom:100px}

.personal-lesson-page .fox-bubble{text-align:left;justify-content:stretch}
.personal-lesson-page .personal-actions .button img{position:static;transform:none;filter:none;z-index:auto;display:block;margin:0}
.personal-lesson-page .personal-actions .button>span{display:block;line-height:1}
.personal-lesson-page .lesson-board-toolbar .lesson-board-back{width:34px;height:32px;min-height:32px;flex:0 0 34px;margin:0 0 4px;padding:0}
.personal-lesson-page .fox-message.is-wrong{animation:puzzle-task-fox-wrong-shake .46s cubic-bezier(.36,.07,.19,.97) both}
.personal-lesson-page .fox-message.is-wrong .fox-bubble{border-color:#dca39e;background:linear-gradient(155deg,#fffdfc 0%,#fff0ed 100%);box-shadow:inset 0 1px 0 #fffffffa,inset 0 -2px 5px #b7453e14,0 5px 0 #c98178,0 12px 23px #5b2d272e}
.personal-lesson-page .fox-message.is-wrong .fox-bubble>strong{color:#a43f38}

.personal-lesson-page .fox-bubble{row-gap:0;line-height:1.46}
.personal-lesson-page .fox-bubble>strong,.personal-lesson-page .fox-bubble>p,.personal-lesson-page .fox-bubble>[data-teaching-text]{margin:0;line-height:inherit}
.personal-lesson-page .fox-bubble .personal-actions{margin-top:10px}

.personal-loading-title{flex:1;text-align:center;text-transform:none;letter-spacing:normal;font:600 .95rem/1.3 Quicksand,sans-serif}
.personal-loading-board{position:relative;overflow:hidden;isolation:isolate;pointer-events:none}
.personal-loading-board .board-square{aspect-ratio:1;min-width:0}
.personal-board-scan{position:absolute;z-index:2;inset:0 0 auto;height:24%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,244,214,.2) 65%,rgba(255,235,187,.7));border-bottom:2px solid rgba(255,242,208,.95);box-shadow:0 8px 24px rgba(255,215,150,.28);animation:personal-board-scan 2.4s ease-in-out infinite alternate}
@keyframes personal-board-scan{from{transform:translateY(-100%)}to{transform:translateY(420%)}}
#personal-app[aria-busy="false"] .personal-board-scan{display:none}
@media(prefers-reduced-motion:reduce){.personal-board-scan{animation:none;transform:translateY(160%);opacity:.55}}

/* Reserve one status row for initial loading, failure, and retry. */
.personal-load-status{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:12px;min-height:72px;margin:0 4px;padding:12px 0 4px}
.personal-load-copy{min-width:0;color:#40362e;font-size:13px;line-height:1.45}
.personal-load-copy strong,.personal-load-copy span{display:block}
.personal-load-copy strong{font-weight:700}
.personal-load-copy span{margin-top:3px;color:#796b5e;font-size:12px;overflow-wrap:anywhere}
.personal-load-copy [hidden],#personal-load-retry[hidden]{display:none}
#personal-load-retry{box-sizing:border-box;min-height:44px;width:100%;margin:0;padding:10px 12px;font-size:13px;white-space:nowrap}
#personal-load-retry:disabled{cursor:wait;opacity:.65}

.personal-practice-result{font-weight:800}.personal-followup{font-size:12px;color:#776150}
