@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap");:root{--ink:#f4f1e6;--muted:#aebdb1;--green:#86a46d;--moss:#536e53;--sea:#0b2b2d;--deep:#061816;--panel:rgba(8,29,27,.86);--line:rgba(226,235,211,.16);--amber:#eac875}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--deep)}body{margin:0;color:var(--ink);font-family:DM Sans,system-ui,sans-serif;min-width:320px}a,button{font:inherit}button{color:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--deep);padding:.8rem 1rem}.skip-link:focus{top:1rem}.experience{min-height:100vh;overflow:hidden;position:relative;background:radial-gradient(circle at 20% 8%,rgba(95,134,105,.16),transparent 31rem),linear-gradient(180deg,#0a2421,#061817 58%,#081715)}.topbar{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;left:0;padding:1.35rem clamp(1rem,3.5vw,3.5rem);position:absolute;right:0;top:0;z-index:20}.brand{color:inherit;gap:.75rem;text-decoration:none;width:-moz-fit-content;width:fit-content}.brand,.brand-mark{align-items:center;display:flex}.brand-mark{border:1px solid var(--line);border-radius:50%;color:var(--amber);font-family:Newsreader,serif;font-size:1.35rem;height:2.55rem;justify-content:center;width:2.55rem}.brand b,.brand small{display:block}.brand b{font-family:Newsreader,serif;font-size:1.15rem;font-weight:500;letter-spacing:.01em}.brand small{color:var(--muted);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}.live-state{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(5,22,20,.45);border:1px solid var(--line);border-radius:2rem;color:var(--muted);display:flex;font-size:.72rem;gap:.45rem;padding:.48rem .72rem}.live-state time{border-left:1px solid var(--line);color:var(--ink);margin-left:.2rem;padding-left:.6rem}.live-dot{background:#ddad67;border-radius:50%;box-shadow:0 0 0 4px rgba(221,173,103,.1);height:.42rem;width:.42rem}.live-dot.live{animation:pulse 2.2s infinite;background:#8fcf97;box-shadow:0 0 0 4px rgba(143,207,151,.1)}.header-actions{display:flex;gap:.55rem;justify-self:end}.icon-button,.panel-button{background:rgba(5,22,20,.48);border:1px solid var(--line);border-radius:2rem;cursor:pointer;font-size:.75rem;padding:.65rem .9rem}.panel-button{background:var(--ink);color:var(--deep);font-weight:600}.hero-copy{left:clamp(1.2rem,6vw,6rem);max-width:36rem;position:absolute;top:clamp(7.5rem,18vh,12rem);z-index:8;pointer-events:none}.eyebrow{color:var(--amber);font-size:.68rem;font-weight:600;letter-spacing:.15em;margin:0 0 .75rem;text-transform:uppercase}.hero-copy h1{font-family:Newsreader,Georgia,serif;font-size:clamp(3rem,6.5vw,6.8rem);font-weight:400;letter-spacing:-.055em;line-height:.88;margin:0;max-width:9ch;text-wrap:balance}.hero-copy>p:not(.eyebrow){color:#c7d1c5;font-family:Newsreader,serif;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.45;margin:1.25rem 0;max-width:33rem}.moment-facts{display:flex;flex-wrap:wrap;gap:.6rem}.moment-facts span{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:rgba(6,24,22,.48);border:1px solid var(--line);border-radius:2rem;color:var(--muted);font-size:.7rem;padding:.45rem .7rem}.moment-facts b{color:var(--ink);margin-right:.18rem}.map-stage{height:min(100vh,62rem);min-height:47rem;overflow:hidden;position:relative}.map-presets{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(5,24,22,.72);border:1px solid var(--line);border-radius:999px;bottom:2rem;display:flex;gap:.2rem;left:clamp(1rem,5vw,5rem);padding:.28rem;position:absolute;z-index:14}.map-presets button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;display:flex;font-size:.68rem;gap:.4rem;padding:.58rem .72rem}.map-presets button:focus-visible,.map-presets button:hover{background:rgba(255,255,255,.08);color:var(--ink)}.map-presets button.active{background:var(--ink);color:var(--deep)}.preset-dot{background:var(--amber);border-radius:50%;height:.42rem;width:.42rem}.preset-dot.movement{background:#f09a72}.preset-dot.water{background:#75c6dd}.ireland-map{height:min(94vh,60rem);min-width:63rem;right:max(-7rem,calc((100vw - 96rem) / 2));top:2.5rem;width:min(67vw,64rem)}.sea-lines path{animation:tide 14s ease-in-out infinite alternate;fill:none;opacity:.18;stroke:#6f9b94;stroke-width:1}.terrain path{fill:none;opacity:.28;stroke:#d0d7a5;stroke-linecap:round;stroke-width:3}.sun-glow{transition:cx 3s linear,cy 3s linear}.wind-field path{animation:wind 4s linear infinite;fill:none;opacity:.22;stroke:#d9ebd9;stroke-dasharray:7 10;stroke-linecap:round;stroke-width:2}.rain-cloud{animation:rainBreath 3.2s ease-in-out infinite alternate;fill:url(#rainMist);opacity:.72}.place circle{fill:#f3e6b3}.place text{fill:rgba(248,245,229,.74);font-size:11px;paint-order:stroke;stroke:rgba(17,44,39,.8);stroke-width:4px}.station-marker{cursor:pointer;outline:none}.station-marker text{fill:#fff9e7;font-size:13px;font-weight:600;paint-order:stroke;stroke:#1b4238;stroke-width:5px}.station-halo{fill:rgba(244,241,230,.15);stroke:rgba(244,241,230,.34)}.station-core{fill:#f7e5a5}.station-marker.is-active .station-halo,.station-marker:focus .station-halo,.station-marker:hover .station-halo{fill:rgba(247,229,165,.35);stroke:#f7e5a5}.rain-ring{animation:rainRing 2.5s infinite;fill:none;stroke:#a5daf1}.buoy{cursor:pointer;outline:none}.buoy-wave{animation:buoy 3s ease-out infinite;fill:rgba(117,192,208,.1);stroke:rgba(153,218,225,.45)}.buoy-core{fill:#9ad8df}.buoy text{fill:#c9eef1;font-size:10px;paint-order:stroke;stroke:#0b2929;stroke-width:4px}.buoy:focus .buoy-core,.buoy:hover .buoy-core{fill:#fff}.buoy:focus .buoy-wave,.buoy:hover .buoy-wave{stroke:#00f0ff;stroke-width:2}.river-marker{cursor:pointer;outline:none}.river-marker path{fill:#55acc7;opacity:.86;stroke:#c9f3ff;stroke-width:1}.river-marker:focus path,.river-marker:hover path{fill:#9ee6f5;opacity:1;stroke-width:2}.train-marker{cursor:pointer;outline:none}.train-marker>path{fill:#f4e7b7;stroke:#173d36;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.train-marker.not-started{opacity:.58}.train-pulse{animation:trainPulse 2.6s infinite;fill:rgba(244,231,183,.18);stroke:rgba(244,231,183,.48)}.train-marker:focus>path,.train-marker:hover>path{fill:#fff8d8;stroke-width:2.4}.night-shade{fill:#071313;opacity:.58;pointer-events:none;transition:x 2s ease,width 2s ease}.is-night .night-shade{opacity:.72}.map-caption{bottom:2.3rem;color:var(--muted);font-size:.66rem;gap:.7rem;letter-spacing:.05em;position:absolute;right:clamp(1.2rem,4vw,4rem)}.compass,.map-caption{align-items:center;display:flex}.compass{border:1px solid var(--line);border-radius:50%;color:var(--ink);height:2rem;justify-content:center;width:2rem}.station-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:rgba(7,28,25,.9);border:1px solid var(--line);border-radius:1rem;bottom:2rem;box-shadow:0 2rem 5rem rgba(0,0,0,.3);padding:1.25rem;position:absolute;right:clamp(1rem,4vw,4rem);width:min(19rem,calc(100vw - 2rem));z-index:12}.station-card>button{background:none;border:0;cursor:pointer;font-size:1.4rem;position:absolute;right:1rem;top:.8rem}.station-card h2{font-family:Newsreader,serif;font-size:1.7rem;font-weight:400;margin:0}.station-temperature{color:var(--amber);font-family:Newsreader,serif;font-size:4rem;line-height:1;margin:.4rem 0}.station-temperature small{font-family:DM Sans,sans-serif;font-size:1rem}.detail-emblem{color:var(--amber);font-family:Newsreader,serif;font-size:4.2rem;line-height:.9;margin:.4rem 0}.station-card>p:not(.eyebrow){color:var(--muted);margin:.4rem 0 1rem}.station-card dl{border-top:1px solid var(--line);margin:0;padding-top:.7rem}.station-card dl div{display:flex;font-size:.72rem;justify-content:space-between;padding:.3rem 0}.station-card dt{color:var(--muted)}.station-card dd{margin:0}.warning-strip{align-items:center;background:#d8b15d;color:#1d2119;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:auto 1fr auto;margin:0 clamp(1rem,3vw,3rem);padding:1rem 1.25rem}.warning-strip>span{border:1px solid;border-radius:2rem;font-size:.65rem;font-weight:600;padding:.3rem .55rem;text-transform:uppercase}.warning-strip b,.warning-strip small{display:block}.warning-strip small{margin-top:.15rem;opacity:.75}.warning-strip time{font-size:.72rem;white-space:nowrap}.warning-strip.orange{background:#d78548}.warning-strip.red{background:#b94a3f;color:white}.island-pulse{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1.25fr repeat(3,1fr);margin:0 auto;max-width:92rem;padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem) 0}.pulse-intro{padding:1rem 2rem 1rem 0}.pulse-intro h2{font-family:Newsreader,serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;letter-spacing:-.035em;line-height:.95;margin:0}.pulse-intro>p:last-child{color:var(--muted);font-size:.82rem;line-height:1.6;max-width:24rem}.pulse-card{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:1.1rem;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;min-height:16rem;padding:1.2rem;text-align:left;transition:transform .2s ease,border-color .2s ease}.pulse-card:focus-visible,.pulse-card:hover{border-color:rgba(234,200,117,.55);transform:translateY(-4px)}.pulse-card>span{color:var(--amber);font-size:.67rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.pulse-card strong{font-family:Newsreader,serif;font-size:clamp(3rem,4.5vw,5rem);font-weight:400;letter-spacing:-.05em;line-height:1;margin-top:1.7rem}.pulse-card small{color:var(--muted);font-size:.7rem;line-height:1.45;margin-top:.4rem}.pulse-card b{font-size:.7rem;margin-top:auto;padding-top:1rem}.pulse-card.trains>span{color:#f09a72}.pulse-card.rivers>span{color:#75c6dd}.dayline{margin:0 auto;max-width:92rem;padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem)}.dayline-heading{align-items:flex-end;display:flex;justify-content:space-between}.dayline-heading h2{font-family:Newsreader,serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;margin:0}.dayline-heading>p{color:var(--muted);font-size:.8rem;max-width:18rem}.timeline-chart{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;gap:clamp(.25rem,1vw,1rem);height:12rem;margin-top:2rem}.timeline-empty{align-self:center;color:var(--muted);font-family:Newsreader,serif;font-size:1.2rem;margin:auto;text-align:center}.timeline-point{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;min-width:0}.timeline-point .bar{background:linear-gradient(#d6c587,#5e8063);border-radius:1rem 1rem 0 0;min-height:4px;opacity:.72;width:100%}.timeline-point .bar.rain{background:linear-gradient(#a3cde0,#3a6e82)}.timeline-point small{color:var(--muted);font-size:.58rem;height:1.3rem;padding-top:.4rem}.explore-panel{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:var(--panel);border-left:1px solid var(--line);bottom:0;max-width:27rem;padding:1.5rem;position:fixed;right:0;top:0;transform:translateX(102%);transition:transform .35s cubic-bezier(.22,.8,.32,1);width:92vw;z-index:50;overflow-y:auto}.explore-panel.is-open{box-shadow:-2rem 0 6rem rgba(0,0,0,.35);transform:translateX(0)}.panel-heading{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.panel-heading h2{font-family:Newsreader,serif;font-size:2.3rem;font-weight:400;margin:0}.panel-heading button{background:none;border:1px solid var(--line);border-radius:50%;cursor:pointer;font-size:1.3rem;height:2.5rem;width:2.5rem}.layer-list{display:grid;grid-gap:.55rem;gap:.55rem}.layer-list>button{align-items:center;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:.8rem;cursor:pointer;display:flex;gap:.9rem;padding:.85rem;text-align:left}.layer-list>button:hover{background:rgba(255,255,255,.06)}.layer-list b,.layer-list small{display:block}.layer-list b{font-size:.82rem}.layer-list small{color:var(--muted);font-size:.66rem;margin-top:.16rem}.layer-toggle{border:1px solid #6e8175;border-radius:2rem;height:1.15rem;position:relative;width:2rem}.layer-toggle:after{background:#75847b;border-radius:50%;content:"";height:.75rem;left:.17rem;position:absolute;top:.14rem;transition:.2s;width:.75rem}.layer-list>button.active .layer-toggle{border-color:var(--amber)}.layer-list>button.active .layer-toggle:after{background:var(--amber);transform:translateX(.8rem)}.source-note{border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1.55;margin-top:2rem;padding-top:1.5rem}.source-note a{color:var(--ink);display:block;margin-top:.35rem;width:-moz-fit-content;width:fit-content}footer{border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:.7rem;gap:2rem;justify-content:space-between;margin:0 clamp(1rem,5vw,5rem);padding:2rem 0 3rem}footer p{margin:0;max-width:36rem}footer b{color:var(--ink)}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(143,207,151,0)}}@keyframes tide{to{transform:translateX(18px)}}@keyframes wind{0%{stroke-dashoffset:34}to{stroke-dashoffset:0}}@keyframes rainBreath{to{opacity:.48;transform:scale(1.08);transform-origin:center}}@keyframes rainRing{0%{opacity:.7;r:7}to{opacity:0;r:23}}@keyframes buoy{0%{opacity:.8;stroke-width:1}to{opacity:.15;stroke-width:3}}@keyframes trainPulse{0%{opacity:.8;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}@keyframes aurora{to{opacity:.72;transform:skewX(-2deg) scaleY(1.08)}}@media (max-width:780px){.topbar{grid-template-columns:1fr auto}.icon-button,.live-state{display:none}.hero-copy{left:1.15rem;right:1.15rem;top:7.5rem}.hero-copy h1{font-size:clamp(3.3rem,15vw,5.3rem);max-width:8ch}.hero-copy>p:not(.eyebrow){font-size:1rem;max-width:25rem}.moment-facts{gap:.35rem}.map-stage{height:54rem;min-height:54rem}.ireland-map{bottom:-1.5rem;height:45rem;min-width:45rem;right:-8.5rem;top:auto;width:45rem}.map-caption{bottom:4.7rem}.map-presets{bottom:1rem;left:1rem;max-width:calc(100vw - 2rem);overflow-x:auto}.map-presets button{white-space:nowrap}.station-card{bottom:5rem;left:1rem;right:auto}.warning-strip{align-items:start;grid-template-columns:auto 1fr}.warning-strip time{grid-column:2}.dayline-heading{align-items:flex-start;display:block}.dayline-heading>p{margin-top:1rem}.island-pulse{grid-template-columns:1fr}.pulse-intro{padding-right:0}.pulse-card{min-height:13rem}footer{display:block}footer p+p{margin-top:1rem}}@media (min-width:781px) and (max-width:1120px){.island-pulse{grid-template-columns:repeat(3,1fr)}.pulse-intro{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}:root{--ink:#dae2fd;--muted:#91a2bd;--green:#4edea3;--sea:#071322;--deep:#050d1b;--panel:rgba(10,22,40,.94);--line:rgba(117,150,184,.2);--amber:#00dbe9}body{background:#050d1b;font-family:Inter,DM Sans,system-ui,sans-serif}.experience{background:radial-gradient(circle at 69% 33%,rgba(0,219,233,.08),transparent 34rem),#050d1b;overflow:clip}.topbar{background:rgba(12,23,42,.96);border-bottom:1px solid var(--line);min-height:4.75rem;padding:.75rem 1.5rem;position:relative}.brand-mark{background:rgba(0,219,233,.1);border-color:rgba(0,219,233,.45);border-radius:.6rem;color:#00f0ff;font-size:.7rem;font-weight:700}.brand b,.brand-mark{font-family:DM Sans,sans-serif}.brand b{font-size:1rem;font-weight:600}.brand small,.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.icon-button,.live-state{background:rgba(18,32,54,.8);border-radius:.35rem}.panel-button{background:#00dbe9;border:0;border-radius:.35rem;color:#001b20}.dashboard-shell{display:grid;grid-template-columns:15.5rem minmax(0,1fr)}.dashboard-shell,.section-rail{min-height:calc(100vh - 4.75rem)}.section-rail{background:#0c172b;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:1.35rem 1rem}.rail-status{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:.7rem;padding:.65rem .6rem 1.4rem}.rail-status b,.rail-status small{display:block}.rail-status b{font-size:.75rem;letter-spacing:.04em}.rail-status small{color:#4edea3;font:600 .61rem ui-monospace,monospace;margin-top:.2rem;text-transform:uppercase}.section-rail nav{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:1.3rem}.section-rail nav button{align-items:center;background:transparent;border:1px solid transparent;border-radius:.35rem;color:#9dacc2;cursor:pointer;display:flex;font:600 .68rem ui-monospace,monospace;gap:.8rem;letter-spacing:.08em;padding:.78rem .7rem;text-align:left;text-transform:uppercase}.section-rail nav button span{color:#bfd0e2;font-size:1rem;width:1.1rem}.section-rail nav button.active,.section-rail nav button:hover{background:rgba(0,219,233,.09);border-color:rgba(0,219,233,.2);color:#4edea3}.section-rail nav button.active span{color:#00f0ff}.rail-metrics{border-top:1px solid var(--line);display:grid;grid-gap:.65rem;gap:.65rem;margin-top:auto;padding-top:1rem}.rail-metrics p{background:#101d33;border:1px solid var(--line);border-radius:.35rem;display:grid;grid-template-columns:1fr auto;margin:0;padding:.7rem}.rail-metrics small,.rail-metrics span{color:var(--muted);font:.58rem ui-monospace,monospace;text-transform:uppercase}.rail-metrics strong{color:#00e8f5;font:600 1.05rem ui-monospace,monospace;grid-row:span 2}.rail-metrics small{margin-top:.25rem}.map-workspace{min-width:0;padding:1.15rem}.workspace-heading{align-items:flex-end;display:flex;gap:2rem;justify-content:space-between;margin:0 auto .8rem;max-width:92rem}.workspace-heading .eyebrow{color:#4edea3;margin-bottom:.35rem}.workspace-heading h1{font-family:DM Sans,sans-serif;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:600;letter-spacing:-.04em;line-height:1;margin:0}.workspace-heading>div>p:last-child{color:var(--muted);font-size:.72rem;margin:.55rem 0 0;max-width:42rem}.workspace-facts{display:flex;gap:.5rem}.workspace-facts span{background:#101d33;border:1px solid var(--line);border-radius:.35rem;min-width:6.7rem;padding:.55rem .65rem}.workspace-facts b,.workspace-facts small{display:block;font-family:ui-monospace,monospace}.workspace-facts b{color:#00e8f5;font-size:.85rem}.workspace-facts small{color:var(--muted);font-size:.52rem;margin-top:.15rem;text-transform:uppercase}.map-stage{background:#071426;border:1px solid rgba(0,219,233,.2);border-radius:.5rem;box-shadow:0 0 2rem rgba(0,219,233,.045);height:calc(100vh - 10.7rem);min-height:37rem}.ireland-map{cursor:-webkit-grab;cursor:grab;height:100%;inset:0;min-width:0;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ireland-map.is-zoomed:active{cursor:-webkit-grabbing;cursor:grabbing}.map-viewport{transform-box:fill-box;transform-origin:0 0}.map-navigation{align-items:center;background:rgba(9,23,41,.95);border:1px solid rgba(0,219,233,.32);border-radius:.4rem;box-shadow:0 .75rem 1.8rem rgba(0,0,0,.24);display:flex;overflow:hidden;position:absolute;right:.8rem;top:.8rem;z-index:15}.map-navigation button{align-items:center;background:transparent;border:0;border-right:1px solid rgba(0,219,233,.18);color:#eafcff;cursor:pointer;display:flex;font:600 1rem ui-monospace,monospace;height:2.15rem;justify-content:center;min-width:2.15rem;padding:0 .55rem}.map-navigation button:focus-visible,.map-navigation button:hover:not(:disabled){background:rgba(0,219,233,.14);color:#4edea3}.map-navigation button:disabled{cursor:default;opacity:.34}.map-navigation .map-reset{font-size:.58rem;letter-spacing:.05em;text-transform:uppercase}.map-navigation output{color:#4edea3;font:600 .55rem ui-monospace,monospace;min-width:2.9rem;padding:0 .55rem;text-align:center}.island-shape{pointer-events:none}.island-shape path{fill:#14263a;stroke:#5a91a6;stroke-width:1.15;vector-effect:non-scaling-stroke}.road-network{pointer-events:none}.road-network path{fill:none;opacity:.74;stroke:#00cbd9;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35;vector-effect:non-scaling-stroke}.road-network path.motorway{filter:drop-shadow(0 0 3px rgba(0,240,255,.75));opacity:.98;stroke:#00f0ff;stroke-width:2.4}.road-network path.trunk{stroke:#55bdcf;stroke-width:1.45}.sea-lines path{opacity:.09;stroke:#287b98}.night-shade{fill:#020712;opacity:.24}.is-night .night-shade{opacity:.46}.wind-field path{stroke:#64d8e8}.place circle{fill:#4edea3}.place text{fill:#cce9ee;font-size:10px}.place text,.station-marker text{font-family:ui-monospace,monospace;stroke:#071426}.station-marker text{fill:#eafcff;font-size:11px}.station-core{fill:#00e8f5}.station-halo{fill:rgba(0,219,233,.13);stroke:rgba(0,219,233,.5)}.wind-marker{cursor:pointer;outline:none}.wind-marker circle{fill:rgba(9,26,45,.92);stroke:rgba(78,222,163,.72);stroke-width:1}.wind-marker path{fill:#4edea3;stroke:#071426;stroke-width:.6}.wind-marker text{fill:#dffef3;font:600 9px ui-monospace,monospace;paint-order:stroke;stroke:#071426;stroke-width:4px}.wind-marker:focus circle,.wind-marker:hover circle{fill:rgba(0,219,233,.24);stroke:#00f0ff;stroke-width:2}.air-marker{cursor:pointer;outline:none}.air-marker circle{fill:#4edea3;opacity:.88;stroke:#dffef3;stroke-width:1}.air-marker.modelled circle{fill-opacity:.2;stroke-dasharray:2 2;stroke-width:2}.air-marker text{fill:#041712;font:700 9px ui-monospace,monospace;pointer-events:none}.air-marker.aqi-fair circle{fill:#b7d66d}.air-marker.aqi-moderate circle{fill:#f0c95f}.air-marker.aqi-poor circle,.air-marker.aqi-very-poor circle{fill:#ec8e62}.air-marker.aqi-extremely-poor circle{fill:#e5617b}.air-marker:focus circle,.air-marker:hover circle{filter:drop-shadow(0 0 6px #00f0ff);stroke-width:2}.radar-tiles{opacity:.72;pointer-events:none}.radar-tiles image{mix-blend-mode:hard-light}.satellite-tiles{opacity:.7;pointer-events:none}.satellite-tiles image{mix-blend-mode:screen}.bathing-marker,.earthquake-marker,.tide-marker,.transit-marker{cursor:pointer;outline:none}.tide-marker circle{fill:rgba(7,28,48,.94);stroke:#65cbff;stroke-width:1.5}.tide-marker path{fill:none;stroke:#65cbff;stroke-linecap:round;stroke-width:1.5}.tide-marker text{fill:#dff7ff;font:600 9px ui-monospace,monospace;paint-order:stroke;stroke:#071426;stroke-width:4px}.tide-marker.is-unusual circle{filter:drop-shadow(0 0 7px #f1c76f);stroke:#f1c76f}.bathing-marker .alert-pulse{fill:rgba(255,145,148,.14);stroke:rgba(255,145,148,.5)}.bathing-marker circle:not(.alert-pulse){fill:#d9546f;stroke:#ffe5e9}.bathing-marker text{fill:white;font:800 9px ui-monospace,monospace;pointer-events:none}.earthquake-marker circle{fill:rgba(232,142,73,.16);stroke:#e88e49;stroke-width:1.5}.earthquake-marker path{fill:none;stroke:#ffd2ae;stroke-width:1.6}.transit-marker circle{fill:#00dbe9;opacity:.76;stroke:#dffeff;stroke-width:.7}.transit-marker path{fill:#4edea3;stroke:#071426;stroke-width:.5}.transit-marker text{fill:#041724;font:700 5.5px ui-monospace,monospace;pointer-events:none}.transit-cluster circle{fill:#4edea3;opacity:.92;stroke:#dffef3;stroke-width:1}.bathing-marker:focus circle,.bathing-marker:hover circle,.earthquake-marker:focus circle,.earthquake-marker:hover circle,.tide-marker:focus circle,.tide-marker:hover circle,.transit-marker:focus circle,.transit-marker:hover circle{filter:drop-shadow(0 0 7px #00f0ff);stroke-width:2}.aurora-curtain{animation:aurora 7s ease-in-out infinite alternate;pointer-events:none;transform-origin:top}.map-presets{background:rgba(10,24,43,.94);border-radius:.4rem;bottom:auto;display:none;left:auto;right:1rem;top:1rem}.map-notice{background:rgba(9,23,41,.96);border:1px solid rgba(0,219,233,.38);border-left:3px solid #4edea3;border-radius:.4rem;box-shadow:0 1rem 2.5rem rgba(0,0,0,.32);left:1rem;max-width:24rem;padding:.8rem .9rem;position:absolute;top:1rem;z-index:13;pointer-events:none}.map-notice>span{color:#4edea3;display:block;font:600 .52rem ui-monospace,monospace;letter-spacing:.1em;margin-bottom:.35rem;text-transform:uppercase}.map-notice>button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:1rem;position:absolute;right:.55rem;top:.4rem;pointer-events:auto}.map-notice strong{display:block;font-size:.82rem;padding-right:1.25rem}.map-notice p{color:var(--muted);font-size:.65rem;line-height:1.45;margin:.25rem 0 0}.map-caption{bottom:.65rem;right:.8rem;z-index:10}.map-caption a{color:inherit}.compass{background:#0c1a2d;border-radius:.35rem}.live-signal-dock{align-items:stretch;background:rgba(9,23,41,.95);border:1px solid rgba(0,219,233,.24);border-radius:.4rem;bottom:.8rem;display:flex;left:.8rem;max-width:calc(100% - 23rem);overflow:hidden;position:absolute;z-index:11}.live-signal-dock strong,.live-signal-dock>span{align-items:center;display:flex;font:600 .58rem ui-monospace,monospace;gap:.45rem;letter-spacing:.04em;min-height:2.8rem;padding:.55rem .75rem;text-transform:uppercase}.live-signal-dock strong{background:rgba(0,219,233,.12);border-right:1px solid rgba(0,219,233,.22);color:#4edea3;white-space:nowrap}.live-signal-dock>span{border-right:1px solid var(--line);color:#b4c3d7}.live-signal-dock>span:last-child{border-right:0}.live-signal-dock time{color:#00e8f5}.station-card{background:rgba(9,23,41,.96);border-color:rgba(0,219,233,.3);border-radius:.4rem}.radar-control{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(9,23,41,.95);border:1px solid rgba(0,219,233,.34);border-radius:.4rem;bottom:4.15rem;display:flex;gap:.7rem;left:1rem;padding:.65rem;position:absolute;width:min(29rem,calc(100% - 2rem));z-index:12}.radar-control>button{background:#00dbe9;border:0;border-radius:.25rem;color:#001b20;cursor:pointer;font:700 .58rem ui-monospace,monospace;min-width:4.2rem;padding:.65rem .75rem;text-transform:uppercase}.radar-control>button:disabled{cursor:default;opacity:.45}.radar-control label{display:grid;flex:1 1;grid-gap:.25rem;gap:.25rem;grid-template-columns:auto 1fr}.radar-control label span{color:#4edea3;font:600 .62rem ui-monospace,monospace}.radar-control input{accent-color:#00dbe9;min-width:0;width:100%}.radar-control small{color:var(--muted);font:.5rem ui-monospace,monospace;grid-column:1/-1}.map-data-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(9,23,41,.96);border:1px solid rgba(0,219,233,.34);border-radius:.4rem;box-shadow:0 1rem 3rem rgba(0,0,0,.35);padding:1rem;position:absolute;right:1rem;top:1rem;width:min(21rem,calc(100% - 2rem));z-index:12;pointer-events:none}.map-data-panel h2{font-size:1.15rem;margin:0 0 .8rem}.map-data-panel dl{display:grid;grid-gap:.4rem;gap:.4rem;grid-template-columns:1fr 1fr;margin:.8rem 0 0}.map-data-panel dl div{background:#101d33;border:1px solid var(--line);padding:.5rem}.map-data-panel dt{color:var(--muted);font:.5rem ui-monospace,monospace;text-transform:uppercase}.map-data-panel dd{color:#dffeff;font:600 .72rem ui-monospace,monospace;margin:.2rem 0 0}.aurora-probability,.grid-hero,.iss-orbit-value{align-items:flex-end;display:flex;gap:.7rem}.aurora-probability strong,.grid-hero strong,.iss-orbit-value strong{color:#00e8f5;font:600 2.7rem/1 ui-monospace,monospace}.aurora-probability span,.grid-hero span,.iss-orbit-value span{color:var(--muted);font-size:.62rem;line-height:1.35;max-width:8.5rem}.aurora-panel{border-color:rgba(106,255,196,.42)}.aurora-panel .eyebrow{color:#78ffc6}.aurora-panel p:not(.eyebrow),.aurora-panel small{color:var(--muted);font-size:.62rem;line-height:1.45}.aurora-probability strong{color:#78ffc6}.iss-panel{border-color:rgba(148,180,255,.46)}.iss-orbit-value strong,.iss-panel .eyebrow{color:#a9c2ff}.iss-panel small{color:var(--muted);display:block;font-size:.6rem;line-height:1.5;margin-top:.75rem}.mobile-context-panel{display:none}.detail-emblem,.station-card h2,.station-temperature{font-family:DM Sans,sans-serif}.detail-emblem,.station-temperature{color:#00e8f5}.warning-strip{background:#111d31;border:1px solid rgba(236,188,91,.38);border-left:4px solid #ecbc5b;border-radius:.4rem;color:var(--ink);margin:1rem auto 0;max-width:calc(100% - 2rem);width:94rem}.warning-strip>span{background:rgba(236,188,91,.13);border:0;border-radius:.2rem;color:#f1c76f;font-family:ui-monospace,monospace}.warning-strip small,.warning-strip time{color:var(--muted)}.warning-strip.orange{background:#111d31;border-color:rgba(232,142,73,.45) rgba(232,142,73,.45) rgba(232,142,73,.45) #e88e49}.warning-strip.red{background:#171826;border-color:rgba(255,145,148,.42) rgba(255,145,148,.42) rgba(255,145,148,.42) #ff9194;color:var(--ink)}.notable-now{align-items:start;background:linear-gradient(135deg,rgba(0,219,233,.06),rgba(78,222,163,.02));border:1px solid var(--line);border-radius:.4rem;display:grid;grid-gap:1rem 2rem;gap:1rem 2rem;grid-template-columns:minmax(14rem,.75fr) 2fr;margin:1rem auto 0;max-width:calc(96rem - 2 * clamp(1rem, 5vw, 5rem));padding:1.2rem}.notable-now h2{font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.035em;margin:.15rem 0 0}.notable-signals{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.all-quiet,.notable-signals button{background:#101d33;border:1px solid var(--line);border-left:3px solid #4edea3;border-radius:.35rem;color:var(--ink);display:grid;grid-gap:.22rem;gap:.22rem;padding:.75rem;text-align:left}.notable-signals button{cursor:pointer}.notable-signals button:focus-visible,.notable-signals button:hover{border-color:rgba(0,219,233,.52)}.notable-signals span{color:#4edea3;font:600 .5rem ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.notable-signals b{font-size:.72rem}.notable-signals small{color:var(--muted);font:.54rem ui-monospace,monospace}.all-quiet{align-items:center;display:flex;grid-column:1/-1;margin:0}.all-quiet .live-dot{display:inline-block;margin-right:.2rem}.detail-link{color:#4edea3;display:inline-block;font:600 .62rem ui-monospace,monospace;margin-top:.8rem}.detail-emblem.warning{color:#ff9194}.dayline,.island-pulse{max-width:96rem}.island-pulse{gap:.7rem;grid-template-columns:1.05fr repeat(3,1fr);padding-bottom:0;padding-top:clamp(3rem,6vw,5.5rem)}.pulse-intro{background:linear-gradient(145deg,rgba(0,219,233,.06),transparent 62%);border:1px solid var(--line);border-radius:.4rem;min-height:17rem;padding:1.35rem}.pulse-intro h2{font-size:clamp(2rem,3.2vw,3.3rem);letter-spacing:-.045em;max-width:8ch}.pulse-card{background:#101b2e;border-radius:.4rem;box-shadow:0 0 1.8rem rgba(0,219,233,.025);min-height:17rem;overflow:hidden;padding:1.05rem;position:relative}.pulse-card:focus-visible,.pulse-card:hover{border-color:rgba(0,219,233,.55);box-shadow:0 0 1.8rem rgba(0,219,233,.08)}.pulse-card>span{color:#4edea3;font-family:ui-monospace,monospace}.pulse-card>span i{color:#00e8f5;font-style:normal;margin-right:.35rem}.pulse-card strong{color:var(--ink);font-family:ui-monospace,monospace;font-size:clamp(2.6rem,4vw,4rem);letter-spacing:-.06em;margin-top:1.2rem}.pulse-card small{max-width:17rem;min-height:2.2rem}.pulse-card b{color:#54e2b0;font-family:ui-monospace,monospace;font-size:.6rem;letter-spacing:.03em}.pulse-card.rivers>span,.pulse-card.trains>span{color:#4edea3}.signal-bars{align-items:flex-end;border-bottom:1px solid var(--line);display:flex;gap:.25rem;height:3.1rem;margin:.8rem 0 0}.signal-bars i{background:linear-gradient(#00dbe9,rgba(0,219,233,.1));display:block;flex:1 1;max-width:.85rem}.signal-line{align-items:flex-end;display:flex;gap:.18rem;height:3.2rem;margin-top:.7rem}.signal-line i{background:#4edea3;border-radius:50%;height:.34rem;position:relative;width:.34rem}.signal-line i:nth-child(2){transform:translateY(-.55rem)}.signal-line i:nth-child(3){transform:translateY(-.3rem)}.signal-line i:nth-child(4){transform:translateY(-1.2rem)}.signal-line i:nth-child(5){transform:translateY(-.75rem)}.signal-line i:nth-child(6){transform:translateY(-1.5rem)}.signal-line i:not(:last-child):after{background:rgba(78,222,163,.5);content:"";height:1px;left:.3rem;position:absolute;top:.15rem;width:1.55rem}.signal-wave{color:#00dbe9;font:1.35rem ui-monospace,monospace;letter-spacing:-.35rem;margin-top:1.1rem;opacity:.7;overflow:hidden;white-space:nowrap}.dayline{background:#0d182a;border:1px solid var(--line);border-radius:.4rem;margin-top:1rem;padding:1.35rem}.context-actions{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(4,1fr);margin:.7rem auto 0;max-width:96rem;padding:0 clamp(1rem,5vw,5rem)}.context-actions button{align-items:center;background:#0d192b;border:1px solid var(--line);border-radius:.4rem;color:var(--ink);cursor:pointer;display:grid;grid-gap:.18rem .7rem;gap:.18rem .7rem;grid-template-columns:auto 1fr auto;padding:.9rem;text-align:left}.context-actions button:focus-visible,.context-actions button:hover{background:#112039;border-color:rgba(0,219,233,.46)}.context-actions span{align-items:center;background:rgba(0,219,233,.1);border:1px solid rgba(0,219,233,.24);border-radius:.3rem;color:#00e8f5;display:flex;font-size:.9rem;grid-row:1/3;height:2.2rem;justify-content:center;width:2.2rem}.context-actions b{font-size:.72rem}.context-actions small{color:var(--muted);font:.55rem ui-monospace,monospace;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-actions i{color:#4edea3;font:normal .55rem ui-monospace,monospace;grid-column:3;grid-row:1/3;white-space:nowrap}.dayline-heading{align-items:start;border-bottom:1px solid var(--line);padding-bottom:1rem}.dayline-heading h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em}.dayline-heading>p{font-family:ui-monospace,monospace;font-size:.62rem}.timeline-chart{background-image:linear-gradient(0deg,rgba(117,150,184,.12) 1px,transparent 0);background-size:100% 25%;border-bottom-color:rgba(0,219,233,.28);height:10rem;margin-top:1.2rem}.timeline-point .bar{background:linear-gradient(#00dbe9,rgba(0,219,233,.14));border-radius:.12rem .12rem 0 0}.timeline-point .bar.rain{background:linear-gradient(#65cbff,rgba(47,111,164,.18))}.timeline-point small{font-family:ui-monospace,monospace}.dayline-heading h2,.panel-heading h2,.pulse-card strong,.pulse-intro h2{font-family:DM Sans,sans-serif}.explore-panel,.pulse-card{border-radius:.4rem}.explore-panel{background:rgba(8,19,35,.97);border-color:rgba(0,219,233,.22)}.panel-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(1,7,17,.54);border:0;cursor:default;inset:0;padding:0;position:fixed;z-index:49}.layer-list>button{background:#101d33;border-radius:.35rem}.layer-list>button.active{border-color:rgba(0,219,233,.32)}.layer-list>button.active .layer-toggle{border-color:#00dbe9}.layer-list>button.active .layer-toggle:after{background:#00dbe9}footer{background:#081425;border:1px solid var(--line);border-radius:.4rem .4rem 0 0;margin:1rem auto 0;max-width:96rem;padding:1.3rem}@media (max-width:900px){.dashboard-shell{display:block;min-height:0}.section-rail{border-bottom:1px solid var(--line);border-right:0;min-height:0;padding:.45rem .75rem}.rail-metrics,.rail-status{display:none}.section-rail nav{display:flex;margin:0;overflow-x:auto}.section-rail nav button{flex:1 0 auto;justify-content:center}.map-workspace{padding:.8rem}.workspace-facts{display:none}.map-stage{aspect-ratio:10/9;height:auto;min-height:0}.live-signal-dock{display:none}.map-caption{bottom:.5rem}.island-pulse{grid-template-columns:repeat(3,1fr)}.pulse-intro{grid-column:1/-1;min-height:0}.pulse-intro h2{max-width:none}.context-actions{padding-left:1rem;padding-right:1rem;grid-template-columns:repeat(2,1fr)}.notable-now{grid-template-columns:1fr;margin-left:1rem;margin-right:1rem;max-width:none}}@media (max-width:600px){.topbar{min-height:4rem;padding:.55rem .75rem}.brand small{display:none}.brand-mark{height:2.25rem;width:2.25rem}.panel-button{padding:.58rem .7rem}.map-workspace{padding:.7rem}.workspace-heading{margin-bottom:.65rem}.workspace-heading h1{font-size:1.45rem}.workspace-heading>div>p:last-child{display:none}.map-stage{aspect-ratio:10/9;height:auto;min-height:0}.ireland-map{bottom:auto;height:100%;right:auto;top:0;width:100%}.section-rail nav button{font-size:.57rem;padding:.65rem .55rem}.section-rail nav button span{display:none}.map-caption{font-size:.5rem}.map-navigation{right:.55rem;top:4.65rem}.map-navigation button{height:1.9rem;min-width:1.9rem;padding:0 .4rem}.map-navigation output{min-width:2.6rem;padding:0 .4rem}.section-rail{background:rgba(10,23,42,.97);border:1px solid var(--line);border-radius:.5rem .5rem 0 0;bottom:0;left:0;padding:.35rem .45rem;position:fixed;right:0;z-index:45}.section-rail nav button{display:grid;font-size:.48rem;grid-gap:.2rem;gap:.2rem;justify-items:center;letter-spacing:.04em;padding:.5rem .45rem}.section-rail nav button span{display:block;font-size:.85rem;text-align:center}.island-pulse{grid-template-columns:1fr;padding-top:2.4rem}.pulse-intro{min-height:0}.pulse-card{min-height:14rem}.warning-strip{margin-left:.7rem;margin-right:.7rem;max-width:calc(100% - 1.4rem)}.map-notice{left:.55rem;max-width:calc(100% - 1.1rem);padding:.55rem .7rem;top:.55rem}.map-notice>span{margin-bottom:.2rem}.map-notice p{display:none}.context-actions{grid-template-columns:1fr;padding-left:.7rem;padding-right:.7rem}.notable-now{margin-left:.7rem;margin-right:.7rem;padding:.9rem}.notable-signals{grid-template-columns:1fr}.radar-control{bottom:2.3rem;left:.55rem;width:calc(100% - 1.1rem)}.desktop-context-panel{display:none}.mobile-context-panel{display:block;left:auto;margin:.7rem;max-width:none;pointer-events:auto;position:relative;right:auto;top:auto;width:auto}.mobile-context-panel dl{grid-template-columns:repeat(3,1fr)}.dayline,footer{margin-left:.7rem;margin-right:.7rem}footer{margin-bottom:4.4rem}}