@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#162543;background:#f6f8fc}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{background:#101e38;color:#d3def2;width:260px;flex:none;position:sticky;top:0;height:100vh;padding:29px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 43px;color:white;font:700 24px Outfit,sans-serif;letter-spacing:-.6px}.brandmark{display:grid;place-items:center;background:#f4b942;color:#12233d;border-radius:13px;width:42px;height:42px;font-size:25px}.brand small{display:block;font:500 10px 'DM Sans',sans-serif;letter-spacing:1px;text-transform:uppercase;color:#9dafc9}.sidebar nav{display:grid;gap:5px}.sidebar nav button{border:0;background:transparent;color:#afc0db;text-align:left;border-radius:10px;padding:13px 16px;font-size:17px;display:flex;align-items:center;gap:14px}.sidebar nav button span{font-size:14px;font-weight:600}.sidebar nav button:hover,.sidebar nav button.active{background:#263f63;color:white}.sidebar nav button.active{box-shadow:inset 3px 0 #f5bb46}.sidefoot{margin-top:auto;padding:20px 13px;border-top:1px solid #33425c;font-size:12px;line-height:1.8;color:#a8bad1}.sidefoot b{color:#f6bb44}main{min-width:0;flex:1}.top{height:82px;padding:0 clamp(20px,5vw,70px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf5;background:#fff}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#446caa}#account{display:flex;align-items:center;gap:10px}.solid,.outline{border-radius:9px;padding:11px 16px;font-size:13px;font-weight:800;border:1px solid #1e3971}.solid{color:white;background:#244785}.solid:hover{background:#17346a}.outline{background:white;color:#224580}.outline:hover{background:#eff5ff}#menu{display:none;border:0;background:none;font-size:24px}.page{padding:40px clamp(20px,5vw,70px);max-width:1450px;margin:auto;min-height:calc(100vh - 138px)}h1,h2,h3{font-family:Outfit,Arial,sans-serif;letter-spacing:-.03em;margin:0}h1{font-size:clamp(34px,4vw,56px);line-height:1.12}h2{font-size:27px}h3{font-size:19px}p{line-height:1.65;color:#63748b}.hero{border-radius:22px;background:linear-gradient(115deg,#142b53,#2d5994);color:white;padding:clamp(30px,5vw,58px);display:grid;grid-template-columns:1.4fr .6fr;gap:20px;overflow:hidden;position:relative}.hero:after{content:'✦';font-size:230px;color:#ffffff0d;position:absolute;right:7%;top:-55px}.hero .eyebrow{color:#f2c466}.hero p{color:#c8d8eb;max-width:550px}.hero strong{color:#f7c463}.hero button{background:#f4bc4d;color:#162a49;border:0;padding:13px 22px;border-radius:9px;font-weight:800}.hero-art{align-self:center;z-index:1;text-align:center;font-size:110px;filter:drop-shadow(0 12px 15px #101b3899)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:37px 0 18px}.section-heading p{margin:5px 0 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid #e4eaf3;border-radius:15px;padding:23px;box-shadow:0 4px 22px #172f5308}.card{cursor:pointer;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #172f5315}.icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#e8f1ff;color:#24528e;font-size:23px;margin-bottom:18px}.card:nth-child(2) .icon{background:#f9eefa;color:#8b4ea2}.card:nth-child(3) .icon{background:#fff2dc;color:#bb7925}.card:nth-child(4) .icon{background:#e5f7ec;color:#299766}.card p{font-size:13px;margin-bottom:0}.features{display:grid;grid-template-columns:2fr 1fr;gap:18px}.feature-list{display:grid;gap:10px}.mini{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #e9edf4;border-radius:11px;cursor:pointer}.mini:hover{background:#f8faff}.mini .icon{margin:0;flex:none}.mini b{display:block}.mini small,.muted{color:#718096;font-size:12px}.banner{background:#fef7e7;border:1px solid #f8eac9;border-radius:14px;padding:22px}.banner h3{margin-bottom:8px}.banner p{margin:0;font-size:13px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 19px;flex-wrap:wrap}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #dce5f0;background:#fff;color:#3f5472;padding:9px 14px;border-radius:30px;font-size:12px;font-weight:700}.pill.active{background:#234783;border-color:#234783;color:#fff}.entries{display:grid;gap:13px}.entry{background:white;border:1px solid #e4eaf3;border-radius:14px;padding:22px}.entry h3{margin:8px 0}.entry p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.badge{display:inline-block;background:#eaf1fc;color:#315a91;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:800}.entry .meta{color:#8090a6;font-size:12px}.entry .actions{display:flex;gap:12px;margin-top:16px}.link{border:0;background:none;color:#26569a;font-weight:800;padding:8px 0}.link:hover{text-decoration:underline}.reply{border-top:1px solid #edf0f5;margin-top:12px;padding-top:12px}.reply p{margin:4px 0}.reply-form{display:flex;gap:8px;margin-top:12px}.reply-form input{flex:1}.empty{text-align:center;padding:50px 20px;background:#fff;border:1px dashed #cbd8e9;border-radius:15px;color:#66809d}.empty strong{display:block;color:#1e385e;font-size:18px;margin-bottom:8px}.problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.problem{padding:24px}.problem h3{margin:15px 0}.problem form{display:flex;gap:9px}.problem input{flex:1;min-width:0}.feedback{font-size:13px;font-weight:700}.success{color:#188358}.error{color:#bb3d4c;font-size:13px}.tablewrap{overflow-x:auto;background:white;border:1px solid #e4eaf3;border-radius:15px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:16px;border-bottom:1px solid #edf0f4;font-size:13px}th{color:#6b7c94;background:#f7f9fd;font-size:11px;text-transform:uppercase;letter-spacing:.7px}tr:last-child td{border:0}.rank{font-weight:800;color:#b9831e}.points{color:#22549b;font-weight:800}.table-note{font-size:13px;margin-top:13px}input,textarea,select{border:1px solid #d8e1eb;border-radius:8px;padding:11px 12px;background:#fff;color:#172d4d;outline:none}input:focus,textarea:focus,select:focus{border-color:#4384da;box-shadow:0 0 0 3px #4384da25}dialog{border:0;border-radius:18px;box-shadow:0 25px 80px #071b3a55;max-width:min(460px,calc(100vw - 24px));width:100%;padding:30px}dialog::backdrop{background:#08172ab3}dialog h2{margin:12px 0 6px}dialog p{margin:0 0 18px}dialog form>label{display:block;font-size:12px;font-weight:800;margin:12px 0}dialog label input,dialog label textarea,dialog label select{display:block;width:100%;margin-top:6px}.close{float:right;border:0;background:none;font-size:27px;color:#60728d}.full{width:100%}#authSwitch{display:block;margin:8px auto 0}footer{text-align:center;padding:20px;color:#8290a4;font-size:12px}.welcome{font-weight:700;color:#385278;font-size:13px}@media(max-width:1050px){.sidebar{width:76px}.brand{font-size:0;padding:0 0 40px;justify-content:center}.brand small,.sidebar nav button span,.sidefoot{display:none}.sidebar nav button{justify-content:center}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sidebar{position:fixed;z-index:20;width:260px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar .brand{font-size:24px;justify-content:start;padding:0 12px 35px}.sidebar .brand small,.sidebar nav button span,.sidebar .sidefoot{display:block}.sidebar nav button{justify-content:start}#menu{display:block}.top{height:70px;padding:0 18px}.top>.eyebrow{display:none}.page{padding:24px 17px}.hero{grid-template-columns:1fr}.hero-art{display:none}.features,.problem-grid{grid-template-columns:1fr}.grid{gap:10px}.card{padding:16px}.card h3{font-size:16px}#account .outline{display:none}.welcome{display:none}.section-heading{align-items:flex-start}.section-heading .solid{white-space:nowrap}.reply-form,.problem form{flex-wrap:wrap}.reply-form input,.problem input{flex-basis:100%}}

