:root{color:#06405c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#dff9ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 18%,#fffffff2,#0000 24%),radial-gradient(circle at 78% 12%,#74e0ff94,#0000 28%),radial-gradient(circle at 80% 84%,#b5ffb87a,#0000 28%),linear-gradient(145deg,#eaffff 0%,#b6edff 46%,#e8ffd8 100%);min-width:320px;min-height:100svh;margin:0}button,a{font:inherit}.app-shell{width:min(920px,100% - 36px);margin:0 auto;padding:54px 0;position:relative}.glass-panel,.weather-card,.result,.prompt{-webkit-backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(135deg,#ffffffd1,#dcf8ff94);border:1px solid #ffffffa8;border-radius:28px;box-shadow:0 24px 70px #369cff38,inset 0 1px #ffffffd9}.glass-panel{max-width:760px;margin:0 auto;padding:clamp(24px,5vw,44px)}.eyebrow{color:#1570a6;letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem;font-weight:800}h1,h2,p{z-index:1;position:relative}h1{color:#06405c;letter-spacing:-.07em;text-shadow:0 1px #ffffffe6;max-width:680px;margin:0;font-size:clamp(2.45rem,8vw,5.35rem);line-height:.92}.lede{color:#24576a;max-width:600px;margin:22px 0 0;font-size:1.08rem}button{color:#05374f;cursor:pointer;background:linear-gradient(#fff,#a9efff 58%,#39b6ff);border:1px solid #ffffffd1;border-radius:999px;margin-top:30px;padding:14px 20px;font-weight:800;box-shadow:0 12px 28px #2da7ff47,inset 0 1px #fffffff2}button:disabled{cursor:wait;opacity:.72}.location-form{max-width:600px;margin-top:28px}.location-form label{color:#176580;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:900;display:block}.location-controls{gap:10px;display:flex}.location-controls input{color:#05374f;min-width:0;font:inherit;background:#ffffffb8;border:1px solid #ffffffd1;border-radius:999px;flex:1;padding:13px 16px;box-shadow:inset 0 1px 5px #06405c1a}.location-controls input::placeholder{color:#24576a9e}.location-controls input:disabled{cursor:wait;opacity:.72}.location-controls button{flex:none;margin-top:0}.action-divider{color:#4a7f91;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:14px 0;font-size:.72rem;font-weight:900;display:flex}.action-divider span{background:#ffffffb8;flex:1;height:1px;box-shadow:0 1px #06405c14}.action-divider em{font-style:normal}.current-location-button{width:100%;margin-top:0}.status{color:#2c6578;margin:18px 0 0}.progress{max-width:420px;margin-top:16px}.progress-track{background:#ffffff8f;border:1px solid #ffffffd1;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 1px 3px #06405c1f}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#64d7ff,#1570a6);height:100%;transition:width .32s;display:block;box-shadow:0 0 16px #39b6ffa3}.progress-steps{color:#5f8796;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:8px;margin:9px 0 0;padding:0;font-size:.78rem;font-weight:800;list-style:none;display:flex}.progress-steps li{opacity:.58}.progress-steps li.active,.progress-steps li.done{color:#06405c;opacity:1}.progress-steps li.active:after{content:" ..."}.progress-steps li.done:after{content:" ✓"}.weather-card{max-width:760px;margin:18px auto 0;padding:22px}.weather-card.good{background:linear-gradient(135deg,#efffdae0,#bbf6ffa3)}.weather-card.bad{background:linear-gradient(135deg,#e8f0ffe6,#becfffa8)}.weather-card.mixed{background:linear-gradient(135deg,#fffcdae6,#d2f7ff9e)}.mood-badge{color:#06405c;text-transform:lowercase;background:#ffffff94;border:1px solid #fffc;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:800;display:inline-flex}.mood-badge span{font-size:1.25rem}.weather-card h2{color:#06405c;letter-spacing:-.05em;margin:18px 0 0;font-size:clamp(2rem,6vw,4rem);line-height:.95}.place{color:#327086;margin:8px 0 0}.temperature-row{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:20px;display:flex}.temperature-row strong{color:#05374f;letter-spacing:-.08em;font-size:clamp(3.2rem,10vw,6.5rem);line-height:.85}.temperature-row span{color:#176580;font-size:1.15rem;font-weight:800}.weather-card>p:not(.place){color:#24576a;max-width:560px;margin:18px 0 0}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 0;display:grid}.stats div{background:#ffffff7a;border:1px solid #ffffffb8;border-radius:18px;padding:14px}.stats dt{color:#44788b;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.stats dd{color:#06405c;margin:6px 0 0;font-size:1.15rem;font-weight:900}.prompt{color:#24576a;max-width:760px;margin:18px auto 0;padding:14px 18px;font-size:.95rem}.prompt summary{color:#06405c;cursor:pointer;font-weight:800}.prompt p{overflow-wrap:anywhere;margin:12px 0 0}.result{max-width:760px;margin:18px auto 0;padding:14px}.result img{border:1px solid #ffffffbd;border-radius:20px;width:100%;display:block}.result figcaption{color:#327086;margin-top:10px;font-size:.9rem}.emoji-cloud{width:var(--size);height:var(--size);-webkit-backdrop-filter:blur(12px)saturate(145%);font-size:calc(var(--size) * .32);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;background:radial-gradient(circle at 30% 18%,#fffc,#baf0ff52 48%,#ffffff1f);border:1px solid #ffffff8f;border-radius:999px;place-items:center;display:grid;position:fixed;box-shadow:0 22px 60px #51b5ff33,inset 0 1px #ffffffd1}.emoji-cloud-one{--size:150px;top:72px;right:max(24px,50vw - 520px)}.emoji-cloud-two{--size:96px;top:420px;right:7vw}.emoji-cloud-three{--size:120px;bottom:70px;left:5vw}.memelord-popup-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px)saturate(120%);background:#06405c47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.memelord-popup{-webkit-backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(135deg,#fffffff0,#d3f9ffe6);border:1px solid #ffffffd1;border-radius:24px;width:min(360px,100%);padding:22px;position:relative;box-shadow:0 24px 70px #06405c57,inset 0 1px #fffffff2}.memelord-popup p{color:#06405c;margin:0 34px 14px 0;font-size:1.05rem;font-weight:900}.memelord-popup a{color:#05374f;background:linear-gradient(#fff,#a9efff 58%,#39b6ff);border:1px solid #ffffffd1;border-radius:999px;justify-content:center;align-items:center;width:100%;padding:12px 16px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 10px 24px #2da7ff3d,inset 0 1px #fffffff2}.memelord-popup-close{color:#06405c;background:#ffffffc2;place-items:center;width:30px;height:30px;margin:0;padding:0;font-size:1.4rem;line-height:1;display:grid;position:absolute;top:10px;right:10px;box-shadow:inset 0 1px #fffffff2}code{color:#06405c;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em}.memelord-powered-stamp{z-index:10;color:#111;image-rendering:pixelated;filter:drop-shadow(2px 3px #00000059);align-items:flex-start;font-family:Arial,Helvetica,sans-serif;text-decoration:none;display:inline-flex;position:fixed;bottom:14px;right:16px}.memelord-powered-stamp:hover{transform:translate(-1px,-1px)}.stamp-copy{flex-direction:column;flex:none;align-items:flex-end;line-height:1;display:inline-flex;transform:rotate(-.5deg)}.stamp-ribbon{color:#fff;text-shadow:1px 1px #00000073;white-space:nowrap;background:#e7241e;border:2px outset #ff8b7f;padding:3px 8px 4px;font-size:13px;font-weight:900}.stamp-name{color:#000;letter-spacing:.02em;text-transform:uppercase;text-shadow:2px 2px #0003;background:#ffef4f;margin-top:-1px;padding:3px 8px 4px;font-size:22px;font-weight:950;box-shadow:2px 2px #000}@media (width<=760px){.app-shell{width:min(100% - 26px,920px);padding:34px 0}.stats{grid-template-columns:1fr}.location-controls{flex-direction:column}.location-controls input,.location-controls button{width:100%}.action-divider{margin:12px 0}.emoji-cloud-one,.emoji-cloud-two,.emoji-cloud-three{opacity:.45}.memelord-powered-stamp{filter:drop-shadow(1px 2px #00000059);justify-content:flex-end;bottom:8px;right:8px}.memelord-powered-stamp:hover{transform:translate(-1px,-1px)}.stamp-ribbon{padding:2px 4px 3px;font-size:8px}.stamp-name{padding:2px 5px 3px;font-size:14px;box-shadow:1px 1px #000}}
