@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Libre+Baskerville:ital,wght@0,400;1,400&display=swap');
:root{--navy:#071329;--navy2:#101d35;--gold:#e9b957;--cream:#f4eedf;--muted:#abb2c0;--line:#5a6477}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#071329;color:var(--cream);font-family:Georgia,'Times New Roman',serif}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.course-shell{height:100vh;overflow:hidden;display:grid;grid-template:102px minmax(0,1fr) 54px/238px minmax(620px,1fr) 315px;background:radial-gradient(circle at 55% 30%,#213858 0,#0c1b34 42%,#061125 100%)}
.masthead{grid-column:1/-1;display:grid;grid-template-columns:275px 1fr 400px;align-items:center;border-bottom:1px solid #9c6a34;background:linear-gradient(90deg,rgba(4,13,30,.95),rgba(8,22,46,.9)),url('/monumental-hero.png') center 61%/cover;padding:0 20px}.ffe-brand{display:flex;align-items:center;width:215px;padding:8px 11px;border-radius:4px;background:#fff}.ffe-brand img{display:block;width:100%;height:auto}.monumental-brand{text-align:center}.monumental-brand strong{display:block;color:#f0bd62;font-family:Cinzel,serif;font-size:45px;letter-spacing:.06em;text-shadow:0 2px 0 #663d15,0 0 12px #e2a448}.monumental-brand span{display:block;letter-spacing:.34em;font-size:13px}.masthead nav{display:flex;justify-content:flex-end;align-items:center;gap:21px;font-size:14px}.masthead form{display:inline}.masthead button{border:0;background:none;font-size:24px;cursor:pointer}
.pillars{grid-row:2;grid-column:1;padding:15px 10px;background:linear-gradient(150deg,rgba(5,16,36,.84),#08162c),radial-gradient(circle,#6b1728,#071329)}.pillars h2{margin:0 0 6px;text-align:center;color:#9da4b1;font-size:15px;letter-spacing:.08em}.pillars h2 span{display:block;margin-top:2px;color:var(--gold);font-size:17px}.pillar{width:100%;height:70px;display:grid;grid-template-columns:38px 1fr;align-items:center;text-align:left;margin:7px 0;padding:7px 10px;border:1px solid #536077;border-radius:11px;background:rgba(11,24,46,.78);cursor:pointer;transition:.18s}.pillar:hover{border-color:#b9a371;background:#122440}.pillar b{font-size:31px;font-weight:400;color:#939caf}.pillar strong{display:block;font-size:20px;font-weight:400}.pillar small{display:block;color:#b7bdc8;font-size:12px;line-height:1.2}.pillar.selected{border-color:#ffd98b;box-shadow:0 0 13px #e9a84f;background:linear-gradient(90deg,rgba(203,146,48,.18),rgba(17,27,43,.95))}.pillar.selected b,.pillar.selected strong{color:#fff7de}.pillar.selected small{color:#ead69d}.pillars blockquote{margin:22px 8px 0;text-align:center;font-style:italic;font-size:22px}.pillars blockquote small,.login-art blockquote small{display:block;margin-top:8px;color:var(--gold);font-style:normal;font-size:13px;letter-spacing:.08em}
.lesson-main{grid-row:2;grid-column:2;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) 126px auto;gap:12px;padding:14px 16px 10px}.lesson-title p{margin:0;color:var(--gold);font-weight:bold;letter-spacing:.18em;font-size:15px}.lesson-title h1{margin:1px 0 0;font-size:40px;line-height:1}.lesson-title em{font-size:27px}.video-wrap{height:100%;min-height:230px;border-radius:13px;overflow:hidden;background:#02050b;box-shadow:0 8px 28px #020713}.video-wrap video{display:block;width:100%;height:100%;object-fit:contain}.video-poster{position:relative;width:100%;height:100%;background:linear-gradient(90deg,rgba(9,13,22,.35),transparent 60%),url('/monumental-hero.png') center/cover}.poster-copy{position:absolute;left:4%;top:14%;color:#f3e8d5;font-size:clamp(27px,2.8vw,46px);font-style:italic;font-weight:bold;line-height:.86;transform:rotate(-3deg);text-shadow:0 3px 8px #000}.poster-copy span{display:block}.hero-play{position:absolute;left:51%;top:52%;transform:translate(-50%,-50%);display:grid;place-items:center;width:92px;height:92px;border:3px solid white;border-radius:50%;background:rgba(31,24,25,.65);box-shadow:0 0 15px var(--gold);cursor:pointer}.hero-play input,.side-upload input{position:absolute;width:1px;height:1px;opacity:0}.hero-play span{font-size:40px;margin-left:7px}.hero-play small{position:absolute;top:101px;width:140px;text-align:center;font-size:10px;letter-spacing:.12em;text-shadow:0 2px 4px #000}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0}.resource-grid article{min-width:0;height:126px;position:relative;display:flex;align-items:flex-end;border:1px solid #d6b989;border-radius:11px;overflow:hidden;background-size:cover;background-position:center;padding:0}.resource-grid article:after{content:"";position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(transparent,rgba(4,8,17,.96))}.resource-grid article:nth-child(1){background-position:left}.resource-grid article:nth-child(3){background-position:right}.resource-grid article>span{position:relative;z-index:1;flex:0 0 34px;color:#e0bd82;margin:0 5px 9px 10px;font-size:26px}.resource-grid article>div{position:relative;z-index:1;min-width:0;margin:0 6px 9px 0}.resource-grid strong,.resource-grid small{display:block;white-space:normal;overflow-wrap:anywhere}.resource-grid strong{font-size:clamp(11px,1vw,15px);line-height:1.05}.resource-grid small{margin-top:3px;font-size:10px;line-height:1.15}.upload-message{margin:0;color:#ffe09a;text-align:center;font-size:12px}
.overview{grid-row:2;grid-column:3;min-height:0;overflow:hidden;margin:12px 10px 10px 0;padding:11px 9px;border:1px solid #566279;border-radius:14px;background:rgba(8,20,42,.78)}.overview h2{margin:0 8px 2px;font-size:27px}.overview>p{margin:0 8px;font-size:13px;line-height:1.22}.star-rule{margin:4px;text-align:center;color:var(--gold);font-size:18px}.lesson-row{width:100%;min-height:44px;display:grid;grid-template-columns:35px 1fr 31px;align-items:center;text-align:left;border:0;border-bottom:1px solid #2f3b51;background:transparent;font-size:13px}.lesson-row>span{color:#d7b47b;font-size:20px}.lesson-row strong{font-weight:400;line-height:1.05}.lesson-row small{text-align:right;font-size:11px}.lesson-row.active{border:1px solid #ffe099;border-radius:11px;box-shadow:0 0 8px #c98b3f;padding:3px;background:rgba(12,22,39,.8)}.lesson-row.active strong{font-weight:bold}.challenge{display:grid;grid-template-columns:32px 1fr 12px;align-items:center;margin-top:8px;padding:8px 7px;border:1px solid #e1a318;border-radius:11px}.challenge>b{color:#ffd472;font-size:29px}.challenge strong,.challenge em{display:block;color:var(--gold)}.challenge span{font-size:13px;line-height:1.2}.challenge em{color:#d9d3ca;font-size:11px}.challenge i{font-size:25px;color:var(--gold)}.side-upload{display:block;margin:7px auto 0;padding:6px;text-align:center;color:#f0c66f;border:1px dashed #9c814e;border-radius:7px;cursor:pointer;font-size:9px;letter-spacing:.12em}.course-shell>footer{grid-column:1/-1;display:flex;align-items:center;justify-content:center;border-top:1px solid #9c6a34;font-size:20px;font-style:italic}.course-shell>footer span{margin-left:13px;color:var(--gold);font-style:normal;font-size:12px;letter-spacing:.1em}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#071329}.login-art{position:relative;display:flex;flex-direction:column;align-items:center;padding:55px;color:white;background:linear-gradient(0deg,rgba(3,10,23,.9),rgba(6,18,39,.22)),url('/monumental-hero.png') center/cover}.login-branding{text-align:center;margin-top:24px;text-shadow:0 3px 6px #000}.login-branding h1{margin:12vh 0 0;color:#efbd63;font-family:Cinzel,serif;font-size:clamp(55px,7vw,100px);letter-spacing:.05em}.login-branding p{letter-spacing:.4em}.login-art blockquote{margin:auto 0 0;font-size:30px;text-align:center;font-style:italic}.login-panel{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 50% 40%,#172844,#071329 70%)}.login-panel-content{width:min(430px,100%);display:flex;flex-direction:column;align-items:center;gap:24px}.login-ffe-logo{width:min(250px,62%);height:auto;padding:10px 14px;border-radius:5px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.32)}.login-card{width:100%;padding:40px;border:1px solid #566279;border-radius:16px;background:rgba(10,24,48,.9);box-shadow:0 22px 70px #01050d}.kicker{color:var(--gold);letter-spacing:.18em;font-size:13px}.login-card h2{margin:0;font-size:42px}.login-intro{color:#bdc3cf;line-height:1.6}.login-card label{display:block;margin:20px 0 6px;color:#e8c882;font-size:12px;letter-spacing:.15em}.login-card input{width:100%;padding:13px;color:white;border:1px solid #5b687e;border-radius:6px;background:#0b1a33;outline:none}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 8px #b77a25}.login-card button{width:100%;display:flex;justify-content:space-between;margin-top:27px;padding:15px 18px;border:1px solid #f4ce7a;border-radius:6px;background:linear-gradient(#c6953e,#8d5a1a);font-weight:bold;letter-spacing:.12em;cursor:pointer}.login-card aside{margin-top:25px;padding:15px;color:#adb6c7;border:1px dashed #566279;font-size:14px;line-height:1.6}.login-card aside strong{color:var(--gold);letter-spacing:.12em;font-size:11px}.login-error{padding:10px;border:1px solid #be5a5a;background:#4f1e2b}
#blazor-error-ui{display:none}@media(max-width:1100px){.course-shell{grid-template:100px auto auto 60px/205px 1fr}.masthead{grid-template-columns:220px 1fr}.masthead nav{display:none}.monumental-brand strong{font-size:38px}.overview{grid-row:3;grid-column:1/-1;margin:15px}.lesson-main{grid-column:2}.pillars{grid-row:2}.course-shell>footer{grid-row:4}.resource-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.login-page{grid-template-columns:1fr}.login-art{min-height:360px;padding:25px}.login-branding h1{margin-top:6vh;font-size:48px}.login-panel{padding:25px}.course-shell{display:block}.masthead{height:100px;padding:10px;display:block;text-align:center}.ffe-brand{display:none}.pillars{display:none}.lesson-main{padding:22px 12px}.lesson-title h1{font-size:38px}.lesson-title em{font-size:25px}.video-wrap{aspect-ratio:16/10}.hero-play{width:85px;height:85px}.hero-play span{font-size:36px}.poster-copy{font-size:27px}.resource-grid{grid-template-columns:1fr 1fr}.overview{margin:12px}.course-shell>footer{min-height:70px;padding:15px;text-align:center;font-size:17px}.monumental-brand strong{font-size:34px}.monumental-brand span{font-size:11px}.resource-grid article{height:130px}}
