/* Protected additive Release 03. Room styles are scoped; original layout untouched. */
:root{--rf3-ink:#f3e9d8;--rf3-gold:#e6c490;--rf3-line:rgba(229,196,144,.22);--rf3-green:#142822}
.rf3-family-life,.rf3-studio{font-family:Manrope,system-ui,sans-serif;min-width:0;box-sizing:border-box}
.rf3-family-life *,.rf3-studio *,.rf3-overlay *,.rf3-video-nudge *{box-sizing:border-box}
.rf3-family-life{margin:20px 0 7px;padding:27px 23px 24px;border-radius:22px;background:radial-gradient(ellipse at 80% 8%,#526b533d,transparent 52%),linear-gradient(115deg,#172d26,#101d1f);border:1px solid var(--rf3-line);color:var(--rf3-ink)}
.rf3-overline{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--rf3-gold)}
.rf3-family-life h2,.rf3-studio h2,.rf3-video-modal h2{font-family:Georgia,Cormorant Garamond,serif;line-height:1.1;letter-spacing:-.015em;font-weight:400;font-size:clamp(29px,4vw,44px);color:#f5e8d1;margin:9px 0}
.rf3-family-life>p{color:#cbd4c7;font-size:13px;line-height:1.65;margin:5px 0 22px}
.rf3-life-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rf3-life-feature{min-height:232px;display:flex;flex-direction:column;align-items:flex-start;padding:23px;border-radius:16px;background:linear-gradient(145deg,rgba(198,172,113,.15),rgba(34,63,48,.33));border:1px solid var(--rf3-line);gap:8px}.rf3-life-feature>span{font-size:26px}.rf3-life-feature small{color:var(--rf3-gold);font-size:10px;letter-spacing:.15em}.rf3-life-feature h3{font-family:Georgia,serif;font-size:24px;font-weight:400;color:#f5e9d8;margin:0}.rf3-life-feature p{color:#cbd6cb;font-size:12px;line-height:1.65;margin:0 0 10px;flex:1}.rf3-life-feature button,.rf3-video-nudge button{border:1px solid rgba(224,187,127,.47);background:#e9c993;color:#13241e;padding:10px 14px;border-radius:11px;cursor:pointer;font-weight:750;font-size:12px}.rf3-life-video{background:linear-gradient(125deg,#263039,#18302b)}
.rf3-family-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:13px}.rf3-family-prompts button{border:1px solid var(--rf3-line);background:#ecf2de0a;color:#e6e1d6;padding:13px;border-radius:12px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;font-size:12px}.rf3-family-prompts b{flex:1;font-size:12px;font-weight:650}.rf3-family-prompts button>span:last-child{color:#edc88d}
.rf3-video-nudge{display:flex;align-items:center;gap:16px;padding:18px;background:linear-gradient(115deg,#1c322c,#202a30);color:#f6e3c3;border:1px solid var(--rf3-line);border-radius:15px;margin:14px 0;min-width:0}.rf3-video-nudge>span{font-size:24px}.rf3-video-nudge>div{flex:1;min-width:0;display:grid;gap:5px}.rf3-video-nudge strong{font-size:14px}.rf3-video-nudge small{color:#c5c7b6;font-size:11px;line-height:1.4}
.rf3-studio{margin:18px 0 24px;padding:clamp(16px,3vw,28px);border:1px solid var(--rf3-line);border-radius:23px;color:#f3eadc;background:radial-gradient(ellipse at 85% 5%,rgba(200,166,101,.24),transparent 40%),linear-gradient(140deg,#19332a,#10221f 75%)}
.rf3-studio-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:23px}.rf3-studio-head>div{flex:1;min-width:0}.rf3-studio-head small,.rf3-section-head small{font-size:10px;color:var(--rf3-gold);letter-spacing:.13em;font-weight:700}.rf3-studio-head h2{font-size:clamp(27px,4vw,42px)}.rf3-studio-head p{font-size:12px;line-height:1.7;color:#ced6c9;max-width:570px}.rf3-studio-head>button{color:#173027;background:#ead09e;border:0;border-radius:10px;padding:12px 14px;font-size:12px;cursor:pointer;font-weight:750}
.rf3-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.rf3-stats>div{display:grid;gap:5px;background:#ffffff0c;padding:15px;border:1px solid var(--rf3-line);border-radius:13px}.rf3-stats strong{font-family:Georgia,serif;font-size:28px;color:#f5dbaa}.rf3-stats span{font-size:11px;color:#c7d0c7}
.rf3-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px;border:1px solid var(--rf3-line);background:rgba(5,14,12,.28);border-radius:16px}.rf3-form label{font-size:11px;color:#ebdabb;font-weight:700;display:grid;gap:8px}.rf3-form input,.rf3-form select{background:#11221e;border:1px solid rgba(235,206,163,.35);color:#f3e8d5;max-width:100%;min-width:0;border-radius:9px;padding:12px;font:inherit;font-size:13px}.rf3-form input::placeholder{color:#9cad9f}.rf3-form select option{background:#14241c;color:white}.rf3-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.rf3-actions button,.rf3-card button,.rf3-days button,.rf3-response button{background:#e8c88f;border:1px solid #eddbb3;border-radius:9px;color:#182822;padding:11px 15px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.rf3-actions button:nth-child(n+2){color:#f0e4d1;background:#273a32}.rf3-actions button:disabled,.rf3-days button:disabled{opacity:.62;cursor:default}
.rf3-note{font-size:12px;color:#e4d0a6;line-height:1.6;min-height:5px;margin:12px 0}.rf3-section-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin:24px 0 13px}.rf3-section-head h3{font-family:Georgia,serif;font-size:26px;font-weight:400;color:#f2e5ce;margin:0}.rf3-section-head small{text-align:right;line-height:1.4}
.rf3-response{padding:21px;border:1px solid var(--rf3-line);border-radius:15px;background:#f9f5eb;color:#27372c;font-size:13px;line-height:1.8;white-space:pre-wrap}.rf3-response[hidden]{display:none}.rf3-response .rf3-section-head h3{color:#18372b}.rf3-response .rf3-section-head small{color:#6f5e3f}.rf3-response ol{padding-left:24px}.rf3-response li{margin:7px 0}.rf3-example{background:#e8e5d7;border-left:3px solid #bd9968;padding:13px;margin:10px 0;border-radius:9px}.rf3-example p{margin:6px 0}.rf3-example summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rf3-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rf3-days article{display:grid;align-content:start;gap:10px;border:1px solid var(--rf3-line);border-radius:13px;padding:17px;background:#ffffff0a;min-width:0}.rf3-days article.done{border-color:#739e74;background:#21443455}.rf3-days article>span{font-size:10px;font-weight:800;color:#e4c491;letter-spacing:.12em}.rf3-days article>strong{font-size:15px;color:#f7eddc}.rf3-days article>p{font-size:12px;color:#d7decf;line-height:1.6;margin:0}.rf3-days article>small{font-size:11px;color:#bfcaaf;line-height:1.6}.rf3-days button{justify-self:start;padding:9px 11px}
.rf3-card{background:linear-gradient(145deg,#263c32,#1a2825);padding:24px;border:1px solid var(--rf3-line);border-radius:15px;display:grid;gap:18px;justify-items:start}.rf3-card>span{font-size:11px;color:#ead2a2}.rf3-card h4{font-size:clamp(17px,3vw,22px);color:#f8ead0;font-weight:600;line-height:1.5;margin:0}.rf3-answer{border-top:1px solid var(--rf3-line);padding-top:16px;line-height:1.7;font-size:13px;width:100%;white-space:pre-wrap}.rf3-grades{display:flex;flex-wrap:wrap;gap:8px}.rf3-grades button:nth-child(1){background:#743932;color:#fff}.rf3-grades button:nth-child(2){background:#554c30;color:#fff}.rf3-grades button:nth-child(3){background:#376950;color:#fff}.rf3-cleared{padding:24px;border:1px dashed var(--rf3-line);border-radius:13px;color:#d2cfb9;font-size:13px}.rf3-cleared span{font-size:27px}.rf3-due,.rf3-fine{display:block;color:#b8c1b6;font-size:11px;line-height:1.6;margin-top:12px}
.rf3-overlay{position:fixed;inset:0;z-index:999997;background:rgba(4,9,8,.87);padding:16px;display:grid;place-items:center}.rf3-video-modal{max-height:94dvh;overflow-y:auto;max-width:900px;width:100%;color:#efe8d7;background:#14241e;border:1px solid rgba(228,194,147,.34);border-radius:22px;padding:clamp(17px,4vw,29px);box-shadow:0 25px 100px #0009;outline:none}.rf3-video-modal header{display:flex;justify-content:space-between;align-items:start;gap:14px}.rf3-video-modal header small{font-size:10px;color:#e5c38a;letter-spacing:.15em}.rf3-video-modal header p{font-size:12px;color:#bacbbd;line-height:1.6}.rf3-video-modal header button{border:1px solid var(--rf3-line);background:#1d3129;color:#f4e7d5;border-radius:50%;font-size:24px;height:42px;width:42px;flex:none;cursor:pointer}.rf3-video-tabs{display:flex;overflow-x:auto;gap:8px;padding:12px 0 16px;scroll-snap-type:x proximity}.rf3-video-tabs button{flex:none;border:1px solid var(--rf3-line);background:#1b322b;color:#eadfcb;border-radius:24px;padding:9px 13px;cursor:pointer;scroll-snap-align:start;font-size:12px}.rf3-video-tabs button.active{background:#e1c390;color:#172720}.rf3-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.rf3-video-grid button{border:1px solid var(--rf3-line);background:#1d302a;color:#f1e5d2;text-align:left;padding:0 0 11px;border-radius:13px;overflow:hidden;cursor:pointer;display:grid;gap:8px;min-width:0}.rf3-video-grid button>span{width:100%;aspect-ratio:16/9;background:#2b4236;display:grid;place-items:center}.rf3-video-grid img{width:100%;height:100%;object-fit:cover}.rf3-video-grid strong,.rf3-video-grid small{padding:0 11px;line-height:1.45;overflow-wrap:anywhere}.rf3-video-grid strong{font-size:12px}.rf3-video-grid small{font-size:10px;color:#e2c494}.rf3-video-search{display:inline-block;margin:15px 0 0;color:#e5c491;text-decoration:underline;font-size:12px}.rf3-video-empty{background:#26392e;padding:22px;border:1px dashed var(--rf3-line);border-radius:13px;font-size:13px;line-height:1.65}.rf3-video-frame{aspect-ratio:16/9;background:#070b0a;border-radius:12px;overflow:hidden;margin:12px 0}.rf3-video-frame iframe{width:100%;height:100%;border:0}#rf3VideoPlayer[hidden]{display:none}#rf3VideoPlayer>button{background:transparent;color:#e8cc9e;border:1px solid var(--rf3-line);border-radius:9px;padding:8px 12px;cursor:pointer}
.rf3-family-life button:focus-visible,.rf3-studio button:focus-visible,.rf3-studio input:focus-visible,.rf3-studio select:focus-visible,.rf3-video-modal button:focus-visible{outline:3px solid #ffd899;outline-offset:3px}
@media(max-width:680px){.rf3-life-grid,.rf3-days{grid-template-columns:1fr}.rf3-family-prompts{grid-template-columns:1fr 1fr}.rf3-studio-head{flex-direction:column;align-items:flex-start}.rf3-studio-head>button{width:100%}.rf3-video-nudge{flex-wrap:wrap}.rf3-video-nudge button{width:100%}.rf3-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rf3-section-head{flex-direction:column}.rf3-section-head small{text-align:left}}
@media(max-width:450px){.rf3-family-life{padding:18px}.rf3-form{grid-template-columns:1fr;padding:13px}.rf3-family-prompts{grid-template-columns:1fr}.rf3-stats strong{font-size:24px}.rf3-stats>div{padding:11px}.rf3-video-grid{grid-template-columns:1fr 1fr}.rf3-studio{padding:15px}}
@media print{body *{visibility:hidden!important}#rf3Lesson,#rf3Lesson *{visibility:visible!important}#rf3Lesson{display:block!important;position:absolute;top:0;left:0;width:100%;background:white!important;color:black!important} .rf3-family-life,.rf3-form,.rf3-stats,.rf3-plan,.rf3-review,.rf3-overlay,.rf3-studio-head,.rf3-video-nudge{display:none!important}.rf3-studio{background:white;color:black;border:0;padding:0}.rf3-response{display:block!important;box-shadow:none;border:0}}
@media(prefers-reduced-motion:reduce){.rf3-family-life *, .rf3-studio *, .rf3-overlay *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.rf3-games-door{border-radius:15px;border:1px solid rgba(228,194,147,.27);background:linear-gradient(100deg,#373329,#1e3228);padding:17px;margin:13px 0;display:flex;align-items:center;gap:14px;justify-content:space-between}.rf3-games-door>div{display:grid;gap:6px;max-width:460px}.rf3-games-door small{font-size:10px;color:#ecc78c;letter-spacing:.15em}.rf3-games-door strong{font:400 17px/1.4 Georgia,serif;color:#f3e2c6}.rf3-games-door button{border:1px solid #e4c397;background:#f0cd96;border-radius:10px;padding:12px;color:#192822;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.rf3-game-modal{max-width:670px}.rf3-game-score{display:flex;justify-content:space-between;gap:12px;padding:16px 0;color:#eccb99;font-size:13px}.rf3-match-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rf3-match-grid button{height:clamp(62px,16vw,103px);background:linear-gradient(135deg,#243b32,#1b2928);color:#e3c28c;font-size:30px;border:1px solid rgba(237,199,139,.25);border-radius:14px;cursor:pointer;transition:background .18s}.rf3-match-grid button.flipped{background:#f3dfb6;color:#172a23}.rf3-match-grid button.matched{background:#466a54;color:white;opacity:.83}.rf3-game-restart,.rf3-prompt-card>button{border:1px solid #e3c18e;background:#e4c18c;color:#152b23;font-weight:800;padding:11px 16px;border-radius:10px;cursor:pointer;margin:18px 0 0}.rf3-game-result{font-size:15px;color:#e6d19e}.rf3-prompt-card{border:1px solid rgba(238,194,132,.22);border-radius:16px;padding:clamp(19px,4vw,32px);background:radial-gradient(ellipse at 100% 0%,#4e54384d,transparent 50%),#21352c;display:grid;gap:12px}.rf3-prompt-card span{font-size:10px;letter-spacing:.14em;color:#edc991}.rf3-prompt-card h3{color:#f7e8d1;font-family:Georgia,serif;font-size:clamp(26px,5vw,39px);font-weight:400;margin:0;line-height:1.18}.rf3-prompt-card p{font-size:13px;line-height:1.6;color:#d3dfce;margin:0}.rf3-prompt-card>button{justify-self:start}.rf3-either-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rf3-either-choices button{padding:25px 15px;border-radius:13px;background:#e6d2a3;color:#17372b;font-size:16px;font-weight:750;cursor:pointer;border:2px solid transparent}.rf3-either-choices button:focus-visible{outline:3px solid #f6da9e;outline-offset:3px}
@media(max-width:560px){.rf3-games-door{flex-direction:column;align-items:stretch}.rf3-games-door button{width:100%}.rf3-match-grid{gap:7px}.rf3-either-choices{grid-template-columns:1fr}}
