:root{color-scheme:light;--bg:#f5f6f8;--panel:#fff;--panel2:#f7f8fa;--text:#17191d;--muted:#92979f;--line:#eceef1;--blue:#8bdcff;--cyan:#b6edff;--accent:#9cf400;--danger:#ff6262;--shadow:0 5px 20px #1720330b}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}#app{min-height:100vh;background:var(--bg)}button{font:inherit}a{color:inherit;text-decoration:none}
.search-wrap{display:flex;align-items:center;gap:9px;flex:1;min-width:0;height:46px;padding:0 14px;background:#fff;border:1px solid var(--line);border-radius:24px}.search{flex:1;min-width:0;width:100%;height:100%;padding:0;border:0!important;outline:none;background:transparent!important;color:var(--text);font-size:15px}
.header{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 18px;position:sticky;top:0;z-index:20;background:#fff}.logo{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.2px;white-space:nowrap}.mark{width:35px;height:35px;border-radius:10px;background:linear-gradient(135deg,#1d2734,#3d4653);display:grid;place-items:center;color:#fff;font-size:11px;box-shadow:none}.nav{display:none}.spacer{flex:1}.login{border:0;background:var(--accent);color:#182000;padding:10px 16px;border-radius:20px;white-space:nowrap;font-weight:700}.header-bell{width:38px;height:38px;border:0;background:#f5f6f8;border-radius:50%;display:none;place-items:center;cursor:pointer;color:#17191d;position:relative}.header-bell.show{display:grid}.header-bell .dot{position:absolute;right:8px;top:7px;width:7px;height:7px;border-radius:50%;background:#ff5d5d;border:2px solid #fff}
.section{margin-top:20px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}.section h2{margin:0;font-size:20px}.section-head small{color:var(--muted)}.games{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.game{min-height:88px;padding:12px 10px;background:var(--panel);border:1px solid var(--line);border-radius:13px;text-align:left;cursor:pointer;transition:.18s;box-shadow:none}.game:hover{border-color:#b7e84d;transform:translateY(-1px)}.game-icon{width:38px;height:38px;margin-bottom:7px;border-radius:10px;display:grid;place-items:center;overflow:hidden;box-shadow:none}.game-icon svg{width:38px;height:38px}.game-name{display:block;font-size:13px;font-weight:700}.game small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.filters{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:8px 13px;border-radius:99px;cursor:pointer}.chip.active{background:#63b8ff18;border-color:#63b8ff77;color:#63b8ff}.players{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer}.cover{height:105px;background:linear-gradient(135deg,#172d49,#1b536d);position:relative}.online{position:absolute;right:12px;top:12px;padding:5px 8px;border-radius:99px;background:#0c1f1a;color:#65e6aa;font-size:11px}.avatar{width:64px;height:64px;border-radius:18px;border:3px solid var(--panel);position:absolute;bottom:-31px;left:17px;background:linear-gradient(135deg,#8eeaff,#557bff);display:grid;place-items:center;font-weight:900;color:#07111f;font-size:21px}.card-body{padding:39px 17px 17px}.name{font-weight:800}.tag{display:inline-block;margin-top:7px;font-size:11px;padding:4px 7px;border-radius:6px;background:var(--panel2);color:var(--muted)}.desc{color:var(--muted);font-size:12px;margin:12px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{display:flex;align-items:center;justify-content:space-between}.price{font-weight:900;color:#61baff}.order{border:0;background:var(--panel2);color:var(--text);padding:8px 11px;border-radius:9px;cursor:pointer}
.modal{position:fixed;inset:0;background:#0008;display:none;place-items:center;z-index:30;padding:20px}.modal.show{display:grid}.modal-box{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:25px;box-shadow:0 30px 80px #0008}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{border:0;background:var(--panel2);color:var(--text);border-radius:10px;width:34px;height:34px;cursor:pointer}.field{margin-top:16px}.field label{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:11px;border-radius:10px;outline:none}.total{display:flex;justify-content:space-between;margin:20px 0;font-size:16px}.total b{color:#62baff;font-size:22px}.full{width:100%}
main{display:none;max-width:680px;margin:0 auto;padding:0 15px 92px}.hero{display:block;margin-top:12px}.hero-main{padding:28px 22px;border-radius:18px;background:linear-gradient(135deg,#142233,#202b39);color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-main h1{font-size:29px;line-height:1.2;margin:10px 0}.hero-main p{font-size:13px;line-height:1.7;color:#c4ced9;margin-bottom:18px}.eyebrow{color:#b7f323;font-size:11px;font-weight:800;letter-spacing:1.6px}.primary{border:0;border-radius:22px;background:var(--accent);color:#192100;font-weight:800;padding:11px 18px;cursor:pointer}.secondary{border:1px solid #ffffff35;border-radius:22px;background:#ffffff10;color:#fff;padding:10px 17px;cursor:pointer;margin-left:7px}.hero-side{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:13px;overflow:hidden;margin-top:12px}.stat{background:#fff;padding:13px 8px;text-align:center}.stat b{font-size:18px;display:block;margin-bottom:3px}.stat span{color:var(--muted);font-size:10px}.filters{display:flex;gap:8px;margin-bottom:13px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;color:#777d85;padding:7px 12px;border-radius:18px;cursor:pointer}.chip.active{background:#edffd0;border-color:#c9f36c;color:#4c6700}.players{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:none;cursor:pointer}.cover{height:82px;background:linear-gradient(135deg,#172d49,#1b536d);position:relative}.online{position:absolute;right:9px;top:8px;padding:4px 7px;border-radius:99px;background:#10261d;color:#72efa9;font-size:9px}.avatar{width:50px;height:50px;border-radius:15px;border:3px solid #fff;position:absolute;bottom:-24px;left:12px;background:linear-gradient(135deg,#8eeaff,#557bff);display:grid;place-items:center;font-weight:900;color:#07111f;font-size:17px}.card-body{padding:31px 12px 13px}.name{font-weight:800;font-size:14px}.tag{display:inline-block;margin-top:5px;margin-right:3px;font-size:9px;padding:3px 5px;border-radius:5px;background:#f2f4f6;color:#777}.desc{color:var(--muted);font-size:10px;margin:8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price{font-weight:900;color:#111;font-size:14px}.order{border:0;background:#efffc9;color:#4b6500;padding:7px 10px;border-radius:14px;cursor:pointer;font-size:11px}

/* ★ 底部导航：圆角浮动玻璃条 + 丝滑滑动指示器 */
.bottom-nav{
  position:fixed;
  bottom:calc(12px + env(safe-area-inset-bottom));
  left:50%;
  transform:translateX(-50%);
  width:min(656px, calc(100% - 24px));
  height:64px;
  background:rgba(255,255,255,0.18);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,0.55);
  border-radius:20px;
  display:grid;grid-template-columns:repeat(4,1fr);z-index:25;
  box-shadow:0 8px 32px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.85);
  overflow:hidden;
}
/* 滑动玻璃胶囊指示器 —— 中等圆角 */
.nav-indicator{
  position:absolute;
  top:5px;
  bottom:5px;
  left:0;
  width:80px; /* 会被 JS 重新计算 */
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(14px) saturate(180%);
  -webkit-backdrop-filter:blur(14px) saturate(180%);
  border-radius:14px; /* 中等圆角，方不方圆不圆 */
  z-index:0;
  pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.9);
  transition:transform .45s cubic-bezier(.34,1.4,.5,1);
  will-change:transform;
}
.bottom-nav button{
  position:relative;z-index:1;border:0;background:none;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  outline:none;
  color:rgba(60,60,67,0.55);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;cursor:pointer;
  transition:color .25s ease;
}
.bottom-nav button:focus,
.bottom-nav button:focus-visible,
.bottom-nav button:active{
  outline:none;
  box-shadow:none;
}
.bottom-nav button.active{
  color:#1c1c1e;
  font-weight:800;
}
.bottom-nav button.active svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1))}
.bottom-nav svg{width:22px;height:22px;stroke-width:1.8}

/* ★ 详情页打开时彻底隐藏底部导航 + 顶部栏 */
body.detail-open .bottom-nav{display:none!important}
body.detail-open .header{display:none!important}

.tab-view{display:none}.tab-view.active{display:block}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 6px}.quick{border:0;background:none;text-align:center;color:#25282d;font-size:11px}.quick svg{display:block;margin:0 auto 7px;width:25px;height:25px}.quick small{display:block;color:#aaa;margin-top:2px}.notice{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 13px;margin-top:10px;font-size:12px;white-space:nowrap;overflow:hidden}.notice b{background:#eef8d7;color:#688400;padding:3px 6px;border-radius:5px;font-size:10px}.message-card,.mine-card{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:10px}.message-card{display:flex;align-items:center;padding:15px;gap:12px}.message-icon{width:44px;height:44px;border-radius:13px;background:#f2f5f7;display:grid;place-items:center}.message-card b{font-size:14px}.message-card p{margin:5px 0 0;color:var(--muted);font-size:11px}.mine-head{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.mine-user{display:flex;align-items:center;gap:13px}.mine-avatar{width:58px;height:58px;border-radius:50%;background:#f0f1f3;display:grid;place-items:center;font-size:24px;color:#b8bbc0}.balance{background:#10130c;color:#fff;border-radius:17px;padding:19px;margin-top:10px}.balance .money{font-size:29px;font-weight:800;margin:5px 0 14px}.balance button{border:0;background:var(--accent);border-radius:20px;padding:9px 16px;font-weight:800}.order-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:10px}.order-icons{display:grid;grid-template-columns:repeat(5,1fr);text-align:center;margin-top:13px}.order-icons span{font-size:10px;color:#777}.order-icons svg{display:block;margin:0 auto 6px;width:25px;height:25px}.work-card{background:#10130c;color:#fff;border-radius:18px;padding:20px;margin-top:10px}.work-card button{border:0;background:var(--accent);padding:10px 16px;border-radius:20px;font-weight:800}.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;text-align:center;padding:18px 8px}.more-grid div{font-size:10px;color:#555}.more-grid svg{display:block;margin:0 auto 7px;width:24px;height:24px}
.home-shell{padding-top:0}.home-search{display:flex;gap:8px;margin-top:10px;min-width:0}.home-search .search{height:46px;background:#fff;border-radius:24px;font-size:15px}.home-search button{width:78px;flex:0 0 78px;border:0;border-radius:24px;background:var(--accent);font-weight:800}.home-banner{min-height:205px;height:auto;margin-top:10px;border-radius:18px;background:linear-gradient(135deg,#171f2a 0%,#222d3a 62%,#273844 100%);position:relative;overflow:hidden;color:#fff;padding:30px 25px 74px}.home-banner:after{content:'LSP';position:absolute;right:-8px;bottom:-45px;font-size:125px;font-weight:900;color:#ffffff08;font-style:italic}.home-banner h1{font-size:29px;line-height:1.25;margin:12px 0 8px}.home-banner p{font-size:12px;line-height:1.6;color:#b9c1c9;margin:0;max-width:390px}.home-banner .banner-btn{position:absolute;left:25px;bottom:24px;border:0;background:var(--accent);padding:10px 20px;border-radius:20px;font-weight:800}.home-notice{min-height:45px;height:auto;display:flex;align-items:center;gap:9px;padding:10px 13px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:10px;font-size:12px;overflow:hidden}.home-notice strong{flex:0 0 auto;background:#f0ffd0;color:#607d00;padding:4px 7px;border-radius:5px;font-size:10px}.home-notice span{min-width:0;line-height:1.5;white-space:normal;overflow:hidden;text-overflow:ellipsis}
.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:15px;border:1px solid var(--line);margin-top:10px;padding:16px 4px}
.home-shortcut{text-align:center;font-size:11px;min-width:0;overflow:hidden}
.home-shortcut b,.home-shortcut small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-shortcut .shortcut-icon{
  width:46px;height:46px;margin:0 auto 9px;display:grid;place-items:center;
  border-radius:14px;
  background:linear-gradient(140deg,#f2f7e8,#e8f3d6);
  color:#43581a;
  box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(120,160,40,.10);
}
.home-shortcut .shortcut-icon svg{width:25px;height:25px;stroke-width:1.7}
.home-shortcut small{color:#aaa;margin-top:3px}
.home-tabs{display:flex;align-items:center;gap:24px;min-height:52px;height:auto;padding:8px 0;border-bottom:1px solid var(--line);margin-top:13px}.home-tabs b{font-size:18px}.home-tabs span{font-size:16px;color:#999}.home-tabs .under{position:absolute;width:20px;height:3px;background:var(--accent);border-radius:5px;margin-top:35px;margin-left:5px}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.service-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;min-width:0}.service-pic{height:125px;background:linear-gradient(135deg,#111720,#242b34);display:flex;align-items:flex-end;padding:11px;color:#fff;font-weight:900;font-size:17px;line-height:1.25}.service-body{padding:10px;min-width:0}.service-title{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-sub{color:#999;font-size:10px;line-height:1.5;margin:5px 0}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.service-price{font-weight:900;white-space:nowrap}.service-bottom button{border:0;background:#efffc9;color:#4e6800;border-radius:15px;padding:6px 9px;font-size:10px;white-space:nowrap}.category-shell{padding-bottom:92px}.category-search{padding:10px 0;background:#fff;position:sticky;top:64px;z-index:8}.category-title{display:flex;gap:18px;min-height:62px;height:auto;padding:10px 0;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.category-title b{font-size:22px;white-space:nowrap}.category-title span{font-size:16px;color:#999;white-space:nowrap}.category-layout{display:grid;grid-template-columns:86px minmax(0,1fr);background:#fff;min-height:600px}.category-side{border-right:1px solid var(--line);background:#fafafa}.category-side button{width:100%;height:56px;border:0;border-bottom:1px solid #f0f0f0;background:transparent;text-align:left;padding:0 8px 0 17px;font-size:13px;color:#555;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-side button.active{background:#fff;color:#16191d;font-weight:800}.category-side button.active:before{content:'';position:absolute;left:0;top:13px;width:3px;height:30px;border-radius:0 4px 4px 0;background:var(--accent)}.category-products{padding:12px 10px;min-width:0}.category-product{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:10px;min-width:0}.category-product .pic{height:125px;background:linear-gradient(135deg,#111720,#272f3a);color:#fff;display:flex;align-items:flex-end;padding:10px;font-size:16px;font-weight:900;line-height:1.25}.category-product .info{padding:9px;min-width:0}.category-product .title{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-product .sub{font-size:10px;color:#999;line-height:1.5;margin:5px 0}.category-product .price-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.category-product .price{font-size:16px;white-space:nowrap}.category-product button{border:0;background:#efffc9;color:#4e6800;border-radius:15px;padding:6px 9px;font-size:10px;white-space:nowrap}
.escort-detail{display:none;max-width:680px;margin:auto;padding:0 0 96px}.escort-detail.show{display:block}.detail-top{height:300px;background:linear-gradient(135deg,#111720,#273846);color:#fff;display:flex;align-items:flex-end;padding:22px 20px;position:relative;overflow:hidden}.detail-top:after{content:'LSP';position:absolute;right:-15px;bottom:-45px;font-size:150px;font-weight:900;color:#ffffff08;font-style:italic}.detail-game{position:relative;z-index:1;font-size:13px;color:#b9f52c;font-weight:800}.detail-title{position:relative;z-index:1;margin:7px 0 5px;font-size:25px;line-height:1.25}.detail-desc{position:relative;z-index:1;color:#c6ced7;font-size:12px;line-height:1.55;max-width:560px}.detail-body{padding:10px 15px}.detail-price-card,.detail-section{background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:10px;padding:15px}.detail-price-card{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.detail-price{color:#ff4f4f;font-size:27px;font-weight:900;white-space:nowrap}.detail-price small{font-size:11px;color:#999;font-weight:500}.detail-meta{color:#999;font-size:10px;text-align:right;line-height:1.5}.detail-section h3{margin:0 0 12px;font-size:15px}.spec-row{display:flex;align-items:flex-start;gap:10px;margin-top:13px}.spec-label{flex:0 0 82px;color:#777;font-size:12px;line-height:32px}.spec-options{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.spec-option{border:1px solid var(--line);background:#f7f8fa;color:#555;border-radius:8px;padding:7px 10px;font-size:11px;cursor:pointer;white-space:nowrap}.spec-option.active{background:#efffc9;border-color:#b9e95b;color:#4d6800;font-weight:800}.detail-input{width:100%;border:1px solid var(--line);background:#f7f8fa;color:var(--text);padding:11px;border-radius:10px;outline:none}.detail-note{margin-top:13px}.detail-rule{color:#777;font-size:11px;line-height:1.7;margin:0}.detail-bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(680px,100%);height:76px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:10px 15px calc(10px + env(safe-area-inset-bottom));z-index:24}.detail-bottom .buy-total{flex:1;min-width:0}.detail-bottom .buy-total small{display:block;color:#999;font-size:10px}.detail-bottom .buy-total b{display:block;color:#ff4f4f;font-size:22px;margin-top:2px}.detail-buy{flex:0 0 150px;height:46px;border:0;border-radius:23px;background:var(--accent);color:#243000;font-weight:900;cursor:pointer}.detail-back{position:absolute;left:14px;top:14px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:#ffffff18;color:#fff;font-size:23px;cursor:pointer}
@media(min-width:900px){#app{max-width:680px;margin:auto;box-shadow:0 0 45px #17203318;min-height:100vh}.header{width:680px;left:50%;transform:translateX(-50%);padding:0 18px}.search-wrap{max-width:none}.login{display:none}}
@media(max-width:580px){.header{padding:0 14px}.logo span{font-size:13px}.search-wrap{max-width:none}.search{height:38px}.login{display:none}.hero-main{padding:24px 19px}.hero-main h1{font-size:27px}.hero-side{grid-template-columns:repeat(4,1fr)}.players{grid-template-columns:repeat(2,1fr)}.games{grid-template-columns:repeat(4,1fr)}.game{padding:10px 7px}.game-icon{margin-left:auto;margin-right:auto}.game-name{text-align:center;font-size:11px}.game small{text-align:center}.section{margin-top:18px}}
