@font-face{font-family:Oplonti;src:local('Segoe UI')}*{box-sizing:border-box}:root{font-family:Oplonti,Inter,system-ui,sans-serif;color:#252628;background:#f6f5f2;font-synthesis:none;--red:#e63835;--ink:#24272b;--muted:#7c7e83;--border:#e8e6e1;--green:#277461}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3.2vw,40px);line-height:1.15;letter-spacing:-1.4px;font-weight:750;margin-bottom:12px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:15px}p{line-height:1.6}small,.muted{color:var(--muted)}small{font-size:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;text-transform:uppercase;color:var(--red);margin-bottom:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:700;background:var(--red);color:white;text-decoration:none;min-height:44px}.button:hover{filter:brightness(.96)}.secondary{background:white;border-color:var(--border);color:var(--ink)}.dark{background:var(--ink)}.subtle{background:#f0eeea;color:#55575c}.small{padding:8px 12px;min-height:36px;font-size:12px}.danger{background:#fff1ef;color:#b22e29;border-color:#f7cfcb}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{display:flex;justify-content:space-between;align-items:center;gap:16px}.grid{display:grid;gap:22px}.two{grid-template-columns:1.4fr 1fr}.equal{grid-template-columns:1fr 1fr}.card{background:white;border:1px solid var(--border);border-radius:17px;padding:24px;min-width:0}.card h2{margin-bottom:20px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:5px 8px;font-size:10px;letter-spacing:.3px;font-weight:700;background:#edf5ef;color:var(--green)}.badge.orange{background:#fff3e2;color:#966526}.badge.gray{background:#efefed;color:#72747a}.badge.red{background:#fff0ee;color:#c93e37}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{position:fixed;width:232px;inset:0 auto 0 0;padding:22px 18px;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:8px;margin:0 4px 32px}.brand img{width:170px;height:86px;object-fit:contain}.school-location{font-size:10px;letter-spacing:.8px;text-transform:uppercase;margin:-24px 10px 30px;color:#97918a}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.4px;color:#9c9da0;margin:10px 12px}.nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:13px 14px;margin:5px 0;text-align:left;border-radius:9px;color:#77797f;font-size:13px;font-weight:600}.nav button.active{background:#fff0ed;color:var(--red)}.nav-icon{width:20px;font-size:18px;text-align:center}.sidebar-bottom{margin-top:auto;background:#f7f6f3;border-radius:12px;padding:16px;font-size:12px}.sidebar-bottom p{color:#8a8b8f;font-size:11px}.workspace{grid-column:2;min-width:0}.topbar{height:86px;background:#ffffffa8;border-bottom:1px solid var(--border);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar .path{font-size:12px;color:#929399}.topbar .path strong{font-weight:550;color:#505259}.avatar{width:34px;height:34px;background:#f3dfd6;color:#9f6550;font-weight:750;font-size:12px;display:grid;place-items:center;border-radius:50%}.user-info{font-size:12px;display:flex;gap:10px;align-items:center}.user-info small{display:block;font-size:10px;margin-top:2px}.main{padding:26px 38px 40px;max-width:1500px;margin:auto}.environment{padding:9px 12px;border:1px solid #eed9b7;background:#fff9ed;color:#9a743c;font-size:10px;line-height:1.5;border-radius:8px;margin-bottom:24px}.page-title{margin:25px 0}.page-title p{font-size:13px;color:var(--muted);margin-bottom:0}.hero{position:relative;overflow:hidden;background:#272a2f;color:white;border-radius:19px;padding:29px 32px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero .eyebrow{color:#ffa29a}.hero h1{font-size:32px;max-width:500px}.hero p{font-size:13px;color:#bdbec2;max-width:470px;margin-bottom:24px}.hero .art{display:grid;place-items:center;width:140px;height:140px;flex-shrink:0;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 20px #ffffff04,0 0 0 42px #ffffff03}.hero .art span{font-size:54px;color:#f16e61}.hero.red{background:linear-gradient(110deg,#dd3a35,#f16953)}.hero.red p,.hero.red .eyebrow{color:#ffdfd8}.hero.red .button{background:white;color:#c73731}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric{background:white;border:1px solid var(--border);border-radius:13px;padding:19px}.metric .label{font-size:11px;color:#818288;display:block;margin-bottom:12px}.metric strong{font-size:29px;letter-spacing:-1px}.metric .foot{display:block;color:#8c8e93;font-size:10px;margin-top:10px}.trend-bars{display:flex;align-items:flex-end;gap:12px;height:130px;padding:0 8px}.day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:10px;font-size:10px;color:#929399}.bar{width:100%;max-width:32px;min-height:4px;background:#f0dad5;border-radius:5px 5px 2px 2px}.day:last-child .bar{background:var(--red)}.legend{font-size:10px;color:#929399;margin-top:18px}.topic-line{margin:18px 0}.topic-line .between{font-size:11px;align-items:start;gap:12px}.topic-line .between span:first-child{max-width:85%;line-height:1.5}.track{height:5px;border-radius:4px;background:#f0eeea;margin-top:9px;overflow:hidden}.track>div{height:100%;background:#eab469;border-radius:4px}.track>div.good{background:#63a58e}.empty{padding:24px 0;color:#929399;font-size:12px;line-height:1.7}.item{padding:16px 0;border-bottom:1px solid #f0efeb}.item:last-child{border-bottom:0}.item-title{font-size:13px;font-weight:650;margin-bottom:5px}.item small{font-size:11px;line-height:1.6;display:block}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.section-head h2{margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:10px;font-weight:600;color:#999a9f;padding:12px 10px;border-bottom:1px solid var(--border)}td{padding:16px 10px;border-bottom:1px solid #efeeea;white-space:nowrap}td:first-child{font-weight:600}td small{font-weight:400;display:block;margin-top:3px}.table-action{border:0;background:none;color:var(--red);font-size:12px;font-weight:700;padding:8px}label{font-size:12px;font-weight:600;display:block;color:#62656b}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:8px;padding:12px 13px;background:#fff;border:1px solid #e1e0db;border-radius:9px;font-size:13px;color:var(--ink);min-height:44px}textarea{resize:vertical;min-height:92px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.form-note{font-size:11px;color:#96979c;margin:12px 0 20px;line-height:1.6}.topics{max-height:330px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.topic-option{font-size:11px;line-height:1.6;border:1px solid var(--border);border-radius:8px;padding:12px;display:flex;gap:9px;align-items:flex-start;font-weight:450}.topic-option:has(input:checked){background:#fff7f4;border-color:#f1c9c0}.topic-option input{margin-top:3px;accent-color:var(--red)}.quiz-layout{display:grid;grid-template-columns:1fr 270px;gap:22px}.quiz-topic{font-size:10px;color:#999a9f;line-height:1.6;letter-spacing:.5px}.question-text{font-size:23px;line-height:1.6;font-weight:600;letter-spacing:-.3px}.question-images{text-align:center;min-height:15px}.question-images img{max-width:100%;width:200px;height:auto;margin:18px 8px}.answers{display:flex;gap:18px;margin:25px 0}.answer{flex:1;min-height:60px;border:1.5px solid #deded9;background:white;font-size:19px;border-radius:10px;color:#50535a;font-weight:650}.answer.selected{background:#fff0ec;border-color:var(--red);color:var(--red)}.question-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0}.question-nav button{aspect-ratio:1;border:1px solid var(--border);border-radius:7px;background:white;font-size:11px}.question-nav .answered{background:#e6f2eb;color:#2d7d62;border-color:#b7d9c7}.question-nav .current{outline:2px solid var(--red);outline-offset:1px}.timer{font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:1px}.save-status{font-size:10px;color:var(--green);margin:10px 0}.result-row{border-left:3px solid #db6b5d;margin:18px 0;padding:18px;background:#fff;border-radius:5px}.result-row.correct{border-color:#62a48b}.result-row p{font-size:13px}.result-row img{width:150px;max-width:100%;margin:10px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{background:#25282c;color:white;padding:60px 9%;display:flex;flex-direction:column;justify-content:center}.login-story img{width:230px;max-width:100%;background:white;border-radius:12px;padding:12px;margin-bottom:45px}.login-story h1{font-size:clamp(38px,4vw,58px);line-height:1.08;max-width:550px}.login-story p{color:#a3a4a9;max-width:430px;font-size:14px}.login-story .eyebrow{color:#f08a7b}.login-form{display:flex;justify-content:center;align-items:center;padding:35px}.login-form form{width:100%;max-width:365px}.login-form h2{font-size:27px;margin-bottom:9px}.login-form label{margin-top:23px}.login-form .button{width:100%;margin-top:24px}.login-form .environment{margin-top:30px}.password-page{max-width:480px;margin:60px auto}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#25282c;color:#fff;border-radius:10px;padding:15px 22px;box-shadow:0 6px 30px #0002;z-index:50;font-size:13px;max-width:90vw;line-height:1.5}dialog{border:1px solid var(--border);border-radius:17px;max-width:550px;width:calc(100% - 32px);padding:28px;color:var(--ink);box-shadow:0 18px 80px #0002}dialog::backdrop{background:#14182060}dialog pre{white-space:pre-wrap;word-break:break-word;background:#f7f6f3;padding:16px;border-radius:10px}dialog label{margin-top:15px}.loading{padding:80px;text-align:center;color:#777}.mobile-brand{display:none}.install-tip{font-size:11px;line-height:1.7;color:#86888d;margin-top:28px}.error-inline{font-size:12px;color:#bd3d33;line-height:1.6;margin-top:15px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e6383570;outline-offset:3px}[hidden]{display:none!important}@media(max-width:1100px){.shell{grid-template-columns:195px 1fr}.sidebar{width:195px;padding:18px 10px}.main{padding:22px}.topbar{padding:0 22px}.two,.quiz-layout{grid-template-columns:1fr}.quiz-layout .card:last-child{order:-1}.question-nav{display:flex;flex-wrap:wrap;margin:12px 0}.question-nav button{width:32px;height:32px}.hero .art{width:100px;height:100px}.metric{padding:14px}.metric strong{font-size:25px}}@media(max-width:740px){.shell{display:block}.workspace{width:100%}.sidebar{inset:auto 0 0;width:100%;height:72px;border-top:1px solid var(--border);border-right:0;padding:5px 8px 10px;padding-bottom:max(10px,env(safe-area-inset-bottom));flex-direction:row;background:#fffffff5;backdrop-filter:blur(12px)}.brand,.school-location,.nav-label,.sidebar-bottom{display:none}.nav{display:flex;width:100%;justify-content:space-around}.nav button{flex-direction:column;gap:3px;justify-content:center;margin:0;padding:7px 10px;width:auto;font-size:9px;min-width:58px}.nav-icon{font-size:17px}.topbar{height:72px;padding:0 18px}.path{display:none}.mobile-brand{display:block;font-weight:800;letter-spacing:1px;color:var(--red);font-size:16px}.main{padding:18px 16px 95px}.environment{font-size:9px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.two,.equal,.form-grid{grid-template-columns:1fr}.hero{padding:24px}.hero h1{font-size:27px}.hero .art{display:none}.card{padding:20px}.topics{grid-template-columns:1fr}.page-title h1{font-size:29px}.login{grid-template-columns:1fr}.login-story{padding:35px 28px}.login-story img{width:150px;margin-bottom:25px}.login-story h1{font-size:38px}.login-story p{display:none}.login-form{padding:30px 26px}.login-form .environment{margin-top:20px}.question-text{font-size:20px}.between{align-items:flex-start}.form-grid .wide{grid-column:auto}.user-info .name{display:none}#toast{bottom:90px}}

/* Touch targets, Safari form zoom and iPhone safe areas. Keep pinch zoom available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,input,select,textarea{touch-action:manipulation}
.workspace,.main,.hero>*,.between>*,.section-head>*{min-width:0}
.question-text,.item-title,.result-row p,.topic-option,.user-info{overflow-wrap:anywhere}
.question-images img{max-width:calc(100% - 16px);object-fit:contain}
dialog{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:740px){
 input:not([type=checkbox]),select,textarea{font-size:16px}
 .button.small,.table-action{min-height:44px;min-width:44px}
 .question-nav button{width:44px;height:44px;min-width:44px;min-height:44px;font-size:14px}
 .nav button{min-height:48px;min-width:0;flex:1;padding:6px 3px;overflow-wrap:anywhere}
 .sidebar{height:calc(62px + env(safe-area-inset-bottom));padding:4px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .main{padding-bottom:calc(95px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .topbar{height:auto;min-height:72px;padding-top:env(safe-area-inset-top);padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 .section-head{flex-wrap:wrap}
 #toast{bottom:calc(85px + env(safe-area-inset-bottom))}
 .topic-option{min-height:48px}
 .topic-option input{width:20px;height:20px;flex:0 0 20px}
 .login{min-height:100dvh}
 .login-story{padding-top:calc(35px + env(safe-area-inset-top))}
 .login-form{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){.hero,.card{padding:16px}.answers{gap:10px}.hero h1{font-size:25px}.metric{padding:12px}.nav button{font-size:9px}}

.check-option{display:flex;align-items:center;gap:12px;min-height:48px;margin:18px 0;line-height:1.5}.check-option input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--red)}.username-options{font-size:12px;margin:12px 0}.username-choice[aria-pressed="true"]{border-color:var(--red);background:#fff0ed;color:var(--red)}
