:root{font-family:'DM Sans',system-ui,sans-serif;color:#173936;background:#f6faf8;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select{font:inherit}button,select{cursor:pointer}button,input,select{min-height:44px;border:1px solid #cce0da;border-radius:12px;background:#fff;color:#173936;padding:8px 12px}button:hover,button:focus-visible{border-color:#27766f}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #27766f;outline-offset:2px}
.common-bar{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.4fr) 44px;align-items:end;gap:12px;padding:12px max(12px,env(safe-area-inset-left));border-bottom:1px solid #cce0da;background:#fff}.common-bar label{display:grid;gap:4px;min-width:0;font-size:.85rem}.common-bar select{width:100%;min-width:0}.common-bar button{padding:8px;display:grid;place-items:center}.common-bar svg{fill:none;stroke:currentColor;stroke-width:1.5}
.learning{display:flex;align-items:stretch;min-height:calc(100dvh - 100px)}nav{width:230px;flex:none;padding:14px;display:flex;flex-direction:column;gap:8px;border-right:1px solid #cce0da;background:#fff}nav button{text-align:left}main{min-width:0;flex:1}iframe{display:block;width:100%;height:calc(100dvh - 105px);min-height:480px;border:0;background:#f6faf8}.login{max-width:420px;margin:8vh auto;padding:24px}.login h1{font-weight:400}.login form,.login label{display:grid;gap:10px}.login form{gap:18px}#status{margin:8px 16px}dialog{max-width:min(600px,95vw);border:1px solid #cce0da;border-radius:18px;padding:24px;color:#173936;background:#fff}dialog::backdrop{background:#17393666}dialog button{margin:8px 4px 0}#children p{padding:12px;border-bottom:1px solid #cce0da}
@media(max-width:650px){.common-bar{gap:6px;padding:8px}.common-bar select{padding:8px 3px;font-size:.85rem}.learning{display:block}nav{width:100%;border-right:0;border-bottom:1px solid #cce0da}iframe{height:calc(100dvh - 98px)}}
@media(max-width:380px){.common-bar{grid-template-columns:38px minmax(0,1fr) minmax(0,1.2fr) 38px}.common-bar button{padding:4px}}
.install,footer{padding:8px 16px;text-align:center}.install p{max-width:600px;margin:8px auto;line-height:1.5}#accountEntry{margin-top:0}#childForm,#childForm label{display:grid;gap:8px}#childForm{gap:12px}#childForm h3{font-weight:400}#registerForm input[type=checkbox]{min-height:20px;width:20px}a{color:#27766f}dialog{max-height:90dvh;overflow:auto}
