*{box-sizing:border-box}body{margin:0;background:#f4f7f6;color:#20332c;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif}.member-shell{width:min(1180px,96vw);margin:0 auto;padding:14px 0 50px}.member-head{display:flex;align-items:center;gap:18px;padding:10px 4px}.member-head>div:first-child{display:grid;margin-right:auto}.member-head small{color:#73817c}.member-head strong{font-size:22px}.member-head a{color:#66736f;font-size:12px}.character-card,.today-card,.launcher,.toggle-card{background:#fff;border:1px solid #dde7e3;border-radius:18px;box-shadow:0 3px 14px #18382e0a}.character-card{min-height:180px;display:grid;grid-template-columns:140px 110px 1fr;gap:14px;align-items:end;padding:18px 26px}.avatar-placeholder,.pet-placeholder{height:145px;border-radius:48% 48% 18px 18px;background:linear-gradient(#e7f3ef,#d9ebe5);display:grid;place-items:center;color:#66847a}.pet-placeholder{height:90px;border-radius:50%}.avatar-placeholder span,.pet-placeholder span{font-size:11px}.avatar-placeholder b,.pet-placeholder b{font-size:13px}.character-copy{align-self:center}.character-copy strong{display:block;font-size:22px}.character-copy span{color:#6b7873;font-size:13px}.coach-strip{position:sticky;top:0;z-index:20;margin:10px 0;padding:10px 14px;background:#fff;border:1px solid #dbe5e8;border-radius:14px;box-shadow:0 4px 14px #18382e14}.coach-strip>div:first-child{display:flex;gap:14px;align-items:center;font-size:13px}.coach-strip span{margin-left:auto;color:#697873}.coach-strip b{font-size:16px}.gauge{height:16px;margin-top:7px;background:#e8edf2;border-radius:999px;overflow:hidden}.gauge i{display:block;height:100%;background:linear-gradient(90deg,#14a89a,#acd52f);border-radius:inherit}.launcher,.today-card{padding:16px;margin-top:12px}.launcher h2,.today-card h2{font-size:17px;margin:0 0 12px}.app-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.app-grid a{min-height:78px;display:grid;place-items:center;align-content:center;gap:4px;border:1px solid #dce5e2;border-radius:14px;color:#27443a;text-decoration:none;background:#fbfdfc}.app-grid a:first-child{background:#eef8f4;border-color:#bddfD2}.app-grid b{font-size:23px}.app-grid span{font-size:12px;font-weight:800}.learning-list{display:grid;gap:6px}.learning-list>div,.simple-list>div{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;background:#f6f8f7}.learning-list span{display:grid}.learning-list small{color:#71807b;margin-top:2px}.learning-list>div>b,.simple-list b{margin-left:auto}.toggle-card{margin-top:10px;overflow:hidden}.toggle-card summary{list-style:none;display:flex;justify-content:space-between;padding:15px 17px;font-weight:900;cursor:pointer}.toggle-card summary::-webkit-details-marker{display:none}.toggle-card summary span{font-size:11px;color:#73817c}.toggle-body{padding:0 17px 17px}.toggle-body h3{font-size:13px;margin:10px 0 7px}.bars{display:grid;gap:6px}.bars div{display:grid;grid-template-columns:38px 1fr 70px;align-items:center;gap:7px;font-size:11px}.bars i{height:11px;background:#36a889;border-radius:999px}.bars b{text-align:right}.simple-list{display:grid;gap:5px}.rank-list{display:grid;gap:5px}.rank-list div{display:grid;grid-template-columns:45px 1fr auto;gap:8px;padding:8px 10px;border-radius:9px;background:#f6f8f7}.rank-list .me{background:#fff6d9}.empty{color:#73817c}.login-body{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);padding:26px;background:#fff;border-radius:18px;box-shadow:0 12px 40px #0002}.login-card h1{margin:0}.login-card form{display:grid;gap:13px;margin-top:20px}.login-card label{display:grid;gap:5px;font-weight:800;font-size:13px}.login-card input{height:46px;border:1px solid #ccd8d3;border-radius:10px;padding:8px 10px;font:inherit}.login-card button{height:48px;border:0;border-radius:11px;background:#238b65;color:#fff;font-weight:900}.error{padding:10px;background:#fff0ef;color:#a33;border-radius:9px}@media(max-width:760px){.member-shell{width:100%;padding:8px 8px 35px}.character-card{grid-template-columns:100px 75px 1fr;min-height:140px;padding:12px}.avatar-placeholder{height:115px}.pet-placeholder{height:70px}.character-copy span{display:none}.app-grid{grid-template-columns:repeat(3,1fr)}.coach-strip{top:0}.member-head strong{font-size:18px}}

.login-subaction{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:16px;
    font-size:13px;
    color:#667085;
}
.login-subaction a{
    color:#087f73;
    font-weight:900;
    text-decoration:none;
}
.register-card{
    width:min(92vw,520px);
}
.dev-note{
    margin:14px 0 0;
    color:#98a2b3;
    font-size:11px;
    line-height:1.6;
    text-align:center;
}


.form-divider{
    margin:8px 0 2px;
    padding-top:10px;
    border-top:1px solid #e4e7ec;
    color:#475467;
    font-size:12px;
    font-weight:900;
}
.member-head-actions{
    display:flex;
    align-items:center;
    gap:12px;
}
.member-head-actions a{
    text-decoration:none;
}
.learner-shell{
    max-width:900px;
}
.learner-list{
    display:grid;
    gap:10px;
}
.learner-list form{
    margin:0;
}
.learner-list button{
    width:100%;
    display:grid;
    grid-template-columns:1fr auto auto;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border:1px solid #dde3e1;
    border-radius:14px;
    background:#fff;
    color:#243b33;
    text-align:left;
    cursor:pointer;
}
.learner-list form.is-selected button{
    border-color:#238b65;
    background:#eef8f4;
}
.learner-list button strong{
    font-size:17px;
}
.learner-list button span{
    color:#667085;
    font-size:13px;
}
.learner-list button b{
    color:#238b65;
    font-size:12px;
}
.learner-add-form{
    display:grid;
    gap:12px;
}
.learner-add-form label{
    display:grid;
    gap:6px;
    color:#475467;
    font-size:13px;
    font-weight:800;
}
.learner-add-form input{
    min-height:44px;
    padding:9px 11px;
    border:1px solid #d0d5dd;
    border-radius:10px;
    font:inherit;
}
.learner-add-form button{
    min-height:46px;
    border:0;
    border-radius:11px;
    background:#238b65;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}
@media(max-width:700px){
    .member-head-actions{gap:7px;font-size:11px}
    .learner-list button{grid-template-columns:1fr auto}
    .learner-list button span{grid-column:1/2}
}


.login-mode-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin:14px 0 16px;
    padding:4px;
    border-radius:12px;
    background:#eef2f1;
}
.login-mode-tabs button{
    min-height:40px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#667085;
    font:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
}
.login-mode-tabs button.is-active{
    background:#fff;
    color:#17694e;
    box-shadow:0 1px 5px rgba(16,24,40,.08);
}
.login-panel[hidden]{display:none!important}
.learner-item{
    border:1px solid #dde3e1;
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.learner-item.is-selected{
    border-color:#238b65;
}
.learner-select-form button{
    border:0!important;
    border-radius:0!important;
}
.learner-credentials-form{
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:8px;
    align-items:end;
    padding:10px 12px;
    border-top:1px solid #edf0ef;
    background:#fafbfb;
}
.learner-credentials-form label{
    display:grid;
    gap:4px;
    color:#667085;
    font-size:11px;
    font-weight:800;
}
.learner-credentials-form input{
    min-height:38px;
    padding:7px 9px;
    border:1px solid #d0d5dd;
    border-radius:9px;
    font:inherit;
}
.learner-credentials-form button{
    min-height:38px;
    padding:7px 11px;
    border:0;
    border-radius:9px;
    background:#238b65;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}
@media(max-width:700px){
    .learner-credentials-form{grid-template-columns:1fr}
}
