:root,:root[data-theme=light]{--surface: #ffffff;--surface-card: #ffffff;--surface-elevated: #ffffff;--overlay-bg: rgba(15, 23, 42, .45);--hover-soft: rgba(15, 23, 42, .06);--hover-softer: rgba(15, 23, 42, .04);--ink: #424242;--ink-80: rgba(66, 66, 66, .8);--ink-70: rgba(66, 66, 66, .72);--ink-60: rgba(66, 66, 66, .6);--secondary: #ef6c00;--brand: #009fe3;--good: #05ce91;--warning: #ffa800;--danger: #ff3152;--gauge-track: #cfcfcf;--card-shadow: 0 0 15px rgba(0, 0, 0, .25);--accent: #2ea84a;--accent-strong: #1c8e3a;--sans: Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--sans);font-weight:400;color:var(--ink-80);background:var(--surface);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--surface: #0d2548;--surface-card: #143665;--surface-elevated: #1a407a;--overlay-bg: rgba(5, 14, 30, .65);--hover-soft: rgba(255, 255, 255, .08);--hover-softer: rgba(255, 255, 255, .05);--ink: #f5f7fb;--ink-80: rgba(245, 247, 251, .88);--ink-70: rgba(245, 247, 251, .78);--ink-60: rgba(245, 247, 251, .62);--gauge-track: rgba(255, 255, 255, .18);--card-shadow: 0 0 20px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html{background:var(--surface)}body{margin:0;min-width:320px;min-height:100svh;font-family:var(--sans)}button,input,textarea,select{font:inherit}img,svg{display:block}#root{min-height:100svh}.shareable-page{min-height:100svh;width:100%;overflow-x:clip;padding:clamp(12px,1.5vw,28px);background:var(--surface);color:var(--ink-80);transition:background .25s ease,color .25s ease}.shareable-header,.indicators-stage,.footer-row,.last-update.bottom{width:min(100%,1852px);margin:0 auto}.shareable-header{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,auto) minmax(130px,1fr);align-items:start;gap:clamp(16px,2vw,28px);padding:2px clamp(0px,1.2vw,22px) 0}.brand{display:inline-flex;align-items:center;min-width:0;text-decoration:none;justify-self:start}.brand img{display:block;width:clamp(112px,10.2vw,186px);height:auto;flex:0 0 auto}:root[data-theme=dark] .brand img{width:clamp(168px,15.3vw,279px)}.heading-copy{min-width:0;padding-top:clamp(4px,.8vw,12px);text-align:center}.heading-copy h1{margin:0;color:var(--ink-80);font-size:clamp(2rem,3vw,3.75rem);line-height:1.18;font-weight:500;letter-spacing:.02em;overflow-wrap:anywhere}.heading-copy p{margin:clamp(6px,.7vw,10px) 0 0;color:var(--ink-60);font-size:clamp(.875rem,1.35vw,1.625rem);line-height:1.35;letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere}.partner-logo-slot{justify-self:end;width:min(100%,clamp(120px,13vw,250px));min-height:clamp(64px,7vw,130px);display:flex;align-items:flex-start;justify-content:flex-end}.partner-logo-image{width:min(100%,250px);max-width:100%;height:clamp(64px,7vw,130px);object-fit:contain}.indicators-stage{margin-top:clamp(24px,2.8vw,52px)}.indicator-grid{--indicator-card-min: clamp(184px, 16.4vw, 316px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--indicator-card-min)),1fr));justify-content:center;align-items:stretch;gap:clamp(14px,1.5vw,28px)}.indicator-card{width:100%;max-width:316px;min-height:clamp(258px,22vw,419px);padding:clamp(14px,1.2vw,18px) clamp(14px,1.2vw,18px) clamp(16px,1.3vw,20px);display:grid;align-content:start;justify-items:center;justify-self:center;gap:clamp(10px,.9vw,14px);background:var(--surface-card);border:none;border-radius:clamp(18px,1.6vw,30px);box-shadow:var(--card-shadow);animation:rise-in .5s ease both}.indicator-card h2{width:min(100%,210px);margin:clamp(8px,.95vw,18px) 0 0;color:var(--ink-80);font-size:clamp(.875rem,.85vw,1rem);line-height:1.2;font-weight:500;text-align:center;letter-spacing:.02em;opacity:.8;order:2;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.indicator-gauge{position:relative;display:grid;place-items:center;width:clamp(128px,11vw,212px);height:clamp(128px,11vw,212px)}.indicator-gauge svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-83deg);transform-origin:center}.gauge-track,.gauge-arc{fill:none}.gauge-track{stroke:var(--gauge-track);stroke-width:3%}.gauge-arc{stroke-width:5%;transition:stroke-dasharray .26s ease,stroke .26s ease}.indicator-gauge span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-80);font-size:clamp(3.25rem,4.4vw,5.3125rem);line-height:1;letter-spacing:.02em;font-weight:500}.indicator-card-icon{min-height:clamp(38px,3vw,52px);display:flex;align-items:center;justify-content:center;width:100%;order:0}.indicator-card-icon img{width:auto;max-width:min(100%,clamp(96px,6.8vw,128px));height:clamp(32px,2.2vw,42px)}:root[data-theme=dark] .indicator-card-icon img{filter:brightness(0) invert(1)}.indicator-card-gauge{order:1;display:flex;justify-content:center;margin-top:2px}.last-update{margin:0;color:var(--ink-60);font-size:clamp(1rem,1.55vw,1.875rem);line-height:1.5;text-align:center;letter-spacing:.02em;overflow-wrap:anywhere}.last-update strong{color:var(--ink-80);font-weight:500}.last-update.bottom{margin-top:clamp(16px,1.3vw,24px)}.refresh-snackbar{position:fixed;left:clamp(12px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:10;width:min(calc(100% - 24px),520px);padding:12px 18px;display:flex;align-items:center;justify-content:flex-start;gap:8px;color:#fff;background:#424242f0;border-radius:8px;box-shadow:0 8px 22px #0003;font-size:.9375rem;line-height:1.35;text-align:left}.refresh-snackbar strong{font-weight:600}.footer-row{margin-top:clamp(28px,4vw,74px);display:grid;grid-template-columns:minmax(150px,185px) minmax(0,1fr) minmax(150px,185px);justify-content:center;align-items:stretch;gap:clamp(16px,3.2vw,60px)}.footer-row.no-weather{grid-template-columns:repeat(2,minmax(150px,185px))}.clock-card,.weather-panel,.qr-card{min-width:0;min-height:clamp(144px,9.7vw,185px);background:var(--surface-card);border:none;border-radius:clamp(18px,1.6vw,30px);box-shadow:var(--card-shadow)}.clock-card{display:grid;align-content:center;justify-items:center}.digital-time{color:var(--ink-70);font-family:Roboto Mono,Courier New,ui-monospace,monospace;font-size:clamp(1.75rem,2vw,2.4rem);line-height:1;letter-spacing:.01em}.date-label{margin-top:clamp(8px,.8vw,14px);color:var(--ink-70);font-size:clamp(1rem,1.25vw,1.5rem);line-height:1.5;text-align:center;overflow-wrap:anywhere}.weather-panel{padding:clamp(18px,2vw,30px) clamp(18px,2vw,38px);display:grid;grid-template-columns:auto minmax(110px,1fr) repeat(2,minmax(96px,1fr));align-items:center;gap:clamp(14px,1.3vw,24px)}.weather-location{display:flex;align-items:center;min-width:0;max-width:clamp(180px,18vw,260px);gap:clamp(10px,.85vw,16px)}.weather-location>div{min-width:0}.weather-location svg{width:clamp(28px,2.2vw,41px);height:auto;flex:0 0 auto;color:var(--ink-70)}.weather-location h2{margin:0;color:var(--ink);font-size:clamp(1rem,.95vw,1.125rem);line-height:1.25;font-weight:500;overflow-wrap:anywhere}.weather-location p,.weather-condition span,.weather-metric>span{margin:0;color:var(--ink-80);font-size:clamp(.875rem,.8vw,.9375rem);line-height:1.5;overflow-wrap:anywhere}.weather-condition,.weather-metric{display:grid;justify-items:center;gap:6px;text-align:center}.weather-icon{width:clamp(36px,2.4vw,46px);height:auto;color:var(--ink-70)}.weather-metric strong{color:var(--ink);font-size:clamp(1.35rem,1.55vw,1.875rem);line-height:1.5;font-weight:500;overflow-wrap:anywhere}.weather-metric strong span{font-weight:300}.qr-card{padding:clamp(14px,.95vw,16px) clamp(14px,1vw,18px);display:grid;justify-items:center;align-content:center;gap:8px}.qr-card p{max-width:108px;margin:0;color:var(--ink-80);font-size:clamp(.875rem,.84vw,1rem);line-height:1.15;text-align:center;overflow-wrap:anywhere}.qr-card img,.qr-fallback{width:clamp(82px,5vw,96px);height:clamp(82px,5vw,96px)}.qr-fallback{display:grid;place-items:center;color:var(--ink);font-size:1.25rem;border:1px dashed rgba(66,66,66,.4)}.panel-state{min-height:clamp(260px,22vw,420px);display:grid;place-items:center;align-content:center;gap:14px;text-align:center;padding-inline:clamp(12px,2vw,24px)}.panel-state h2{margin:0;color:var(--ink);font-size:clamp(1.5rem,1.7vw,2rem);line-height:1.2;font-weight:500;overflow-wrap:anywhere}.panel-state p{max-width:720px;margin:0;color:var(--ink-60);font-size:clamp(.9375rem,.9vw,1.0625rem);line-height:1.6;overflow-wrap:anywhere}.panel-state.error h2{color:var(--danger)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1660px){.indicator-grid{gap:28px}.footer-row{grid-template-columns:minmax(150px,185px) minmax(0,1fr) minmax(150px,185px);gap:24px}}@media(max-width:1220px){.shareable-header{grid-template-columns:1fr;justify-items:center;padding-inline:0}.brand,.partner-logo-slot{justify-self:center;justify-content:center}.heading-copy{order:2}.partner-logo-slot{order:3;min-height:auto}.footer-row{grid-template-columns:1fr}.footer-row.no-weather{grid-template-columns:repeat(2,minmax(0,185px))}.clock-card,.qr-card{min-height:150px}.weather-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));padding:28px}.weather-location{justify-content:center;text-align:center}}@media(max-width:720px){.shareable-page{padding:12px}.indicators-stage{margin-top:24px}.indicator-grid{grid-template-columns:1fr;gap:16px}.indicator-card{max-width:420px;min-height:284px;padding-top:20px;gap:14px}.footer-row,.footer-row.no-weather{grid-template-columns:1fr;margin-top:28px}.clock-card,.weather-panel,.qr-card{width:min(100%,420px);justify-self:center}.weather-panel{grid-template-columns:1fr;padding:22px}.weather-location{flex-direction:column;gap:8px}.qr-card{min-height:142px}.refresh-snackbar{flex-direction:column;gap:2px}}@media(max-width:380px){.brand svg{width:36px}.heading-copy h1{font-size:1.75rem}.indicator-card{min-height:264px}.indicator-gauge{width:120px;height:120px}.indicator-gauge span{font-size:3rem}}@media(max-height:760px)and (min-width:900px){.shareable-page{padding-block:10px 16px}.indicators-stage{margin-top:24px}.indicator-card{min-height:320px}.indicator-gauge{width:clamp(150px,9vw,176px);height:clamp(150px,9vw,176px)}.indicator-gauge span{font-size:clamp(3.8rem,3.7vw,4.5rem)}.footer-row{margin-top:28px}}.top-actions{position:fixed;top:clamp(12px,1.5vw,24px);right:clamp(12px,1.5vw,24px);z-index:30;display:inline-flex;align-items:center;gap:clamp(8px,.7vw,12px)}.icon-button{width:clamp(40px,3.2vw,52px);height:clamp(40px,3.2vw,52px);display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:var(--surface-elevated);color:var(--ink-70);box-shadow:var(--card-shadow);cursor:pointer;transition:transform .2s ease,color .2s ease,background .2s ease}.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-button svg{width:60%;height:60%}.settings-button:hover,.settings-button:focus-visible{color:var(--ink);transform:rotate(30deg)}.theme-button:hover{color:var(--ink)}:root[data-theme=light] .theme-button{color:var(--accent-strong)}:root[data-theme=dark] .theme-button{color:#ffd66b}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:16px;background:var(--overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-dialog{width:min(100%,420px);background:var(--surface-elevated);border-radius:18px;box-shadow:0 24px 48px #0000004d;padding:clamp(18px,2vw,26px);display:grid;gap:14px}.settings-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-dialog-header h2{margin:0;color:var(--ink);font-size:1.25rem;font-weight:500}.settings-close{width:32px;height:32px;border:none;background:transparent;border-radius:999px;color:var(--ink-70);font-size:1.5rem;line-height:1;cursor:pointer}.settings-close:hover,.settings-close:focus-visible{background:var(--hover-soft);color:var(--ink);outline:none}.settings-dialog-hint{margin:0;color:var(--ink-60);font-size:.9rem;line-height:1.4}.settings-options{list-style:none;margin:0;padding:0;display:grid;gap:6px}.settings-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--ink);font-size:1rem;transition:background .15s ease}.settings-option:hover{background:var(--hover-softer)}.settings-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.settings-option input[type=checkbox]:disabled{cursor:not-allowed}.settings-dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.settings-secondary,.settings-primary{border:none;border-radius:10px;padding:9px 16px;font-size:.95rem;cursor:pointer;transition:background .15s ease,color .15s ease}.settings-secondary{background:transparent;color:var(--ink-70)}.settings-secondary:hover:not(:disabled),.settings-secondary:focus-visible{background:var(--hover-soft);color:var(--ink);outline:none}.settings-secondary:disabled{opacity:.5;cursor:not-allowed}.settings-primary{background:var(--accent);color:#fff}.settings-primary:hover,.settings-primary:focus-visible{background:var(--accent-strong);outline:none}@media(prefers-reduced-motion:reduce){.indicator-card{animation:none}.gauge-arc,.settings-button{transition:none}.settings-button:hover,.settings-button:focus-visible{transform:none}}
