:root { /* Telegram injects these variables inside its WebApp. Keep a light theme for a normal browser, where that injection is absent. */ color-scheme: light; --tg-theme-bg-color: #e5e5ea; --tg-theme-text-color: #000000; --tg-theme-hint-color: #707579; --tg-theme-secondary-bg-color: #f1f1f1; --tg-theme-destructive-text-color: #e53935; } * { /* border: solid 1px #f00; */ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; touch-action: pan-x pan-y; user-select: none; -webkit-tap-highlight-color: transparent; } body { overflow: hidden; margin: 0; background: var(--tg-theme-bg-color); color: var(--tg-theme-text-color); height: 100vh; /* height: 100dvh; */ } #map { width: calc(100vw - 1rem); margin: 0.5rem; background: #fff; /* box-shadow: rgba(255,255,255,.1) 0 0 .5rem .1rem; */ border-radius: 1rem; height: calc(100% - 7.5rem); overflow: auto; scrollbar-width: none; padding: 0; display: flex; scroll-behavior: smooth; } #map > .controls { display: none; } #wr { height: 100%; overflow-y: hidden; scrollbar-width: none; } #wr > svg { width: auto; /* transform: translateX(27%); */ /* height: calc(100% - 5rem); */ /* scale: 1.1; */ } footer { width: calc(100vw); background: var(--tg-theme-bg-color); position: fixed; bottom: 0; display: flex; /* border: solid 2px var(--tg-theme-bg-color); */ /* border-top: solid 2px var(--tg-theme-hint-color); */ box-shadow: var(--tg-theme-secondary-bg-color) 0 0rem .9rem .2rem; border-radius: 1.5rem 1.5rem 0 0; padding: .5rem 0 2.5rem; flex-direction: column; /* gap: .5rem; */ } .dragger { height: .3rem; background: var(--tg-theme-hint-color); opacity: .2; margin: 0 auto; border-radius: 100vw; width: 3rem; } footer > .i { display: flex; align-items: center; background: var(--tg-theme-secondary-bg-color); border-radius: 5rem; padding: 0 .5rem; margin: 0 1rem; gap: .5rem; margin-top: .5rem; /* border: solid 1px var(--tg-theme-hint-color); */ padding-right: 0; } footer > .i > svg { fill: var(--tg-theme-text-color) !important; } footer > .i > input { background: transparent; outline: none; border: 0; padding: .5rem 0; width: 100%; font-size: 1.2rem; color: var(--tg-theme-text-color); font-family: Arial, Helvetica, sans-serif; } .i > input::placeholder { color: var(--tg-theme-hint-color); } .i > button { padding: .62rem .8rem; /* font-weight: bold; */ /* height: 100%; */ border-radius: 100vw; border: 0; color: var(--tg-theme-bg-color); background: var(--tg-theme-text-color); } .hints { padding: 0 1rem; display: flex; flex-wrap: nowrap; gap: .5rem; overflow-x: auto; scrollbar-width:none; } .hints.a { padding: .6rem 1rem .3rem; } .hints > span { background: var(--tg-theme-secondary-bg-color); padding: .3rem .7rem; border-radius: 100vw; border: solid 1px var(--tg-theme-hint-color); /* color: var(--tg-theme-hint-color); */ text-wrap-mode: nowrap; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } #controls { margin: .5rem; position: fixed; display: flex; flex-direction: column; gap: .3rem; } #controls > .current { background: var(--tg-theme-bg-color); padding: .2rem .4rem .2rem; padding-left: .8rem; display: flex; align-items: center; gap: .4rem; border-radius: 10rem; font-size: 1.2rem; cursor: pointer; width: fit-content; } #controls > .current > svg { transform: translateY(.12rem); } #controls > .select { display: flex; flex-direction: column; padding: .5rem; gap: .4rem; background: var(--tg-theme-bg-color); border-radius: 1.4rem; } #controls > .select > span { background: var(--tg-theme-secondary-bg-color); padding: .2rem .05rem; text-align: center; border-radius: .5rem; font-size: 1.3rem; } #controls > .select > span:nth-child(1) { border-radius: 1rem 1rem .5rem .5rem; } #controls > .select > span:nth-child(6) { border-radius: .5rem .5rem 1rem 1rem ; } #controls > .select > span.active { /* color: var(--tg-theme-bg-color); */ background: var(--tg-theme-hint-color); } #mp { height: 10px; width: 10px; opacity: 0; } #block { position: fixed; top: 0; left: 0; z-index: 100; height: 100vh; /* height: 100dvh; */ width: 100vw; display: flex; flex-direction: column; background: var(--tg-theme-bg-color); align-items: center; justify-content: center; } #block > h3 { font-weight: normal; margin-bottom: 0; }#block > p { color: var(--tg-theme-hint-color); } #loader { height: 2rem; width: 2rem; border: solid 3px var(--tg-theme-text-color); border-top: solid 3px transparent; border-radius: 100vw; animation: anim .7s linear infinite; } @keyframes anim { to { transform: rotate(360deg); } } #controls > .select.hidden { display: none; } #controls > .select > span { cursor: pointer; } .highlight, .highlight > *, .highlight > * > * { fill: var(--tg-theme-destructive-text-color) !important; /* animation: highlight 2s linear infinite; */ } @keyframes highlight { 0% { fill: var(--tg-theme-destructive-text-color) !important; } 50% { fill: var(--tg-theme-bg-color) !important; } 100% { fill: var(--tg-theme-destructive-text-color) !important; } }