.challenge-page { background: radial-gradient(circle at 1px 1px, rgba(0,164,204,.14) 1px, transparent 1.5px) 0 0 / 20px 20px, var(--paper); }
.challenge-header .brand-die { grid-template: repeat(3,1fr)/repeat(3,1fr); }
.challenge-header .brand-die i { display: block; }

.challenge-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.85fr); gap: clamp(40px,7vw,110px); align-items: center; min-height: calc(100vh - 72px); padding: clamp(64px,8vw,120px) clamp(20px,6vw,96px); overflow: hidden; }
.challenge-hero-copy { max-width: 760px; }
.challenge-hero h1 { max-width: 850px; }
.challenge-hero h1 em { color: var(--red); font-style: normal; }
.challenge-lede { max-width: 680px; font-size: clamp(1.08rem,2vw,1.35rem); }
.no-build-note { display: inline-block; margin: 24px 0 0; padding: 10px 14px; border: 2px solid var(--ink); border-radius: 12px; background: var(--yellow); box-shadow: 4px 4px 0 var(--ink); }

.river-board { position: relative; width: min(44vw,600px); aspect-ratio: .92; border: 3px solid var(--ink); border-radius: 34px; background: linear-gradient(145deg,#dff7ef,#fff 52%,#d8f3f8); box-shadow: 12px 12px 0 var(--ink); transform: rotate(1.5deg); }
.river-board::before { content:""; position:absolute; inset:22px; border:2px dashed rgba(3,37,46,.22); border-radius:24px; }
.river-path { position:absolute; inset:16% 19%; border:18px solid var(--blue); border-left-color:transparent; border-bottom-color:transparent; border-radius:42% 58% 46% 54%; transform:rotate(-28deg); box-shadow: inset 0 0 0 3px rgba(255,255,255,.45); }
.river-node { position:absolute; z-index:2; width:28px; aspect-ratio:1; border:3px solid var(--ink); border-radius:50%; background:var(--yellow); box-shadow:3px 3px 0 var(--ink); }
.node-1 { left:16%; bottom:18%; }.node-2 { left:36%; bottom:34%; }.node-3 { right:34%; top:34%; }.node-4 { right:15%; top:17%; background:var(--red); }
.salmon-token { position:absolute; z-index:3; left:43%; top:50%; display:grid; place-items:center; width:56px; aspect-ratio:1; border:3px solid var(--ink); border-radius:50%; color:var(--cream); background:var(--green); box-shadow:5px 5px 0 var(--ink); font-size:1.65rem; transform:rotate(33deg); }
.river-label { position:absolute; z-index:4; padding:5px 8px; border:1.5px solid var(--ink); border-radius:999px; background:var(--cream); font-size:.68rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.river-label-start { left:7%; bottom:7%; }.river-label-columbia { left:30%; top:44%; }.river-label-home { right:5%; top:6%; background:var(--yellow); }
.river-card { position:absolute; z-index:5; width:116px; padding:12px; border:2px solid var(--ink); border-radius:12px; background:var(--cream); box-shadow:4px 4px 0 var(--ink); transform:rotate(-4deg); }
.river-card strong,.river-card small { display:block; }.river-card strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }.river-card small { margin-top:4px; font-size:.67rem; }
.card-flow { left:-7%; top:15%; background:var(--yellow); }.card-energy { right:-8%; bottom:29%; background:var(--red); transform:rotate(5deg); }.card-time { left:8%; bottom:-3%; background:var(--cream); transform:rotate(2deg); }

.challenge-brief,.standards-section,.research-section,.design-section,.pitch-section,.assessment-section { padding:clamp(72px,9vw,132px) clamp(20px,7vw,110px); }
.challenge-brief { color:var(--cream); background:var(--ink); border-block:3px solid var(--ink); }
.challenge-brief>div:first-child,.standards-heading,.research-heading,.design-intro,.pitch-heading,.assessment-section>div:first-child { max-width:1250px; margin-inline:auto; }
.challenge-brief h2,.standards-heading h2,.research-heading h2,.design-intro h2,.pitch-heading h2,.assessment-section h2 { margin-bottom:18px; font-size:clamp(2.8rem,6vw,5.4rem); line-height:.94; letter-spacing:-.05em; }
.challenge-brief>div:first-child>p:last-child { max-width:760px; font-size:1.08rem; }
.brief-facts { display:grid; grid-template-columns:repeat(4,1fr); max-width:1250px; margin:48px auto 0; border:2px solid rgba(255,255,255,.55); border-radius:18px; overflow:hidden; }
.brief-facts article { padding:20px; }.brief-facts article+article { border-left:1px solid rgba(255,255,255,.3); }
.brief-facts span,.brief-facts strong,.brief-facts small { display:block; }.brief-facts span { color:var(--yellow); font-size:.7rem; font-weight:950; text-transform:uppercase; letter-spacing:.1em; }.brief-facts strong { margin:7px 0 3px; font-size:1.16rem; }.brief-facts small { color:rgba(255,255,255,.72); }
.constraint-strip { display:flex; flex-wrap:wrap; gap:9px; align-items:center; max-width:1250px; margin:22px auto 0; padding:18px; border:3px solid var(--ink); border-radius:16px; color:var(--ink); background:var(--yellow); box-shadow:7px 7px 0 var(--red); }
.constraint-strip strong { margin-right:8px; }.constraint-strip span { padding:7px 10px; border:1.5px solid var(--ink); border-radius:999px; background:var(--cream); font-size:.77rem; font-weight:850; }
.driving-question { max-width:1250px; margin:36px auto 0; padding:clamp(22px,4vw,36px); border:3px solid var(--cream); border-radius:20px; color:var(--ink); background:var(--blue); box-shadow:8px 8px 0 var(--red); }
.driving-question span,.driving-question strong { display:block; }.driving-question span { margin-bottom:9px; font-size:.7rem; font-weight:950; letter-spacing:.11em; text-transform:uppercase; }.driving-question strong { max-width:1000px; font-size:clamp(1.55rem,3vw,2.75rem); line-height:1.05; }.driving-question p { max-width:900px; margin:14px 0 0; }

.standards-section { background:var(--yellow); border-bottom:3px solid var(--ink); }
.standards-heading { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(30px,6vw,90px); align-items:end; margin-bottom:46px; }
.standards-heading>p { margin:0; font-size:1.04rem; }
.standards-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:1250px; margin:0 auto; }
.standards-panel { overflow:hidden; border:3px solid var(--ink); border-radius:20px; background:var(--cream); box-shadow:7px 7px 0 var(--ink); }
.standards-panel-head { padding:20px 22px; border-bottom:3px solid var(--ink); background:var(--blue); }
.ela-panel .standards-panel-head { background:var(--red); }
.standards-panel-head span,.standards-panel-head strong { display:block; }
.standards-panel-head span { margin-bottom:5px; font-size:.68rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }
.standards-panel-head strong { font-size:1.25rem; }
.standards-panel ul { margin:0; padding:0; list-style:none; }
.standards-panel li { display:grid; grid-template-columns:150px 1fr; gap:16px; padding:18px 22px; }
.standards-panel li+li { border-top:1.5px solid var(--ink); }
.standards-panel b { font-size:.82rem; }.standards-panel li span { font-size:.86rem; }
.teacher-pathway { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1250px; margin:34px auto 0; }
.teacher-pathway div { padding:20px; border:2.5px solid var(--ink); border-radius:16px; background:var(--paper); }
.teacher-pathway span,.teacher-pathway strong { display:block; }.teacher-pathway span { font-size:.68rem; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }.teacher-pathway strong { margin:5px 0 8px; font-size:1.08rem; }.teacher-pathway p { margin:0; font-size:.84rem; }
.standards-note { max-width:1250px; margin:24px auto 0; font-size:.78rem; }

.research-section { background:var(--paper-deep); border-bottom:3px solid var(--ink); }
.research-heading,.pitch-heading { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(30px,6vw,90px); align-items:end; margin-bottom:50px; }
.research-heading>p,.pitch-heading>p { margin:0; font-size:1.04rem; }
.research-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:1250px; margin:0 auto; }
.research-grid>a { min-height:280px; padding:22px; border:3px solid var(--ink); border-radius:18px; background:var(--cream); box-shadow:5px 5px 0 var(--ink); text-decoration:none; transition:transform .18s ease; }
.research-grid>a:hover { transform:translateY(-5px); }.research-grid>a:nth-child(2){background:var(--yellow)}.research-grid>a:nth-child(3){color:var(--cream);background:var(--green)}.research-grid>a:nth-child(4){background:var(--red)}
.research-grid span,.research-grid strong,.research-grid small { display:block; }.research-grid span { margin-bottom:25px; font-size:.68rem; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }.research-grid strong { font-size:1.35rem; line-height:1.1; }.research-grid p { margin:12px 0 24px; font-size:.88rem; }.research-grid small { margin-top:auto; font-weight:900; }
.mechanic-research { max-width:1250px; margin:28px auto 0; border:3px solid var(--ink); border-radius:18px; overflow:hidden; background:var(--cream); box-shadow:6px 6px 0 var(--blue); }
.mechanic-research summary { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:18px 20px; list-style:none; cursor:pointer; background:var(--yellow); }.mechanic-research summary::-webkit-details-marker{display:none}.mechanic-research summary span,.mechanic-research summary strong,.mechanic-research summary small{display:block}.mechanic-research summary i{display:grid;place-items:center;width:32px;aspect-ratio:1;border:2px solid var(--ink);border-radius:50%;background:var(--cream);font:normal 950 1.2rem/1 system-ui}.mechanic-research[open] summary i{transform:rotate(45deg)}
.mechanic-research>div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:14px; }.mechanic-research article { padding:18px; border:2px solid var(--ink); border-radius:13px; background:var(--paper); }.mechanic-research p{margin:7px 0 0}

