*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,sans-serif;color:#25332f;background:#edf0ed}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;border:0}#viewport{position:fixed;inset:0}canvas{display:block;touch-action:none}header{position:fixed;top:max(22px,env(safe-area-inset-top));left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;pointer-events:none}.brand{font:500 34px Georgia,serif;letter-spacing:-1.5px}.brand span{display:block;font:10px system-ui;letter-spacing:2px;margin-top:1px}.segmented{display:flex;background:#ffffffed;padding:5px;border-radius:12px;box-shadow:0 5px 30px #24352e12;pointer-events:auto}.segmented button{padding:11px 20px;background:transparent;border-radius:8px;font-size:14px}.segmented .active{background:#29483d;color:white}.quick{position:fixed;left:28px;bottom:28px;display:flex;gap:8px}.quick button{background:#ffffffef;border-radius:12px;padding:10px 16px;font-size:23px;box-shadow:0 3px 20px #24352e12}.quick span{font-size:12px;display:block}aside{position:fixed;right:28px;bottom:28px;width:288px;border:1px solid #ffffffb0;border-radius:16px;background:#fffffff2;box-shadow:0 10px 50px #263b291a;backdrop-filter:blur(15px);overflow:hidden}#panel-toggle{background:transparent;width:100%;text-align:left;padding:18px 20px;font-weight:600}#panel-toggle span{float:right}#panel-body{padding:0 20px 16px}.field{display:block;font-size:12px;color:#64756c}select{width:100%;margin:6px 0 18px;padding:10px 8px;background:#f0f3f0;border:1px solid #d9e2db;border-radius:7px;color:#25332f;font-size:14px}.control-heading{display:flex;justify-content:space-between;font-weight:600;font-size:14px;margin-bottom:12px}.sync{font-weight:400;font-size:13px;display:flex;align-items:center;gap:4px}.slider{font-size:13px;display:block;margin:12px 0}.slider output{float:right;font-variant-numeric:tabular-nums;color:#6b7f73}input[type=range]{width:100%;height:24px;display:block;margin:4px 0;accent-color:#487b62}input[type=checkbox]{accent-color:#487b62}.hint{font-size:12px;color:#64756c;border-top:1px solid #e0e7e1;padding-top:12px;margin-bottom:8px}.note{font-size:10px;color:#829087;margin:0}#loading{position:fixed;inset:0;background:#edf0ed;display:flex;justify-content:center;align-items:center;flex-direction:column;font:28px Georgia}#loading span{font:14px system-ui;margin-top:12px;color:#6b7f73}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#29483d;color:white;padding:10px 18px;border-radius:8px;font-size:14px;display:none}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d48d67;outline-offset:2px}@media(max-width:640px){header{left:16px;right:16px;top:max(16px,env(safe-area-inset-top))}.brand{font-size:30px}.brand span{font-size:8px;letter-spacing:1px}.segmented button{padding:10px 13px}.quick{left:16px;top:100px;bottom:auto;flex-direction:column}.quick button{padding:5px 10px;font-size:21px}.quick span{font-size:10px}aside{right:12px;left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto}#panel-toggle{padding:14px 18px}#panel-body{padding:0 18px 12px;max-height:43dvh;overflow:auto}.slider{margin:7px 0}.hint{display:none}.note{margin-top:10px}select{margin-bottom:10px}#toast{bottom:50%;width:max-content;max-width:90%}}

.drawings{border-top:1px solid #e0e7e1;margin-top:14px;padding-top:12px;font-size:13px}.drawings summary{cursor:pointer;font-weight:600}.drawings a{display:block;color:#315e49;padding:9px 0;text-decoration:none}.drawings small{display:block;color:#728279;font-size:10px}#panel-body{max-height:65dvh;overflow:auto}@media(max-width:640px){#panel-body{max-height:45dvh}}

.view-steps{display:flex;gap:8px;margin:-7px 0 18px}.view-steps button{flex:1;background:#e5ece6;border-radius:7px;padding:10px 5px;font-size:12px;min-height:42px}.view-steps button:disabled{opacity:.45;cursor:wait}
.controls{border-top:1px solid #dde5de;padding:13px 0 4px;font-size:13px}.controls summary{font-weight:650;cursor:pointer;min-height:30px}.controls label{display:block;margin:10px 0}.controls label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.controls input[type=number]{width:100%;padding:8px;border:1px solid #d9e2db;border-radius:7px;background:#f0f3f0}.controls output{float:right;color:#5a7464}.controls select{margin-bottom:0}.wide{display:block;width:100%;text-align:left;padding:10px;margin:6px 0;background:#e5ece6;border-radius:7px;font-size:13px}.control-status{font-size:11px;color:#6a776f;min-height:16px}#walk-pad{position:fixed;left:20px;bottom:20px;text-align:center;background:#ffffffed;padding:10px;border-radius:12px;max-width:260px}#walk-pad button{padding:12px 18px;border-radius:6px;margin:3px;background:#e5ece6;touch-action:none}#walk-pad small{display:block;font-size:11px}.controls input[type=file]{width:100%;font-size:11px}#walk-pad[hidden]{display:none}
