@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

@font-face {
  font-family: "Mono";
  src: url("/test/stadtrat-watch/font/Lilex-SemiBold.woff2") format("woff2");
}

:root {
  font-family: 'Pretendard';
  font-size: 16px;
}



html {
  --c-bg: white;
  --c-fg: black;
  --c-link: #6D65DB;
  --op-hover: 5%;
  
  --c-fg-muted: color-mix(in oklch, var(--c-bg), var(--c-fg) 40%);
  --c-fg-dim: color-mix(in oklch, var(--c-bg), var(--c-fg) 30%);
  
  --p-block: round(0.3rem, 1px) round(0.6rem, 1px) round(0.21rem, 1px);
  
  --line-height: 1.3;
  
  background-color: var(--c-bg);
  color: var(--c-fg);
  
  display: flex;
  justify-content: center;
  height: 1vh;
  line-height: var(--line-height);
  
  
  overflow-y: auto;
  scrollbar-gutter: stable;
}
html.dark-scheme {
  --c-bg: #1B1B23;
  --c-bg-2: #e0e0e0;
  --c-fg: white;
  --c-link: #877EFF;
  
  --c-fg-dim: color-mix(in oklch, var(--c-bg), var(--c-fg) 40%);
}

body {
  width: min(33rem, 100vw);
  box-sizing: content-box;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 1rem;
}


@supports (-webkit-min-device-pixel-ratio:0) and (not (-webkit-overflow-scrolling: touch)) {
  body {
    padding-right: calc(0.5rem);
  }
  ::-webkit-scrollbar {
    width: 0.5rem;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--c-link);
  }
  ::-webkit-scrollbar-track {
    background: transparent;
  }
}

main {
  padding-bottom: 1rem;
  width: 100%;
}

footer {
  margin-top: auto;
  padding-bottom: 1rem;
  padding-top: 1rem;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-around;
}

footer > a, footer > span {
  color: var(--c-fg-muted);
  font-weight: normal;
}

footer > a:active, footer > a:focus-visible {
  color: var(--c-bg);
  background-color: var(--c-fg-muted) !important;
}

footer > span {
  cursor: default;
}


h1,h2,h3,h4 {
  font-weight: normal;
}

h2,h3,h4 {
  margin-bottom: 0;
  margin-top: 1rem;
}
h2 {
  margin-top: 1.5rem;
}
h1:has(+ .subtitle),h2:has(+ .subtitle),h3:has(+ .subtitle),h4:has(+ .subtitle) {
  margin-bottom: 0;
}
.subtitle {
  margin-top: 0;
  color: var(--c-fg-muted);
}

h1 + h2, h2 + h3, h3 + h4 {
  margin-top: 1rem;
}

h1 + p,h2 + p,h3 + p,h4 + p {
  margin-top: 1rem;
}

p + h1,p + h2,p + h3,p + h4 {
  margin-top: 1rem;
}


h2 + div, h3 + div, h4 + div {
  margin-top: 1rem;
}

