/* Always-visible travel rail. Each mode is one direct action. */
#travel-control{position:absolute;z-index:14;left:28px;top:106px;width:163px;max-height:calc(100% - 220px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:10px 6px 9px;border:1px solid #ffffffc9;border-radius:14px;background:#fffef5ed;box-shadow:0 6px 24px #294d3a14;backdrop-filter:blur(12px);color:#304e45}
#travel-title{display:block;margin:0 8px 5px;font-size:10px;font-weight:650;letter-spacing:.4px;color:#63786b}
.travel-options{display:grid;gap:3px}
.travel-option{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:39px;padding:5px 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:#395648;text-align:left;transition:background .14s,border-color .14s}
.travel-option:hover:not(:disabled){background:#eaf0e4;border-color:#c3d2ba;color:#294b42}
.travel-option[aria-checked="true"]{background:#dfebd7;border-color:#9ab695;box-shadow:inset 0 0 0 1px #9ab69515;color:#284f38}
.travel-option.is-pending{border-color:#bd9d67;border-style:dashed;background:#faf1dc;color:#755d36}
.travel-option.is-pending .travel-check{display:block;color:#987a45;font-weight:700}
.travel-option:disabled{opacity:.36;cursor:default}
.travel-option-art{width:32px;height:26px;display:grid;place-items:center;flex:none;color:var(--travel-accent,#66836c)}
.travel-option-art svg{width:32px;height:26px}
.travel-option-label{font-size:11px;font-weight:600;line-height:1.25}
.travel-check{margin-left:auto;display:none;color:#507a54;font-size:11px}
.travel-option[aria-checked="true"] .travel-check{display:block}
#travel-status{position:absolute;z-index:15;left:50%;bottom:140px;transform:translateX(-50%);width:max-content;max-width:min(380px,calc(100% - 40px));margin:0;padding:11px 16px;border:1px solid #fffef4;border-radius:12px;background:#fffef5f5;box-shadow:0 5px 22px #294d3a20;backdrop-filter:blur(12px);color:#385d4b;font-size:12px;line-height:1.5;text-align:center;pointer-events:none}
#travel-status[hidden]{display:none}
#travel-status.is-pending{border-color:#e1d1a5;color:#755d36}
#travel-note{display:block;margin:9px 8px 0;font-size:9px;line-height:1.4;color:#6d8171}
.is-indoors #travel-control{top:125px}
.travel-option:focus-visible{outline:2px solid #477d75;outline-offset:2px}
#camera-mode-control{position:absolute;z-index:14;top:22px;right:28px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.camera-view-switch{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #ffffffc9;border-radius:13px;background:#fffef5ed;box-shadow:0 6px 24px #294d3a14;backdrop-filter:blur(12px)}
.camera-view-switch button{display:flex;align-items:center;gap:6px;min-height:35px;padding:7px 10px;border:1px solid transparent;border-radius:9px;font-size:11px;font-weight:600;color:#526e60;white-space:nowrap}
.camera-view-switch button svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.camera-view-switch button:hover{background:#eef3e8;color:#294b42}
.camera-view-switch button[aria-pressed="true"]{background:#dfebd7;border-color:#9ab695;color:#284f38}
.camera-view-switch button:disabled{opacity:.4}
#camera-mode-control kbd{display:inline-grid;place-items:center;min-width:18px;min-height:19px;margin:0 5px;border:1px solid #c9d7c2;border-radius:4px;font:10px var(--font);color:#6d8171}
#travel-reverse{display:flex;align-items:center;gap:7px;min-height:40px;padding:7px 9px 7px 11px;border:1px solid #ffffffc9;border-radius:11px;background:#fffef5ed;backdrop-filter:blur(12px);font-size:11px;color:#476456;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 5px 20px #294d3a10}
#travel-reverse[hidden]{display:none}
#travel-reverse.reversing{background:#dfebd7;border-color:#8fae87;color:#274f37}
#travel-driving-hint{display:grid;gap:4px;max-width:252px;margin:0;padding:9px 11px;border:1px solid #ffffffc9;border-radius:11px;background:#fffef5ed;box-shadow:0 5px 20px #294d3a10;backdrop-filter:blur(12px);font-size:10px;line-height:1.4;color:#476456}
#travel-driving-hint span:last-child{font-size:9px;color:#6d8171}
#travel-driving-hint[hidden]{display:none}
#travel-flight{display:flex;align-items:center;gap:5px}
#travel-flight[hidden]{display:none}
#travel-flight-status{min-width:65px;padding:4px 2px;text-align:right;font-size:9px;font-variant-numeric:tabular-nums;line-height:1.4;color:#476456;text-shadow:0 1px 3px #fffdf7,0 0 8px #fffdf7;white-space:nowrap}
#travel-flight button{display:flex;align-items:center;gap:5px;min-height:40px;padding:7px 9px;border:1px solid #ffffffc9;border-radius:11px;background:#fffef5ed;backdrop-filter:blur(12px);box-shadow:0 5px 20px #294d3a10;font-size:11px;color:#476456;touch-action:none;user-select:none;-webkit-user-select:none}
#travel-flight button>span{font-size:17px;line-height:1}
#travel-flight button.held{background:#dfebd7;border-color:#8fae87;color:#274f37}
#travel-flight button:disabled{opacity:.4}
#travel-flight kbd{margin:0 0 0 2px;padding:0 3px}
.is-indoors #camera-mode-control{top:125px}
#first-person-drive{display:none;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:4px;padding:6px;border:1px solid #ffffffb8;border-radius:13px;background:#fffef5e8;backdrop-filter:blur(12px);box-shadow:0 5px 20px #294d3a10}
#first-person-drive[hidden]{display:none}
#first-person-drive button{min-width:40px;min-height:40px;border:1px solid #d4dfce;border-radius:9px;background:#f5f8ef;color:#4e705c;font-size:23px;line-height:1;touch-action:none;user-select:none;-webkit-user-select:none}
#first-person-drive button[data-drive="forward"]{grid-column:2}
#first-person-drive button[data-drive="left"]{grid-column:1;grid-row:2}
#first-person-drive button[data-drive="back"]{grid-column:2;grid-row:2}
#first-person-drive button[data-drive="right"]{grid-column:3;grid-row:2}
#first-person-drive button.held{background:#d7e7cb;border-color:#8fac82;color:#294f37}
#first-person-drive button:disabled{opacity:.4}
@media(max-width:800px){#travel-control{left:20px;top:104px}}
@media(max-width:600px){
 #travel-control{left:12px;top:14px;width:49px;max-height:calc(100% - 130px);padding:6px 3px;border-radius:12px}
 #travel-title{font-size:8px;letter-spacing:0;margin:1px 0 6px;text-align:center}
 .travel-options{gap:3px}.travel-option{justify-content:center;min-height:40px;padding:4px 0;border-radius:8px}
 .travel-option-art,.travel-option-art svg{width:31px;height:27px}
 .travel-option-label,#travel-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .travel-check,.travel-option[aria-checked="true"] .travel-check{display:none}
 .travel-option.is-pending .travel-check{display:block;position:absolute;right:3px;bottom:1px;font-size:13px;line-height:1}
 #travel-status{bottom:142px;left:74px;right:12px;transform:none;width:auto;max-width:none;padding:9px 12px;font-size:11px}
 .is-indoors #travel-control{top:104px}
 #camera-mode-control{right:12px;top:14px;gap:6px}
 .camera-view-switch{padding:3px;border-radius:11px;gap:2px}
 .camera-view-switch button{gap:4px;min-height:36px;padding:6px 7px;font-size:10px;border-radius:8px}
 .camera-view-switch button svg{width:14px;height:14px}
 #camera-mode-control .camera-view-switch>kbd{display:none}
 #travel-reverse{min-height:40px;font-size:10px;padding:6px 8px;gap:5px}
 #travel-reverse kbd{display:none}
 #travel-driving-hint{max-width:218px;padding:7px 9px;gap:3px;font-size:9px}
 #travel-driving-hint span:last-child{font-size:8px}
 #travel-flight button{min-height:40px;padding:6px 9px;font-size:10px}
 #travel-flight kbd{display:none}
 .is-indoors #camera-mode-control{top:104px}
 .is-indoors #travel-control{max-height:calc(100% - 217px)}
 #first-person-drive:not([hidden]){display:grid}
}
@media(pointer:coarse){#first-person-drive:not([hidden]){display:grid}}
@media(max-width:600px) and (max-height:650px){
 #travel-driving-hint span:last-child{display:none}
 #first-person-drive{grid-template-columns:repeat(4,40px);grid-template-rows:40px}
 #first-person-drive button[data-drive="left"]{grid-column:1;grid-row:1}
 #first-person-drive button[data-drive="forward"]{grid-column:2;grid-row:1}
 #first-person-drive button[data-drive="back"]{grid-column:3;grid-row:1}
 #first-person-drive button[data-drive="right"]{grid-column:4;grid-row:1}
}
@media(prefers-reduced-motion:reduce){.travel-option{transition:none}}
