:root { font: 15px/1.65 system-ui, sans-serif; color: #193149; background: #f5f8fa; }
body { max-width: 760px; margin: auto; padding: 18px; }
header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
h1 { font-size: 21px; } h2 { font-size: 18px; } small { font-size: 12px; }
section { padding: 16px; margin: 18px 0; background: #fff; border: 1px solid #ccd6df; border-radius: 10px; }
label { display: block; margin: 12px 0; } input:not([type=checkbox]), select { display: block; box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid #899cac; border-radius: 5px; font: inherit; }
button { margin: 6px 6px 6px 0; padding: 9px 13px; border: 1px solid #234469; border-radius: 6px; background: #234469; color: #fff; font: inherit; cursor: pointer; }
button:disabled { opacity: .5; cursor: wait; } button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #dc8f13; outline-offset: 2px; }
code { overflow-wrap: anywhere; } .secret { display: block; font-size: 20px; font-weight: bold; letter-spacing: 2px; padding: 12px 0; }
#error { color: #a02121; white-space: pre-wrap; } #error:empty { display: none; }
canvas { display: block; max-width: 100%; } dialog { max-width: 420px; border: 1px solid #71899c; border-radius: 12px; padding: 20px; } dialog::backdrop { background: #142b4680; }
[hidden] { display: none !important; }
@media print { body > :not(main), main > :not(#setup), #setup > :not(#kit), #kit > :not(#kit-paper) { display: none !important; } #setup { border: none; } }
