:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#18342b;--muted:#53665e;--surface:#fcfbf6;--raised:#fffefa;--base:#eeede6;--line:#dcded3;--accent:#28634e;--wash:#e8efe5;--header:#152e27;--yellow:#f6d166;font-family:Inter,ui-sans-serif,system-ui,sans-serif}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eaf3ec;--muted:#b4c9bf;--surface:#203630;--raised:#263e36;--base:#142721;--line:#41574e;--accent:#afdfc2;--wash:#304b41;--header:#11241f}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--base);color:var(--ink);margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,a:focus-visible,canvas:focus-visible{outline-offset:2px;outline:3px solid #df9b27}button,a{-webkit-tap-highlight-color:transparent}svg{flex:none;width:20px;height:20px}h1,h2,p{margin:0}#app{min-height:100dvh}.masthead{color:#fbfaf4;background:var(--header);padding:max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:8px;display:flex}.identity,.identity>div{display:flex}.identity{align-items:center;gap:11px}.identity>div{flex-direction:column;gap:1px;font-size:.84rem}.identity>div span{color:#c2d5c8;font-size:.72rem}.logo{letter-spacing:-.09em;border:1px solid #5e7a68;border-radius:12px;grid-auto-flow:column;place-content:center;width:54px;height:42px;font-size:1.45rem;font-weight:900;display:grid}.logo span{color:var(--yellow)}.appearance,.fit,.icon-button,.text-button{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;font-size:.8rem;font-weight:700;display:inline-flex}.appearance{white-space:nowrap;background:#29463c;border:1px solid #567265;padding:0 9px}.appearance:hover{background:#395a4c}.workspace{flex-direction:column;min-height:calc(100dvh - 64px);display:flex}.map-frame{isolation:isolate;background:radial-gradient(ellipse at 40% 38%, var(--wash), var(--base));flex:1 0 auto;min-width:0;min-height:210px;position:relative}.map{position:absolute;inset:0}.map-title{background:var(--surface);border:1px solid var(--line);letter-spacing:.11em;pointer-events:none;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:.63rem;font-weight:800;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 2px 12px #14272112}.map-title>span{background:#5b9c79;border-radius:50%;width:7px;height:7px}.fit{background:var(--surface);border:1px solid var(--line);width:44px;position:absolute;top:153px;right:10px;box-shadow:0 2px 12px #14272124}.maplibregl-ctrl-group{overflow:hidden}.maplibregl-ctrl-group button{width:44px;height:44px}.map-notices{z-index:1;pointer-events:none;justify-items:start;gap:6px;display:grid;position:absolute;top:51px;left:12px;right:64px}.notice{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:3px 10px;max-width:330px;padding:7px 10px;font-size:.76rem;display:flex}.notice button{pointer-events:auto;min-height:44px;color:var(--accent);background:0 0;border:0;padding:0 4px;font-weight:800;text-decoration:underline}.panel{background:var(--surface);border-top:1px solid var(--line);min-width:0;padding:0 max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));z-index:2;flex:none}.panel-heading{justify-content:space-between;align-items:center;gap:6px;padding:12px 1px 6px;display:flex}.eyebrow{letter-spacing:.14em;color:var(--accent);margin-bottom:4px;font-size:.62rem;font-weight:850;display:block}.panel h1{letter-spacing:-.035em;align-items:center;gap:8px;font-size:clamp(1.06rem,5vw,1.4rem);line-height:1.13;display:flex}.panel-heading p{color:var(--muted);margin-top:4px;font-size:.76rem}.icon-button{background:var(--wash);border:1px solid var(--line);flex:0 0 44px;width:44px}.expanded .panel-toggle svg{transform:rotate(180deg)}.chip-tray{scrollbar-width:thin;gap:6px;padding:4px 2px 5px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--raised);border-radius:10px;flex:none;display:flex}.chip button{background:0 0;border:0;place-items:center;min-width:44px;min-height:44px;padding:0 5px;display:grid}.chip button+button{border-left:1px solid var(--line);color:var(--accent)}.chip.off .badge{opacity:.55}.badge{background:color-mix(in srgb, var(--route), black 24%);color:#fff;letter-spacing:.01em;border-radius:7px;place-items:center;min-width:35px;height:28px;padding:0 5px;font-size:.76rem;font-weight:850;display:inline-grid}.peek-action{padding-left:1px}.expanded .peek-action,.expanded .chip-tray{display:none}.panel-body{overscroll-behavior:contain;min-height:58px;max-height:25dvh;padding:0 3px 4px;overflow:auto}.panel-actions{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.74rem;display:flex}.text-button{color:var(--accent);text-align:left;background:0 0;border:0;padding:0 4px}.text-button:hover,.text-button[aria-pressed=true]{text-decoration:underline}.text-button svg{width:16px;height:16px}.route-list{gap:6px;display:grid}.route-row{background:var(--raised);border:1px solid var(--line);border-radius:11px;align-items:stretch;min-width:0;display:flex}.route-row:hover{border-color:var(--accent)}.route-open,.stop-list button{border-radius:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;width:100%;min-width:0;min-height:46px;padding:6px 8px;font-size:.79rem;font-weight:700;display:flex}.route-open>svg,.stop-list button>svg{width:15px;color:var(--muted);margin-left:auto}.visibility{border:0;border-left:1px solid var(--line);color:var(--accent);background:0 0;border-radius:0 10px 10px 0}.visibility[aria-pressed=false]{color:var(--muted)}.stop-list{margin:0;padding:0;list-style:none}.stop-list li{position:relative}.stop-list li+li:before{content:"";background:var(--line);pointer-events:none;width:2px;height:20px;position:absolute;top:-10px;left:20px}.stop-list button{border-radius:8px}.stop-list button:hover{background:var(--wash)}.stop-list small{color:var(--muted);font-weight:500;display:block}.stop-index{border:2px solid var(--route);background:var(--raised);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.68rem;display:grid;position:relative}.empty{background:var(--wash);border-radius:8px;margin-bottom:6px;padding:8px;font-size:.76rem}.legend{color:var(--muted);align-items:center;gap:6px;margin:12px 0 7px;font-size:.72rem;display:flex}.legend i{background:#fffdf5;border:2px solid #c74454;border-radius:50%;width:10px;height:10px}.legend .shared{border:3px solid #17392f;width:14px;height:14px;margin-left:6px}.disclaimer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;padding:7px 0;font-size:.68rem;display:flex}.disclaimer svg{width:14px;height:14px}dialog{width:min(365px,100% - 20px);max-height:82dvh;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:17px;margin:70px 10px auto auto;padding:14px;box-shadow:0 10px 40px #152e2740}dialog::backdrop{background:#152e2724}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dialog-head h2{letter-spacing:-.04em;font-size:1.2rem}.theme-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.theme-option{border:1px solid var(--line);background:var(--raised);border-radius:8px;min-height:54px;padding:5px;font-size:.75rem;font-weight:800}.theme-option[aria-pressed=true]{border:2px solid var(--accent);background:var(--wash)}.swatch{background:linear-gradient(155deg,#c9dfbc 44%,#9dcfe0 45% 58%,#eeede8 59%);border-radius:3px;height:12px;margin:1px 3px 4px;display:block}.swatch.night{background:linear-gradient(155deg,#244639 44%,#17445c 45% 58%,#172b34 59%)}.swatch.minimal{background:linear-gradient(155deg,#eee 44%,#b4d8dc 45% 58%,#f1f0eb 59%)}.style-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;margin-top:8px;display:grid}.style-settings label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:5px;min-height:46px;font-size:.75rem;display:flex}.style-settings label:nth-child(n+5){grid-column:1/-1}.style-settings input[type=color]{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:8px}.style-settings input[type=checkbox]{accent-color:#34785f;width:21px;height:21px}.style-settings input[type=range]{accent-color:#34785f;width:min(47%,160px)}.style-settings output{color:var(--muted)}.reset{margin-top:3px}@media (min-width:721px){.masthead{height:70px;padding-inline:25px}.identity{gap:14px}.identity>div{font-size:1rem}.appearance{padding-inline:12px}.workspace{flex-direction:row-reverse;gap:10px;height:calc(100dvh - 70px);min-height:390px;padding:10px}.map-frame{border:1px solid var(--line);border-radius:16px;flex:auto;overflow:hidden}.panel{border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(335px,40vw);padding:8px 13px 0;display:flex}.panel:has(#panel-content:not(.expanded)){align-self:flex-start;width:230px}#panel-content{flex-direction:column;flex:1;min-height:0;display:flex}.panel-heading{padding:12px 2px 10px}.panel h1{font-size:1.45rem}.panel-body{flex:1;max-height:none}.disclaimer{margin-top:8px;padding-block:11px}.map-title{top:15px;left:15px}.map-notices{top:55px;left:15px}}
