:root{--ink:#172a35;--navy:#122b3a;--gold:#e8ae54;--cream:#fff8e9;--paper:#fffdf8;--rose:#ed8968;--mint:#7db9a2;--blue:#8ec3d6;--line:#d4dccf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f4ed;color:var(--ink);font:16px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}header{background:var(--navy);position:sticky;top:0;z-index:10;box-shadow:0 4px 18px #0002}.nav{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:13px 24px;gap:10px}.brand{color:#ffe1a1;text-decoration:none;font-family:Georgia,serif;font-size:22px;font-weight:bold;white-space:nowrap}.brand span{font:12px system-ui;display:block;color:#d3e2db}.links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.links button{border:1px solid #ffffff28;background:transparent;border-radius:8px;color:#f8f1db;padding:8px 13px;font-size:14px}.links button:hover,.links button:focus{background:#ffffff23}.teacher-nav{color:#ffd28d!important}main{min-height:78vh}.section{display:none;max-width:1180px;margin:auto;padding:50px 25px 70px}.section.active{display:block}.hero{min-height:530px;background:linear-gradient(130deg,#153747,#214c50 62%,#496453);border-radius:24px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;overflow:hidden;color:#fff6df;padding:48px 44px;box-shadow:0 15px 45px #1d32331c}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:850;color:#be7a38;margin-bottom:12px}.hero .eyebrow{color:#f4c27e}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.14}h1{font-size:clamp(49px,5vw,83px);margin:0 0 25px;letter-spacing:-2px}h1 em{color:#ffd48a;font-style:normal}h2{font-size:clamp(31px,4vw,47px);margin:6px 0 13px}h3{font-size:23px;margin:0 0 12px}.lead{font-size:19px;max-width:620px;color:#e5e8db}.lead.dark{color:#5b6a6d}.hero-actions,.rec-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.primary,.outline{border-radius:12px;padding:13px 20px;font-weight:800;transition:.2s;border:2px solid transparent}.primary{background:var(--gold);color:#243139}.primary:hover{background:#ffd08a;transform:translateY(-1px)}.outline{background:transparent;border-color:#cba75e;color:inherit}.outline:hover{background:#cba75e20}.small{font-size:13px;padding:7px 12px}.hero .outline{color:#fff8db}.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.pills span{border:1px solid #f5dda16e;border-radius:30px;padding:5px 12px;font-size:13px}.hero-visual{position:relative;min-height:380px;display:flex;align-items:end;justify-content:center}.moon{position:absolute;top:9px;right:28px;font-size:70px;color:#f3d7a7;text-shadow:0 0 32px #f6c681}.houses{display:flex;align-items:end;justify-content:center;gap:7px;width:100%;padding-bottom:60px}.house{height:170px;width:18%;max-width:90px;border:5px solid #172933;position:relative;background:#f0b45a;border-radius:4px 4px 0 0;box-shadow:7px 9px 0 #132b36}.house .roof{position:absolute;top:-33px;left:-10%;width:120%;height:30px;background:#8d483d;clip-path:polygon(50% 0,100% 100%,0 100%)}.house .windows{padding-top:45px;font-size:20px;color:#19394a;text-align:center;white-space:nowrap}.house .door{background:#644f42;color:#d4b48e;text-align:center;width:35px;height:54px;margin:10px auto 0;font-size:25px}.h2{height:203px;background:#b8d7e5}.h3{height:225px;background:#d87763}.h4{height:185px;background:#9ac19b}.h5{height:200px;background:#f8efe1}.banner{position:absolute;bottom:15px;left:5%;right:5%;background:#e3aa61;color:#2e3240;text-align:center;transform:rotate(-2deg);font:800 17px Georgia;padding:12px;border:3px solid #644f39;box-shadow:4px 5px #162e35}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.three article,.lesson,.instruction,.entry,.teacher-access,.record-panel{border:1px solid #e5ddc5;background:var(--paper);border-radius:19px;padding:25px;box-shadow:0 3px 12px #263b3810}.three b{color:#af7141;font-size:12px;letter-spacing:1.5px}.three h3{font-size:23px;margin:7px 0}.three p{margin:0;color:#596565}.lesson-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}.lesson-art{font-size:46px;margin-bottom:12px}.lesson p{margin:10px 0}.sample{background:#eaf0e8;padding:14px;border-left:4px solid #7b9b87;border-radius:7px;margin:15px 0}.tip{font-size:14px;color:#56645f}.instruction{margin-top:25px;background:#f8edd7}.instruction p{max-width:900px}.flashcards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:30px}.flash{border:2px solid #e6decc;border-radius:17px;background:var(--paper);min-height:175px;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 13px #253f3510;transition:transform .18s,border-color .18s}.flash:hover{transform:translateY(-3px);border-color:#d7a44f}.flash .art{font-size:57px;line-height:1.4}.flash strong{font:700 18px Georgia;margin-top:4px}.flash .meaning{font-size:13px;color:#697475;margin-top:6px}.flash .back{display:none;font-size:13px;margin-top:8px;background:#eff3e8;border-radius:7px;padding:8px}.flash.open{background:#f9f0d6}.flash.open .back{display:block}.entry{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:850px;margin-top:22px}.entry label,.teacher-access label,#deliver label{display:block;font-weight:700}input:not([type=radio]):not([type=file]),textarea,select{display:block;width:100%;border:1px solid #b9c7bd;border-radius:9px;background:white;padding:12px;margin-top:6px;color:#18313c}input:focus,textarea:focus,select:focus{outline:2px solid #dfb86b;outline-offset:1px}.role-picker{display:flex;gap:15px;align-items:center}.role-picker label{flex:1}.role-picker label span{display:block;border:2px solid #c8cdbd;border-radius:10px;padding:14px;text-align:center;cursor:pointer}.role-picker input{position:absolute;opacity:0}.role-picker input:checked+span{background:#f9e8ba;border-color:#ac7b2e}.entry button{align-self:end}.info-bar{display:flex;align-items:center;justify-content:space-between;background:#193f45;color:#fff;padding:15px 18px;border-radius:11px;gap:10px;margin-top:27px}.warning{background:#fff0d2;border:1px solid #e2bf84;padding:16px;margin:20px 0;border-radius:10px}.clue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0 35px}.clue{background:#fffaf0;border:2px solid #d5b885;border-radius:14px;padding:20px;box-shadow:4px 4px 0 #e7dec6}.clue small{font-weight:900;color:#a46b36;letter-spacing:2px}.clue p{margin:7px 0 0;font-size:17px}.tablewrap{overflow:auto;background:white;border:1px solid #d4dcca;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:700px}td,th{padding:13px;border:1px solid #e1e5da;text-align:left}th{background:#234a50;color:#ffefd1}td:first-child{font-weight:800;background:#edf3ed}td select{min-width:95px;padding:8px;font-size:13px;margin:0}.hint{background:#e7f1ea;border-radius:10px;padding:12px;margin:17px 0 35px}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px}.answer-grid label{background:#fffef9;border:1px solid #e1e1d4;padding:14px;border-radius:10px}.answer-grid label:last-child{grid-column:1/-1}.record-panel{background:#eef3f0;margin:25px 0}.example{font-style:italic;font-size:14px;color:#57665d}.upload-label{display:inline-flex;align-items:center;cursor:pointer;border:2px solid #b89a65;border-radius:12px;padding:13px 20px;background:#fff;min-height:52px}.upload-label:hover{background:#fff4db}#audio-status,.status,#teacher-status{font-size:14px;font-weight:700;color:#526a62}audio{width:min(100%,540px);margin-top:16px}.submit{width:100%;font-size:18px}.teacher-access{max-width:700px;margin:25px 0}.teacher-access .rec-buttons{margin-top:10px}.teacher-record{border:1px solid #d8dfce;background:#fffefa;border-radius:14px;padding:20px;margin:16px 0}.teacher-record h3{margin:0 0 8px}.teacher-record .meta{color:#596b6c;font-size:13px}.teacher-record ol{padding-left:22px}.downloadlink{display:inline-block;text-decoration:none;color:#194b61;background:#e5f1f4;border:1px solid #b3cdd7;padding:8px 14px;border-radius:9px;font-weight:800;margin:9px 0}footer{text-align:center;background:#112f3a;color:#e8ddb7;padding:27px 15px;font-size:13px}@media(max-width:820px){.hero{grid-template-columns:1fr;padding:35px 25px}.hero-visual{min-height:315px}.three,.lesson-grid{grid-template-columns:1fr}.flashcards{grid-template-columns:repeat(3,1fr)}.nav{padding:10px}.brand{font-size:16px}.links button{padding:7px;font-size:12px}.section{padding:35px 15px}.entry{grid-template-columns:1fr}.answer-grid,.clue-grid{grid-template-columns:1fr}.answer-grid label:last-child{grid-column:auto}}@media(max-width:470px){.flashcards{grid-template-columns:repeat(2,1fr)}.hero-visual{min-height:250px}.house{height:125px}.h2{height:160px}.h3{height:178px}.h4{height:148px}.h5{height:158px}.house .windows{font-size:14px}.hero h1{font-size:45px}.role-picker{flex-direction:column;align-items:stretch}}

.role-img{display:block;width:100%;height:125px;object-fit:cover;object-position:top center;border-radius:8px;margin-bottom:9px}.role-picker label span{font-size:15px}

.stepback{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}.draft-indicator{color:#547063;font-size:.8rem;font-weight:600}.stepback button{cursor:pointer}

/* Destructive teacher action (requires two confirmation dialogs). */
.teacher-record .delete-submission{display:block;margin-top:14px;border-color:#b54848;color:#a43131;background:#fff9f8;font-size:.92rem;}
.teacher-record .delete-submission:hover{background:#ffe7e4;}
.teacher-record .delete-submission:disabled{opacity:.6;cursor:wait;}

/* Teacher assessment and private learner grade inquiry */
.grade-panel{margin:1rem 0;padding:1rem;border-radius:16px;background:#edf2ed;border:1px solid #d5dcca;display:grid;gap:.75rem}
.grade-panel h4{margin:0}.grade-panel label{display:grid;gap:.4rem;font-weight:600}
.grade-panel input,.grade-panel textarea{width:100%;max-width:100%;padding:.7rem;border-radius:10px;border:1px solid #b3bfb9;font:inherit}
.grade-panel input[type=number]{max-width:150px}.results-list{margin-top:1rem}
