:root{font-family:Inter,system-ui,sans-serif;color:var(--tg-theme-text-color,#f5f7fa);background:var(--tg-theme-bg-color,#10151c)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,a{font:inherit}main{min-height:100vh;padding:max(12px,env(safe-area-inset-top)) 12px calc(92px + env(safe-area-inset-bottom));max-width:760px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 12px}header b{font-size:20px}header small{display:block;color:var(--tg-theme-hint-color,#9ba8b7);margin-top:3px}.locate,.close{border:0;border-radius:50%;width:42px;height:42px;background:var(--tg-theme-button-color,#2787f5);color:var(--tg-theme-button-text-color,#fff);font-size:24px}form{display:flex;gap:8px}input{min-width:0;flex:1;border:0;border-radius:14px;padding:13px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit}form button,.route{border:0;border-radius:14px;padding:0 16px;background:var(--tg-theme-button-color,#2787f5);color:var(--tg-theme-button-text-color,#fff);text-decoration:none;display:grid;place-items:center}.map{height:calc(100vh - 190px);min-height:420px;border-radius:18px;overflow:hidden;background:var(--tg-theme-secondary-bg-color,#1b2430)}.notice,.empty,.placeholder{padding:14px;border-radius:14px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:var(--tg-theme-hint-color,#9ba8b7);margin:8px 0}.list{display:grid;gap:9px}.station{position:relative;text-align:left;border:0;padding:15px;border-radius:16px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit}.station span,.station small{display:block;color:var(--tg-theme-hint-color,#9ba8b7);margin-top:5px}.station small{position:absolute;right:14px;top:9px}aside{position:fixed;z-index:30;left:50%;bottom:0;transform:translate(-50%);width:min(760px,100%);padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--tg-theme-bg-color,#10151c);box-shadow:0 -8px 35px #0007}aside h2{margin:0 48px 8px 0}aside p{color:var(--tg-theme-hint-color,#9ba8b7)}aside .close{position:absolute;right:14px;top:14px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit}.route{height:48px;margin-top:14px}@media(max-width:420px){form button{padding:0 12px}.map{min-height:360px}}.header-actions{display:flex;gap:8px}.add{border:0;border-radius:50%;width:42px;height:42px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit;font-size:24px}.edit{width:100%;margin-top:8px;padding:12px;border:0;border-radius:14px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit}.modal{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end}.admin-form{position:relative;width:min(760px,100%);max-height:94vh;overflow:auto;margin:auto;padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--tg-theme-bg-color,#10151c)}.admin-form h2{margin:0 48px 16px 0}.admin-form label{display:grid;gap:6px;margin:10px 0;color:var(--tg-theme-hint-color,#9ba8b7);font-size:13px}.admin-form input{width:100%;color:var(--tg-theme-text-color,#f5f7fa)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-form .save{width:100%;padding:14px;margin-top:12px;border:0;border-radius:14px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.admin-form .close{position:absolute;right:14px;top:14px}.fuel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.fuel{display:grid;gap:3px;padding:10px;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#1b2430);border-left:4px solid #778}.fuel.green{border-color:#28b463}.fuel.yellow{border-color:#f4d03f}.fuel.red{border-color:#e74c3c}.fuel span,.fuel small,.hint{color:var(--tg-theme-hint-color,#9ba8b7);font-size:12px}.queue{padding:10px;margin-top:8px;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#1b2430)}.report{width:100%;padding:12px;margin-top:10px;border:0;border-radius:14px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.fuel-row{display:grid;grid-template-columns:1fr 1.25fr .7fr;gap:6px;align-items:center;margin:8px 0}.fuel-row select,.report-form select{min-width:0;padding:10px;border:0;border-radius:10px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit}.fuel-row input{padding:10px}.report-form{display:block}.report-form label select{width:100%}aside{max-height:92vh;overflow:auto}.reports{display:grid;gap:8px;margin-top:14px}.report-item{display:grid;gap:7px;padding:10px;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#1b2430);font-size:13px}.report-item div{display:flex;gap:6px}.report-item button{border:0;border-radius:10px;padding:7px 9px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:7px;background:#778}.status-dot.available{background:#28b463}.status-dot.ending{background:#f4d03f}.status-dot.unavailable{background:#e74c3c}.chat{margin-top:18px;padding-top:14px;border-top:1px solid rgba(128,128,128,.25)}.chat-title{display:flex;justify-content:space-between;align-items:end;gap:10px}.chat-title small{font-size:10px;opacity:.65;text-align:right}.messages{display:grid;gap:10px;margin:10px 0;max-height:300px;overflow:auto}.messages article{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:8px;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#1b2430)}.messages article.mine{background:#2787f529}.messages article p{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#64748b;color:#fff;font-size:11px;font-weight:700;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.message-actions{display:flex;gap:6px;margin-top:5px}.message-actions button,.older{border:0;background:transparent;color:var(--tg-theme-link-color,#54a3ff);padding:2px;font-size:11px}.chat-form{display:grid;grid-template-columns:1fr 42px;gap:7px}.chat-form textarea{resize:none;border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:9px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit}.chat-form button{border:0;border-radius:12px;background:var(--tg-theme-button-color,#2787f5);color:#fff;font-size:18px}.counter{display:block;text-align:right;opacity:.55}.chat-error{color:#ef4444}.success{color:#22c55e}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:min(760px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:0;padding:8px 8px max(8px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:color-mix(in srgb,var(--tg-theme-bg-color,#10151c) 94%,transparent);box-shadow:0 -8px 30px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{min-width:0;border:0;border-radius:13px;padding:7px 2px 6px;background:transparent;color:var(--tg-theme-hint-color,#9ba8b7);display:grid;place-items:center;gap:2px}.bottom-nav button span{font-size:22px;line-height:1}.bottom-nav button b{font-size:10px;font-weight:650}.bottom-nav button.active{background:color-mix(in srgb,var(--tg-theme-button-color,#2787f5) 18%,transparent);color:var(--tg-theme-button-color,#54a3ff)}.top-panel{padding-top:4px}.search{margin-bottom:12px}.screen-card{min-height:calc(100vh - 170px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;border-radius:20px;background:var(--tg-theme-secondary-bg-color,#1b2430)}.screen-card>span{font-size:48px}.screen-card p{max-width:360px;color:var(--tg-theme-hint-color,#9ba8b7)}.screen-card button{border:0;border-radius:14px;padding:12px 18px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.profile-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#2787f5,#36b3a8);color:#fff;font-size:30px;font-weight:800}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-note{margin-top:20px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--tg-theme-button-color,#2787f5) 12%,transparent);color:var(--tg-theme-hint-color,#9ba8b7)}.moderation-open{margin-top:18px!important}.moderation-screen{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;padding:max(12px,env(safe-area-inset-top)) 14px calc(82px + env(safe-area-inset-bottom));overflow:auto;background:var(--tg-theme-bg-color,#10151c)}.moderation-screen header{justify-content:flex-start;gap:12px}.moderation-screen .back{width:42px;height:42px;border:0;border-radius:50%;background:var(--tg-theme-secondary-bg-color,#1b2430);color:inherit;font-size:22px}.moderation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 18px}.moderation-stats div{display:grid;text-align:center;padding:12px 4px;border-radius:14px;background:var(--tg-theme-secondary-bg-color,#1b2430)}.moderation-stats b{font-size:22px}.moderation-stats span{font-size:11px;color:var(--tg-theme-hint-color,#9ba8b7)}.moderation-scroll h3{margin:22px 0 9px}.moderation-scroll article{display:grid;gap:6px;padding:12px;margin:8px 0;border-radius:14px;background:var(--tg-theme-secondary-bg-color,#1b2430)}.moderation-scroll article>span,.moderation-scroll article>small{color:var(--tg-theme-hint-color,#9ba8b7);overflow-wrap:anywhere}.moderation-scroll article div{display:flex;flex-wrap:wrap;gap:7px}.moderation-scroll article button{border:0;border-radius:10px;padding:8px 10px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.moderation-scroll article button.danger{background:#b94343}.moderation-search{margin-bottom:10px}.favorite-toggle,.subscribe{border:0;border-radius:10px;padding:7px 9px;background:color-mix(in srgb,var(--tg-theme-button-color,#2787f5) 18%,transparent);color:var(--tg-theme-button-color,#54a3ff)}.favorite-toggle{margin:8px 0}.fuel .subscribe{margin-top:5px;font-size:11px}main.map-view{height:100dvh;min-height:0;overflow:hidden;padding:max(12px,env(safe-area-inset-top)) 12px calc(76px + env(safe-area-inset-bottom))}.map-shell{position:relative;height:100%;min-height:0}.map-shell .map{height:100%;min-height:0;border-radius:20px}.map-logo{position:absolute;z-index:11;top:8px;right:8px;width:56px;height:56px;border-radius:50%;object-fit:cover;pointer-events:none;filter:drop-shadow(0 4px 10px #0009)}.map-search{position:absolute;z-index:10;top:12px;left:12px;right:76px;padding:5px;border-radius:17px;background:color-mix(in srgb,var(--tg-theme-bg-color,#10151c) 92%,transparent);box-shadow:0 5px 24px #0005;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.map-search input{padding:10px 12px;background:transparent}.map-search button{width:42px;padding:0;border-radius:12px;font-size:23px}.map-count{position:absolute;z-index:10;top:72px;left:12px;padding:8px 11px;border-radius:13px;background:color-mix(in srgb,var(--tg-theme-bg-color,#10151c) 90%,transparent);box-shadow:0 4px 18px #0004;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;font-weight:700}.map-locate{position:absolute;z-index:10;right:12px;bottom:35px;width:46px;height:46px;border:0;border-radius:50%;background:var(--tg-theme-button-color,#2787f5);color:#fff;box-shadow:0 5px 22px #0006;font-size:25px}.map-source{position:absolute;z-index:10;left:8px;bottom:44px;padding:2px 4px;border-radius:5px;background:#ffffffc7;color:#222;font-size:9px;line-height:1.15;text-decoration:none;white-space:nowrap}.map-notice{position:absolute;z-index:12;left:12px;right:12px;bottom:140px;margin:0}.map-error{position:absolute;z-index:12;left:12px;right:12px;top:116px;margin:0}.map-empty{position:absolute;z-index:11;top:116px;left:12px;right:12px;padding:11px;border-radius:12px;background:color-mix(in srgb,var(--tg-theme-bg-color,#10151c) 92%,transparent);text-align:center;font-size:13px}.map-notice button{float:right;border:0;border-radius:9px;padding:5px 8px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.map-search button:disabled,.search button:disabled{opacity:.6}.data-attribution{display:block;margin:14px 0;text-align:center;color:var(--tg-theme-hint-color,#9ba8b7);font-size:10px}.station-source{display:block;margin:6px 0 12px;color:var(--tg-theme-link-color,#54a3ff);font-size:12px}.status-label{font-size:11px;font-weight:700;color:var(--tg-theme-text-color,#f5f7fa)!important}.map-legend{position:absolute;z-index:10;top:112px;left:12px;max-width:310px;display:flex;flex-wrap:wrap;gap:4px 9px;padding:7px 9px;border-radius:11px;background:color-mix(in srgb,var(--tg-theme-bg-color,#10151c) 88%,transparent);font-size:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-legend span{display:flex;align-items:center;gap:3px}.map-legend .status-dot{margin:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:500px){.map-legend{display:none}.map-search{top:6px}.map-count{top:60px}.map-error,.map-empty,.map-notice{top:98px;bottom:auto;max-height:48px;overflow:auto}.map-locate{bottom:29px}.map-source{bottom:22px}}@media(max-height:340px){.map-count{display:none}.map-source{top:62px;bottom:auto}.map-error,.map-empty,.map-notice{top:94px;right:12px}.map-locate{bottom:29px}}@media(max-height:280px){.map-locate{display:none}.map-error,.map-empty,.map-notice{max-height:40px}}.filter-trigger{position:relative}.filter-trigger.active{background:#16a36a!important;color:#fff!important;box-shadow:0 0 0 2px color-mix(in srgb,#16a36a 35%,transparent)}.list-filter-trigger{padding:0 11px;font-size:12px}.map-source-toggle{width:22px;height:22px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;font-size:13px;cursor:pointer}.filter-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#0009}.filter-sheet{position:relative;width:min(760px,100%);max-height:min(82dvh,560px);overflow:auto;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--tg-theme-bg-color,#10151c);box-shadow:0 -10px 36px #0009}.filter-sheet header{align-items:flex-start;padding:0 0 18px}.filter-sheet h2{margin:0 48px 4px 0}.filter-sheet header small{max-width:440px}.filter-sheet .close{position:absolute;right:16px;top:14px}.filter-group{min-width:0;margin:12px 0;padding:0;border:0}.filter-group legend{margin-bottom:8px;color:var(--tg-theme-hint-color,#9ba8b7);font-size:13px;font-weight:700}.filter-options{display:grid;gap:7px}.fuel-options{grid-template-columns:repeat(3,minmax(0,1fr))}.status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-option{min-width:0;min-height:44px;display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--tg-theme-hint-color,#9ba8b7) 28%,transparent);border-radius:12px;background:var(--tg-theme-secondary-bg-color,#1b2430);color:var(--tg-theme-text-color,#f5f7fa);font-size:12px;line-height:1.15;cursor:pointer}.filter-option.selected{border-color:var(--tg-theme-button-color,#2787f5);background:color-mix(in srgb,var(--tg-theme-button-color,#2787f5) 22%,var(--tg-theme-secondary-bg-color,#1b2430))}.filter-option input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:var(--tg-theme-button-color,#2787f5)}.filter-option span{min-width:0;overflow-wrap:anywhere}.filter-group:disabled{opacity:.45}.filter-group:disabled .filter-option{cursor:not-allowed}.filter-hint{margin:4px 0 14px;color:var(--tg-theme-hint-color,#9ba8b7);font-size:12px}.filter-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:18px}.filter-actions button{min-height:46px;border:0;border-radius:14px;background:var(--tg-theme-button-color,#2787f5);color:#fff}.filter-actions .secondary{background:var(--tg-theme-secondary-bg-color,#1b2430);color:var(--tg-theme-text-color,#f5f7fa)}@media(max-height:500px){.filter-sheet{max-height:96dvh;padding-top:12px}.filter-sheet header{padding-bottom:6px}.filter-group{margin:7px 0}.filter-actions{margin-top:9px}}@media(prefers-reduced-motion:reduce){.filter-backdrop,.filter-sheet{scroll-behavior:auto}}.map-count{max-width:calc(100% - 82px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-logo{width:46px;height:46px;border-radius:12px;object-fit:contain;background:#fff;padding:5px;grid-row:1/4;align-self:center}.station-logo.fallback{display:grid;place-items:center;background:var(--tg-theme-secondary-bg-color,#1b2430);font-size:22px;padding:0}.station-detail-title{display:flex;align-items:center;gap:10px;padding-right:38px}.station-detail-title h2{margin:0}.station-detail-title .station-logo{flex:0 0 44px;width:44px;height:44px}.map-add-station{position:absolute;z-index:12;left:6px;bottom:36px;min-height:44px;padding:0 15px;border:0;border-radius:14px;background:#16a36a;color:#fff;font-weight:700;box-shadow:0 5px 18px #0007}.placement-panel{position:absolute;z-index:13;left:12px;right:12px;bottom:66px;display:grid;gap:5px;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--tg-theme-bg-color,#10151c) 94%,transparent);box-shadow:0 8px 28px #0009;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.placement-panel small,.form-hint,.logo-upload small{color:var(--tg-theme-hint-color,#9ba8b7)}.placement-panel>div{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.placement-panel button,.primary-submit{min-height:44px;border:0;border-radius:12px;padding:8px 12px}.placement-panel button:last-child,.primary-submit{background:#16a36a;color:#fff;font-weight:700}.placement-panel button:disabled{opacity:.45}.station-submit-modal{z-index:60}.station-submit-form{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.logo-upload{display:grid!important;gap:7px}.logo-upload input[type=file]{min-height:44px;padding:9px;background:var(--tg-theme-secondary-bg-color,#1b2430);border-radius:10px}.logo-preview{width:92px;height:72px;object-fit:contain;padding:6px;border-radius:12px;background:#fff}.submission-success{background:#0e734d!important;color:#fff}.moderation-station-logo{width:72px;height:54px;object-fit:contain;padding:5px;border-radius:10px;background:#fff}.station{grid-template-columns:46px 1fr auto!important}.station>b,.station>span,.station>small{grid-column:2}.station>.status-dot,.station>.status-label{grid-column:3}.station>.station-logo{grid-column:1}@media(max-height:500px){.map-add-station{bottom:30px}.placement-panel{bottom:14px;grid-template-columns:1fr auto;align-items:center}.placement-panel>div{min-width:220px}}
