/* KishMat 58.55: verified progress, achievements and the lightweight pawn companion. */
.mastery-insights{margin:25px 0;padding:clamp(15px,2.4vw,26px);border-radius:28px;border:1px solid #c4e2d5;background:linear-gradient(135deg,#f5fff9,#fff 60%,#fffaf0);box-shadow:0 12px 35px #1e594213;color:#1a4035}
.mastery-insights-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.mastery-insights-eyebrow{color:#1d9270;font-size:.78rem;font-weight:850}.mastery-insights-head h2{margin:3px 0;font-size:clamp(1.2rem,2.6vw,1.65rem);font-weight:950;color:#153c31}.mastery-insights-head p,.mastery-badges-head p{font-size:.8rem;line-height:1.8;color:#647e70;margin:2px 0}.mastery-insights-rating{border:1px solid #c9e7d8;border-radius:15px;background:#fff;display:grid;text-align:center;padding:10px 16px;min-width:125px;box-shadow:0 4px 12px #3259470a}.mastery-insights-rating span{font-size:.7rem;color:#588070;font-weight:800}.mastery-insights-rating strong{font-size:1.55rem;color:#177355;font-weight:950}
.mastery-insights-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mastery-insights-stat{border:1px solid #dfede4;border-radius:15px;background:#fff;padding:12px;display:grid;gap:5px}.mastery-insights-stat span{font-size:.74rem;font-weight:800;color:#55766b}.mastery-insights-stat strong{font-size:clamp(1.16rem,2vw,1.6rem);color:#174d3d;line-height:1.2;font-weight:950}.mastery-insights-stat strong small{font-size:.65rem;color:#5a7a70}
.mastery-insights-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin-top:12px}.mastery-insights-panel{min-width:0;border:1px solid #dceee1;background:#fff;border-radius:19px;padding:15px}.mastery-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.mastery-panel-title h3{margin:0;font-size:.95rem;color:#234b3b}.mastery-panel-title>span{font-size:.72rem;color:#68867a}.mastery-panel-note{font-size:.68rem;color:#81988b;margin:8px 0 0;line-height:1.6}.mastery-week-chart{height:139px;margin-top:8px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end}.mastery-week-day{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;height:100%}.mastery-week-value{font-size:.7rem;color:#557969;line-height:1.2}.mastery-week-column{flex:1;width:100%;max-width:35px;background:#f0f7f1;display:flex;align-items:end;border-radius:9px 9px 5px 5px;overflow:hidden}.mastery-week-column span{display:block;width:100%;border-radius:7px 7px 4px 4px;background:#dcefe4;min-height:2px}.mastery-week-column span.is-active{background:linear-gradient(#5ccba2,#208b68);animation:mastery-chart-grow .65s ease-out both;transform-origin:center bottom}.mastery-week-day small{font-size:.67rem;color:#627f70}.mastery-topic-row{margin-top:11px}.mastery-topic-row>div:first-child{display:flex;justify-content:space-between;gap:7px;align-items:baseline}.mastery-topic-row strong{font-size:.77rem;color:#355d4d;font-weight:800}.mastery-topic-row small{font-size:.69rem;color:#789188}.mastery-topic-track{height:8px;background:#e6efe8;border-radius:100px;overflow:hidden;margin-top:5px}.mastery-topic-track span{display:block;height:100%;background:linear-gradient(90deg,#77dba6,#219c73);border-radius:99px}.mastery-topics-empty{font-size:.82rem;color:#628473;line-height:1.8}
.mastery-badges-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:21px 0 10px}.mastery-badges-head h3{font-size:1.05rem;font-weight:950;margin:0;color:#204c3d}.mastery-badges-head>strong{background:#e2f8ed;color:#187658;border:1px solid #bcebd6;border-radius:40px;padding:6px 13px;direction:ltr;font-size:.85rem}.mastery-next-badge{display:flex;align-items:center;gap:10px;border:1px dashed #e6cc8f;background:#fff7e7;border-radius:14px;padding:10px 13px;margin-bottom:12px}.mastery-next-badge>span{font-size:1.6rem;color:#b87d20;flex:none}.mastery-next-badge>div{display:grid;gap:3px;flex:1;min-width:0}.mastery-next-badge strong{font-size:.78rem;color:#765318}.mastery-next-badge small{font-size:.72rem;color:#93774d}.mastery-next-badge progress{width:90px;height:8px;accent-color:#c48e31}.mastery-badges-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mastery-badge{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;min-width:0;min-height:157px;border-radius:18px;border:1px solid #d6e4d9;padding:13px 8px;background:#f7faf7;transition:transform .22s,box-shadow .22s}.mastery-badge.is-earned{border-color:#e7d19a;background:linear-gradient(150deg,#fffef8,#fff1d7);box-shadow:0 4px 12px #ad85321a}.mastery-badge:hover{transform:translateY(-3px);box-shadow:0 9px 18px #285a4620}.mastery-badge-illustration{height:47px;width:47px;display:grid;place-items:center;border-radius:16px;font-family:Georgia,serif;font-size:1.8rem;box-shadow:inset 0 -4px #d6e7dd;background:#e3ede6;color:#7f9b8b}.mastery-badge.is-earned .mastery-badge-illustration{background:linear-gradient(140deg,#fff0b7,#e1aa48);color:#774815;box-shadow:inset 0 -4px #bd883d,0 6px 12px #ba864e30}.mastery-badge strong{color:#31564b;font-size:.83rem;font-weight:950}.mastery-badge.is-locked strong{color:#81978d}.mastery-badge>small{color:#698579;font-size:.66rem;line-height:1.45;flex:1}.mastery-badge-bottom{background:#e3eee6;color:#648276;border-radius:100px;padding:4px 8px;font-weight:850;font-size:.68rem}.mastery-badge.is-earned .mastery-badge-bottom{background:#ffe9b0;color:#916113}
/* Dedicated mascot; no image asset or animation library downloaded. */
.mastery-mascot{--pawn:#219875;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;filter:drop-shadow(0 13px 11px #064d4a3a);animation:mastery-pawn-breathe 3.1s ease-in-out infinite;will-change:transform}.mastery-mascot-halo{position:absolute;width:145px;height:145px;top:21%;border-radius:50%;background:radial-gradient(circle,#b0f5cf9e 0%,transparent 65%);animation:mastery-halo-pulse 3s ease-in-out infinite}.mastery-mascot-head{position:relative;z-index:2;width:76px;height:77px;border-radius:50%;background:radial-gradient(circle at 25% 22%,#b0f8c9,#39ad83 65%,#137052);box-shadow:inset -9px -10px #09634222,0 0 0 3px #ffffff60}.mastery-mascot-neck{z-index:1;margin-top:-12px;width:28px;height:25px;border-radius:9px;background:#188b67}.mastery-mascot-body{z-index:1;width:111px;height:82px;margin-top:-2px;clip-path:polygon(33% 0%,67% 0%,100% 100%,0% 100%);border-radius:12px;background:linear-gradient(90deg,#1b8465,#5bc99c 49%,#197957);box-shadow:inset -8px -4px #09634222}.mastery-mascot-base{z-index:2;width:133px;height:24px;margin-top:-4px;border:3px solid #d3ffe1;border-radius:17px 17px 10px 10px;background:linear-gradient(#39bc87,#14724e);box-shadow:0 5px 0 #0d603f}.mastery-mascot-eye{position:absolute;top:33px;height:12px;width:8px;background:#16463c;border-radius:50%}.mastery-mascot-eye.left{left:24px}.mastery-mascot-eye.right{right:24px}.mastery-mascot-mouth{position:absolute;bottom:16px;left:50%;width:17px;height:9px;transform:translateX(-50%);border-bottom:3px solid #16473a;border-radius:0 0 50% 50%}.mastery-mascot-spark{position:absolute;top:20%;right:9%;font-size:34px;color:#ffca69;animation:mastery-mascot-twinkle 2s ease-in-out infinite}.mastery-mascot[data-mood="happy"],.mastery-mascot[data-mood="victory"]{animation:mastery-mascot-hop .58s ease-out 2}.mastery-mascot[data-mood="oops"]{animation:mastery-mascot-wobble .32s ease-in-out 2}.mastery-mascot[data-mood="thinking"] .mastery-mascot-mouth{height:5px;width:7px;border:2px solid #16473a;border-radius:50%}.mastery-mascot[data-mood="oops"] .mastery-mascot-mouth{border:2px solid #16473a;width:8px;height:10px;border-radius:50%}.mastery-mascot[data-mood="victory"] .mastery-mascot-spark{font-size:46px;color:#ffc04a}
.mastery-mascot-assistant{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px 11px;background:#f0fbf3;border:1px solid #d1f0de;border-radius:13px;color:#32745a;font-size:.8rem;font-weight:800}.mastery-assistant-pawn{display:inline-grid;place-items:center;min-width:31px;height:31px;font-size:25px;color:#178d60;animation:mastery-pawn-breathe 2.8s ease-in-out infinite}.mastery-mascot-assistant[data-mood="happy"] .mastery-assistant-pawn,.mastery-mascot-assistant[data-mood="victory"] .mastery-assistant-pawn{animation:mastery-mascot-hop .5s ease-out 2}.mastery-mascot-assistant[data-mood="oops"] .mastery-assistant-pawn{animation:mastery-mascot-wobble .3s ease 2}.mastery-assistant-speech{line-height:1.65}
@keyframes mastery-chart-grow{from{transform:scaleY(.06)}to{transform:scaleY(1)}}@keyframes mastery-pawn-breathe{0%,100%{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes mastery-mascot-hop{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-17px) scale(1.04)}70%{transform:translateY(1px) scale(.97)}}@keyframes mastery-mascot-wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes mastery-halo-pulse{0%,100%{transform:scale(.95);opacity:.65}50%{transform:scale(1.1);opacity:1}}@keyframes mastery-mascot-twinkle{0%,100%{transform:scale(.8);opacity:.35}50%{transform:scale(1.1);opacity:1}}
@media(max-width:900px){.mastery-insights-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery-badges-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.mastery-insights{padding:13px;border-radius:20px}.mastery-insights-detail-grid{grid-template-columns:1fr}.mastery-badges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery-insights-head{align-items:start}.mastery-insights-rating{min-width:100px;padding:8px}.mastery-insights-rating strong{font-size:1.25rem}.mastery-next-badge{flex-wrap:wrap}.mastery-next-badge progress{width:100%}.mastery-week-chart{height:114px}}
@media(max-width:350px){.mastery-insights-stat-grid{gap:6px}.mastery-insights-stat{padding:9px}.mastery-badge{min-height:160px}.mastery-insights-rating{min-width:85px}}
@media(prefers-reduced-motion:reduce){.mastery-mascot,.mastery-mascot-halo,.mastery-mascot-spark,.mastery-assistant-pawn,.mastery-week-column span,.mastery-badge{animation:none!important;transition:none!important;will-change:auto!important}}

.mastery-reward-badge{--km-reward:#b18123;background:radial-gradient(circle at 50% -25%,#ffefb3 0%,transparent 62%),linear-gradient(145deg,#fffefa,#fff3d2)}

.mastery-report-jump{display:inline-flex;align-items:center;gap:7px;margin:12px 0 0;padding:7px 13px;border:1px solid #cfe7d7;border-radius:999px;background:#f4fff8;color:#187253!important;font-size:.78rem;font-weight:900;text-decoration:none;transition:transform .16s}.mastery-report-jump:hover{transform:translateY(-2px);color:#0f5e44!important}
/* Keep the established no-scroll mission layout on short phones. */
@media(max-height:680px) and (max-width:799px){.mastery-mascot-assistant{display:none}}
@media(max-height:560px){.mastery-mascot-hero{animation:none}}
