:root,:root[data-theme=dark]{--bg: #08080d;--ink: #f4f4f8;--dim: rgba(244, 244, 248, .68);--faint: rgba(244, 244, 248, .46);--line: rgba(255, 255, 255, .08);--card: rgba(255, 255, 255, .035);--blue: #6ea8ff;--violet: #a78bfa;--cyan: #67e8f9;--temp-grad: linear-gradient(160deg, #ffffff 20%, #9db4e8 65%, #6ea8ff 100%);--chart-grad: linear-gradient(180deg, #67e8f9, #6ea8ff);--chart-glow: 0 0 14px rgba(110, 168, 255, .35);--card-shadow: none;--bar-track: rgba(255, 255, 255, .07);--aurora: radial-gradient(30% 55% at 22% 30%, rgba(110, 168, 255, .5), transparent 70%), radial-gradient(26% 48% at 45% 12%, rgba(167, 139, 250, .4), transparent 70%), radial-gradient(24% 44% at 68% 34%, rgba(103, 232, 249, .26), transparent 70%)}:root[data-theme=light]{--bg: #f7f8fc;--ink: #1b2233;--dim: rgba(27, 34, 51, .72);--faint: rgba(27, 34, 51, .52);--line: rgba(27, 34, 51, .08);--card: rgba(255, 255, 255, .72);--blue: #3b76e8;--violet: #8b6ee8;--cyan: #0ea5c9;--temp-grad: linear-gradient(160deg, #1b2233 15%, #3b5a9e 60%, #3b76e8 100%);--chart-grad: linear-gradient(180deg, #53c6e8, #3b76e8);--chart-glow: 0 4px 12px rgba(59, 118, 232, .28);--card-shadow: 0 8px 28px rgba(59, 90, 158, .08);--bar-track: rgba(27, 34, 51, .08);--aurora: radial-gradient(30% 55% at 22% 30%, rgba(147, 190, 255, .6), transparent 70%), radial-gradient(26% 48% at 45% 12%, rgba(196, 178, 255, .5), transparent 70%), radial-gradient(24% 44% at 68% 34%, rgba(157, 231, 246, .42), transparent 70%)}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{font-family:Pretendard Variable,Pretendard,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;transition:background .25s ease,color .25s ease;overflow-x:hidden}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input{font:inherit;color:inherit}.aurora{position:fixed;inset:-140px -10% auto;height:620px;pointer-events:none;filter:blur(70px);opacity:.65;background:var(--aurora);z-index:0}.shell{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:24px 20px 60px}.nav{display:flex;align-items:center;gap:12px;margin-bottom:28px;flex-wrap:wrap}.brand{font-weight:800;font-size:20px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;white-space:nowrap}.brand .logo{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;font-size:15px}.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px}.chip-sm{font-size:14px;font-weight:600;color:var(--dim);border:1px solid var(--line);background:var(--card);border-radius:99px;padding:7px 13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:color .15s,border-color .15s;white-space:nowrap}.chip-sm:hover{color:var(--ink)}.chip-sm.active{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 35%,transparent)}.toggle{width:58px;height:30px;border-radius:99px;background:var(--card);border:1px solid var(--line);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:none}.toggle .knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:99px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;font-size:12px;transition:left .2s ease}:root[data-theme=light] .toggle .knob{left:30px}.search-wrap{position:relative;flex:1;max-width:340px;min-width:180px}.search{width:100%;display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:10px 17px;font-size:15px;color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none;transition:border-color .15s}.search::placeholder{color:var(--faint)}.search:focus{border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;z-index:30;box-shadow:0 16px 48px #0000004d}.search-results button{display:flex;width:100%;align-items:baseline;gap:8px;padding:13px 17px;font-size:15.5px;font-weight:600;text-align:left;transition:background .12s}.search-results button:hover{background:var(--card)}.search-results button small{color:var(--dim);font-weight:500;font-size:13.5px}.search-results .empty{padding:14px 16px;font-size:13px;color:var(--dim)}.grid{display:grid;grid-template-columns:430px 1fr;gap:22px;align-items:start}.col{display:flex;flex-direction:column;gap:14px;min-width:0}@media(max-width:900px){.nav{gap:8px}.search-wrap{order:10;max-width:none;flex-basis:100%}}.hero{padding:8px 10px 6px}.loc{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:700;flex-wrap:wrap}.loc .badge{font-size:13px;font-weight:700;color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 32%,transparent);border-radius:99px;padding:3px 9px;background:color-mix(in srgb,var(--cyan) 8%,transparent)}.loc small{font-size:15.5px;color:var(--dim);font-weight:500}.loc .fav-btn{font-size:19px;line-height:1;opacity:.85;transition:transform .15s}.loc .fav-btn:hover{transform:scale(1.15)}.cond{display:inline-flex;align-items:center;gap:7px;font-size:16.5px;font-weight:600;color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:7px 14px;background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:22px}.cond .dot{width:6px;height:6px;border-radius:99px;background:var(--blue);box-shadow:0 0 10px var(--blue)}.temp{font-size:clamp(120px,30vw,172px);font-weight:200;letter-spacing:-.07em;line-height:1;margin:8px 0 4px;background:var(--temp-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.range{font-size:19px;color:var(--dim)}.range b{color:var(--ink);font-weight:600}.updated{font-size:14px;color:var(--faint);margin-top:10px}.alert{margin-top:22px;display:flex;align-items:center;gap:11px;border-radius:18px;padding:17px 19px;font-size:17px;font-weight:500;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 14%,transparent),color-mix(in srgb,var(--violet) 10%,transparent));border:1px solid color-mix(in srgb,var(--blue) 30%,transparent)}.alert .ic{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--blue) 18%,transparent);display:grid;place-items:center;font-size:17px;flex:none}.alert b{color:var(--blue)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--card-shadow)}.stat .k{font-size:13.5px;color:var(--faint);letter-spacing:.12em;font-weight:600}.stat .v{font-size:31px;font-weight:600;margin-top:7px;letter-spacing:-.02em}.stat .v small{font-size:15.5px;color:var(--dim);font-weight:500}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px 24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--card-shadow)}.card h3{font-size:14.5px;font-weight:700;letter-spacing:.14em;color:var(--faint);margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}.card h3 .tag{font-size:12px;color:var(--faint);border:1px solid var(--line);padding:2px 8px;border-radius:99px;letter-spacing:.06em}.hours{display:flex;overflow-x:auto;scrollbar-width:none;gap:2px}.hours::-webkit-scrollbar{display:none}.hour{text-align:center;flex:1 0 74px;position:relative;padding:8px 0 4px;border-radius:14px}.hour.now{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 13%,transparent),transparent)}.hour .h{font-size:14.5px;color:var(--dim);font-weight:500}.hour.now .h{color:var(--blue);font-weight:700}.hour .ic{font-size:28px;margin:10px 0 8px;display:block}.hour .t{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.hour .p{font-size:13px;font-weight:600;margin-top:5px;min-height:17px;color:var(--cyan)}.hour .pop{font-size:13px;font-weight:600;margin-top:3px;min-height:17px;color:var(--faint)}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.split{grid-template-columns:1fr}}.chart{display:flex;align-items:flex-end;gap:3px;height:88px}.chart .bar{flex:1;border-radius:4px 4px 2px 2px;background:var(--chart-grad);box-shadow:var(--chart-glow);opacity:.95;min-height:2px}.chart .bar.zero{opacity:.18;box-shadow:none;background:var(--dim)}.chart-x{display:flex;justify-content:space-between;font-size:13px;color:var(--faint);margin-top:10px;letter-spacing:.05em}.note{font-size:16px;color:var(--dim);margin-top:12px;line-height:1.55}.note b{color:var(--blue)}.week .day{display:flex;align-items:center;padding:14.5px 0;border-bottom:1px solid var(--line);font-size:17px}.week .day:last-child{border:none;padding-bottom:2px}.week .d{width:64px;color:var(--dim);font-weight:500}.week .d.today{color:var(--ink);font-weight:700}.week .di{width:40px;font-size:22px;text-align:center}.week .pop{width:58px;font-size:14px;font-weight:600;color:var(--cyan)}.week .bar{flex:1;height:4px;border-radius:99px;background:var(--bar-track);position:relative;margin:0 14px}.week .bar i{position:absolute;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--violet))}.week .lo{width:44px;text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}.week .hi{width:50px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.center-msg{display:grid;place-items:center;min-height:50vh;text-align:center;gap:12px;color:var(--dim);font-size:16px}.center-msg .big{font-size:40px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{animation:rise .5s cubic-bezier(.2,.7,.3,1) both}.rise-1{animation-delay:.05s}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.19s}.rise-4{animation-delay:.26s}@media(max-width:900px){.grid{display:flex;flex-direction:column;gap:14px;align-items:stretch}.col,.split{display:contents}.hero{order:1}.card-hourly{order:2}.card-chart{order:3}.stats{order:4}.card-week{order:5}}.noanim *,.noanim *:before,.noanim *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.rise{animation:none}}
