:root{font-family:Arial,Helvetica,sans-serif;color:#e9eddf;background:#183533;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.file{border:1px solid #607975;background:transparent;color:inherit;padding:12px 14px;cursor:pointer;border-radius:3px;min-height:44px}button:hover,.file:hover{background:#ffffff12}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #efb66d;outline-offset:3px}button:disabled{opacity:.4;cursor:default}button[aria-pressed=true]{background:#e4ad72;color:#183533;border-color:#e4ad72}.shell{min-height:100dvh;max-width:1800px;margin:auto;padding:28px 38px}header{display:flex;align-items:center;gap:32px;border-bottom:1px solid #49645d;padding-bottom:22px}.brand{font-size:19px;letter-spacing:2px;font-weight:700;color:inherit;text-decoration:none;line-height:1.1}.brand span{float:left;font-size:42px;line-height:42px;margin-right:15px;color:#e4ad72}.brand small{font-size:9px;letter-spacing:2px}.header-note{margin-left:auto;font-size:10px;line-height:1.7;letter-spacing:1.8px;color:#a5b9ae}main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;padding-top:28px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:2px;color:#dbb68b;font-weight:700;margin:0 0 16px}h1{font-family:Georgia,serif;font-size:clamp(44px,5vw,74px);letter-spacing:-2px;line-height:.95;font-weight:400;margin:0}h1 em{color:#e4ad72}h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 20px}.intro>p{font-size:13px;line-height:1.7;color:#acbeb3;max-width:250px}.plates{display:grid;gap:15px}.plates.compare{grid-template-columns:1fr 1fr}figure{margin:0;background:#f0eadc;overflow:hidden;border-radius:4px;color:#223b3a}figcaption{font-size:10px;letter-spacing:1.3px;border-bottom:1px solid #d3cbbb;padding:13px 19px;display:flex;align-items:center;gap:12px}figcaption b{font:italic 24px Georgia}figcaption span{margin-left:auto;font-size:9px}svg{display:block;width:100%;max-height:62vh}.junction{fill:transparent;stroke:#c65436;stroke-width:1;stroke-dasharray:3 5;cursor:ew-resize;touch-action:none}.junction:hover,.junction.selected{stroke-width:2;stroke-dasharray:none;fill:#c654360b}.junction:focus{outline:none;stroke:#c65436;stroke-width:4}.cross-number{font-size:11px;fill:#b35b3b;pointer-events:none}.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.toolbar button{font-size:12px}.status{font-size:12px;color:#dcb78d;min-height:30px}aside{border-left:1px solid #49645d;padding-left:28px}aside section{padding:12px 0 24px;margin-bottom:20px;border-bottom:1px solid #49645d}.junction-list{display:flex;gap:7px;flex-wrap:wrap}.junction-list button{padding:10px}.readout{font-family:Georgia,serif;font-size:24px;line-height:1.45}.readout span{font:13px Arial;color:#a5b9ae}.primary{background:#e4ad72;color:#183533;width:100%;border:0;font-weight:700}.primary:hover{background:#f0c796}label{display:block;font-size:12px;margin-top:20px;color:#b8c9bd}output{float:right}input[type=range]{width:100%;margin-top:14px;accent-color:#e4ad72;min-height:28px}select,input[type=number]{background:#203f3a;border:1px solid #607975;color:#fff;border-radius:3px;padding:10px;width:100%;margin-top:8px;min-height:44px}.coordinates{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.hint{font-size:11px;line-height:1.7;color:#a5b9ae}.exports{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exports button{font-size:11px;padding:10px}.file{display:block;font-size:12px}.file input{display:block;width:100%;font-size:11px;margin-top:10px}footer{border-top:1px solid #49645d;margin-top:24px;padding:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:35px;font-size:10px;letter-spacing:1px;line-height:1.7}footer span{letter-spacing:0;color:#a5b9ae}details{letter-spacing:0}summary{cursor:pointer;min-height:30px}footer button{font-size:11px}@media(max-width:1000px){.shell{padding:20px}main{grid-template-columns:minmax(0,1fr) 250px;gap:20px}aside{padding-left:18px}.intro{display:block}.intro>p{max-width:none}.plates.compare{grid-template-columns:1fr}svg{max-height:60vh}}@media(max-width:700px){header{gap:10px}.header-note{display:none}header>button{margin-left:auto}main{grid-template-columns:1fr}.intro{display:flex;gap:18px}h1{font-size:44px}.intro>p{font-size:11px;max-width:170px}aside{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr;gap:10px}footer{grid-template-columns:1fr}.plates.compare{grid-template-columns:1fr 1fr}figcaption{padding:8px;font-size:8px}figcaption span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
