.module{max-width:1040px;padding-bottom:48px}.module-head{padding:16px 0 8px}.back-home{color:var(--dim);text-decoration:none;font-size:16px}.back-home:hover{color:var(--gold)}.module-head h1{margin:10px 0 14px}.progress-row{display:flex;align-items:center;gap:12px}.progress-row .xp-bar{flex:1 1 auto;margin-top:0;height:14px}#step-counter{font-size:10px;white-space:nowrap}.guide{display:flex;gap:12px;align-items:flex-start;border:var(--border);background:var(--bg);padding:10px 14px 12px;margin:16px 0;min-height:96px;box-shadow:inset 0 0 0 2px var(--bg),inset 0 0 0 4px var(--fg)}.guide-portrait{flex:0 0 72px;width:72px;height:72px;image-rendering:pixelated;border:2px solid var(--fg);background:var(--bg)}.guide-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.guide-text{margin:0;font-size:22px;line-height:1.25;white-space:pre-wrap;min-height:1.25em}.guide-text:before{content:"* "}.guide-more{align-self:flex-end;margin-top:8px;font-size:10px;padding:6px 10px;border-width:2px;animation:guide-more-blink .9s steps(2) infinite}.guide-more:hover,.guide-more:focus{background:var(--fg);color:var(--bg);animation:none}@keyframes guide-more-blink{50%{opacity:0}}.step-title{margin:20px 0 12px;color:var(--gold)}.prompt{margin:16px 0 8px;font-size:12px}.objectives{margin:8px 0 0;padding-left:20px}.objectives li{margin-bottom:4px}.banner{border-color:var(--gold)}.banner-text{margin:0;font-size:26px;color:var(--gold);text-align:center}.toggles{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.toggle{color:var(--fg);margin:0;display:flex;align-items:center;gap:8px}.toggle-btn{font-size:10px;padding:8px 10px;border-width:2px}.nav{display:flex;justify-content:space-between;gap:12px;margin:24px 0 8px}.nav-back{border-color:var(--dim);color:var(--dim);font-size:10px}.nav-next{margin-left:auto}.example{border:2px dashed var(--dim);padding:12px 14px;margin-bottom:16px}.example[open]{border-style:solid;border-color:var(--fg)}.example summary{color:var(--gold)}.example summary .px{font-size:11px}.example-row{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:8px 0;border-bottom:1px dashed var(--dim)}.example-row:last-of-type{border-bottom:0}.example-k{color:var(--dim);font-size:17px}.example-note{margin:12px 0 0;color:var(--gold);border-top:2px solid var(--dim);padding-top:10px}.layout{display:flex;gap:16px;align-items:flex-start}.layout-main{flex:1 1 auto;min-width:0}.rail{flex:0 0 260px;border:2px solid var(--dim);padding:12px;position:sticky;top:12px;max-height:78vh;overflow-y:auto;border-left:4px solid var(--gold)}.rail h3{font-size:10px;color:var(--dim);margin-bottom:10px}.rail-item{margin-bottom:12px}.rail-k{font-size:14px;color:var(--gold)}.rail-v{font-size:17px;color:var(--dim);white-space:pre-wrap;word-break:break-word}.timer{border-color:var(--gold);margin-bottom:16px}.timer-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.timer-head .px{font-size:11px;color:var(--gold)}.timer-clock{font-size:20px}.timer-controls{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.timer-controls button{font-size:10px}.timer.expired{border-color:var(--gold)}.timer.expired .timer-clock{color:var(--gold);animation:timer-nudge .9s steps(2) infinite}.timer.expired .timer-controls button{border-color:var(--gold);color:var(--gold)}.timer.expired .timer-controls button:hover,.timer.expired .timer-controls button:focus{background:var(--gold);color:var(--bg)}@keyframes timer-nudge{50%{opacity:.35}}.field{margin-bottom:16px}.field textarea{width:100%;line-height:1.35}.limit{text-align:right;font-size:17px;margin:-8px 0 16px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.choice{text-align:left;font-family:VT323,monospace;font-size:19px;padding:16px;cursor:pointer;white-space:normal;transition:border-color .12s steps(2),box-shadow .12s steps(2),opacity .12s steps(2)}.choice:hover,.choice:focus{background:var(--bg);border-color:var(--gold);color:var(--fg)}.choice-label{font-size:11px;color:var(--gold);margin-bottom:10px}.choice-body{margin:0;line-height:1.3}.choice.locked{cursor:default;opacity:.55}.choice.locked:hover,.choice.locked:focus{background:var(--bg);border-color:var(--fg);color:var(--fg)}.choice.correct{opacity:1;border-color:var(--gold);box-shadow:4px 4px 0 var(--gold)}.choice.correct,.choice.correct:hover,.choice.correct:focus{opacity:1;background:var(--bg);border-color:var(--gold);color:var(--fg)}.choice.correct .choice-label{color:var(--gold)}.choice.wrong{opacity:1;border-color:var(--danger);box-shadow:4px 4px 0 var(--danger)}.choice.wrong,.choice.wrong:hover,.choice.wrong:focus{opacity:1;background:var(--bg);border-color:var(--danger);color:var(--fg)}.choice.wrong .choice-label{color:var(--danger)}.branch-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}.branch{text-align:left;font-family:VT323,monospace;font-size:18px;border-width:2px;margin-bottom:0;cursor:pointer;white-space:normal;transition:border-color .12s steps(2),background .12s steps(2),color .12s steps(2)}.branch .px{font-size:10px;margin-bottom:6px}.branch p{margin:0;font-size:17px}.branch:hover,.branch:focus{background:var(--bg);border-color:var(--gold);color:var(--fg)}.branch.armed,.branch.armed:hover,.branch.armed:focus{background:var(--gold);color:var(--bg);border-color:var(--gold);box-shadow:3px 3px 0 var(--fg)}.branch.armed p,.branch.armed .dim{color:var(--bg)}.slots-box{border-color:var(--dim);margin-bottom:12px;padding:10px 14px 12px}.slots-box h3{font-size:10px;color:var(--gold);margin-bottom:8px}.slot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px 16px;margin:0;padding:0;list-style:none}.slot-list li{color:var(--dim);font-size:18px;line-height:1.25}.slot-list li:before{content:"□ ";color:var(--dim)}.check{display:flex;align-items:flex-start;gap:10px;color:var(--fg);margin:0 0 12px;cursor:pointer}.check input{flex:0 0 auto;margin-top:4px}.repairs{margin-top:18px}.repairs:not(:empty){border-top:2px dashed var(--dim);padding-top:16px}.repair{border-color:var(--gold);margin-bottom:12px;box-shadow:inset 4px 0 0 var(--gold)}.repair .px{font-size:10px;margin-bottom:6px}.repair p{margin:0}.tally{font-size:12px;margin:16px 0 12px;color:var(--dim);letter-spacing:2px}.tally.gold{color:var(--gold)}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{font-family:VT323,monospace;font-size:18px;text-align:left;padding:8px 12px;border-width:3px;border-style:dashed;border-color:var(--dim);color:var(--dim);max-width:100%;white-space:normal;cursor:pointer;box-shadow:2px 2px 0 var(--bg);transition:color 80ms steps(2),border-color 80ms steps(2),background 80ms steps(2),box-shadow 80ms steps(2)}.chip:hover,.chip:focus{background:var(--bg);color:var(--fg);border-color:var(--fg);border-style:dashed}.chip:active{box-shadow:none}.chip.kept,.chip.kept:hover,.chip.kept:focus{border-style:solid;border-color:var(--gold);color:var(--bg);background:var(--gold);box-shadow:4px 4px 0 var(--fg)}.chip.kept:active{box-shadow:1px 1px 0 var(--fg)}.review-section{border-color:var(--dim)}.review-section h3{color:var(--gold);border-bottom:2px solid var(--dim);padding-bottom:8px;margin-bottom:14px;position:sticky;top:0;background:var(--bg);z-index:1}.review-section .field:last-child{margin-bottom:0}.review-section label:before{content:"✎ ";color:var(--gold)}.review-section textarea{border-style:dashed;border-color:var(--dim);transition:border-color .12s steps(2)}.review-section textarea:hover{border-color:var(--fg)}.review-section textarea:focus{border-style:solid;border-color:var(--gold);outline:none}.before-after{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px;align-items:stretch}.ba-before{border-style:dashed;border-color:var(--dim);min-height:180px;display:flex;flex-direction:column;justify-content:center;text-align:center}.ba-after{border-color:var(--gold);box-shadow:4px 4px 0 var(--gold)}.ba-before h3,.ba-after h3{font-size:10px}.ba-before h3{color:var(--dim)}.ba-before p{font-size:22px}.story-out{margin:0;white-space:pre-wrap;font-size:21px;line-height:1.4}.deliver-row{display:flex;flex-wrap:wrap;gap:12px}.recipe{border-color:var(--gold);box-shadow:inset 4px 0 0 var(--gold)}.recipe-list{margin:10px 0 16px;padding-left:22px}.recipe-list li{margin-bottom:10px}.reflect-row{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.reflect-btn{font-size:10px;padding:8px 10px;border-width:2px}.reflect-out{margin:12px 0 0;color:var(--gold);min-height:1.3em}.cta{border-color:var(--dim)}.cta p{margin:0 0 8px}.feedback{border-color:var(--gold)}.feedback h3{margin-bottom:8px}.feedback .say{margin:0 0 14px}.fb-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}.fb-status{font-size:18px}.home-link{color:var(--gold);text-decoration:none;font-family:"Press Start 2P",monospace;font-size:10px}.home-link:hover,.home-link:focus{background:var(--gold);color:var(--bg)}.sparks{margin:0 0 16px}.spark-btn{font-size:10px;padding:8px 10px;border-width:2px}.spark-out{margin:10px 0 0;min-height:1.3em}@media(max-width:820px){.layout{flex-direction:column-reverse}.rail{flex:1 1 auto;width:100%;position:static;max-height:200px;border-left-width:4px}.example-row{grid-template-columns:1fr;gap:2px}.slot-list{grid-template-columns:1fr}.slots-box{padding:8px 12px 10px}}@media(max-width:480px){.guide{padding:8px 10px 10px;min-height:0}.guide-portrait{flex-basis:48px;width:48px;height:48px}.guide-text{font-size:20px}.module-head h1{font-size:15px}.nav{flex-direction:column-reverse}.nav button{width:100%}.choice-grid{grid-template-columns:1fr}.slot-list li{font-size:17px}.review-section h3{position:static}}@media(prefers-reduced-motion:reduce){.xp-bar .fill,.hp-fill{transition:none}.guide-more,.timer.expired .timer-clock{animation:none}.chip,.choice,.branch,.review-section textarea{transition:none}}
