@font-face{font-family:Fredoka;src:url('/fredoka-semibold.ttf')}*{box-sizing:border-box}body{margin:0;background:#fffaf4;color:#454052;font-family:system-ui,sans-serif}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px max(5vw,20px);background:#eee5f7;border-bottom:1px solid #dbcce6}header p{font-size:12px;letter-spacing:2px;margin:0}h1,h2,h3{font-family:Fredoka,system-ui;font-weight:600}h1{margin:6px 0;font-size:32px}h2{font-size:26px}a{color:#705486}main{max-width:1180px;margin:25px auto;padding:0 20px 60px}button,.button{font:inherit;color:inherit;padding:11px 18px;border:1px solid #d7c8e0;border-radius:14px;background:#fff;cursor:pointer}button:hover{background:#f1e8f6}button:disabled{opacity:.55;cursor:wait}.primary,.selected{background:#dfefd8;border-color:#b7cdaa}.tabs,.tier-tabs,.actions,.inline-fields{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.tabs button{flex:1}.panel{background:#fff;border:1px solid #e4d8e9;border-radius:22px;padding:26px}.panel[hidden],[hidden]{display:none!important}.section-top{display:flex;justify-content:space-between;align-items:start;gap:20px}p{line-height:1.6}label{display:block;font-size:15px;margin:14px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;max-width:620px;padding:11px;border:1px solid #cfc4d8;border-radius:10px;font:inherit;margin:7px 0;background:#fff}input[type=checkbox]{width:20px;height:20px;accent-color:#84649b;cursor:pointer}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:570px}th,td{text-align:center;padding:14px 10px;border-bottom:1px solid #eee5f2}th:first-child,td:first-child{text-align:left}th{background:#f7f1fa}.notice{padding:16px;border-radius:14px;background:#fff0ba;border:1px solid #ead18b}.quiet{font-size:14px;color:#746a7f}#status{min-height:26px}.error{color:#a32525}.success{color:#336126}.member-card,.worksheet-card,.audit-row{border:1px solid #e1d7e6;border-radius:14px;padding:18px;margin:15px 0}.member-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.member-card h3{margin:0}.member-card p{margin:6px 0}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.worksheet-card form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}.worksheet-card form label{margin:0}dialog{width:min(600px,94vw);max-height:90vh;overflow:auto;border:1px solid #d7c8e0;border-radius:22px;padding:26px}dialog::backdrop{background:#32283a99}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}@media(max-width:650px){header{flex-wrap:wrap}header div{order:-1;width:100%}.panel{padding:18px}.section-top,.member-card{display:block}.upload-grid,.worksheet-card form{grid-template-columns:1fr}.tabs button{flex:1 1 40%}h1{font-size:28px}}
.access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.access-card{padding:20px;border:1px solid #e2d6e8;border-radius:18px;background:#fff8e5}.access-card h3{margin:0 0 15px}.level-links{display:flex;gap:8px;flex-wrap:wrap}.level-links a{display:block;padding:9px 12px;background:#e1efda;border-radius:10px;text-decoration:none}.level-links a.locked{background:#eee7f1;color:#75677e}.panel{margin:22px 0}.button{display:inline-block;text-decoration:none}summary{cursor:pointer;margin:20px 0}#auth form{padding:0 18px 15px;border:1px solid #eee5f2;border-radius:16px}#auth .upload-grid{gap:20px}@media(max-width:750px){.access-grid{grid-template-columns:1fr 1fr}}@media(max-width:460px){.access-grid{grid-template-columns:1fr}}
#family-panel form{max-width:600px;margin-block:20px}#family-progress details,#child-progress details{padding:12px;border-bottom:1px solid #ded6e8}#family-progress summary,#child-progress summary{cursor:pointer}#family-progress p,#child-progress p{white-space:pre-wrap;overflow-wrap:anywhere}#children-list button{margin:4px}

.unlock-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center}.store-buttons{display:grid;gap:12px;min-width:210px}.store-buttons a{text-align:center}.store-apple{background:#eee5f7}.store-android{background:#dfefd8}.store-buttons p{margin:0;text-align:center}.child-login-choice, [data-registration-child]{border:1px solid #e1d7e6;border-radius:14px;padding:16px;margin:20px 0}legend{font-weight:600;padding:0 6px}@media(max-width:650px){.unlock-panel{grid-template-columns:1fr}.store-buttons{min-width:0}}

.birthday-fields{display:grid;grid-template-columns:1fr 2fr 1.3fr;gap:8px;max-width:620px}.birthday-fields select{min-width:0}.child-login-choice button[type=button]{opacity:1;cursor:pointer}

.certificate-dialog{width:min(1100px,96vw)}.certificate-dialog img{width:100%;display:block;margin-bottom:20px}.certificate-dialog button{margin:5px}#report-certificates button{margin:8px}.table-wrap table th button{padding:5px;border:0;background:transparent;font-weight:bold;white-space:nowrap}#learning-directory td{white-space:pre-line;min-width:110px}

.child-progress-area{margin-top:2rem;border-top:3px solid #c9b4dc;padding-top:1.5rem}.child-progress-card{margin:1.25rem 0;padding:1.25rem;border:1px solid #d8c8e8;border-radius:20px;background:#fffaf0;scroll-margin-top:1.5rem}.child-progress-card:focus{outline:3px solid #9471b2;outline-offset:4px}.practice-session{border-top:1px solid #ddd0e8;margin-top:1rem;padding-top:1rem}.practice-session details{margin:1rem 0;padding:1rem;background:white;border-radius:12px;overflow-wrap:anywhere}
