:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243b35;background:#f7f8f2;--forest:#245443;--line:#d6dfd6;--mint:#eaf3eb}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button{min-height:48px;padding:12px 22px;border:1px solid var(--forest);border-radius:12px;background:var(--forest);color:white;font-weight:650;cursor:pointer}button:hover{background:#1c4436}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid #9a482c;outline-offset:4px}.skip{position:fixed;top:-70px;left:15px;padding:15px;background:white;z-index:5}.skip:focus{top:10px}.site-header,main,footer{max-width:1224px;margin:auto;padding:28px 32px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:700 30px Georgia,serif;text-decoration:none}.brand span{display:block;font:12px system-ui;margin-top:6px;letter-spacing:.05em}.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{font-size:14px;text-decoration:none;padding:12px 0}.development{font-size:12px;border:1px solid var(--line);padding:8px 12px;border-radius:99px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:center;padding:48px 0 76px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;line-height:1.6;color:#3d6052}h1{font:500 clamp(38px,5vw,66px)/1.08 Georgia,serif;margin:20px 0}h2{font:500 34px/1.2 Georgia,serif;margin:8px 0 20px}.intro{font-size:17px;line-height:1.7;max-width:520px;margin-bottom:34px;color:#4d6258}form label{display:block;font-size:13px;font-weight:650;margin-bottom:10px}.search-row{display:flex;gap:10px}input{min-width:0;width:100%;height:52px;padding:14px 16px;background:white;border:1px solid #aebfb3;border-radius:12px}form button{white-space:nowrap}.hero-card{background:#e9efc8;min-height:340px;padding:36px;border-radius:28px 28px 90px 28px;display:flex;flex-direction:column;justify-content:space-between}.hero-card p{font:35px/1.25 Georgia,serif}.hero-card small{line-height:1.7}.sun{font-size:56px;color:#ad593e;align-self:flex-end}.section-top{display:flex;justify-content:space-between;gap:16px;align-items:center}#count{font-size:13px;color:#50685e}#status{font-size:14px;line-height:1.7}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.resource-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.resource-art{padding:28px;min-height:142px;background:var(--mint);font:26px/1.3 Georgia,serif}.resource-card:nth-child(3n+2) .resource-art{background:#f3e5dd}.resource-card:nth-child(3n) .resource-art{background:#e9efc8}.resource-body{padding:24px;display:flex;flex:1;flex-direction:column;gap:12px}.resource-body h3{font:24px/1.3 Georgia,serif;margin:0}.resource-body p{line-height:1.6;color:#50685e;margin:0;font-size:14px}.price{font-weight:700;font-size:17px;margin-top:auto;padding-top:12px}.resource-body button{margin-top:4px}.secondary{background:white;color:var(--forest)}.secondary:hover{background:var(--mint)}#detail{background:white;border:1px solid var(--line);padding:32px;border-radius:24px;margin-top:24px}#detail h1{font-size:42px}#detail p{line-height:1.7;max-width:750px}.license-note{background:var(--mint);padding:20px;border-radius:14px}footer{margin-top:80px;border-top:1px solid var(--line);display:flex;gap:24px;align-items:center;justify-content:space-between}footer p{font-size:12px;line-height:1.6;color:#50685e}[hidden]{display:none!important}@media(max-width:850px){.hero{gap:28px}.hero-card{padding:24px;min-height:310px}.hero-card p{font-size:28px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-row{flex-direction:column}}@media(max-width:540px){.site-header,main,footer{padding:24px 20px}.site-header{align-items:flex-start}.site-header nav{flex-direction:column;gap:6px;align-items:flex-end}.brand{font-size:25px}.brand span{font-size:10px}.hero{grid-template-columns:1fr;padding:26px 0 40px;gap:30px}.hero-card{min-height:210px}.hero-card p{font-size:30px;margin:6px 0 22px}.sun{font-size:38px}.resource-grid{grid-template-columns:1fr}.section-top{align-items:flex-start}h2{font-size:29px}.section-top #count{white-space:nowrap;margin-top:28px}footer{flex-direction:column;align-items:flex-start;gap:8px}#detail{padding:24px}#detail h1{font-size:34px}}

