/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.table{display:table}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#111530;--water:#a9e3ff;--warm:#ffd18a;--line:#d3e0ff33;--paper:#f5f5ff;--mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace;--sans:"Segoe UI Variable Display", "Arial Nova", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--paper);font-family:var(--sans);background:#151731;margin:0;overflow:hidden}body{overscroll-behavior:none}.fluidPage,.fluidStage,.fluidCanvas{width:100%;height:100%;position:fixed;inset:0}.fluidPage{isolation:isolate;background:0 0}.fluidCanvas{z-index:1;cursor:crosshair;touch-action:none;background:0 0;display:block}.glyphHitZone{z-index:3;cursor:crosshair;touch-action:none;width:min(94vw,88.8vh);height:max(4.5rem,min(16.5vh,23.4375vw));position:fixed;top:58%;left:50%;transform:translate(-50%,-50%)}.smokeCanvas{cursor:crosshair}.fluidStage:after{z-index:2;pointer-events:none;content:"";background:linear-gradient(90deg,#090b2647,#0000 16% 84%,#2c112638),linear-gradient(#0a0b261a,#0000 22% 74%,#08091d75);position:fixed;inset:0}.celestialBackdrop{z-index:0;pointer-events:none;background:#191a39;position:fixed;inset:0;overflow:hidden}.celestialZone{width:50%;position:absolute;inset-block:0;overflow:hidden}.celestialNight{background:radial-gradient(circle at 24% 20%,#bccaff29,#0000 18%),linear-gradient(#11183e 0%,#24275e 38%,#6662a6 74%,#8980b8 100%);left:0}.celestialDay{background:radial-gradient(circle at 74% 25%,#ffc5681f,#0000 24%),linear-gradient(#252747 0%,#59405f 37%,#b65561 68%,#f08a5c 100%);right:0}.nightGlow,.dayHaze{position:absolute;inset:0}.nightGlow{background:radial-gradient(at 21% 22%,#b8cfff33,#0000 25%),radial-gradient(at 50% 69%,#7f74d52e,#0000 48%)}.dayHaze{background:radial-gradient(at 76% 30%,#ffdf9333,#0000 26%),linear-gradient(#0000 38%,#ff884c29 72%,#0000)}.moon{aspect-ratio:1;background:linear-gradient(145deg,#fff9dd,#d8e7ff 72%);border-radius:50%;width:clamp(4.8rem,8.2vw,8.5rem);position:absolute;top:clamp(4.8rem,11vh,8.5rem);left:clamp(3.2rem,13vw,13rem);transform:rotate(-16deg);box-shadow:0 0 1.2rem #e1ebffe6,0 0 4.5rem #9babff80,0 0 8rem #7776dd57;-webkit-mask:radial-gradient(circle at 70% 35%,#0000 0 36%,#000 37%);mask:radial-gradient(circle at 70% 35%,#0000 0 36%,#000 37%)}.moon i{background:#7785b833;border-radius:50%;position:absolute}.moon i:first-child{width:15%;height:15%;top:48%;left:13%}.moon i:nth-child(2){width:9%;height:9%;top:68%;left:35%}.moon i:nth-child(3){width:7%;height:7%;top:20%;left:20%}.sun{aspect-ratio:1;background:#fff7c7;border-radius:50%;width:clamp(4.6rem,7.8vw,8rem);position:absolute;top:clamp(4.5rem,10vh,8rem);right:clamp(9rem,28vw,28rem);box-shadow:0 0 1.2rem #fff2b2fa,0 0 4.5rem #ffae4ab3,0 0 9rem #f1604675}.sun:before,.sun:after,.sun i{content:"";border:1px solid #ffdb8226;border-radius:50%;position:absolute;inset:50%;transform:translate(-50%,-50%)}.sun:before{border-width:1.3rem;border-color:#ffbc521c;width:155%;height:155%}.sun:after{border-width:1.8rem;border-color:#f8704b14;width:235%;height:235%}.sun i:first-child{width:320%;height:320%}.sun i:nth-child(2){border-color:#ffa95c0f;width:420%;height:420%}.sun i:nth-child(3){border-color:#ffa95c09;width:540%;height:540%}.starField{position:absolute;inset:0 0 24%}.star{top:var(--star-top);left:var(--star-left);width:var(--star-size);height:var(--star-size);opacity:.5;animation:starTwinkle var(--star-duration) ease-in-out var(--star-delay) infinite alternate;background:#fff8df;border-radius:50%;position:absolute;box-shadow:0 0 .45rem #cfdeffe6}.starCross:before,.starCross:after{content:"";background:#edf2ffb8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.starCross:before{width:.55rem;height:1px}.starCross:after{width:1px;height:.55rem}@keyframes starTwinkle{to{opacity:1;transform:scale(1.35)}}.celestialMountains{opacity:.92;height:39%;position:absolute;bottom:7%;left:-5%;right:-5%}.mountain{position:absolute;inset:0}.mountainBack{clip-path:polygon(0 58%,10% 40%,20% 54%,32% 24%,43% 51%,56% 30%,67% 57%,79% 20%,91% 49%,100% 32%,100% 100%,0 100%);background:#31275970;top:12%}.mountainMiddle{clip-path:polygon(0 52%,12% 31%,25% 58%,38% 22%,51% 54%,65% 36%,77% 62%,90% 25%,100% 45%,100% 100%,0 100%);background:#231e49a8;top:25%}.mountainFront{clip-path:polygon(0 44%,17% 66%,31% 35%,49% 61%,65% 29%,83% 58%,100% 38%,100% 100%,0 100%);background:#16173ad6;top:45%}.celestialDay .mountainBack{background:#6f324b6b;transform:scaleX(-1)}.celestialDay .mountainMiddle{background:#4726469e;transform:scaleX(-1)}.celestialDay .mountainFront{background:#251d3dd1;transform:scaleX(-1)}.celestialDivider{background:linear-gradient(#0000,#eae8ff47 16%,#ffd69e3d 84%,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:-.45rem 0 1.8rem #7480e024,.45rem 0 1.8rem #ff84581f}.celestialDivider span{color:#f6f2ff52;font-family:var(--mono);letter-spacing:.18em;white-space:nowrap;writing-mode:vertical-rl;font-size:.43rem;position:absolute;top:12%;left:.65rem}.interfaceLayer{z-index:4;pointer-events:none;border:1px solid #e0e4ff24;position:fixed;inset:0}.interfaceLayer:before,.interfaceLayer:after{pointer-events:none;content:"";background:var(--line);position:absolute}.interfaceLayer:before{opacity:.22;width:1px;top:0;bottom:0;left:50%}.interfaceLayer:after{opacity:.15;height:1px;top:50%;left:0;right:0}.corner{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 16px #000c;flex-direction:column;gap:.4rem;font-size:clamp(.55rem,.65vw,.7rem);line-height:1.25;display:flex;position:absolute}.corner span{color:#eaf9ff8c}.corner strong{color:var(--paper);font-size:clamp(.72rem,.9vw,.95rem);font-weight:600}.cornerTopLeft{top:clamp(1rem,2.4vw,2.4rem);left:clamp(1rem,2.4vw,2.4rem)}.cornerTopRight{align-items:flex-end;top:clamp(1rem,2.4vw,2.4rem);right:clamp(1rem,2.4vw,2.4rem)}.cornerTopRight span,.cornerBottomRight span{color:#ffe0b5a3}.cornerBottomLeft{bottom:clamp(1rem,2.4vw,2.4rem);left:clamp(1rem,2.4vw,2.4rem)}.cornerBottomRight{align-items:flex-end;bottom:clamp(1rem,2.4vw,2.4rem);right:clamp(1rem,2.4vw,2.4rem)}.fluidStatus{z-index:5;border:1px solid var(--line);color:#eaf9ff80;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:12rem;font-family:var(--mono);letter-spacing:.08em;background:#03070aa3;justify-content:space-between;align-items:center;gap:1.4rem;padding:.8rem 1rem;font-size:.53rem;transition:opacity .5s,transform .5s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.fluidStatus strong{color:var(--water);font-size:inherit;font-weight:500}.fluidStatus.isReady{opacity:0;pointer-events:none;transform:translate(-50%,calc(8px - 50%))}.surfaceToggle{z-index:6;color:#eaf9ff8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;min-width:7.8rem;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:#2519378f;border:1px solid #ffce933d;border-radius:0;justify-content:space-between;align-items:center;gap:1.2rem;padding:.58rem .7rem;font-size:.58rem;line-height:1;transition:border-color .16s,background .16s,color .16s;display:flex;position:fixed;top:clamp(4.6rem,7vw,6.8rem);right:clamp(1rem,2.4vw,2.4rem)}.surfaceToggle:before{content:"";border:1px solid;border-radius:50%;flex:none;width:.38rem;height:.38rem}.surfaceToggle strong{color:var(--paper);font-size:inherit;font-weight:600}.surfaceToggle:hover,.surfaceToggle:focus-visible{color:var(--warm);border-color:#ffce93ad;outline:none}.surfaceToggle[aria-pressed=true]{color:var(--warm);background:#803a4466;border-color:#ffce9385}.surfaceToggle[aria-pressed=true]:before{border-color:var(--warm);background:var(--warm);box-shadow:0 0 10px #ffbe6cb3}.simulationModeSwitch{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a173a9e;border:1px solid #84dcff33;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;top:clamp(1rem,2.4vw,2.4rem);left:50%;transform:translate(-50%)}.simulationModeSwitch button{color:#eaf9ff6b;cursor:pointer;min-width:5.6rem;font-family:var(--mono);letter-spacing:.14em;background:0 0;border:0;padding:.58rem .82rem;font-size:.56rem;line-height:1;transition:color .16s,background .16s}.simulationModeSwitch button+button{border-left:1px solid #84dcff29}.simulationModeSwitch button:hover,.simulationModeSwitch button:focus-visible{color:var(--paper);outline:none}.simulationModeSwitch button[aria-pressed=true]{color:var(--water);text-shadow:0 0 12px #84dcff59;background:#10639157}.surfaceControl{z-index:6;color:#eaf9ff7a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:11.5rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:#2519378f;border:1px solid #84dcff2b;padding:.62rem .72rem .68rem;font-size:.54rem;transition:opacity .16s;position:fixed;top:clamp(7.9rem,10.5vw,10.1rem);right:clamp(1rem,2.4vw,2.4rem)}.surfaceControl>span{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.62rem;display:flex}.surfaceControl b{font-weight:500}.surfaceControl output{color:var(--water)}.surfaceControl input{appearance:none;cursor:ew-resize;background:#84dcff3d;border:0;outline:none;width:100%;height:1px;display:block}.surfaceControl input::-webkit-slider-thumb{appearance:none;border:1px solid var(--water);background:var(--ink);border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 8px #84dcff73}.surfaceControl input::-moz-range-thumb{border:1px solid var(--water);background:var(--ink);border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 8px #84dcff73}.surfaceControl.isDisabled{opacity:.32;pointer-events:none}.weatherControls{z-index:7;gap:.68rem;width:11.5rem;display:grid;position:fixed;top:clamp(4.6rem,7vw,6.8rem);right:clamp(1rem,2.4vw,2.4rem)}.weatherControls>.surfaceToggle,.weatherControls>.surfaceControl{width:100%;min-width:0;position:relative;inset:auto}.climateOverlay{z-index:3;pointer-events:none;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;position:fixed;inset:0;overflow:hidden}.climateOverlay:before,.climateOverlay:after{content:"";width:50%;position:absolute;inset-block:0}.climateOverlay:before{background:linear-gradient(90deg,#718be717,#0000);left:0}.climateOverlay:after{background:linear-gradient(270deg,#ff995614,#0000);right:0}.climateColdZone,.climateWarmZone{flex-direction:column;gap:.3rem;font-size:.5rem;display:flex;position:absolute;top:16%}.climateColdZone{color:#ade7ff85;left:18%}.climateWarmZone{color:#ffd38f8a;align-items:flex-end;right:22%}.climateColdZone strong,.climateWarmZone strong{color:#edfbffc7;font-size:.7rem;font-weight:500}.climateSun{display:none}.climateDivide{border-left:1px dashed #d5f1fc3d;position:absolute;top:10%;bottom:0;left:50%}.climateDivide span{color:#d5f1fc61;white-space:nowrap;writing-mode:vertical-rl;font-size:.45rem;position:absolute;top:3rem;left:.45rem}.fallbackBadge{z-index:7;color:#ffca8be6;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:#1a0e04d1;border:1px solid #ffb15c6b;padding:.42rem .62rem;font-size:.5rem;position:fixed;top:.7rem;left:50%;transform:translate(-50%)}.smokeUnavailable{z-index:1;background:radial-gradient(circle at 50% 100%, #4280a029, transparent 52%), var(--ink);position:fixed;inset:0}.driftBoat{z-index:3;top:var(--boat-y,79.5vh);bottom:auto;left:var(--boat-x,74%);aspect-ratio:1.18;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:left, top, transform;filter:drop-shadow(0 .3rem .3rem #1510323d)drop-shadow(0 0 .7rem #ff946629);width:clamp(5.4rem,11vw,7.4rem);position:fixed;transform:translate(-50%)translateY(-87%)}.driftBoat.isDragging{cursor:grabbing;filter:drop-shadow(0 .42rem .42rem #1510324d)drop-shadow(0 0 1rem #ffb1704d)}.driftBoat:focus-visible{outline-offset:.25rem;border-radius:44%;outline:2px solid #ceedffd1}.driftBoatBody,.driftBoatBody span{pointer-events:none;display:block;position:absolute}.driftBoatBody{transform-origin:50% 86%;transform:rotate(var(--boat-angle,0deg));inset:0}.driftBoatMast{z-index:2;background:linear-gradient(90deg,#8f3d58,#ffc079 48%,#813451);border-radius:999px;width:.22rem;top:11%;bottom:20%;left:calc(50% - .11rem);box-shadow:0 0 0 1px #39193d57,0 0 .42rem #ffad6f57}.driftBoatFlag{z-index:4;clip-path:polygon(100% 0,100% 100%,0 50%);filter:drop-shadow(0 0 .24rem #96dcff57);transform-origin:100%;background:linear-gradient(135deg,#9cdfff,#7278ce 54%,#e47b79);width:25%;height:13%;animation:2.9s ease-in-out infinite driftBoatFlag;top:10%;right:50%}.driftBoatSail{z-index:1;filter:drop-shadow(0 0 .32rem #a3d1ff33);height:43%;top:20%}.driftBoatSailCold{clip-path:polygon(100% 0,100% 100%,3% 86%);background:linear-gradient(135deg,#cfedffe6,#6f97dcdb 42%,#384591eb);width:38%;right:53%}.driftBoatSailWarm{clip-path:polygon(0 10%,96% 83%,0 100%);filter:drop-shadow(0 0 .35rem #ff9a653d);background:linear-gradient(145deg,#ffdea9eb,#f07f69e0 56%,#7e365bf0);width:31%;left:53%}.driftBoatDeck{z-index:4;background:linear-gradient(90deg,#d65e68,#ffc273 52%,#e56c68);border:1px solid #ffdfac80;border-radius:999px;width:86%;height:7%;top:63%;left:7%;box-shadow:inset 0 .12rem #ffefc080,0 0 .42rem #ff8f6342}.driftBoatHull{z-index:3;clip-path:polygon(0 0,100% 0,86% 82%,67% 100%,24% 96%,9% 72%);background:linear-gradient(#ffba71fa 0 28%,#da6065f5 30% 66%,#69315bf5 68% 100%);border-radius:0 0 48% 48%;width:94%;height:23%;top:68%;left:3%;box-shadow:inset 0 .16rem #ffe3ad8a,0 .18rem .5rem #21184552}.driftBoatWake{z-index:5;opacity:.82;border-top:2px solid #99e2ff9e;border-radius:50%;width:114%;height:12%;transition:opacity .18s ease-out;top:87%;left:-7%;box-shadow:0 -.1rem .34rem #73d3ff47,0 .15rem .32rem #ff977021}.driftBoat.isAirborne .driftBoatWake{opacity:0}@keyframes driftBoatFlag{0%,to{transform:skewY(-2deg)scaleX(.96)}50%{transform:skewY(4deg)scaleX(1.04)}}@media (width<=640px){.moon{top:5.2rem;left:2.2rem}.sun{top:5.2rem;right:5.4rem}.celestialMountains{height:32%;bottom:12%}.cornerBottomRight{display:none}.surfaceToggle{top:4.1rem}.surfaceControl{width:10rem;top:7.1rem}.weatherControls{width:10rem;top:4.1rem}.simulationModeSwitch{top:1rem}.simulationModeSwitch button{min-width:4rem;padding-inline:.62rem}.interfaceLayer:before,.interfaceLayer:after,.climateColdZone,.climateWarmZone{display:none}.driftBoat{width:clamp(4.8rem,20vw,6rem);left:72%}}@media (prefers-reduced-motion:reduce){.fluidStatus{transition:none}.driftBoat,.driftBoatBody,.driftBoatFlag{animation:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