.design-section { background:var(--paper); }
.design-intro { margin-bottom:54px; }.design-intro>p:last-child { max-width:720px; font-size:1.06rem; }
.challenge-workspace { display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; align-items:start; max-width:1250px; margin:0 auto; }
.progress-panel { position:sticky; top:94px; padding:20px; border:3px solid var(--ink); border-radius:18px; color:var(--cream); background:var(--ink); box-shadow:7px 7px 0 var(--blue); }
.progress-head { display:flex; justify-content:space-between; gap:12px; align-items:center; }.progress-head span { font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.09em; }.progress-head strong{color:var(--yellow);font-size:1.35rem}
.progress-track { height:12px; margin:13px 0 18px; border:1.5px solid var(--cream); border-radius:999px; overflow:hidden; }.progress-track span { display:block; width:0; height:100%; background:var(--yellow); transition:width .2s ease; }
.progress-panel ol { display:grid; gap:7px; margin:0; padding:0; list-style:none; }.progress-panel a { display:flex; gap:9px; align-items:center; padding:6px 8px; border-radius:9px; text-decoration:none; font-size:.8rem; font-weight:800; }.progress-panel a:hover{background:rgba(255,255,255,.1)}.progress-panel a span{display:grid;place-items:center;width:25px;aspect-ratio:1;border:1.5px solid var(--cream);border-radius:50%;font-size:.68rem}.progress-panel li.is-complete a span{color:var(--ink);background:var(--yellow);border-color:var(--yellow)}
.progress-panel>p { margin:18px 0 0; padding-top:14px; border-top:1px solid rgba(255,255,255,.3); color:rgba(255,255,255,.7); font-size:.7rem; }
.challenge-form { display:grid; gap:28px; min-width:0; }
.design-round { display:grid; grid-template-columns:90px 1fr; scroll-margin-top:94px; }
.round-marker { align-self:start; display:grid; place-items:center; width:76px; aspect-ratio:.82; border:3px solid var(--ink); border-radius:17px; background:var(--yellow); box-shadow:5px 5px 0 var(--ink); transform:rotate(-4deg); }.round-marker span{font-size:2rem;font-weight:950;line-height:1}.round-marker small{font-size:.62rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.round-a .round-marker{background:var(--blue)}.round-m .round-marker{color:var(--cream);background:var(--green)}.round-e .round-marker{color:var(--cream);background:var(--purple)}.round-power .round-marker{background:var(--red)}.round-s .round-marker{background:var(--yellow)}
.round-content { min-width:0; padding:clamp(26px,5vw,48px); border:3px solid var(--ink); border-radius:22px; background:var(--cream); box-shadow:7px 7px 0 rgba(3,37,46,.18); }
.round-kicker { margin-bottom:7px; font-size:.7rem; font-weight:950; text-transform:uppercase; letter-spacing:.12em; }.round-content h3 { margin-bottom:10px; font-size:clamp(1.9rem,4vw,3.5rem); line-height:1; letter-spacing:-.035em; }.round-prompt{max-width:760px}
.standard-tags { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 18px; padding:0; list-style:none; }.standard-tags li { padding:6px 9px; border:1.5px solid var(--ink); border-radius:999px; background:var(--yellow); font-size:.68rem; font-weight:900; }
.round-content label,.choice-cards legend { display:block; margin:20px 0 7px; font-size:.78rem; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.round-content input[type="text"],.round-content textarea,.round-content select { width:100%; padding:13px 14px; border:2px solid var(--ink); border-radius:11px; color:var(--ink); background:var(--paper); font:inherit; font-size:.95rem; resize:vertical; }.round-content input:focus,.round-content textarea:focus,.round-content select:focus{background:var(--cream)}
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.field-grid label{min-height:38px}
.round-tip,.safety-note { display:grid; grid-template-columns:.28fr 1fr; gap:18px; align-items:center; margin-top:20px; padding:15px 17px; border:2px solid var(--ink); border-radius:13px; background:var(--yellow); }.round-tip p,.safety-note p{margin:0;font-size:.86rem}.safety-note{background:var(--red)}
.choice-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0 0; padding:0; border:0; }.choice-cards legend{grid-column:1/-1;margin:0}.choice-cards label{position:relative;margin:0}.choice-cards input{position:absolute;opacity:0;pointer-events:none}.choice-cards label>span{display:block;min-height:135px;padding:17px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);cursor:pointer}.choice-cards strong,.choice-cards small{display:block}.choice-cards strong{font-size:1rem}.choice-cards small{margin-top:7px;font-size:.76rem;font-weight:600;text-transform:none;letter-spacing:0}.choice-cards input:checked+span{background:var(--yellow);box-shadow:4px 4px 0 var(--ink)}.choice-cards input:focus-visible+span{outline:4px solid var(--yellow);outline-offset:3px}
.power-fields { display:grid; gap:10px; margin-top:20px; }.power-fields label { display:grid; grid-template-columns:.75fr 1.25fr; gap:14px; align-items:center; margin:0; padding:12px; border:2px solid var(--ink); border-radius:12px; background:var(--paper); text-transform:none; letter-spacing:0; }.power-fields label span{font-size:.85rem}.power-fields b{display:inline-grid;place-items:center;width:27px;aspect-ratio:1;margin-right:6px;border:1.5px solid var(--ink);border-radius:50%;background:var(--yellow)}.power-fields input[type="text"]{background:var(--cream)}

