/* PSA V18 // free-time win, math voice, class reports, money-learning polish */

/* ---------- KID FREE-TIME WIN ---------- */
.kid-free-time-overlay{position:fixed!important;inset:0!important;z-index:1100000!important;background:radial-gradient(circle at 50% 40%,rgba(86,24,18,.9),rgba(0,0,0,.96) 72%)!important;display:grid!important;place-items:center!important;padding:18px!important;overflow:hidden!important;backdrop-filter:blur(8px)}
.kid-free-time-card{position:relative!important;width:min(760px,95vw)!important;min-height:min(680px,84vh)!important;border:3px solid #ff5d47!important;border-radius:28px!important;padding:46px 30px 34px!important;background:radial-gradient(circle at 50% 12%,#612418 0,#170b08 42%,#070606 78%)!important;box-shadow:0 0 0 12px #ff5a3716,0 0 120px #ff3d235f!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;isolation:isolate!important}
.kid-free-time-card:before,.kid-free-time-card:after{content:"";position:absolute;inset:13px;border:1px solid #ffad6933;border-radius:20px;pointer-events:none}.kid-free-time-card:after{inset:25px;border-style:dashed;opacity:.55}
.kid-free-time-icon{font-size:clamp(100px,22vw,180px)!important;line-height:1!important;filter:drop-shadow(0 0 35px #ffb13a9d);animation:v18Trophy 1.15s ease-in-out infinite alternate;position:relative;z-index:2}
.kid-free-time-kicker{margin:14px 0 5px!important;color:#ffad7d!important;font:900 12px/1.2 var(--mono,ui-monospace,monospace)!important;letter-spacing:2px!important;position:relative;z-index:2}
.kid-free-time-card h2{font-size:clamp(42px,8.8vw,82px)!important;line-height:.9!important;margin:9px 0 18px!important;color:#fff!important;position:relative;z-index:2}.kid-free-time-card h2 span{display:block;color:#ff5f49!important;font-size:.68em!important;line-height:1.02!important;margin-top:12px!important}.kid-free-time-card p{font-size:clamp(17px,3.8vw,24px)!important;line-height:1.35!important;color:#f6e5dc!important;max-width:600px!important;margin:0 auto 12px!important;font-weight:800!important;position:relative;z-index:2}.kid-free-time-card small{display:block!important;max-width:540px!important;color:#c9b5ab!important;font-size:12px!important;line-height:1.5!important;position:relative;z-index:2}.kid-free-time-close{min-height:62px!important;margin-top:24px!important;border:0!important;border-radius:13px!important;padding:0 32px!important;background:linear-gradient(110deg,#ff3f34,#ff7a49)!important;color:#fff!important;font-weight:1000!important;font-size:16px!important;letter-spacing:.6px!important;box-shadow:0 0 38px #ff573b66!important;position:relative;z-index:2}.kid-free-time-x{position:absolute!important;right:15px!important;top:15px!important;width:54px!important;height:54px!important;border-radius:50%!important;border:1px solid #844139!important;background:#150a08!important;color:#fff!important;font-size:34px!important;z-index:4!important}.kid-free-time-open{overflow:hidden!important}
.kid-free-time-fireworks{position:absolute;inset:0;pointer-events:none;overflow:hidden}.kid-free-time-fireworks i{--x:50%;--d:.3s;--r:0deg;position:absolute;left:var(--x);top:-8%;width:9px;height:30px;border-radius:5px;background:linear-gradient(#ffe587,#ff513d);box-shadow:0 0 14px #ff7449;animation:v18Confetti 2.3s linear infinite;animation-delay:var(--d);transform:rotate(var(--r))}.kid-free-time-fireworks i:nth-child(3n){background:linear-gradient(#7ceec7,#3ec5ff)}.kid-free-time-fireworks i:nth-child(4n){background:linear-gradient(#fff,#df8cff)}
@keyframes v18Trophy{to{transform:translateY(-11px) rotate(2deg) scale(1.03)}}@keyframes v18Confetti{0%{transform:translate3d(0,-10vh,0) rotate(var(--r));opacity:0}8%{opacity:1}100%{transform:translate3d(calc((var(--x) - 50%)*.12),116vh,0) rotate(720deg);opacity:.15}}

/* ---------- MATH VOICE ---------- */
.math-voice-controls{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:12px auto 18px;max-width:760px}.math-voice-controls .math-listen{min-height:48px!important;padding:10px 16px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.5px!important}.math-voice-controls .primary-math-listen{border-color:#ff735d!important;background:#29120e!important;color:#fff!important}.math-voice-controls .secondary-math-listen{border-color:#53635d!important}.math-voice-controls .speech-note{width:100%;text-align:center;font-size:11px;color:#bfb1a8}

/* ---------- PARENT CLASS REPORT ---------- */
.class-report-card{margin:0 0 18px!important;border:1px solid #6d4136!important;background:radial-gradient(circle at 100% 0,#2d1510,#0e0b0a 54%)!important}.class-report-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.class-report-top h2{font-size:clamp(28px,4vw,48px);margin:5px 0}.class-report-top p{max-width:760px}.class-report-score{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0}.class-report-score .stat{border:1px solid #3e302b;background:#0b0908;border-radius:9px;padding:11px}.class-report-score b{display:block;font-size:22px}.class-report-score small{font-size:9px;letter-spacing:.4px}.class-report-complete{padding:10px 12px;border:1px solid #2f714c;background:#10271b;border-radius:8px;color:#8bf0b1;font-weight:900;font-size:12px}.class-report-steps{display:grid;gap:8px;margin-top:14px}.class-report-step{border:1px solid #3d312d;border-radius:9px;background:#0b0908;padding:12px}.class-report-step.done{border-left:4px solid #48c47d}.class-report-step.open{border-left:4px solid #7e5a4a}.class-report-step header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.class-report-step header>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#201511;color:#ff7a64}.class-report-step header span{font-weight:800;line-height:1.35}.class-report-step header strong{font-size:10px;color:#74d9a2;letter-spacing:.4px;text-align:right}.class-report-step>div{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:9px}.class-report-step>div span{padding:8px;border:1px solid #2f2825;border-radius:6px;color:#eee}.class-report-step small{display:block;color:#a69790;font-size:8px;letter-spacing:.8px;margin-bottom:3px}.class-report-step p{margin:8px 0 0;font-size:11px;color:#c9b7ae}

/* ---------- ADMIN FAMILY HANDOFF ---------- */
.family-transfer-panel{margin-top:18px}.family-transfer-panel p{max-width:850px}.family-transfer-panel form{max-width:720px;display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:10px;align-items:end}.family-transfer-panel label{display:grid;gap:5px;font-size:10px;letter-spacing:.6px}.family-transfer-panel input{min-height:44px;background:#0a0b0b;border:1px solid #544038;color:#fff;border-radius:6px;padding:0 11px}

/* ---------- MONEY CLASSES ---------- */
.role-student .readalong-page .outline-tag{max-width:100%;white-space:normal}.role-student .readalong-page .chapter-sources{overflow-wrap:anywhere}.vault-card .vault-category{max-width:88%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:760px){
 .kid-free-time-card{min-height:74vh!important;padding:34px 18px 24px!important}.kid-free-time-card p{font-size:17px!important}.kid-free-time-card small{font-size:11px!important}.kid-free-time-close{width:100%!important}.kid-free-time-x{width:48px!important;height:48px!important}
 .math-voice-controls{display:grid;grid-template-columns:1fr;margin-inline:8px}.math-voice-controls .math-listen{width:100%!important;min-height:54px!important;font-size:12px!important}.math-voice-controls .speech-note{padding:0 4px}
 .class-report-top{display:grid}.class-report-score{grid-template-columns:repeat(2,minmax(0,1fr))}.class-report-step header{grid-template-columns:34px 1fr}.class-report-step header strong{grid-column:2;text-align:left}.class-report-step>div{grid-template-columns:1fr}.family-transfer-panel form{grid-template-columns:1fr}.class-report-card{padding:14px!important}
}
