@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;600;700;800&display=swap";:root{color:#17223b;font-synthesis:none;--blue:#244bc6;--ink:#17223b;--muted:#657087;--line:#dfe4ed;--yellow:#fbd75e;background:#f5f7fc;font-family:DM Sans,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:13px 23px;font-weight:650;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}button:hover,.button:hover{background:#18399c}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #e69c00}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{letter-spacing:-.05em;margin:14px 0 18px;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.12}h2{letter-spacing:-.035em;margin:8px 0 16px;font-size:1.55rem}h3{margin:12px 0;font-size:1.2rem}p{line-height:1.65}main{max-width:1200px;min-height:calc(100vh - 176px);margin:auto;padding:48px 40px 72px}.site-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:92px;padding:0 max(32px,50vw - 560px);display:flex}.brand{color:var(--ink);letter-spacing:-1.5px;align-items:center;font-size:30px;font-weight:800;text-decoration:none;display:flex}nav{align-items:center;gap:30px;display:flex}nav a{color:var(--muted);font-weight:600;text-decoration:none}nav a.active{color:var(--blue)}nav form{margin:0}.text-button{color:var(--muted);background:0 0;min-height:40px;padding:8px 0;font-size:.9rem}.text-button:hover{color:var(--blue);background:0 0}.header-note{color:var(--muted);font-size:.9rem}footer{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);justify-content:flex-end;margin:auto;padding:26px 0;font-size:.85rem;display:flex}footer a{color:var(--muted)}.skip{z-index:99;background:#fff;padding:10px;position:fixed;top:-100px;left:20px}.skip:focus{top:10px}.eyebrow{letter-spacing:.15em;color:var(--blue);font-size:.75rem;font-weight:700}.lead{color:var(--muted);margin:0 0 20px;font-size:1.15rem;line-height:1.6}.muted{color:var(--muted)}.small{font-size:.875rem}.pill{color:#304a81;white-space:nowrap;background:#e9eefb;border-radius:30px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-block}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:0 0 32px;display:flex}.page-heading h1{margin-top:10px}.page-heading p{margin-bottom:0}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:24px;padding:28px}.empty{text-align:center;background:#fff;border:1px dashed #bac6dd;border-radius:20px;padding:65px 25px}.empty p{max-width:520px;color:var(--muted);margin:0 auto 26px}.quiet-empty{color:var(--muted);text-align:center;border:1px dashed #bdc8db;border-radius:16px;padding:35px}.secondary{color:var(--ink);background:#fff;border:1px solid #ccd5e5}.secondary:hover{background:#edf1fc}.login-wrap{grid-template-columns:1fr 1fr;min-height:570px;margin:20px 0;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:24px 0 0 24px;padding:64px 56px}.login-card h1{margin:22px 0;font-size:4.1rem}.login-rule{background:var(--yellow);width:48px;height:4px;margin:32px 0}.google-button{color:var(--ink);background:#fff;border:1px solid #cbd3e2;justify-content:flex-start;width:100%}.google-button:hover{background:#f1f4fa}.google-g{color:var(--blue);font-size:1.35rem;font-weight:800}.login-aside{background:var(--blue);color:#fff;border-radius:0 24px 24px 0;padding:44px 52px;position:relative;overflow:hidden}.big-number{color:var(--yellow);letter-spacing:-12px;font-family:Manrope,sans-serif;font-size:130px;font-weight:800;line-height:1}.login-aside h2{margin-top:22px;font-size:2rem;line-height:1.25}.steps{padding-left:24px;line-height:2.15}.login-aside p{opacity:.8;max-width:330px;margin-top:28px;font-size:.875rem}.family-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;display:grid}.family-card{border:1px solid var(--line);border-top:4px solid var(--blue);background:#fff;border-radius:20px;padding:32px}.family-card h2{margin:12px 0 22px;font-size:1.9rem}.family-card button{justify-content:space-between;width:100%}.name-chips{flex-wrap:wrap;gap:20px;margin-bottom:24px;display:flex}.name-chip{align-items:center;gap:10px;font-weight:650;display:flex}.initial{color:var(--blue);background:#e4ebff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:inline-flex}.initial.second{color:#765710;background:#fff0bf}.history{margin-top:52px}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin:28px 0 20px;display:flex}.section-heading h2{margin:0}.section-heading>span{font-size:.875rem}.history-list{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.history-row{color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;text-decoration:none;display:flex}.history-row:last-child{border:0}.history-row>div,.history-row>span{gap:5px;display:grid}.history-row>span{text-align:right}.score{letter-spacing:-1px;font-size:1.8rem}.score small{color:var(--muted);font-size:1rem;font-weight:500}.tabs{border-bottom:1px solid var(--line);gap:30px;margin-bottom:28px;overflow:auto}.tabs a{white-space:nowrap;border-bottom:3px solid #0000;padding:16px 0}.tabs a.active{border-color:var(--blue)}label{gap:8px;font-size:.875rem;font-weight:600;display:grid}input,select,textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #cbd3e0;border-radius:9px;padding:11px 13px}textarea{resize:vertical}input[type=file]{padding:12px;font-size:.85rem}form{gap:16px;display:grid}.inline-form{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.inline-form label{flex:1;min-width:180px}.inline-form select{width:auto;max-width:100%}.connection{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:20px 24px;display:flex}.connection>div:first-child{gap:5px;display:grid}.row-actions{align-items:center;gap:18px;display:flex}.disclosure{color:var(--muted);max-width:800px;margin-bottom:28px;font-size:.875rem}.upload-panel{background:#eef2fd;border-color:#d2dcf5;grid-template-columns:1fr 1fr;gap:40px;display:grid}.upload-panel h2{font-size:1.9rem}.upload-panel p{max-width:360px;color:var(--muted)}.inline-label{align-items:center;display:flex}.inline-label select{width:auto}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin-bottom:28px;display:grid}.photo-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.photo-card img{object-fit:cover;background:#e7ecf6;width:100%;height:210px}.photo-caption{gap:12px;padding:18px;display:grid}.photo-caption .pill{justify-self:start}.photo-caption a{font-size:.9rem;font-weight:600}.photo-caption form{justify-self:start}.notice{color:#644914;background:#fff0bf;border-radius:12px;padding:15px 20px}.kids-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:28px;display:grid}.kid-form{border:1px solid var(--line);border-radius:14px;align-content:start;padding:24px}.new-kid{background:#f5f7fc}.back-link{margin-bottom:24px;font-size:.875rem;text-decoration:none;display:inline-block}.annotation-grid{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);align-items:start;gap:28px;display:grid}.annotation-photo{text-align:center;background:#e4e9f3;border-radius:18px;padding:16px}.annotation-surface{touch-action:none;cursor:crosshair;max-width:100%;line-height:0;display:inline-block;position:relative}.annotation-surface>img{width:auto;max-width:100%;height:auto;max-height:670px;display:block}.face-box{border:3px solid var(--yellow);pointer-events:none;box-sizing:border-box;border-radius:8px;position:absolute;box-shadow:0 0 0 1px #48370b50}.box-label{background:var(--yellow);color:#332801;white-space:nowrap;border-radius:6px 6px 0 0;padding:5px 8px;font-size:12px;font-weight:700;line-height:1.1;position:absolute;bottom:100%;left:-3px}.child-picker{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.chosen{border-color:var(--blue);color:var(--blue);background:#e5edff}.annotation-tools>button{width:100%}.box-controls{border-top:1px solid var(--line);margin:20px 0;padding-top:16px}.box-controls summary{cursor:pointer;font-weight:650}.coordinate-grid{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.annotation-tools>form{margin-top:24px}summary{cursor:pointer}.quiz-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.quiz-progress{justify-content:space-between;margin:14px 0;font-size:.9rem;font-weight:600;display:flex}progress{appearance:none;background:#e1e6f0;border:0;border-radius:30px;width:100%;height:7px;margin-bottom:28px;overflow:hidden}progress::-webkit-progress-bar{background:#e1e6f0}progress::-webkit-progress-value{background:var(--blue)}progress::-moz-progress-bar{background:var(--blue)}.quiz-grid{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);align-items:center;gap:48px;display:grid}.photo-frame{width:fit-content;max-width:100%;margin:auto;line-height:0;display:block;position:relative}.photo-frame img{border-radius:16px;width:auto;max-width:100%;height:auto;max-height:600px;display:block}.quiz-answer h1{font-size:2.6rem}.answer-options{gap:14px;margin-top:28px;display:grid}.answer-button{color:var(--ink);background:#fff;border:1px solid #c9d3e6;justify-content:flex-start;min-height:70px;font-size:1.25rem}.answer-button:hover{border-color:var(--blue);background:#e9efff}.choice-index{color:var(--muted);background:#edf1f8;border-radius:7px;padding:5px 10px;font-size:.875rem}.feedback{background:#fff0bf;border-radius:18px;padding:25px}.feedback.right{background:#dff2e6}.feedback h2{margin:12px 0 8px}.feedback-icon{font-size:1.8rem}.feedback .tip{border-top:1px solid #0002;padding-top:15px}.feedback button{width:100%;margin-top:12px}.result-hero{text-align:center;padding:32px 0 44px}.result-score{letter-spacing:-8px;color:var(--blue);font-family:Manrope,sans-serif;font-size:7rem;font-weight:800}.result-score span{letter-spacing:-2px;color:#8391b1;font-size:2.4rem}.result-hero form{display:inline-flex}.review-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.review-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.review-card>div:last-child{padding-top:20px}.review-card .photo-frame img{max-height:350px}.correct{color:#236140;background:#dff2e6}.incorrect{color:#705113;background:#fff0bf}.photo-failed{text-align:center;background:#e8edf7;border-radius:18px;padding:50px 30px;line-height:1.5}.prose{max-width:720px;margin:0 auto}.prose h2{margin-top:32px}.prose p{color:var(--muted)}@media (width<=760px){.site-header{height:76px;padding:0 20px}nav{gap:18px}nav a{font-size:.875rem}.brand{font-size:26px}main{padding:32px 20px 48px}footer{gap:20px;margin:0 20px;padding:24px 0;font-size:.8rem}.header-note{font-size:.8rem}.login-wrap{grid-template-columns:1fr;margin:0}.login-card{border-radius:20px 20px 0 0;padding:36px 28px}.login-card h1{font-size:3rem}.login-aside{border-radius:0 0 20px 20px;padding:30px}.big-number{letter-spacing:-6px;font-size:80px}.login-aside h2{font-size:1.6rem}.page-heading{flex-direction:column;align-items:flex-start}.section-heading{flex-wrap:wrap;align-items:flex-start}.panel{padding:22px}.upload-panel,.annotation-grid,.quiz-grid{grid-template-columns:1fr;gap:24px}.connection{flex-direction:column;align-items:flex-start}.quiz-answer h1{font-size:2rem}.quiz-grid .photo-frame img{max-height:440px}.annotation-tools{margin:0}.review-grid{grid-template-columns:1fr}.history-row{padding:18px}.tabs{gap:24px}.tabs a{font-size:.875rem}.family-card{padding:26px}.quiz-top .eyebrow{font-size:.7rem}.result-score{font-size:5rem}.result-hero h1{font-size:2rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
