:root{color-scheme:dark;--bg:#030712;--panel:rgba(7,16,38,.79);--border:rgba(0,184,255,.28);--cyan:#00d4ff;--blue:#2378ff;--text:#f0f6fc;--muted:#a1b2c9;--top-bar-height:88px;--playback-space:210px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI",Meiryo,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-size:13px}button,input,select{font:inherit}button{cursor:pointer;color:var(--text);border:1px solid var(--border);border-radius:7px;background:rgba(18,37,65,.8);padding:9px 12px;transition:background .15s,border-color .15s}button:hover{background:#1c4263;border-color:var(--cyan)}button:disabled{opacity:.45;cursor:default}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #7ceaff;outline-offset:3px}button[aria-pressed=true]{background:linear-gradient(135deg,rgba(35,120,255,.6),rgba(0,212,255,.28));border-color:rgba(0,212,255,.8);box-shadow:0 0 12px #00d4ff20}[hidden]{display:none!important}a{color:#88dbff}small{color:var(--muted);display:block;font-size:11px;line-height:1.65}label{display:block;margin:11px 0 6px;color:#d0e0f3}input[type=range]{width:100%;accent-color:#27baff;margin:8px 0}input[type=file]{width:100%;font-size:12px;margin:6px 0 8px}input[type=file]::file-selector-button{color:var(--text);background:#1b3655;border:1px solid var(--border);border-radius:5px;padding:7px;margin-right:8px}input[type=search],select{width:100%;padding:9px;background:#0c1b31;color:var(--text);border:1px solid #28506e;border-radius:7px}input[type=search]::placeholder{color:#a1b2c9}input[type=checkbox]{accent-color:var(--cyan)}summary{cursor:pointer}p{margin:8px 0}#map{position:fixed;inset:0}gmp-map-3d{display:block;width:100%;height:100%}#nightShade{position:fixed;inset:0;pointer-events:none;background:rgba(3,12,35,.43);opacity:0;transition:opacity 1.2s}#nightShade.active{opacity:1}
#topBar{position:fixed;z-index:30;left:0;right:0;top:0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 18px;padding:12px 20px;background:rgba(3,10,25,.91);border-bottom:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px}.brand img{border-radius:10px;box-shadow:0 0 16px #00d4ff33}.brand h1{font-size:21px;letter-spacing:.035em;margin:0;line-height:1.2}.brand p{font:10px ui-monospace,Consolas,monospace;letter-spacing:.1em;color:#6cddff;margin:4px 0 0}.brand span{letter-spacing:0;margin-left:8px;color:var(--muted)}.sub{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b4c8df;grid-column:1;margin-top:7px}#panelMenu{display:none}#panelNav{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}#panelButtons{display:flex;gap:5px;flex-wrap:wrap}#panelButtons button{padding:7px 9px;font-size:11px;white-space:nowrap}.layoutActions{display:flex;gap:5px}.layoutActions button{padding:7px 9px;font-size:11px;background:#0d1b2e}
#panelWorkspace{position:fixed;z-index:20;top:var(--top-bar-height);left:16px;right:16px;bottom:36px;pointer-events:none}.panelColumn{position:absolute;top:0;width:330px;bottom:var(--playback-space);overflow:auto;overscroll-behavior:contain;pointer-events:auto;padding:0 3px 4px 0;scrollbar-width:thin;scrollbar-color:#2075a0 transparent}#leftPanels{left:0}#rightPanels{right:0}.glassPanel{border:1px solid var(--border);border-radius:13px;background:var(--panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 28px #0006,0 0 14px #00d4ff08;margin-bottom:12px;overflow:hidden;pointer-events:auto}.panelHeader{display:flex;gap:8px;align-items:center;padding:10px 13px;border-bottom:1px solid #00b8ff24;background:linear-gradient(180deg,#00d4ff0d,transparent)}.panelHeader h2{font-size:13px;margin:0;letter-spacing:.025em}.panelTag{margin-left:auto;font:9px ui-monospace,Consolas,monospace;letter-spacing:.1em;color:#75c7eb}.panelClose{background:transparent;border:0;padding:0;width:26px;height:26px;font-size:21px;color:#a0c3dc;line-height:1}.panelClose:hover{color:#fff;background:#00d4ff1c}.panelBody{padding:12px 14px}.panelBody>:first-child{margin-top:0}.row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0}.row button{flex:1;min-width:65px}.check{display:flex;align-items:center;gap:7px;line-height:1.5}.status{line-height:1.65;font-size:11px;padding:9px 10px;background:#081526a6;border:1px solid #829bbb12;border-radius:7px;margin:10px 0;overflow-wrap:anywhere;white-space:pre-line}.warn{color:#d8c59a;font-size:11px;line-height:1.7}#message{font-size:11px;line-height:1.6;color:#9edfff}#routeSearch{margin:9px 0}#routeList{height:160px;font-size:12px;padding:4px}#routeList option{padding:5px 6px}#catalogCount{font:11px ui-monospace,Consolas,monospace;color:#8bd8f7;margin:6px 0}#start{background:#176b99}.cameraButtons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cameraButtons button{font:11px ui-monospace,Consolas,monospace;padding:10px 5px}.cameraButtons small{font:9px system-ui,sans-serif;margin-top:5px}#weatherStatus{font-size:11px;white-space:pre-line;line-height:1.7;margin:9px 0}#explainStatus,#guideStatus{white-space:pre-line}.guideCard{margin:9px 0;padding:11px;border:1px solid #38729350;border-radius:8px;background:#0b1e35b0;overflow-wrap:anywhere}.guideCard h3{font-size:13px;margin:0 0 8px;line-height:1.6}.guideCard p{line-height:1.7;white-space:pre-line}.guideCard button{padding:6px 9px;font-size:11px}.guideDistance{color:#8fdbff}.guideSources{font-size:11px;line-height:1.7;margin-top:8px}.mapsAttribution{font:400 11px system-ui,sans-serif;color:#fff;white-space:nowrap}#explainText{line-height:1.9;white-space:pre-line;overflow-wrap:anywhere;margin-top:10px}
#playbackPanel{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(820px,100%);margin:0}#playbackPanel .panelHeader{padding:6px 13px}#playbackPanel .panelBody{display:grid;grid-template-columns:200px 1fr;gap:5px 18px;padding:10px 16px}#playbackPanel .row{grid-row:1/span 2;margin:0}#playbackPanel label{margin:0;font-size:11px}#playbackPanel #progress{margin:0}#playbackPanel .check{grid-column:1;font-size:10px}#playbackPanel #speed{grid-column:2;margin:0}#playbackPanel strong{color:var(--cyan)}
@media(min-width:769px) and (max-width:1100px){#topBar{grid-template-columns:190px 1fr;padding:10px 14px;gap:0 8px}.panelColumn{width:285px}#panelButtons button,.layoutActions button{padding:6px;font-size:10px}#panelNav{gap:5px}#panelWorkspace{left:10px;right:10px}.panelBody{padding:10px}}
@media(max-width:768px){:root{--top-bar-height:78px}#topBar{padding:10px 12px;grid-template-columns:1fr auto;gap:0 8px}.brand h1{font-size:19px}.brand img{width:34px;height:34px}.brand p{font-size:9px}.sub{font-size:10px;max-width:calc(100vw - 110px)}#panelMenu{display:block;grid-column:2;grid-row:1/span 2;font-size:12px;padding:9px 11px}#panelNav{display:none;position:absolute;right:10px;top:calc(100% + 6px);left:10px;background:rgba(7,16,38,.97);border:1px solid var(--border);border-radius:12px;padding:12px;max-height:42dvh;overflow:auto;justify-content:flex-start}#panelNav[data-open=true]{display:flex}#panelButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}#panelButtons button,.layoutActions button{min-height:40px;font-size:11px}.layoutActions{width:100%}.layoutActions button{flex:1}#panelWorkspace{top:auto;left:8px;right:8px;bottom:max(36px,env(safe-area-inset-bottom));max-height:calc(33.333dvh - 48px);display:flex;flex-direction:column;gap:9px;overflow:auto;pointer-events:auto;overscroll-behavior:contain;scrollbar-width:thin}.panelColumn{display:contents}.glassPanel{flex:none;width:100%;margin:0}.panelBody{padding:10px 12px}#playbackPanel{position:static;transform:none;width:100%;order:-1}#playbackPanel .panelBody{grid-template-columns:120px 1fr;gap:6px 10px;padding:9px 12px}.panelHeader{padding:7px 12px}.panelHeader h2{font-size:12px}#routeList{height:145px}.panelClose{width:30px;height:28px}button{min-height:35px}.panelTag{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.mapModes{display:flex;gap:6px;margin:0 0 11px}.mapModes button{flex:1;font-size:10px;padding:8px 5px}
@media(max-width:768px){#panelNav{grid-column:auto;grid-row:auto}#panelButtons button{min-width:0;white-space:normal;overflow-wrap:anywhere}}
@media(max-width:768px){#playbackPanel .row{grid-column:1/-1;grid-row:auto;flex-wrap:nowrap}#playbackPanel .progressLabel,#playbackPanel #progress,#playbackPanel .check{grid-column:1/-1}#playbackPanel .check{font-size:10px}#playbackPanel .row button{min-width:0}}

/* Compact SkyRoute-style toolbar and one continuous left panel stack. */
:root{--panel:rgba(16,20,24,.84);--border:rgba(0,190,235,.3)}
#brandPanel{position:fixed;z-index:31;top:12px;left:18px;width:180px;min-height:44px;padding:8px 10px;display:grid;grid-template-columns:26px 1fr;gap:3px 8px;background:rgba(12,18,23,.86);border:1px solid var(--border);border-radius:9px;backdrop-filter:blur(12px)}
#brandPanel img{width:26px;height:26px;border-radius:6px}#brandPanel h1{font-size:16px;font-weight:500;letter-spacing:0;color:#8be7ff}#brandPanel p{display:none}#brandPanel .sub{grid-column:1/-1;margin:0;font-size:9px;max-width:100%}
#topBar{left:208px;right:18px;top:12px;display:block;padding:0;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
#panelNav{display:flex;justify-content:flex-start;align-items:flex-start;gap:6px}#panelButtons{gap:5px}#panelButtons button,.layoutActions button{min-height:34px;padding:7px 10px;border-radius:5px;background:rgba(9,20,30,.86);font-size:11px}#panelButtons button[aria-pressed=true]{background:linear-gradient(180deg,#0084ba88,#003655aa);box-shadow:inset 0 0 10px #00cfff22}
#panelWorkspace{left:18px;right:auto;width:380px;bottom:36px;overflow:auto;pointer-events:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#85909a #ffffff22}
.panelColumn{position:static;width:100%;padding:0 8px 0 0;overflow:visible}#leftPanels{left:auto}.glassPanel{margin:0 0 10px;border-radius:12px;box-shadow:0 5px 18px #0004;backdrop-filter:blur(10px)}.panelHeader{padding:6px 12px;background:rgba(5,12,15,.32)}.panelHeader h2{font-size:12px;color:#00d4ff}.panelTag{display:none}.panelBody{padding:12px 18px}button,input[type=search],select{border-radius:5px;background-color:rgba(12,22,29,.8)}
.cameraButtons{display:flex;flex-wrap:wrap;gap:3px}.cameraButtons button{flex:1;padding:6px 4px;font-size:10px;min-width:49px}.cameraButtons small{display:none}.mapModes button{padding:6px 4px}.status{background:#080f1640;border-color:#ffffff0c}
#playbackPanel{position:static;transform:none;width:100%;margin:0 0 10px}#playbackPanel .panelHeader{padding:6px 12px}#playbackPanel .panelBody{display:block;padding:12px 18px}#playbackPanel .row{margin:0 0 10px}#playbackPanel label{margin:7px 0}#playbackPanel #progress,#playbackPanel #speed{margin:6px 0}#playbackPanel .check{font-size:11px}
@media(min-width:769px) and (max-width:1100px){#panelWorkspace{width:330px}#topBar{left:208px;padding:0}#panelButtons button,.layoutActions button{padding:7px;font-size:10px}}
@media(max-width:768px){#brandPanel{top:8px;left:8px;width:156px;padding:6px 8px}#topBar{top:8px;left:174px;right:8px;padding:0;display:block}#panelMenu{display:none}#panelNav{position:static;display:flex;max-height:25dvh;overflow:auto;background:transparent;border:0;border-radius:0;padding:0;gap:5px}#panelButtons{display:flex;flex-wrap:wrap;gap:4px;width:auto}#panelButtons button,.layoutActions button{min-height:30px;min-width:0;padding:6px;font-size:10px;white-space:nowrap}.layoutActions{width:auto;flex-wrap:wrap}#panelWorkspace{top:auto;left:8px;right:auto;width:calc(100vw - 16px);bottom:max(36px,env(safe-area-inset-bottom));max-height:calc(33.333dvh - 48px);display:block;overflow:auto}.panelColumn{display:block;padding:0 5px 0 0}.glassPanel{margin-bottom:9px}#playbackPanel{order:initial}.panelBody,#playbackPanel .panelBody{padding:10px 12px}}
.panelClose{margin-left:auto}

/* Small screens keep the full toolbar behind one operation button. */
@media(max-width:768px){
 #topBar{left:auto;right:12px;top:10px}
 #panelMenu{display:block;min-height:40px;padding:9px 14px;background:rgba(9,20,30,.92)}
 #panelNav{display:none;position:fixed;top:64px;right:8px;left:8px;max-height:45dvh;overflow:auto;padding:12px;background:rgba(12,18,23,.96);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(12px)}
 #panelNav[data-open=true]{display:flex}
 #panelButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px}
 #panelButtons button{white-space:normal;min-height:40px;font-size:11px}
 .layoutActions{width:100%}.layoutActions button{min-height:40px}
}

/* Leave the native Maps mode control at the upper-right unobstructed. */
#topBar{right:110px;pointer-events:none}
#panelNav button,#panelMenu{pointer-events:auto}
#panelNav{pointer-events:none}
#panelNav[data-open=true]{pointer-events:auto}
@media(max-width:768px){
 #topBar{right:102px}
 #panelNav{left:8px;right:102px;top:72px}
}
