:root{--paper:#1e1c32;--ink:#c6baac;--font:'IBM Plex Mono',monospace;--size:12px;color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--size)}body{margin:0}button,input,select{font:inherit;color:inherit;border-radius:0}button{cursor:pointer}#terminal{width:min(100%,690px);margin:0 auto;min-height:100dvh;padding:24px 22px 30px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(30px + env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:25px;font-size:10px;letter-spacing:.1em}header>span:first-child{font-size:14px;font-weight:500;letter-spacing:.28em}#circuit{text-align:right;align-self:center}pre{margin:0;font:inherit;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere}#service:not(:empty){border-block:1px dashed var(--ink);margin:0 0 18px;padding:10px 0;line-height:1.6;overflow-wrap:anywhere}#instructions{margin-top:26px}#instructions::before{content:'INSTRUCTIONS';display:block;margin-bottom:8px;letter-spacing:.12em;font-size:10px}.option{display:block;width:100%;padding:10px 0;min-height:42px;text-align:left;line-height:1.6;background:transparent;border:0;white-space:normal;overflow-wrap:anywhere}.option:hover,.option:focus-visible{background:var(--ink);color:var(--paper);outline:0}.option:disabled{cursor:wait}footer{margin-top:34px;padding-top:12px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.8;letter-spacing:.04em}#stock{background:none;border:0;font-size:9px;padding:0 0 0 10px}form{margin-top:24px}label{display:block;margin:15px 0 5px;line-height:1.6;font-size:11px}input,select{display:block;width:100%;padding:10px 8px;background:var(--paper);border:1px solid var(--ink);min-height:43px;outline-offset:3px}input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin-right:8px}input:focus,select:focus{outline:1px solid var(--ink)}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fieldnote{line-height:1.6;font-size:10px;margin:8px 0}canvas{display:block;border:1px solid var(--ink);width:100%;height:440px;margin-top:20px;touch-action:none}.chart-note{margin:10px 0;font-size:10px;line-height:1.7}a{color:inherit}.error{white-space:pre-wrap}::selection{color:var(--paper);background:var(--ink)}@media(max-width:420px){#terminal{padding-inline:15px}header{letter-spacing:0;font-size:9px}header>span:first-child{font-size:12px}pre{line-height:1.7}canvas{height:400px}}@media(min-width:900px){#terminal{padding-top:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.chart-open{overflow:hidden}.chart-open #terminal{width:100%;max-width:none;padding:0;min-height:100dvh}.chart-open header{position:fixed;top:0;left:0;right:0;z-index:3;margin:0;padding:14px 16px;background:var(--paper)}.chart-open #circuit{font-size:9px}.chart-open #service{position:fixed;top:50px;left:16px;right:16px;z-index:5;background:var(--paper)}.chart-open #sea-chart{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;border:0;margin:0;touch-action:none;cursor:grab}.chart-open #sea-chart:active{cursor:grabbing}.chart-open #instructions{position:fixed;bottom:0;left:0;right:0;z-index:3;background:var(--paper);margin:0;padding:8px 16px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);gap:0 8px}.chart-open #instructions::before{display:none}.chart-open .option{font-size:10px;min-height:36px;padding:5px 0}.chart-open footer{display:none}#chart-legend{position:fixed;top:57px;left:16px;right:16px;z-index:2;font-size:9px;line-height:1.6;background:var(--paper);width:fit-content;max-width:calc(100vw - 32px);padding:2px 4px}
:root{--water:#102936}#chart-dock{display:none}@media(min-width:1100px){.chart-docked #terminal{width:48%;max-width:690px;margin:0 52% 0 0;padding-inline:28px}.chart-docked #chart-dock{display:block;position:fixed;inset:0 0 0 48%;background:var(--water);border-left:1px solid var(--ink);overflow:hidden}.chart-docked #dock-chart{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;touch-action:none;cursor:grab}.dock-heading{position:absolute;top:0;left:0;right:0;z-index:2;padding:17px 16px;font-size:10px;letter-spacing:.08em;background:var(--paper)}.chart-docked .chart-legend{position:absolute;top:57px;left:16px;z-index:2;font-size:9px;background:var(--paper);padding:3px}.dock-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;flex-wrap:wrap;gap:4px 16px;background:var(--paper);padding:12px 16px}.dock-controls button{background:transparent;border:0;font-size:10px;padding:8px 0;min-height:32px}.dock-controls button:hover{text-decoration:underline}}

.wire-entry{display:block;width:100%;white-space:pre-wrap;border:0;border-bottom:1px dashed var(--ink);padding:14px 0;margin:0 0 8px;font:inherit;text-align:left;color:var(--ink);background:transparent;line-height:1.8}.wire-entry:hover,.wire-entry:focus-visible{color:var(--paper);background:var(--ink)}

#attention:not([hidden]){position:sticky;top:0;z-index:8;border:3px double var(--ink);background:var(--ink);color:var(--paper);padding:14px;margin:0 0 24px;max-height:46dvh;overflow:auto}#attention strong{display:block;font-size:16px;letter-spacing:.08em;margin-bottom:8px}#attention pre{font-size:11px;margin:10px 0;line-height:1.6}#attention button{background:transparent;color:inherit;border:1px solid currentColor;min-height:38px;padding:6px;margin:4px 10px 0 0;font:inherit}.chart-open #attention:not([hidden]){position:fixed;top:78px;left:12px;right:12px;max-width:620px;margin:0}
