:root{color-scheme:dark;--bg:#091c19;--panel:#102c26;--panel2:#15372e;--line:#35584a;--text:#f2eddb;--muted:#b6cabc;--mint:#a0e3bd;--gold:#f0d28a;--purple:#c7b9ee;--error:#ffb4ad;font-family:system-ui,sans-serif;font-size:17px;line-height:1.55}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 12% 0,#204c37 0,transparent 45%),radial-gradient(ellipse at 100% 45%,#28263e 0,transparent 50%),var(--bg);color:var(--text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#e2c77b55 .8px,transparent .8px);background-size:101px 89px;z-index:-1}a{color:var(--mint)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:.6rem 1rem;color:var(--text);background:#173d32;cursor:pointer;font-weight:650}button:hover{background:#21533f;border-color:var(--mint)}button:disabled{opacity:.6;cursor:wait}button.primary{background:var(--mint);color:#10281c;border-color:var(--mint)}button.primary:hover{background:#bcf1cd}button.secondary{background:transparent}button.small{min-height:44px;padding:.35rem .8rem;font-size:.9rem}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}input,textarea,select{background:#0a211c;border:1px solid #567565;border-radius:10px;color:var(--text);padding:.75rem;max-width:100%;width:100%}textarea{min-height:220px;resize:vertical;line-height:1.7}label{display:block;font-weight:650;margin:.9rem 0 .35rem}label:has(input[type=checkbox]){display:flex;gap:.7rem;align-items:center}input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--mint)}input:read-only,textarea:read-only{opacity:.8}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;line-height:1.2;font-weight:500}h1{font-size:clamp(2.1rem,5vw,3.8rem);letter-spacing:-.03em;margin-bottom:.7rem}h2{font-size:1.9rem}h3{font-size:1.08rem}small,.muted{color:var(--muted)}.eyebrow{color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.masthead{max-width:1200px;margin:auto;padding:1.6rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--text)}.brand small{display:block;font-size:.62rem;letter-spacing:.16em;font-weight:700}.brand strong{font:1.7rem Georgia,serif}.owl{position:relative;border:1px solid #799a75;border-radius:40% 40% 45% 45%;width:52px;height:55px;display:block;text-align:center;padding-top:7px;color:var(--gold);font-size:16px;letter-spacing:4px}.owl span{display:block;font-size:24px;line-height:.7;letter-spacing:0}.private-label{font-size:.75rem;border:1px solid var(--line);border-radius:50px;padding:.35rem .75rem;color:var(--muted)}main{max-width:1200px;margin:auto;padding:2rem;min-height:68vh}footer{max-width:1200px;margin:auto;padding:1.5rem 2rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line)}.loading{text-align:center;padding:15vh 1rem}.login{max-width:540px;margin:4vh auto;padding:clamp(1.4rem,4vw,3rem);border:1px solid #557b62;border-radius:26px;background:linear-gradient(135deg,#15392e,#0b201d);box-shadow:0 20px 80px #0004}.login h1{font-size:clamp(2.3rem,6vw,3.5rem);margin:1rem 0}.login button{width:100%;margin-top:1rem}.remember{font-size:.8rem;margin:1.25rem 0 0;color:var(--muted)}nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.4rem}nav button{background:transparent;border-color:transparent;color:var(--muted)}nav button[aria-current=page]{color:var(--mint);border-color:#58886a;background:#143c2e}nav .logout{margin-left:auto}.hero{padding:1.5rem 0 2rem}.hero p{max-width:65ch}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card{border:1px solid var(--line);border-radius:18px;padding:1.4rem;background:linear-gradient(135deg,#173c2eaa,#102b26e8);min-width:0}.card.wide{grid-column:span 2}.card h3{margin-bottom:.5rem}.card .value{font:2.5rem Georgia,serif;color:var(--gold)}.feature{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;background:linear-gradient(135deg,#204d37,#192d34);border:1px solid #749574;border-radius:22px;padding:2rem;margin-bottom:1.4rem}.feature h2{font-size:2.4rem;margin:.75rem 0}.feature aside{border-left:1px solid var(--line);padding-left:2rem}.tag{display:inline-block;border:1px solid var(--line);border-radius:50px;padding:.15rem .6rem;font-size:.72rem;color:var(--muted);margin:.1rem .3rem .1rem 0}.tag.submitted{border-color:#a398c7;color:var(--purple)}.tag.reviewed{color:var(--mint)}.section-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin:2rem 0 1rem}.section-head h2{margin:0}.section-head select{width:auto;min-width:130px}.list{display:grid;gap:.8rem}.mission{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mission .num{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#264e3c;color:var(--gold);flex:none;font-family:Georgia,serif}.mission .details{flex:1;min-width:0}.mission h3{margin-bottom:.2rem}.mission p{font-size:.8rem;margin:0}.editor{max-width:850px;margin:auto}.editor .instructions{white-space:pre-wrap}.steps{padding-left:1.4rem}.steps li{padding:.3rem 0}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.editor-status{font-size:.85rem;color:var(--muted)}.feedback{border-left:3px solid var(--purple);padding:1rem 1.25rem;margin:1rem 0;white-space:pre-wrap;background:#352d4422}.parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.parent-grid .card{align-self:start}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.notice{position:sticky;top:0;z-index:10;background:#284d3c;border:1px solid #83aa86;color:var(--text);padding:.8rem 1.2rem;max-width:1136px;margin:.7rem auto;border-radius:12px}.notice.error{border-color:var(--error);color:var(--error);background:#392623}.notice[hidden]{display:none}.skip{position:absolute;left:1rem;top:-100px;background:var(--bg);padding:1rem;z-index:50}.skip:focus{top:1rem}.empty{padding:2rem;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}details{margin:1rem 0;border-top:1px solid var(--line);padding-top:1rem}summary{cursor:pointer;min-height:44px;color:var(--mint);font-weight:650}.score{color:var(--gold)}.progress-track{height:10px;border-radius:8px;background:#0a201b;overflow:hidden;margin:.8rem 0}progress{width:100%;accent-color:var(--mint)}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.parent-note{font-size:.8rem;color:var(--muted)}@media(max-width:780px){.grid{grid-template-columns:1fr 1fr}.feature{grid-template-columns:1fr;gap:1rem}.feature aside{padding:1rem 0 0;border-left:0;border-top:1px solid var(--line)}.parent-grid{grid-template-columns:1fr}.private-label{display:none}nav .logout{margin-left:0}.feature h2{font-size:2rem}}@media(max-width:480px){main,.masthead,footer{padding:1.1rem}.brand strong{font-size:1.45rem}.brand small{font-size:.55rem}.grid{grid-template-columns:1fr}.card.wide{grid-column:auto}.feature{padding:1.3rem}.mission{flex-wrap:wrap;padding:1rem}.mission button{margin-left:60px;width:calc(100% - 60px)}.inline-fields{grid-template-columns:1fr}nav{gap:.15rem}nav button{padding:.5rem .65rem;font-size:.9rem}.section-head{align-items:start}.notice{margin:.5rem .7rem}.toolbar button{flex:1}.login{margin-top:1.5rem}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}


/* Parent-only printed records: no menu, forms, preview screens, or dark-ink wastage. */
.print-report{display:none}
@media print{
 @page{size:auto;margin:0.65in}
 :root{color-scheme:light}
 body{background:#fff!important;color:#111!important;font:11pt/1.45 Arial,sans-serif}
 body:before,.masthead,footer,#notice,main > :not(#print-report){display:none!important}
 main{display:block!important;max-width:none!important;min-height:0!important;padding:0!important;margin:0!important}
 #print-report{display:block!important;max-width:none!important;color:#111!important}
 #print-report h1{font:700 19pt Arial,sans-serif;margin:0 0 8pt}
 #print-report h2{font:700 13pt Arial,sans-serif;margin:18pt 0 6pt;border-bottom:1px solid #444;padding-bottom:4pt}
 #print-report p{margin:5pt 0 8pt;color:#111}
 #print-report table{width:100%;border-collapse:collapse;font-size:9pt;table-layout:auto}
 #print-report th,#print-report td{border:1px solid #888;text-align:left;vertical-align:top;padding:5pt;overflow-wrap:anywhere}
 #print-report thead{display:table-header-group}
 #print-report tr{break-inside:avoid;page-break-inside:avoid}
 #print-report .print-note{border-top:1px solid #aaa;font-size:8pt;padding-top:10pt;margin-top:18pt}
}


/* Owl's Lessons private sign-in identity — storybook owl portal, 2026-10-20 */
body:has(.login-portal){
  background:radial-gradient(ellipse at 85% 25%,rgba(97,78,157,.31),transparent 45%),
  radial-gradient(ellipse at 12% 80%,rgba(21,110,108,.26),transparent 48%),
  #060e1a;
}
body:has(.login-portal):before{background-image:radial-gradient(#e6d7aa6b 1px,transparent 1.6px),radial-gradient(#93dedb55 1px,transparent 1.4px);background-size:119px 103px,167px 211px;background-position:11px 35px,81px 48px}
.owl-mark{border:none;background:radial-gradient(circle at center,#36637688,transparent 80%);border-radius:16px;width:52px;height:52px;display:grid;place-items:center;padding:0;letter-spacing:0}
.owl-mark svg{display:block;filter:drop-shadow(0 2px 8px #c6aad755)}
.masthead .brand strong{color:#fff2cf}
.login-portal{width:min(1160px,100%);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(1rem,3vw,3rem);
 align-items:center;margin:clamp(1rem,3vw,3rem) auto;padding:clamp(1.35rem,4vw,3.8rem);border-radius:28px;
 border:1px solid rgba(206,186,146,.42);background:linear-gradient(130deg,rgba(11,38,48,.96),rgba(14,36,48,.96) 53%,rgba(27,30,55,.95));
 box-shadow:0 20px 80px #0009,inset 0 1px 35px rgba(117,183,165,.08);overflow:hidden}
.login-portal-copy{position:relative;z-index:2}
.login-chapter{display:block;color:#acede2;font-size:.69rem;font-weight:850;letter-spacing:.17em;line-height:1.65;margin-bottom:1rem}
.login-crest{display:block;color:#f6d9a3;letter-spacing:.7em;font:1.5rem/1.1 Georgia,serif;margin:0 0 1.3rem;text-shadow:0 0 20px #edd69d66}
.login-portal h1{font-size:clamp(2.7rem,4.7vw,4.6rem);line-height:1.02;color:#f8ecd0;margin:0 0 .9rem;letter-spacing:-.04em}
.login-portal h1 em{color:#dbccff;font-weight:400;font-style:italic;white-space:nowrap}
.login-tagline{color:#f1d59a;font:1.12rem/1.4 Georgia,serif;margin-bottom:1.5rem}
.login-panel{width:min(510px,100%);border:1px solid rgba(139,204,192,.32);border-radius:20px;
 padding:clamp(1.1rem,2vw,1.7rem);background:linear-gradient(130deg,rgba(3,20,27,.66),rgba(11,32,40,.74));
 box-shadow:0 12px 30px rgba(0,0,0,.15)}
.login-panel h2{font-family:Georgia,serif;font-size:1.6rem;color:#fff4de;margin:0 0 .5rem}
.login-panel .muted{font-size:.91rem;color:#b9d5d2}
.login-panel label{color:#e4eadc;font-size:.92rem;margin:1rem 0 .45rem}
.login-panel input{background:#0a1b2a;border:1px solid #779da2;border-radius:12px;padding:.9rem 1rem;min-height:52px;font-size:1rem}
.login-panel input::placeholder{color:#acbfbd}
.login-panel button.primary{margin-top:1rem;min-height:54px;width:100%;color:#12242b;background:linear-gradient(110deg,#edc987,#ffedbd);border-color:#fff2c9;
 box-shadow:0 7px 24px rgba(230,183,104,.2);font-size:1rem}
.login-panel button.primary:hover{background:linear-gradient(110deg,#f4d6a4,#fff5d9)}
.login-panel .remember{margin:1.1rem 0 0;font-size:.75rem;line-height:1.6;color:#b5c6c4}
.login-illustration{min-width:0;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.login-illustration:before{content:"";position:absolute;inset:12% 2%;border-radius:45%;background:radial-gradient(ellipse,rgba(152,131,213,.25),transparent 70%);filter:blur(22px)}
.login-owl-scene{position:relative;max-width:100%;width:min(100%,395px);height:auto;filter:drop-shadow(0 15px 35px #0006)}
.login-illustration-caption{position:relative;text-align:center;font:italic 1rem/1.4 Georgia,serif;color:#c6dfd3;margin:1rem 0 0}
@media(max-width:880px){.login-portal{grid-template-columns:1fr}.login-illustration{min-height:0;max-height:310px;overflow:hidden}
  .login-owl-scene{max-width:270px}.login-illustration-caption{display:none}.login-portal h1{font-size:clamp(2.9rem,9vw,4.3rem)}}
@media(max-width:520px){main:has(.login-portal){padding:.8rem}
 .login-portal{padding:1.15rem 1rem;border-radius:18px;margin:.4rem 0 1rem;gap:.5rem}
 .login-chapter{font-size:.62rem;letter-spacing:.1em}.login-portal h1{font-size:clamp(2.3rem,10vw,3.3rem)}
 .login-portal h1 em{white-space:normal}.login-panel{padding:1.1rem}.login-illustration{max-height:230px}
 .login-owl-scene{max-width:215px}.login-crest{margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){.login-panel *{scroll-behavior:auto}}


/* OPERATION LEVEL UP — restored student-first visual language (staged, not production approved).
   Sapphire + ultraviolet + amber lanterns + azure crystal light; NOT a green flat card UI. */
:root {
 --bg:#090b1e;--panel:#171632;--panel2:#222243;
 --line:#5d5983;--text:#f9f1df;--muted:#c6c4d8;
 --mint:#8ed9ff;--gold:#ffd38a;--purple:#d5b5ff;--error:#ffb6bb;
}
body{background:radial-gradient(ellipse at 3% 0%,rgba(75,40,120,.28),transparent 46%),
radial-gradient(ellipse at 100% 28%,rgba(36,107,187,.19),transparent 48%),
linear-gradient(170deg,#070a1b,#13102b 48%,#0b1027 100%);}
body:before{z-index:0;opacity:.28;background-image:radial-gradient(#ffe2a5 1px,transparent 1px),
radial-gradient(#b6bbff 1px,transparent 1.2px);background-size:121px 131px,227px 253px;background-position:25px 51px,87px 12px}
.masthead,main,footer{position:relative;z-index:1}
.masthead{border-bottom:1px solid #796a91;background:linear-gradient(100deg,rgba(11,14,38,.92),rgba(19,15,53,.89));max-width:none;padding:1.05rem max(1.5rem,calc((100% - 1250px)/2))}
.masthead .brand strong{color:#ffe4af}
.masthead .brand small{color:#aeccfa}
.private-label{color:#d5c1f2;border-color:#8479a3}
main{max-width:1270px}
footer{max-width:1270px;border-top-color:#5c4f86}
button{background:linear-gradient(130deg,#292550,#181e48);border-color:#6e699e;color:#f6eddf}
button:hover{background:linear-gradient(130deg,#443a7c,#232e70);border-color:#d2b1f0}
button.primary{background:linear-gradient(125deg,#ebbd77,#ffe3a7);color:#1d1b36;border-color:#ffecbe}
button.primary:hover{background:linear-gradient(125deg,#f5cf91,#fff0c3);color:#171428}
button.secondary{border-color:#776baf;color:#ecdcff}
input,textarea,select{background:#11162e;color:#fff2e1;border-color:#776caa}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#9fdcff}
a{color:#cbb3ff}
nav{gap:.48rem;align-items:center;margin-bottom:1.75rem;padding:.85rem;
background:linear-gradient(115deg,rgba(23,21,59,.97),rgba(18,24,63,.92));border:1px solid #5f5689;border-radius:19px;box-shadow:0 12px 28px #0005}
.deck-identity{margin:0 .7rem 0 .1rem;color:#f6ce8e;font-size:.72rem;letter-spacing:.13em;font-weight:850;white-space:nowrap}
.deck-identity span{color:#d4a1ff;font-size:1.2rem}
nav button{border:1px solid transparent;background:transparent;color:#d8d2ea}
nav button:hover{background:rgba(103,84,178,.24)}
nav button[aria-current=page]{background:linear-gradient(135deg,#553d86,#273f83);border-color:#a68dd2;color:#fff4d7;box-shadow:inset 0 0 12px #8d6cbd27}
nav .logout{color:#e9d2d9}
.card{background:linear-gradient(145deg,rgba(38,28,72,.87),rgba(17,26,66,.92));border-color:#5c5684;box-shadow:0 10px 32px #0002}
.card h3{color:#f9dfa5}
.eyebrow{color:#e4bafc}
.muted,small{color:#c7c1d4}
.hero h1,.map-intro h1{color:#ffedc6}
.value,.card .value{color:#ffd48e}
.feature{background:linear-gradient(127deg,#2d255b,#1d305f);border-color:#8174a4}
.tag{border-color:#756eab;color:#c9cefc;background:rgba(34,30,78,.45)}
.tag.submitted{color:#e0c6ff;border-color:#c39fe7}
.tag.reviewed{color:#aeeadf;border-color:#6aabac}
.mission .num{background:linear-gradient(135deg,#513376,#294e91);color:#ffe1ac}
.login,.login-panel{border-color:#686092;background:linear-gradient(135deg,#241d56,#121a45)}
.notice{background:#302758;border-color:#9d88d2}
.notice.error{background:#53223d;border-color:#ffb6bb}
.feedback{background:rgba(91,54,117,.28);border-color:#d6a5ff}
.progress-track{background:#14142e}
progress{accent-color:#ac9eff}
/* Keep the login aesthetically tied to the tree's sapphire, amethyst and lantern-light world. */
body:has(.login-portal){background:radial-gradient(ellipse at 83% 20%,rgba(95,53,150,.38),transparent 48%),
radial-gradient(ellipse at 10% 90%,rgba(28,93,156,.25),transparent 48%),#090a1d}
.login-portal{background:linear-gradient(125deg,rgba(25,18,61,.98),rgba(20,24,67,.95) 58%,rgba(40,24,73,.93));
border:1px solid #8b709c;box-shadow:0 20px 65px #0009,inset 0 0 45px rgba(87,69,167,.12)}
.login-portal h1{color:#ffe7b9}
.login-portal h1 em{color:#d8b5ff}
.login-portal .login-chapter{color:#a7cfff}
.login-portal .login-panel{background:linear-gradient(145deg,rgba(15,17,46,.9),rgba(26,25,69,.82));border-color:#7971b1}
.login-portal .login-tagline{color:#f0d39e}
.login-portal input{background:#0e1233;border-color:#867ab1}
.login-portal .login-crest{color:#d7bcf4}
/* Mission Control: a genuinely browseable expedition command room, not a decorative 'dashboard.' */
.command-deck{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);align-items:stretch;position:relative;
background:linear-gradient(120deg,rgba(24,17,60,.96) 5%,rgba(21,26,76,.92) 67%,rgba(38,19,73,.95));
border:1px solid rgba(210,175,236,.52);border-radius:27px;overflow:hidden;min-height:375px;
box-shadow:0 17px 64px #0007,inset 0 0 50px #c68ed412}
.deck-copy{position:relative;z-index:3;padding:clamp(1.5rem,4vw,3.1rem);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.deck-eyebrow{letter-spacing:.19em;color:#b8cbff}
.deck-copy h1{font-size:clamp(3rem,6vw,5.4rem);letter-spacing:-.045em;line-height:.97;margin:.45rem 0 .9rem;color:#ffe8b5}
.deck-copy h1 em{font-weight:400;font-style:italic;color:#c9a6fa}
.deck-greeting{font:1.45rem/1.35 Georgia,serif;color:#ead4fe;margin:.2rem 0 .7rem}
.deck-description{color:#d7def8;line-height:1.65;font-size:.98rem;max-width:47ch;margin:.15rem 0 1.3rem}
.deck-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.deck-actions button{min-height:50px}
.deck-support{font-size:.76rem;color:#bfc0de;margin:1.25rem 0 0;max-width:55ch;line-height:1.45}
.deck-art{position:relative;min-height:320px;overflow:hidden;
background:radial-gradient(ellipse at 44% 46%,rgba(128,100,226,.38),transparent 48%),
radial-gradient(ellipse at 56% 100%,rgba(219,124,170,.2),transparent 52%),transparent}
.deck-art:before{content:"";position:absolute;inset:2% 6% 4% 1%;
border:2px solid #b395d589;border-bottom:0;border-radius:52% 52% 0 0;
background:linear-gradient(to bottom,transparent 65%,rgba(7,16,45,.55));
box-shadow:inset 0 0 26px #9576e72d,0 0 23px #ae9ffb1b}
.deck-art:after{content:"";position:absolute;inset:auto -5% -30px;
height:94px;border-radius:50% 50% 0 0;
background:linear-gradient(130deg,#a66870,#694775 40%,#292f6e 75%,#151532);
border-top:3px solid #e2a991;box-shadow:0 -12px 45px #a97cc42a}
.deck-starfield{position:absolute;inset:5%;
background-image:radial-gradient(#fce8b6 1.5px,transparent 2px),radial-gradient(#d1b1ff 1px,transparent 2px);
background-size:82px 101px,129px 85px;background-position:0 0,40px 25px;opacity:.8}
.deck-orbit{position:absolute;display:block;left:19%;top:23%;width:57%;height:48%;border:1px solid #baa4f27a;border-radius:50%;transform:rotate(-35deg)}
.deck-orbit-b{transform:rotate(48deg);border-color:#a4c9f999}
.deck-emblem{position:absolute;left:36%;top:29%;width:27%;aspect-ratio:1;border:2px solid #fadca4;
border-radius:19% 32% 20% 34%;display:grid;place-items:center;
font:5.7rem Georgia,serif;color:#f8e3bc;background:radial-gradient(circle,#aa83e866,#25275aa8);
transform:rotate(45deg);text-shadow:0 0 20px #ffe9bd}
.deck-moon{position:absolute;right:15%;top:12%;font:4.2rem Georgia,serif;color:#ffdcad;text-shadow:0 0 26px #dca9ff}
.deck-icon{position:absolute;color:#a8d8ff;font:2rem Georgia,serif;text-shadow:0 0 18px #8aaaff}
.deck-icon-book{left:12%;top:20%}.deck-icon-star{right:17%;bottom:28%;color:#e4a1e7}
.deck-chamber{position:absolute;left:12%;right:8%;bottom:21%;height:18px;border-radius:50%;border:3px solid #9b91dc;background:radial-gradient(ellipse,#c69be4,transparent 70%);box-shadow:0 0 24px #e4a6e9aa}
.deck-glow{position:absolute;bottom:4%;right:21%;width:18px;height:38px;border-radius:60% 60% 0 0;background:linear-gradient(#ffdca3,#da83a4);filter:blur(3px)}
.deck-plaque{position:absolute;right:14%;bottom:11%;color:#f6d6ad;font:.75rem Georgia,serif;letter-spacing:.16em;text-shadow:0 0 12px #eebdb7}
.mission-statline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.2rem 0 2rem}
.mission-statline article{background:linear-gradient(150deg,#252151,#151f4d);border:1px solid #665b95;border-radius:17px;padding:1rem 1.2rem;min-width:0}
.stat-kicker{display:block;color:#b5bcdf;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.mission-statline strong{display:block;margin:.4rem 0 0;font:2rem/1 Georgia,serif;color:#ffda95}
.mission-statline strong span{font:.9rem system-ui;color:#b9b8d4}
.mission-statline small{display:block;font-size:.66rem;margin-top:.5rem}
.briefing-card{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;background:linear-gradient(110deg,#302252,#202658);
border:1px solid #8c739d;border-radius:20px;padding:1.7rem;margin-bottom:1.7rem}
.briefing-card h2{color:#f6e4b8;margin:.65rem 0}
.briefing-card p{max-width:64ch;white-space:pre-line;line-height:1.6;font-size:.92rem;color:#d8d2ec}
.briefing-card button{flex:none}
.mission-trail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-bottom:1.1rem}
.trail-stop{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;min-height:170px;
padding:1.1rem;background:linear-gradient(147deg,#27214e,#161c3e);border:1px solid #7770a0;border-radius:16px;position:relative}
.trail-stop:hover,.trail-stop:focus-visible{border-color:#e8c698;box-shadow:0 0 25px #aa85bf33}
.trail-stop.reviewed{border-color:#8ac7ce}.trail-stop.submitted{border-color:#a88edb}
.trail-number{display:grid;place-items:center;width:39px;height:39px;border:1px solid #d6a6bc;border-radius:50%;
color:#ffe5b6;background:#523c78;font:1rem Georgia,serif}
.trail-name{display:block;color:#f9e8cc;font-size:.82rem;font-weight:750;line-height:1.4;flex:1}
.trail-status{font-size:.68rem;color:#c8c4e3;text-transform:uppercase;letter-spacing:.08em}
.deck-footnote{font-size:.76rem;color:#b7b2d4}
.map-intro{padding:2rem 0 1.7rem;max-width:75ch}
.map-intro h1{font:400 clamp(2.7rem,6vw,4.6rem)/1.05 Georgia,serif;color:#ffe5ae}
.map-intro h1 em{font-weight:400;color:#dab3ff}
.map-intro p{line-height:1.65;color:#ccc7e6}
.expedition-path{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;padding:2rem 1.1rem 3rem;
background:radial-gradient(ellipse at center,rgba(106,60,152,.19),transparent 62%),linear-gradient(130deg,rgba(19,16,56,.92),rgba(22,25,66,.82));
border:1px solid #736499;border-radius:25px;margin-bottom:2rem}
.expedition-path:before{content:"";position:absolute;inset:5% 10%;border:2px dashed #b190b550;border-radius:40% 30% 40% 35%;pointer-events:none}
.map-stop{position:relative;z-index:1;text-align:left;display:flex;flex-direction:column;gap:.45rem;min-height:140px;
background:linear-gradient(145deg,#35265f,#192453);border:1px solid #7665a8;border-radius:15px;padding:1.2rem}
.map-stop:hover,.map-stop:focus-visible{box-shadow:0 0 28px #bd9ceb55;border-color:#d2b9f8}
.map-current{border-color:#efc986;box-shadow:inset 0 0 21px #e3ba8333}
.map-node{display:grid;place-items:center;min-width:39px;min-height:39px;width:39px;background:#5d417c;color:#ffddaa;
border:1px solid #c4a1c8;border-radius:50%;font:1.15rem Georgia,serif}
.map-label{font:1.35rem Georgia,serif;color:#f4e3bc}
.map-meta{font-size:.77rem;color:#d0c8ed}
.map-progress{display:block;background:#111532;border-radius:6px;height:6px;width:100%;overflow:hidden}
.map-progress>span{display:block;height:100%;background:linear-gradient(90deg,#8acfff,#d1a2ff,#ffcc97)}
.map-stop small{font-size:.7rem;color:#c5b7e9}
@media(max-width:1100px){.deck-identity{flex-basis:100%}.mission-trail{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.command-deck{grid-template-columns:1fr}.deck-art{height:210px;min-height:210px}
.mission-statline{grid-template-columns:repeat(2,minmax(0,1fr))}
.briefing-card{flex-direction:column;align-items:stretch}
.mission-trail{grid-template-columns:repeat(2,minmax(0,1fr))}
.expedition-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem}
nav{padding:.6rem;gap:.3rem}.deck-identity{display:none}}
@media(max-width:420px){.deck-copy{padding:1.3rem}.deck-copy h1{font-size:3.15rem}
.mission-statline{gap:.5rem}.mission-statline article{padding:.85rem}
.mission-statline strong{font-size:1.65rem}.mission-trail{grid-template-columns:1fr}.trail-stop{min-height:115px}
.map-stop{padding:.75rem}.map-label{font-size:1.08rem}nav button{font-size:.75rem;padding:.65rem .52rem}}
@media(prefers-reduced-motion:reduce){.command-deck *,.expedition-path *{animation:none!important;transition:none!important}}

/* Real guided-learning helpers: secure, one step at a time and parent-visible. */
.buddy-panel,.feedback-panel{border:1px solid #9472b1;border-radius:20px;
background:radial-gradient(ellipse at 95% 0,rgba(96,73,160,.25),transparent 42%),
linear-gradient(135deg,rgba(40,23,78,.95),rgba(20,29,71,.95));padding:clamp(1.2rem,3vw,1.85rem);margin:1.15rem 0;box-shadow:0 10px 30px #0003}
.buddy-panel h2,.feedback-panel h2{font:400 2rem/1.2 Georgia,serif;color:#ffe3a9;margin:.45rem 0 .55rem}
.buddy-panel>p,.feedback-panel>p{color:#d4cdec;font-size:.92rem;line-height:1.65;max-width:70ch}
.buddy-issues,.feedback-choices{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.1rem 0 0}
.buddy-issues button,.feedback-choices button{font-size:.83rem;min-height:48px;border:1px solid #7968af;color:#e6daf5;background:#252553}
.buddy-issues button[aria-pressed=true],.feedback-choices button[aria-pressed=true]{background:linear-gradient(125deg,#674b91,#3e4e9a);border-color:#ffd49d;color:#fff2d5;box-shadow:0 0 14px #a78be555}
.buddy-step{background:linear-gradient(125deg,#171632,#272552);border:1px solid #7c79b5;border-radius:16px;padding:1.25rem;margin:1.1rem 0 0}
.buddy-step h3{font:400 1.25rem/1.5 Georgia,serif;color:#f1deba;margin:.7rem 0}
.buddy-step p{font-size:.78rem;color:#cfc8e4}
.parent-insights{margin:1.9rem 0 2rem}
.parent-insights strong{color:#f1d6aa}
@media(max-width:500px){.buddy-issues button,.feedback-choices button{flex:1 1 43%;padding:.65rem .5rem;font-size:.79rem}
.buddy-panel,.feedback-panel{padding:1.15rem}}

.deck-learner{display:block;font:500 clamp(1.05rem,2vw,1.45rem)/1.4 system-ui,sans-serif;letter-spacing:.04em;color:#d7c8eb;margin-top:.45rem}


/* Orientation Chamber + actual seven-region expedition.
   Colors reference approved sapphire water, violet crystals and warm golden lanterns;
   not the generic green homeschool prototype. */
.orientation-chamber{border:1px solid #987cb7;border-radius:28px;overflow:hidden;
 background:radial-gradient(ellipse at 83% 8%,rgba(108,81,196,.32),transparent 50%),
 radial-gradient(ellipse at 5% 95%,rgba(34,107,168,.23),transparent 48%),
 linear-gradient(136deg,#19143a,#161b45 56%,#271a4a);box-shadow:0 18px 65px #0007}
.orientation-heading{padding:clamp(1.5rem,5vw,3.2rem) clamp(1.25rem,5vw,3.3rem) 1.35rem;
 position:relative;isolation:isolate;overflow:hidden}
.orientation-heading:after{content:"✧";position:absolute;right:6%;top:6%;color:#ffe4a9;
 font:clamp(5rem,15vw,11rem)/1 Georgia,serif;z-index:-1;opacity:.3;text-shadow:0 0 40px #dfb8ff}
.orientation-heading h1{font:400 clamp(2.6rem,6vw,5rem)/1.04 Georgia,serif;color:#ffe9bd;letter-spacing:-.04em;margin:1rem 0}
.orientation-heading h1 em{font-style:italic;color:#d5b3ff}
.orientation-heading p{max-width:65ch;color:#d6d3ef;font-size:1rem;line-height:1.65}
.orientation-form{padding:0 clamp(1.25rem,5vw,3.3rem) clamp(1.5rem,5vw,3rem)}
.orientation-form fieldset{border:1px solid #8270a7;border-radius:17px;padding:1.2rem;margin:0 0 1.7rem;background:#161836b8}
.orientation-form legend{color:#ffe1af;font:1.25rem Georgia,serif;padding:0 .6rem}
.orientation-form fieldset>p{font-size:.87rem;color:#c9c5e5;margin:.2rem 0 1rem}
.interest-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.interest-options label{margin:0;display:flex;align-items:center;gap:.55rem;border:1px solid #69679b;border-radius:13px;
 background:#201c4b;padding:.9rem;color:#e9dff3;font-size:.83rem;cursor:pointer;font-weight:600}
.interest-options label:has(input:checked){border-color:#ffd99e;background:linear-gradient(135deg,#443269,#2e3878);color:#fff1d9}
.interest-options label input{width:20px;height:20px;min-width:20px;accent-color:#eac184;margin:0}
.orientation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}
.orientation-columns label{color:#f1dbb9;font-size:.9rem}
.orientation-columns input,.orientation-columns select{min-height:53px}
.orientation-columns small{display:block;font-size:.74rem;line-height:1.45;margin-top:.45rem}
.orientation-actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin:1.6rem 0 .8rem}
.orientation-actions button{min-height:51px}
.orientation-nudge{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;justify-content:space-between;
 margin:1.4rem 0;color:#ffe2ab;border:1px solid #8b77b1;border-radius:14px;
 background:linear-gradient(110deg,#31244c,#1d2858);padding:1rem 1.3rem;font-size:.92rem}
.expedition-world{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;
 position:relative;padding:1.4rem 0 2rem}
.map-realm{position:relative;isolation:isolate;border-radius:28px;overflow:hidden;padding:1.6rem;
 border:1px solid #8675b2;box-shadow:0 20px 45px #0004,inset 0 1px 15px #b8acf215;min-height:340px;
 background:radial-gradient(ellipse at 85% 7%,rgba(169,127,230,.35),transparent 50%),
 linear-gradient(150deg,#292051,#111a42)}
.map-realm:before{position:absolute;content:"";inset:-3% -6% 45%;opacity:.38;z-index:-1;
 background:repeating-radial-gradient(ellipse at 75% 65%,transparent 0 29px,#e4c0f71f 30px 31px,transparent 32px 70px)}
.map-realm:after{content:"";position:absolute;z-index:-1;left:-18px;right:-18px;bottom:-35px;height:110px;
 background:radial-gradient(ellipse at 50% 0,#a6bbfd33,transparent 65%);border-top:1px solid #dbc6e966;border-radius:50% 50% 0 0}
.map-realm-title{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.4rem}
.map-realm-sigil{flex:none;display:grid;place-items:center;width:62px;height:62px;border-radius:18px;
 border:1px solid #c4a8dd;color:#ffe3b5;background:radial-gradient(circle at 50% 30%,#714f9c,#303064);
 box-shadow:0 0 22px #d0a5f633;font:2.2rem Georgia,serif}
.map-chapter{color:#d7b5ff;font-size:.7rem;font-weight:800;letter-spacing:.17em}
.map-realm-title h2{font-size:clamp(1.27rem,2.5vw,1.65rem);color:#f6deb9;margin:.2rem 0 .5rem}
.map-realm-title p{font-size:.79rem;line-height:1.5;color:#d0c6ea;margin:0;max-width:40ch}
.map-week-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;align-items:stretch}
.map-week-stops .map-stop{min-height:154px;gap:.38rem;padding:.78rem;box-shadow:0 6px 14px #0003;background:linear-gradient(145deg,#2a214f,#18254b)}
.map-week-stops .map-node{font-size:.94rem;width:37px;height:37px;min-width:37px;min-height:37px}
.map-week-stops .map-label{font-size:.98rem}
.map-week-stops .map-meta{font-size:.69rem}
.map-week-stops .map-stop small{font-size:.62rem}
.map-realm.realm-terrain{background:radial-gradient(ellipse at 70% 0%,#4276a055,transparent 52%),linear-gradient(125deg,#152743,#272049)}
.map-realm.realm-forge{background:radial-gradient(ellipse at 80% 5%,#cd855d55,transparent 45%),linear-gradient(135deg,#372244,#212144)}
.map-realm.realm-signals{background:radial-gradient(ellipse at 85% 15%,#8962c455,transparent 45%),linear-gradient(145deg,#1d224e,#27204a)}
.map-realm.realm-legends{background:radial-gradient(ellipse at 77% 13%,#5893bb66,transparent 45%),linear-gradient(135deg,#122641,#26204c)}
.map-realm.realm-build{background:radial-gradient(ellipse at 68% 7%,#da8a9b55,transparent 40%),linear-gradient(145deg,#2c204f,#1b284f)}
.map-realm.realm-final{background:radial-gradient(ellipse at 70% 0%,#ddbb9166,transparent 50%),linear-gradient(135deg,#3c2750,#212c5a)}
.map-realm.realm-final{grid-column:1/-1;min-height:0}
.map-realm.realm-final .map-week-stops{grid-template-columns:minmax(150px,210px)}
@media(max-width:1050px){.expedition-world{grid-template-columns:1fr}.map-realm.realm-final{grid-column:auto}}
@media(max-width:720px){.interest-options{grid-template-columns:repeat(2,minmax(0,1fr))}.orientation-columns{grid-template-columns:1fr}
 .map-realm{padding:1.1rem;min-height:0}.map-week-stops .map-stop{min-height:145px}}
@media(max-width:470px){.interest-options{grid-template-columns:1fr}
 .map-week-stops{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map-realm-title{gap:.6rem}.map-realm-sigil{width:46px;height:46px;font-size:1.55rem}
 .map-week-stops .map-stop{padding:.75rem;min-height:130px}
 .orientation-heading h1{font-size:2.9rem}.orientation-actions button{width:100%}}


/* Locked approved Tree & Ember Hub image reused locally as a visual anchor.
   We copied an exact existing approved art asset without modifying the source Hub.
   Show the Owl's Lessons study room (left-lower-middle portion) — never a generic forest graphic. */
.deck-art{
 background-image:linear-gradient(100deg,rgba(21,20,55,.17),rgba(19,16,49,.05) 58%,rgba(10,13,36,.22)),
 url('/assets/approved-tree-ember-hub.jpg');
 background-repeat:no-repeat;
 background-size:100% 100%, 900px auto;
 background-position:center, left 70%;
}
.deck-art:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(to right,rgba(25,17,63,.13),transparent 38%),
 linear-gradient(to top,rgba(12,10,33,.18),transparent 55%)}
.deck-starfield,.deck-orbit,.deck-emblem,.deck-moon,.deck-icon,.deck-chamber,.deck-glow,.deck-plaque{display:none}
.login-illustration{background:linear-gradient(180deg,rgba(18,17,50,.16),rgba(15,14,45,.48)),
 url('/assets/approved-tree-ember-hub.jpg') no-repeat left 68% / 970px auto;border-radius:14px;box-shadow:inset 0 0 45px #110b34b5}
.login-illustration:before{inset:0;background:linear-gradient(90deg,rgba(21,14,48,.19),transparent);filter:none;border-radius:14px}
.login-owl-scene{max-width:250px;filter:drop-shadow(0 7px 20px #1a0b30);opacity:.92}
.orientation-heading:before{content:"";position:absolute;right:0;top:0;width:min(52%,530px);height:100%;z-index:-1;
 background:linear-gradient(90deg,#20183b,transparent 40%),url('/assets/approved-tree-ember-hub.jpg') no-repeat left 67% / 910px auto;opacity:.62}
@media(max-width:760px){.deck-art{background-size:100% 100%,800px auto;background-position:center,left 73%}
 .login-illustration{background-size:830px auto;background-position:left 74%}
 .orientation-heading:before{opacity:.23;width:100%;background-size:800px auto}}


/* Guide Buddy help strategies are optional, one explicit button per request.
   Reading is user-initiated; no autoplay/audio source in private school. */
.buddy-tools{display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap;margin-top:.95rem}
.buddy-tools button{font-size:.81rem;min-height:46px;flex:1 1 160px;color:#e6d7f8;border-color:#7d6bae;background:linear-gradient(125deg,#272047,#21295b)}
.buddy-tools button[aria-pressed=true]{background:linear-gradient(135deg,#63418e,#334989);color:#fff1d5;border-color:#dfc198}
.buddy-hint{background:linear-gradient(110deg,#40305b,#292c60);border-left:3px solid #edcd96;border-radius:0 12px 12px 0;
padding:1rem 1.25rem;font:1rem/1.65 system-ui,sans-serif;color:#fbf1df!important;margin-top:1rem}


/* Applied learner preferences: visible goal and task-size density only, not academic shortcuts. */
.deck-goal{border-left:3px solid #ebc787;padding:.6rem .95rem;border-radius:0 9px 9px 0;background:#62498a44;
font-size:.9rem;line-height:1.5;color:#efdefc;max-width:60ch}
.deck-goal strong{color:#ffe0a6}
.deck-less{display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap;
padding:.75rem 1rem;margin:.8rem 0 1.5rem;background:#25204b;
border:1px solid #7666a2;border-radius:14px;font-size:.85rem;color:#ded3ee}
@media(max-width:520px){.deck-less button{width:100%}}


/* Final school identity consistency pass — approved Hub jewel-tone world. */
:root{--bg:#0b0a23;--panel:#211938;--panel2:#251e4c;--line:#8576a8;
 --text:#fff0d9;--muted:#d2cbe4;--mint:#9dbbff;--gold:#f7d398;--purple:#debdff;
 color-scheme:dark}
body,body:has(.login-portal){background:radial-gradient(ellipse at 82% 15%,#67488c33,transparent 49%),
 radial-gradient(ellipse at 12% 87%,#254d9f35,transparent 50%),#0b0a23}
.brand small,.login-chapter,.deck-eyebrow{color:#b9caff!important}
a,.link{color:#d9bfff}
button:not(.primary){border-color:#75669e}
button:not(.primary):hover{border-color:#cfb3ef}
.owls-school,header,nav{color:#f9efd9}
.masthead{border-bottom-color:#6c5c95}
.login-illustration{background-position:left 71%;background-size:970px auto}
.login-owl-scene{display:none}
.login-illustration-caption{background:#1e133bdb;border:1px solid #bf9dba;border-radius:12px;
padding:.6rem .85rem;color:#ffe2b3;text-shadow:0 1px 9px #000}


/* Parent Command Center planner, no fabricated schedules or third-party sync. */
.parent-planner{margin:2rem 0 2.6rem}
.parent-planner h2{color:#ffe1ae}
.planner-form{max-width:810px;padding:1.6rem;margin-bottom:1rem}
.planner-form textarea{min-height:90px}
.planner-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.planner-check{display:flex;align-items:flex-start;gap:.7rem;line-height:1.45;color:#eaddec;margin:1rem 0}
.planner-check input{flex:none;width:22px}
.planner-list{padding:1.1rem}
.planner-list summary{font-size:1.1rem;font-weight:700;color:#ffe1ae;cursor:pointer}
.planner-list ol{list-style:none;padding:0;display:grid;gap:.7rem}
.planner-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid #7564a8;padding:1rem;border-radius:12px;background:#211c47}
.planner-item strong{color:#f8deac}
.planner-item .tag{font-size:.7rem}
.planner-private{margin:.4rem 0 0;color:#d2c9dd;font-size:.78rem}
.student-calendar{border:1px solid #8375ae;background:linear-gradient(128deg,#282153,#171e46);border-radius:19px;padding:1.2rem 1.4rem;margin:1.2rem 0 2rem}
.student-calendar h2{color:#ffe1ae;font-size:1.5rem}
.student-calendar ul{list-style:none;padding:0;margin:.7rem 0;display:grid;gap:.65rem}
.student-calendar li{display:flex;align-items:center;gap:1rem;padding:.7rem;border-radius:12px;border:1px solid #5a5883}
.student-date{min-width:177px;color:#b8c9f4;font-size:.82rem}
.student-calendar strong{font-weight:650;color:#f4e6c8}
@media(max-width:550px){.planner-form{padding:1rem}.planner-columns{grid-template-columns:1fr;gap:0}
 .planner-item{align-items:flex-start;flex-direction:column}.planner-item button{align-self:flex-end}
 .student-calendar li{align-items:flex-start;flex-direction:column;gap:.3rem}}


/* Inclusive Owl's Lessons display controls — no third-party trackers or fees.
   WCAG 2.2 AA is the testing target, not a legal certification claim. */
.access-toolbar{max-width:1270px;margin:0 auto;padding:.7rem 1rem;display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
.access-toolbar button{font-size:.85rem;min-height:46px;padding:.7rem 1rem;border:1px solid #b6a0d1;
border-radius:13px;color:#ffefd5;background:linear-gradient(135deg,#2d2257,#1e295c)}
.access-toolbar button[aria-pressed=true]{outline:2px solid #ffe0a6;outline-offset:2px;background:linear-gradient(145deg,#71519a,#304b91)}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #f8e6a3!important;outline-offset:4px}
button{min-height:44px}select,input:not([type=checkbox]),textarea{min-height:47px}
.passkey-login-button{display:block!important;width:100%;margin-top:.85rem;padding:.85rem 1rem;border-color:#ac8fce!important;background:#34245e!important;
color:#fbe2b7!important;font-size:1rem}
.passkey-login-button[hidden]{display:none!important}
.code-keyboard{display:block;margin:.75rem 0 0;padding:.45rem .6rem;text-decoration:underline;color:#d2bfff;border:0;background:none!important}
#family-code{font-size:1.15rem;letter-spacing:.11em}
.family-access{border:1px solid #9a80b8;border-radius:22px;padding:clamp(1.2rem,3vw,2rem);margin:2rem 0 2.25rem;
background:linear-gradient(135deg,#2a214c,#192751 65%,#291e4b)}
.family-access>h2{color:#ffdfb2;font:400 clamp(1.7rem,3vw,2.25rem) Georgia,serif;margin:.6rem 0}
.family-access>p{max-width:75ch;line-height:1.65;color:#ddd6e9;font-size:.92rem}
.family-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:1.3rem 0}
.family-security-grid>.card{border:1px solid #8d7bae;background:linear-gradient(130deg,#241d4a,#1b2252);padding:1.5rem;min-width:0}
.family-security-grid h3{color:#ffe1b1;font:400 1.5rem Georgia,serif}
.family-security-grid p{line-height:1.6;font-size:.85rem;color:#dad4e8}
.family-security-grid form>button{margin-top:1rem;min-height:50px}
.family-security-grid input{background:#131735;color:#fff1da;border:1px solid #a49bcc}
.passkey-devices{list-style:none;margin:1rem 0 0;padding:0}
.passkey-device{border:1px solid #6f689d;border-radius:12px;padding:.8rem;margin-bottom:.65rem;background:#1a1a3d}
.passkey-device strong{display:block;color:#f7dcaa}
.passkey-device small{display:block;color:#d2c6dd}
.passkey-remove-form{margin-top:.65rem;border-top:1px solid #60517f;padding-top:.55rem}
.passkey-remove-form button{margin-top:.5rem}
html.owl-a11y-text{font-size:125%;line-height:1.65}
html.owl-a11y-text .eyebrow{letter-spacing:.08em}
html.owl-a11y-text input,html.owl-a11y-text textarea{font-size:1rem}
html.owl-a11y-contrast{--text:#ffffff;--muted:#eeeeff;--line:#ffffff;--gold:#ffe6a9;--purple:#f1deff}
html.owl-a11y-contrast body{background:#090519!important;color:#fff!important}
html.owl-a11y-contrast :is(.card,.command-deck,.login-portal,.orientation-chamber,.family-access,.parent-planner,.mission-statline article,.map-realm){border-color:#fff!important;background:#100b29!important;box-shadow:none!important}
html.owl-a11y-contrast :is(input,textarea,select,button){border:2px solid #fff!important;color:#fff!important;background:#1c1346!important}
html.owl-a11y-contrast button.primary{background:#ffe29e!important;color:#181027!important;border-color:#ffe29e!important}
html.owl-a11y-motion *,html.owl-a11y-motion *::before,html.owl-a11y-motion *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:850px){.family-security-grid{grid-template-columns:1fr}}
@media(max-width:500px){.access-toolbar{justify-content:stretch;gap:.4rem;padding:.55rem}
.access-toolbar button{flex:1 1 29%;font-size:.7rem;padding:.55rem .25rem}
.family-security-grid>.card{padding:1rem}}


/* Distraction-reduced reading mode: an optional cognitive-accessibility aid.
   Retains the approved sapphire/violet/lantern palette and restores on request. */
html.owl-a11y-reading body,
html.owl-a11y-reading body:has(.login-portal){background:#111029!important}
html.owl-a11y-reading :is(.deck-art,.login-illustration,.orientation-heading:before,.orientation-heading:after,.deck-starfield,.deck-crest,.map-realm:before,.map-realm:after){display:none!important}
html.owl-a11y-reading :is(.command-deck,.login-portal,.orientation-chamber,.map-realm,.card,.family-access,.buddy-panel,.feedback-panel,.parent-planner){
 background:#211b40!important;box-shadow:none!important;border:1px solid #a28eb8!important}
html.owl-a11y-reading :is(.command-deck,.login-portal){display:block!important;min-height:0!important}
html.owl-a11y-reading :is(.deck-copy,.login-portal-copy){max-width:850px;padding:clamp(1.25rem,4vw,2.3rem)}
html.owl-a11y-reading :is(.instructions,.editor p,.buddy-panel p,.feedback-panel p,.hero p,.deck-description,.mission p,.login-panel p){
 line-height:1.8!important;letter-spacing:.015em;max-width:70ch}
html.owl-a11y-reading :is(.map-realm,.trail-stop,.mission,.student-calendar,.buddy-step){background:#211b40!important}
html.owl-a11y-reading :is(h1,h2,h3){text-shadow:none!important}
html.owl-a11y-reading .mission-trail{grid-template-columns:repeat(2,minmax(0,1fr))}
html.owl-a11y-reading .expedition-world{grid-template-columns:1fr}
html.owl-a11y-reading .map-realm{min-height:0}
html.owl-a11y-reading .map-realm .map-week-stops{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){html.owl-a11y-reading .mission-trail,
 html.owl-a11y-reading .map-realm .map-week-stops{grid-template-columns:1fr}}


/* October 21 Owl's Lessons art and usability correction.
   ALL visual art is the original approved Tree & Ember living-tree Hub.
   Excludes high-contrast and low-distraction modes so accessible overrides win. */
:root{--bg:#09091e;--panel:#181537;--panel2:#22204d;--line:#78669e;--text:#fff3df;
  --muted:#d2c9e6;--mint:#c2b0ff;--gold:#ffda98;--purple:#dbb8ff}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) body{
 background:radial-gradient(ellipse at 87% 2%,#443c9347,transparent 39%),
 radial-gradient(ellipse at 2% 78%,#3157a84a,transparent 48%),#09091e!important;
 color:#fff3df}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .masthead{
 background:linear-gradient(90deg,#151033b8,#17143cab);
 border-bottom:1px solid #826cabb5}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) button:not(.primary):not(.code-keyboard),
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) nav button{
 background:linear-gradient(122deg,#2a2055,#212650);color:#fff0dd;border:1px solid #826ea7}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) button:not(.primary):hover{
 background:#493176;border-color:#f6d59c}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) button.primary{
 background:linear-gradient(125deg,#ffdfaa,#f7c985);color:#24193f;border:1px solid #ffe9b7;
 box-shadow:0 6px 20px #f0c78628}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) button.primary:hover{
 background:linear-gradient(125deg,#fff0cf,#ffdda4)}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) :is(input,textarea,select){
 background:#131532;border:1px solid #9586b8;color:#fff3e3}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) :is(.card,.mission,.parent-grid .card){
 background:linear-gradient(135deg,#292049f5,#181b41f5);border-color:#726aa4;
 box-shadow:0 14px 32px #05031b45}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .mission .num{
 background:linear-gradient(135deg,#614a91,#2b478b);color:#ffe6ac}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-portal{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(1.3rem,4vw,3rem);
 padding:clamp(1.3rem,4vw,3rem);
 background:radial-gradient(ellipse at 40% 4%,#79579a38,transparent 43%),linear-gradient(130deg,#191239,#17234af4 52%,#241943);
 border:1px solid #d1abbd9c;box-shadow:0 24px 65px #050219ad,inset 0 1px 0 #efc5c635;
 border-radius:30px}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-portal h1{
 font:400 clamp(2.75rem,5.2vw,4.95rem)/1.02 Georgia,serif;letter-spacing:-.046em;color:#fff0d2;
 text-shadow:0 4px 15px #0702237d}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-portal h1 em{color:#ddbcff}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-chapter{color:#c3d3ff}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-crest{color:#ffe1a7}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-tagline{color:#fce1b4}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-panel{
 width:100%;max-width:540px;background:linear-gradient(145deg,#1b163dbd,#131b3fdd);
 border:1px solid #aa8fcc9e;box-shadow:0 15px 34px #06051d5c;
 padding:clamp(1.1rem,2.5vw,1.75rem)}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-panel h2{color:#f6dfac}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-panel .muted,
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-panel .remember{
 color:#e1d5ec;font-size:.88rem;line-height:1.6}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-panel label{color:#ffebc6}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-panel input{
 background:#0f1534;border:1px solid #ae9ace;color:#fff8ec}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-illustration{
 min-height:560px;border:2px solid #d7b590b8;border-radius:24px;
 background:linear-gradient(90deg,#110a2d22,#110d3614),
 url('/assets/approved-tree-ember-hub.jpg') center 67% / cover no-repeat!important;
 box-shadow:0 20px 35px #0008,inset 0 0 34px #10072567;overflow:hidden;position:relative}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-illustration:before{
 content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10103300 55%,#140b3cbf);
 filter:none;border-radius:0}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-illustration-caption{
 position:absolute;bottom:1.1rem;left:.9rem;right:.9rem;z-index:2;
 font:italic 1.03rem/1.45 Georgia,serif;color:#fff2d8;
 background:#201437dc;border:1px solid #d9b99d9e;border-radius:13px;padding:1rem;text-shadow:0 2px 5px #0b0820}
.owls-login-help{margin:1.2rem 0 .2rem;border:1px solid #927cb5;border-radius:13px;
 background:#211b47d9;padding:.35rem 1rem .85rem}
.owls-login-help summary{color:#ffe0ab;font-size:.98rem;font-weight:800}
.owls-login-help p{line-height:1.65;font-size:.85rem;color:#e3daef;margin:.55rem 0}
.owls-login-help button{width:100%;font-size:.88rem;margin:.6rem 0!important}
#owl-connection-result{border-left:3px solid #ebc787;padding:.55rem .8rem;background:#1a1a3a;border-radius:0 8px 8px 0}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .command-deck{
 background:linear-gradient(110deg,#1e163fe8,#232252eb);border:1px solid #af8abbbf;
 box-shadow:0 20px 58px #05031a85}
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .hero .eyebrow,
html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .deck-eyebrow{color:#c5d1ff}
@media(max-width:880px){
 html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-portal{grid-template-columns:1fr;gap:1.25rem}
 html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-illustration{min-height:315px;max-height:none}
 html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-illustration-caption{display:block;font-size:.83rem}
}
@media(max-width:520px){
 html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-portal{padding:1rem;border-radius:20px}
 html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-portal h1{font-size:clamp(2.3rem,11vw,3.5rem)}
 html:not(.owl-a11y-contrast):not(.owl-a11y-reading) .login-illustration{min-height:240px}
 .owls-login-help{padding:.3rem .85rem .7rem}
}


/* Brody's response options: checked choices + original writing.
   Accessible on touch screens, large text, VoiceOver and keyboard. */
.choice-answer-panel{border:1px solid #9787c4;border-radius:20px;margin:1.4rem 0;
 padding:clamp(1.1rem,3vw,1.7rem);background:linear-gradient(125deg,#29204f,#1b2351)}
.choice-answer-panel legend{font:400 clamp(1.3rem,3vw,1.8rem) Georgia,serif;color:#ffdfae;padding:.1rem .5rem}
.choice-answer-panel p{font-size:.9rem;color:#e1d8ed;line-height:1.7;margin:.4rem 0 1rem}
.choice-answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.choice-answer-item{display:flex;align-items:center;gap:.8rem;min-height:64px;cursor:pointer;
 background:linear-gradient(115deg,#302555,#232959);border:1px solid #8375b6;
 border-radius:14px;padding:.8rem 1rem;margin:0!important;color:#fff0dc;font-size:.87rem;line-height:1.5}
.choice-answer-item:has(input:checked){background:linear-gradient(120deg,#634a93,#394e8f);border-color:#f8d69c;
 box-shadow:0 0 0 1px #eccb9a66;color:#fff7e8}
.choice-answer-item:focus-within{outline:3px solid #ffe1a7;outline-offset:3px}
.choice-answer-item input{flex:none;width:22px!important;height:22px!important;min-height:22px!important;
 margin:0!important;accent-color:#ffe09c}
.choice-answer-item span{flex:1}
html.owl-a11y-contrast .choice-answer-panel,html.owl-a11y-reading .choice-answer-panel{background:#161333!important;border:2px solid #fff}
@media(max-width:720px){.choice-answer-options{grid-template-columns:1fr}}