[hidden]{display:none!important}


.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;align-items:start}.settings-panel{padding:26px}.settings-panel h2{margin:0 0 18px}.settings-panel form,.settings-panel label{display:grid;gap:9px}.settings-panel form{gap:18px}.settings-panel label{font-weight:700}.settings-panel input,.settings-panel select{width:100%;padding:13px;border:1px solid #cbd4e2;border-radius:9px;background:#fff;color:#162543;font:inherit}.settings-panel>label{margin-top:20px}.settings-panel p{color:#60718c}
html[data-theme="dark"]{color-scheme:dark;background:#111827;color:#e7edf7}html[data-theme="dark"] body,html[data-theme="dark"] main{background:#111827;color:#e7edf7}html[data-theme="dark"] .top,html[data-theme="dark"] footer,html[data-theme="dark"] .page,html[data-theme="dark"] .panel,html[data-theme="dark"] .card,html[data-theme="dark"] .entry,html[data-theme="dark"] .empty,html[data-theme="dark"] .tablewrap,html[data-theme="dark"] .problem,html[data-theme="dark"] dialog{background:#1d2a3e;color:#e7edf7}html[data-theme="dark"] .page h1,html[data-theme="dark"] .page h2,html[data-theme="dark"] .page h3,html[data-theme="dark"] .panel h2{color:#f5f7fc}html[data-theme="dark"] .page p,html[data-theme="dark"] .settings-panel p,html[data-theme="dark"] .meta,html[data-theme="dark"] .section-heading p{color:#c7d3e4}html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:#172235;color:#f5f7fc;border-color:#60718c}html[data-theme="dark"] .outline,html[data-theme="dark"] .pill{background:#263750;color:#f5f7fc;border-color:#64758d}html[data-theme="dark"] .hero{background:#1b345b}
html[data-text-size="large"] .page,html[data-text-size="large"] .sidebar,html[data-text-size="large"] .top{font-size:18px}html[data-text-size="extra"] .page,html[data-text-size="extra"] .sidebar,html[data-text-size="extra"] .top{font-size:21px}html[data-text-size="large"] .page p,html[data-text-size="large"] .entry p{font-size:19px}html[data-text-size="extra"] .page p,html[data-text-size="extra"] .entry p{font-size:22px}

.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;object-fit:cover;background:#b48c36;color:#122541;font-weight:800}.avatar-large{width:88px;height:88px;font-size:32px}.photo-settings{display:flex;align-items:center;gap:20px;margin:8px 0 24px}.photo-settings>div{min-width:0;flex:1}.photo-settings input[type=file]{width:100%;font-size:13px}.photo-settings .link{padding:8px 0;text-align:left}.password-title{margin-top:30px!important;padding-top:22px;border-top:1px solid #cbd4e2}.member-search{display:flex!important;gap:8px!important;margin-bottom:18px}.member-search input{min-width:0;flex:1}.member-list{display:grid;gap:10px}.member-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #d7dfeb;border-radius:12px;padding:13px}.member-row strong,.member-row small{display:block;overflow-wrap:anywhere}.member-row small{color:#64748b;margin-top:4px}.member-actions{display:flex;gap:8px;flex-wrap:wrap}.member-actions button{white-space:nowrap}.danger{color:#a91e32!important;border-color:#a91e32!important}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}.pagination button{font-size:24px;min-width:46px}.pagination button:disabled{opacity:.4;cursor:not-allowed}html[data-theme=dark] .member-row{border-color:#556580}html[data-theme=dark] .member-row small{color:#bbc9dc}html[data-theme=dark] .password-title{border-color:#556580}@media(max-width:720px){.member-row{align-items:stretch;flex-direction:column}.member-actions button{flex:1}.photo-settings{align-items:flex-start}}

.problem-image{display:block;width:100%;max-height:480px;object-fit:contain;margin:12px 0 18px;border-radius:12px;background:#f5f7fb}

.problem form[data-attempt]{display:grid;gap:12px}.problem form[data-attempt] label,.custom-grade label{display:grid;gap:7px;font-weight:700}.problem form[data-attempt] textarea{width:100%;resize:vertical;font:inherit;padding:12px;border:1px solid #cbd4e2;border-radius:9px}.problem form[data-attempt] button{justify-self:start}.solution-card{padding:22px;margin-bottom:14px}.solution-card p{overflow-wrap:anywhere}.solution-working{white-space:pre-wrap}.solution-card .member-actions{margin:16px 0}.custom-grade{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.custom-grade input{padding:12px;width:170px}html[data-theme=dark] .problem form[data-attempt] textarea{background:#172235;color:#f5f7fc;border-color:#60718c}

.check-row{display:flex!important;align-items:center;gap:10px}.check-row input{width:auto!important;flex:none}.member-suggestions{display:grid;gap:4px;margin:-10px 0 18px}.member-suggestion{display:block;text-align:left;border:1px solid #d7dfeb;background:#fff;color:#162543;border-radius:9px;padding:10px;cursor:pointer}.member-suggestion strong,.member-suggestion span{display:block}.member-suggestion span{font-size:12px;color:#64748b}.member-suggestion:hover{border-color:#b48c36}.solution-image{display:block;width:100%;max-width:700px;max-height:600px;object-fit:contain;border-radius:12px;margin:12px 0}.problem form[data-attempt] input[type=file]{width:100%;max-width:100%}html[data-theme=dark] .member-suggestion{background:#172235;color:#f5f7fc;border-color:#60718c}html[data-theme=dark] .member-suggestion span{color:#bbc9dc}
