:root{--dodo-orange:#ff6900;--dodo-orange-dark:#993f00;--dodo-red:#ff6900;--dodo-red-dark:#993f00;--dodo-cream:#fff7e6;--dodo-charcoal:#1a1a1a;--dodo-yellow:#ffd23f;--dodo-green:#3fa34d}*{box-sizing:border-box}button{font-family:inherit}button:focus-visible{outline:2px solid var(--dodo-yellow);outline-offset:2px}.bootScreen{background:radial-gradient(circle,#2a1a0a,#0d0805 80%);flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;display:flex}.bootBrand{letter-spacing:6px;color:var(--dodo-red);text-shadow:4px 4px 0 var(--dodo-red-dark), 8px 8px 0 var(--dodo-charcoal);font-size:84px}.bootStatus{color:var(--dodo-cream);opacity:.8;font-size:24px}.introScreen{background:radial-gradient(circle at 30% 30%,#ff690047,#0000 60%),radial-gradient(circle at 70% 80%,#ffd23f26,#0000 60%),#1a1208;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:16px 24px;display:flex;overflow:auto}.introTitle{text-align:center;-webkit-user-select:none;user-select:none;margin-bottom:16px}.introCanvas{image-rendering:pixelated;border:4px solid var(--dodo-charcoal);box-shadow:0 0 0 4px var(--dodo-cream), 0 0 0 8px var(--dodo-charcoal), 8px 8px 0 8px #0006;max-width:100%;margin:0 auto 16px;display:block}.introBrand{letter-spacing:6px;color:var(--dodo-red);text-shadow:3px 3px 0 var(--dodo-red-dark), 6px 6px 0 var(--dodo-charcoal);font-size:64px}.introSub{color:var(--dodo-yellow);letter-spacing:3px;text-transform:uppercase;margin-top:8px;font-size:18px}.dialogueWrap{justify-content:center;width:100%;max-width:720px;display:flex}.dialogueBox{background:var(--dodo-cream);width:100%;color:var(--dodo-charcoal);border:4px solid var(--dodo-charcoal);box-shadow:0 0 0 4px var(--dodo-cream), 0 0 0 8px var(--dodo-charcoal), 8px 8px 0 8px #0006;padding:24px 30px 20px;font-size:30px;line-height:1.5}.dialogueSpeaker{letter-spacing:2px;margin-bottom:12px;font-size:24px;font-weight:700}.dialogueText{min-height:120px}.dialogueBoxCompact{padding:14px 22px}.dialogueBoxCompact .dialogueActions{margin-top:6px}.dialogueActions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.btn{border:3px solid var(--dodo-charcoal);cursor:pointer;background:var(--dodo-cream);color:var(--dodo-charcoal);letter-spacing:1px;box-shadow:4px 4px 0 0 var(--dodo-charcoal);padding:10px 20px;font-family:inherit;font-size:21px;transition:transform 50ms,box-shadow 50ms}.btn:hover{background:#ffe9c3}.btn:active{box-shadow:2px 2px 0 0 var(--dodo-charcoal);transform:translate(2px,2px)}.btnPrimary{background:var(--dodo-orange);color:var(--dodo-cream)}.btnPrimary:hover{background:#ff8a3a}.btnGhost{color:var(--dodo-charcoal);border-color:var(--dodo-charcoal);background:0 0;box-shadow:4px 4px #0006}.btnGhost:hover{background:#0000000f}.playScreen{background:var(--dodo-charcoal);width:100%;height:100%;position:relative}.canvasWrap{width:100%;height:100%}.gameCanvas{cursor:crosshair;width:100%;height:100%;image-rendering:pixelated;display:block}.hudTop{pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:12px;left:12px;right:12px}.hudBadge{background:var(--dodo-cream);color:var(--dodo-charcoal);border:3px solid var(--dodo-charcoal);box-shadow:4px 4px 0 0 var(--dodo-charcoal);pointer-events:auto;align-items:center;gap:14px;padding:14px 22px;font-size:28px;display:flex}.hudHint{color:var(--dodo-cream);border:2px solid var(--dodo-cream);letter-spacing:.5px;background:#0009;padding:12px 18px;font-size:22px}.hudPrompt{background:var(--dodo-cream);color:var(--dodo-charcoal);border:3px solid var(--dodo-charcoal);box-shadow:4px 4px 0 0 var(--dodo-charcoal);align-items:center;gap:14px;padding:10px 22px;font-size:24px;animation:1.2s ease-in-out infinite hudPulse;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes hudPulse{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-3px)}}.hudPromptKey{background:var(--dodo-yellow);border:2px solid var(--dodo-charcoal);justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-weight:700;display:inline-flex}.modalScrim{z-index:50;background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modalCard{background:var(--dodo-cream);width:min(900px,100%);max-height:90vh;color:var(--dodo-charcoal);border:4px solid var(--dodo-charcoal);box-shadow:0 0 0 4px var(--dodo-cream), 0 0 0 8px var(--dodo-charcoal), 12px 12px 0 8px #00000080;overflow:auto}.modalHeader{background:var(--dodo-red);color:var(--dodo-cream);border-bottom:4px solid var(--dodo-charcoal);align-items:center;gap:12px;padding:12px 16px;display:flex}.modalTag{letter-spacing:2px;background:var(--dodo-charcoal);padding:3px 10px;font-size:16px}.modalTitle{letter-spacing:1px;flex:1;font-size:28px}.modalClose{background:var(--dodo-yellow);color:var(--dodo-charcoal);border:3px solid var(--dodo-charcoal);cursor:pointer;width:44px;height:44px;font-size:28px;font-weight:700}.modalIntro{border-bottom:2px dashed var(--dodo-charcoal);white-space:pre-wrap;background:#fffaee;padding:16px 24px;font-size:24px;line-height:1.5}.modalStepIntroMuted{opacity:.78;margin-bottom:10px;font-size:.9em}.modalGrid{grid-template-columns:minmax(360px,1fr) minmax(320px,1fr);gap:0;display:grid}@media (width<=760px){.modalGrid{grid-template-columns:1fr}}.modalChartSlot{border-right:2px dashed var(--dodo-charcoal);background:#fffaee;justify-content:center;align-items:center;padding:18px;display:flex}.modalQuizSlot{background:var(--dodo-cream);padding:18px}.infoFigure{flex-direction:column;align-items:center;gap:8px;width:100%;margin:0;display:flex}.infoImage{max-width:100%;image-rendering:pixelated;border:3px solid var(--dodo-charcoal)}.infoCaption{text-align:center;color:var(--dodo-charcoal);opacity:.8;letter-spacing:.5px;font-size:17px}.pixelChart{border:3px solid var(--dodo-charcoal);background:var(--dodo-cream);image-rendering:pixelated;max-width:100%}.quizPanel{flex-direction:column;gap:12px;display:flex}.quizQuestion{font-size:28px;font-weight:700;line-height:1.4}.quizOptions{flex-direction:column;gap:8px;display:flex}.quizOption{background:var(--dodo-cream);border:3px solid var(--dodo-charcoal);text-align:left;cursor:pointer;color:var(--dodo-charcoal);box-shadow:3px 3px 0 0 var(--dodo-charcoal);align-items:center;gap:14px;padding:14px 18px;font-family:inherit;font-size:24px;transition:transform 50ms;display:flex}.quizOption:hover:not(:disabled){background:#ffe9c3}.quizOption:active:not(:disabled){box-shadow:1px 1px 0 0 var(--dodo-charcoal);transform:translate(2px,2px)}.quizOption:disabled{cursor:default}.quizOptionLetter{background:var(--dodo-charcoal);width:40px;height:40px;color:var(--dodo-cream);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:inline-flex}.quizOptionCorrect{border-color:var(--dodo-green);background:#d6f5d6}.quizOptionCorrect .quizOptionLetter{background:var(--dodo-green)}.quizOptionWrong{border-color:var(--dodo-red);background:#ffd6d3}.quizOptionWrong .quizOptionLetter{background:var(--dodo-red)}.quizOptionDim{opacity:.55}.quizFeedback{border:3px solid var(--dodo-charcoal);flex-direction:column;gap:10px;padding:12px;display:flex}.quizFeedback.good{background:#d6f5d6}.quizFeedback.bad{background:#ffd6d3}.quizFeedbackTitle{font-size:26px;font-weight:700}.quizFeedbackText{font-size:22px;line-height:1.5}.disclaimerScreen{background:radial-gradient(circle,#ff69002e,#0000 60%),#1a1208;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:24px;display:flex;overflow-y:auto}.disclaimerCard{background:var(--dodo-cream);width:min(820px,96vw);color:var(--dodo-charcoal);border:4px solid var(--dodo-charcoal);box-shadow:0 0 0 4px var(--dodo-cream), 0 0 0 8px var(--dodo-charcoal), 12px 12px 0 8px #00000080;flex-direction:column;align-items:center;gap:clamp(12px,2vh,24px);margin:auto;padding:clamp(20px,3vw,40px);display:flex}.disclaimerGreeting{letter-spacing:.04em;color:var(--dodo-red);text-align:center;font-size:clamp(32px,4.5vw,72px)}.disclaimerBody{text-align:center;max-width:72ch;font-size:clamp(22px,2.6vw,46px);line-height:1.5}.disclaimerWish{text-align:center;color:var(--dodo-orange);font-size:clamp(32px,4.5vw,72px)}.disclaimerCard .btn{letter-spacing:.04em;padding:12px 32px;font-size:clamp(20px,2.4vw,42px)}.endingScreen{background:radial-gradient(circle,#ff690033,#0000 60%),#1a1208;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:24px;display:flex;overflow-y:auto}.endingCard{background:var(--dodo-cream);width:min(980px,96vw);color:var(--dodo-charcoal);border:4px solid var(--dodo-charcoal);box-shadow:0 0 0 4px var(--dodo-cream), 0 0 0 8px var(--dodo-charcoal), 12px 12px 0 8px #00000080;flex-direction:column;gap:clamp(14px,2vh,28px);margin:auto;padding:clamp(20px,3vw,40px);display:flex}.endingProgress{letter-spacing:2px;color:var(--dodo-charcoal);opacity:.6;align-self:flex-end;font-size:16px}.endingTitle{letter-spacing:.06em;color:var(--dodo-red);text-align:center;font-size:clamp(48px,7vw,112px);line-height:1.05}.endingScore{text-align:center;font-size:clamp(26px,4vw,64px);line-height:1.3}.endingChart{flex-direction:column;align-items:center;gap:6px;display:flex}.endingCaption{opacity:.75;letter-spacing:.5px;font-size:17px}.endingBeat{font-size:22px;line-height:1.5}.endingSpeaker{color:var(--dodo-red);margin-bottom:.35em;font-size:1.08em;font-weight:700}.endingOutro{flex-direction:column;gap:1em;font-size:clamp(18px,2.2vw,42px);line-height:1.25;display:flex}.endingOutro p{margin:0}.endingVerdict{border:4px dashed var(--dodo-red);background:#fffaee;padding:clamp(14px,2vw,28px);font-size:clamp(18px,2.2vw,42px);line-height:1.25}.endingCredits{text-align:center;color:var(--dodo-charcoal);font-size:clamp(20px,2.4vw,40px);line-height:1.45}.endingCreditsNames{opacity:.92;flex-direction:column;gap:.35em;margin-bottom:.55em;display:flex}.endingCreditsRow{justify-content:center;gap:1.2em;display:flex}.endingCreditsTeam{letter-spacing:.04em;color:var(--dodo-red);font-size:1.12em;font-weight:700}.endingActions{justify-content:center;display:flex}.endingActions .btn{letter-spacing:.04em;padding:16px 32px;font-size:clamp(26px,3.2vw,52px)}.endingAttributions{opacity:.7;text-align:center;font-size:clamp(20px,2.4vw,40px);line-height:1.5}.endingAttributions a{color:var(--dodo-orange);text-underline-offset:.15em;text-decoration:underline}.endingAttributions a:hover{color:var(--dodo-red)}.endingFooter{opacity:.5;text-align:center;letter-spacing:.06em;font-size:clamp(15px,2vw,28px)}.endingText{white-space:pre-wrap}
