:root{font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;color:#25334b;background:#fbfaf7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{max-width:1120px;margin:auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#fff;border-bottom:1px solid #eee8df}.brand{font-weight:800;font-size:1.15rem;color:#315d56}.nav{display:flex;gap:16px;align-items:center;color:#58677b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;background:#315d56;color:white;padding:13px 18px;font-weight:750;cursor:pointer;min-height:48px}.btn:hover{background:#264b46}.btn-light{background:#edf4f1;color:#315d56}.btn-coral{background:#ef9278;color:#fff}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0}.card{background:white;border:1px solid #eee8df;border-radius:24px;padding:22px;box-shadow:0 8px 28px #3048330a}.stat-label{color:#6f7b89;font-size:.9rem}.stat-value{font-size:1.8rem;font-weight:800;margin-top:8px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:30px 0 14px}.section-head h2{margin:0;font-size:1.25rem}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-cover{height:150px;border-radius:17px;display:grid;place-items:center;font-size:3.2rem;background:linear-gradient(135deg,#f9d69e,#f7aa8b)}.book-cover.blue{background:linear-gradient(135deg,#b7d8ef,#94c4b6)}.book-cover.lilac{background:linear-gradient(135deg,#d7c9ef,#f0c9bc)}.book-card h3{margin:16px 0 6px}.muted{color:#758091}.badge{background:#edf4f1;color:#315d56;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.form{display:grid;gap:14px}.form label{display:grid;gap:7px;font-weight:700}.form input,.form select{width:100%;padding:13px 14px;border:1px solid #d9dedc;border-radius:12px;background:white}.notice{padding:14px;border-radius:14px;background:#edf4f1;margin:12px 0}.notice.error{background:#fff0ec;color:#8c3826}.login-wrap{max-width:470px;margin:8vh auto;padding:24px}.login-wrap .card{padding:34px}.child-row{padding:15px 0;border-bottom:1px solid #f0eee9}.empty{padding:28px;text-align:center;color:#758091}.story-page{max-width:780px;margin:30px auto;text-align:center}.story-text{font-size:clamp(2rem,5vw,3.2rem);line-height:1.4;letter-spacing:.01em;margin:32px 0}.story-illustration{height:250px;border-radius:28px;background:linear-gradient(135deg,#d9f0e3,#ffe2bb);display:grid;place-items:center;font-size:6rem}.pager{display:flex;justify-content:space-between;margin-top:28px}.progress{height:10px;border-radius:99px;background:#edf0ed;overflow:hidden}.progress span{display:block;height:100%;background:#68ad8a}.pill{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff2e8;color:#9b6345}@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.book-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.shell{padding:16px}.topbar{padding:14px 16px}.nav .wide{display:none}.stats,.book-grid{grid-template-columns:1fr 1fr}.card{padding:17px}.book-cover{height:112px}.stat-value{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
