@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/pixelify-sans-latin-400-normal-5B4KSHQT.woff2") format("woff2"),url("./media/pixelify-sans-latin-400-normal-JPGIHBOG.woff") format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/pixelify-sans-latin-700-normal-DQAYWACS.woff2") format("woff2"),url("./media/pixelify-sans-latin-700-normal-33UZIDD2.woff") format("woff")}:root{--font-pixel: "Pixelify Sans", ui-monospace, monospace;--font-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--color-background: #1b1b2f;--color-panel: #2a2a45;--color-border: #0d0d1a;--color-shadow: #000000;--color-text: #f2efe6;--color-muted: #8a8aa3;--color-gold: #f4c542;--color-ok: #4caf50;--color-warn: #f0a030;--color-error: #e05050}html,body{margin:0;min-height:100%;background:var(--color-background);color:var(--color-text);font-family:var(--font-text)}h1,h2,h3,.brand,nav a{font-family:var(--font-pixel);font-weight:400;letter-spacing:.02em}h1{color:var(--color-gold);text-shadow:2px 2px 0 var(--color-shadow)}a{color:var(--color-gold)}.page{max-width:960px;margin:0 auto;padding:1.5rem 1rem}.page-narrow{max-width:28rem;margin:0 auto;padding:1.5rem 1rem}.card{padding:1rem 1.25rem;border:3px solid var(--color-border);background:var(--color-panel)}.form{display:flex;flex-direction:column;gap:1rem}.form label{display:flex;flex-direction:column;gap:.25rem}input,select,button{font:inherit;color:inherit;padding:.4rem .6rem;border:2px solid var(--color-border);background:var(--color-background)}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched{border-color:var(--color-error)}button{cursor:pointer;background:var(--color-panel)}button.primary{background:var(--color-gold);color:var(--color-border);font-weight:700}button.danger{background:var(--color-error);color:var(--color-text);font-weight:700}button:disabled{cursor:default;opacity:.6}.hint{color:var(--color-muted);font-size:.85rem}.notice{padding:.75rem 1rem;border-left:4px solid var(--color-ok);background:var(--color-panel)}.api-error{padding:.75rem 1rem;border-left:4px solid var(--color-error);background:var(--color-panel)}.api-error p,.api-error ul{margin:0}.list{display:flex;flex-direction:column;gap:.75rem;padding:0;list-style:none}.list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.rows{padding-left:1.25rem}.rows li{margin:.25rem 0}.rows button{margin-left:.5rem}.section{margin:1rem 0}.section h2{margin-top:0}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.join-code{margin:.25rem 0;font-size:2rem;letter-spacing:.2em;color:var(--color-gold)}.join-code.disabled{color:var(--color-muted);text-decoration:line-through}table.students{width:100%;border-collapse:collapse}table.students th,table.students td{padding:.4rem;text-align:left;border-bottom:1px solid var(--color-border)}textarea{font:inherit;color:inherit;padding:.4rem .6rem;border:2px solid var(--color-border);background:var(--color-background)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.filters label{display:flex;flex-direction:column;gap:.25rem}.badge{padding:.1rem .5rem;border:2px solid var(--color-border);font-size:.8rem}.badge.status-solved,.badge.published{background:var(--color-ok);color:var(--color-border)}.badge.status-attempted{background:var(--color-warn);color:var(--color-border)}.markdown pre,.markdown code{background:var(--color-background)}.markdown pre{padding:.5rem;overflow-x:auto}.markdown table{border-collapse:collapse}.markdown th,.markdown td{padding:.25rem .75rem;border:1px solid var(--color-border)}table.data{width:100%;border-collapse:collapse}table.data th,table.data td{padding:.4rem;text-align:left;border-bottom:1px solid var(--color-border)}.row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.row label{display:flex;flex-direction:column;gap:.25rem}.row .grow{flex:1 1 14rem}label.checkbox{display:flex;flex-direction:row;align-items:center;gap:.4rem}.check-editor{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.check-editor>label{display:flex;flex-direction:column;gap:.25rem}.check-editor .remove{align-self:flex-start}a.button-link{display:inline-block;padding:.4rem .8rem;border:2px solid var(--color-border);background:var(--color-gold);color:var(--color-border);font-weight:700;text-decoration:none}dialog.game-dialog{max-width:min(26rem,92vw);color:var(--color-text)}dialog.game-dialog::backdrop{background:#0009}dialog.game-dialog h2{display:flex;align-items:center;gap:.5rem;margin-top:0}.too-expensive{color:var(--color-error)}.upgrades{display:flex;flex-direction:column;gap:.4rem;padding:0;margin:0;list-style:none}.upgrades li{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .75rem}.upgrades .upgrade-name{flex:1}.gold-outlook{display:inline-flex;align-items:center;gap:.3rem;color:var(--color-gold);font-size:.9rem}.toasts{position:fixed;right:1rem;bottom:1rem;z-index:10;display:flex;flex-direction:column;gap:.5rem;max-width:min(24rem,100vw - 2rem)}.toast{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border:3px solid var(--color-border);background:var(--color-panel);box-shadow:4px 4px 0 var(--color-shadow);text-align:left;font-family:var(--font-pixel)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
