:root{color-scheme:light dark;--bg: #ffffff;--text: #000000;--muted: #666666;--line: #000000;--open: #10b981;--closed: #ef4444;--ui-bg: #ffffff}:root[data-theme=dark]{--bg: #000000;--text: #ffffff;--muted: #a3a3a3;--line: #ffffff;--ui-bg: #000000}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Sora,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;transition:background-color .3s ease,color .3s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}main{width:100vw;height:100vh;padding:clamp(.5rem,2vw,1.5rem)}.stage{position:relative;width:100%;height:100%}.controls{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:90}button,.info{border:1px solid var(--line);background:var(--ui-bg);color:var(--text);border-radius:0;padding:.4rem .8rem;font:inherit;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .15s ease}button{cursor:pointer}button:hover{background:var(--text);color:var(--bg)}.next{position:absolute;right:1rem;top:50%;translate:0 -50%;width:3rem;height:3rem;font-size:1.2rem;z-index:100;display:flex;align-items:center;justify-content:center;padding:0}.clocks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-flow:dense;width:100%;height:100%;overflow:hidden;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg);transition:transform .25s cubic-bezier(.16,1,.3,1)}.clocks.is-transitioning{transform:translate(-100vw)}.clocks.is-entering{transition:none;transform:translate(100vw)}.piece{position:relative;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);transition:background-color .15s ease}.piece[hidden]{display:none!important}.piece:hover{background:#8080800f;z-index:10}.main-content{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease;transform-origin:bottom left;width:100%}.piece:hover .main-content{transform:scale(.6);opacity:.15}.holidays-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:90%;text-align:center;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:20}.piece:hover .holidays-box{opacity:1;transform:translate(-50%,-50%) scale(1)}.holidays-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem;color:var(--muted)}.holidays-list{margin:0;padding:0;list-style:none;font-size:1.1rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.02em}.holidays-list li{margin-bottom:.4rem}.piece.p1-a{grid-column:1 / span 4;grid-row:1 / span 2}.piece.p1-b{grid-column:5 / span 2;grid-row:1 / span 2}.piece.p1-c{grid-column:1 / span 2;grid-row:3 / span 2}.piece.p1-d{grid-column:3 / span 4;grid-row:3 / span 2}.piece.p2-a{grid-column:1 / span 2;grid-row:1 / span 2}.piece.p2-b{grid-column:3 / span 4;grid-row:1 / span 2}.piece.p2-c{grid-column:1 / span 4;grid-row:3 / span 2}.piece.p2-d{grid-column:5 / span 2;grid-row:3 / span 2}.piece.p3-a{grid-column:1 / span 2;grid-row:1 / span 4}.piece.p3-b{grid-column:3 / span 4;grid-row:1 / span 2}.piece.p3-c{grid-column:3 / span 2;grid-row:3 / span 2}.piece.p3-d{grid-column:5 / span 2;grid-row:3 / span 2}.piece.p4-a{grid-column:1 / span 6;grid-row:1 / span 2}.piece.p4-b{grid-column:1 / span 3;grid-row:3 / span 2}.piece.p4-c{grid-column:4 / span 3;grid-row:3 / span 2}.clock-row{display:flex;align-items:flex-end;gap:.9rem;min-width:0;flex-wrap:wrap}.time{font-size:var(--time-size, clamp(3rem, 5vw, 6rem));font-weight:800;letter-spacing:-.04em;line-height:.95;font-variant-numeric:tabular-nums}.info-group{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin-bottom:.2rem}.ticker-group{display:flex;align-items:center;gap:.42rem;min-width:0}.dot-container{display:flex;align-items:center;justify-content:center}.ticker{font-size:var(--ticker-size, clamp(1rem, 1.8vw, 1.8rem));font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1}.detail{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-top:.4rem;max-width:100%}.full-name{font-size:clamp(.75rem,.9vw,.9rem);color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.state-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.state{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.next-change{font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.text-open{color:var(--open)}.text-closed{color:var(--closed)}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 var(--pulse-color)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.dot{width:.6em;height:.6em;border-radius:50%;flex:0 0 auto;animation:dot-pulse 2s infinite}.dot.open{background:var(--open);--pulse-color: rgba(16, 185, 129, .5)}.dot.closed{background:var(--closed);--pulse-color: rgba(239, 68, 68, .5)}.piece.size-xl{--time-size: clamp(3.5rem, 6vw, 7rem);--ticker-size: clamp(1.2rem, 2vw, 2rem)}.piece.size-tall{--time-size: clamp(3rem, 5vw, 6rem);--ticker-size: clamp(1rem, 1.8vw, 1.7rem)}.piece.size-md{--time-size: clamp(2.8rem, 4.5vw, 5.5rem);--ticker-size: clamp(.9rem, 1.5vw, 1.4rem)}.piece.size-sm{--time-size: clamp(2.5rem, 4vw, 4.5rem);--ticker-size: clamp(.85rem, 1.2vw, 1.2rem)}.bottom{position:absolute;left:1rem;bottom:1rem;z-index:90}.version-badge{position:absolute;right:1rem;bottom:1rem;z-index:90}.is-hidden{display:none!important}.clocks-view{position:relative;width:100%;height:100%}.map-view{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;padding:clamp(.5rem,2vw,1.25rem)}.world-dot-shell{position:relative;width:min(1320px,99%);aspect-ratio:2 / 1;max-height:calc(100% - 1.4rem);margin:0 auto;overflow:hidden;border:1px solid var(--line);background:var(--bg)}.world-dot-map{position:absolute;inset:0;width:100%;height:100%;color:color-mix(in srgb,var(--muted) 72%,transparent);opacity:.95}.world-dot-map svg{width:100%;height:100%;display:block}.map-points{position:absolute;inset:0}.map-point{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:var(--text);font-family:Space Mono,monospace;font-size:clamp(.58rem,1.1vw,.88rem);font-weight:700;text-transform:uppercase;display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .3rem;cursor:pointer}.map-point:before{content:"";width:.6em;height:.6em;border-radius:50%;display:inline-block;box-shadow:0 0 0 0 var(--pulse-color);animation:dot-pulse 2s infinite}.map-point.open:before{background:var(--open);--pulse-color: rgba(16, 185, 129, .45)}.map-point.closed:before{background:var(--closed);--pulse-color: rgba(239, 68, 68, .45)}.map-point:focus-visible{outline:1px solid var(--line);outline-offset:2px}.map-hint{margin-top:.5rem;display:inline-block;text-align:center;opacity:.75}.map-tooltip{position:fixed;z-index:400;min-width:220px;max-width:340px;border:1px solid var(--line);background:var(--ui-bg);color:var(--text);padding:.6rem .7rem;pointer-events:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.map-tooltip strong{display:block;font-size:.8rem;margin-bottom:.35rem}.map-tooltip ul{margin:0;padding-left:1rem;text-transform:none;letter-spacing:normal}@media(max-width:1024px){.clocks{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr))}.piece[class*=p1-],.piece[class*=p2-],.piece[class*=p3-],.piece[class*=p4-]{grid-column:1 / -1;grid-row:auto}}@media(max-width:620px){main{padding:.5rem}button,.info{font-size:.65rem;padding:.3rem .5rem}.piece{padding:1rem}.clock-row{flex-direction:column;align-items:flex-start;gap:.2rem}.piece.size-xl,.piece.size-tall,.piece.size-md,.piece.size-sm{--time-size: clamp(2.5rem, 10vw, 4rem)}.ticker-group{margin-top:.2rem}.next{width:2.5rem;height:2.5rem;font-size:1rem}.holidays-box{display:none}.world-dot-shell{width:100%;max-height:calc(100% - 2.2rem)}.map-point{font-size:.52rem}.map-tooltip{display:none}}
