:root{--green-700:#17624b;--ink:#17342b;--line:#c8d9d2;--paper-shadow:#b8cec5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17342b;background:#eef6f3;font-family:PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background-color:#eef6f3;background-image:linear-gradient(#d7e8e1 1px,#0000 1px),linear-gradient(90deg,#d7e8e1 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;margin:0}.app-shell{width:min(720px,100% - 32px);margin:0 auto;padding:72px 0}.app-shell__header,.app-shell__content{background:#fff;border:1px solid #dce4da;border-radius:20px;padding:28px}.app-shell__header{margin-bottom:16px}.app-shell__header h1{margin:8px 0 0}.app-shell__eyebrow{color:#397a52;letter-spacing:.08em;font-size:14px;font-weight:700}.app-shell__content p{margin:0;line-height:1.7}.home-page{width:min(1180px,100% - 40px);min-height:100vh;margin:0 auto;padding:24px 0 72px}.home-header{border-bottom:1px solid #a8c8bd;justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.home-brand{color:#102b22;align-items:center;gap:10px;min-height:44px;font-family:Songti SC,STSong,serif;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.home-brand__mark{color:#17624b;border:2px solid #17624b;border-radius:10px 3px 10px 10px;place-items:center;width:36px;height:36px;font-family:STKaiti,KaiTi,serif;font-size:16px;display:grid;transform:rotate(-2deg)}.home-invite-note,.home-kicker,.home-paper__meta,.home-process__list>li>span{color:#397a68;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:750}.home-invite-note{text-align:right}.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(36px,7vw,92px);min-height:650px;padding:72px 0 80px;display:grid}.home-kicker{text-transform:uppercase;margin:0 0 16px}.home-hero h1{color:#102b22;letter-spacing:-.055em;max-width:760px;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(48px,7vw,82px);font-weight:700;line-height:1.04}.home-lead{color:#48665c;max-width:650px;margin:28px 0 0;font-size:18px;line-height:1.85}.home-entry{min-height:98px;margin-top:34px}.home-entry__actions{flex-wrap:wrap;gap:12px;display:flex}.home-action{border:1px solid #17624b;border-radius:4px 14px 14px;justify-content:center;align-items:center;gap:28px;min-height:48px;padding:11px 18px;font-weight:750;text-decoration:none;transition:transform .15s,background-color .15s;display:inline-flex}.home-action:hover{transform:translateY(-2px)}.home-action--primary{color:#fff;background:#17624b}.home-action--secondary{color:#17342b;background:#fbfdfc}.home-entry__status{color:#5d746c;margin-top:12px;font-size:13px;display:block}.home-boundary{color:#60776f;max-width:620px;margin:4px 0 0;font-size:13px;line-height:1.7}.home-paper-trail{min-height:480px;position:relative}.home-paper{background-color:#fbfdfc;background-image:linear-gradient(#d9e9e3 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #aecac0;border-radius:5px;width:min(420px,88%);min-height:220px;padding:30px;position:absolute;box-shadow:0 22px 55px #103f3024}.home-paper strong,.home-paper>span{z-index:1;position:relative}.home-paper strong{color:#17342b;margin:44px 0 22px;font-family:Songti SC,STSong,serif;font-size:clamp(27px,4vw,38px);display:block}.home-paper--source{top:22px;left:0;transform:rotate(-3deg)}.home-paper--correction{bottom:12px;right:0;transform:rotate(2deg)}.home-paper__mistake{color:#a14536;text-underline-offset:5px;-webkit-text-decoration:underline wavy #a14536;text-decoration:underline wavy #a14536}.home-paper-stamp{z-index:2;color:#17624b;text-align:center;background:#eef6f3eb;border:3px double #17624b;border-radius:50%;place-items:center;width:116px;height:116px;font-family:STKaiti,KaiTi,serif;font-size:14px;line-height:1;display:grid;position:absolute;top:184px;right:12%;transform:rotate(-9deg)}.home-paper-stamp strong{font-size:25px;display:block}.home-process{border-top:2px solid #17342b;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(32px,7vw,90px);padding-top:52px;display:grid}.home-process__heading h2{color:#102b22;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(30px,4vw,44px);line-height:1.15}.home-process__list{gap:0;margin:0;padding:0;list-style:none;display:grid}.home-process__list li{border-top:1px solid #b8d1c8;grid-template-columns:52px minmax(170px,.7fr) minmax(0,1fr);align-items:baseline;gap:18px;padding:24px 0;display:grid}.home-process__list li:first-child{border-top:0;padding-top:0}.home-process__list h3,.home-process__list p{margin:0}.home-process__list h3{color:#17342b;font-family:Songti SC,STSong,serif;font-size:21px}.home-process__list p{color:#536b63;line-height:1.7}.home-action:focus-visible,.home-brand:focus-visible{outline-offset:4px;outline:3px solid #f4c95d}.activation-page{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:24px;width:min(1080px,100% - 40px);min-height:100vh;margin:0 auto;padding:52px 0;display:grid}.login-page{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:24px;width:min(900px,100% - 40px);min-height:100vh;margin:0 auto;padding:80px 0;display:grid}.login-intro{padding:42px}.login-intro h1{margin:0 0 18px;font-family:Songti SC,STSong,serif;font-size:clamp(34px,5vw,52px);line-height:1.1}.login-intro>p:last-child{color:#536b63;line-height:1.8}.activation-intro,.activation-card,.parent-card{background:#fbfdfc;border:1px solid #b8d1c8;box-shadow:0 16px 48px #1a4b3b1a}.activation-intro{border-radius:28px 8px 28px 28px;min-height:680px;padding:48px;position:relative;overflow:hidden}.activation-intro:after{content:"";background-color:#ddf0e9;background-image:linear-gradient(#b9ded0 1px,#0000 1px),linear-gradient(90deg,#b9ded0 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:9px 9px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:18px;position:absolute;inset:0 0 0 auto}.workbook-mark{color:#17624b;border:2px solid #17624b;border-radius:18px 6px 18px 18px;place-items:center;width:64px;height:64px;margin-bottom:42px;font-family:STKaiti,KaiTi,serif;font-size:24px;font-weight:700;display:grid;transform:rotate(-2deg)}.activation-kicker{color:#17624b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:800}.activation-intro h1,.activation-card h2,.parent-card h1{letter-spacing:-.025em;font-family:Songti SC,STSong,serif}.activation-intro h1{color:#102b22;max-width:520px;margin:0;font-size:clamp(40px,5vw,64px);line-height:1.08}.activation-lead{color:#48665c;max-width:600px;margin:24px 0 36px;font-size:17px;line-height:1.8}.privacy-note{border-top:2px solid #17342b;padding-top:28px}.privacy-note h2{margin:0 0 18px;font-size:16px}.privacy-note dl{grid-template-columns:1fr 1fr;gap:18px 24px;margin:0;display:grid}.privacy-note dt{color:#17624b;margin-bottom:6px;font-size:13px;font-weight:800}.privacy-note dd{color:#536b63;margin:0;font-size:14px;line-height:1.65}.activation-card{border-radius:8px 28px 28px;padding:40px}.activation-card__heading{margin-bottom:30px}.activation-card__heading>span,.verified-mark{color:#493709;background:#f4c95d;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.activation-card h2{margin:14px 0 8px;font-size:32px}.activation-card__heading p,.parent-note{color:#5b7069;margin:0;line-height:1.65}.child-profile-panel{background:#f4faf7;border:1px solid #b8d1c8;border-radius:18px 6px 18px 18px;margin-top:32px;padding:24px}.child-profile-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.child-profile-kicker{color:#17624b;letter-spacing:.12em;margin:0 0 4px;font-size:11px;font-weight:800}.child-profile-heading h2,.child-pin-section h3{margin:0}.child-profile-heading h2{font-family:Songti SC,STSong,serif;font-size:24px}.child-profile-status{color:#17624b;background:#dcefe7;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.child-profile-copy,.child-profile-current{color:#536b63;margin:14px 0 18px;font-size:14px;line-height:1.65}.child-profile-current strong{color:#17342b}.child-profile-form{gap:12px;display:grid}.child-profile-form .primary-action{min-height:46px}.child-pin-section{border-top:1px solid #c5d8d1;gap:12px;margin-top:22px;padding-top:20px;display:grid}.child-pin-section h3{font-size:16px}.child-pin-section>div:first-child p{color:#536b63;margin:5px 0 0;font-size:13px}.danger-action{color:#8c233a;cursor:pointer;width:100%;min-height:42px;font:inherit;background:0 0;border:1px solid #c77a8b;border-radius:10px;margin-top:18px;font-size:13px;font-weight:800}.danger-action:focus-visible{outline-offset:2px;outline:3px solid #f4c95d}.danger-action:disabled{cursor:not-allowed;opacity:.5}.child-profile-error{margin-top:12px}.child-mode-entry{border-top:1px solid #c5d8d1;gap:12px;margin-top:22px;padding-top:20px;display:grid}.child-mode-entry h3,.child-mode-entry p{margin:0}.child-mode-entry h3{font-size:16px}.child-mode-entry>p{color:#536b63;font-size:13px;line-height:1.6}.activation-form{gap:20px;display:grid}.field{gap:8px;display:grid}.field label{font-size:14px;font-weight:800}.field input{color:#17342b;width:100%;min-height:50px;font:inherit;background:#fff;border:1px solid #9db9af;border-radius:10px;outline:none;padding:0 14px;transition:border-color .12s,box-shadow .12s}.field input:focus{border-color:#17624b;box-shadow:0 0 0 4px #17624b29}.consent:has(input:focus-visible){border-color:#17624b;box-shadow:0 0 0 4px #17624b29}.field p,.form-footnote{color:#6b7e77;margin:0;font-size:12px;line-height:1.5}.consent{cursor:pointer;border:1px solid #c5d8d1;border-radius:10px;grid-template-columns:20px 1fr;gap:10px;padding:13px;font-size:13px;line-height:1.6;display:grid}.consent input{accent-color:#17624b;width:18px;height:18px;margin:2px 0 0}.activation-error{color:#a12b43;min-height:22px;margin:-4px 0;font-size:13px;font-weight:700}.primary-action{color:#fff;cursor:pointer;min-height:52px;font:inherit;background:#17624b;border:0;border-radius:12px;font-weight:800;transition:background .12s,transform .12s}.primary-action:hover:not(:disabled){background:#0f4e3b;transform:translateY(-1px)}.primary-action:focus-visible{outline-offset:3px;outline:3px solid #f4c95d}.primary-action:disabled{cursor:wait;opacity:.68}.form-footnote{text-align:center}.parent-page{place-items:center;min-height:100vh;padding:48px 20px;display:grid}.parent-card{border-radius:28px 8px 28px 28px;width:min(620px,100%);padding:48px}.parent-card h1{margin:16px 0 12px;font-size:clamp(32px,7vw,48px)}.family-code{background:#e3f3ed;border:1px solid #9fc7b8;border-radius:14px;margin:32px 0 18px;padding:22px}.family-code span{color:#4d695f;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.family-code strong{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(20px,5vw,30px)}.session-heading{justify-content:space-between;align-items:end;gap:18px;margin-top:34px;display:flex}.session-heading h2{margin:0 0 6px;font-size:20px}.session-heading p{color:#5b7069;margin:0;font-size:13px;line-height:1.5}.session-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.session-list li{background:#fff;border:1px solid #c5d8d1;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.session-list li div,.session-list li span{gap:4px;display:grid}.session-list li span{color:#6b7e77;font-size:12px}.secondary-action,.logout-action,.text-action{cursor:pointer;min-height:40px;font:inherit;border-radius:10px;font-size:13px;font-weight:800}.secondary-action,.logout-action{color:#17624b;background:#fff;border:1px solid #17624b;padding:0 14px}.logout-action{width:100%}.text-action{color:#a12b43;background:0 0;border:0;flex:none}.secondary-action:focus-visible,.logout-action:focus-visible,.text-action:focus-visible{outline-offset:2px;outline:3px solid #f4c95d}.secondary-action:disabled,.logout-action:disabled,.text-action:disabled{cursor:not-allowed;opacity:.5}.parent-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 28px;display:grid}.parent-actions .action-link{width:100%;min-height:52px}.child-page{place-items:center;min-height:100vh;padding:48px 20px;display:grid}.child-card{background:#fbfdfc;border:1px solid #b8d1c8;border-radius:28px 8px 28px 28px;gap:18px;width:min(620px,100%);padding:48px;display:grid;box-shadow:0 16px 48px #1a4b3b1a}.child-card h1{letter-spacing:-.025em;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(32px,7vw,48px)}.child-card>p:not(.activation-kicker,.activation-error){color:#536b63;margin:0;line-height:1.65}.child-empty-state{text-align:center;background:#e7f4ef;border:1px dashed #94b8aa;border-radius:18px 6px 18px 18px;padding:28px 22px}.child-empty-state strong{color:#17342b;font-size:19px;display:block}.child-empty-state p{color:#536b63;margin:8px 0 0;font-size:14px;line-height:1.65}.child-correction-panel,.child-correction-ready{gap:14px;display:grid}.child-correction-panel h2,.child-correction-panel p{margin:0}.child-correction-ready{background:#e7f4ef;border:1px solid #aaccc0;border-radius:18px 6px 18px 18px;padding:22px}.child-correction-ready p{color:#365c4f;line-height:1.6}.child-correction-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.child-correction-list li{background:#fff;border:1px solid #c1d8d0;border-radius:12px;gap:10px;padding:14px;display:grid}.child-correction-list span{color:#536b63;font-size:13px}.child-correction-page{background:radial-gradient(circle at 100% 0,#e2f3ed 0,#0000 42%),#f5f2eb;place-items:center;min-height:100vh;padding:32px 16px;display:grid}.child-correction-card{background:#fffdf8;border:1px solid #b8d1c8;border-radius:28px 8px 28px 28px;gap:18px;width:min(760px,100%);padding:clamp(22px,5vw,42px);display:grid;box-shadow:0 16px 48px #1a4b3b1a}.child-correction-card h1,.child-correction-card p{margin:0}.correction-image{justify-self:center}.child-correction-card textarea{resize:vertical;color:#17342b;width:100%;min-height:132px;font:inherit;background:#fff;border:1px solid #9db8af;border-radius:12px;padding:14px;line-height:1.6}.child-correction-card textarea:focus-visible{outline-offset:2px;outline:3px solid #f4c95d}.correction-actions{grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:12px;display:grid}.correction-submit-error,.correction-complete{gap:14px;display:grid}.correction-submit-error{background:#fff1f3;border:1px solid #e0a9b4;border-radius:12px;padding:16px}.correction-complete{background:#edf8ef;border:1px solid #b7d9bf;border-radius:18px;padding:24px}.parent-return-panel{gap:14px;display:grid}.action-link{text-align:center;justify-content:center;align-items:center;min-width:0;padding:0 18px;line-height:1.35;text-decoration:none;display:inline-flex}.mistake-capture-page{background:radial-gradient(circle at 100% 0,#fff1d9 0,#0000 38%),#f5f2eb;justify-content:center;align-items:flex-start;min-height:100vh;padding:32px 16px;display:flex}.mistake-card{background:#fffdf8;border:1px solid #dfd8c9;border-radius:20px;gap:16px;width:100%;max-width:800px;padding:clamp(20px,4vw,40px);display:grid;box-shadow:0 16px 48px #372d1c1a}.mistake-card h1,.mistake-card h2,.mistake-card p{margin:0}.mistake-intro{color:#5e584f;line-height:1.7}.capture-empty,.photo-notice,.crop-editor{background:#f8f4eb;border:1px solid #ded4c2;border-radius:16px;gap:16px;padding:16px;display:grid}.capture-success{background:#edf8ef;border:1px solid #b7d9bf;border-radius:16px;gap:16px;padding:clamp(18px,4vw,28px);display:grid}.capture-success>p{color:#365b40;line-height:1.6}.source-reuse-note{background:#eef5f2;border-left:4px solid #17624b;border-radius:4px 12px 12px 4px;gap:4px;padding:14px 16px;display:grid}.source-reuse-note p{color:#4f665e;line-height:1.5}.image-source-field{position:relative}.image-source-label{font-size:14px;font-weight:800}.image-source-trigger{color:#17342b;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #9db9af;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:0 16px;display:flex}.image-source-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:750;overflow:hidden}.image-source-trigger>span:last-child{color:#17624b;flex:none;font-size:13px;font-weight:850}.image-source-trigger:hover{background:#f8fbf9;border-color:#17624b}.image-source-trigger:focus-visible{border-color:#17624b;outline:none;box-shadow:0 0 0 4px #17624b29}.field .image-source-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.crop-stage{background:#25231f;border-radius:12px;place-items:center;padding:22px;display:grid}.crop-image-frame{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;line-height:0;position:relative}.crop-image-clip{width:100%;line-height:0;position:relative;overflow:hidden}.crop-image-clip img{width:100%;height:auto;display:block}.crop-mask{pointer-events:none;border:3px solid #ffb000;position:absolute;box-shadow:0 0 0 9999px #00000073}.crop-box{cursor:grab;touch-action:none;position:absolute}.crop-box:active{cursor:grabbing}.crop-handle{appearance:none;touch-action:none;background:0 0;border:0;width:44px;height:44px;margin:0;padding:0;position:absolute}.crop-handle:after{content:"";background:#ffb000;border:3px solid #fffdf8;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000004d}.crop-handle:focus-visible{outline-offset:2px;border-radius:10px;outline:3px solid #fffdf8}.crop-handle--north-west{top:-22px;left:-22px}.crop-handle--north-east{top:-22px;right:-22px}.crop-handle--south-west{bottom:-22px;left:-22px}.crop-handle--south-east{bottom:-22px;right:-22px}.crop-gesture-hint{color:#5e584f;font-size:14px;line-height:1.6}.crop-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.crop-controls label{color:#4f493f;gap:6px;font-size:14px;font-weight:700;display:grid}.crop-controls input{inline-size:100%}.capture-recovery-actions{flex-wrap:wrap;gap:12px;display:flex}.photo-notice dl{gap:12px;margin:0;display:grid}.photo-notice dl div{gap:3px;display:grid}.photo-notice dt{font-weight:800}.photo-notice dd{color:#5e584f;margin:0;line-height:1.6}.consent-row{align-items:flex-start;gap:10px;line-height:1.5;display:flex}.consent-row input{flex:none;margin-top:3px}.mistake-status{background:#edf8ef;border-radius:12px;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.mistake-status strong{color:#216732}.single-question-image{object-fit:contain;background:#fff;border:1px solid #d8d0c0;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:576px}.correction-readiness-panel{background:#fff8e8;border:1px solid #e5d6b8;border-radius:14px;gap:12px;padding:18px;display:grid}.correction-readiness-panel h2,.correction-readiness-panel p{margin:0}.recognition-panel{gap:.9rem;display:grid}.recognition-panel textarea,.recognition-panel select{border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:.75rem;width:100%;padding:.75rem}.recognition-panel textarea:focus-visible,.recognition-panel select:focus-visible{outline:3px solid color-mix(in srgb, var(--green) 35%, transparent);outline-offset:2px}.recognition-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;display:grid}.parent-correction-summary{background:#edf8ef;border:1px solid #b7d9bf;border-radius:14px;gap:14px;padding:20px;display:grid}.parent-correction-summary h2,.parent-correction-summary p,.parent-correction-summary dl,.parent-correction-summary dd{margin:0}.parent-correction-summary dl{gap:12px;display:grid}.parent-correction-summary dl>div{gap:4px;display:grid}.parent-correction-summary dt{color:#536b63;font-size:13px;font-weight:800}.correction-answer{white-space:pre-wrap;overflow-wrap:anywhere;color:#17342b;font-size:18px;line-height:1.6}.parent-assessment{background:#fffdf8;border:1px solid #d7cfbf;border-radius:14px;gap:14px;padding:16px;display:grid}.parent-assessment h3,.parent-assessment p{margin:0}.parent-assessment-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.parent-assessment-options [aria-pressed=true]{color:#114a39;background:#dff1e4;border-color:#17624b;box-shadow:inset 0 0 0 1px #17624b}.assessment-boundary{color:#5e584f;font-size:14px;line-height:1.6}.form-actions,.completion-actions,.page-footer-actions{gap:12px;display:grid}.form-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-actions,.page-footer-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.page-footer-actions{background:#f8f5ee;border:1px solid #ded6c7;border-radius:16px 6px 16px 16px;padding:14px}.form-actions>.primary-action,.form-actions>.secondary-action,.completion-actions>.primary-action,.completion-actions>.secondary-action,.page-footer-actions>.action-link{border-radius:12px;width:100%;min-height:54px}.completion-actions>.primary-action,.completion-actions>.secondary-action,.page-footer-actions>.action-link{transition:background .12s,border-color .12s,color .12s,transform .12s}.completion-actions>.secondary-action:hover,.page-footer-actions>.secondary-action:hover{background:#eaf4ef;transform:translateY(-1px)}.parent-space-link{touch-action:manipulation;-webkit-tap-highlight-color:#17624b1f;gap:8px;width:fit-content;max-width:100%;min-height:48px;transition:background .12s,border-color .12s,color .12s,transform .12s}.parent-space-link.secondary-action{color:#536b63;background:#fffdf8;border-color:#c8d5d0}.parent-space-link.secondary-action:hover{color:#17624b;background:#eaf4ef;border-color:#17624b;transform:translateY(-1px)}.parent-space-link__arrow{color:#17624b;font-size:18px;line-height:1;transition:transform .12s}.parent-space-link.primary-action .parent-space-link__arrow{color:#fff}.parent-space-link:hover .parent-space-link__arrow{transform:translate(-2px)}.page-footer-actions>.parent-space-link{width:100%}@media (max-width:620px){.form-actions,.completion-actions,.page-footer-actions{grid-template-columns:1fr}.parent-space-link{width:100%}}.mistake-list-page{background:radial-gradient(circle at 100% 0,#fff1d9 0,#0000 38%),#f5f2eb;min-height:100vh;padding:32px 16px}.mistake-list-card{background:#fffdf8;border:1px solid #dfd8c9;border-radius:20px;gap:24px;max-width:960px;margin:0 auto;padding:clamp(20px,4vw,40px);display:grid;box-shadow:0 16px 48px #372d1c1a}.mistake-list-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.mistake-list-heading h1,.mistake-list-heading p,.mistake-list-message h2,.mistake-list-message p,.raw-mistake-list p{margin:0}.mistake-list-heading h1{margin:6px 0}.mistake-list-heading>div>p:last-child,.mistake-list-message p,.raw-mistake-list p{color:#5e584f;line-height:1.6}.mistake-list-message{background:#f8f4eb;border:1px solid #ded4c2;border-radius:16px;gap:12px;padding:24px;display:grid}.raw-mistake-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.raw-mistake-list li{border:1px solid #d8d0c0;border-radius:16px;grid-template-columns:minmax(120px,220px) 1fr;align-items:center;gap:20px;padding:16px;display:grid}.raw-mistake-thumbnail{margin:0}.raw-mistake-thumbnail img{object-fit:contain;background:#fff;border-radius:10px;width:100%;height:132px}.raw-mistake-thumbnail figcaption{color:#69340c;background:#fff7ed;border:1px solid #f3c893;border-radius:10px;align-items:start;gap:10px;padding:14px;display:grid}.raw-mistake-thumbnail .secondary-action{min-height:40px}.raw-mistake-list li>div{align-items:start;gap:12px;display:grid}.mistake-pagination{justify-content:center;align-items:center;gap:16px;display:flex}.guided-panel{background:#f5faf5eb;border:1px solid #2f6f5738;border-radius:18px 6px 18px 18px;gap:16px;margin-top:22px;padding:22px;display:grid}.guided-panel h2,.guided-panel h3,.guided-panel p{margin:0}.guided-hints{gap:12px;margin:0;padding-left:24px;display:grid}.guided-hints li{border-left:3px solid var(--green);background:#fff;padding:12px 14px}.guided-solution{border-top:1px dashed #2f6f574d;gap:14px;padding-top:16px;display:grid}.guided-panel select{min-height:48px;color:inherit;font:inherit;background:#fff;border:1px solid #2f6f5759;border-radius:10px;padding:10px 12px}.content-feedback{border-top:1px dashed #2f6f5740;padding-top:8px}.content-feedback summary{cursor:pointer;font-weight:700}.family-learning-panel{border:1px solid var(--line);background:linear-gradient(145deg,#f5fbf3f5,#fffdf5f5);border-radius:1.25rem;gap:1rem;margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem);display:grid}.family-learning-heading,.family-feedback-list li,.family-feedback-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.family-learning-heading h2,.family-feedback-list h3,.family-learning-focus p{margin:0}.family-learning-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.family-learning-stats div{background:#ffffffb8;border:1px solid #356a4229;border-radius:.9rem;gap:.25rem;padding:.75rem;display:grid}.family-learning-stats dt,.family-learning-focus span,.family-feedback-list span{color:var(--muted);font-size:.82rem}.family-learning-stats dd{color:var(--green-800);margin:0;font-size:1.45rem;font-weight:800}.family-learning-focus,.family-learning-evidence{border-left:4px solid var(--green-500);background:#ffffffc2;border-radius:.75rem;margin:0;padding:.9rem 1rem}.family-learning-focus{gap:.35rem;display:grid}.family-feedback-list{gap:.75rem;display:grid}.family-feedback-list ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.family-feedback-list li{border-top:1px solid var(--line);padding:.8rem 0}.family-feedback-list li>div:first-child{gap:.2rem;display:grid}.learning-report-page{color:#183a30;background:radial-gradient(circle at 12% 2%,#f4c95d38,#0000 28rem),linear-gradient(#e7f1ec 0,#f5f7f1 38rem);min-height:100vh;padding:30px 20px 72px}.report-toolbar{justify-content:space-between;align-items:center;gap:16px;width:min(940px,100%);margin:0 auto 18px;display:flex}.report-back-link,.report-toolbar button,.report-footer a{color:#17624b;font:inherit;font-size:14px;font-weight:800}.report-back-link,.report-footer a{text-underline-offset:4px}.report-toolbar button{color:#fff;cursor:pointer;background:#17624b;border:1px solid #17624b;border-radius:999px;min-height:44px;padding:0 18px}.report-toolbar button:focus-visible,.report-back-link:focus-visible,.report-footer a:focus-visible{outline-offset:3px;outline:3px solid #f4c95d}.learning-report-sheet,.learning-report-state{background:#fffef9;border:1px solid #c8d9d2;width:min(940px,100%);margin:0 auto;box-shadow:0 28px 70px #16453621}.learning-report-sheet{border-radius:6px 34px 6px 6px;position:relative;overflow:hidden}.learning-report-sheet:before{content:"";background:repeating-linear-gradient(90deg,#17624b 0 36px,#f4c95d 36px 48px,#fffef9 48px 54px);width:100%;height:9px;position:absolute;top:0;left:0}.learning-report-state{border-radius:6px 30px 6px 6px;min-height:360px;padding:clamp(30px,7vw,68px)}.learning-report-state h1{margin:12px 0;font-family:Songti SC,STSong,serif;font-size:clamp(32px,6vw,48px)}.learning-report-state p:not(.report-eyebrow){color:#5b7069;max-width:34rem;line-height:1.8}.learning-report-state .report-back-link{margin-top:22px;display:inline-block}.report-masthead{justify-content:space-between;align-items:flex-start;gap:36px;padding:clamp(34px,7vw,68px) clamp(24px,7vw,68px) 38px;display:flex}.report-eyebrow{color:#17624b;letter-spacing:.12em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800}.report-masthead h1{color:#102f25;letter-spacing:-.045em;max-width:650px;margin:14px 0 12px;font-family:Songti SC,STSong,serif;font-size:clamp(34px,6vw,58px);line-height:1.16}.report-period{color:#65776f;margin:0;font-size:13px}.report-seal{color:#8f3e29;text-align:center;border:2px solid #b4563c;flex:0 0 122px;gap:8px;padding:15px 12px;display:grid;transform:rotate(2deg)}.report-seal span{border-bottom:1px solid #b4563c6b;padding-bottom:7px;font-family:STKaiti,KaiTi,serif;font-size:22px;font-weight:800}.report-seal strong{font-size:10px;line-height:1.5}.report-parent-note{border-top:1px solid #b9cec5;border-bottom:1px solid #b9cec5;grid-template-columns:minmax(100px,.24fr) minmax(0,1fr);gap:28px;margin:0 clamp(24px,7vw,68px) 10px;padding:26px 0;display:grid}.report-parent-note p{color:#17624b;margin:4px 0 0;font-size:13px;font-weight:800}.report-parent-note blockquote{color:#1a3a31;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(19px,3vw,25px);font-weight:700;line-height:1.75}.report-section{border-bottom:1px solid #d7e1dc;padding:42px clamp(24px,7vw,68px)}.report-section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.report-section-heading>div{align-items:baseline;gap:12px;display:flex}.report-section-heading>div>span{color:#b4563c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:800}.report-section-heading h2{margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(24px,4vw,32px)}.report-section-heading>p{color:#6a7d75;text-align:right;max-width:330px;margin:0;font-size:12px;line-height:1.65}.report-progress-grid{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:28px;display:grid}.report-progress-primary{color:#fff;background:#17624b;border-radius:4px 24px 4px 4px;align-content:center;padding:24px;display:grid}.report-progress-primary>span{font-size:13px;font-weight:800}.report-progress-primary strong{margin:8px 0 18px;font-family:Songti SC,STSong,serif;font-size:58px;line-height:1}.report-progress-track{background:#ffffff40;border-radius:999px;height:7px;overflow:hidden}.report-progress-track span{border-radius:inherit;background:#f4c95d;min-width:2px;height:100%;display:block}.report-stat-list{border-top:1px solid #b9cec5;border-left:1px solid #b9cec5;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.report-stat-list div{border-bottom:1px solid #b9cec5;border-right:1px solid #b9cec5;padding:18px}.report-stat-list dt{color:#61766e;font-size:12px;font-weight:700}.report-stat-list dd{color:#16382d;margin:8px 0 0;font-size:30px;font-weight:800}.report-stat-list small{font-size:12px;font-weight:700}.report-knowledge-list,.report-activity-list{margin:0;padding:0;list-style:none}.report-knowledge-list li{border-top:1px solid #d4dfda;grid-template-columns:38px minmax(150px,1fr) minmax(230px,1.35fr);align-items:center;gap:16px;min-height:64px;display:grid}.report-knowledge-list li:last-child{border-bottom:1px solid #d4dfda}.report-knowledge-list li>span{color:#b4563c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.report-knowledge-list li>strong{font-size:16px}.report-knowledge-list li>div{color:#647870;justify-content:space-between;gap:14px;font-size:12px;display:flex}.report-table-wrap{overflow-x:auto}.report-mistake-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.report-mistake-table th{color:#5f746c;letter-spacing:.06em;border-bottom:2px solid #17624b;padding:10px 12px;font-size:11px}.report-mistake-table td{vertical-align:top;border-bottom:1px solid #d9e2de;padding:14px 12px}.report-mistake-table td:first-child{white-space:nowrap}.report-mistake-table td strong,.report-mistake-table td span{display:block}.report-repeat-mark{color:#a34831;margin-top:4px;font-size:10px;font-weight:800}.report-activity-list{position:relative}.report-activity-list:before{content:"";background:#a9c3b9;width:1px;position:absolute;top:12px;bottom:12px;left:117px}.report-activity-list li{grid-template-columns:100px 18px minmax(0,1fr);align-items:start;gap:10px;min-height:54px;display:grid;position:relative}.report-activity-list time{color:#657970;padding-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.report-activity-list li>span{z-index:1;background:#b4563c;border:2px solid #fffef9;border-radius:50%;width:9px;height:9px;margin:5px auto 0;box-shadow:0 0 0 1px #b4563c}.report-activity-list li>div{align-items:baseline;gap:10px;display:flex}.report-activity-list small{color:#6c7d76}.report-empty{color:#60766d;border:1px dashed #a9c3b9;margin:0;padding:20px;line-height:1.7}.report-footer{background:#edf4f0;justify-content:space-between;align-items:end;gap:30px;padding:34px clamp(24px,7vw,68px) 42px;display:flex}.report-footer div{max-width:620px}.report-footer p{color:#5e736b;margin:7px 0 0;font-size:11px;line-height:1.7}.report-footer a{flex:none;font-size:11px}@media (max-width:720px){.family-learning-heading,.family-feedback-list li{flex-direction:column;align-items:stretch}.family-learning-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.family-feedback-actions{flex-wrap:wrap;justify-content:flex-start}.learning-report-page{padding:14px 0 0}.report-toolbar{padding:0 14px}.learning-report-sheet,.learning-report-state{box-shadow:none;border-bottom:0;border-left:0;border-right:0;border-radius:0}.report-masthead,.report-section-heading,.report-footer{flex-direction:column;align-items:stretch}.report-masthead{gap:24px}.report-seal{flex-basis:auto;align-self:flex-end;width:118px}.report-parent-note,.report-progress-grid{grid-template-columns:1fr}.report-parent-note{gap:12px}.report-section-heading{gap:10px}.report-section-heading>p{text-align:left;max-width:none}.report-knowledge-list li{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:13px 0}.report-knowledge-list li>div{flex-direction:column;grid-column:2;gap:3px}.report-activity-list:before{left:83px}.report-activity-list li{grid-template-columns:67px 12px minmax(0,1fr)}.report-activity-list li>div{flex-direction:column;align-items:flex-start;gap:3px}.report-toolbar button{padding:0 13px;font-size:12px}}@media print{@page{size:A4;margin:12mm}body{background:#fff}.learning-report-page{background:#fff;min-height:auto;padding:0}.report-toolbar,.report-footer a{display:none}.learning-report-sheet{width:100%;box-shadow:none;border:0;border-radius:0;overflow:visible}.report-masthead{padding-top:42px}.report-section,.report-parent-note,.report-progress-grid,.report-knowledge-list li,.report-mistake-table tr,.report-activity-list li{break-inside:avoid}.report-progress-primary,.report-footer{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.feedback-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.feedback-actions button{color:#713d2c;background:#fff;border:1px solid #8b402b40;border-radius:9px;min-height:42px;padding:8px 12px}.review-result-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-variant{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--paper-shadow);background:#fffdf5;border-radius:1rem;padding:1.25rem}.review-variant span{color:var(--green-700);font-size:.85rem;font-weight:800}.review-variant p{color:var(--ink);font-size:clamp(1.15rem,4vw,1.5rem);font-weight:700;line-height:1.8}.learning-insights{border:1px solid var(--line);background:#f8fbf5;border-radius:1rem;gap:1rem;padding:1rem;display:grid}.insight-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:.75rem;display:grid}.insight-filters label{gap:.35rem;font-weight:700;display:grid}.insight-filters input,.insight-filters select{border:1px solid var(--line);background:#fff;border-radius:.65rem;min-height:44px;padding:.65rem}.insight-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.insight-columns>div{background:#fff;border-radius:.8rem;padding:1rem}.insight-columns ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.insight-columns li{border-bottom:1px dashed var(--line);gap:.2rem;padding-bottom:.65rem;display:grid}@media (max-width:760px){.insight-filters,.insight-columns{grid-template-columns:1fr}}@media (max-width:820px){.home-hero,.home-process{grid-template-columns:1fr}.home-hero{gap:24px;min-height:auto;padding:54px 0 48px}.home-paper-trail{min-height:430px}.home-process{gap:32px}.activation-page,.login-page{grid-template-columns:1fr;padding:20px 0 36px}.activation-intro{min-height:auto;padding:34px 32px 40px}.workbook-mark{margin-bottom:28px}}@media (max-width:520px){.home-page{width:min(100% - 24px,1180px);padding-top:12px}.home-header{gap:12px}.home-invite-note{max-width:130px;font-size:10px}.home-hero h1{font-size:clamp(42px,13vw,60px)}.home-lead{font-size:16px}.home-entry__actions,.home-action{width:100%}.home-action{justify-content:space-between}.home-paper-trail{min-height:365px}.home-paper{min-height:180px;padding:22px}.home-paper strong{margin:34px 0 16px;font-size:25px}.home-paper--source{top:0}.home-paper--correction{bottom:0}.home-paper-stamp{width:94px;height:94px;top:138px;right:4%}.home-process__list li{grid-template-columns:42px 1fr}.home-process__list p{grid-column:2}.activation-page,.login-page{gap:12px;width:min(100% - 24px,1080px)}.activation-intro,.activation-card,.parent-card{border-radius:20px 6px 20px 20px;padding:26px 22px 30px}.activation-intro h1{font-size:38px}.privacy-note dl{grid-template-columns:1fr;gap:14px}.login-intro{padding:26px 22px}.session-heading,.session-list li{flex-direction:column;align-items:stretch}.parent-actions{grid-template-columns:1fr}.child-profile-panel{padding:20px 16px}.child-page{padding:0}.child-card{border:0;border-radius:0;align-content:center;min-height:100vh;padding:32px 22px}.child-correction-page{padding:0}.child-correction-card{border:0;border-radius:0;align-content:center;min-height:100vh;padding:32px 22px}.correction-actions,.review-result-actions,.parent-assessment-options{grid-template-columns:1fr}.session-heading .secondary-action{width:100%}.mistake-capture-page{padding:0}.mistake-card{border:0;border-radius:0;min-height:100vh}.crop-controls{grid-template-columns:1fr}.mistake-list-page{padding:0}.mistake-list-card{border:0;border-radius:0;min-height:100vh}.mistake-list-heading{flex-direction:column;align-items:stretch}.raw-mistake-list li{grid-template-columns:1fr;align-items:stretch}.raw-mistake-thumbnail img{height:auto;max-height:240px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
