:root{color:#1c1915;background:#e7e0d2;font-family:Avenir Next,Segoe UI,sans-serif;font-size:14px;line-height:1.35}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select{font:inherit;color:inherit}button,.file,select{background:#fffdf8;border:1px solid #c9bfae;border-radius:8px;padding:6px 8px}button{cursor:pointer}button:hover,.file:hover{border-color:#1f3d32}button:disabled{opacity:.45;cursor:default}input,select{background:#fff;border:1px solid #d5ccbe;border-radius:7px;width:100%;padding:5px 7px}.app{grid-template-rows:58px minmax(0,1fr);grid-template-columns:232px minmax(0,1fr) 320px;min-width:1100px;height:100%;display:grid}.topbar{color:#f6f1e6;background:#1f3d32;grid-column:1/-1;align-items:end;gap:14px;padding:8px 14px;display:flex}.brand{align-items:center;gap:8px;margin-right:8px;display:flex}.brand strong{letter-spacing:-.04em;font-size:18px;display:block}.brand small{color:#d7c4a2}.mark{border:2px solid #d400ff;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 4px #0000}.topbar label{letter-spacing:.04em;text-transform:uppercase;color:#d7c4a2;gap:2px;font-size:11px;display:grid}.topbar input{color:#1c1915;background:#f6f1e6;min-width:140px}.length{font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0 0 6px auto;font-size:22px}.tools,.course{background:#f7f3ea;border-right:1px solid #ddd4c6;flex-direction:column;gap:8px;padding:12px;display:flex;overflow:auto}.course{border-left:1px solid #ddd4c6;border-right:0}.section{letter-spacing:.08em;text-transform:uppercase;color:#6d6458;margin:8px 0 0;font-size:11px}.tool-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tool{justify-content:space-between;align-items:center;display:flex}.tool.on{color:#f6f1e6;background:#1f3d32;border-color:#1f3d32}.tool kbd{opacity:.7;font-family:inherit;font-size:11px}.file{text-align:center;display:block}.file input{display:none}.hint,.status{color:#5e564c;margin:0;font-size:12px}.status{background:#efe7d8;border-radius:8px;padding:8px}.stage{min-width:0;min-height:0;position:relative}.map-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.course-head,.row{justify-content:space-between;align-items:center;gap:6px;display:flex}.row>*{flex:1}.control-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.control-list li{grid-template-columns:1fr 28px 28px;gap:4px;display:grid}.control-list li.selected .who{outline:2px solid #d400ff}.who{text-align:left;align-items:center;gap:6px;display:flex}.who span{font-variant-numeric:tabular-nums;width:42px}.who input{width:64px}.desc-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.descriptions label,.course>label,.tools>label{color:#5e564c;gap:3px;font-size:12px;display:grid}.check{align-items:center;gap:8px;display:flex}.check input{width:auto}
