:root{--yellow:#ffde7a;--bg:#fffbea;--card:#fff;--ink:#3b2f40;--muted:#8a7f8e;--line:#f1e6c4;--plum:#7a5a80;--on-plum:#fff;--sat-1:#ffb3c4;--sat-2:#ffcfa8;--sun-1:#9ed4f2;--sun-2:#aee8cf;--free:#3f9c6d;--danger:#c0392b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1f1a22;--card:#2a2330;--ink:#f3ecf5;--muted:#a99fae;--line:#3a3140;--plum:#c9a6d1;--on-plum:#1f1a22;--free:#7fd3a6;--danger:#ff8a7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:15px;line-height:1.45}main{max-width:560px;padding:0 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}img{display:block}.center{text-align:center;justify-content:center;padding:48px 0;display:flex}.muted{color:var(--muted)}.error{color:var(--danger);padding:12px 0}.note{background:color-mix(in srgb, var(--yellow) 35%, var(--card));border-radius:12px;margin:8px 0;padding:10px 14px}.foot{text-align:center;margin:24px 0 8px;font-size:12px}.link{color:var(--plum);background:0 0;border:0;padding:4px 0;text-decoration:underline}.top{padding:calc(14px + env(safe-area-inset-top)) 0 10px;align-items:center;gap:8px;display:flex}.top h1{color:var(--plum);letter-spacing:-.5px;margin:0;font-size:22px}.top .origin{background:var(--card);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:13px;text-decoration:none}.flap .wing-l,.flap .wing-r{transform-box:fill-box;animation:.9s ease-in-out infinite flap}.flap .wing-l{transform-origin:100%}.flap .wing-r{transform-origin:0}@keyframes flap{50%{transform:scaleX(.55)}}@media (prefers-reduced-motion:reduce){.flap .wing-l,.flap .wing-r{animation:none}}.days{grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px;display:grid}.day{text-align:left;color:#3b2f40;border:2px solid #0000;border-radius:18px;min-height:112px;padding:12px 14px}.day.sat{background:linear-gradient(135deg, var(--sat-1), var(--sat-2))}.day.sun{background:linear-gradient(135deg, var(--sun-1), var(--sun-2))}.day:not(.on){opacity:.55}.day.on{border-color:var(--plum);box-shadow:0 4px 14px #7a5a802e}.day-h{font-size:14px}.day-h b{margin-right:2px;font-size:18px}.hol{background:#ffffffb3;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px}.sky{letter-spacing:4px;margin:4px 0 2px;font-size:24px}.temp{font-weight:700}.pop,.air{font-size:12px}.day .muted{color:#5e5263;margin-top:18px}.filters{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 13px;font-size:14px}.chip.on{background:var(--plum);border-color:var(--plum);color:var(--on-plum)}.list{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);gap:12px;padding:10px 0;text-decoration:none;display:flex}.thumb{background:var(--line);border-radius:10px;flex:none;justify-content:center;align-items:center;width:64px;height:84px;display:flex;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.body{flex:1;min-width:0}.title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.kind{color:#3b2f40;border-radius:6px;padding:1px 6px;font-size:11px}.k-performance{background:var(--sat-1)}.k-exhibition{background:var(--sun-1)}.k-festival{background:var(--yellow)}.k-event{background:var(--sun-2)}.free{color:var(--free);font-weight:600}.heart{color:#e0607e}.more{border:1px solid var(--line);background:var(--card);border-radius:12px;width:100%;margin:12px 0;padding:12px}.chip.view{margin-left:auto}.mapwrap{margin:6px -16px 0;position:relative}.map{height:calc(100dvh - 300px - 90px - env(safe-area-inset-bottom));border-radius:0 0 20px 20px;min-height:300px}.map-msg{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-card{z-index:5;background:var(--card);border-radius:16px;max-height:45%;padding:4px 12px;position:absolute;bottom:10px;left:10px;right:10px;overflow:auto;box-shadow:0 6px 20px #0000002e}.map-card ul{margin:0;padding:0;list-style:none}.map-card .row:last-child{border-bottom:0}.map-card .small{padding-top:8px;font-size:12px}.thumb.sm{width:44px;height:58px}.me-dot{background:var(--plum);border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 4px #7a5a804d}.minimap{border:1px solid var(--line);border-radius:14px;height:170px;margin:4px 0 10px;display:block;position:relative;overflow:hidden}.minimap>div{width:100%;height:100%}.minimap:after{content:"";z-index:2;position:absolute;inset:0}.detail{margin:0 -16px}.back{top:calc(8px + env(safe-area-inset-top));z-index:2;color:#3b2f40;background:#ffffffd9;border:0;border-radius:50%;width:40px;height:40px;margin:8px 0 0 12px;font-size:26px;line-height:1;position:sticky;box-shadow:0 2px 8px #0000001f}.hero{background:var(--line);justify-content:center;max-height:70vh;margin-top:-48px;display:flex;overflow:hidden}.hero img{object-fit:contain;max-width:100%;max-height:70vh}.pad{padding:14px 16px}.detail h2{margin:8px 0 12px;font-size:21px;line-height:1.35}.facts{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.facts .sub{color:var(--muted);white-space:pre-line;font-size:13px}.actions{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.actions button{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 0}.actions button.on{background:var(--plum);border-color:var(--plum);color:var(--on-plum)}.links{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.links a{background:var(--yellow);color:#3b2f40;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none}.overview p{white-space:pre-line;max-height:9.5em;margin:0;overflow:hidden}.overview.open p{max-height:none}.settings section{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:10px 0;padding:14px 16px}.settings h3{margin:0 0 6px;font-size:16px}.settings p{margin:0 0 10px;font-size:13px}.inline{gap:8px;display:flex}.inline input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);font:inherit;border-radius:10px;flex:1;padding:10px 12px}.inline button{background:var(--plum);color:var(--on-plum);white-space:nowrap;border:0;border-radius:10px;padding:10px 14px}.tabbar{z-index:20;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:24px;align-items:stretch;width:min(100% - 32px,340px);height:62px;padding:0 6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #3b2f4024,0 2px 6px #3b2f400f}.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tabbar .ico{border-radius:15px;justify-content:center;align-items:center;width:52px;height:30px;transition:background .2s;display:flex}.tabbar .lbl{letter-spacing:-.2px;font-size:11px;font-weight:600}.tabbar a.on{color:var(--plum)}.tabbar a.on .ico{background:color-mix(in srgb, var(--plum) 14%, transparent)}.tabbar a:active .ico{transform:scale(.94)}
