:root{--bg: #101418;--fg: #eef2f5;--fg-dim: #9fb0bd;--accent: #4aa8d8;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}body{background:var(--bg);color:var(--fg)}.app{box-sizing:border-box;min-height:100%;display:flex;flex-direction:column;padding:calc(var(--safe-top) + .75rem) 1rem calc(var(--safe-bottom) + .75rem);gap:.75rem}.app-kopf{display:flex;align-items:baseline;gap:.75rem}.app-kopf .app-fassung{margin-right:auto}.app-kopf button{align-self:center}.app-kopf h1{margin:0;font-size:1.25rem;color:var(--accent)}.app-fassung{font-size:.8125rem;color:var(--fg-dim)}.topdown-buehne{flex:1 1 auto;min-height:260px;position:relative}.topdown{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.regler{display:flex;flex-direction:column;gap:.5rem}.regler-zeile{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.regler-name{font-size:.8125rem;color:var(--fg-dim)}.regler-knöpfe{display:flex;gap:.375rem}.regler button,.hinweis button,.app-kopf button,.ar-ansicht button,.tafel button{padding:.375rem .625rem;border:1px solid #2b3a47;border-radius:8px;background:transparent;color:var(--fg);font:inherit;font-size:.875rem;cursor:pointer}.regler button.aktiv{border-color:var(--accent);color:var(--accent)}.regler button:disabled{opacity:.4;cursor:default}.hinweis{margin:0;font-size:.8125rem;line-height:1.45;color:var(--fg-dim)}.hinweis.gedämpft{opacity:.7}.hinweis button.primär{margin-left:.5rem}.hinweis button.primär,.app-kopf button.primär,.ar-ansicht button.primär{border-color:var(--accent);background:var(--accent);color:#06111a;font-weight:600}.legende{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .875rem;font-size:.8125rem;color:var(--fg-dim)}.legende li{display:flex;align-items:center;gap:.375rem}.legende-punkt{width:.625rem;height:.625rem;border-radius:50%}.update-prompt{position:fixed;left:.75rem;right:.75rem;bottom:calc(var(--safe-bottom) + .75rem);z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:1px solid #2b3a47;border-radius:12px;background:#18202a;font-size:.9375rem}.update-prompt-actions{display:flex;gap:.5rem}.update-prompt button{padding:.5rem .875rem;border:1px solid #2b3a47;border-radius:8px;background:transparent;color:var(--fg);font:inherit;cursor:pointer}.update-prompt button.primary{border-color:var(--accent);background:var(--accent);color:#06111a;font-weight:600}.ar-ansicht{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#000;color:var(--fg)}.ar-ansicht button{background:#101418bf}.kamera-bild{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.kamera-fehler{position:absolute;left:1rem;right:1rem;top:40%;padding:.75rem 1rem;border-radius:12px;background:#101418d9;font-size:.9375rem;text-align:center}.ar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.ar-kimm{position:absolute;left:0;right:0;top:0;height:0;border-top:1px dashed rgba(238,242,245,.45);will-change:transform}.ar-kopf{position:absolute;left:0;right:0;top:0;padding:calc(var(--safe-top) + .5rem) 1rem 1.25rem;background:linear-gradient(#101418d9,#10141800);font-size:.8125rem;line-height:1.45;pointer-events:none}.ar-kopf p{margin:0}.ar-kopf .gedämpft{color:var(--fg-dim)}.ar-sperre{margin-top:.5rem!important;padding:.5rem .75rem;border-radius:10px;background:#101418d9;pointer-events:auto}.ar-sperre button{margin-left:.5rem}.ar-fuss{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 1rem calc(var(--safe-bottom) + .75rem);background:linear-gradient(#10141800,#101418d9)}.ar-kopf .ar-nennung{font-size:.6875rem;color:var(--fg-dim)}.ar-knöpfe{display:flex;justify-content:space-between;gap:.5rem}.ar-knöpfe button:disabled{opacity:.4}.ar-drehen{display:none}@media(orientation:landscape)and (pointer:coarse){.ar-drehen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#101418eb;font-size:1rem;z-index:20}}.marker{--klasse: var(--accent);position:absolute;left:0;top:0;width:0;height:0;will-change:transform;transition:opacity .25s;z-index:2}.marker.marker-quiet{z-index:1}.marker-hit{position:absolute;left:-18px;bottom:-14px;width:36px;height:36px}.marker-pin{position:absolute;left:-1px;bottom:0;width:2px;height:14px;background:linear-gradient(to top,var(--klasse) 14px,rgba(238,242,245,.55) 14px);box-shadow:0 0 2px #0009}.marker-pin:after{content:"";position:absolute;left:-3px;bottom:-4px;width:8px;height:8px;border-radius:50%;background:var(--klasse)}.marker-quiet .marker-pin{opacity:.6;height:10px}.marker-chip{position:absolute;left:0;bottom:14px;transform:translate(-50%);padding:.2rem .5rem .2rem .45rem;border-left:3px solid var(--klasse);border-radius:6px;background:#101418f0;white-space:nowrap;text-align:left}.marker-name-row{display:flex;align-items:center;gap:.3rem}.marker-name{font-size:.8rem;font-weight:600}.marker-meta{font-size:.7rem;color:var(--fg-dim);font-variant-numeric:tabular-nums}.marker-more{font-size:.65rem;font-weight:600;color:#06111a;background:var(--fg-dim);border-radius:999px;padding:0 .3rem;line-height:1.35}.marker-fern .marker-name,.marker-fern .marker-meta,.marker-fern .marker-more,.marker-fern .marker-pin{opacity:.6}.marker-fern .marker-chip{border-left-color:color-mix(in srgb,var(--klasse) 60%,transparent)}.marker-gewählt .marker-chip{outline:2px solid var(--accent);outline-offset:1px}.abgleich{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;touch-action:none;cursor:ew-resize}.abgleich-hinweis{position:absolute;left:1rem;right:1rem;top:calc(var(--safe-top) + 5.5rem);margin:0;padding:.5rem .75rem;border-radius:10px;background:#101418cc;font-size:.875rem;line-height:1.4}.abgleich-regler{position:absolute;left:0;right:0;bottom:0;padding:.75rem 1rem calc(var(--safe-bottom) + .75rem);background:#101418e6;cursor:default;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.abgleich-regler p{margin:0}.abgleich-sitzung{font-size:.75rem;color:var(--fg-dim)}.abgleich-fov{display:flex;flex-direction:column;gap:.25rem}.abgleich-fov input{width:100%}.abgleich-knöpfe{display:flex;justify-content:space-between}.tafel{position:absolute;left:0;right:0;bottom:0;z-index:10;max-height:60%;overflow-y:auto;padding:.875rem 1rem calc(var(--safe-bottom) + .875rem);border-radius:14px 14px 0 0;background:#18202af5;font-size:.875rem}.tafel.tafel-fest{position:fixed;max-height:55%;background:#18202a;box-shadow:0 -6px 18px #00000073}.tafel-kopf{display:flex;align-items:center;gap:.5rem}.tafel-kopf h2{flex:1;margin:0;font-size:1.0625rem;overflow-wrap:anywhere}.tafel-klasse{flex:none;width:.75rem;height:.75rem;border-radius:50%}.tafel-klassenname{margin:.125rem 0 .625rem 1.25rem;color:var(--fg-dim)}.tafel-werte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:0 0 .625rem}.tafel-werte dt{font-size:.75rem;color:var(--fg-dim)}.tafel-werte dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tafel .hinweis{margin-bottom:.375rem}.tafel button.merken.gemerkt{border-color:#e8b34c;color:#e8b34c}.tafel-links{display:flex;flex-wrap:wrap;gap:.375rem;margin:0 0 .625rem}.tafel-links a{padding:.3125rem .625rem;border:1px solid #2b3a47;border-radius:8px;color:var(--accent);text-decoration:none;font-size:.8125rem}.tafel-wiki{margin:0 0 .625rem;line-height:1.4}.tafel-wiki p{margin:0 0 .25rem}.tafel-bild{margin:0 0 .5rem}.tafel-bild img{display:block;width:100%;height:auto;max-height:13rem;object-fit:cover;border-radius:8px;background:#0f151c}.tafel-bild figcaption{margin-top:.25rem;font-size:.75rem;color:var(--fg-dim);overflow-wrap:anywhere}.tafel-bild a{color:var(--accent)}.tafel-wiki-quelle{font-size:.75rem;color:var(--fg-dim)}.tafel-wiki a{color:var(--accent)}.tafel-dahinter{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.tafel-dahinter button{width:100%;text-align:left}.diagnose{position:fixed;left:0;right:0;bottom:0;z-index:30;max-height:45%;overflow-y:auto;box-sizing:border-box;padding:.625rem 1rem calc(var(--safe-bottom) + .75rem);background:var(--bg);border-top:1px solid #2b3a47;border-radius:14px 14px 0 0;color:var(--fg);font-size:.8125rem}.diagnose-kopf{display:flex;align-items:center;gap:.5rem}.diagnose-kopf h2{flex:1;margin:0;font-size:1rem}.diagnose button{padding:.3rem .6rem;border:1px solid #2b3a47;border-radius:8px;background:transparent;color:var(--fg);font:inherit;cursor:pointer}.diagnose-hinweis{margin:.375rem 0 0;color:var(--fg-dim)}.diagnose h3{margin:.75rem 0 .25rem;font-size:.8125rem;color:var(--accent)}.diagnose dl{margin:0}.diagnose dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.0625rem 0}.diagnose dt{flex:none;color:var(--fg-dim)}.diagnose dd{margin:0;min-width:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.diagnose h4{margin:.5rem 0 .25rem;font-size:.75rem;font-weight:600;color:var(--fg-dim)}.diagnose pre{margin:0;padding:.375rem .5rem;border-radius:6px;background:#00000073;font-size:.6875rem;white-space:pre-wrap;overflow-wrap:anywhere}.credits{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(159,176,189,.2);display:flex;flex-direction:column;gap:.35rem;text-align:center}.credits p{margin:0}.credits-dedication{font-size:.9rem;color:var(--fg)}.credits-line{font-size:.75rem;line-height:1.45;color:var(--fg-dim);overflow-wrap:anywhere}.credits-line a{color:var(--accent)}.merkliste{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.375rem}.merkliste li{display:flex;gap:.375rem}.tafel .merkliste-schiff{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;text-align:left;min-width:0}.merkliste-schiff strong{overflow-wrap:anywhere}.merkliste-schiff span{font-size:.75rem;color:var(--fg-dim)}.merkliste li.live .merkliste-schiff{border-color:#e8b34c}.tafel .merkliste-schiff:disabled{cursor:default;opacity:1}