h1 {
  position: relative;
  line-height: 1.3;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
h1:has(.tab-hint:focus-visible) > *:not(.tab-hints) {
opacity: 0;
}

h1 > .tab-hints {
  position: absolute;
  pointer-events: none;
  top:0;
  left:0;
}
.tab-hint {
  opacity: 0;
  width: 0;
  height: 0;
  display: block;
}
.tab-hint:focus-visible {
  opacity: 100% !important; 
  width: auto;
  height: auto;
  display: inline;
}



p {
  margin-bottom: 1rem;
  margin-top: 0.5rem;
}

p:has(+ ul) {
  margin-bottom: 0.5rem;
}

p + ul {
  margin-top: 0.5rem;
}

em {
  font-weight: bold;
  font-style: normal;
}

a, button.a {
  text-decoration: none;
  font-weight: bold;
  color: var(--c-link);
  display: inline;
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-size: 1em;
  padding: 0;
  text-align: left;
}

a:not(.button):not(.inactive):hover, button.a:not(.inactive):hover {
  text-decoration: underline;
}
a:not(.button):not(.inactive):focus-visible,a:not(.button):not(.inactive):active, button.a:not(.inactive):active, button.a:not(.inactive):focus-visible {
  text-decoration: none;
  background-color: var(--c-link);
  color: var(--c-bg);
  outline: none ;
}

a[target="_blank"]::before, button.a.outlink::before {
  content: "↗";
  display: inline-block;
  transform: translateY(0.1em);
  padding-right: 0.25em;
}

button {
  font-family: "Pretendard";
  line-height: var(--line-height);
  appearance: none;
  block-size: auto;
  box-sizing: content-box;
  break-inside: auto;
}

button:not(.a),.button {
  display: block;
  background-color: var(--c-bg);
  color: var(--c-link);
  padding: var(--p-block);
  border: var(--c-link) 2px solid;
  transform: translateX(0);
  transition: transform 0.2s ease-out;
}


button:not(.a):hover,.button:hover,button:not(.a):focus-visible,.button:focus {
  text-decoration: none;
}

button:not(.a):hover:not(.inactive),.button:hover:not(.inactive),button:not(.a):focus-visible:not(.inactive),.button:focus-visible:not(.inactive) {
  background-color: color-mix(in oklch, var(--c-link) var(--op-hover), var(--c-bg));
  transform: translateY(-2px) translateX(0);
}

button:not(.a):focus-visible:not(.inactive), button:not(.a):active:not(.inactive),.button:focus-visible:not(.inactive), .button:active:not(.inactive) {
  outline: 2px var(--c-link) solid;
  outline-offset: 2px;
}

button:not(.a).inactive, .button.inactive {
  border-color: var(--c-fg-dim);
  cursor: default;
}

a.inactive, .a.inactive {
  color: var(--c-fg-muted);
  cursor: default;
}

code {
  font-family: "Mono", monospace;
}

a code {
  font-weight: normal;
}

table {
  border-spacing: 0;
  margin-bottom: 1rem;
  margin-top: 1rem;
}

th, td {
  padding: 0.2rem 0.5rem;
}
th.rh {
  font-weight: bold;
  text-align: right;
}

.button-group {
  display: inline-flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.content-box {
  border-left: 0.5rem var(--c-link) solid;
  padding: 0.5rem 1rem;
}

.content-box.button {
  padding: 1rem;
  color: var(--c-fg);
  font-weight: normal;
  border-left: 1rem var(--c-link) solid;
  margin-top: 1.5rem;
  display: block;
}

a.content-box:hover:not(.inactive),.content-box:focus-visible:not(.inactive) {
  transform: translateX(4px);
}

.content-box > h3:first-child {
  margin-top: 0;
}
.content-box > :last-child {
  margin-bottom: 0;
}

.content-box.inactive {
  border-color: var(--c-fg-dim);
}

ul {
  padding-left: 1rem;
}

li > a:only-child {
  width: 100%;
}

ul.action-list {
  padding: 0;  
}

ul.action-list > li {
  list-style: none;
}

a.list-action {
  padding: 0.5rem 0;
  display: inline-flex;
}
a.list-action > :not(:last-child) {
  margin-right: 0.3em;
}

a.list-action:hover {
  text-decoration: none !important;
}

a.list-action:hover > span {
  text-decoration: underline;
}

dialog {
  font-size: 1.3rem;
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.1s linear, transform 0.2s ease-out;
  padding: 0;
  background-color: transparent;
  border: none;
  overflow: visible;
}

dialog:focus-visible {
  outline: none;
  border: none;
}
dialog:focus-visible::before {
  position: absolute;
  top: -0.6rem;
  left: -0.6rem;
  content: "x";
  padding: 0 0.61rem 0.13rem;
  font-family: "Mono";
  background-color: var(--c-link);
  color: var(--c-bg);
}

dialog::backdrop {
  background-color: black;
  opacity: 0;
  transition: opacity 0.1s linear;
}

dialog.open::backdrop {
  opacity: 0.1;
}

dialog.open {
  opacity: 100%;
  transform: translateY(0);
}

dialog > div {
  padding: 1rem;
  background-color: var(--c-bg);
  border: 2px var(--c-fg) solid;
}

dialog > div > :first-child {
  margin-top: 0;
}

dialog > div > :last-child {
  margin-bottom: 0;
}


a:has(> .icon:only-child) {
  padding: 0 0.2rem;
  display: inline;
}
.icon {
  display: inline-block;
  width: 1.3em;
  aspect-ratio: 1 / 1;
  background-origin: content-box;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
  transform: translateY(-1px);
}


.icon.osm-maps {
  background-image: url(https://www.openstreetmap.org/assets/osm_logo-4b074077c29e100f40ee64f5177886e36b570d4cc3ab10c7b263003d09642e3f.svg);
}

.icon.apple-maps {
  background-image: url(https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/64/4a/af/644aaf63-e217-2779-8098-876d5d30eb62/Placeholder.mill/200x200bb-75.webp);
}

.icon.google-maps {
  background-image: url(/test/stadtrat-watch/image/google-maps.png);
}

.icon.comaps {
  background-image: url(https://www.comaps.app/images/open-map/open-map-logo.png);
  border-radius: 100%;
}