.pagination{display:flex;justify-content:center;padding-top:28px}

.auth-status:not(:empty){max-width:1200px;margin:1rem auto;padding:0 1.5rem;color:var(--ink,#173d35)}
.site-header nav{flex-wrap:wrap;align-items:center;gap:1rem}
.site-header #sign-in{white-space:nowrap}

#sessions-panel{padding-top:24px}.session-intro{max-width:680px;line-height:1.7;color:#50685e}.session-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.session-actions p{font-size:13px;line-height:1.6;color:#50685e}.session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.session-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0}.session-card h3{font:24px/1.3 Georgia,serif;margin:0 0 12px}.session-state{display:inline-block;padding:6px 12px;background:var(--mint);border-radius:20px;font-size:13px;margin:0 0 12px}.session-card dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.5fr);gap:12px;margin:12px 0 0;font-size:13px;line-height:1.6}.session-card dt{color:#50685e}.session-card dd{margin:0;overflow-wrap:anywhere}#sessions-status{line-height:1.7}@media(max-width:650px){.session-grid{grid-template-columns:1fr}#sessions-panel .section-top{flex-direction:column;align-items:flex-start}.session-card{padding:20px}.session-actions{gap:8px}}

.session-card>button{margin-top:20px}.session-note{font-size:13px;line-height:1.6;color:#50685e}.session-confirm{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:20px;padding:28px;color:#243b35;background:#fff}.session-confirm::backdrop{background:rgb(20 40 30 / .55)}.session-confirm h2{margin-top:0;font:28px/1.3 Georgia,serif}.session-confirm p{line-height:1.7;overflow-wrap:anywhere}.session-confirm-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:650px){.session-confirm{padding:20px}.session-confirm-actions button{width:100%}}

#profile-panel{padding-top:24px}.profile-facts{max-width:700px;background:white;border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:20px;line-height:1.6}.profile-facts:empty{display:none}.profile-facts dt{color:#50685e}.profile-facts dd{margin:0;overflow-wrap:anywhere}@media(max-width:650px){#profile-panel .section-top{flex-direction:column;align-items:flex-start}.profile-facts{grid-template-columns:1fr;gap:8px}.profile-facts dd{margin-bottom:12px}}

/* TeacherShare identity: teal teaching community, amber shared pages. */
:root{--forest:#166f68;--mint:#e8f4f0;--line:#d7e4df;background:#faf9f5;color:#203c38}
.brand{display:block;flex-shrink:0}.brand img{display:block;width:240px;height:auto;max-width:100%}.brand span{color:#4b6861;font-size:12px;letter-spacing:.045em}.hero-card{background:#f7eccc}.sun{color:#ad7025}footer .brand img{width:200px}
@media(max-width:540px){.brand img{width:172px}.brand span{font-size:10px}.site-header{gap:12px}}

.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.profile-form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600;min-width:0}.profile-form-grid input,.profile-form-grid textarea{box-sizing:border-box;width:100%;min-height:46px;padding:12px;border:1px solid #8ea9a1;border-radius:10px;background:#fff;color:#203c38;font:inherit}.profile-form-grid textarea{resize:vertical}.profile-form-grid .full-width{grid-column:1/-1}.field-help{font-weight:400;font-size:13px;line-height:1.5;color:#50685e}#profile-form{max-width:760px;margin:24px 0}#profile-fields{margin:0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}#profile-fields legend{padding:0 8px;font-weight:700}.profile-notifications{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.profile-notifications p{font-size:14px;line-height:1.6;color:#50685e}.check-control{display:flex;align-items:flex-start;gap:12px;margin:16px 0;line-height:1.5}.check-control input{flex:none;width:20px;height:20px;margin:2px 0;accent-color:var(--forest)}.profile-save-actions{display:flex;align-items:center;gap:16px;margin:20px 0}.profile-save-actions p{line-height:1.6;margin:0}.profile-form-grid input:focus-visible,.profile-form-grid textarea:focus-visible{outline:3px solid #d9aa43;outline-offset:3px}#profile-fields:disabled{opacity:.7}@media(max-width:650px){.profile-form-grid{grid-template-columns:1fr;gap:20px}#profile-fields{padding:20px}.profile-save-actions{align-items:stretch;flex-direction:column}.profile-save-actions button{width:100%}}

#saved-panel{padding-top:24px}#saved-status,#saved-detail-status{line-height:1.7;overflow-wrap:anywhere}.saved-card{min-width:0;padding:24px}.saved-card button{margin:8px 8px 0 0}.saved-card p{overflow-wrap:anywhere}#saved-detail-save{margin-top:20px}@media(max-width:650px){#saved-panel .section-top{flex-direction:column;align-items:flex-start}.saved-card button{width:100%;margin-right:0}}

.catalogue-filters{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.catalogue-filters summary{cursor:pointer;font-weight:700;color:var(--green);min-height:24px}.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.filter-grid label{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:0}.filter-grid select,.filter-grid input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;font:inherit;color:inherit;box-sizing:border-box;min-width:0}.filter-help{font-size:13px;line-height:1.6;color:#50685e}.resource-facts{font-size:13px;line-height:1.5;border-top:1px solid var(--line);padding-top:12px;margin:12px 0}.resource-facts p{margin:6px 0}.grade-match{color:#166f68;font-weight:700}.store-link{border:0;background:transparent;padding:0;color:#166f68;text-align:left;font:inherit;font-size:13px;text-decoration:underline}.store-link:disabled{opacity:1;color:#50685e;text-decoration:none}.catalogue-filters[hidden]{display:none}@media(max-width:650px){.filter-grid{grid-template-columns:1fr}.catalogue-filters{padding:16px}.catalogue-filters .check-control{align-items:flex-start}.catalogue-filters .check-control input{flex-shrink:0}}
#cart-panel .resource-body{padding:24px;min-width:0}#cart-panel h2{font-size:26px;overflow-wrap:anywhere}#cart-panel form{display:grid;gap:10px;margin:20px 0}#cart-panel input{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:white;color:inherit}#cart-panel .resource-body button{width:100%}#cart-panel>p{max-width:760px;line-height:1.65}#cart-total{overflow-wrap:anywhere}

.checkout-quote{max-width:760px;margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.checkout-quote fieldset{border:0;padding:0;min-width:0}.checkout-quote legend{font-weight:700;margin-bottom:16px}.checkout-quote button{margin:8px 12px 8px 0}.checkout-quote p{line-height:1.65}.checkout-quote [hidden]{display:none}@media(max-width:650px){.checkout-quote{padding:16px}.checkout-quote .profile-form-grid{grid-template-columns:1fr}.checkout-quote button{width:100%;margin:8px 0}}

.quote-totals{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-totals dt,.quote-totals dd{margin:0;overflow-wrap:anywhere}.quote-totals dd{text-align:right;font-variant-numeric:tabular-nums}.quote-totals dt:last-of-type,.quote-totals dd:last-of-type{font-size:20px;font-weight:700}.quote-totals[hidden]{display:none}

.quote-review-line{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:14px;min-width:0}.quote-review-line h3{font-size:22px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}.quote-review-line>p{margin:0 0 16px}.quote-review-line .quote-totals{padding:16px 0 0;border-bottom:0}.quote-review-line .quote-totals dt:last-of-type,.quote-review-line .quote-totals dd:last-of-type{font-size:16px}@media(max-width:650px){.quote-review-line{padding:16px}}
.quote-license{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);min-width:0}.quote-license h4{font-size:18px;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}.quote-license-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:26rem;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--mint);font-size:16px;line-height:1.75;min-width:0;overscroll-behavior:contain}.quote-license-text:empty{display:none}.quote-license-text:focus-visible{outline:3px solid #9a482c;outline-offset:4px}.quote-license-status{font-size:14px}

#quote-license-consent{padding:20px;border:1px solid var(--line);border-radius:14px;background:white;margin-top:20px}#quote-license-consent[hidden]{display:none}#quote-license-consent label{line-height:1.6;min-height:48px;align-items:center}#cart-panel #quote-license-consent input{width:22px;height:22px;min-height:22px;padding:0;flex:none;accent-color:var(--forest)}#quote-license-consent p{font-size:14px;line-height:1.65}#quote-license-consent button{white-space:normal}
