:root{--primary:#103f30;--accent:#ddf6ad;--background:#f8f7f2;--text:#173c2d;font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--background)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;color:var(--primary);background:white;border:1px solid #d6dfd0;border-radius:14px;min-height:46px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}a{color:var(--primary)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}.app-shell{max-width:540px;margin:auto;min-height:100dvh;padding:30px 22px 105px;position:relative;background:var(--background)}.brandline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.brandline h1{font-size:34px;letter-spacing:-1.5px;line-height:1.1;margin:0}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;text-transform:uppercase;color:#577362;margin-bottom:15px}.language-button{padding:6px 9px;font-size:12px;min-height:36px;white-space:nowrap;border-radius:10px}.location{display:inline-flex;align-items:center;gap:7px;color:#385844;background:#e8f0db;border-radius:20px;font-size:13px;padding:9px 12px;margin-top:13px;border:0;min-height:36px}.lead{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:29px 0 20px}.services{display:grid;grid-template-columns:1fr 1fr;gap:15px}.service{padding:0;display:block;overflow:hidden;border:0;border-radius:20px;text-align:start;box-shadow:0 4px 13px #193f2d09;background:white}.service .visual{height:92px;display:grid;place-items:center}.service .visual svg{height:48px;width:48px;stroke-width:1.3}.service .visual img{height:48px;width:48px;object-fit:contain}.service .name{padding:13px 15px 15px;display:flex;align-items:center;gap:5px}.service .name>span{flex:1}.service strong{font-size:19px;line-height:1.2;display:block;letter-spacing:-.4px}.service small{font-size:11px;font-weight:400;display:block;margin-top:6px;color:#5e6e62;line-height:1.35}.service:last-child{grid-column:1/-1;display:flex;align-items:center;min-height:92px}.service:last-child .visual{width:82px;height:72px;margin:10px;border-radius:14px;flex-shrink:0}.service:last-child .name{flex:1;padding-inline-start:4px}.service:last-child strong{font-size:22px}.economy{display:flex;align-items:center;gap:12px;margin-top:23px;padding:16px;background:linear-gradient(110deg,#edf6d5,var(--accent));border-radius:17px;cursor:pointer}.economy input{width:23px;height:23px;accent-color:var(--primary);flex-shrink:0}.economy svg{width:29px;height:29px}.economy strong{font-size:17px}.economy small{font-size:12px;display:block;color:#52644e;margin-top:3px}.bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);background:#fbfcf8f5;border-top:1px solid #e4e9df;display:flex;justify-content:space-around;padding:10px 15px max(10px,env(safe-area-inset-bottom));z-index:8;backdrop-filter:blur(8px)}.bottomnav button{border:0;background:transparent;padding:7px 23px;display:grid;gap:4px;place-items:center;min-width:75px;font-size:11px;font-weight:550;border-radius:18px;min-height:57px}.bottomnav button.active{background:var(--accent)}.topbar{display:flex;align-items:center;gap:13px;margin-bottom:8px}.topbar .back{padding:7px;border:0;background:none}.topbar h1{font-size:30px;letter-spacing:-1px;margin:0;flex:1}.subtitle{font-size:14px;color:#617061;margin:7px 0 22px}.search{display:flex;align-items:center;gap:10px;background:white;padding:6px 8px 6px 14px;border:1px solid #d8e0d2;border-radius:15px;margin:16px 0}.search input{width:100%;min-width:0;border:0;outline:none;background:none;color:var(--primary);padding:9px 0;font-size:14px}.search button{border:0;background:var(--primary);color:white;min-height:37px;padding:6px 10px;border-radius:10px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.chip{font-size:12px;border-radius:22px;padding:8px 12px;min-height:35px;font-weight:550}.chip.active{background:var(--accent);border-color:var(--accent)}.chip input[type=date]{border:0;max-width:135px;background:none;color:inherit;font:inherit}.segment{display:flex;gap:3px;padding:4px;border-radius:13px;border:1px solid #d8e0d2;margin:18px 0}.segment button{flex:1;background:none;border:0;font-size:13px;min-height:38px;padding:7px}.segment .active{background:var(--primary);color:white;border-radius:10px}.card{background:white;border:1px solid #e1e7da;border-radius:19px;overflow:hidden;margin:16px 0;box-shadow:0 3px 10px #17382a05}.card .content{padding:18px}.card h2{font-size:19px;letter-spacing:-.4px;line-height:1.3;margin:0 0 10px}.card h3{font-size:16px;margin:0 0 8px}.event-image{width:100%;height:185px;object-fit:cover;display:block;background:#edf1e9}.card .meta{font-size:12px;line-height:1.6;color:#61715f;margin:6px 0}.pills{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.pill{font-size:11px;padding:5px 9px;border-radius:12px;background:#e8f2dc;line-height:1.4}.pill.warn{background:#fff2d5;color:#7a541b}.actions{display:flex;gap:8px;align-items:center;margin-top:14px}.actions .primary{flex:1}.primary{background:var(--primary);color:white;border-color:var(--primary)}.smallbutton{min-height:35px;padding:6px 10px;font-size:12px}.bookmark{padding:9px;border:0;background:#f3f6ef;border-radius:12px}.bookmark.saved{color:#215b2d;background:var(--accent)}.notice{padding:13px 15px;border:1px solid #e3dfc8;background:#fff7df;border-radius:13px;font-size:12px;line-height:1.6;margin:14px 0;color:#69592d}.notice.info{background:#edf4e4;border-color:#d3e1c7;color:#3c5f3b}.loading,.empty{text-align:center;padding:36px 15px;color:#627562;font-size:14px}.spinner{width:25px;height:25px;border:3px solid #dce8d3;border-top-color:var(--primary);border-radius:50%;margin:0 auto 14px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fresh{display:flex;align-items:center;gap:5px;font-size:10px;color:#687967;line-height:1.5;margin:12px 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;text-align:center;margin:20px 0}.metrics strong{display:block;font-size:27px}.metrics span{font-size:10px;color:#63745e}.detail-label{font-size:11px;color:#7b8974;display:block;margin-top:15px}.detail-value{font-size:14px;color:#344d37;white-space:pre-line}.description{font-size:14px;line-height:1.7;color:#425840;white-space:pre-line}.linkrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5ebde;padding:16px 0;font-size:14px}.map{height:390px;border-radius:18px;overflow:hidden;margin-top:16px;border:1px solid #d8e0d2;z-index:1}.map .leaflet-container{font:inherit}.map-marker{background:#174b32;color:white;width:34px;height:34px;border:3px solid white;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);box-shadow:0 2px 7px #0003;display:grid;place-items:center}.map-marker span{transform:rotate(45deg);font-size:11px;font-weight:750}.map-marker svg{width:18px;height:18px;transform:rotate(45deg)}.map-list{font-size:12px;color:#6b7a64}.dialog-backdrop{position:fixed;inset:0;background:#0b271e65;z-index:30;display:grid;place-items:center;padding:22px}.dialog{background:#fafbf6;border-radius:24px;width:min(420px,100%);padding:24px;max-height:85dvh;overflow:auto;box-shadow:0 20px 60px #0003}.dialog h2{margin:0 0 15px;font-size:23px}.dialog button.language{width:100%;justify-content:space-between;margin:3px 0;min-height:44px;background:white;border:1px solid #e0e6da}.dialog button.language.active{background:var(--accent);border-color:var(--accent)}.dialog select,.setting select{font:inherit;padding:10px;border:1px solid #d1dcc9;background:white;border-radius:10px}.setting{background:white;border:1px solid #e1e7da;border-radius:18px;padding:19px;margin:15px 0}.setting h2{font-size:18px;margin:0 0 12px}.setting p{color:#63775c;font-size:13px;line-height:1.6}.setting input{padding:12px;border:1px solid #cdd8c5;border-radius:10px;width:100%;font:inherit}.boot{text-align:center;font-size:27px;font-weight:750;margin-top:30vh}.boot small{font-size:14px;font-weight:400}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;margin:15px 0}.calendar button{padding:5px;min-height:42px;font-size:13px;border-radius:10px}.calendar .active{background:var(--accent)}.calendar .has-events{font-weight:800;border-bottom:3px solid var(--primary)}.route-step{padding:14px 0;border-bottom:1px solid #e3eadd;font-size:14px}.route-step .muted{font-size:12px;color:#788772}#toast{display:none;position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#173e2e;color:white;padding:12px 17px;border-radius:14px;max-width:90vw;font-size:13px;z-index:40}.transport-form{display:grid;gap:10px;margin:15px 0}.transport-form input{padding:13px;border:1px solid #d6dfcd;border-radius:12px;background:white;width:100%;font:inherit}.places-list button{width:100%;justify-content:start;text-align:start;font-size:13px;margin:5px 0}.legend{font-size:11px;color:#6c7e63;margin-top:9px}html[dir=rtl] .service{text-align:right}html[dir=rtl] .topbar .back{transform:rotate(180deg)}@media(min-width:850px){body{background:#e9eee5}.app-shell{box-shadow:0 0 80px #193c2815;min-height:100vh}.app-shell{padding-top:35px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}html.economy .event-image{display:none}html.economy .bottomnav{backdrop-filter:none}
