:root{--g-text: var(--text-primary, #e9e7e2);--g-muted: var(--text-muted, #9a958c);--g-chosen: var(--success, #3fa66a);--g-error: var(--error, #d0503f);--glass-fill: color-mix(in srgb, var(--g-text) 7%, transparent);--glass-fill-hover: color-mix(in srgb, var(--g-text) 11%, transparent);--glass-edge: color-mix(in srgb, var(--g-text) 16%, transparent);--glass-shine: color-mix(in srgb, #fff 22%, transparent);--glass-blur: blur(18px) saturate(170%);--g-radius: 18px;--nino: #ef4444;--nina: #3b82f6;--level-red: #ef4444;--level-orange: #f59e0b;--level-green: #22c55e;--coast-dark: rgba(8, 10, 16, .75);--coast-light: rgba(255, 255, 255, .85)}*{box-sizing:border-box}body{background:var(--bg-void, #07090d);color:var(--g-text)}.glass{position:relative;background:var(--glass-fill);border:1px solid var(--glass-edge);border-radius:var(--g-radius);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-shine),inset 0 -1px color-mix(in srgb,#000 12%,transparent),0 10px 30px -12px color-mix(in srgb,#000 45%,transparent)}button,input,textarea,select{font:inherit;color:inherit;background:var(--glass-fill);border:1px solid var(--glass-edge);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-shine)}button{border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}button:hover:not(:disabled){background:var(--glass-fill-hover);border-color:color-mix(in srgb,var(--g-text) 30%,transparent)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.45;cursor:default}input{border-radius:12px;padding:8px 12px;min-width:0}input:focus{outline:none;border-color:var(--g-chosen);background:var(--glass-fill-hover)}button.primary{background:color-mix(in srgb,var(--g-chosen) 24%,var(--glass-fill));border-color:color-mix(in srgb,var(--g-chosen) 60%,transparent);font-weight:500}button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--g-chosen) 34%,var(--glass-fill));border-color:var(--g-chosen)}.small-btn{padding:2px 10px;font-size:12px}.chip-tile{display:grid;gap:2px;padding:9px 14px;border-radius:14px;text-align:left}.chosen{position:relative;border-color:var(--g-chosen)!important;background:color-mix(in srgb,var(--g-chosen) 26%,transparent)!important;box-shadow:0 0 0 2px var(--g-chosen),0 6px 22px color-mix(in srgb,var(--g-chosen) 35%,transparent),inset 0 1px 0 var(--glass-shine)!important}.chip-tile.chosen:after{content:"✓";position:absolute;top:-8px;right:-8px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--g-chosen);color:#fff;font-size:11px;font-weight:700}.segmented{display:inline-flex;padding:4px;gap:2px;border-radius:999px}.segmented button{border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:6px 12px;white-space:nowrap}.segmented button[aria-pressed=true]{background:color-mix(in srgb,var(--g-chosen) 26%,transparent);box-shadow:inset 0 0 0 1.5px var(--g-chosen)}.icon-btn{display:grid;place-items:center;padding:6px 9px;color:var(--g-muted);background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.icon-btn.on,.icon-btn[aria-pressed=true]{color:var(--g-text);background:color-mix(in srgb,var(--g-chosen) 22%,transparent)}.muted{color:var(--g-muted)}.small{font-size:12px}.error-line{color:var(--g-error);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.link{color:var(--accent, #8b7cff)}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:grid;gap:12px}.stack-sm{display:grid;gap:6px}.card{padding:14px}.plain{list-style:none;margin:0;padding:0;display:grid;gap:4px}h3,h4{margin:0}h3{font-size:15px}h4{font-size:13px;color:var(--g-muted);font-weight:600}.clima-app{height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:8px;padding:8px;overflow:hidden}.clima-app.solo{grid-template-rows:1fr;padding:0}.top{display:flex;align-items:center;gap:12px;padding:8px 14px;flex-wrap:wrap}.brand{display:grid}.pill{padding:5px 12px;border-radius:999px;font-weight:600}.pill.elninoAdvisory,.pill.elninoWatch,.pill.finalElnino{color:var(--nino);border-color:color-mix(in srgb,var(--nino) 55%,transparent)}.pill.laninaAdvisory,.pill.laninaWatch,.pill.finalLanina{color:var(--nina);border-color:color-mix(in srgb,var(--nina) 55%,transparent)}.pill.error{color:var(--g-error)}.layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,32vw,520px);gap:8px}.left{min-height:0;display:grid;grid-template-rows:minmax(0,1.5fr) minmax(0,1fr);gap:8px}.map-box,.timeline-box{position:relative;min-height:0;border-radius:var(--g-radius);overflow:hidden;border:1px solid var(--glass-edge)}.solo .map-box,.solo .timeline-box{height:100vh;border-radius:0;border:0}.map-wrap,.timeline-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.map-wrap canvas,.timeline-wrap canvas{display:block;touch-action:none;outline:none}.map-wrap.picking canvas{cursor:crosshair}.map-banner{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px}.map-tools{position:absolute;top:10px;right:10px;display:flex;gap:2px;padding:4px;border-radius:999px;align-items:center}.map-tools .sep{width:1px;height:18px;background:var(--glass-edge);margin:0 4px}.legend.land{bottom:auto;top:10px;min-width:0}.legend{position:absolute;left:10px;bottom:10px;padding:8px 12px;border-radius:14px;display:grid;gap:4px;min-width:180px}.ramp{height:8px;border-radius:4px;background:linear-gradient(90deg,#0b63d5,#f3f5f7,#d5190b)}.overlay{position:absolute;left:12px;top:30px}.panel-box{min-height:0;display:flex;flex-direction:column;gap:8px}.panel-box>.panel-body{flex:1}.board-bar{padding:4px 4px 0}.solo .panel-box{height:100vh;padding:8px}.tabs{justify-self:stretch;overflow-x:auto;scrollbar-width:none}.panel-body{min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 4px 12px 2px}.stack>*,.stack-sm>*,.card,.analog{min-width:0}.analog thead th:first-child,.analog tbody th{position:sticky;left:0;background:var(--bg-panel, #10141c)}.foot{text-align:center}.status-pill{display:grid;gap:2px}.status-pill.elninoAdvisory strong,.status-pill.elninoWatch strong{color:var(--nino)}.status-pill.laninaAdvisory strong,.status-pill.laninaWatch strong{color:var(--nina)}.quote{margin:0;padding:8px 12px;border-left:3px solid var(--glass-edge);color:var(--g-text);font-size:13px}.big-number{display:flex;gap:10px;align-items:baseline}.oni-value{font-size:30px;font-weight:800}.oni-value.elnino{color:var(--nino)}.oni-value.lanina{color:var(--nina)}.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.month{display:grid;gap:2px;padding:6px 8px;border-radius:12px}.averages li{padding:3px 0;border-bottom:1px solid color-mix(in srgb,var(--g-text) 8%,transparent)}.warm{color:var(--nino)}.cold{color:var(--nina)}.rain-dry{color:#eb9947}.rain-wet{color:#33ccc7}.analog{display:grid;gap:6px}.table-scroll{overflow-x:auto}.analog table{border-collapse:collapse;font-size:12px;width:100%}.analog th,.analog td{padding:3px 6px;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--g-text) 8%,transparent);white-space:nowrap}.analog thead th{font-weight:600}.analog tbody th{text-align:left;color:var(--g-muted);font-weight:500}.analog td.dry{background:color-mix(in srgb,hsl(30,80%,50%) 28%,transparent)}.analog td.wet{background:color-mix(in srgb,hsl(178,60%,45%) 28%,transparent)}.analog td.hot{background:color-mix(in srgb,var(--nino) 26%,transparent)}.analog td.cool{background:color-mix(in srgb,var(--nina) 26%,transparent)}.marker.precursor{border-left:3px solid hsl(190,80%,55%)}.marker.impact{border-left:3px solid hsl(32,85%,55%)}.ipc{padding:4px 8px;border-radius:8px}.ipc.projection{font-style:italic}.ipc.phase-3{background:color-mix(in srgb,#f59e0b 25%,transparent)}.ipc.phase-4{background:color-mix(in srgb,#ef4444 28%,transparent)}.ipc.phase-5{background:color-mix(in srgb,#7f1d1d 45%,transparent)}.hazard-list{max-height:none}.hazard-row{width:100%;display:flex;gap:8px;align-items:center;text-align:left;border-radius:12px;padding:6px 10px}.dot{width:10px;height:10px;border-radius:50%;flex:none;background:#477eeb}.dot.cyclone{background:#b642f0}.dot.flood{background:#42a7f0}.dot.drought{background:#f09f42}.dot.quake{background:#f04242}.dot.volcano{background:#f06542}.dot.fire{background:#f07c42}.dot.storm{background:#7c42f0}.dot.ice{background:#42d3f0}.level{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid}.level.orange{color:var(--level-orange)}.level.red{color:var(--level-red)}.level.green{color:var(--level-green)}progress{flex:1;accent-color:var(--g-chosen)}@media (max-width: 760px){.clima-app{height:auto;min-height:100vh;overflow:visible}.layout{grid-template-columns:minmax(0,1fr)}.left{grid-template-rows:55vh 40vh}.tab-label{display:none}.segmented{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none}}.pill-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-weight:500;white-space:nowrap}.pill-btn.active,.pill-btn[aria-pressed=true]{border-color:var(--g-chosen);background:color-mix(in srgb,var(--g-chosen) 22%,var(--glass-fill))}.pill-btn.primary{background:color-mix(in srgb,var(--g-chosen) 24%,var(--glass-fill));border-color:color-mix(in srgb,var(--g-chosen) 60%,transparent)}.switch-list{display:grid;gap:4px}.switch-row{width:100%;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:14px;text-align:left;background:transparent;border:1px solid transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.switch-row:hover:not(:disabled){background:var(--glass-fill);border-color:var(--glass-edge)}.switch-icon{font-size:18px;width:24px;text-align:center;flex:none}.switch-text{display:grid;gap:1px;flex:1;min-width:0}.switch-label{font-weight:600;font-size:13.5px}.switch-detail{font-size:12px;color:var(--g-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch-detail.error{color:var(--g-error);white-space:normal}.switch-track{flex:none;width:42px;height:24px;border-radius:999px;position:relative;transition:background .2s,border-color .2s;background:color-mix(in srgb,var(--g-text) 14%,transparent);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 2px color-mix(in srgb,#000 30%,transparent)}.switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;transition:transform .2s;background:color-mix(in srgb,#fff 90%,transparent);box-shadow:0 1px 4px color-mix(in srgb,#000 40%,transparent)}.switch-row.on .switch-track{background:color-mix(in srgb,var(--g-chosen) 75%,transparent);border-color:var(--g-chosen)}.switch-row.on .switch-thumb{transform:translate(18px)}.switch-row:focus-visible{outline:2px solid var(--g-chosen);outline-offset:2px}.popover{position:absolute;z-index:30;padding:12px;display:grid;gap:10px;min-width:300px;max-width:min(380px,calc(100vw - 32px));max-height:min(70vh,560px);overflow-y:auto;background:color-mix(in srgb,var(--bg-panel, #10141c) 82%,transparent)}.pop-title{font-weight:700;font-size:13px;letter-spacing:.02em;padding:0 4px}.pop-sub{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--g-muted);padding:4px 12px 0}.segmented.wide{display:flex}.segmented.wide button{flex:1}.map-tools{display:none}.map-menu{position:absolute;top:12px;right:12px;z-index:20;display:grid;justify-items:end}.map-menu .popover{top:calc(100% + 8px);right:0}.map-legend{position:absolute;left:12px;bottom:12px;z-index:10;padding:10px 12px;display:grid;gap:6px;width:min(280px,calc(100% - 24px));font-size:12px}.map-legend .primary{font-size:12px;padding:6px 10px;white-space:normal}.legend-head{display:flex;justify-content:space-between;align-items:center;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;font-weight:700;font-size:12.5px;border-radius:0}.ramp-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--g-muted)}.legend-lines{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12px}.legend-lines li{display:flex;gap:6px;align-items:center}.legend-lines li.muted{color:var(--g-muted)}.legend-lines li.error{color:var(--g-error)}.legend.land,.legend{display:none}.timeline-host{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.timeline-tools{position:relative;z-index:10;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;padding:6px 8px;border-bottom:1px solid var(--glass-edge)}.timeline-canvas{position:relative;min-height:0}.timeline-tools .pill-btn{padding:5px 11px;font-size:12.5px}.timeline-tools .segmented button{padding:4px 12px;font-size:15px;font-weight:700}.timeline-tools .popover{top:calc(100% + 6px);right:0}.timeline-wrap{top:0}.top{gap:14px}.now-chip{display:grid;padding:6px 14px;border-radius:14px;line-height:1.15}.now-chip strong{font-size:15px;text-transform:capitalize}.grow{flex:1}.tabs button{display:inline-flex;gap:6px;align-items:center;font-weight:500}.avg-row{display:grid;grid-template-columns:1fr auto 90px;gap:10px;align-items:center;padding:6px 2px;border-bottom:1px solid color-mix(in srgb,var(--g-text) 8%,transparent)}.avg-value{font-variant-numeric:tabular-nums}.avg-bar{height:8px;border-radius:4px;background:color-mix(in srgb,var(--g-text) 8%,transparent);overflow:hidden;display:flex}.avg-bar>span{display:block;height:100%;border-radius:4px}.warm-bg{background:var(--nino)}.cold-bg{background:var(--nina)}.card h3{font-size:14.5px;letter-spacing:.01em}.panel-body .card{padding:14px 16px}@media (max-width: 760px){.now-chip{order:3}.timeline-tools{gap:4px;padding:4px 6px}.timeline-tools .pill-btn{padding:4px 9px;font-size:12px}.map-legend{width:min(240px,calc(100% - 24px));padding:8px 10px}}@media (max-width: 420px){.timeline-tools .pill-label{display:none}}.map-legend,.map-menu .pill-btn,.popover,.map-banner{background:color-mix(in srgb,var(--bg-panel, #10141c) 90%,transparent);border-color:color-mix(in srgb,#fff 18%,transparent);color:var(--g-text);box-shadow:inset 0 1px 0 var(--glass-shine),0 12px 32px -10px color-mix(in srgb,#000 70%,transparent)}.map-legend .muted,.legend-lines li.muted,.ramp-scale{color:color-mix(in srgb,var(--g-text) 72%,transparent)}.legend-lines li.error{color:color-mix(in srgb,var(--g-error) 85%,#fff)}.map-legend .small-btn{background:color-mix(in srgb,var(--g-text) 10%,transparent)}progress{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:8px;border:0;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--g-text) 16%,transparent);accent-color:var(--g-chosen)}progress::-webkit-progress-bar{background:color-mix(in srgb,var(--g-text) 16%,transparent);border-radius:999px}progress::-webkit-progress-value{background:var(--g-chosen);border-radius:999px}progress::-moz-progress-bar{background:var(--g-chosen);border-radius:999px}.map-legend progress{width:100%}