.pitch-section { color:var(--cream); background:var(--ink); border-block:3px solid var(--ink); }
.pitch-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:28px; max-width:1250px; margin:0 auto; }
.pitch-cards { display:grid; gap:9px; margin:0; padding:0; list-style:none; }.pitch-cards li{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;padding:15px;border:1.5px solid rgba(255,255,255,.4);border-radius:13px}.pitch-cards li>span{display:grid;place-items:center;width:38px;aspect-ratio:1;border:1.5px solid var(--cream);border-radius:50%;color:var(--ink);background:var(--yellow);font-weight:950}.pitch-cards strong{display:block;margin-bottom:3px}.pitch-cards p{margin:0;color:rgba(255,255,255,.72);font-size:.8rem}
.pitch-output-wrap { min-width:0; overflow:hidden; border:3px solid var(--cream); border-radius:18px; background:var(--cream); color:var(--ink); box-shadow:8px 8px 0 var(--yellow); }.pitch-output-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border-bottom:3px solid var(--ink);background:var(--red)}.pitch-output-head span,.pitch-output-head strong{display:block}.pitch-output-head span{font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.pitch-output-head strong{font-size:1.2rem}.pitch-output{min-height:620px;max-height:760px;margin:0;padding:22px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:var(--ink);background:var(--cream);font:500 .86rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.pitch-output-wrap .copy-status{min-height:32px;margin:0;padding:7px 18px 12px;font-size:.78rem;font-weight:850}

.assessment-section { background:var(--red); }.assessment-section>div:first-child{margin-bottom:46px}.assessment-section>div:first-child p{margin-bottom:12px}.assessment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;max-width:1250px;margin:0 auto}.assessment-grid article{min-height:230px;padding:20px;border:3px solid var(--ink);border-radius:17px;background:var(--cream);box-shadow:5px 5px 0 var(--ink)}.assessment-grid span{display:block;margin-bottom:35px;font-size:.72rem;font-weight:950}.assessment-grid strong{display:block;font-size:1.13rem}.assessment-grid p{margin:8px 0 0;font-size:.86rem}
.challenge-footer { display:flex;justify-content:space-between;gap:28px;align-items:center;padding:34px clamp(20px,6vw,90px);color:var(--cream);background:var(--ink)}.challenge-footer p{margin:4px 0 0;color:rgba(255,255,255,.7)}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-weight:850}

