:root{
  --tth-ink:#2f2b3d;
  --tth-muted:#6f6878;
  --tth-purple:#6257a8;
  --tth-purple-dark:#514690;
  --tth-berry:#8b3f72;
  --tth-pink:#ff6f8c;
  --tth-cream:#fffaf6;
  --tth-lilac:#f6f2fb;
  --tth-blush:#fff2f5;
  --tth-mint:#edf8ef;
  --tth-green:#3f7a50;
  --tth-gold:#fff1d8;
  --tth-border:#e9e2ec;
  --tth-shadow:0 10px 30px rgba(54,42,70,.08);
  --tth-shadow-soft:0 5px 18px rgba(54,42,70,.055);
  --tth-radius-xl:26px;
  --tth-radius-lg:20px;
  --tth-radius-md:14px;
}
.tth-resource-page,.tth-resource-library,.tth-my-library,.tth-my-credits,.tth-credit-packs-page{color:var(--tth-ink)}
.tth-resource-page a,.tth-resource-library a,.tth-my-library a,.tth-my-credits a,.tth-credit-packs-page a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.tth-resource-page button,.tth-resource-library button,.tth-my-library button,.tth-my-credits button,.tth-credit-packs-page button{font:inherit}
.tth-teacher-note{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:16px;background:var(--tth-cream);border:1px solid #f1e5dc;color:#534b54}
.tth-teacher-note strong{display:block;margin-bottom:2px;color:var(--tth-ink)}
.tth-teacher-note-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--tth-berry);font-weight:800}
.tth-primary-action,.tth-library-button,.tth-library-filter-button,.tth-redeem-button{border-radius:12px!important;background:var(--tth-berry)!important;color:#fff!important;border:0!important;box-shadow:none!important;font-weight:800!important}
.tth-primary-action:hover,.tth-library-button:hover,.tth-library-filter-button:hover,.tth-redeem-button:hover{background:#74345f!important;transform:translateY(-1px)}
.tth-library-button-owned{background:var(--tth-purple)!important}
.tth-library-button-owned:hover{background:var(--tth-purple-dark)!important}
.tth-credit-confirm-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(35,29,45,.52);backdrop-filter:blur(3px)}
.tth-credit-confirm-dialog{width:min(480px,100%);padding:28px;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(30,20,40,.28);border:1px solid var(--tth-border)}
.tth-credit-confirm-dialog h2{margin:0 0 8px;font-size:27px;line-height:1.15;color:var(--tth-ink)}
.tth-credit-confirm-dialog p{margin:0 0 18px;color:var(--tth-muted);line-height:1.55}
.tth-credit-confirm-summary{display:flex;justify-content:space-between;gap:16px;margin:18px 0;padding:16px;border-radius:16px;background:var(--tth-lilac)}
.tth-credit-confirm-summary strong{color:var(--tth-berry);font-size:20px}
.tth-credit-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.tth-credit-confirm-actions button{min-height:44px;padding:10px 17px;border-radius:12px;font-weight:800;cursor:pointer}
.tth-credit-confirm-cancel{background:#fff;border:1px solid #d8d0dd;color:var(--tth-ink)}
.tth-credit-confirm-submit{background:var(--tth-berry);border:1px solid var(--tth-berry);color:#fff}
@media(max-width:640px){.tth-credit-confirm-dialog{padding:22px}.tth-credit-confirm-actions{flex-direction:column-reverse}.tth-credit-confirm-actions button{width:100%}}
/* v1.6.0 Teacher-fun experience */
:root{--tth-sky:#eef7ff;--tth-yellow:#fff7cf;--tth-peach:#fff0e7;--tth-fun-shadow:0 12px 28px rgba(79,60,99,.09)}
.tth-resource-library-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff7fb 0%,#fffdf5 48%,#f4f1ff 100%)!important;border-width:2px!important}
.tth-resource-library-hero:before{content:'♥';position:absolute;pointer-events:none;right:34px;bottom:-30px;font-size:96px;font-weight:900;opacity:.075;color:var(--tth-pink);transform:rotate(10deg)}
.tth-resource-library-hero>div{position:relative;z-index:1}.tth-resource-library-hero h1{font-weight:850}.tth-resource-library-tagline{margin:0 0 5px!important;color:var(--tth-berry)!important;font-size:clamp(20px,2vw,27px)!important;font-weight:800;line-height:1.2!important}.tth-resource-library-balance{position:relative;z-index:2;box-shadow:0 7px 18px rgba(98,87,168,.09);transform:rotate(1deg)}
.tth-library-quick-group{position:relative;overflow:hidden;padding:20px 22px!important;border-width:2px!important;box-shadow:var(--tth-shadow-soft)}.tth-library-quick-group:first-child{background:linear-gradient(135deg,#fff,#fff9e7)}.tth-library-quick-group:last-child{background:linear-gradient(135deg,#fff,#f4fbf6)}.tth-library-quick-group strong{display:flex!important;align-items:center;gap:8px;font-size:15px!important}.tth-quick-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:var(--tth-yellow);color:#8a6616;font-size:14px}.tth-library-quick-group:last-child .tth-quick-icon{background:var(--tth-blush);color:var(--tth-pink)}
.tth-library-chip{transition:transform .16s ease,box-shadow .16s ease!important}.tth-library-chip:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:0 5px 12px rgba(54,42,70,.08)}
.tth-resource-library-filters{border-width:2px!important;background:linear-gradient(180deg,#fff,#fdfbfe)!important}.tth-library-filter-button{box-shadow:0 5px 0 #6e2f58!important}.tth-library-filter-button:active{transform:translateY(3px)!important;box-shadow:0 2px 0 #6e2f58!important}
.tth-resource-card{border-width:2px!important}.tth-resource-card:nth-child(4n+1){border-top-color:#f4c5d2}.tth-resource-card:nth-child(4n+2){border-top-color:#d8cdf2}.tth-resource-card:nth-child(4n+3){border-top-color:#cde7d3}.tth-resource-card:nth-child(4n){border-top-color:#f4dfa9}.tth-resource-card:hover{transform:translateY(-5px) rotate(-.25deg)!important}.tth-resource-card-image{position:relative}.tth-resource-card-image:after{content:'Preview';position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.93);box-shadow:0 2px 8px rgba(0,0,0,.08);color:var(--tth-berry);font-size:10px;font-weight:900;letter-spacing:.03em;opacity:0;transform:translateY(4px);transition:.18s}.tth-resource-card:hover .tth-resource-card-image:after{opacity:1;transform:none}
.tth-badge{border:1px solid rgba(139,63,114,.08)}.tth-resource-card h2{font-weight:800}.tth-resource-card-details:after{content:' →'}
.tth-resource-facts{background:linear-gradient(135deg,#fff8fb,#fffdf4 48%,#f5f3fc)!important;border-width:2px!important}.tth-resource-facts div{padding:10px 12px!important;border-radius:14px;background:rgba(255,255,255,.72)}.tth-resource-details{border-width:2px!important}.tth-resource-details h2:after{content:''}.tth-resource-quote blockquote{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:10px;padding:24px!important}.tth-resource-quote blockquote:before{content:'“';position:static!important;grid-column:1;grid-row:1 / span 2;align-self:start;font-size:56px!important;line-height:.8!important}.tth-resource-quote blockquote>p,.tth-resource-quote blockquote>div{grid-column:2;margin-top:0}.tth-resource-quote cite{grid-column:2;margin-top:10px!important}.tth-resource-help{position:relative;overflow:hidden}.tth-resource-help:after{content:'♥';position:absolute;right:-8px;top:-22px;font-size:78px;color:var(--tth-pink);opacity:.08;transform:rotate(15deg)}
.tth-resource-main-image{border-width:2px!important}.tth-resource-gallery .tth-preview-thumb-button:hover{transform:translateY(-2px)}
@media(max-width:680px){.tth-resource-library-hero:before{display:none}.tth-resource-library-balance{transform:none}.tth-resource-quote blockquote{grid-template-columns:32px minmax(0,1fr);column-gap:7px}.tth-resource-quote blockquote:before{font-size:45px!important}}
