@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter/Inter-Variable.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/courier-prime/CourierPrime-Regular.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/courier-prime/CourierPrime-Bold.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/courier-prime/CourierPrime-Italic.woff2)format("woff2")}:root{--color-surface:#f3efe4;--color-surface-raised:#fbf8f1;--color-text:#2a2621;--color-text-secondary:#4b443d;--color-text-muted:#6b6259;--color-rule:#d8cfbe;--color-accent:#4b6a63;--color-accent-deep:#35473f;--color-accent-tint:#dfe7e3;--color-warm:#c1863f;--color-warm-deep:#96652c;--color-warm-tint:#f1e2c9;--color-blue:#3e6d8f;--color-blue-deep:#2f5470;--color-correct:#4c7a4a;--color-correct-tint:#e2ecdd;--color-incorrect:#b15a42;--color-incorrect-tint:#f6e2dc;--font-display:"Courier Prime", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-body:"Inter", system-ui, -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-text);margin:0 0 .5em;font-weight:700}p{margin:0 0 1em}a{color:var(--color-accent-deep)}button{font:inherit;color:inherit;font-family:var(--font-display);background:0 0;border:none;margin:0;padding:0}::selection{background:var(--color-accent-tint);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn{font-family:var(--font-display);text-align:center;letter-spacing:.02em;white-space:nowrap;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-size:14px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-surface-raised)}.btn-primary:hover:not(:disabled){background:var(--color-accent-deep)}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-rule);color:var(--color-accent-deep)}.btn-secondary:hover:not(:disabled){background:var(--color-accent-tint);border-color:var(--color-accent)}.btn-sm{padding:7px 12px;font-size:13px}.text-field{width:100%;font-family:var(--font-body);color:var(--color-text-secondary);background:var(--color-surface-raised);border:1px solid var(--color-rule);border-radius:4px;padding:6px 8px;font-size:14px;transition:border-color .12s,background-color .12s}.text-field:hover{border-color:var(--color-text-muted)}.text-field:focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}.checkbox-field{appearance:none;background-color:var(--color-surface-raised);border:1px solid var(--color-rule);cursor:pointer;background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border-radius:3px;flex-shrink:0;width:18px;height:18px;margin:0;transition:background-color .12s,border-color .12s}.checkbox-field:hover{border-color:var(--color-text-muted)}.checkbox-field:checked{background-color:var(--color-accent);border-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fbf8f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5l3.5 3.5 6.5-7'/%3E%3C/svg%3E")}.checkbox-field:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.form-row{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:20px;padding:10px 0;display:flex}.form-row.textarea-row{align-items:flex-start}.form-row-label{cursor:pointer;flex-direction:column;flex:1;gap:2px;display:flex}.form-row-name{color:var(--color-text);font-size:14px}.form-row-description{color:var(--color-text-muted);font-size:12px;line-height:1.4}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
