:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#17253f;background:#f3f6fc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:#514cc5;color:white;padding:10px 15px;border-radius:9px;font-weight:600}button:hover{background:#3933a4}button:disabled{opacity:.55;cursor:wait}button.ghost{background:#eef0ff;color:#38379d}button.ghost:hover{background:#e0e3fe}button.small{font-size:12px;padding:8px 12px}
[hidden]{display:none!important}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7e86ed;outline-offset:2px}
.masthead{background:linear-gradient(120deg,#263d94,#6758ca);color:white}.head-inner{max-width:1040px;margin:auto;padding:25px 17px;display:flex;justify-content:space-between;align-items:center;gap:20px}.masthead h1{margin:0 0 4px;font-size:29px}.masthead p{margin:0;color:#e1e6ff}.account{display:flex;flex-direction:column;gap:7px;align-items:flex-end;overflow-wrap:anywhere;font-size:13px}.logout{background:#ffffff22;border:1px solid #ffffff85;color:white;padding:7px 12px}.logout:hover{background:#ffffff38}
main{max-width:1040px;margin:25px auto;padding:0 16px 45px}h2{font-size:20px;margin:3px 0 12px}.panel,.subject{background:white;border-radius:15px;box-shadow:0 4px 16px #2639620d;border:1px solid #e5eaf5}.panel{padding:22px;min-width:0}.muted{color:#60708a;font-size:13px;line-height:1.5}.subtle-note{font-size:12px;color:#78859b;margin:18px 0 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.subject{padding:18px;min-height:120px}.subject span{font-size:26px}.subject strong{display:block;margin:9px 0 5px}.subject small{color:#66748b}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
input:not([type=checkbox]),textarea{border:1px solid #d3dcf0;border-radius:9px;padding:11px 12px;width:100%;background:white;color:#17253f}textarea{resize:vertical;min-height:185px;line-height:1.6}.input-row{display:flex;gap:8px}.input-row input{flex:1;min-width:0}ul{list-style:none;padding:0;margin:15px 0 0}li{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eaeef6}li label{flex:1;overflow-wrap:anywhere}li.done label{text-decoration:line-through;color:#8792a4}li input{width:17px;height:17px;accent-color:#514cc5}li button{padding:5px 9px;font-size:13px}.progress{height:11px;background:#e5e9f8;border-radius:8px;overflow:hidden}.bar{height:100%;background:#5b69e7;width:0;transition:width .2s}.quiz-buttons{display:grid;gap:8px}.quiz-buttons button{text-align:left}.feedback{font-weight:700;min-height:23px}.intro-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}.intro-row h2{margin-bottom:2px}.intro-row p{margin:0}.sync-pill{border:1px solid #addcc2;background:#eafaf0;color:#196a45;border-radius:25px;padding:9px 11px;font-size:12px;white-space:nowrap}.sync-pill.offline{background:#fff2df;border-color:#f1d5a9;color:#925813}
footer{text-align:center;color:#697790;font-size:12px;margin-top:24px}.auth-card{max-width:480px;margin:30px auto}.auth-form{display:grid;gap:9px}.auth-form label{font-weight:600;font-size:13px}.auth-form button{margin-top:10px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f1fd;padding:5px;border-radius:10px;gap:5px;margin:16px 0}.tab{background:transparent;color:#5c5a83}.tab.active{background:#514cc5;color:white}.tab:not(.active):hover{background:#e0e3fe}.error-text{color:#b42318;font-size:13px;font-weight:600}.alert{background:#fff1d6;border:1px solid #efcc8d;color:#7c4a0b;border-radius:10px;padding:14px}.import-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #b9b6f0;background:#f2f0ff;padding:15px 18px;border-radius:13px;margin-top:17px}.import-banner p{margin:4px 0 0}.notes-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.conflict{padding:15px;border:1px solid #ecc36f;background:#fff8e7;border-radius:10px;font-size:13px}.conflict p{margin:7px 0 12px}.conflict button{font-size:12px}hr{border:0;border-top:1px solid #e4e8f2;margin:20px 0}
@media(max-width:750px){.grid{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:490px){.head-inner{align-items:flex-start}.masthead h1{font-size:22px}.account{max-width:44%;font-size:11px}.import-banner,.intro-row{flex-direction:column;align-items:flex-start}.input-row button{padding-left:12px;padding-right:12px}}@media(max-width:360px){.grid{grid-template-columns:1fr}}
