:root{color:#292344;background:#f5f3fb;font-family:Pretendard,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}main{max-width:42rem;min-height:100dvh;margin:auto;padding:2rem 1rem}.eyebrow{color:#665a9a;letter-spacing:.1em;font-size:.8rem;font-weight:700}h1{margin:.5rem 0 1.5rem;font-size:2rem}.app-header,.session,.lesson-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.session{flex-direction:column;align-items:end;font-size:.9rem}.session button{min-height:36px;padding:.35rem .75rem}.date-filter,.login-card label{gap:.4rem;display:grid}input,button{min-height:44px;color:inherit;font:inherit;background:#fff;border:1px solid #b8b1d0;border-radius:.65rem;padding:.65rem 1rem}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}.lessons{gap:.8rem;padding:0;list-style:none;display:grid}article{background:#fff;border:1px solid #e1dced;border-radius:1rem;padding:1.2rem}article h2{font-size:1.2rem}.detail-button{width:100%}.badge{background:#ece8f7;border-radius:1rem;padding:.3rem .6rem;font-size:.8rem}.detail-panel{background:#fff;border:1px solid #c9c1de;border-radius:1rem;margin-top:1rem;padding:1.2rem;box-shadow:0 1rem 3rem #332b571f}.detail-panel h2{margin:0}.detail-panel dl{grid-template-columns:max-content 1fr;gap:.7rem 1rem;display:grid}.detail-panel dt{color:#665a9a;font-weight:700}.detail-panel dd{margin:0}.materials{border-top:1px solid #e1dced;margin-top:1.25rem}.materials ul{gap:.7rem;padding:0;list-style:none;display:grid}.materials li{background:#f5f3fb;border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.materials li div{gap:.25rem;min-width:0;display:grid}.materials li span{overflow-wrap:anywhere;color:#665a9a;font-size:.85rem}.materials li button{flex:none}.preparation-actions{border-top:1px solid #e1dced;margin-top:1.25rem;padding-top:1rem}.preparation-actions h3{margin:0 0 .6rem;font-size:1rem}.status-actions{flex-wrap:wrap;gap:.5rem;display:flex}.status-actions button{flex:1;min-width:6rem}.status-actions button[aria-pressed=true]{color:#fff;background:#332b57;border-color:#332b57}.offline-banner{color:#7a4a12;text-align:center;background:#fbe9d5;border-radius:.6rem;margin:0 0 1rem;padding:.7rem 1rem}.notification-settings{z-index:20;background:#fff;width:min(100%,26rem);padding:1.25rem;position:fixed;inset:0 0 0 auto;overflow:auto;box-shadow:-1rem 0 2rem #332b5729}.notification-heading,.notification-actions{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.notification-settings fieldset{border:1px solid #e1dced;border-radius:.7rem;gap:.7rem;margin:1rem 0;display:grid}.notification-settings fieldset label{align-items:center;gap:.5rem;display:flex}.notification-settings fieldset input{min-height:0;padding:0}.notification-list{gap:.5rem;padding:0;list-style:none;display:grid}.notification-list li{background:#f5f3fb;border-radius:.6rem;gap:.2rem;padding:.7rem;display:grid}.notification-list li.unread{border-left:.3rem solid #332b57}.notification-list span{color:#665a9a;font-size:.88rem}.primary-nav{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;display:grid}.primary-nav button[aria-pressed=true]{color:#fff;background:#332b57;border-color:#332b57}.section-heading h2{margin:.2rem 0}.privacy-notice{color:#514879;background:#ebe7f5;border-radius:.7rem;padding:.8rem;font-size:.88rem}.score-list{gap:.7rem;padding:0;list-style:none;display:grid}.score-list button{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.score-list button span{gap:.2rem;display:grid}.score-list small{color:#665a9a}.score-value{text-align:right;font-size:1.15rem;font-weight:700}.assessment-list{gap:1rem;padding:0;list-style:none;display:grid}.assessment-list>li{background:#f5f3fb;border-radius:.8rem;padding:1rem}.assessment-list>li>div{justify-content:space-between;display:flex}.assessment-list dl{grid-template-columns:1fr;gap:.4rem}.assessment-list dl div{justify-content:space-between;display:flex}.login-page{place-items:center;display:grid}.login-card{background:#fff;border:1px solid #e1dced;border-radius:1rem;gap:1rem;width:min(100%,24rem);padding:1.5rem;display:grid}.login-card button[type=submit]{color:#fff;background:#332b57}
