.games-page [hidden]{display:none!important}
.educational-game-picker{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.educational-game-picker button{border:1px solid var(--line);border-radius:8px;padding:12px 20px;background:transparent;color:var(--text);font:inherit;cursor:pointer}
.educational-game-picker button[aria-pressed="true"]{color:var(--cyan);border-color:var(--cyan);background:rgba(85,216,242,.08)}
.crescent-game{font-size:1rem;line-height:1.7}
.crescent-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.crescent-heading h3{font-size:1.5rem;margin:0}
.crescent-progress{display:grid;grid-template-columns:auto auto;gap:4px 16px;font-size:.875rem}
.crescent-progress strong{color:var(--green)}
.crescent-progress progress{grid-column:1/-1;width:100%;height:6px;accent-color:var(--green)}
.crescent-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:24px;align-items:start}
.crescent-observatory,.crescent-controls{min-width:0}
.crescent-scene-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px;color:var(--muted);font-size:.875rem}
.crescent-scene-meta time{color:var(--text)}
#crescentCanvas{display:block;width:100%;height:auto;aspect-ratio:16/10;border:1px solid var(--line);border-radius:8px;background:#234c62}
.crescent-caption{font-size:.875rem;color:var(--muted);margin:8px 0 16px}
.crescent-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0}
.crescent-readouts div{border-top:1px solid var(--line);padding-top:8px}
.crescent-readouts dt{font-size:.875rem;color:var(--muted)}
.crescent-readouts dd{margin:0;color:var(--cyan);font-weight:700;font-size:1.125rem}
.crescent-controls{display:flex;flex-direction:column;gap:8px}
.crescent-controls label{font-size:.875rem;color:var(--muted)}
.crescent-controls select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--text);background:var(--panel,#101b29);font:inherit}
.crescent-controls select option{background:var(--panel,#101b29);color:var(--text)}
.crescent-controls output{display:block;color:var(--cyan);font-weight:700;font-size:1rem}
.crescent-controls input[type="range"]{width:100%;min-width:0;margin:0 0 6px;min-height:32px;accent-color:var(--cyan)}
.crescent-brief{margin:4px 0 8px;min-height:3.4em}
.crescent-controls button{min-height:44px;font:inherit;white-space:normal;line-height:1.5;border-radius:8px}
.crescent-controls>.primary-button{margin-top:8px}
.crescent-secondary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.crescent-secondary button{background:transparent;border:0;padding:8px 4px;color:var(--cyan);cursor:pointer}
.crescent-secondary button:disabled{color:var(--muted);opacity:.55;cursor:default}
.crescent-feedback{padding:14px 16px;border-inline-start:3px solid var(--cyan);background:rgba(85,216,242,.05);margin:20px 0;min-height:3.4em}
.crescent-feedback[data-kind="success"]{border-color:var(--green);background:rgba(104,214,173,.08)}
.crescent-feedback[data-kind="retry"]{border-color:var(--gold)}
.crescent-science{border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:.875rem}
.crescent-science summary{cursor:pointer;color:var(--text);min-height:40px}
.crescent-science p{margin:10px 0}
.crescent-science a{display:inline-block;margin-inline-end:20px;padding:8px 0;color:var(--cyan)}
.educational-game-picker button:focus-visible,.crescent-game :is(button,select,input,summary):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
#crescentError{padding:16px;border:1px solid var(--line);border-radius:8px}
@media(max-width:1050px){.crescent-layout{grid-template-columns:minmax(0,1fr)}.crescent-controls{max-width:none}.crescent-brief{min-height:0}}
@media(max-width:540px){.crescent-heading{align-items:flex-start;flex-wrap:wrap}.crescent-progress{min-width:140px}.educational-game-picker button{flex:1;padding:10px;font-size:.875rem}#crescentCanvas{aspect-ratio:1/1}.crescent-readouts{gap:12px}.crescent-readouts dd{font-size:1rem}}
