/* PSA V20 — Retention / Keep Building */
.keep-building-page{max-width:1180px;margin:0 auto;padding-bottom:120px}.keep-building-hero{position:relative;overflow:hidden;padding:clamp(22px,4vw,44px);border:1px solid rgba(225,29,46,.28);background:radial-gradient(circle at 100% 0,rgba(225,29,46,.16),transparent 35%),linear-gradient(145deg,rgba(15,12,12,.98),rgba(7,7,8,.98))}.keep-building-hero:after{content:"";position:absolute;right:-55px;bottom:-85px;width:220px;height:220px;border:1px solid rgba(255,255,255,.05);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.018),0 0 0 64px rgba(255,255,255,.012)}.keep-building-kicker{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.keep-building-kicker span{font-size:11px;letter-spacing:.16em;font-weight:800;color:#78ef9c}.keep-building-kicker b{font-size:11px;letter-spacing:.18em;color:#eee3d8}.keep-building-hero h1{margin:0;max-width:800px;font-size:clamp(38px,6.4vw,76px);line-height:.92;letter-spacing:-.055em}.keep-building-hero h1 em{font-style:normal;color:#e11d2e}.keep-building-hero>p{position:relative;z-index:2;max-width:830px;margin:22px 0 28px;color:#c9c0b8;font-size:clamp(15px,1.8vw,18px);line-height:1.65}.keep-building-hero>p strong{color:#fff}.keep-building-day-progress{position:relative;z-index:2;max-width:760px}.keep-building-day-progress>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11px;letter-spacing:.12em}.keep-building-day-progress span{color:#827c77}.keep-building-day-progress strong{color:#f6eee6}.keep-building-day-progress>i,.memory-mini-progress>i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#211d1d}.keep-building-day-progress u,.memory-mini-progress u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8f1723,#e11d2e,#ef795e);transition:width .35s ease}
.keep-building-how{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0;overflow:hidden;margin:16px 0;background:#211c1c}.keep-building-how article{display:flex;gap:14px;padding:18px;background:#0c0b0c}.keep-building-how article>b{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(225,29,46,.45);border-radius:50%;color:#e11d2e;font-size:13px}.keep-building-how strong{display:block;color:#f7eee6;font-size:12px;letter-spacing:.11em;margin:2px 0 6px}.keep-building-how span{display:block;color:#908983;font-size:13px;line-height:1.45}
.keep-building-task{padding:clamp(20px,4vw,38px);margin-top:16px}.memory-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #282222;padding-bottom:18px;margin-bottom:22px}.memory-task-head h2{margin:4px 0 0;font-size:clamp(25px,4vw,42px);letter-spacing:-.035em}.memory-badge{flex:0 0 auto;border:1px solid rgba(225,29,46,.38);background:rgba(225,29,46,.08);padding:9px 12px;border-radius:999px;color:#f0a0a8;font-size:10px;font-weight:800;letter-spacing:.12em}.memory-mini-progress{margin:-5px 0 22px}.memory-mini-progress>span{display:block;margin-bottom:7px;color:#77706b;font-size:10px;letter-spacing:.13em;font-weight:800}.memory-no-peek{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-left:3px solid #e11d2e;background:#140f10;margin:0 0 24px}.memory-no-peek b{flex:0 0 auto;font-size:11px;letter-spacing:.11em;color:#f07480}.memory-no-peek span{color:#aba29c;font-size:13px;line-height:1.5}.memory-question{font-size:clamp(21px,3.5vw,34px);line-height:1.18;letter-spacing:-.025em;margin:16px 0 22px;max-width:900px}.memory-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.memory-options button{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:11px;min-height:76px;text-align:left;border:1px solid #30292a;background:#100e0f;color:#f2eae3;padding:12px 14px;border-radius:10px;cursor:pointer;transition:.16s ease}.memory-options button:hover{border-color:#5d484a;transform:translateY(-1px)}.memory-options button:disabled{cursor:default}.memory-options button>span{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:#211b1c;color:#d5c9bf;font-weight:900}.memory-options button>b{font-size:14px;line-height:1.4}.memory-options button>i{font-style:normal;color:#61595a}.memory-options button.is-correct{border-color:#338a53;background:#0d1d13}.memory-options button.is-correct>span{background:#173b26;color:#78ef9c}.memory-options button.is-wrong{border-color:#98404a;background:#231115}.memory-options button.is-wrong>span{background:#431b21;color:#ff8f99}.memory-feedback{display:none;margin-top:14px;padding:15px 17px;border:1px solid #2b4935;background:#0f1a13;border-radius:9px}.memory-feedback.show{display:block}.memory-feedback.error{border-color:#673039;background:#211115}.memory-feedback b{display:block;color:#83f4a4;font-size:12px;letter-spacing:.1em;margin-bottom:5px}.memory-feedback.error b{color:#ff8792}.memory-feedback p{margin:0;color:#c9c0b8;line-height:1.55}.memory-next{margin-top:15px}.memory-why{padding:18px;border:1px solid #30292a;background:#100e0f;margin-bottom:18px}.memory-why b{display:block;color:#e11d2e;letter-spacing:.12em;font-size:11px;margin-bottom:6px}.memory-why p{margin:0;color:#b7aea7;line-height:1.6}.teachback-task form label{display:block;font-weight:800;font-size:17px;line-height:1.45;margin-bottom:10px}.teachback-task textarea{width:100%;resize:vertical;min-height:150px;border:1px solid #342c2d;background:#0c0b0c;color:#fff;padding:16px;border-radius:10px;font:16px/1.55 inherit;margin-bottom:12px}.teachback-task textarea:focus{outline:none;border-color:#a32633;box-shadow:0 0 0 3px rgba(225,29,46,.09)}
.keep-building-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:18px 20px}.keep-building-footer b,.keep-building-footer small{display:block}.keep-building-footer b{color:#eee4db;margin-top:3px}.keep-building-footer small{color:#766f69;margin-top:4px}.keep-building-footer>a{color:#d8cec5;font-size:11px;font-weight:800;letter-spacing:.1em}.keep-building-empty{text-align:center;padding:42px 24px}.keep-building-empty>div{font-size:48px}.keep-building-empty h2{font-size:30px;margin:8px 0}.keep-building-empty p{max-width:620px;margin:0 auto 20px;color:#a79e97;line-height:1.6}.keep-building-paused{position:fixed;z-index:1200;left:50%;bottom:max(86px,calc(env(safe-area-inset-bottom) + 78px));transform:translateX(-50%);display:flex;align-items:center;gap:12px;border:1px solid #6a4a27;background:rgba(24,17,10,.97);color:#f7ddbf;padding:12px 16px;border-radius:999px;box-shadow:0 10px 32px #000b;cursor:pointer}.keep-building-paused b{font-size:11px;letter-spacing:.1em}.keep-building-paused span{font-size:12px;color:#bda991}.keep-building-page.is-paused .keep-building-day-progress u{filter:saturate(.25)}
/* Kid dashboard: live family race */.kid-family-board{margin:16px 0;padding:18px 20px}.kid-family-board .section-head{margin-bottom:12px}.kid-family-board-list{display:grid;gap:7px}.kid-family-board-row{display:grid;grid-template-columns:38px 42px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #272223;background:#0d0c0d;border-radius:9px}.kid-family-board-row.is-me{border-color:#6a2830;background:#171012}.kid-family-board-row>strong{font-size:14px;color:#958d87}.kid-family-board-row img{width:38px;height:38px;object-fit:cover;border-radius:50%}.kid-family-board-row div b,.kid-family-board-row div small{display:block}.kid-family-board-row div b{font-size:13px;color:#f4ece5}.kid-family-board-row div small{font-size:10px;color:#706965;margin-top:2px}.kid-family-board-row>span{text-align:right}.kid-family-board-row>span b,.kid-family-board-row>span small{display:block}.kid-family-board-row>span b{font-size:16px}.kid-family-board-row>span small{font-size:9px;letter-spacing:.12em;color:#7d756f}.kid-family-board-chase{margin-top:10px;padding:10px 12px;border-left:2px solid #e11d2e;background:#120e0f;color:#a89e97;font-size:12px}.kid-family-board-chase b{color:#fff}.kid-keep-building-callout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:16px 0;padding:18px 20px;border:1px solid rgba(225,29,46,.4);background:linear-gradient(135deg,#160e10,#0c0b0c)}.kid-keep-building-callout>span{font-size:30px}.kid-keep-building-callout h2{margin:1px 0 5px;font-size:22px}.kid-keep-building-callout p{margin:0;color:#9e958e;line-height:1.45}.kid-keep-building-callout .btn{white-space:nowrap}
@media(max-width:720px){.keep-building-page{padding-left:10px;padding-right:10px;padding-bottom:110px}.keep-building-hero{padding:22px 17px}.keep-building-kicker{align-items:flex-start;flex-direction:column;gap:6px}.keep-building-hero h1{font-size:40px}.keep-building-hero>p{font-size:15px;margin-top:18px}.keep-building-how{grid-template-columns:1fr}.keep-building-how article{padding:15px}.memory-task-head{align-items:flex-start;flex-direction:column;gap:10px}.memory-badge{align-self:flex-start}.memory-options{grid-template-columns:1fr}.memory-options button{min-height:68px;grid-template-columns:38px 1fr 22px;padding:10px}.memory-options button>span{width:32px;height:32px}.memory-no-peek{display:block}.memory-no-peek b{display:block;margin-bottom:5px}.keep-building-footer{align-items:flex-start;flex-direction:column}.keep-building-paused{width:calc(100% - 24px);justify-content:center;bottom:max(78px,calc(env(safe-area-inset-bottom) + 70px));border-radius:12px}.kid-family-board{padding:14px 12px}.kid-family-board-row{grid-template-columns:30px 36px 1fr auto;gap:8px;padding:8px}.kid-family-board-row img{width:34px;height:34px}.kid-family-board-row div small{display:none}.kid-keep-building-callout{grid-template-columns:38px 1fr;padding:15px 13px;gap:10px}.kid-keep-building-callout .btn{grid-column:1/-1;width:100%;text-align:center}.kid-keep-building-callout h2{font-size:19px}.kid-keep-building-callout p{font-size:13px}}
.kid-free-time-parent-message{margin:16px 0 4px;padding:14px 16px;text-align:left;border:1px solid rgba(225,29,46,.32);background:#130f10;border-radius:10px}.kid-free-time-parent-message b{display:block;font-size:10px;letter-spacing:.14em;color:#e86470;margin-bottom:6px}.kid-free-time-parent-message p{margin:0!important;font-size:14px!important;line-height:1.5!important;color:#f1e7de!important}
.class-report-memory{margin:18px 0 22px;padding:16px;border:1px solid #2b2627;background:#0d0c0d}.class-report-memory .section-head{margin-bottom:10px}.class-report-memory article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #211d1e}.class-report-memory article:first-of-type{border-top:0}.class-report-memory article>b{font-size:11px;letter-spacing:.1em;color:#e66d79}.class-report-memory article>span{font-size:12px;color:#9f9790}.class-report-memory article>strong{font-size:18px;color:#f4ece5}.class-report-memory article>p{grid-column:1/-1;margin:0;padding:10px 12px;background:#130f10;color:#c7bdb5;line-height:1.5}.class-report-memory article>p small{display:block;color:#746d68;letter-spacing:.1em;font-size:9px;margin-bottom:4px}@media(max-width:720px){.class-report-memory article{grid-template-columns:1fr auto}.class-report-memory article>span{grid-column:1/-1}}

.memory-speech{margin:-8px 0 18px}.memory-speech .speak-btn{min-height:44px}.teachback-task .memory-speech{margin:0 0 12px}
@media(max-width:720px){.memory-speech{margin:-4px 0 16px}.memory-speech .speak-btn{width:100%;min-height:48px}}
