.gh-app{--gh-bg: #fff;--gh-surface: #f3f5f8;--gh-text: #101a38;--gh-muted: #52627a;--gh-border: #cbd3df;--gh-editor: #102039;color-scheme:light;background:var(--gh-bg);color:var(--gh-text);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border:1px solid var(--gh-border);border-radius:12px;overflow:clip;max-width:1440px;margin:24px auto;text-align:left}.gh-app[data-mode=dark]{--gh-bg: #18181b;--gh-surface: #242427;--gh-text: #f4f4f5;--gh-muted: #c4c4cc;--gh-border: #5b5b63;--gh-editor: #111113;color-scheme:dark}.gh-app *,.gh-modal *{box-sizing:border-box}.gh-app h1,.gh-app h2,.gh-app h3,.gh-app p{margin:0 0 16px;color:inherit;font-family:inherit}.gh-app h1{font-size:clamp(28px,3vw,42px);line-height:1.12;font-weight:800;letter-spacing:-1.5px;margin-bottom:4px}.gh-app h2{font-size:clamp(23px,2.1vw,32px);line-height:1.25;font-weight:750;letter-spacing:-.7px}.gh-app h3{font-size:18px;line-height:1.3;font-weight:700}.gh-app button,.gh-app input,.gh-app textarea,.gh-app select{font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none}.gh-app button{cursor:pointer;color:var(--gh-text);background:var(--gh-bg);border:1px solid var(--gh-border);padding:10px 15px;border-radius:5px;line-height:1.4;font-weight:600;min-height:44px}.gh-app button:hover{background:var(--gh-surface);border-color:var(--gh-accent)}.gh-app button:disabled{opacity:.6;cursor:default}.gh-app :focus-visible{outline:3px solid var(--gh-accent);outline-offset:3px}.gh-app input,.gh-app textarea,.gh-app select{background:var(--gh-bg);color:var(--gh-text);border:1px solid var(--gh-border);border-radius:5px;padding:10px 12px;max-width:100%;min-height:44px}.gh-app input::placeholder,.gh-app textarea::placeholder{color:var(--gh-muted);opacity:1}.gh-app label{display:flex;flex-direction:column;gap:8px;font-weight:600}.gh-app textarea{resize:vertical;min-height:110px;width:100%}.gh-app .gh-primary{color:var(--gh-on-accent);background:var(--gh-accent);border-color:var(--gh-accent)}.gh-app .gh-primary:hover{filter:brightness(.94)}.gh-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px 24px}.gh-header>div:first-child>p{color:var(--gh-muted);font-size:22px;font-weight:650;margin:0}.gh-utilities{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;max-width:830px}.gh-utilities button{font-size:13px;padding:10px 11px}.gh-utilities label{font-size:12px;gap:3px}.gh-utilities select{font-size:13px;padding:7px;min-height:40px}.gh-sections,.gh-missions{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--gh-border);border-bottom:1px solid var(--gh-border);padding:10px 28px}.gh-app nav button{border:0;border-radius:0;background:transparent;font-size:15px;padding:10px 8px;font-weight:500}.gh-app nav button[aria-current]{color:var(--gh-accent);box-shadow:0 3px 0 var(--gh-accent);font-weight:700}.gh-missions{border-top:0;gap:24px}.gh-number{display:inline-grid;place-content:center;width:30px;height:30px;border-radius:50%;margin-right:10px;background:var(--gh-surface)}.gh-app [aria-current] .gh-number{background:var(--gh-accent);color:var(--gh-on-accent)}.gh-workspace{display:grid;grid-template-columns:1.03fr 1fr}.gh-investigation,.gh-preview{padding:30px;min-width:0}.gh-investigation{border-right:1px solid var(--gh-border)}.gh-brief{font-size:17px;min-height:52px}.gh-concepts{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;margin-bottom:10px;font-size:14px}.gh-app .gh-concepts button{border:0;background:transparent;padding:3px 0;color:var(--gh-accent);text-decoration:underline;font-weight:500;min-height:32px}.gh-definitions{margin:0 0 24px;font-size:14px}.gh-definitions summary{cursor:pointer;color:var(--gh-muted)}.gh-definitions p{margin-top:10px}.gh-code-heading{display:flex;justify-content:space-between;align-items:center;margin-top:24px;margin-bottom:8px}.gh-code-heading h3{margin:0}.gh-app .gh-guidance{font-size:13px;margin-bottom:10px}.gh-editor{border:1px solid var(--gh-border);border-radius:5px;overflow:hidden;background:var(--gh-editor)}.gh-editor .cm-editor{min-height:190px;font-size:15px;background:var(--gh-editor)}.gh-editor .cm-scroller{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:190px;max-height:420px;overflow:auto}.gh-editor .cm-content{padding:16px 5px}.gh-editor .cm-gutters{border:0;background:var(--gh-surface);color:var(--gh-muted)}.gh-editor .cm-line{padding-left:12px}.gh-editor .cm-editor.cm-focused{outline:2px solid var(--gh-accent);outline-offset:-2px}.gh-editor .gh-guided-line{box-shadow:inset 3px 0 0 var(--gh-accent);background:color-mix(in srgb,var(--gh-accent) 9%,transparent)}.gh-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.gh-actions button{font-size:14px;flex:1 1 auto}.gh-mission-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.gh-app .gh-mission-actions button{font-size:13px;padding:10px 8px}.gh-hint{background:var(--gh-surface);border-left:3px solid var(--gh-accent);padding:12px;margin-top:12px!important;font-size:14px}.gh-hud{text-align:right;white-space:pre-wrap;font-weight:650;margin:2px 0 12px;font-variant-numeric:tabular-nums}.gh-field{position:relative;height:315px;border:1px solid var(--gh-border);border-radius:5px;overflow:hidden;background-color:#0e1928;background-image:linear-gradient(#1d314633 1px,transparent 1px),linear-gradient(90deg,#1d314633 1px,transparent 1px);background-size:30px 30px}.gh-app[data-mode=dark] .gh-field{background-color:#111113;background-image:linear-gradient(#77777719 1px,transparent 1px),linear-gradient(90deg,#77777719 1px,transparent 1px)}.gh-app .gh-target{position:absolute;width:60px;height:60px;min-height:60px;border:0;padding:0;background:transparent;transform:translate(-50%,-50%);border-radius:10px;color:#ffad28;font-size:40px}.gh-app .gh-target:hover{background:#ffffff12;border:0}.gh-app .gh-target:disabled{opacity:.85}.gh-target img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 0 9px #ff990070)}.gh-target-cyan img{filter:hue-rotate(140deg) drop-shadow(0 0 9px #00ccee60)}.gh-target-green img{filter:hue-rotate(70deg) drop-shadow(0 0 9px #22eeaa60)}.gh-app .gh-decoy img{filter:grayscale(1)}.gh-decoy span{position:absolute;bottom:-20px;left:0;width:60px;font-size:12px;color:#eee}.gh-muted{color:var(--gh-muted)!important;font-size:14px}.gh-preview>.gh-muted{margin-top:10px}.gh-app .gh-target-choice{flex-direction:row;align-items:center;justify-content:flex-end;font-size:13px;margin:12px 0}.gh-target-choice select{min-height:36px;padding:5px}.gh-feedback{background:var(--gh-surface);padding:20px;margin-top:18px;border-radius:5px}.gh-status{font-size:17px;font-weight:650;overflow-wrap:anywhere}.gh-app footer{border-top:1px solid var(--gh-border);margin:0 28px;padding:16px 0;text-align:center;color:var(--gh-muted);font-size:13px}.gh-app footer p{margin:0 0 5px}.gh-modal{background:var(--gh-bg);color:var(--gh-text);border:1px solid var(--gh-border);border-radius:12px;padding:0;width:min(900px,94vw);max-height:88vh;overflow:hidden;font:inherit}.gh-modal::backdrop{background:#0009}.gh-modal[open]{display:flex;flex-direction:column}.gh-modal-body{padding:24px;overflow:auto;min-height:0;overscroll-behavior:contain}.gh-modal header{flex:0 0 auto;padding:20px 24px;border-bottom:1px solid var(--gh-border);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:0}.gh-modal h2{font-size:24px;margin:0}.gh-modal form>label{margin:18px 0}.gh-app .gh-checkbox{flex-direction:row;align-items:flex-start;gap:12px;font-size:15px}.gh-app .gh-checkbox input{min-height:20px;width:20px;flex:0 0 20px;margin-top:3px;accent-color:var(--gh-accent)}.gh-guide-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.gh-guide-filters>label:first-child{flex:1}.gh-guide-list article{scroll-margin-top:16px;padding:20px 0;border-top:1px solid var(--gh-border)}.gh-guide-list pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:var(--gh-surface);border-radius:5px;font-size:14px}.gh-guide-list p{margin-bottom:12px}@media(max-width:850px){.gh-workspace{grid-template-columns:1fr}.gh-investigation{border-right:0;border-bottom:1px solid var(--gh-border)}.gh-header,.gh-investigation,.gh-preview{padding:22px}.gh-field{height:290px}.gh-header h1{font-size:34px}.gh-header>div:first-child>p{font-size:19px}}@media(max-width:480px){.gh-header,.gh-investigation,.gh-preview{padding:16px}.gh-app{margin:8px 0}.gh-sections,.gh-missions{padding:8px 12px;gap:5px}.gh-app nav button{font-size:13px}.gh-utilities{gap:6px}}@media(prefers-reduced-motion:reduce){.gh-app *,.gh-modal *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.gh-app .gh-editor .cm-editor{color:#f4f4f5;background:var(--gh-editor)}.gh-app .gh-editor .cm-gutters{background:#162944;color:#b8c5da}.gh-app[data-mode=dark] .gh-editor .cm-gutters{background:#242427;color:#c4c4cc}.gh-app .gh-guide-mission{display:inline;padding:4px 6px;margin:3px;font-size:13px;color:var(--gh-accent)}.gh-preview-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px}.gh-preview-heading h2{margin:0}.gh-game-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gh-app .gh-game-actions button{font-size:14px;padding:10px 12px}.gh-preview .gh-hud{font-size:14px}.gh-app .gh-instructions-heading{margin:18px 0 6px;font-size:15px}@media(max-width:600px){.gh-preview-heading{grid-template-columns:1fr}.gh-game-actions{justify-content:flex-start}.gh-mission-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.gh-modal header button{flex:0 0 auto}.gh-guide-filters label{min-width:0;flex:1 1 170px}.gh-guide-filters select{max-width:100%}.gh-game-message{position:absolute;inset:20% 8% auto;padding:20px;border:2px solid var(--gh-accent);border-radius:8px;background:var(--gh-bg);color:var(--gh-text);text-align:center;z-index:2;overflow-wrap:anywhere}.gh-game-details{font-size:14px;margin-bottom:12px}.gh-mission-navigation{display:flex;justify-content:space-between;gap:16px;padding:24px 30px;flex-wrap:wrap}.gh-mission-navigation button{flex:1 1 240px}.gh-mega-tasks{margin-top:24px}.gh-mega-tasks details{padding:12px 0;border-bottom:1px solid var(--gh-border)}.gh-mega-tasks summary{cursor:pointer;font-weight:600}.gh-mega-tasks p{margin:10px 0;font-size:14px}.gh-task-hints{padding:14px;border:1px solid var(--gh-border);border-radius:6px;margin:16px 0}.gh-task-hints select{width:100%;min-width:0}.gh-task-hints button{margin-top:12px}
