:root{--ink:#173b3d;--muted:#607477;--cream:#f8f7f0;--white:#fff;--line:#dce5df;--green:#1a6b5d;--peach:#f9dbca;--blue:#d8e9ee;--lime:#e2edc8;--shadow:0 16px 48px rgba(21,57,59,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.5vw,5.4rem);font-weight:780}h2{font-size:clamp(1.6rem,2.5vw,2.5rem)}h3{font-size:1.2rem}p{color:var(--muted)}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{min-height:90px;display:flex;align-items:center;gap:32px;padding:16px max(28px,calc((100vw - 1360px)/2));background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-symbol{width:49px;height:49px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:13px;font-weight:850;font-size:1.45rem;letter-spacing:-.12em}.brand-symbol span{font-size:.65rem;align-self:end;margin-bottom:8px;letter-spacing:-.06em}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:.92rem;letter-spacing:.03em}.brand-copy small{font-size:.71rem;color:var(--muted);margin-top:5px}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.main-nav a{color:#476164;font-size:.9rem;font-weight:650;white-space:nowrap}.main-nav a:hover,.plain-link:hover,.resource-actions a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}.account{display:flex;align-items:center;gap:12px;padding-left:24px;border-left:1px solid var(--line);white-space:nowrap;font-size:.85rem}.account-name{font-weight:700}.admin-link{color:var(--green);font-weight:700}.text-button{background:none;border:0;color:var(--muted);padding:0;font-size:inherit}.text-button:hover{text-decoration:underline}.main-content{width:min(100% - 56px,1240px);margin:0 auto;flex:1;padding-bottom:80px}.site-footer{background:#12383b;color:#c5d5d3;display:flex;justify-content:space-between;gap:20px;padding:30px max(28px,calc((100vw - 1240px)/2));font-size:.85rem}.eyebrow{display:block;color:#46796d;text-transform:uppercase;letter-spacing:.19em;font-size:.73rem;font-weight:800;margin-bottom:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:48px;padding:12px 21px;border-radius:9px;border:1px solid transparent;font-weight:750;font-size:.92rem;transition:transform .15s,background .15s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:#235e55}.button.secondary{background:transparent;color:var(--ink);border-color:#a6bcb3}.button.secondary:hover{background:white}.button.light{background:white;color:var(--ink)}.button.full{width:100%}.plain-link{color:var(--ink);font-size:.9rem;font-weight:800;white-space:nowrap}.hero{display:grid;grid-template-columns:1.18fr .82fr;min-height:490px;overflow:hidden;background:#e9f2e9;border-radius:20px;margin-top:36px}.hero-copy{padding:clamp(42px,6vw,84px);align-self:center}.hero h1{margin-bottom:22px}.hero h1 em,.login-intro h1 em{font-family:Georgia,serif;font-weight:400;color:#3d846e}.hero p{font-size:1.1rem;max-width:560px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.hero-art{min-height:450px;position:relative;display:grid;place-items:center;background:#c8dfd4;overflow:hidden}.hero-art:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:#e3eee7;top:18%;left:8%}.orbit{position:absolute;border:1px solid rgba(25,78,72,.28);border-radius:50%;width:410px;height:410px;transform:rotate(-20deg) scaleX(.74)}.orbit-two{width:550px;height:550px;transform:rotate(28deg) scaleX(.72)}.hero-art-label{z-index:1;width:245px;height:245px;background:#164f49;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-size:2.7rem;font-weight:800;letter-spacing:-.06em;line-height:1;text-align:center;box-shadow:20px 30px 0 rgba(62,121,106,.18)}.hero-art-label b{font-family:Georgia,serif;font-style:italic;color:#d9f0c1;font-size:3.4rem}.spark{position:absolute;color:#368367;font-size:3rem}.spark-one{top:16%;right:19%}.spark-two{bottom:18%;left:18%;font-size:2rem}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:29px 15px;border-bottom:1px solid var(--line);margin-bottom:66px}.stats-strip>div{display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid var(--line)}.stats-strip>div:last-child{border:0}.stats-strip strong{font-size:2.1rem;line-height:1}.stats-strip span{font-size:.86rem;color:var(--muted)}.section-block{margin-top:70px}.section-block.compact{margin-top:48px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2,.section-block h2{margin-bottom:0}.feature-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{min-height:255px;padding:30px;border-radius:15px;position:relative;transition:transform .15s,box-shadow .15s}.feature-card:hover,.resource-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.feature-peach{background:var(--peach)}.feature-blue{background:var(--blue)}.feature-lime{background:var(--lime)}.feature-icon{display:grid;place-items:center;width:47px;height:47px;border:1px solid rgba(23,59,61,.4);border-radius:12px;font-weight:800;font-size:.84rem;margin-bottom:43px}.feature-card h3{font-size:1.45rem;margin-bottom:8px}.feature-card p{max-width:290px;margin-bottom:0;color:#4d6767}.feature-arrow{position:absolute;right:28px;top:27px;font-size:1.45rem}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:50px}.item-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.list-item{padding:22px 24px;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}.list-item h3{font-size:1.07rem;margin:7px 0}.list-item p{font-size:.88rem;margin:0 0 8px}.list-item small{color:#788a89}.item-tag{display:inline-block;color:#397363;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:800}.empty{padding:25px;margin:0}.contribute-banner{background:#174b48;border-radius:17px;padding:43px 48px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:74px}.contribute-banner .eyebrow{color:#acd3be}.contribute-banner h2{color:white;margin-bottom:8px}.contribute-banner p{color:#c6ddd6;margin-bottom:0}.page-intro{padding:70px 0 32px;max-width:740px}.page-intro h1{margin:0 0 14px}.page-intro p{font-size:1.1rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.8rem;font-weight:750}.filters select{min-width:180px}.filters select,.form-field input,.form-field select,.form-field textarea,.login-card input{background:white;border:1px solid #cbd8d1;border-radius:8px;padding:11px 13px;outline:none;color:var(--ink)}.filters select:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.login-card input:focus{border-color:#3d846e;box-shadow:0 0 0 3px rgba(61,132,110,.14)}.resource-card{background:white;border:1px solid var(--line);border-radius:14px;min-height:260px;padding:25px;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.resource-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.pill{display:inline-block;background:#e7f1e8;color:#286750;padding:5px 10px;border-radius:99px;font-size:.69rem;font-weight:800;white-space:nowrap}.resource-date{color:#7e8e8c;font-size:.76rem}.resource-card h2{font-size:1.25rem;line-height:1.3;margin-bottom:11px}.resource-card p{font-size:.9rem}.course-label{display:inline-block;color:#46796d;font-size:.78rem;font-weight:750;margin-top:auto}.resource-actions{display:flex;gap:20px;align-items:center;margin-top:25px;padding-top:16px;border-top:1px solid var(--line)}.resource-actions a{font-size:.88rem;font-weight:800}.resource-actions .danger{color:#9b4646}.empty-panel{background:#fff;border:1px dashed #9eb8ae;border-radius:14px;padding:45px;grid-column:1/-1}.empty-panel h2{font-size:1.45rem}.empty-panel p{margin-bottom:18px}.feed{display:grid;gap:16px;max-width:820px}.feed-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}.feed-meta{display:flex;align-items:center;gap:15px;color:#82918e;font-size:.8rem;margin-bottom:14px}.feed-card h2{font-size:1.35rem}.feed-card p{color:#4e6567}.feed-card .plain-link{display:inline-block;margin-top:15px}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:0 0 25px}.tabs a{padding:12px 19px;font-size:.9rem;font-weight:750;color:var(--muted);border-bottom:3px solid transparent}.tabs a.active{color:var(--green);border-color:var(--green)}.muted{color:var(--muted)}.form-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:30px;max-width:700px}.form-panel.flat{padding:0;border:0}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:21px}.form-field label{font-weight:750;font-size:.91rem}.form-field small{color:var(--muted)}.form-field input[type=checkbox]{align-self:start}.form-field input[type=file]{padding:10px}.form-error{color:#ad4141;font-size:.87rem;margin:8px 0}.suggestion-columns{gap:28px}.suggestion-columns .section-block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}.suggestion-columns .item-list{border:0}.suggestion-columns .section-block h2{margin-bottom:23px}.quiz-card{min-height:245px}.quiz-form{max-width:850px}.question-card{border:1px solid var(--line);border-radius:14px;background:white;margin:0 0 20px;padding:28px}.question-card legend{float:left;width:100%;font-size:1.16rem;font-weight:800;line-height:1.35;margin-bottom:20px}.question-number{color:#4a9875;margin-right:8px}.choices{clear:both;display:grid;gap:10px}.choice{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.choice:has(input:checked){background:#e9f4e9;border-color:#4b8f73}.choice input{accent-color:#287963}.score-card{background:#174b48;color:white;border-radius:16px;padding:38px;max-width:600px;display:flex;align-items:center;gap:30px}.score-card strong{font-size:3.5rem;margin-left:auto;line-height:1}.score-card strong small{font-size:1.3rem;color:#b4d7c9}.answer-card{background:#fff;border:1px solid var(--line);border-left:5px solid #c66d65;border-radius:10px;padding:23px;margin:15px 0;max-width:850px}.answer-card.correct{border-left-color:#54a575}.answer-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.answer-heading strong{font-size:.8rem}.answer-card h3{font-size:1.08rem}.answer-card p{margin-bottom:7px}.answer-card .explanation{background:#f0f5ee;border-radius:7px;padding:12px;margin-top:14px}.result-row{display:flex;gap:20px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}.result-row:last-child{border:0}.result-row strong{margin-left:auto}.result-row small{color:var(--muted)}.login-layout{display:grid;grid-template-columns:1fr 440px;gap:8vw;align-items:center;min-height:calc(100vh - 230px);padding:60px 40px}.login-intro h1{font-size:clamp(3.3rem,6vw,6rem);margin-bottom:25px}.login-intro p{font-size:1.12rem;max-width:560px}.login-mark{display:flex;align-items:center;gap:16px;margin-top:60px;color:#3e806b;font-size:4.5rem;font-weight:850;line-height:1}.login-mark span{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;line-height:1.4}.login-card{background:white;border:1px solid var(--line);border-radius:16px;padding:42px;box-shadow:var(--shadow)}.login-card h2{font-size:2rem;margin-bottom:8px}.login-card p{font-size:.94rem}.login-card form{display:flex;flex-direction:column;margin-top:27px}.login-card label{font-weight:750;font-size:.9rem;margin-bottom:7px}.login-card input{margin-bottom:18px}.login-card .button{margin-top:8px}.login-card .fine-print{font-size:.78rem;margin:20px 0 0}.messages{margin-top:20px}.message{padding:12px 16px;background:#e6f4e7;border-radius:8px;margin-bottom:8px}.message.error{background:#fae4de}
@media(max-width:1180px){.site-header{flex-wrap:wrap;gap:18px}.main-nav{order:3;width:100%;justify-content:space-between;margin:0;overflow:auto;padding-top:10px}.account{margin-left:auto}.hero{grid-template-columns:1fr .75fr}.hero-copy{padding:44px}.hero h1{font-size:3.5rem}}
@media(max-width:800px){.main-content{width:min(100% - 32px,1240px)}.site-header{padding:16px}.hero{grid-template-columns:1fr}.hero-art{min-height:260px}.hero-art:before{top:-30%}.hero-art-label{width:165px;height:165px;font-size:1.8rem}.hero-art-label b{font-size:2.25rem}.feature-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr;gap:12px}.login-layout{grid-template-columns:1fr;padding:55px 10px;gap:35px;min-height:auto}.login-intro h1{font-size:3.5rem}.login-mark{margin-top:25px}.stats-strip{margin-bottom:20px}}
@media(max-width:560px){.site-header{gap:10px}.brand-copy small{display:none}.account-name{display:none}.account{gap:10px;padding-left:12px}.main-nav{gap:18px}.main-nav a{font-size:.82rem}.hero{margin-top:17px}.hero-copy{padding:38px 26px}.hero h1{font-size:2.75rem}.hero p{font-size:1rem}.hero-actions{align-items:stretch;flex-direction:column}.stats-strip{padding:22px 0;gap:7px}.stats-strip>div{flex-direction:column;gap:4px;text-align:center}.stats-strip strong{font-size:1.65rem}.stats-strip span{font-size:.7rem}.feature-grid,.resource-grid{grid-template-columns:1fr}.section-block{margin-top:46px}.contribute-banner{padding:29px;align-items:start;flex-direction:column;margin-top:48px}.page-intro{padding-top:42px}.page-intro h1{font-size:2.9rem}.toolbar{align-items:stretch;flex-direction:column}.filters{align-items:stretch;flex-direction:column}.filters select{width:100%}.site-footer{flex-direction:column;padding:24px 16px}.login-intro h1{font-size:2.9rem}.login-card{padding:27px}.score-card{flex-wrap:wrap}.score-card strong{margin-left:0}}
