*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#171b24;font:16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:760px;margin:auto;padding-bottom:86px}.hero{height:300px;padding:40px 22px 20px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(#07101b22,#07101bdd),url("https://images.unsplash.com/photo-1490806843957-31f4c9a91c65?auto=format&fit=crop&w=1200&q=80") center/cover}h1{font-size:34px;margin:0}.muted{color:#6f7886}.hero .muted{color:#e8edf4}.metrics{display:grid;grid-template-columns:repeat(3,1fr);background:#17191ddd;border-radius:20px;margin-top:18px;padding:14px 4px;text-align:center}.metrics div+div{border-left:1px solid #555}.metrics small{display:block;font-size:10px}.metrics b{font-size:22px}.tabs{position:sticky;top:0;z-index:5;display:flex;overflow:auto;background:#fff;border-bottom:1px solid #e5e7eb;padding:9px 10px}button{font:inherit}.tabs button{border:0;background:none;padding:10px 11px;white-space:nowrap;color:#3e4653}.tabs .on{color:#5147e5;border-bottom:3px solid #5147e5}.page{display:none;padding:0 14px}.page.on{display:block}.box,.event,.weather,.guide{background:#fff;border:1px solid #e3e6eb;border-radius:17px;padding:14px;margin:12px 0}.flight{margin:14px}.flightgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.flightgrid div{padding:10px;background:#f8f9fb;border-radius:12px}.strip{display:flex;gap:8px;overflow:auto;padding:14px 0 4px}.chip{min-width:58px;border:1px solid #e0e4ea;background:#fff;border-radius:14px;padding:8px;text-align:center}.chip.on{background:#5147e5;color:#fff}.chip b{font-size:18px;display:block}.chip small{font-size:10px}.timeline{position:relative;margin-top:16px;padding-left:78px}.timeline:before{content:"";position:absolute;left:51px;top:24px;bottom:24px;width:2px;background:#655af0}.event{position:relative;margin:0 0 12px;min-height:70px}.event:before{content:"";position:absolute;left:-34px;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#655af0;border:4px solid #f5f6f8;border-radius:50%;z-index:2}.event .time{position:absolute;right:calc(100% + 43px);top:50%;transform:translateY(-50%);width:44px;text-align:right;color:#5147e5;font-size:11px;font-weight:600;white-space:nowrap}.event b{font-size:17px}.sub{color:#707987;margin-top:4px}.weather{display:grid;grid-template-columns:1.1fr .8fr 1.5fr;gap:8px;background:#f5f3ff}.weather div{padding:6px}.map{display:block;text-align:center;padding:13px;border:1px solid #e2e5eb;border-radius:14px;background:#fff;color:#5147e5;text-decoration:none}.hotelcard{background:#fff;border:1px solid #e3e6eb;border-radius:16px;padding:14px;margin:10px 0}.hotelcard h3{margin:0 0 4px}.hotelmeta{display:flex;justify-content:space-between;gap:10px;color:#707987;font-size:13px}.hotelactions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.hotelactions a{padding:10px;text-align:center;border:1px solid #e2e5eb;border-radius:11px;color:#5147e5;text-decoration:none;background:#f8f9fb}.rows .row{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #eee}.money{width:100%;font-size:30px;font-weight:700;padding:14px;border:1px solid #ddd;border-radius:13px}.result{font-size:34px;font-weight:800;margin:12px 0}.presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.presets button{padding:11px;border:1px solid #ddd;border-radius:11px;background:#f8f9fb}.cats{display:flex;gap:7px;overflow:auto}.cats button{padding:9px 11px;border:1px solid #ddd;border-radius:999px;background:#fff;white-space:nowrap}.cats .on{background:#5147e5;color:#fff}details{border:1px solid #e3e6eb;border-radius:13px;margin:8px 0;overflow:hidden}summary{padding:12px;font-weight:700}.place{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #eee}.place a{color:#5147e5;text-decoration:none}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:8;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #ddd;padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.bottom button{border:0;background:none;color:#666;font-size:12px}.bottom .on{color:#5147e5;font-weight:700}@media(min-width:650px){.bottom{display:none}main{padding-bottom:20px}}.rainhours{margin:8px 0 12px;padding:10px 12px;background:#eef5ff;border:1px solid #dbe8fb;border-radius:12px;color:#34435a;font-size:13px;line-height:1.4}.rainhours b{color:#3558a7}