@media (max-width:1050px){.challenge-hero{grid-template-columns:1fr}.river-board{width:min(86vw,600px);margin:20px auto}.research-grid,.assessment-grid{grid-template-columns:repeat(2,1fr)}.standards-columns{grid-template-columns:1fr}.mechanic-research>div{grid-template-columns:repeat(2,1fr)}.challenge-workspace{grid-template-columns:1fr}.progress-panel{position:relative;top:auto}.progress-panel ol{grid-template-columns:repeat(4,1fr)}.progress-panel a{align-items:flex-start;flex-direction:column}.design-round{grid-template-columns:72px 1fr}.round-marker{width:60px}.pitch-layout{grid-template-columns:1fr}.pitch-output{min-height:500px}}
@media (max-width:760px){.challenge-header nav a{display:none}.challenge-header nav a[href="index.html"]{display:inline-flex}.standards-heading,.research-heading,.pitch-heading{grid-template-columns:1fr}.teacher-pathway{grid-template-columns:1fr}.standards-panel li{grid-template-columns:1fr;gap:5px}.brief-facts{grid-template-columns:1fr 1fr}.brief-facts article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.3)}.brief-facts article:nth-child(4){border-top:1px solid rgba(255,255,255,.3)}.research-grid,.assessment-grid{grid-template-columns:1fr}.mechanic-research>div{grid-template-columns:1fr}.progress-panel ol{grid-template-columns:repeat(2,1fr)}.design-round{grid-template-columns:48px 1fr}.round-marker{position:sticky;top:80px;width:42px;border-radius:12px;box-shadow:3px 3px 0 var(--ink)}.round-marker span{font-size:1.3rem}.round-marker small{display:none}.round-content{padding:24px 18px}.field-grid,.choice-cards{grid-template-columns:1fr}.choice-cards label>span{min-height:auto}.power-fields label{grid-template-columns:1fr}.round-tip,.safety-note{grid-template-columns:1fr}.pitch-output-head{align-items:flex-start;flex-direction:column}.challenge-footer{align-items:flex-start;flex-direction:column}}
@media (max-width:480px){.brief-facts{grid-template-columns:1fr}.brief-facts article+article{border-top:1px solid rgba(255,255,255,.3);border-left:0}.progress-panel ol{grid-template-columns:1fr}.progress-panel a{align-items:center;flex-direction:row}.river-board{width:92vw}.river-card{width:94px}.card-flow{left:-2%}.card-energy{right:-2%}}
@media print{.site-header,.challenge-hero,.research-section,.progress-panel,.challenge-footer,.hero-actions,.pitch-output-head button{display:none!important}.challenge-brief,.standards-section,.design-section,.pitch-section,.assessment-section{padding:24px;color:#000;background:#fff}.challenge-workspace,.pitch-layout{display:block}.standards-columns,.teacher-pathway{grid-template-columns:1fr}.standards-panel{box-shadow:none}.design-round{break-inside:avoid;margin-bottom:18px}.round-content,.pitch-output-wrap{box-shadow:none}.pitch-output{max-height:none;min-height:auto}.assessment-grid{grid-template-columns:repeat(2,1fr)}}
