@font-face{font-family:Outfit;src:url('/outfit.woff2')}*{box-sizing:border-box} :root{--ink:#243f35;--green:#244e40;--muted:#717970;--cream:#f8f5ed;--line:#e1e3d8;--peach:#f4dfcc;--sage:#e8eee4;--white:#fffefa}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;font-size:15px;line-height:1.6;letter-spacing:-.035em}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bd8051;outline-offset:4px}button{transition:background .18s,transform .18s}button:hover:not(:disabled){transform:translateY(-1px)}.topbar{height:95px;max-width:1220px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 21px Outfit,sans-serif;letter-spacing:.015em}.brand-symbol{background:var(--green);color:var(--cream);width:36px;height:36px;border-radius:12px;text-align:center;line-height:32px;font:italic 32px Georgia}.brand-divider{height:17px;width:1px;background:#ccd1c6;margin:0 5px}.brand-caption{font:12px -apple-system,sans-serif;letter-spacing:-.02em;color:#6c796d}.edition{font:11px Outfit,sans-serif;letter-spacing:.16em;color:var(--muted)}.edition b{color:var(--green);margin-left:12px}main{max-width:1140px;margin:auto;min-height:75vh}h1,h2,h3,p{margin:0}h1{font-size:52px;line-height:1.3;letter-spacing:-.065em;font-weight:650}h1 em{font-family:Georgia,'Apple SD Gothic Neo',serif;font-style:normal;font-weight:450;color:#597759}h2{font-size:26px;line-height:1.4;letter-spacing:-.055em}h3{font-size:18px;letter-spacing:-.04em}.eyebrow{font:500 11px Outfit,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:#718473;margin-bottom:22px}.pill{display:inline-flex;align-items:center;gap:7px;background:var(--sage);padding:6px 13px;border-radius:50px;font-size:11px;font-weight:600;white-space:nowrap}.pill.peach{background:var(--peach);color:#815739}.pill.done{background:var(--green);color:white}.hero{padding:65px 0 45px;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:40px}.hero-copy>p{color:var(--muted);margin-top:23px;line-height:1.9}.hero-copy>.pill{margin-bottom:24px;background:transparent;border:1px solid #cfd7c9}.hero-art{position:relative}.hero-art img{width:100%;display:block;border-radius:48% 48% 20px 20px;mix-blend-mode:multiply}.art-caption{text-align:center;font:italic 17px Georgia;color:#7b8978;margin-top:7px}.welcome-bottom{display:grid;grid-template-columns:1fr 1.02fr;gap:40px;margin:5px 0 70px;align-items:start}.steps{display:flex;gap:19px;list-style:none;padding:0;margin:26px 0}.steps li{flex:1;position:relative}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid #cbd6c8;font:13px Outfit;color:#687f66;margin-bottom:13px}.steps b{font-size:13px}.steps p{font-size:11px;color:var(--muted);margin-top:4px}.fine{font-size:12px;color:var(--muted);line-height:1.8}.login-card{background:var(--white);border:1px solid var(--line);padding:28px 30px;border-radius:22px;box-shadow:0 12px 40px #2f452508}.login-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.login-heading h2{font-size:21px}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#536253}input,select{width:100%;min-width:0;border:1px solid #d9dfd3;background:#fffefa;border-radius:10px;padding:12px;color:var(--ink);height:48px;outline:none}input:focus,select:focus{border-color:#557b59;box-shadow:0 0 0 3px #557b5910}input::placeholder{color:#a6aaa1;font-weight:400}.primary{background:var(--green);border:0;color:#fffdf5;border-radius:11px;min-height:49px;padding:12px 23px;font-weight:600;font-size:14px}.primary:hover{background:#193f31}.wide{width:100%;margin-top:19px}.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.secondary{border:1px solid #cdd6c8;background:var(--white);color:var(--green);border-radius:10px;min-height:44px;padding:10px 18px;font-weight:600;font-size:13px}.text-button{border:0;background:transparent;color:#5e7361;padding:8px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.login-card .fine{margin-top:13px}.error{color:#9b3c30;background:#fbede7;padding:12px 15px;border-radius:10px;font-size:13px;margin:14px 0}.error:empty{display:none}.section-header{padding:45px 0 26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.section-header .eyebrow{margin-bottom:9px}.section-header h1{font-size:34px}.section-header p{margin-top:8px;color:var(--muted);font-size:13px}.section-actions{display:flex;gap:16px;align-items:center}.family-layout{display:grid;grid-template-columns:260px 1fr;gap:42px;padding-bottom:50px}.side-note{padding:24px;background:#eaf0e5;border-radius:18px;height:max-content;position:sticky;top:20px}.side-note img{width:100%;mix-blend-mode:multiply;border-radius:12px;margin-bottom:13px}.side-note h3{font-size:18px;margin-bottom:10px}.side-note p{font-size:12px;color:#6a7864;line-height:1.9}.side-note .side-line{height:1px;background:#cfdac9;margin:18px 0}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:22px}.section-title span{font-size:12px;color:var(--muted)}.child-card{padding:25px;border:1px solid var(--line);border-radius:17px;background:var(--white);margin-bottom:16px}.child-top{display:flex;align-items:center;gap:12px;margin-bottom:21px}.avatar{width:40px;height:40px;border-radius:14px;background:#eff0df;display:flex;align-items:center;justify-content:center;font:20px Georgia;color:#7c875d}.child-top .pill{margin-left:auto}.child-fields{display:grid;grid-template-columns:1.15fr 1.3fr .8fr;gap:14px}.child-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px}.child-bottom .fine{font-size:11px}.child-bottom button{font-size:11px;color:#8f7b6a}.child-card.removed{background:#f0efea;border-style:dashed}.child-card.removed .child-fields{opacity:.55}.add-child{width:100%;border:1px dashed #aebda6;background:#eef2e8;border-radius:14px;min-height:61px;color:#486544;font-weight:600}.add-child span{font-weight:400;font-size:12px;margin-left:12px;color:#76846f}.check-label{flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400}.check-label input{width:18px;height:18px;accent-color:var(--green);margin:2px 0;flex-shrink:0}.submit-area{margin-top:24px;padding:22px 0 0;border-top:1px solid var(--line)}.submit-area .primary{width:100%;margin-top:19px;min-height:54px}.submit-area>.fine{text-align:center;margin-top:10px}.banner{background:#e9efdf;border:1px solid #d9e4ca;border-radius:13px;padding:15px 20px;font-size:13px;margin-bottom:24px}.empty{padding:35px;text-align:center;background:var(--white);border:1px dashed #cbd6c5;border-radius:16px;margin-bottom:17px}.empty p{color:var(--muted);font-size:13px;margin-top:8px}.success{max-width:650px;text-align:center;margin:65px auto}.success-icon{font-size:32px;width:76px;height:76px;border-radius:50%;background:var(--sage);margin:0 auto 23px;display:grid;place-items:center}.success h1{font-size:36px}.success>p{margin:19px 0;color:var(--muted)}.success-summary{margin:30px 0;padding:22px;border-block:1px solid var(--line);display:flex;justify-content:center;gap:50px}.success-summary span{font-size:12px;color:var(--muted)}.success-summary b{display:block;font-size:24px;color:var(--green);font-family:Outfit}.success .button-row{justify-content:center}.pin-wrap{max-width:430px;margin:70px auto}.pin-wrap h1{font-size:29px;margin-bottom:12px}.pin-wrap form{margin-top:25px}.pin-wrap label{margin-top:14px}.pin-wrap .eyebrow{margin-bottom:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:5px 0 28px}.metric{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--white)}.metric:first-child{background:var(--green);color:#fff}.metric span{font-size:12px;opacity:.8}.metric strong{display:block;font:38px Outfit;letter-spacing:-.06em;margin-top:9px}.metric small{font-size:12px;margin-left:5px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:17px}.toolbar input{flex:1}.toolbar select{width:150px}.family-row{background:var(--white);border:1px solid var(--line);border-radius:13px;margin-bottom:10px;overflow:hidden}.family-row summary{padding:18px 22px;display:flex;align-items:center;gap:17px;cursor:pointer;list-style:none}.family-row summary:after{content:'＋';margin-left:5px;color:#93a18a}.family-row[open] summary:after{content:'−'}.row-name{flex:1;min-width:0}.row-name strong{display:block;font-size:15px}.row-name small{font-size:11px;color:var(--muted)}.row-detail{padding:0 22px 22px;border-top:1px solid var(--line)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.comparison>div{font-size:13px}.comparison small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.comparison .after{color:var(--green)}.row-detail .button-row{margin-top:15px}.admin-list{margin-bottom:45px}.review-note{font-size:12px;color:#7d8376;margin-top:13px}footer{max-width:1140px;border-top:1px solid var(--line);padding:23px 0 30px;margin:auto;display:flex;justify-content:space-between;gap:12px;color:#88907f;font-size:10px}.loading{padding:100px 20px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:12px;padding:12px 22px;font-size:13px;box-shadow:0 8px 30px #0002;z-index:10;max-width:90vw}#toast:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1400px){.hero{padding-top:78px}.hero h1{font-size:57px}}@media(max-width:1200px){main,footer{margin-left:40px;margin-right:40px}.topbar{padding:0 40px}.hero{gap:25px}.welcome-bottom{gap:25px}}@media(max-width:760px){.topbar{height:73px;padding:0 22px}.brand{font-size:18px;gap:9px}.brand-symbol{height:31px;width:31px;font-size:27px}.brand-caption,.brand-divider{display:none}.edition{font-size:9px;letter-spacing:.1em}.edition b{margin-left:4px}main,footer{margin-left:22px;margin-right:22px}.hero{padding:37px 0 15px;grid-template-columns:1fr;gap:11px}.hero-copy{text-align:center}.hero-copy>.pill{margin-bottom:18px;font-size:10px}h1{font-size:37px;line-height:1.35}.eyebrow{font-size:10px;margin-bottom:15px}.hero-copy>p{font-size:13px;margin-top:17px;line-height:1.8}.hero-art{max-width:370px;width:100%;margin:auto}.hero-art img{max-height:225px;object-fit:cover;border-radius:35% 35% 15px 15px}.art-caption{font-size:13px;margin-top:2px}.welcome-bottom{display:flex;flex-direction:column-reverse;gap:10px;margin:15px 0 32px}.welcome-bottom>div{width:100%}.login-card{padding:22px;border-radius:19px}.login-heading h2{font-size:19px}.login-grid{gap:10px}input,select{font-size:16px}.steps{margin:20px 0;gap:15px}.steps p{font-size:10px}.steps b{font-size:12px}.step-number{height:28px;width:28px;margin-bottom:9px}.welcome-bottom>.guide>.fine{font-size:11px}.section-header{padding:30px 0 23px;align-items:start;flex-wrap:wrap;gap:12px}.section-header h1{font-size:29px}.section-header .section-actions{width:100%;justify-content:flex-end}.family-layout{display:flex;flex-direction:column;gap:20px}.side-note{position:static;padding:17px 20px}.side-note img{display:none}.side-note h3{font-size:16px;margin-bottom:5px}.side-note p{font-size:12px}.side-note .side-line,.side-note .side-extra{display:none}.section-title h2{font-size:20px}.child-card{padding:20px}.child-fields{grid-template-columns:1.2fr 1fr;gap:13px}.child-fields label:first-child{grid-column:1/-1}.child-fields label:nth-child(2){min-width:0}.child-top{margin-bottom:16px}.child-top h3{font-size:17px}.child-bottom{align-items:start}.child-bottom .fine{max-width:170px}.add-child span{display:block;margin-left:0;margin-top:3px;font-size:11px}.add-child{padding:14px}.submit-area{margin-top:20px}.success{margin:45px auto}.success h1{font-size:30px}.success>p{font-size:13px}.success-summary{gap:35px}.pin-wrap{margin:40px auto}.metric-grid{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:16px}.metric strong{font-size:31px}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}.toolbar select{flex:1}.family-row summary{padding:15px;gap:8px}.family-row summary .pill{font-size:10px;padding:4px 8px}.row-detail{padding:0 15px 18px}.comparison{gap:10px}.comparison>div{font-size:12px}footer{flex-direction:column;padding:20px 0;gap:5px}.banner{padding:13px 16px}.section-header.admin-header h1{font-size:28px}}@media(max-width:360px){main,footer{margin-left:16px;margin-right:16px}.topbar{padding:0 16px}h1{font-size:32px}.login-card{padding:18px}.child-card{padding:16px}.child-fields{grid-template-columns:1.2fr .8fr}.child-fields input,.child-fields select{padding:8px;font-size:14px}.pill{font-size:10px;padding:5px 8px}.row-name strong{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Illustrated family poster system — reference revision 2026-11-02. */
:root{--ink:#363735;--green:#31594d;--muted:#77746c;--cream:#fff9ef;--line:#dbd5c6;--peach:#f7c2b9;--sage:#c9e4d7;--white:#fffdf6;--outline:#44433e;--yellow:#f5dc82;--blue:#acd3e4;--pink:#f1aaa9;--mint:#acd3be}body{background:var(--cream)}.topbar{border-bottom:2px solid var(--outline)}.brand-symbol{background:var(--pink);border:2px solid var(--outline);color:var(--ink);border-radius:12px 9px 13px 8px}.brand-caption{color:#6c6c60}.edition b{background:var(--yellow);padding:5px 8px;border-radius:5px}.hero{grid-template-columns:1fr 1fr;gap:65px;padding:65px 0 55px}.hero-copy>.pill{background:var(--yellow);border:1.5px solid var(--outline);transform:rotate(-2deg);box-shadow:2px 3px 0 #44433e1c}.hero h1{font-weight:750;color:#353733;line-height:1.35}.hero h1 em{font-family:inherit;font-weight:750;color:#397461;position:relative}.hero-copy>p{color:#706b62}.eyebrow{color:#89756b;font-weight:600;letter-spacing:.15em}.sprite{display:inline-block;position:relative;overflow:hidden;flex-shrink:0;width:100%;aspect-ratio:var(--sw)/var(--sh);vertical-align:middle}.sprite>img{position:absolute!important;display:block!important;width:calc(1254 / var(--sw) * 100%)!important;height:auto!important;max-width:none!important;max-height:none!important;left:calc(-1 * var(--sx) / var(--sw) * 100%);top:calc(-1 * var(--sy) / var(--sh) * 100%);border-radius:0!important;mix-blend-mode:normal!important;object-fit:fill!important}.art-family{--sx:0;--sy:0;--sw:440;--sh:485}.art-baby{--sx:450;--sy:45;--sw:370;--sh:425}.art-kids{--sx:830;--sy:90;--sw:424;--sh:395}.art-check{--sx:0;--sy:515;--sw:425;--sh:385}.art-celebrate{--sx:425;--sy:505;--sw:405;--sh:405}.art-admin{--sx:835;--sy:510;--sw:419;--sh:390}.art-heart{--sx:0;--sy:920;--sw:425;--sh:334}.art-pencil{--sx:435;--sy:920;--sw:390;--sh:334}.art-house{--sx:835;--sy:900;--sw:419;--sh:354}.poster-wall{height:390px;position:relative;padding:0 30px 0 20px}.poster{position:relative;width:310px;height:370px;border:2px solid var(--outline);border-radius:6px 7px 4px 6px;box-shadow:7px 8px 0 #3d423016;transform:rotate(3deg);display:flex;align-items:center;flex-direction:column;margin:0 auto}.poster-pink{background:#f2b7b7}.poster-heading{font:600 14px Outfit,sans-serif;letter-spacing:.19em;margin-top:21px}.hero-family{width:255px;margin-top:2px}.poster-foot{font-size:11px;letter-spacing:.05em;margin-top:-3px}.poster-mini{position:absolute;width:140px;padding:9px 12px 12px;background:var(--mint);border:2px solid var(--outline);border-radius:4px;bottom:-4px;right:-4px;transform:rotate(-10deg);box-shadow:5px 6px 0 #41412f15;animation:poster-sway 6s ease-in-out infinite}.poster-mini span:last-child{display:block;text-align:center;font-size:11px;font-weight:700;margin-top:3px}.floating-heart{position:absolute;width:80px;left:-6px;top:23px;transform:rotate(-15deg);animation:float-heart 4s ease-in-out infinite}.doodle-star{position:absolute;font-size:43px;color:#c88748;line-height:1}.star-one{right:0;top:2px;animation:star-turn 12s linear infinite}.star-two{left:14px;bottom:14px;font-size:33px;color:#609880}.login-card{border:1.5px solid var(--outline);border-radius:18px 14px 20px 15px;background:#fffdf6;box-shadow:5px 6px 0 #e8d9c4}.login-heading .pill{background:var(--pink);color:#593b37}.login-heading h2{font-weight:750}.primary{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--mint);color:#293f34;border:2px solid var(--outline);border-radius:11px 8px 12px 9px;box-shadow:3px 4px 0 var(--outline);font-weight:750;min-height:53px;transition:transform .16s,box-shadow .16s,background .16s}.primary:hover:not(:disabled){background:#bcdfca;transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--outline)}.primary:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--outline)}.button-icon{width:29px!important;flex-shrink:0}.primary .button-icon,.secondary .button-icon{width:28px!important}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#ffefb4;border:1.5px solid var(--outline);box-shadow:2px 2px 0 #44433e55;text-decoration:none;border-radius:8px 11px 8px 9px;color:#4a473a}.secondary:hover:not(:disabled){background:var(--yellow)}input,select{background:#fffef9;border:1.5px solid #c9c4b4;border-radius:8px 10px 9px 7px}input:focus,select:focus{border-color:#537863;box-shadow:0 0 0 3px #aed4ba55}.steps{gap:25px}.step-number{border:none;background:none;width:42px;height:40px}.step-number .button-icon{width:40px!important}.steps li:nth-child(2){transform:rotate(1deg)}.steps li:nth-child(3){transform:rotate(-1deg)}.steps b{font-size:14px}.pill{border:1px solid #51654c33;border-radius:7px 10px 7px 9px;color:#435640}.pill.done{background:#c4dfcd;color:#314d39}.pill.peach{background:#f5c6b7;color:#6a4035}.section-header h1{font-weight:750}.side-note{background:#f5df92;border:1.5px solid var(--outline);border-radius:8px 15px 10px 16px;box-shadow:4px 5px 0 #d8c797}.side-illustration{width:190px;margin:0 auto 13px}.side-note h3{font-size:22px;color:#524c37}.side-note p{color:#74674c}.side-note .eyebrow{color:#88703f}.side-note .side-line{background:#cbbb85}.child-card{border:1.5px solid var(--outline);border-radius:13px 17px 12px 15px;box-shadow:3px 4px 0 #e5ddca;padding-top:18px;animation:card-in .4s ease both}.child-card:nth-child(2n){background:#f1f7ee}.child-card:nth-child(3n){background:#fff2ed}.child-top{border-bottom:1px dashed #d5cdbb;padding-bottom:12px}.avatar{width:57px;height:54px;background:none;border-radius:0}.avatar .sprite{width:58px}.child-card.removed{background:#eceae2;box-shadow:none}.add-child{display:flex;justify-content:center;align-items:center;gap:15px;border:1.5px dashed #636858;background:#f7e5a5;color:#494e3b;border-radius:10px 14px 11px 13px;min-height:79px;box-shadow:2px 3px 0 #e2d7b8}.add-child>.button-icon{width:46px!important}.add-child .add-label{font-size:15px;color:#454e3b;font-weight:700;text-align:left;margin:0}.add-child .add-label>span{display:block;font-size:11px;font-weight:400;margin:3px 0 0;color:#787252}.submit-area .primary{min-height:57px}.banner{background:#d7ead9;border:1.5px solid #74957b;border-radius:8px 12px 9px 13px}.pin-wrap{max-width:470px;margin-top:25px}.pin-illustration{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:10px}.pin-illustration>.sprite{width:120px;animation:gentle-rock 6s ease-in-out infinite}.hand-note{font-size:17px;font-weight:700;color:#977063;transform:rotate(-6deg)}.pin-wrap>.login-card{background:#faeee5}.pin-wrap .eyebrow{font-size:10px}.success{margin-top:25px}.success-art{width:250px;position:relative;margin:0 auto 15px}.success-art>.sprite{animation:celebrate-in .8s cubic-bezier(.2,.9,.3,1.25) both}.success-summary{background:#f9e5a5;border:1.5px solid #65604c;border-radius:15px 11px 16px 13px}.success h1{font-weight:750}.confetti{position:absolute;width:10px;height:18px;border-radius:3px;animation:confetti-fall 2s ease-out both}.c1{left:0;top:15px;background:var(--pink);transform:rotate(25deg)}.c2{right:0;top:40px;background:var(--mint);animation-delay:.1s}.c3{left:25px;top:-5px;background:var(--yellow);animation-delay:.2s}.c4{right:15px;top:-3px;background:var(--blue);animation-delay:.3s}.admin-header{position:relative;gap:22px}.admin-portrait{width:110px;flex-shrink:0}.admin-header>div:nth-child(2){flex:1}.metric{position:relative;border:1.5px solid var(--outline);border-radius:12px 16px 10px 14px;box-shadow:3px 4px 0 #ded7c4;overflow:hidden;background:#f5df93}.metric:first-child{background:var(--mint);color:var(--ink)}.metric:nth-child(2){background:#f6d0bd}.metric:nth-child(3){background:#edb9bf}.metric:nth-child(4){background:#bad9e4}.metric>.button-icon{position:absolute;right:15px;bottom:15px;width:55px!important;opacity:.9}.metric>span:not(.sprite){font-weight:650;opacity:1}.metric strong{position:relative;z-index:1}.metric small{font-weight:400}.family-row{border:1.5px solid var(--outline);border-radius:9px 13px 10px 14px;box-shadow:2px 3px 0 #e5dcc8;margin-bottom:13px}.family-row[open]{background:#fff7e5}.row-avatar{width:42px;flex-shrink:0}.row-avatar .sprite{width:42px}.row-detail{border-top:1px dashed #bdbba9}.family-row summary:after{font-size:20px;font-weight:600;color:#7b7f66}.empty{border:1.5px dashed #9b9a7d;background:#fcf0d4;border-radius:10px 14px 10px 15px}.page-enter{animation:page-in .45s ease-out both}.primary:hover .button-icon{animation:icon-wiggle .5s ease-in-out}.text-button{color:#786b59}footer{border-top:1.5px solid var(--outline);color:#8b8272}.check-label input{accent-color:#527e66}.review-note{color:#827660}@keyframes page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{from{opacity:0;transform:translateY(10px) rotate(-.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes poster-sway{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-5px)}}@keyframes float-heart{0%,100%{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-8px)}}@keyframes star-turn{to{transform:rotate(360deg)}}@keyframes gentle-rock{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes icon-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(10deg)}}@keyframes celebrate-in{from{opacity:0;transform:scale(.75) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes confetti-fall{0%{opacity:0;translate:0 -20px;rotate:0deg}25%{opacity:1}100%{opacity:.7;translate:0 50px;rotate:160deg}}@media(max-width:1000px) and (min-width:761px){.hero{gap:20px}.poster-wall{padding:0;height:350px}.poster{width:260px;height:330px}.hero-family{width:225px}.poster-mini{width:110px;right:-5px}.floating-heart{width:60px;left:0}.hero h1{font-size:44px}}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:30px;padding:35px 0 10px}.hero h1{font-size:36px}.hero-copy>p{font-size:13px}.poster-wall{height:305px;padding:0;width:300px;max-width:100%;margin:0 auto}.poster{width:230px;height:287px;transform:rotate(3deg);margin-left:22px}.poster-heading{font-size:11px;margin-top:16px}.hero-family{width:198px;margin-top:0}.poster-foot{font-size:9px;margin-top:-1px}.poster-mini{width:103px;right:-5px;bottom:-1px;padding:5px 8px 8px}.poster-mini span:last-child{font-size:9px;margin-top:2px}.floating-heart{width:58px;left:-7px;top:5px}.star-one{font-size:32px;right:1px;top:-7px}.star-two{font-size:28px;left:0;bottom:4px}.welcome-bottom{margin-top:25px}.login-card{box-shadow:4px 5px 0 #e8d9c4}.hero-art img{max-height:none}.steps{gap:17px}.steps b{font-size:12px}.step-number{margin-bottom:7px}.guide>.fine{font-size:11px}.side-note{position:relative;min-height:146px;padding:19px 20px 19px 116px;overflow:hidden}.side-illustration{position:absolute;left:8px;top:17px;width:105px;margin:0}.side-note h3{font-size:19px}.side-note .eyebrow{font-size:8px;margin-bottom:7px}.side-note p{font-size:11px}.side-note h3 br{display:none}.child-card{padding:17px}.child-top{gap:10px;margin-bottom:15px}.avatar{width:45px;height:43px}.avatar .sprite{width:47px}.child-top h3{font-size:16px}.child-fields{gap:12px}.add-child{gap:11px}.add-child .add-label{font-size:14px}.add-child .add-label>span{font-size:11px}.pin-illustration>.sprite{width:100px}.hand-note{font-size:15px}.pin-wrap{margin-top:20px}.pin-wrap h1{font-size:27px}.success-art{width:210px;margin-top:5px}.success h1{font-size:29px}.admin-header{gap:12px}.admin-portrait{width:73px}.admin-header>div:nth-child(2){width:calc(100% - 85px)}.admin-header .eyebrow{font-size:8px;letter-spacing:.1em}.admin-header h1{font-size:25px!important}.admin-header p{font-size:11px}.metric>.button-icon{width:43px!important;right:9px;bottom:13px}.metric strong{font-size:30px}.metric small{font-size:10px}.metric>span:not(.sprite){font-size:11px}.row-avatar,.row-avatar .sprite{width:33px}.row-name strong{font-size:13px}.family-row summary{gap:8px;padding:14px 12px}.family-row summary .pill{font-size:9px;padding:4px 6px}.family-row summary:after{font-size:16px;margin-left:0}.toolbar .secondary{min-height:43px;font-size:12px;padding:8px 12px}.toolbar .secondary .button-icon{width:22px!important}.success .button-row{gap:14px}.success-summary{margin-top:22px}.button-row .primary{font-size:13px}}@media(max-width:360px){.hero h1{font-size:32px}.poster-wall{width:270px;height:280px}.poster{width:210px;height:265px;margin-left:18px}.hero-family{width:180px}.poster-mini{width:93px;right:0;bottom:-3px}.poster-heading{font-size:10px}.floating-heart{width:48px}.side-note{padding-left:95px}.side-illustration{width:85px;left:5px}.row-avatar,.row-avatar .sprite{width:26px}.row-name strong{font-size:12px}.family-row summary{gap:5px}.metric>.button-icon{width:34px!important;opacity:.7}.admin-header h1{font-size:22px!important}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Family-level graduation preference, matching the illustrated cards. */
.graduation-card{margin-top:28px;padding:26px;border:2px solid var(--ink,#34362e);border-radius:18px;background:#f6e7d8;box-shadow:4px 5px 0 #34362e18}.graduation-heading{display:flex;align-items:center;gap:14px}.graduation-heading h2{margin:5px 0;font-size:1.35rem}.graduation-card p{line-height:1.7}.graduation-choice{padding:18px;border-radius:12px;background:#fffaf0;font-weight:700}.graduation-choice input{flex-shrink:0;accent-color:#47765e}.graduation-note{font-weight:600;color:#875339}.graduation-admin-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:22px 0;padding:18px;border-radius:14px;background:#e0ecda}.graduation-admin-summary span{font-size:.88rem}.graduation-result{padding:14px 18px;background:#f6e7d8;border-radius:12px;line-height:1.7}@media(max-width:480px){.graduation-card{padding:18px}.graduation-heading h2{font-size:1.15rem}}

.hero h1.survey-title{font-size:clamp(25px,3.5vw,43px);line-height:1.45;letter-spacing:-.055em}.survey-title>span,.survey-title>em{display:block;white-space:nowrap}.hero-copy:has(.survey-title)>p{max-width:440px;font-size:15px;line-height:1.65}@media(max-width:760px){.hero h1.survey-title{font-size:clamp(24px,6.5vw,36px)}.hero-copy:has(.survey-title)>p{font-size:13px}}

/* Readability: fewer captions, larger text, clearer contrast. */
body{letter-spacing:-.025em}.fine{font-size:14px;color:#535b50;line-height:1.65}.hero-copy>p{color:#495448}.welcome-bottom .guide{align-self:center}.welcome-bottom .guide>.fine{font-size:15px;color:#384b3d}.welcome-bottom .guide .text-button{font-size:14px}.child-fields label,.login-grid label{font-size:15px}.child-fields input,.child-fields select,.login-card input{font-size:16px;min-height:48px}.child-bottom{justify-content:flex-end}.child-bottom .fine:empty{display:none}.child-bottom .fine:not(:empty){margin-right:auto}.graduation-card{padding:24px}.graduation-heading{margin-bottom:14px}.graduation-card>p{margin:12px 0;font-size:15px;color:#465044}.graduation-choice{font-size:17px;line-height:1.5;padding:18px}.graduation-card>.fine{font-size:14px;margin-bottom:0}.check-label{font-size:15px;line-height:1.6}.side-note h3{font-size:21px;line-height:1.5}.side-note p{font-size:15px;line-height:1.7;margin-top:16px}.side-note .side-extra{font-size:14px}.section-title{margin-bottom:20px}.child-fields{row-gap:18px}footer{font-size:13px;color:#555d51}@media(max-width:760px){.hero{padding-top:26px}.hero-copy:has(.survey-title)>p{font-size:15px}.welcome-bottom{margin-top:20px}.welcome-bottom .guide{display:flex;align-items:center;justify-content:space-between;gap:12px}.welcome-bottom .guide>.fine{font-size:13px}.welcome-bottom .guide .text-button{font-size:13px}.side-note{min-height:126px;padding:18px 18px 18px 108px}.side-note h3{font-size:18px}.side-note p{font-size:14px;margin-top:8px}.side-note .side-extra{font-size:12px}.side-illustration{width:92px}.graduation-card{padding:20px}.graduation-heading h2{font-size:20px}.graduation-choice{font-size:16px}.submit-area .check-label{font-size:15px}.child-fields label{font-size:15px}.fine{font-size:14px}.brand-caption{display:none}}
