@font-face{font-family:"Badger";src:url("../fonts/badger.woff2") format("woff2"),url("../fonts/badger.woff") format("woff");font-display:swap}
:root{--page:#aec2ee;--purple:#463451;--cream:#b7a472;--white:#fff;--ink:#111;--error:#7c1731}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--page);color:var(--ink);font-family:Georgia,"Times New Roman",serif}
[hidden]{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(rgba(174,194,238,.92),rgba(174,194,238,.92)),url("teaching-materials-hero.jpg") center/cover no-repeat}
.login-card{width:min(480px,92vw);padding:2rem;border-radius:22px;background:rgba(255,255,255,.92);text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.login-card h1{font-family:"Badger",Georgia,serif;font-size:2.5rem;color:var(--purple)}
.login-card label{display:block;font-size:1.2rem;margin-bottom:.6rem}
.login-card input{width:100%;padding:.9rem;border:2px solid var(--purple);border-radius:10px;font-size:1.2rem}
.login-card button,.browser-toolbar button{margin-top:1rem;padding:.75rem 1.1rem;border:0;border-radius:10px;background:var(--purple);color:white;font-size:1rem;cursor:pointer}
#login-error{min-height:1.4em;color:var(--error);font-weight:bold}
.hero img{display:block;width:100%;height:auto}
.intro{width:min(1500px,90vw);margin:0 auto;padding:2rem 0;font-size:clamp(1.05rem,2vw,1.55rem);line-height:1.5}
.versions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:2rem 0}
.versions article{padding:1.5rem;border-radius:16px;background:rgba(255,255,255,.22)}
.versions h2,.section-heading{font-family:"Badger",Georgia,serif;color:var(--purple)}
.note{margin:2rem 0}
.browser{width:min(1500px,94vw);margin:0 auto 4rem;border-radius:28px;background:var(--purple);color:white;overflow:hidden;box-shadow:0 16px 36px rgba(35,25,50,.2)}
.browser-toolbar{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.15)}
.browser-toolbar button{margin-top:0;background:#5a4668}
.search-wrap{margin-left:auto;display:grid;gap:.35rem;font-size:.9rem}
.search-wrap input{min-width:min(320px,75vw);padding:.7rem;border-radius:9px;border:0}
.file-tree{padding:1rem 1.25rem 1.5rem}
.folder{margin:.35rem 0;border-radius:10px}
.folder>summary{cursor:pointer;list-style:none;padding:.8rem;border-radius:8px;color:var(--cream);font-size:1.12rem;font-weight:bold}
.folder>summary::-webkit-details-marker{display:none}
.folder>summary::before{content:"▸";display:inline-block;width:1.4rem}
.folder[open]>summary::before{content:"▾"}
.children{padding-left:1.3rem}
.file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.7rem .8rem;border-radius:8px}
.file-row:hover{background:rgba(255,255,255,.07)}
.file-name{overflow-wrap:anywhere}
.download{display:inline-block;padding:.45rem .7rem;border-radius:8px;background:white;color:var(--purple);text-decoration:none;font-weight:bold}
.empty{padding:.6rem .8rem;color:#cfc4d6;font-style:italic}
.hidden-by-search{display:none!important}
@media(max-width:760px){.versions{grid-template-columns:1fr}.search-wrap{margin-left:0;width:100%}.search-wrap input{width:100%;min-width:0}.file-row{grid-template-columns:1fr}.children{padding-left:.5rem}}
