:root{color:#24213a;font-synthesis:none;--ink:#24213a;--muted:#716d7e;--line:#e8e3d9;--paper:#fffefa;--violet:#4f46a5;--violet-dark:#383177;--gold:#e8aa2e;--danger:#a23b45;--shadow:0 18px 55px #322b4e17;background:#f7f5ee;font-family:Inter,ui-rounded,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f7f5ee;min-height:100%}body{background:radial-gradient(circle at 15% 0,#ebe8fa 0,#0000 28rem),#f7f5ee;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:4px solid #4f46a538}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.045em;margin:.3em 0;font-size:clamp(2rem,4vw,3.6rem);line-height:1.02}h2{letter-spacing:-.025em}p{line-height:1.65}.eyebrow{color:#675f83;letter-spacing:.17em;margin:0;font-size:.75rem;font-weight:850}.eyebrow.light{color:#ffffffb8}.center{place-items:center;min-height:100vh;padding:2rem;display:grid}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffefaf5;border-radius:24px;padding:1.5rem}.loader{border:5px solid #ded9f3;border-top-color:var(--violet);border-radius:50%;width:52px;height:52px;animation:.8s linear infinite spin}.thin-loader{background:linear-gradient(90deg, transparent, var(--violet), transparent);height:3px;animation:1.2s linear infinite shimmer}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{50%{opacity:.35}}.primary,.soft,.icon-button,.back-button,.text-button,.danger-text{border:0;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;font-weight:800;display:inline-flex}.primary{color:#fff;background:var(--violet);padding:.8rem 1.15rem;box-shadow:0 7px 18px #4f46a533}.primary:hover{background:var(--violet-dark);transform:translateY(-1px)}.primary.jumbo{min-height:58px;padding-inline:1.5rem;font-size:1.05rem}.soft{color:var(--violet-dark);background:#eeebfb;padding:.75rem 1rem}.wide{width:100%;margin-top:.75rem}.icon-button{min-width:48px;color:var(--ink);background:#f1eee7;padding:.7rem}.text-button{color:var(--violet);background:0 0;margin:.4rem auto 0;padding:.65rem .9rem}.back-button{color:var(--violet);background:0 0;padding:.5rem}.button-reset{color:inherit;text-align:left;background:0 0;border:0}.error{color:#8f2935;background:#fff0f0;border:1px solid #f2cccc;border-radius:13px;margin:.8rem 0;padding:.8rem 1rem;line-height:1.45}label{color:#403a52;margin:1rem 0;font-weight:750;display:block}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:2px solid #dfd9d0;border-radius:13px;min-height:48px;margin-top:.45rem;padding:.85rem .9rem;display:block}textarea{resize:vertical;line-height:1.55}.auth-page{background:#f7f5ee;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);min-height:100vh;display:grid}.auth-story{color:#fff;background:linear-gradient(145deg,#302b6c,#4f46a5 54%,#6d62c2);flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,8rem);display:flex;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:38rem;height:38rem;position:absolute}.auth-story:before{top:-17rem;right:-17rem}.auth-story:after{bottom:-29rem;left:-25rem}.auth-story h1{z-index:1;letter-spacing:-.055em;max-width:850px;font-family:Georgia,serif;font-size:clamp(3.2rem,6.5vw,6.4rem);font-weight:500;position:relative}.auth-story>p:not(.eyebrow){color:#ffffffd1;max-width:610px;font-size:clamp(1rem,1.7vw,1.25rem)}.brand-orbit{gap:.6rem;margin-bottom:2rem;display:flex}.brand-orbit span{border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-size:1.25rem;display:grid}.auth-characters{filter:drop-shadow(0 16px 12px #1814404d);align-items:flex-end;gap:.2rem;margin-top:2.5rem;font-size:clamp(3.5rem,7vw,6.2rem);display:flex}.auth-characters span:nth-child(2){transform:translateY(-.7rem)}.auth-card-wrap{place-items:center;padding:clamp(1.5rem,5vw,5rem);display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);width:min(470px,100%);box-shadow:var(--shadow);text-align:center;border-radius:30px;padding:clamp(1.5rem,4vw,3rem)}.auth-card h2{margin:.5rem 0;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.6rem)}.auth-card p{color:var(--muted)}.auth-card form{text-align:left}.auth-card form>p,.auth-card form>.text-button{text-align:center}.auth-mark{font-size:3.4rem}.security-note{text-align:left;color:#5e5871;background:#f3f0e8;border-radius:14px;align-items:flex-start;gap:.7rem;margin-top:1.35rem;padding:1rem;font-size:.84rem;line-height:1.5;display:flex}.security-note svg{color:#3f765a;flex:none}.code-input{letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.app-shell{min-height:100vh}.app-header,.world-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#fffefaeb;justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:.75rem max(1.1rem,50vw - 640px);display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:.7rem;display:flex}.brand-lockup>span{background:#ede9ff;border-radius:14px;place-items:center;width:45px;height:45px;font-size:1.45rem;display:grid}.brand-lockup div{flex-direction:column;display:flex}.brand-lockup strong{font-family:Georgia,serif;font-size:1.2rem}.brand-lockup small{color:var(--muted);margin-top:.1rem}.header-actions{align-items:center;gap:.55rem;display:flex}.secure-pill,.reward-pill{color:#37604a;background:#edf5ef;border-radius:999px;align-items:center;gap:.4rem;min-height:40px;padding:.5rem .8rem;font-size:.82rem;font-weight:800;display:inline-flex}.reward-pill{color:#745619;background:#fff0bd}.reward-pill.stars{color:#514695;background:#ece8ff}.parent-layout{grid-template-columns:118px minmax(0,1fr);max-width:1380px;margin:0 auto;display:grid}.parent-nav{border-right:1px solid var(--line);flex-direction:column;align-self:start;gap:.45rem;min-height:calc(100vh - 76px);padding:1rem .7rem;display:flex;position:sticky;top:76px}.parent-nav button{color:#6d687a;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:74px;padding:.65rem .3rem;font-size:.72rem;font-weight:750;display:flex}.parent-nav button.active{color:var(--violet);background:#eae7f8}.parent-main{min-width:0;padding:clamp(1.25rem,3.2vw,3rem)}.parent-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.parent-title-row h1{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.5rem);font-weight:500}.parent-title-row p:not(.eyebrow){color:var(--muted);max-width:680px;margin:0}.parent-child-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.parent-child-card{background:linear-gradient(180deg, var(--child-color) 0 105px, var(--paper) 105px);border:1px solid #0000000d;border-radius:24px;padding:1.1rem;box-shadow:0 12px 34px #322b4e0f}.child-card-head{align-items:center;gap:.8rem;min-height:78px;display:flex}.child-card-head h2{margin:0;font-size:1.55rem}.child-card-head p{color:#565164;margin:.15rem 0}.portrait{object-fit:cover;border:4px solid #fff;border-radius:50%;box-shadow:0 5px 16px #00000014}.portrait.large{width:76px;height:76px}.portrait.small{width:52px;height:52px}.portrait.placeholder{place-items:center;font-size:2.6rem;display:grid}.portrait.placeholder.small{font-size:1.65rem}.mini-stats{grid-template-columns:repeat(3,1fr);gap:.35rem;margin:1rem 0;display:grid}.mini-stats span{color:var(--muted);background:#f7f5ef;border-radius:12px;flex-direction:column;padding:.55rem;font-size:.69rem;display:flex}.mini-stats b{color:var(--child-accent);font-size:1.18rem}.skill-summary{border-top:1px solid var(--line);padding-top:.8rem}.skill-summary>strong{font-size:.86rem}.skill-summary>p{color:var(--muted);font-size:.82rem}.skill-row{text-transform:capitalize;color:#5b5666;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem 0;font-size:.78rem;display:flex}.mastery,.path-chip{text-transform:capitalize;border-radius:999px;padding:.25rem .5rem;font-size:.69rem;font-style:normal;font-weight:800}.mastery.secure,.path-chip.secure{color:#276344;background:#dbf1df}.mastery.developing,.path-chip.developing{color:#795918;background:#fff0bd}.mastery.emerging,.path-chip.emerging{color:#873641;background:#f9e0e3}.achievement-strip{align-items:center;gap:.3rem;min-height:34px;margin-top:.8rem;display:flex}.achievement-strip span{font-size:1.4rem}.achievement-strip small{color:var(--muted)}.due-note{color:var(--muted);align-items:center;gap:.35rem;margin-bottom:0;font-size:.75rem;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1rem;margin-top:1rem;display:grid}.activity-row,.gap-row,.device-row,.photo-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.activity-row span,.device-row>span,.photo-row>span{flex-direction:column;gap:.15rem;display:flex}.activity-row small,.device-row small,.photo-row small{color:var(--muted);font-size:.75rem}.gap-row{color:var(--muted);flex-direction:column;align-items:flex-start;gap:.3rem;font-size:.86rem}.gap-row span:first-child{color:var(--ink)}.empty-state{text-align:center;color:var(--muted);background:#f5f2eb;border-radius:16px;padding:1.5rem}.writing-list{gap:1rem;display:grid}.writing-card blockquote{white-space:pre-wrap;background:#f7f4ed;border-left:5px solid #b9b1e8;border-radius:0 14px 14px 0;margin:1rem 0;padding:1.2rem;line-height:1.7}.writing-meta{color:var(--muted);justify-content:space-between;gap:1rem;display:flex}.rubric{border-top:1px solid var(--line);margin-top:1rem}.rubric>p{color:var(--muted);font-size:.84rem}.rubric-grid,.three-fields{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.wcpm-preview{background:#ebe8f9;border-radius:15px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.wcpm-preview strong{color:var(--violet);font-size:2rem}.form-message{color:#37604a;font-weight:750}.enrollment-code{background:#f1edff;border:1px solid #ddd5f5;border-radius:16px;margin-top:1rem;padding:1rem}.enrollment-code code{word-break:break-all;margin:.5rem 0;font-size:.82rem;display:block}.enrollment-code p{color:var(--muted);font-size:.78rem}.device-row>span:last-child{align-items:flex-end}.status-active,.status-off{border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800;display:inline-block}.status-active{color:#276344;background:#dbf1df}.status-off{color:#736e79;background:#ece9e4}.danger-text{color:var(--danger);background:0 0;min-height:36px;padding:.2rem}.toggle-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.toggle-row span{align-items:center;gap:.6rem;display:flex}.toggle-row input{width:24px;min-height:24px;margin:0}.photo-row{justify-content:flex-start}.photo-row .file-button{margin-left:auto}.file-button{cursor:pointer;position:relative}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.keyboard-note{margin-top:1rem}.keyboard-note p{color:var(--muted)}.parent-footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:.4rem;margin-top:2rem;padding-top:1rem;font-size:.77rem;display:flex}.child-shell{background:radial-gradient(circle at 80% 10%,#ebe7ff,#0000 28rem),#f8f6ef}.world-main{width:min(1180px,100% - 2rem);margin:1.5rem auto 3rem}.world-footer{color:var(--muted);justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;font-size:.82rem;display:flex}.child-hero{color:#252139;background:linear-gradient(120deg, var(--child-color), #fff8ee);border-radius:34px;justify-content:space-between;align-items:center;gap:2rem;min-height:330px;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.child-hero:after{content:"";border:1px solid #0000000f;border-radius:50%;width:22rem;height:22rem;position:absolute;top:-8rem;right:-8rem}.child-hero>div:first-child{z-index:2;max-width:660px;position:relative}.child-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.2rem);font-weight:500}.child-hero p:not(.eyebrow){max-width:570px;font-size:1.08rem}.child-portrait{z-index:2;object-fit:cover;border:10px solid #ffffffa6;border-radius:50%;width:clamp(170px,23vw,270px);height:clamp(170px,23vw,270px);position:relative;box-shadow:0 25px 50px #2d265924}.child-portrait.placeholder{place-items:center;font-size:clamp(6rem,13vw,10rem);display:grid}.hero-rewards{gap:.6rem;margin-top:1.2rem;display:flex}.hero-rewards span{background:#ffffff9e;border-radius:999px;padding:.6rem .9rem;font-weight:850}.diagnostic-callout{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;margin:1.2rem 0;padding:1.5rem;display:grid}.diagnostic-callout h2{margin:.25rem 0;font-size:1.65rem}.diagnostic-callout p:not(.eyebrow){color:var(--muted);margin:0}.map-icon{background:#e9e5fb;border-radius:20px;place-items:center;width:76px;height:76px;font-size:2.6rem;display:grid}.section-heading{justify-content:space-between;align-items:end;margin:2.3rem 0 1rem;display:flex}.section-heading h2{margin:.25rem 0 0;font-family:Georgia,serif;font-size:2.4rem}.section-heading>span{color:var(--muted);font-weight:750}.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.mission-card{text-align:left;min-height:315px;color:var(--ink);background:var(--mission-hue);border:1px solid #0000000a;border-radius:26px;flex-direction:column;align-items:flex-start;padding:1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #322b4e0d}.mission-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px #322b4e1a}.mission-number{opacity:.25;font-family:Georgia,serif;font-size:2rem;position:absolute;top:1rem;right:1.2rem}.mission-art{font-size:3.5rem}.mission-card h3{margin:.8rem 0 .2rem;font-family:Georgia,serif;font-size:1.75rem}.mission-card p{color:#5f596b;margin:.4rem 0}.mission-card strong{color:var(--violet);align-items:center;gap:.4rem;margin-top:auto;display:inline-flex}.skill-path{color:#fff;background:#2f2a57;border-radius:24px;grid-template-columns:.65fr 1.35fr;align-items:center;gap:1rem;margin-top:1.2rem;padding:1.6rem;display:grid}.skill-path .eyebrow{color:#c4bdf1}.skill-path h2{margin:.25rem 0;font-family:Georgia,serif}.skill-path>div:last-child{flex-wrap:wrap;gap:.5rem;display:flex}.path-chip{align-items:center;gap:.35rem;padding:.6rem .75rem;display:inline-flex}.child-privacy{text-align:center;color:var(--muted);margin-top:1.5rem;font-size:.76rem}.quest-panel{background:var(--paper);border:1px solid var(--line);width:min(850px,100%);min-height:540px;box-shadow:var(--shadow);border-radius:30px;margin:1.2rem auto;padding:clamp(1.4rem,4vw,3.5rem)}.quest-panel h1{margin:1rem 0;font-family:Georgia,serif;font-size:clamp(2.2rem,4.8vw,3.7rem);font-weight:500}.quest-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.progress-label{color:var(--muted);font-size:.82rem;font-weight:750}.progress-track{background:#ece8df;border-radius:999px;height:9px;margin:.7rem 0 2rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#6e63c4,#a499ed);height:100%;transition:width .3s;display:block}.listen-button{min-height:58px;color:var(--violet);background:#ece8ff;border:0;border-radius:16px;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.8rem 1.1rem;font-weight:850;display:inline-flex}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem;display:grid}.answer-grid button{min-height:76px;color:var(--ink);text-align:left;background:#fff;border:2px solid #e5dfd5;border-radius:18px;padding:1rem;font-size:1.12rem;font-weight:800}.answer-grid button:hover{background:#f3f0ff;border-color:#8b80d2;transform:translateY(-1px)}.big-prompt{background:#f1eee6;border-radius:17px;padding:1.1rem;font-size:1.12rem}.assessment-note,.input-limit-note{color:var(--muted);font-size:.76rem}.word-goal{color:var(--violet);justify-content:space-between;font-weight:850;display:flex}.celebration{text-align:center;position:relative;overflow:hidden}.celebration:before{content:"✦  ·  ✧  ·  ✦";color:#d09b2c;letter-spacing:1rem;font-size:2rem;animation:2s ease-in-out infinite float;position:absolute;top:2rem;left:0;right:0}@keyframes float{50%{transform:translateY(-8px)}}.celebration-burst{margin-top:1.5rem;font-size:6rem}.celebration>p{max-width:590px;margin-inline:auto}.result-skills{text-align:left;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:1.5rem 0;display:grid}.result-skills span{text-transform:capitalize;background:#f1eee7;border-radius:13px;justify-content:space-between;gap:.5rem;padding:.8rem;display:flex}.disclaimer{color:var(--muted);font-size:.82rem}.reward-result{justify-content:center;gap:.8rem;margin:1.5rem 0;display:flex}.reward-result span{background:#fff0bd;border-radius:999px;padding:.7rem 1rem;font-size:1.2rem;font-weight:900}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=980px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:42vh;padding:3rem 2rem}.auth-story h1{font-size:clamp(3rem,10vw,5rem)}.auth-characters{opacity:.65;position:absolute;bottom:.5rem;right:2rem}.auth-card-wrap{padding:1.5rem}.parent-child-grid,.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-child-grid>article:last-child,.mission-grid>button:last-child{grid-column:span 2}.dashboard-grid{grid-template-columns:1fr}.child-hero{min-height:280px}}@media (width<=720px){.app-header,.world-header{padding:.65rem .8rem}.secure-pill,.parent-exit{display:none}.brand-lockup small{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.parent-layout{display:block}.parent-nav{z-index:25;min-height:auto;padding:.35rem max(.3rem, env(safe-area-inset-left)) max(.35rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:0;border-top:1px solid var(--line);background:#fffefaf5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.parent-nav button{min-height:58px;font-size:.62rem}.parent-main{padding:1.2rem 1rem 6.2rem}.parent-child-grid,.mission-grid{grid-template-columns:1fr}.parent-child-grid>article:last-child,.mission-grid>button:last-child{grid-column:auto}.parent-title-row{flex-direction:column}.rubric-grid,.three-fields{grid-template-columns:1fr}.writing-meta{flex-direction:column;gap:.2rem}.photo-row{flex-wrap:wrap}.photo-row .file-button{width:100%;margin-left:0}.world-main{width:min(100% - 1rem,1180px);margin-top:.6rem}.child-hero{border-radius:24px;min-height:0;padding:1.5rem}.child-hero h1{font-size:2.8rem}.child-portrait{border-width:6px;width:110px;height:110px}.child-portrait.placeholder{font-size:4rem}.diagnostic-callout{text-align:center;grid-template-columns:1fr}.map-icon{margin:auto}.diagnostic-callout .primary{width:100%}.section-heading h2{font-size:2rem}.mission-card{min-height:250px}.skill-path{grid-template-columns:1fr}.quest-panel{border-radius:22px;min-height:calc(100vh - 160px);padding:1.2rem}.answer-grid,.result-skills{grid-template-columns:1fr}}@media (width<=470px){.auth-story{min-height:37vh}.auth-characters{font-size:3rem}.header-actions{gap:.25rem}.reward-pill{padding:.45rem .55rem;font-size:.72rem}.brand-lockup>span{width:40px;height:40px}.child-portrait{display:none}.hero-rewards{flex-wrap:wrap}.quest-top{align-items:flex-start}}
