:root{--g:#3c7d22;--gs:#edf6e9;--bg:#f5f6f8;--line:#e4e7eb;--muted:#737b86;--danger:#b83d3d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#20252b;font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.hide{display:none!important}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card,.modal-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 50px #00000010}.auth-card{width:min(430px,100%);padding:34px}.logo{width:48px;height:48px;border-radius:14px;background:var(--gs);color:var(--g);display:grid;place-items:center;font-size:27px}.auth h1{margin:16px 0 6px}.auth p{color:var(--muted)}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f2f4;padding:4px;border-radius:10px;margin:25px 0 18px}.tab{border:0;background:transparent;padding:10px;border-radius:8px}.tab.active{background:#fff;font-weight:700}.auth form,.modal form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600;font-size:14px}input{border:1px solid #d5d9de;border-radius:9px;padding:11px 12px;outline:0}input:focus{border-color:var(--g);box-shadow:0 0 0 3px #3c7d2214}.primary{border:0;background:var(--g);color:#fff;border-radius:9px;padding:11px 15px;font-weight:700}.wide{width:100%}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 30px}header>b{font-size:18px}.profile-wrap{margin-left:auto;position:relative}.profile-btn{width:40px;height:40px;border:0;border-radius:50%;background:var(--gs);color:var(--g);display:grid;place-items:center;padding:0}.profile-btn svg{width:22px;height:22px}.profile-btn:hover{background:#e2f0dc}.profile-menu{position:absolute;right:0;top:50px;width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px #00000014;padding:8px;z-index:25}.profile-menu button{width:100%;border:0;background:#fff;color:#4f5863;text-align:left;padding:10px 11px;border-radius:8px}.profile-menu button:hover{background:#f5f7f8;color:var(--g)}.profile-name{font-weight:800;padding:10px 11px 8px;color:#20252b;border-bottom:1px solid var(--line);margin-bottom:4px}main{max-width:1180px;margin:auto;padding:40px 18px}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:25px}.head h2{font-size:34px;margin:5px 0}.head small{color:var(--g);font-weight:800;letter-spacing:.12em}.head>div:last-child{display:flex;gap:8px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;text-align:left}.card h3{margin:0 0 12px;font-size:21px}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.bar{height:8px;background:#edf0f2;border-radius:20px;margin-top:13px;overflow:hidden}.bar i{display:block;height:100%;background:var(--g)}.empty{background:#fff;border:1px dashed #ccd1d7;border-radius:17px;text-align:center;padding:50px;color:var(--muted)}#back{border:0;background:transparent;padding:0 0 12px;color:var(--muted)}.danger{border:1px solid #e2b4b4;color:var(--danger);background:#fff;border-radius:9px;padding:10px}.topic{background:#fff;border:1px solid var(--line);border-radius:17px;margin-bottom:18px;overflow:hidden}.tt{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.tt h3{margin:0 0 6px}.tt small{color:var(--muted)}.deleteT{border:0;background:transparent;color:var(--danger)}.reps{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;padding:15px}.rep{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fbfbfc}.rep.done{background:var(--gs);border-color:#c9dfc0}.rep small{color:var(--muted)}.rep b{display:block;margin:7px 0}.rep label{display:flex;display:flex;grid-template-columns:none;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.rep input{width:16px;height:16px;accent-color:var(--g);padding:0}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:20}.modal-card{width:min(520px,100%);padding:27px;position:relative}.x{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:27px;color:var(--muted)}.fg{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{background:#f5f7f8;border:1px solid var(--line);padding:12px;border-radius:10px;color:var(--muted);font-size:12px;line-height:1.5}.toast{position:fixed;right:20px;bottom:20px;background:#20252b;color:#fff;padding:12px 15px;border-radius:10px;z-index:30;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.err{background:#963535}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.reps{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){header{padding:0 15px}main{padding:25px 12px}.head{align-items:flex-start;flex-direction:column}.head>div:last-child{width:100%}.grid{grid-template-columns:1fr}.reps{grid-template-columns:repeat(2,1fr)}.fg{grid-template-columns:1fr}.auth-card{padding:25px}}
.linkbtn{display:block;margin:-4px 0 14px;border:0;background:none;color:#3c7d22;font-weight:700;cursor:pointer;padding:0}.linkbtn:hover{text-decoration:underline}

/* UI refinement */
#file-invalid{display:none}
#getQuestion{padding:8px 14px;font-size:14px}
@media(max-width:600px){header{padding:0 15px}.profile-menu{right:-4px}}
\n.rep-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.info-btn{width:24px;height:24px;border:1px solid #cfd4da;border-radius:50%;background:#fff;color:#68727d;font-weight:800;line-height:1;padding:0;display:inline-grid;place-items:center;flex:0 0 auto}.info-btn:hover:not(:disabled){border-color:var(--g);color:var(--g);background:var(--gs)}.info-btn:disabled{opacity:.28;cursor:not-allowed}.rep-check{display:flex!important;align-items:center;gap:7px!important}.rep-check input{margin:0}.repeat-modal .modal-subtitle{color:var(--muted);margin:0 0 16px}.repeat-modal textarea{width:100%;resize:vertical;min-height:120px;border:1px solid #d5d9de;border-radius:9px;padding:11px 12px;outline:0;box-sizing:border-box}.repeat-modal textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px #3c7d2214}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.note-view{white-space:pre-wrap;background:#f5f7f8;border:1px solid var(--line);border-radius:12px;padding:16px;line-height:1.6;color:#30363d}.note-meta{margin-top:12px;color:var(--muted);font-size:13px}.done .info-btn{border-color:#b8d1ae;color:var(--g)}\n