:root{--bg: #f5f8f7;--card: #ffffff;--line: #e3ecea;--ink: #10322f;--ink-2: #365653;--muted: #7b918e;--brand: #129b94;--brand-dark: #0c716c;--brand-soft: #e6f4f1;--sand: #f6efe3;--warn: #b4762c;--danger: #a2463d;--shadow: 0 10px 30px rgba(16, 50, 47, .07);--radius: 18px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3{margin:0;line-height:1.28;letter-spacing:-.01em}.shell{max-width:520px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:24px}.shell.with-tab{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}@media(min-width:900px){body{background:#e9f0ee}.shell{box-shadow:0 0 0 1px #10322f0f,0 24px 60px #10322f1a;min-height:100vh}}.page{padding:0 18px 8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px 12px}.brand{display:inline-flex;align-items:center;gap:10px}.brand-text{display:flex;flex-direction:column;line-height:1.25}.brand-text b{font-size:16.5px;font-weight:700;letter-spacing:.01em}.brand-text i{font-size:11px;font-style:normal;color:var(--muted);letter-spacing:.06em}.topbar-link{font-size:12.5px;color:var(--brand-dark);background:var(--brand-soft);padding:7px 12px;border-radius:999px;white-space:nowrap}.hero{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin-top:2px}.hero-img{width:100%;height:268px;object-fit:cover}.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,#0923211f,#09232157 46%,#092321d1)}.hero-copy{position:absolute;left:20px;right:20px;bottom:70px;color:#fff}.eyebrow{display:block;font-size:9.5px;letter-spacing:.24em;color:#ffffffc7;margin-bottom:8px}.hero-copy h1{font-size:30px;font-weight:700;letter-spacing:-.02em}.hero-copy p{margin:8px 0 0;font-size:13px;color:#ffffffdb}.hero-search{position:absolute;left:16px;right:16px;bottom:14px;display:flex;align-items:center;gap:9px;height:44px;padding:0 16px;border-radius:999px;background:#fffffff0;color:var(--muted);font-size:13.5px;backdrop-filter:blur(8px)}.hero-search .icon{color:var(--brand);flex:none}.section{margin-top:26px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{font-size:17.5px;font-weight:700}.section>h2{font-size:16px;font-weight:700;margin-bottom:8px}.muted{color:var(--muted)}.tiny{font-size:11.5px;line-height:1.6}.center{text-align:center}.dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.6;display:inline-block}.notice{background:var(--brand-soft);border:1px solid #d3eae5;color:#3f6c67;border-radius:14px;padding:11px 14px;font-size:12px;line-height:1.65;margin:14px 0 0}.notice.error{background:#fdf1ee;border-color:#f3d7d0;color:var(--danger)}.notice-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.notice-foot code{font-size:10.5px;opacity:.7;letter-spacing:.04em}.link{color:var(--brand-dark);font-size:12.5px}.loading-inline{font-size:13px;color:var(--muted)}.rail{display:flex;gap:11px;overflow-x:auto;padding:2px 18px 6px;margin:0 -18px;scroll-snap-type:x mandatory;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.district{position:relative;flex:none;width:148px;height:96px;border-radius:16px;overflow:hidden;scroll-snap-align:start;box-shadow:var(--shadow)}.district img{width:100%;height:100%;object-fit:cover}.district-veil{position:absolute;inset:0;background:linear-gradient(180deg,#08201e0d,#08201eb8)}.district-text{position:absolute;left:11px;right:11px;bottom:9px;display:flex;flex-direction:column;text-align:left;color:#fff}.district-text b{font-size:14.5px;font-weight:650}.district-text i{font-size:10.5px;font-style:normal;opacity:.82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.cat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 12px 11px;text-align:left;display:flex;flex-direction:column;gap:1px}.cat b{font-size:14px;font-weight:650}.cat i{font-size:10.5px;font-style:normal;color:var(--muted)}.cat:active{background:#fbfdfc}.campaign{position:relative;display:block;width:100%;height:116px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.campaign img{width:100%;height:100%;object-fit:cover}.campaign-veil{position:absolute;inset:0;background:linear-gradient(96deg,#082220db 6%,#08222061 62%,#0822201a)}.campaign-text{position:absolute;left:16px;top:50%;transform:translateY(-50%);text-align:left;color:#fff;display:flex;flex-direction:column}.campaign-text b{font-size:16px;font-weight:680}.campaign-text i{font-size:11.5px;font-style:normal;opacity:.84;margin-top:3px}.campaign-cta{position:absolute;right:14px;bottom:13px;font-size:11.5px;color:#fff;background:#fff3;border-radius:999px;padding:5px 11px}.cards{display:flex;flex-direction:column;gap:11px}.rcard{display:flex;gap:12px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.rcard:active{transform:scale(.995)}.rcard-media{flex:none;width:92px;height:92px;border-radius:13px;overflow:hidden;background:var(--brand-soft)}.rcard-media img{width:100%;height:100%;object-fit:cover}.rcard-body{flex:1;min-width:0;display:flex;flex-direction:column}.rcard-body h3{font-size:14.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.rcard-sub{margin:3px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rcard-meta{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);margin-top:5px}.rcard-foot{display:flex;align-items:baseline;gap:6px;margin-top:auto;padding-top:6px}.price{font-size:16px;font-weight:700;color:var(--brand-dark);letter-spacing:-.01em}.price.big{font-size:24px}.unit{font-size:11px;color:var(--muted)}.member{font-size:11px;color:var(--warn);background:var(--sand);border-radius:6px;padding:1px 6px}.footnote{margin:26px 0 6px;font-size:11px;line-height:1.75;color:var(--muted);padding-bottom:10px}.searchbar{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 14px;height:44px;box-shadow:var(--shadow)}.searchbar .icon{color:var(--brand);flex:none}.searchbar input{flex:1;border:0;outline:none;background:none;font-size:14px;color:var(--ink);min-width:0}.searchbar input::placeholder{color:#a8bab7}.clearbtn{color:var(--muted);font-size:19px;line-height:1;padding:0 2px}.filters{margin-top:13px}.chiprow{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chiprow::-webkit-scrollbar{display:none}.chip{flex:none;font-size:12.5px;padding:6px 13px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink-2)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.selectrow{display:flex;gap:10px;margin-top:9px}.selectrow label{flex:1;display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted)}.selectrow select{flex:1;min-width:0;height:34px;padding:0 8px;font-size:12.5px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;appearance:none}.resultbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 10px;font-size:12px;color:var(--muted)}.resultbar.plain{justify-content:flex-start}.state{display:flex;align-items:center;justify-content:center;gap:9px;padding:34px 16px;color:var(--muted);font-size:13px}.state.empty{flex-direction:column;text-align:center;gap:7px}.state.empty strong{font-size:15px;color:var(--ink);font-weight:650}.state.empty p{margin:0;font-size:12.5px;max-width:300px;line-height:1.7}.state.empty .primary,.state.empty .ghost{margin-top:10px}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid #cfe4e0;border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary{background:var(--brand);color:#fff;font-weight:600;font-size:14px;border-radius:13px;padding:12px 20px;text-align:center}.primary:active{background:var(--brand-dark)}.primary:disabled{opacity:.6}.ghost{background:var(--card);border:1px solid var(--line);color:var(--ink-2);border-radius:13px;padding:11px 18px;font-size:13.5px;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:7px}.ghost.active{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-soft)}.block{display:block;width:100%;margin-top:16px}.backhome{display:block;margin:20px auto 0}.page.detail{padding:0 18px 8px}.detail-media{position:relative;margin:0 -18px}.detail-media img{width:100%;height:250px;object-fit:cover}.floatback{position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:50%;background:#ffffffeb;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000029;backdrop-filter:blur(6px)}.backbtn{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--ink-2);margin:14px 0 8px}.detail-head{margin-top:16px}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:10.5px;padding:3px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark)}.badge.muted{background:#eef2f1;color:var(--muted)}.badge.warn{background:var(--sand);color:var(--warn)}.badge.demo{background:#fff2e4;color:#a9711f}.detail-head h1{font-size:22px;font-weight:700;margin-top:9px}.detail-sub{margin:5px 0 0;font-size:12.5px;color:var(--muted)}.detail-price{display:flex;align-items:baseline;gap:7px;margin-top:11px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:4px 15px;margin-top:15px;box-shadow:var(--shadow)}.panel.list{padding:0 15px}.kv{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #f0f5f4;font-size:13px}.kv:last-child{border-bottom:0}.kv span{color:var(--muted);flex:none}.kv b{font-weight:600;text-align:right}.prose{margin:0;font-size:13.5px;line-height:1.8;color:var(--ink-2)}.prose.small{font-size:12.5px}.terms{margin:0;padding-left:18px;font-size:12.5px;line-height:1.85;color:var(--ink-2)}.tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tag{font-size:11px;padding:3px 10px;border-radius:999px;background:#eef3f2;color:var(--ink-2)}.detail-actions{display:flex;gap:10px;margin-top:20px}.detail-actions .grow{flex:1}.page-head{padding:6px 2px 2px}.page-head h1{font-size:23px;font-weight:700}.page-head p{margin:7px 0 0;font-size:12.5px;color:var(--muted);line-height:1.7}.plan{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;margin-top:14px;box-shadow:var(--shadow)}.plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.plan-head h2{font-size:17px;font-weight:700}.plan-head p{margin:4px 0 0;font-size:12px}.plan-price{text-align:right;flex:none}.plan-price b{display:block;font-size:19px;font-weight:700;color:var(--brand-dark)}.plan-price span{font-size:10.5px;color:var(--muted)}.plan-kv{margin:13px 0 0;padding:0;display:flex;flex-direction:column;gap:0}.plan-kv>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid #f2f6f5;font-size:12.5px}.plan-kv dt{color:var(--muted);margin:0;flex:none}.plan-kv dd{margin:0;text-align:right;font-weight:600}.profile{display:flex;align-items:center;gap:13px;padding:10px 2px 4px}.avatar{width:52px;height:52px;border-radius:50%;flex:none;background:linear-gradient(150deg,#1bb3a9,#0b6c67);color:#fff;font-size:19px;font-weight:600;display:flex;align-items:center;justify-content:center}.profile-text{display:flex;flex-direction:column}.profile-text b{font-size:16.5px;font-weight:650}.profile-text .muted{font-size:11.5px}.actions{display:flex;gap:10px;margin-top:12px}.actions>button{flex:1}.capabilities{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column}.capabilities li{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #f2f6f5;font-size:12.5px}.capabilities li span:nth-child(2){flex:1}.capabilities em{font-style:normal;font-size:11px}.capabilities li.on em{color:var(--brand-dark)}.capabilities li.off em{color:var(--muted)}.capabilities li.off span:nth-child(2){color:var(--muted)}.cap-dot{width:7px;height:7px;border-radius:50%;flex:none}.capabilities li.on .cap-dot{background:var(--brand)}.capabilities li.off .cap-dot{background:#d6e0de}.row-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 0;border-bottom:1px solid #f0f5f4;font-size:13.5px;text-align:left}.row-link:last-child{border-bottom:0}.arrow{color:var(--muted)}.tripcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.tripcard-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.tripcard-head h3{font-size:15px;font-weight:650}.tripcard-meta{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted);margin-top:6px}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:520px;display:flex;background:#fffffff0;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:7px 0 calc(7px + env(safe-area-inset-bottom,0px));z-index:20}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--muted);padding:3px 0}.tabbar button.active{color:var(--brand-dark);font-weight:650}.tabbar .icon{stroke-width:1.8}
