*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:#ede8cb;background:#73985b;font-family:Courier New,Courier,monospace;font-weight:700}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:0}button:focus-visible{outline-offset:3px;outline:3px solid #fff1a6}#game{grid-template-rows:minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.board-buttons{z-index:4;gap:6px;display:flex;position:absolute;top:12px;right:14px}.icon{color:#2e4539;background:#d8dfb7;border:2px solid #455f48;width:34px;height:34px;padding:0;font-size:18px;font-weight:700}.icon:hover{border-color:#172638}#sound[aria-pressed=false]{opacity:.55}.world-wrap{background:#73985b;min-width:0;min-height:0;position:relative}.world-viewport{width:100%;height:100%;overflow:hidden}#world{max-width:100%;height:100%;font-family:Courier New,Courier,monospace;display:block;width:100%!important}.scene-caption{pointer-events:none;color:#2e4539;letter-spacing:.2px;background:#d8dfb7;border:2px solid #455f48;align-items:center;gap:8px;max-width:calc(100% - 120px);padding:8px 11px;font-size:13px;display:flex;position:absolute;top:12px;left:14px}.live-dot{background:#416c43;flex-shrink:0;width:7px;height:7px}#start{color:#172638;text-transform:uppercase;background:#f0cb65;border:3px solid #172638;padding:12px 17px;font-size:16px;font-weight:900;position:absolute;bottom:20px;left:24px}#start span{vertical-align:middle;border:1px solid #675c39;margin-left:14px;padding:2px 4px;font-size:10px}#start:hover,.modal button:hover{background:#fff1a6}#start:active{background:#d7b255}.junction{cursor:pointer;outline:none}.junction:hover .switch-base,.junction:focus-visible .switch-base{stroke:#fff1a6;stroke-width:5px}.train{pointer-events:none}#overlay{z-index:3;background:#101d2bb3;place-items:center;display:grid;position:absolute;inset:0}#overlay[hidden]{display:none}.modal{text-align:center;background:#172638;border:4px solid #d4dbac;width:min(460px,90%);max-height:100%;padding:26px 30px;overflow:auto}#modal-icon{color:#f0cb65;font-size:46px}#eyebrow{letter-spacing:2px;color:#9bc493;font-size:10px}.modal h1{color:#f1e8c1;text-transform:uppercase;margin:9px 0;font-size:30px}.modal p{color:#b9c8bd;font-size:13px;line-height:1.65}.modal button{color:#172638;text-transform:uppercase;background:#f0cb65;border:2px solid #f5e4a2;padding:12px 26px;font-weight:900}@media (max-width:700px){.scene-caption{max-width:calc(100% - 100px);padding:7px 8px;font-size:11px;top:10px;left:10px}.board-buttons{top:10px;right:10px}.icon{width:30px;height:30px;font-size:16px}#start{padding:9px 11px;font-size:13px;bottom:12px;left:10px}#start span{margin-left:8px;font-size:8px}.modal{padding:18px}.modal h1{font-size:24px}.modal p{font-size:12px}#modal-icon{font-size:32px}}@media (max-height:500px){.scene-caption{padding:5px 8px;font-size:11px;top:8px}.board-buttons{top:8px}.icon{width:28px;height:28px;font-size:15px}#start{padding:7px 10px;font-size:12px;bottom:10px}.modal{padding:12px}.modal h1{margin:4px 0;font-size:22px}.modal p{margin:6px 0;font-size:12px}#modal-icon{font-size:24px}}#modal-extra:empty,#modal-icon:empty,#eyebrow:empty,#modal-copy:empty{display:none}#overlay[data-view=start] .modal h1,#overlay[data-view=lost] .modal h1,#overlay[data-view=won] .modal h1{margin:0 0 10px;font-size:24px}#modal-extra{text-align:left;margin:4px 0 14px}:root{--board-row:34px}#overlay[data-view=start] #modal-extra{height:min(calc(var(--board-row) * 10),38vh);flex-direction:column;display:flex;overflow-y:auto}.board{margin:0;padding:0;list-style:none}.board li{height:var(--board-row);color:#f1e8c1;border-bottom:1px solid #2b4152;align-items:center;gap:12px;padding:0 4px;font-size:20px;display:flex}.board .rank{text-align:right;color:#9bc493;width:2ch;font-size:15px}.board .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.board .score{color:#f0cb65}.board li.you{color:#172638;background:#f0cb65}.board li.you .rank,.board li.you .score{color:#172638}.modal .board-empty{text-align:center;color:#b9c8bd;margin:auto;font-size:14px}.modal .final-score{text-align:center;color:#f0cb65;margin:0 0 12px;font-size:30px}.name-form{flex-wrap:wrap;gap:8px;display:flex}.name-form input{min-width:0;font:inherit;color:#f1e8c1;background:#0f1c29;border:3px solid #d4dbac;border-radius:0;flex:1;padding:12px 14px;font-size:22px}.name-form input:focus-visible{outline-offset:1px;outline:3px solid #fff1a6}.modal .name-form button{padding:12px 18px;font-size:18px}.modal button:disabled{opacity:.5;cursor:default}.form-message{text-align:center;flex-basis:100%;min-height:1.4em;margin:2px 0!important;font-size:13px!important}#gameover-board{margin-top:6px}@media (max-width:700px),(max-height:500px){:root{--board-row:26px}.board li{font-size:16px}.modal .final-score{margin:0 0 8px;font-size:22px}.name-form input{padding:9px 10px;font-size:18px}.modal .name-form button{padding:9px 12px;font-size:15px}#modal-extra{margin:2px 0 8px}}
