:root{--ink:#17202a;--paper:#f5f7f4;--cream:#fffdf8;--blue:#123f52;--cyan:#73cbd0;--yellow:#f4c95d;--line:#d8dedb;--muted:#657178}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{width:1.05rem;height:1.05rem}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,90px);background:var(--cream);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white;font:21px Georgia,serif}.admin-link,.back-link{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px;font-weight:700}.admin-link:hover,.back-link:hover{color:var(--blue)}.intro-shell{padding:72px clamp(24px,7vw,108px) 62px;background:var(--blue);color:white;position:relative;overflow:hidden}.intro-shell:after{content:"∞";position:absolute;right:4vw;bottom:-118px;font:260px/1 Georgia,serif;color:#73cbd017;transform:rotate(-9deg)}.eyebrow,.section-kicker{display:flex;align-items:center;gap:8px;color:var(--cyan);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow img{filter:invert(82%) sepia(19%) saturate(820%) hue-rotate(133deg)}.intro-grid{max-width:1220px;margin:25px auto 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;position:relative;z-index:1}.intro-grid h1{margin:0;max-width:720px;font:700 clamp(48px,7vw,86px)/.95 Georgia,serif;letter-spacing:-.055em}.intro-grid h1 em{color:var(--yellow)}.lede{max-width:610px;margin:26px 0 0;color:#d8e6e7;font-size:18px;line-height:1.65}.semester-stats{display:grid;grid-template-columns:repeat(2,100px);gap:1px;background:#ffffff2e;border:1px solid #ffffff2e}.semester-stats div{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#123f52d6}.semester-stats strong{font:700 34px Georgia,serif;color:var(--yellow)}.semester-stats span{color:#d8e6e7;font-size:13px;margin-top:7px}.catalog-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(35px,6vw,86px);max-width:1360px;margin:0 auto;padding:68px clamp(24px,6vw,90px) 96px}.course-index{position:sticky;top:38px;align-self:start}.course-index .section-kicker{color:#5a7779;margin-bottom:22px}.course-index nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}.course-index a{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:800;line-height:1.3}.course-index a span{color:#93a1a4;font:12px Georgia,serif}.course-index a:hover{color:#087d86}.course-list{min-width:0}.course-block{scroll-margin-top:35px;margin-bottom:82px}.course-heading{display:grid;grid-template-columns:58px 1fr;gap:20px;align-items:start;margin-bottom:27px}.course-number{width:54px;height:54px;display:grid;place-items:center;background:var(--yellow);border-radius:50%;font:700 18px Georgia,serif}.course-heading h2{margin:-4px 0 8px;font:700 clamp(31px,4vw,46px)/1.1 Georgia,serif;letter-spacing:-.035em}.course-heading p{max-width:720px;margin:0;color:var(--muted);line-height:1.55}.topic-list{border-top:2px solid var(--ink)}.topic-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px 2px;border-bottom:1px solid var(--line)}.topic-number{color:#8b989b;font:13px Georgia,serif}.topic-copy h3{margin:0 0 7px;font:700 20px/1.2 Georgia,serif}.topic-copy p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}.topic-actions{display:flex;gap:8px}.resource{min-width:84px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--cream);font-size:13px;font-weight:800}.resource:hover{transform:translateY(-1px);border-color:var(--cyan)}.resource.pdf{color:var(--blue)}.resource.video{color:#a52a2a}.resource.video img{filter:invert(20%) sepia(77%) saturate(1732%) hue-rotate(343deg)}footer{display:flex;justify-content:space-between;padding:26px clamp(24px,6vw,90px);border-top:1px solid var(--line);color:var(--muted);font-size:13px}.empty-state{padding:22px;color:var(--muted);text-align:center}.empty-state.large{border:1px dashed #a9b5b2}.login-page{min-height:100vh;display:grid;place-items:center;padding:80px 24px;background:var(--blue);position:relative}.back-link{position:absolute;top:28px;left:32px;color:#c7dadd}.back-link img{filter:invert(90%)}.login-card{width:min(100%,440px);padding:42px;background:var(--cream);box-shadow:16px 16px 0 var(--yellow)}.lock-icon{width:48px;height:48px;display:grid;place-items:center;background:#d9f0f0;border-radius:50%;margin-bottom:25px}.lock-icon img{width:24px;height:24px}.login-card .section-kicker{color:#468187}.login-card h1{margin:10px 0;font:700 38px Georgia,serif;letter-spacing:-.035em}.login-card p{color:var(--muted);line-height:1.5}.login-card small{display:block;margin-top:18px;color:#7b878b;text-align:center}.stack-form{display:flex;flex-direction:column;gap:18px;margin-top:25px}.stack-form.compact{margin-top:17px}.stack-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:800}.stack-form input,.stack-form textarea,.stack-form select{width:100%;border:1px solid #bec9c6;border-radius:5px;padding:12px 13px;background:white;color:var(--ink);outline:none}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{border-color:#178b92;box-shadow:0 0 0 3px #73cbd033}.stack-form button,.edit-actions>button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:5px;padding:13px 18px;color:white;background:var(--blue);font-weight:800}.stack-form button:hover,.edit-actions>button:hover{background:#0b7180}.form-error{padding:10px 12px;color:#8a2020;background:#fceaea;border-left:3px solid #b63838;font-size:14px}.admin-page{min-height:100vh;max-width:1240px;margin:0 auto;padding:58px clamp(22px,5vw,74px) 100px}.admin-header{display:flex;justify-content:space-between;gap:30px;align-items:end}.admin-header .section-kicker{color:#458084}.admin-header h1{margin:10px 0 7px;font:700 clamp(40px,6vw,66px)/1 Georgia,serif;letter-spacing:-.045em}.admin-header p{color:var(--muted);margin:0}.admin-header-actions{display:flex;align-items:center;gap:17px;font-size:14px;font-weight:800}.admin-header-actions a{color:#087d86}.admin-header-actions button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted)}.flash{margin-top:30px;padding:12px 14px;background:#e3f0ec;border-left:3px solid #218076;color:#235b56}.admin-toolbar{display:flex;gap:34px;padding:20px 0;margin:32px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-toolbar div{display:flex;align-items:baseline;gap:7px}.admin-toolbar strong{font:700 27px Georgia,serif}.admin-toolbar span{color:var(--muted);font-size:13px}.create-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{padding:27px;background:var(--cream);border:1px solid var(--line)}.panel h2{display:flex;align-items:center;gap:9px;margin:0;font:700 26px Georgia,serif}.file-field>input{position:absolute;opacity:0;pointer-events:none}.file-field>span{display:flex;align-items:center;gap:9px;padding:14px;border:1px dashed #8da5a4;background:#f2f7f5;color:#35666b}.admin-list{display:grid;gap:18px;margin-top:35px}.admin-course{background:var(--cream);border:1px solid var(--line);padding:25px}.admin-course-title{display:flex;justify-content:space-between;gap:22px;padding-bottom:18px}.admin-course-title h2{margin:0 0 6px;font:700 25px Georgia,serif}.admin-course-title p{margin:0;color:var(--muted);font-size:14px}.admin-course-title>span{white-space:nowrap;color:#567477;font-size:13px;font-weight:800}.edit-box{border-top:1px solid var(--line);padding:15px 0}.edit-box summary{display:flex;align-items:center;gap:7px;cursor:pointer;color:#187c84;font-size:14px;font-weight:800;list-style:none}.edit-box summary::-webkit-details-marker,.topic-edit summary::-webkit-details-marker{display:none}.admin-topics{border-top:2px solid var(--ink)}.topic-edit{padding:15px 0;border-bottom:1px solid var(--line)}.topic-edit>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none}.topic-edit>summary span{display:flex;align-items:center;gap:8px}.topic-edit>summary small{color:#61797b}.edit-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.edit-actions>button,.edit-actions form{flex:1}.edit-actions form button{width:100%}.danger{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c78e8e;background:#fff5f3;color:#8d2020;border-radius:5px;padding:12px 18px;font-weight:800}.danger img{filter:invert(19%) sepia(86%) saturate(1804%) hue-rotate(346deg)}.danger:hover{background:#f9ded9}.current-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:#edf4f2;color:#41666a;font-size:13px}.current-file a{font-weight:800;color:#087d86}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.check input{width:auto}.topic-edit[open]{background:#f8faf8;padding:18px}.topic-edit[open]>summary{margin-bottom:10px}@media(max-width:820px){.intro-grid,.catalog-shell,.create-grid{grid-template-columns:1fr}.semester-stats{width:201px}.course-index{position:static}.course-index nav{display:grid;grid-template-columns:repeat(3,1fr)}.admin-header{align-items:start;flex-direction:column}}@media(max-width:590px){.site-header{padding:0 18px}.brand{font-size:14px}.admin-link{font-size:0}.admin-link img{width:20px;height:20px}.intro-shell{padding:50px 22px}.intro-grid h1{font-size:48px}.catalog-shell{padding:45px 20px 70px}.course-index nav{grid-template-columns:1fr}.course-heading{grid-template-columns:45px 1fr}.course-number{width:42px;height:42px}.topic-row{grid-template-columns:32px 1fr}.topic-actions{grid-column:2;flex-wrap:wrap}.resource{flex:1}footer{flex-direction:column;gap:8px}.login-card{padding:30px 24px}.admin-course-title,.edit-actions,.topic-edit>summary{align-items:stretch;flex-direction:column}.topic-edit>summary span{justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
