:root{color:#1d2a1f;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}html,body{background:#c7d6e2;height:100%;margin:0;overflow:hidden}#app canvas{display:block}#overlay{z-index:10;background:#141e1973;place-items:center;display:grid;position:fixed;inset:0}#overlay[hidden]{display:none}.panel{background:#fbfaf5;border-radius:10px;min-width:320px;max-width:90vw;padding:24px 28px;box-shadow:0 10px 40px #00000059}.panel .panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel .lang-flags{gap:6px;display:flex}.panel button.lang-flag{opacity:.45;outline-offset:2px;background:0 0;border-radius:2px;padding:0;display:flex}.panel button.lang-flag:hover{opacity:.8}.panel button.lang-flag[aria-pressed=true]{opacity:1;outline:2px solid #e0701d}.panel button.lang-flag svg{width:27px;height:18px;display:block}.panel h1{color:#e0701d;margin:0;font-size:22px}.panel .tagline{color:#6b6658;margin:2px 0 12px;font-size:13px}.panel pre{font:inherit;white-space:pre-wrap;margin:12px 0}.panel button{font:inherit;color:#fff;cursor:pointer;background:#e0701d;border:0;border-radius:6px;padding:10px 18px;font-weight:600}.keys{border-spacing:10px 3px;margin-top:16px;font-size:13px}.keys td:first-child{white-space:nowrap;font-weight:600}.hud-info{white-space:pre;color:#fff;text-shadow:0 1px 2px #000c;pointer-events:none;font-size:12px;line-height:1.5;position:fixed;top:10px;left:12px}.hud-compass{color:#fff;pointer-events:none;background:#0f141273;border-radius:6px;width:360px;height:34px;margin-left:-180px;position:fixed;top:10px;left:50%;overflow:hidden}.hud-compass-strip{position:absolute;top:4px;left:180px}.hud-compass-tick{text-align:center;opacity:.8;width:40px;margin-left:-20px;font-size:11px;position:absolute}.hud-compass-tick.major{opacity:1;font-size:13px;font-weight:700}.hud-compass-needle{background:#ff5c8a;width:2px;height:10px;position:absolute;bottom:0;left:179px}.hud-compass-value{opacity:.8;font-size:10px;position:absolute;bottom:2px;right:6px}.hud-clock{white-space:pre;color:#fff;pointer-events:none;background:#0f14128c;border-radius:6px;padding:2px 12px;font:700 26px ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;top:50px;left:50%;transform:translate(-50%)}.hud-clock-time[hidden]{display:none}.hud-clock-factor.off{opacity:.4}.hud-map{color:#26221d;resize:both;z-index:6;background:#f7f4ec;border-radius:8px;flex-direction:column;width:min(560px,100vw - 32px);min-width:300px;height:min(640px,100% - 128px);min-height:280px;display:flex;position:fixed;top:96px;right:16px;overflow:hidden;box-shadow:0 18px 50px #00000073,0 0 0 1px #00000026}.hud-map[hidden]{display:none}.hud-map-head{color:#f2ede3;background:#2b2722;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex}.hud-map-title{letter-spacing:.04em;text-transform:uppercase;margin-right:auto;font-size:14px;font-weight:700}.hud-map-body{background:#fff;flex:1;min-height:0;position:relative}.hud-map-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud-map-canvas:active{cursor:grabbing}.hud-map.editing .hud-map-canvas{cursor:crosshair}.hud-map-tools{border-top:1px solid #ddd5c6;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 10px;display:flex}.hud-map-group{align-items:center;gap:4px;display:flex}.hud-map-button{color:#26221d;cursor:pointer;background:#fff;border:1px solid #cfc6b5;border-radius:4px;min-width:34px;height:30px;padding:0 9px;font:600 13px system-ui,sans-serif}.hud-map-button:hover{background:#efe9dd}.hud-map-button.active{color:#fff;background:#b30f8e;border-color:#b30f8e}.hud-map-button:disabled{opacity:.4;cursor:default}.hud-map-button:disabled:hover{background:#fff}.hud-map-button.close{min-width:30px;color:inherit;background:0 0;border:0;font-size:18px}.hud-map-button.close:hover{background:#ffffff1f}.hud-map-check{cursor:pointer;align-items:center;gap:4px;font-size:13px;display:flex}.hud-map-check input{accent-color:#b30f8e}.hud-map-check:has(input:disabled){opacity:.4;cursor:default}.hud-map-help{color:#6b6458;padding:0 10px 6px;font-size:12px}#resume{color:#fff;white-space:nowrap;pointer-events:none;background:#1418148c;border-radius:999px;padding:7px 14px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}#resume[hidden]{display:none}.hud-credits{color:#fff;text-shadow:0 1px 2px #000c;pointer-events:none;font-size:10px;position:fixed;bottom:6px;right:8px}.hud-run{white-space:pre;color:#fff;pointer-events:none;background:#0f14128c;border-radius:6px;min-width:180px;margin-top:96px;padding:8px 12px;font:600 14px ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;top:10px;left:12px}.hud-run[hidden]{display:none}.hud-descriptions{pointer-events:none;z-index:5;background:#fffffff0;border-radius:6px;padding:6px;position:fixed;bottom:12px;left:12px;box-shadow:0 4px 16px #00000059}.hud-descriptions[hidden]{display:none}.hud-descriptions-table{display:block}.hud-descriptions-text{color:#26221d;max-width:192px;margin-top:4px;font-size:12px}.hud-descriptions-text:empty{display:none}.panel label{align-items:center;gap:6px;margin:0 14px 6px 0;display:inline-flex}.panel label[hidden]{display:none}.panel .course-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.panel button.secondary{color:#26221d;background:#efe9dc;padding:5px 12px;font-weight:500}.panel button:disabled{opacity:.5;cursor:default}.hud-toast{color:#fff;pointer-events:none;z-index:13;background:#141814cc;border-radius:6px;padding:8px 16px;font-size:14px;position:fixed;top:40%;left:50%;transform:translate(-50%)}.hud-toast[hidden]{display:none}.finish-panel{color:#26221d;z-index:11;background:#fbfaf5;border-radius:10px;width:min(380px,100vw - 32px);padding:20px 24px;position:fixed;top:30%;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000073}.finish-panel[hidden]{display:none}.finish-panel h2{color:#e0701d;margin:0 0 12px;font-size:22px}.finish-panel label{flex-direction:column;gap:4px;font-size:13px;display:flex}.finish-panel input{font:inherit;border:1px solid #cfc6b5;border-radius:4px;padding:6px 8px;font-size:16px}.finish-note{margin:0;font-size:14px;line-height:1.45}.finish-error{color:#b3261e;min-height:1em;margin:6px 0 0;font-size:13px}.finish-buttons{gap:8px;margin-top:14px;display:flex}.finish-buttons button{font:inherit;color:#fff;cursor:pointer;background:#e0701d;border:0;border-radius:6px;padding:8px 14px;font-weight:600}.finish-buttons button.secondary{color:#26221d;background:#efe9dc}.finish-buttons button:disabled{opacity:.5}.results-window,.tutorial-window{color:#26221d;resize:both;z-index:12;background:#f7f4ec;border-radius:8px;flex-direction:column;max-width:calc(100vw - 32px);max-height:calc(100% - 128px);display:flex;position:fixed;top:96px;left:16px;overflow:hidden;box-shadow:0 18px 50px #00000073,0 0 0 1px #00000026}.results-window[hidden],.tutorial-window[hidden]{display:none}.results-tools{border-bottom:1px solid #ddd5c6;align-items:center;gap:14px;padding:6px 10px;font-size:13px;display:flex}.results-status{color:#6b6458}.results-body{flex:auto;min-width:0;min-height:0;overflow:auto}.results-table{border-collapse:collapse;white-space:nowrap;color:#000;border:2px solid #000;font:12px Arial,Verdana,sans-serif}.results-table thead{z-index:1;position:sticky;top:0}.results-table th{text-align:center;background:#e0e0e0;padding:1px 4px;font-weight:400}.results-table th.name{text-align:left;border-left:1px solid gray}.results-table th.leg{border-left:1px solid silver}.results-table .first,.results-table .last{border-left:1px solid #000}.results-table thead tr:last-child th{border-bottom:1px solid #000}.results-table button.sort{color:#a03000;font:inherit;cursor:pointer;background:0 0;border:none;padding:0 1px}.results-table button.sort:hover{color:#e06000;text-decoration:underline}.results-table button.sort.sorted{background:#ffffa0}.results-table td{text-align:right;vertical-align:top;padding:1px 3px 1px 15px}.results-table tbody.runner+tbody.runner tr.legs td,.results-table tbody.runner+tbody.runner td[rowspan]{border-top:1px solid silver}.results-table td.route,.results-table td.place,.results-table td.name,.results-table td.delete{background:#e0e0e0;padding:1px 3px}.results-table td.place{text-align:right}.results-table td.name{text-align:left;border-left:1px solid gray}.results-table td.name.last{border-left:1px solid #000}.results-table td.time{border-left:1px solid silver}.results-table td.time.first{border-left:1px solid #000}.results-table tr.legs td.time{background:#ffffd0}.results-table tr.splits td.time{background:#ffff80}.results-table tr.legs td.time.mistake{background:#ffc0c0}.results-table td.first-place{color:red}.results-table td.podium{color:#00f}.results-table tbody.runner:hover td{background-image:linear-gradient(#2828781f,#2828781f)}.results-table tbody.mine td.name{font-weight:700}.results-table tbody.mine td.route{box-shadow:inset 4px 0 #e0701d}.results-table td.route,.results-table td.delete{vertical-align:middle}.results-table td.delete .hud-map-button{min-width:26px;height:24px;padding:0 6px}.tutorial-window{width:min(440px,100vw - 32px);height:min(540px,100% - 128px)}.tutorial-body{flex:1;min-height:0;padding:4px 18px 10px;font:14px/1.5 system-ui,sans-serif;overflow:auto}.tutorial-body h3{margin:10px 0 6px;font-size:16px}.tutorial-body p,.tutorial-body ul{margin:6px 0}.tutorial-body ul{padding-left:20px}.tutorial-body li{margin:3px 0}.tutorial-tools{border-top:1px solid #ddd5c6;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.tutorial-count{color:#6b6458;font-size:13px}
