@font-face{font-family:Monocraft;src:url(/Monocraft.ttf)format("truetype");font-display:swap}:root{--panel-bg:#3b3b3b;--panel-light:#5c5c5c;--panel-dark:#1d1d1d;--btn-bg:#6a6a6a;--btn-bg-hover:#7d7d7d;--btn-bg-active:#5e5e5e;--btn-light:#9a9a9a;--btn-dark:#2a2a2a;--page-bg:#232323;--text:#e0e0e0;--text-dim:#9d9d97;--hit-n3:#74c7ee;--hit-n6:#3665d8;--hit-n5:#2a3fa0;--hit-n15:#a455d6;--hit-2:#5fc93a;--hit-13:#f2851d;--hit-7:#fed83d;--hit-16:#d8402f;--marker-target:#ff3030;--marker-start:#30ff30;--error:#ff4d4d}html{background:var(--page-bg);color:var(--text);font-family:Monocraft,monospace}body{margin:0}*,:before,:after{box-sizing:border-box}button{border-radius:0}main{flex-direction:column;gap:16px;max-width:960px;margin:0 auto;padding:16px;display:flex}h1{text-align:center;color:var(--text);text-shadow:2px 2px 0 var(--panel-dark);margin:0;font-size:24px}.slots,.hit-buttons,.marker-inputs,.solution{background:var(--panel-bg);border-style:solid;border-width:2px;border-color:var(--panel-light) var(--panel-dark) var(--panel-dark) var(--panel-light);padding:8px}.slots{gap:8px;display:flex}.slot{font:inherit;color:var(--text);background:var(--btn-bg);border-style:solid;border-width:2px;border-color:var(--btn-light) var(--btn-dark) var(--btn-dark) var(--btn-light);cursor:pointer;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;padding:6px 4px;font-size:14px;display:flex}.slot:hover{background:var(--btn-bg-hover)}.slot:active{background:var(--btn-bg-active);border-color:var(--btn-dark) var(--btn-light) var(--btn-light) var(--btn-dark)}.slot.selected{outline-offset:1px;outline:2px solid #fff}.slot-label{color:var(--text-dim);font-size:11px}.slot-empty{color:var(--text-dim)}.hit-buttons{grid-template-columns:repeat(4,72px);justify-content:center;gap:8px;display:grid}.hit-btn{width:100%;font:inherit;background:var(--btn-bg);color:var(--text);border-style:solid;border-width:2px;border-color:var(--btn-light) var(--btn-dark) var(--btn-dark) var(--btn-light);cursor:pointer;padding:8px;font-size:16px}.hit-btn:hover{background:var(--btn-bg-hover)}.hit-btn:active{background:var(--btn-bg-active);border-color:var(--btn-dark) var(--btn-light) var(--btn-light) var(--btn-dark)}.empty-btn{color:var(--text-dim);grid-area:3/2/auto/4}.clear-btn{color:var(--text-dim);grid-area:3/4}.hit-n15{color:var(--hit-n15)}.hit-n6{color:var(--hit-n6)}.hit-n5{color:var(--hit-n5)}.hit-n3{color:var(--hit-n3)}.hit-2{color:var(--hit-2)}.hit-7{color:var(--hit-7)}.hit-13{color:var(--hit-13)}.hit-16{color:var(--hit-16)}.hit-unknown{color:var(--text)}.marker-inputs{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.marker-input{align-items:center;gap:6px;font-size:12px;display:flex}.marker-input-target{color:var(--marker-target)}.marker-input-start{color:var(--marker-start)}.marker-input input{width:72px;font:inherit;color:var(--text);background:var(--panel-dark);border:2px solid;border-color:var(--panel-dark) var(--panel-light) var(--panel-light) var(--panel-dark);padding:4px 6px;font-size:14px}.marker-input input:focus-visible{outline-offset:1px;outline:2px solid #fff}.gauge{flex-direction:column;gap:4px;display:flex}.numbers{height:20px;color:var(--text);font-size:14px;position:relative}.number{position:absolute;top:2px;transform:translate(-50%)}.bar{align-items:flex-end;width:100%;height:24px;display:flex;position:relative}.cell{pointer-events:none;background:var(--btn-bg);flex:1 1 0;height:14px}.cell-fifth{background:var(--btn-bg-hover)}.cell-tick{background:var(--btn-light);height:24px}.marker{pointer-events:none;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000}.marker-target{background:var(--marker-target)}.marker-start{background:var(--marker-start)}.marker-values{height:16px;font-size:14px;line-height:16px;position:relative}.marker-values.stacked{height:32px}.marker-value{pointer-events:none;position:absolute;transform:translate(-50%)}.marker-value-target{color:var(--marker-target);top:0}.marker-value-start{color:var(--marker-start)}.arrows{width:100%;display:block}.solution{word-break:break-word;font-size:14px;line-height:1.6}.solution-sep{color:var(--text-dim)}.no-hits{color:var(--text-dim);font-style:italic}.solution-error{color:var(--error);font-weight:700}