/* Shared holographic tool surfaces. */
.translator-tool{max-width:960px;margin:36px auto;--cyan:#a0e8f4;--gold:#ffd393;--text:#cfe0f0;--text-dim:#9ab5c5}.translator-tool [hidden],.weather-tool [hidden]{display:none!important}.translator-tool h1{font-size:clamp(28px,5vw,46px)}.translator-tool .sub,.translator-tool .tip{color:var(--text-dim);margin:12px 0}.translator-tool .lang-row,.mode-toggle,.trans-bottom,.btn-group,.weather-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.translator-tool button,.translator-tool select,.weather-tool button,.weather-tool select{border:1px solid #80dfff55;background:#16314280;color:#c9f5ff;border-radius:8px;padding:10px 14px;cursor:pointer}.translator-tool button:hover,.translator-tool button.active,.weather-tool button:not(.planet-scan-card):hover{background:#62cefa25;box-shadow:0 0 15px #62cefa22}.translator-tool button:focus-visible,.weather-tool button:focus-visible{outline:2px solid #a0e8f4;outline-offset:3px}.mode-btn{flex:1}.trans-box,.translator-tool .chart,.weather-panel{border:1px solid #80dfff40;border-radius:12px;padding:22px;background:linear-gradient(140deg,#153446b8,#102334cc);margin-bottom:20px}.trans-label,.group-label{color:#9fd7e6;letter-spacing:.1em;font-size:12px;text-transform:uppercase;margin:12px 0}.trans-input{width:100%;padding:14px;background:#081e2d;border:1px solid #8edbff50;border-radius:8px;color:#e1f7ff}.trans-output,.seq-output,.alpha-cell .glyph{font-family:NMSAlphabet;font-size:30px;overflow-wrap:anywhere;min-height:46px;color:#a0e8f4}.trans-output.decoded{font-family:inherit;font-size:24px;color:#fff}.trans-hint{flex:1;min-width:200px;color:#9ab5c5}.chart-head{display:flex;gap:10px;align-items:center;cursor:pointer}.chart-head .ttl{flex:1}.chart-head .kick{color:#a0e8f4}.chart:not(.open) .chart-body{display:none}.chart.open .arr{transform:rotate(180deg)}.alpha-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:8px}.alpha-cell{border:1px solid #80dfff40;border-radius:7px;padding:8px!important;text-align:center;background:#102b3e77;color:#a0e8f4}.alpha-cell .latin{font:11px monospace;margin:4px}.alpha-cell .glyph{font-size:28px}.weather-tool{margin-top:30px}.weather-actions input[type=search]{min-width:180px;flex:1}.weather-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.weather-stats article,.weather-hour{padding:14px;background:#091d2b66;border:1px solid #80dfff26;border-radius:8px}.weather-stats strong{display:block;color:#d7f8ff;font-size:20px;margin-top:7px}.weather-clock{font:14px monospace;color:#a0e8f4}.weather-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:12px;opacity:.35}.weather-current{position:relative;overflow:hidden}.weather-current>*:not(.weather-effects){position:relative;z-index:1}.weather-effects.rain{background:repeating-linear-gradient(105deg,transparent 0 23px,#a0e8f4 24px,transparent 25px 45px);background-size:60px 130px;animation:weather-fall .6s linear infinite}.weather-effects.snow{background:radial-gradient(circle,#fff 1px,transparent 3px);background-size:53px 47px;animation:weather-fall 5s linear infinite}.weather-effects.fog{background:linear-gradient(90deg,transparent,#cedde840,transparent);animation:weather-fall 15s linear infinite}.weather-effects.storm{background:#e1e8ff;animation:weather-flash 5s infinite}.weather-effects.sun{background:radial-gradient(circle at 85% 10%,#ffe9a055,transparent 50%)}@keyframes weather-fall{to{background-position:35px 260px}}@keyframes weather-flash{0%,93%,100%{opacity:0}94%,96%{opacity:.24}95%,97%{opacity:0}}.weather-hours{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.weather-icon{font-size:24px;display:block}.weather-tool dialog{width:min(780px,94vw);max-height:90dvh;overflow:auto;color:#d6f2ff;background:#0a1b2af5;border:1px solid #80dfff77;border-radius:14px;padding:24px}.weather-tool dialog::backdrop{background:#020914bb;backdrop-filter:blur(7px)}.planet-scan-card{display:block;width:100%;text-align:left;padding:0!important;overflow:hidden}.planet-scan-card img,.planet-scan-image{width:100%;height:240px;object-fit:cover;border-radius:10px}.planet-scan-copy{display:block;padding:20px}.planet-scan-copy strong{display:block;font-size:24px}.planet-scan-copy span{display:block;margin:8px 0}.hazard-row{display:grid;grid-template-columns:100px 1fr 55px;gap:12px;align-items:center;margin:12px 0}.hazard-row meter{width:100%;height:18px;accent-color:#78d6f4}.weather-tool .muted{line-height:1.6}.weather-conditions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.weather-alerts label{display:block;margin:12px 0}.planet-scan-card.scanning{animation:scan-pulse .6s ease-out}@keyframes scan-pulse{50%{box-shadow:0 0 35px #72dcff88;filter:brightness(1.3)}}.motion-paused .weather-effects,.motion-paused .planet-scan-card{animation:none!important}@media(prefers-reduced-motion:reduce){.weather-effects,.planet-scan-card{animation:none!important}}@media(max-width:600px){.trans-box,.translator-tool .chart,.weather-panel{padding:16px}.trans-bottom .btn-group{width:100%}.weather-actions{gap:8px}.weather-actions button{flex-grow:1}.hazard-row{grid-template-columns:75px 1fr 45px}.planet-scan-card img,.planet-scan-image{height:185px}}

.hazard-row meter::-webkit-meter-bar{background:#153246;border:1px solid #80dfff40;border-radius:4px}.hazard-row meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#2878a4,#98e5ff)}.hazard-toxicity::-webkit-meter-optimum-value{background:linear-gradient(90deg,#25774b,#90eeb7)!important}.hazard-radiation::-webkit-meter-optimum-value{background:linear-gradient(90deg,#979124,#e9ea95)!important}.hazard-heat::-webkit-meter-optimum-value{background:linear-gradient(90deg,#b06638,#ffd098)!important}.weather-tool .page-intro{flex-wrap:wrap;gap:20px}.weather-clock{overflow-wrap:anywhere}.weather-tool .weather-temperature{font-size:clamp(36px,8vw,64px);margin:10px 0}.weather-tool dialog h3{margin-top:22px}.weather-tool dialog h2:focus{outline:none}.translator-tool{--panel:linear-gradient(140deg,#153446b8,#102334cc)}

/* Translator: paired communication panels, compact glyph controls. */
.translator-page{padding-top:40px}.translator-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.translator-intro h1{font-size:clamp(32px,4.5vw,54px);margin:12px 0}.translator-intro p:not(.eyebrow){color:#a3bac9}.translator-language{display:grid;gap:8px;font:11px var(--mono,monospace);color:#9cb4c5;letter-spacing:.08em}.translator-page select{appearance:none;border:1px solid #82cbe642;border-radius:9px;color:#c4edf7;background:#0c2132;padding:11px 36px 11px 13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%238cdaf4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.translator-page .translator-tool{max-width:none;margin:0;--glyph-size:40px}.translator-tool[data-glyph-size=small]{--glyph-size:28px}.translator-tool[data-glyph-size=large]{--glyph-size:56px}.translator-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}.translator-tool .mode-toggle{margin:0;padding:4px;border:1px solid #80dfff30;border-radius:12px;background:#091d2b88}.translator-tool .mode-btn{border:0;border-radius:8px;padding:12px 22px;white-space:nowrap;font:12px var(--mono,monospace);color:#8da7b8}.translator-tool .mode-btn.active{color:#c4f5ff;background:linear-gradient(110deg,#7bcff62b,#7bcff610);box-shadow:inset 0 -2px #89e3f0,0 0 14px #67c6ee12}.translator-live{display:flex;align-items:center;gap:8px;color:#92c9d8;font:10px var(--mono,monospace);letter-spacing:.06em}.translator-live i{width:5px;height:5px;background:#a5f6de;border-radius:50%;box-shadow:0 0 9px #6ef2cb}.translator-tool .sub{font:12px var(--mono,monospace);color:#829aa9;letter-spacing:0;text-transform:none;margin:12px 0 20px}.transmission-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.transmission-pane{min-width:0;display:flex;flex-direction:column;border:1px solid #8fdafa38;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#153347ad,#0a1c2ac9);box-shadow:inset 0 1px #cdf5ff0a,0 18px 36px #00000012}.output-pane{background:linear-gradient(135deg,#173b4fa6,#0a202fd9)}.pane-heading{display:flex;align-items:center;gap:12px;padding:19px 20px;border-bottom:1px solid #87cfef20}.pane-heading h2{font:12px var(--mono,monospace);letter-spacing:.04em;color:#c2e3ee;margin:0;flex:1}.pane-index{font:10px var(--mono,monospace);color:#6fabc0}.pane-heading .mono{font-size:10px;color:#849dab}.signal-mark{color:#9cdef0}.translator-tool textarea.trans-input{resize:vertical;min-height:210px;max-height:500px;background:transparent;border:0;border-radius:0;padding:24px;line-height:1.7;font-family:inherit;font-size:20px;line-height:1.7;outline-offset:-4px;box-shadow:none!important}.translator-tool textarea.trans-input:focus{outline:1px solid #88def455}.signal-display{position:relative;min-height:210px;flex:1;padding:24px;background-image:linear-gradient(#8bdded04 1px,transparent 1px),linear-gradient(90deg,#8bdded04 1px,transparent 1px);background-size:26px 26px}.signal-empty{display:none;font:14px/1.6 var(--mono,monospace);color:#7593a6;position:absolute;top:28px;left:24px;right:24px;pointer-events:none}.signal-display:has(>div:empty)>.signal-empty{display:block}.translator-tool .trans-output,.translator-tool .seq-output{margin:0;min-height:0;font-size:var(--glyph-size);line-height:1.7;color:#a4e6f4;white-space:pre-wrap;text-shadow:0 0 20px #70d1ed26}.translator-tool .trans-output.decoded{font-family:inherit;font-size:24px;line-height:1.7;color:#d3eff7;text-shadow:none}.latin-preview{padding:0 24px;font:11px/1.5 var(--mono,monospace);color:#7ca5b6;overflow-wrap:anywhere;max-height:56px;overflow:auto;white-space:pre-wrap}.pane-footer{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:auto;padding:14px 20px;border-top:1px solid #87cfef20;min-height:69px}.pane-footer .muted{font:10px var(--mono,monospace);color:#7c9dac}.translator-tool .btn-group{margin:0;gap:6px}.translator-tool .pane-footer button{font:11px var(--mono,monospace);padding:8px 12px;min-height:36px;background:#6bcaea08;border-color:#80dfff29}.translator-tool .trans-hint,.translator-tool .tip{font-family:inherit;font-size:12px;line-height:1.65;color:#8da6b7;margin:15px 0}.translator-tool .chart{background:#0d2636a1;border-color:#8fdafa30;border-radius:14px;padding:0;box-shadow:none;margin-top:24px}.translator-tool button.chart-head{width:100%;border:0;border-radius:14px;background:transparent;text-align:left}.translator-tool .chart-head{padding:18px 20px;gap:16px}.translator-tool .chart-head .kick{font:9px var(--mono,monospace);letter-spacing:.09em;color:#72aabc}.translator-tool .chart-head .ttl{font:13px var(--mono,monospace);color:#c3e2ee;margin:0}.translator-tool .chart-head .arr{font-size:20px;color:#8bcfe3}.translator-tool .chart-body{padding:0 20px 20px;border-top:1px solid #87cfef18}.translator-tool .group-label{font:10px var(--mono,monospace);color:#81afc2;letter-spacing:.12em;margin:19px 0 10px}.translator-tool .alpha-grid{grid-template-columns:repeat(13,minmax(0,1fr));gap:7px}.translator-tool .alpha-cell{position:relative;min-width:0;border:1px solid #85d3ef27;background:#132e3e75;border-radius:8px;padding:9px 4px!important;transition:background .15s,border-color .15s,box-shadow .15s}.translator-tool .alpha-cell .latin{font:9px var(--mono,monospace);color:#86a7b9;margin:0 0 7px}.translator-tool .alpha-cell .glyph{font-size:24px;min-height:28px;line-height:1.2;color:#a1ddeb}.translator-tool .alpha-cell.clickable:hover{background:#77dcf31a;border-color:#94eaff80;box-shadow:0 0 18px #78def01a,inset 0 -2px #93e9f0}.translator-tool .alpha-cell.clickable:active{background:#92eafa33}.translator-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:22px 0;border-top:1px solid #8fdafa26;margin-top:24px}.translator-actions label{display:flex;align-items:center;gap:12px;font:11px var(--mono,monospace);color:#8caabc}.translator-actions #translator-image{margin-left:auto;font:11px var(--mono,monospace);border-radius:9px;clip-path:none}.translator-actions #translator-export-status{flex-basis:100%;margin:0;color:#9ccad8;font-size:12px}.translator-note{font-family:inherit;font-size:11px;line-height:1.7;color:#788e9e;margin-bottom:40px}.translator-tool .chart.open{animation:none}.translator-tool .trans-input::placeholder{color:#6f8a9f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.translator-tool .alpha-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.translator-live{display:none}}@media(max-width:650px){.translator-page{padding-top:24px}.translator-intro{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}.translator-language{display:flex;align-items:center;gap:12px}.transmission-grid{grid-template-columns:1fr;gap:14px}.translator-toolbar{display:block}.translator-tool .mode-toggle{display:flex;flex-wrap:nowrap;gap:4px}.translator-tool .mode-btn{font-size:10px;white-space:normal;padding:12px 8px}.translator-tool .alpha-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.translator-tool textarea.trans-input{min-height:160px}.signal-display{min-height:145px;padding:20px}.pane-heading{padding:16px}.pane-footer{padding:12px 16px}.translator-actions #translator-image{margin-left:0}.translator-tool .chart-head{padding:16px;gap:10px}.translator-tool .chart-head .ttl{font-size:11px}.translator-tool .chart-body{padding:0 12px 15px}}

/* Original weather/scanner art presented within the site's holographic surfaces. */
.weather-tool{max-width:1100px}.weather-tool .weather-panel{padding:20px;margin-bottom:14px}.weather-tool .weather-current{min-height:270px;background:radial-gradient(ellipse at 20% 80%,#366a673d,transparent 65%),linear-gradient(135deg,#142f3cdb,#0a182bed);padding:26px 30px}.weather-tool .weather-current[data-day=night]{background:radial-gradient(ellipse at 70% 15%,#444c8a40,transparent 60%),linear-gradient(135deg,#102235ed,#070e24ed)}.weather-tool .weather-current h2{font:13px var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase}.weather-tool .weather-sentinel{position:absolute!important;width:105px;height:105px;object-fit:contain;right:30px;top:25px;opacity:.85;filter:drop-shadow(0 0 15px #a2e1ff22)}.weather-tool .wx-original-icon{width:38px;height:38px;object-fit:contain;display:block}.weather-tool .weather-current .wx-original-icon{width:64px;height:64px}.weather-tool .weather-temperature{font-size:76px;letter-spacing:-.04em;margin:12px 0}.weather-tool .weather-stats{grid-template-columns:repeat(4,1fr);padding:0;background:none;border:0;gap:10px}.weather-tool .weather-stats article{border:1px solid #86cfe333;background:#112b3caa;padding:18px 14px;font:10px var(--mono,monospace);letter-spacing:.07em;text-transform:uppercase}.weather-tool .weather-stats strong{font:18px/1.5 var(--mono,monospace);letter-spacing:0;color:#b9e9f5;margin-top:10px;text-transform:none}.weather-tool .weather-hours{grid-template-columns:repeat(12,minmax(0,1fr));gap:5px}.weather-tool .weather-hour{padding:12px 6px;text-align:center;font:11px var(--mono,monospace)}.weather-tool .weather-hour .weather-icon{display:flex;justify-content:center;margin:10px 0}.weather-tool .weather-hour p{margin:8px 0;color:#b4ecf5}.weather-tool .forecast-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weather-tool h2{font-size:18px;margin:8px 0 20px}.weather-tool .original-planet-stage{position:relative;display:block;height:210px;overflow:hidden;border-radius:12px 12px 0 0;background:#061523}.weather-tool .original-planet-stage.detail{height:270px;border-radius:10px}.weather-tool .original-biome{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;filter:brightness(.8)}.original-planet-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07122211 25%,#071725d9 100%);pointer-events:none}.original-planet-stage[data-biome=Radioactive] .original-biome{filter:hue-rotate(90deg) saturate(2.5) brightness(.6) contrast(1.1)}.original-planet-orb{position:absolute;z-index:1;left:50%;top:45%;width:98px;height:98px;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;box-shadow:0 0 40px var(--orb-glow,#8dbce444),0 0 80px var(--orb-glow,#8dbce422);pointer-events:none}.detail .original-planet-orb{width:130px;height:130px}.weather-tool .original-planet-orb img{width:110%;height:110%;max-width:none;margin:-5%;object-fit:contain;display:block;border-radius:0;animation:weather-orb-spin 90s linear infinite}.planet-scan-badge{position:absolute;z-index:3;top:14px;right:14px;color:#dcf4c4;background:#081923bd;border:1px solid #9ed78155;padding:6px 10px;font:10px var(--mono,monospace);letter-spacing:.08em}.scan-prompt{position:absolute;bottom:18px;left:20px;z-index:3;font:11px var(--mono,monospace);letter-spacing:.08em;color:#b5eef6}.original-planet-readout{display:flex;justify-content:space-between;gap:16px;padding:22px;background:linear-gradient(120deg,#0e2736,#081b2a);text-align:left}.original-planet-readout>span>span,.original-planet-readout>span>strong,.original-planet-readout small{display:block;margin-bottom:8px}.original-planet-readout small{font:9px var(--mono,monospace);color:#82a6b6;letter-spacing:.12em}.original-planet-readout strong{font-size:21px;color:#c1f1fb}.original-planet-readout .scan-system{font-size:13px;color:#9bd2e0}.original-planet-readout span{font-size:12px;color:#a6becb}.scan-stellar{color:#e5cb99!important}.scan-stellar span{margin-left:14px}.scan-temperature{text-align:right}.scan-temperature strong{font-size:30px;color:#f1cc9c}.scan-life-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.scan-life-grid article{padding:16px;border:1px solid #80dfff30;border-radius:8px;background:#132f4066}.scan-life-grid small{display:block;font:10px var(--mono,monospace);letter-spacing:.07em;text-transform:uppercase;color:#94bacb;margin-bottom:10px}.scan-life-grid strong{display:flex;align-items:center;gap:15px;font-size:16px;color:#c8ecf5}.scan-life-grid img{width:44px;height:44px;object-fit:contain}.scan-resources{display:flex;flex-wrap:wrap;gap:12px}.scan-resources a{display:flex;align-items:center;gap:7px;color:#bcdce9;font-size:13px;text-decoration:none;padding:6px 10px;border:1px solid #83d7ee22;border-radius:7px}.scan-resources img{width:28px;height:28px;object-fit:contain}.weather-tool dialog .weather-stats{grid-template-columns:repeat(2,1fr)}.weather-tool dialog h3{font:12px var(--mono,monospace);letter-spacing:.08em;color:#aed6e5;margin:22px 0 14px;text-transform:uppercase}.weather-tool dialog #planet-dialog-close{width:100%;margin-top:15px}.weather-tool dialog{max-width:720px;padding:20px}.biome-particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.biome-particles i{position:absolute;left:calc(var(--particle-x)*1%);top:-15px;width:2px;height:22px;background:#94cce378;animation:biome-fall var(--particle-speed) linear var(--particle-delay) infinite}.biome-particles[data-biome=Toxic] i{background:#a3eb5a8c}.biome-particles[data-biome=Frozen] i{width:4px;height:4px;border-radius:50%;background:#daf1ffb3;box-shadow:0 0 7px #bbddff88;animation-name:biome-snow}.biome-particles[data-biome=Scorched] i,.biome-particles[data-biome=Volcanic] i{width:3px;height:3px;border-radius:50%;background:#ffa157;box-shadow:0 0 6px #ff6137;animation-name:biome-ember;top:auto;bottom:-10px}.biome-particles[data-biome=Radioactive] i,.biome-particles[data-biome=Marsh] i,.biome-particles[data-biome=Dead] i{width:130px;height:60px;top:40%;border-radius:50%;background:radial-gradient(ellipse,#82b79515,transparent 70%);animation:biome-fog 18s ease-in-out var(--particle-delay) infinite}@keyframes weather-orb-spin{to{transform:rotate(360deg)}}@keyframes biome-fall{to{transform:translate3d(-22px,310px,0)}}@keyframes biome-snow{50%{transform:translate3d(12px,145px,0)}to{transform:translate3d(-10px,310px,0)}}@keyframes biome-ember{to{transform:translate3d(25px,-300px,0);opacity:0}}@keyframes biome-fog{50%{transform:translate3d(100px,-30px,0)}to{transform:translate3d(0,0,0)}}.motion-paused .original-planet-orb img,.motion-paused .biome-particles i{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.original-planet-orb img,.biome-particles i{animation:none!important}}@media(max-width:800px){.weather-tool .weather-hours{grid-template-columns:repeat(6,1fr)}.weather-tool .forecast-grid{grid-template-columns:repeat(4,1fr)}.weather-tool .weather-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.weather-tool .weather-panel{padding:15px}.weather-tool .weather-current{padding:20px}.weather-tool .weather-temperature{font-size:58px}.weather-tool .weather-sentinel{width:60px;height:60px;right:15px;top:15px}.original-planet-readout{padding:15px;flex-wrap:wrap}.scan-temperature{text-align:left}.scan-life-grid{grid-template-columns:1fr}.weather-tool .original-planet-stage.detail{height:220px}.weather-tool .forecast-grid{grid-template-columns:repeat(2,1fr)}.weather-tool .weather-hours{grid-template-columns:repeat(4,1fr)}}

.original-planet-stage[data-biome=Toxic]{--orb-glow:rgba(140,220,0,0.55)}
.original-planet-stage[data-biome=Frozen]{--orb-glow:rgba(120,180,255,0.55)}
.original-planet-stage[data-biome=Lush]{--orb-glow:rgba(0,180,50,0.55)}
.original-planet-stage[data-biome=Scorched]{--orb-glow:rgba(255,50,0,0.62)}
.original-planet-stage[data-biome=Radioactive]{--orb-glow:rgba(200,160,0,0.62)}
.original-planet-stage[data-biome=Dead]{--orb-glow:rgba(50,55,65,0.28)}
.original-planet-stage[data-biome=Marsh]{--orb-glow:rgba(0,120,70,0.5)}
.original-planet-stage[data-biome=Volcanic]{--orb-glow:rgba(255,15,0,0.62)}
.biome-particles .p0{--particle-x:0.0;--particle-speed:2.2s;--particle-delay:-0.0s}
.biome-particles .p1{--particle-x:3.9;--particle-speed:2.29s;--particle-delay:-0.13s}
.biome-particles .p2{--particle-x:8.18;--particle-speed:2.38s;--particle-delay:-0.26s}
.biome-particles .p3{--particle-x:12.84;--particle-speed:2.47s;--particle-delay:-0.39s}
.biome-particles .p4{--particle-x:17.88;--particle-speed:2.56s;--particle-delay:-0.52s}
.biome-particles .p5{--particle-x:23.3;--particle-speed:2.65s;--particle-delay:-0.65s}
.biome-particles .p6{--particle-x:29.1;--particle-speed:2.74s;--particle-delay:-0.78s}
.biome-particles .p7{--particle-x:35.28;--particle-speed:2.83s;--particle-delay:-0.91s}
.biome-particles .p8{--particle-x:41.84;--particle-speed:2.92s;--particle-delay:-1.04s}
.biome-particles .p9{--particle-x:48.78;--particle-speed:3.01s;--particle-delay:-1.17s}
.biome-particles .p10{--particle-x:56.1;--particle-speed:3.1s;--particle-delay:-1.3s}
.biome-particles .p11{--particle-x:63.8;--particle-speed:3.19s;--particle-delay:-1.43s}
.biome-particles .p12{--particle-x:71.88;--particle-speed:3.28s;--particle-delay:-1.56s}
.biome-particles .p13{--particle-x:80.34;--particle-speed:3.37s;--particle-delay:-1.69s}
.biome-particles .p14{--particle-x:89.18;--particle-speed:3.46s;--particle-delay:-1.82s}
.biome-particles .p15{--particle-x:98.4;--particle-speed:3.55s;--particle-delay:-1.95s}
.biome-particles .p16{--particle-x:8.0;--particle-speed:3.64s;--particle-delay:-2.08s}
.biome-particles .p17{--particle-x:17.98;--particle-speed:3.73s;--particle-delay:-0.01s}
.biome-particles .p18{--particle-x:28.34;--particle-speed:3.82s;--particle-delay:-0.14s}
.biome-particles .p19{--particle-x:39.08;--particle-speed:3.91s;--particle-delay:-0.27s}
.biome-particles .p20{--particle-x:50.2;--particle-speed:4.0s;--particle-delay:-0.4s}
.biome-particles .p21{--particle-x:61.7;--particle-speed:4.09s;--particle-delay:-0.53s}
.weather-preview-label{font:11px/1.6 var(--mono,monospace);color:#e4c891;max-width:70%}#weather-scanner{position:relative;scroll-margin-top:100px}.planet-warp{position:absolute;inset:115px 20px 20px;background:#05121bf5;border:1px solid #94dfec66;border-radius:12px;overflow:hidden;z-index:4;display:grid;place-content:center;gap:16px;text-align:center}.planet-warp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}.planet-warp span,.planet-warp button{position:relative;z-index:1}.planet-warp span{font:14px var(--mono,monospace);text-shadow:0 2px 8px #000;color:#d4f8ff}.planet-warp button{background:#071725d9!important}@media(max-width:480px){.weather-preview-label{max-width:100%;padding-right:30px}}

/* Weather transmissions: the same registration corners and scanning light as catalog cards. */
.weather-tool :is(.weather-panel:not(.weather-stats),.weather-stats article,.weather-hour,.scan-life-grid article,.scan-resources a,.planet-scan-card){
 --signal:var(--cyan,#9ee9f3);position:relative;isolation:isolate;border-radius:3px;
 border:1px solid color-mix(in srgb,var(--signal) 28%,transparent);
 box-shadow:inset 0 1px #d5faff0b,0 8px 24px #0002;
 transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.weather-tool :is(.weather-panel:not(.weather-stats),.weather-stats article,.weather-hour,.scan-life-grid article,.scan-resources a,.planet-scan-card)::before{
 content:"";position:absolute;inset:-1px;z-index:3;pointer-events:none;border-radius:inherit;
 background:linear-gradient(var(--signal),var(--signal)) left top/18px 1px no-repeat,
 linear-gradient(var(--signal),var(--signal)) left top/1px 18px no-repeat,
 linear-gradient(var(--signal),var(--signal)) right bottom/18px 1px no-repeat,
 linear-gradient(var(--signal),var(--signal)) right bottom/1px 18px no-repeat;
 opacity:.65;transition:opacity .2s;
}
.weather-tool :is(.weather-stats article,.weather-hour,.scan-life-grid article,.scan-resources a):is(:hover,:focus-within){
 border-color:color-mix(in srgb,var(--signal) 75%,transparent);
 box-shadow:inset 0 0 28px #9de9f30a,0 0 20px #8cdeef16;
}
.weather-tool :is(.weather-stats article,.weather-hour,.scan-life-grid article,.scan-resources a):is(:hover,:focus-within)::before{opacity:1}
.weather-tool :is(.weather-current,.weather-stats article,.weather-hour,.scan-life-grid article,.scan-resources a,.planet-scan-card)::after{
 content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;opacity:0;
 background:linear-gradient(110deg,transparent 35%,#a5eeff1c 50%,transparent 65%) -150% 0/250% 100% no-repeat,
 repeating-linear-gradient(0deg,transparent 0 7px,#a5eeff12 8px,transparent 9px 13px);
 animation:weather-transmission 2.4s linear infinite;animation-play-state:paused;transition:opacity .2s;
}
.weather-tool :is(.weather-stats article,.weather-hour,.scan-life-grid article,.scan-resources a):is(:hover,:focus-within)::after{opacity:1;animation-play-state:running}
@keyframes weather-transmission{to{background-position:150% 0,0 26px}}
.weather-tool .weather-panel:not(.weather-current):not(.weather-stats){background:linear-gradient(120deg,#143342ad,#091c2bd9)}
.weather-tool .weather-panel h2{font:12px/1.6 var(--mono,monospace);letter-spacing:.13em;text-transform:uppercase;color:#c0f2f8}
.weather-tool .weather-panel>h2{padding-bottom:12px;border-bottom:1px solid #8edcec26}
.weather-tool .weather-stats article{background:linear-gradient(125deg,#143747a3,#0a1c2ac9)}
.weather-tool .weather-hour{background:linear-gradient(135deg,#173a486e,#071a2ab8)}
.weather-tool .weather-stats article:nth-child(3n+2),.weather-tool .forecast-grid .weather-hour:nth-child(2n){--signal:#b9aff5}
.weather-tool .weather-stats article:nth-child(3n){--signal:#efd09a}
.weather-tool button:not(.planet-scan-card),.weather-tool .button,.weather-tool input[type=search],.weather-tool select{
 --holo:var(--cyan,#a0e8f4);position:relative;isolation:isolate;overflow:hidden;border-radius:2px;
 font:11px/1.5 var(--mono,monospace);letter-spacing:.04em;color:#dcf6ff;border:1px solid #80dfff55;
 background:linear-gradient(var(--holo),var(--holo)) left top/9px 1px no-repeat,
 linear-gradient(var(--holo),var(--holo)) left top/1px 9px no-repeat,
 linear-gradient(var(--holo),var(--holo)) right bottom/9px 1px no-repeat,
 linear-gradient(var(--holo),var(--holo)) right bottom/1px 9px no-repeat,
 repeating-linear-gradient(0deg,transparent 0 4px,#bcf0ff04 4px 5px),linear-gradient(115deg,#24465d80,#081625d9);
 transition:border-color .18s,box-shadow .18s,background-color .18s;
}
.weather-tool button:not(.planet-scan-card)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#a0e8f42e,transparent 75%);transform:translateX(-130%)}
.weather-tool button:not(:disabled):not(.planet-scan-card):is(:hover,:focus-visible)::after{animation:control-sweep .65s ease-out}
.weather-tool :is(button:not(:disabled):not(.planet-scan-card),.button,input[type=search],select):is(:hover,:focus-visible){border-color:#a0e8f4;box-shadow:inset 0 0 22px #88dfff0e,0 0 14px #8adcec24}
.weather-tool button[aria-expanded=true]{border-color:#a0e8f4;box-shadow:inset 0 -2px #a0e8f4;background-color:#61cce51a}
.weather-tool button:disabled{opacity:.4;cursor:default}
.weather-tool .planet-scan-card{padding:0;overflow:hidden;background:#081b2a}
.weather-tool .original-planet-stage,.weather-tool .original-planet-stage.detail{border-radius:2px}
.weather-tool .original-planet-readout{background:linear-gradient(120deg,#123746d9,#081b2ad9);border-top:1px solid #91dcec40}
.weather-tool dialog{border-radius:3px;border:1px solid #91dcec80;background:linear-gradient(130deg,#123342f5,#081524fa);box-shadow:0 0 45px #77ddec22}
.weather-tool .weather-clock{font-family:var(--mono,monospace);font-size:11px;line-height:1.8;letter-spacing:.05em}
.motion-paused .weather-tool *::after{animation:none!important}
@media(prefers-reduced-motion:reduce){.weather-tool *::after{animation:none!important}.weather-tool *,.weather-tool *::before,.weather-tool *::after{transition:none!important}}

/* Primary displays transmit automatically; forecast tiles retain their hover scans. */
.weather-tool .weather-current::after,.weather-tool .planet-scan-card::after{opacity:.55;animation:weather-transmission 6s linear infinite}
.weather-tool .original-planet-stage.detail::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 7px,#a5eeff12 8px,transparent 9px 13px);animation:weather-transmission 6s linear infinite}
.motion-paused .weather-tool .original-planet-stage.detail::before{animation:none}
@media(prefers-reduced-motion:reduce){.weather-tool .original-planet-stage.detail::before{animation:none}}
