:root{--bg:#000000;--card-bg:#0a0a0a;--text:#f8fafc;--accent:#38bdf8;--grid:#1a1a1a;--secondary:#818cf8;--chart-scale:0.7}*,::after,::before{box-sizing:border-box}@font-face{font-family:Inter;src:url("font/Inter-VariableFont_opsz,wght.ttf") format("truetype")}@font-face{font-family:'JetBrains Mono';src:url("font/JetBrainsMono-VariableFont_wght.ttf") format("truetype")}@font-face{font-family:Rajdhani;src:url("font/Rajdhani-Light.ttf") format("truetype")}body,html{max-width:100%;overflow-x:hidden;width:100%}html{scrollbar-gutter:stable;--font-factor:calc(var(--chart-scale) * 0.6 + 0.4);font-size:calc(16px * var(--font-factor))}body{margin:0 auto;padding:1rem;background-color:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-weight:300;min-height:100vh;max-width:1760px;background-image:url("img/Fotothek_df_ps_0000010_Blick_vom_Rathausturm_AI-restored.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dashboard-header{display:flex;justify-content:center;margin:0 auto;text-align:center}h1{font-size:2.5rem;font-weight:800;letter-spacing:-.025em;padding-left:3rem!important;padding-right:3rem!important}h2{font-size:1.75rem;font-weight:600;letter-spacing:-.025em;padding-left:1.5rem!important;padding-right:1.5rem!important}h3{font-size:1.25rem;font-weight:600;letter-spacing:-.025em}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(600px * var(--chart-scale))),1fr));gap:1rem;margin:0 auto 4rem auto;width:100%}.container{background:var(--card-bg);padding:1.5rem;display:flex;flex-direction:column;min-width:0;border-radius:4px;box-shadow:0 10px 15px -3px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.05);background:rgba(10,10,10,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.chart-wrapper{position:relative;height:calc(400px * var(--chart-scale));width:100%}.loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:400;opacity:.7;font-size:.875rem;font-family:'JetBrains Mono',monospace}.legend-grid{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;min-height:20px}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:#94a3b8;font-family:'JetBrains Mono',monospace;font-weight:300}.legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.source-link{margin-top:auto;padding-top:1rem;font-size:.7rem;color:#677b98;text-decoration:none;display:flex;align-items:center;gap:.3rem;transition:color .2s;font-family:'JetBrains Mono',monospace;font-weight:300}.chart-comment{margin-top:1rem;font-size:1rem;line-height:1.4;color:#cbd5e1;font-family:Inter,sans-serif;font-weight:300;cursor:pointer;position:relative;padding-right:1.8rem}.chart-comment a{text-decoration:underline;color:var(--accent)}.comment-content.collapsed{display:-webkit-box!important;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chart-comment .expand-icon{position:absolute;right:0;top:.2rem;width:24px;height:24px;transition:transform .3s ease;opacity:.6}.chart-comment.expanded .expand-icon{transform:rotate(180deg)}.chart-header{display:flex;justify-content:space-between;align-items:flex-start}.chart-header h3{margin-top:0;padding-right:1rem}.modal-toggle{background:0 0;border:none;color:#94a3b8;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;z-index:10}.modal-toggle:hover{color:var(--accent)}.modal-toggle svg.icon-share{width:1.25rem;height:1.25rem}.container.is-modal .modal-toggle svg.icon-share{width:1.5rem;height:1.5rem}.modal-toggle svg.icon-expand{width:1.5rem;height:1.5rem}.modal-toggle svg.icon-close{width:2.5rem;height:2.5rem}html.modal-open{--chart-scale:1.0}body.modal-open{overflow:hidden}.container.is-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;background:var(--card-bg);border-radius:0;margin:0;padding:2rem;box-sizing:border-box;display:flex;flex-direction:column;overflow-y:auto}@media (min-width:600px){.container.is-modal .legend-item{font-size:.875rem}}.container.is-modal .chart-wrapper{flex-grow:1;height:auto!important;min-height:50vh}.container.is-modal .icon-expand{display:none}.container.is-modal .icon-close{display:block!important}.container.is-modal .chart-header h3{font-size:1.75rem}.copy-tooltip{position:fixed;background:#22c55e;color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.8rem;font-family:'JetBrains Mono',monospace;font-weight:700;z-index:20000;pointer-events:none;opacity:0;transform:translate(-80%,0);transition:all .3s cubic-bezier(.175, .885, .32, 1.275);white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.3)}.copy-tooltip.show{opacity:1;transform:translate(-80%,-40px)}.sources-list{margin-top:auto;padding-top:1rem;display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.source-link{margin-top:0;padding-top:0}.source-link:hover{color:var(--accent)}.source-link svg{width:10px;height:10px}@media (max-width:600px){body{padding:.5rem}.dashboard-grid{grid-template-columns:1fr;gap:.5rem}.container{padding:.5rem}.container.is-modal{padding:.5rem}h1{font-size:1.65rem;padding-left:1rem!important;padding-right:1rem!important}.chart-wrapper{height:250px}}.section-headline{grid-column:1/-1;margin:1rem 0 1rem 0;padding:1rem;color:var(--accent);border-radius:4px;box-shadow:0 10px 15px -3px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.05);background:rgba(10,10,10,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.section-wrapper{width:100%}.accordion-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .3s,color .3s}.accordion-header:hover{background:rgba(56,189,248,.1)}.accordion-header .expand-icon{width:32px;height:32px;transition:transform .5s ease-in-out}.section-wrapper.is-open .accordion-header .expand-icon{transform:rotate(180deg)}.section-content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease-in-out;overflow:hidden}.section-wrapper.is-open .section-content-wrapper{grid-template-rows:1fr}.section-content{min-height:0;margin:0 auto}.footer{display:flex;flex-direction:column;align-items:center;margin-top:4rem!important;padding:2rem 1rem!important}.credentials_container{padding:2rem 4rem;border-radius:4px;box-shadow:0 10px 15px -3px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.05);background:rgba(10,10,10,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.credentials{font-family:Rajdhani,sans-serif;font-size:.7rem;line-height:1.8;letter-spacing:1.5px;text-align:center;text-transform:uppercase;color:#00d3f2;background:rgba(0,183,215,.05);border:solid 1px rgba(0,183,215,.2);border-width:1px 0 1px 0;padding:1.5rem 2rem;max-width:240px}.credentials a{color:#fff;text-decoration:none;transition:color .2s;text-wrap:nowrap}.credentials a:hover{color:var(--accent)}.lang-switch{position:absolute;right:1rem;top:1rem}.lang-btn{background:#fff;border:1px solid #fff;color:#000;padding:.4rem 1rem;border-radius:4px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px rgba(0,0,0,.5);z-index:9999}.lang-btn:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}@media (max-width:410px){.lang-switch{top:0;right:0}.lang-btn{padding:.2rem .6rem;font-size:.75rem}}