*{box-sizing:border-box}body{margin:0;background:#06111d;color:#eaf7ff;font-family:Arial,"Microsoft YaHei",sans-serif}.app{max-width:520px;margin:0 auto;min-height:100vh;padding:14px 14px 86px;background:linear-gradient(180deg,#071827,#020617)}.top{display:flex;justify-content:space-between;align-items:center;margin:8px 0 14px}.brand{font-size:24px;font-weight:900}.ver{font-size:12px;color:#86efac}.card{background:#0f2236;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:15px;margin:12px 0;box-shadow:0 14px 36px rgba(0,0,0,.22)}h1,h2,h3{margin:6px 0 10px}.muted{color:#9fb3c8;line-height:1.6}.small{font-size:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{border:0;border-radius:13px;background:#22c55e;color:#052e16;font-weight:900;padding:11px 12px;margin:4px 0}.btn2{background:#12324a;color:#eaf7ff;border:1px solid #284963}.btnDanger{background:#ef4444;color:white}.input,select,textarea{width:100%;border:1px solid #244156;border-radius:13px;background:#071827;color:white;padding:11px;margin:6px 0}textarea{min-height:70px}.tabbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);max-width:520px;width:100%;display:grid;grid-template-columns:repeat(5,1fr);background:#071827;border-top:1px solid #163047;z-index:999}.tabbar button{background:none;border:0;color:#9fb3c8;padding:11px 2px;font-size:14px}.tabbar button.active{color:#22c55e;font-weight:900}.tag{display:inline-block;background:#12324a;color:#9be7ff;padding:4px 8px;border-radius:999px;font-size:12px}.map{height:260px;border-radius:18px;background:radial-gradient(circle at 35% 35%,#1e90ff55,#0a1c2d 55%,#06111d);border:1px solid #25475f;position:relative;overflow:hidden}.map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}.mapText{position:absolute;left:14px;top:14px;background:rgba(2,6,23,.7);padding:10px;border-radius:14px}.pin{position:absolute;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2px solid white}.listItem{background:#0a1c2d;border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:12px;margin:8px 0}.loginWrap{min-height:100vh;background:#06111d;padding:18px}.loginCard{max-width:430px;margin:26px auto;background:#0f2236;border-radius:22px;padding:20px}.pillRow{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:8px 10px;border-radius:999px;background:#10283b;color:#cde7f7}.warn{color:#facc15}.ok{color:#86efac}pre{white-space:pre-wrap;background:#020617;color:#fecaca;border-radius:12px;padding:10px;overflow:auto}
.modalOverlay{position:fixed;inset:0;background:rgba(2,6,23,.94);z-index:99999;overflow:auto;padding:18px}
.modalCard{max-width:460px;margin:22px auto;background:#0f2236;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.45)}

.formLabel{display:block;margin:10px 0 4px;color:#9fb3c8;font-size:13px;font-weight:700}.formHint{color:#6f8da5;font-size:12px;margin:-2px 0 6px}

.scoreBig{font-size:42px;font-weight:900;line-height:1}.scoreGood{color:#86efac}.scoreMid{color:#facc15}.scoreBad{color:#fca5a5}
.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric{background:#071827;border:1px solid #244156;border-radius:14px;padding:9px;text-align:center}.metric b{font-size:18px}.battlePlan{background:linear-gradient(135deg,#12324a,#064e3b);border:1px solid rgba(134,239,172,.25);border-radius:18px;padding:14px;margin:10px 0}
.rankNo{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#22c55e;color:#052e16;font-weight:900;margin-right:6px}

.amapReal{height:320px;border-radius:18px;overflow:hidden;border:1px solid #25475f;background:#071827}
.mapStatus{padding:8px 10px;border-radius:12px;background:#071827;border:1px solid #244156;margin-top:8px;color:#9fb3c8;font-size:12px}

.btnLoading{opacity:.65;pointer-events:none;filter:grayscale(.2)}
.moreFishBox{margin-top:8px}.navHint{font-size:12px;color:#9fb3c8;margin-top:6px}

.pickStatus{padding:10px 12px;border-radius:14px;background:#052e1a;border:1px solid rgba(34,197,94,.35);margin-top:8px;color:#bbf7d0;font-size:13px}

.fishCardGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.fishCard{background:#071827;border:1px solid #244156;border-radius:16px;padding:10px;text-align:center;cursor:pointer;min-height:88px}
.fishCard.active{border-color:#22c55e;box-shadow:0 0 0 1px rgba(34,197,94,.35);background:#06281a}
.fishIcon{font-size:28px;line-height:1;margin-bottom:5px}
.fishName{font-weight:800;font-size:14px}
.fishTrait{font-size:11px;color:#9fb3c8;margin-top:3px}
@media(max-width:420px){.fishCardGrid{grid-template-columns:repeat(3,1fr)}.fishCard{padding:8px}.fishIcon{font-size:24px}}

.spotBattleBox{background:linear-gradient(135deg,#082f49,#064e3b);border:1px solid rgba(34,197,94,.28);border-radius:18px;padding:13px;margin:10px 0}
.spotBattleScore{font-size:34px;font-weight:900;line-height:1}
.nearSpotBox{border:1px solid #244156;border-radius:14px;padding:10px;margin:8px 0;background:#071827}
.quickActionRow{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}

.adminLayout{display:grid;grid-template-columns:230px 1fr;min-height:100vh;background:#020817;color:#e5f2ff}
.adminSide{padding:16px;border-right:1px solid #1f3b52;background:#04111f;position:sticky;top:0;height:100vh;overflow:auto}
.adminMain{padding:18px;max-width:1100px;width:100%;margin:0 auto}
.adminMenu{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.adminMenuBtn{border:1px solid #244156;background:#071827;color:#d8ecff;border-radius:14px;padding:11px;text-align:left;cursor:pointer;font-weight:700}
.adminMenuBtn.active{background:#0f3b2e;border-color:#22c55e;color:#bbf7d0}
@media(max-width:760px){.adminLayout{grid-template-columns:1fr}.adminSide{height:auto;position:relative}.adminMenu{display:grid;grid-template-columns:repeat(2,1fr)}}

.spotActionPanel{border:1px solid #244156;border-radius:18px;background:#071827;padding:12px;margin:10px 0}
.spotActionPanel h3{margin-top:0}

.mapTools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.pickStatus{padding:9px 10px;border-radius:12px;background:#052e2b;border:1px solid #1f766e;color:#a7f3d0;font-size:12px}.coordBadge{display:inline-block;padding:3px 7px;border-radius:999px;background:#0b3b33;color:#86efac;font-size:11px}


/* V17.14.0 钓点图片与内容资产 */
.spotImgGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.spotImg{width:100%;height:92px;object-fit:cover;border-radius:14px;border:1px solid #244156;background:#071827}
.contentMeter{height:8px;border-radius:999px;background:#071827;border:1px solid #244156;overflow:hidden;margin:6px 0}
.contentMeter span{display:block;height:100%;background:#22c55e}
@media(max-width:420px){.spotImg{height:76px}}


/* V17.15.0 用户主页 / 排行榜 / 徽章系统 */
.badgeGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0}
.badgeCard{border:1px solid #244156;border-radius:16px;padding:12px;background:#071827;min-height:116px}
.badgeCard.unlocked{border-color:#22c55e;background:linear-gradient(135deg,#052e1a,#0a1c2d)}
.badgeCard.locked{opacity:.55;filter:grayscale(.25)}
.badgeIcon{font-size:28px;margin-bottom:5px}
.badgeCard b{display:block;font-size:14px}
.badgeCard p{font-size:12px;color:#9fb3c8;line-height:1.45;margin:5px 0 0}
@media(max-width:420px){.badgeGrid{grid-template-columns:1fr 1fr}.badgeCard{padding:10px;min-height:110px}}


/* V17.16.0 举报风控闭环 */
.riskBanner{border-radius:16px;padding:12px;margin:10px 0;border:1px solid #f59e0b;background:#2a1d05;color:#fde68a}
.riskBanner p{margin:5px 0 0;line-height:1.45;font-size:12px}
.riskBanner.riskDanger{border-color:#ef4444;background:#2a0808;color:#fecaca}
.riskBanner.riskWarn{border-color:#f59e0b;background:#2a1d05;color:#fde68a}


/* V17.17.0 会员体系与商业化入口 */
.memberPrice{font-size:24px;font-weight:900;color:#86efac}
.commercialCard{background:linear-gradient(135deg,#0f2236,#052e1a);border:1px solid rgba(34,197,94,.25)}


/* V18.3.0 AI鱼种识别 */
.catchImg{width:100%;max-height:220px;object-fit:cover;border-radius:16px;border:1px solid #244156;background:#071827;margin:8px 0}
.aiResult{border:1px solid rgba(34,197,94,.35);background:linear-gradient(135deg,#052e1a,#071827);border-radius:16px;padding:12px;margin:10px 0}
.aiResult b{font-size:18px}

/* V18.7.1 AI API integration retained */
.aiHero{background:linear-gradient(135deg,#082f49,#052e1a);border-color:rgba(34,197,94,.28)}
.aiStepRow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.aiStepRow span{font-size:11px;text-align:center;background:#071827;border:1px solid #244156;border-radius:999px;padding:7px 4px;color:#bbf7d0}
.aiEntry{cursor:pointer;min-height:178px;transition:.15s transform,.15s border-color}
.aiEntry:hover{transform:translateY(-2px);border-color:#22c55e}
.aiIcon{font-size:36px;margin-bottom:5px}
@media(max-width:420px){.aiStepRow{grid-template-columns:repeat(2,1fr)}.aiEntry{min-height:160px}}

/* V18.7.1 protected fish warning */
.aiResultDanger{border-color:rgba(239,68,68,.85);background:linear-gradient(135deg,#3b0710,#160b12 58%,#071827)}
.protectedAlert{background:linear-gradient(135deg,#7f1d1d,#450a0a);border:1px solid rgba(254,202,202,.55);border-radius:16px;padding:13px;margin:10px 0;color:#fff;box-shadow:0 12px 30px rgba(127,29,29,.25)}
.protectedTitle{font-size:18px;font-weight:900;margin-bottom:6px;color:#fff}
.protectedAction{display:inline-block;background:#fecaca;color:#7f1d1d;font-weight:900;border-radius:999px;padding:6px 10px;margin:5px 0 8px}
.protectedAlert p{margin:6px 0;line-height:1.55}.protectedFishAdmin{border-color:rgba(239,68,68,.8);background:linear-gradient(135deg,#3b0710,#0a1c2d)}
.dangerBadge{display:inline-block;margin-left:8px;background:#ef4444;color:#fff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}

/* V18.7.1 fish image library */
.fishImageCard{margin:10px 0;padding:10px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.fishMainImg{width:100%;max-height:220px;object-fit:cover;border-radius:14px;display:block;background:#101828}
.fishImagePlaceholder{margin:10px 0;padding:26px 12px;border-radius:16px;border:1px dashed rgba(255,255,255,.25);text-align:center;color:#aab3c5;background:rgba(255,255,255,.04)}
.fishImagePlaceholder span{font-size:12px;color:#7f8ca3}
.fishImageGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.fishThumb{border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:8px;overflow:hidden}
.fishThumb img{width:100%;height:120px;object-fit:cover;border-radius:10px;background:#101828}
.fishThumbPlaceholder{height:120px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);font-size:12px;color:#8b96aa}

/* V18.7.1 fish similarity comparison */
.similarCompareBox{background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.18)}
.similarFishGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.similarFishCard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:10px}
.similarFishCard b{display:block;margin-bottom:4px}
.similarProtected{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35)}
.dangerBadge.mini{font-size:11px;padding:2px 6px;margin-left:6px}
.wideModal{max-width:980px}
.adminCompareGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* V18.7.2 My Equipment Library */
.equipmentCard{display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:12px;margin-top:10px;background:rgba(255,255,255,.72)}
.equipThumb{width:72px;height:72px;border-radius:14px;background:linear-gradient(135deg,#e0f2fe,#f8fafc);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;color:#64748b;font-size:13px}
.equipThumb img{width:100%;height:100%;object-fit:cover}
.equipmentInfo{flex:1;min-width:0}
.equipmentInfo .grid2{margin-top:8px}

/* V18.9.2 equipment recommendation set UI */
.equipmentSetPanel .input{margin-bottom:8px}
.equipmentSetCard{border-left:4px solid rgba(34,197,94,.45)}
.miniBtn{border:0;border-radius:999px;padding:3px 8px;background:#eef2ff;color:#3730a3;font-size:12px;margin-left:6px;cursor:pointer}

/* V18.9.2 AI admin module dashboard */
.aiDashboardGrid{align-items:stretch}.aiModuleCard{width:100%;text-align:left;color:#eaf7ff;cursor:pointer}.aiModuleCard:hover{border-color:#22c55e;transform:translateY(-1px)}.activeAiModule{border-color:#22c55e;background:linear-gradient(135deg,#12324a,#0f2236)}.aiSectionHint{border-color:rgba(34,197,94,.35)}


/* V18.9.2 作战主页重构 */
.battleHeroV189{background:radial-gradient(circle at 20% 0%,rgba(34,197,94,.22),transparent 38%),linear-gradient(135deg,#082f49,#071827 58%,#052e1a);border-color:rgba(34,197,94,.28)}
.battleHeroTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.battleScoreRow{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;margin-top:10px}.battleScoreCircle{width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#071827;border:2px solid currentColor;box-shadow:0 0 28px rgba(34,197,94,.16)}.battleScoreCircle b{font-size:38px;line-height:1}.battleScoreCircle span{font-size:12px;color:#9fb3c8}.compactBattleCard{border-color:rgba(14,165,233,.25)}.decisionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.decisionGrid>div{background:#071827;border:1px solid #244156;border-radius:15px;padding:11px}.decisionGrid b{color:#86efac}.decisionGrid p{margin:6px 0 0;color:#dbeafe;line-height:1.45}.battleMetricGrid .metric{text-align:left}.battleDetails{margin-top:10px}.battleDetails>summary{cursor:pointer;color:#86efac;font-weight:800;padding:8px 0}.battleAdviceCard{background:linear-gradient(135deg,#0f2236,#092333);border-color:rgba(14,165,233,.22)}.targetFishCard{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;background:#071827;border:1px solid #244156;border-radius:15px;padding:12px;margin:8px 0}.battleMiniPanel{background:#081827;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;margin:12px 0}.battlePanelTitle{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.fishChipRow{display:flex;flex-wrap:wrap;gap:8px}.fishChip{border:1px solid #244156;background:#071827;color:#dbeafe;border-radius:999px;padding:8px 10px;font-weight:800}.fishChip.active{background:#052e1a;border-color:#22c55e;color:#bbf7d0}.riskLine{border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:9px;margin:7px 0;background:#071827;line-height:1.45}.riskLine.warn{border-color:#f59e0b;background:#2a1d05;color:#fde68a}.riskLine.danger{border-color:#ef4444;background:#2a0808;color:#fecaca}.riskLine.normal{border-color:#22c55e;background:#052e1a;color:#bbf7d0}.battleRiskWarn{border-color:rgba(245,158,11,.45)}
@media(max-width:430px){.battleScoreRow{grid-template-columns:96px 1fr}.battleScoreCircle{width:92px;height:92px}.battleScoreCircle b{font-size:30px}.decisionGrid{grid-template-columns:1fr}.targetFishCard{display:block}.battleHeroTop{display:block}}


/* V18.9.2 battle home header/region tweak */
.top{position:relative;z-index:30}.topActions{display:flex;align-items:flex-start;gap:8px;justify-content:flex-end;flex-wrap:wrap}.topChip{border:1px solid rgba(134,239,172,.35);background:#071827;color:#dbeafe;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}.topChip:hover{border-color:#22c55e;color:#bbf7d0}.userChip{appearance:none}.topRegionDrop{position:relative}.topRegionDrop>summary{list-style:none}.topRegionDrop>summary::-webkit-details-marker{display:none}.regionChip::after{content:" ▾";color:#86efac}.topRegionMenu{position:absolute;right:0;top:34px;min-width:210px;background:#071827;border:1px solid #244156;border-radius:16px;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.38);z-index:999}.compactInput{margin-top:7px;font-size:13px;padding:9px}.battleTargetSelector{border-color:rgba(34,197,94,.22);background:linear-gradient(135deg,#081827,#071827)}
@media(max-width:430px){.topActions{max-width:62%;gap:6px}.topChip{font-size:11px;padding:7px 8px}.topRegionMenu{right:-4px;min-width:190px}.top .brand{font-size:18px}}


/* V18.9.3.1 原风格实用优化：不采用锻造碳素，不加入声音 */
.battleActionBar18931{border-color:rgba(34,197,94,.22);background:linear-gradient(135deg,#0f2236,#071827)}
.battleSteps18931{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.battleSteps18931>div{background:#071827;border:1px solid #244156;border-radius:14px;padding:10px;min-height:82px}
.battleSteps18931 b{color:#86efac}.battleSteps18931 p{margin:6px 0 0;color:#dbeafe;font-size:13px;line-height:1.35}
.battleEquipFocus18931{border-color:rgba(34,197,94,.28)}
.compactTarget18931,.compactSpot18931{align-items:center}.smallBtn18931{padding:7px 10px;font-size:12px;margin:0;width:auto}
.battlePanelTitle h3{margin:0}.battlePanelTitle .tag{align-self:center}
@media(max-width:430px){.battleSteps18931{grid-template-columns:1fr}.compactTarget18931,.compactSpot18931{display:block}.smallBtn18931{margin-top:6px}}
/* V18.9.5 My Equipment Library edit enhancement */
.commonEquipCard{border-color:#2f8f6a;background:linear-gradient(180deg,rgba(31,61,49,.18),rgba(15,23,20,.08))}
.equipmentCard .grid2{gap:8px}
.modalCard label{display:block;margin:8px 0}


/* V18.12.9-clean 手机端UI紧凑优化版 */
.equipmentCard{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,250,252,.72));box-shadow:0 10px 26px rgba(15,23,42,.06)}
.equipThumb{width:86px;height:86px;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#ecfeff);box-shadow:inset 0 0 0 1px rgba(14,165,233,.12)}
.equipThumbLarge{width:180px;height:140px;border-radius:20px;margin:8px 0}
.equipThumbEmpty span{font-weight:900;color:#0f766e;font-size:18px;text-align:center;padding:6px}
.equipCardTitle{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.equipBrandLine{font-weight:700;color:#334155}
.equipProgress{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin:7px 0}.equipProgress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#0ea5e9)}
.equipImageEditBox{display:grid;grid-template-columns:190px 1fr;gap:12px;align-items:start;background:rgba(14,165,233,.06);border:1px solid rgba(14,165,233,.14);border-radius:18px;padding:10px;margin:8px 0}
.equipPreviewWrap{display:flex;align-items:center;justify-content:center}.equipPreviewWrap .equipThumbLarge{margin:0}
@media(max-width:520px){.equipmentCard{gap:10px}.equipThumb{width:74px;height:74px}.equipImageEditBox{grid-template-columns:1fr}.equipThumbLarge{width:100%;height:170px}.equipmentInfo .grid2{grid-template-columns:1fr}}

/* V18.12.9-clean 手机端UI紧凑优化版：手机优先、触控优先、底部导航安全区 */
html{height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;overscroll-behavior-y:none}.mobileApp{width:100%;max-width:560px;padding-bottom:calc(92px + env(safe-area-inset-bottom));}.mobileTop{position:sticky;top:0;margin:-14px -14px 12px;padding:12px 14px 10px;background:linear-gradient(180deg,rgba(7,24,39,.98),rgba(7,24,39,.86));backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);z-index:80}.mobileTabbar{padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 30px rgba(0,0,0,.32)}.mobileTabbar button{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.tabIcon{font-size:18px;line-height:1}.mobileFab{position:fixed;left:50%;bottom:calc(74px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:998;border:0;border-radius:999px;background:#22c55e;color:#052e16;font-weight:900;padding:12px 18px;box-shadow:0 14px 34px rgba(34,197,94,.35)}.mobileQuickCard{border-color:rgba(34,197,94,.24);background:linear-gradient(135deg,#0f2236,#071827)}.mobileActionGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobileEquipMatch{display:flex;gap:10px;align-items:center}.mobileEquipMatch .equipThumb{width:58px;height:58px;border-radius:14px;flex:0 0 auto}.btn,.fishChip,.topChip,.tabbar button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn{min-height:44px}.input,select,textarea{font-size:16px}.modalOverlay{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.modalCard{width:min(100%,520px)}
@media(max-width:520px){body{background:#020617}.app{max-width:none;padding:12px 12px calc(96px + env(safe-area-inset-bottom));}.card{border-radius:18px;padding:13px;margin:10px 0}.brand{font-size:20px}.ver{font-size:11px}.topActions{max-width:66%}.topChip{max-width:100%;overflow:hidden;text-overflow:ellipsis}.grid2{grid-template-columns:1fr;gap:8px}.mobileActionGrid{grid-template-columns:1fr 1fr}.metricGrid{grid-template-columns:repeat(2,1fr)}.map{height:210px}.battleScoreRow{grid-template-columns:96px 1fr;gap:10px}.battleScoreCircle{width:92px;height:92px}.battleScoreCircle b{font-size:30px}.battleHeroTop{display:block}.decisionGrid{grid-template-columns:1fr}.targetFishCard{display:block}.fishChipRow{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;margin-right:-12px}.fishChip{white-space:nowrap;min-height:40px}.spotActionPanel .grid2{grid-template-columns:1fr 1fr}.spotActionPanel .btn{font-size:14px;padding:10px 8px}.equipmentCard{display:grid;grid-template-columns:88px 1fr;align-items:start;background:linear-gradient(180deg,rgba(15,34,54,.95),rgba(7,24,39,.96));color:#eaf7ff}.equipmentCard .muted,.equipmentCard .equipBrandLine{color:#b8cadb}.equipmentInfo .grid2{grid-template-columns:1fr 1fr}.equipmentInfo .btn{font-size:13px;padding:9px 6px}.equipThumb{width:82px;height:82px}.equipThumbLarge{width:100%;height:190px}.equipImageEditBox{grid-template-columns:1fr}.listItem{padding:11px}.modalOverlay{padding:10px 10px calc(98px + env(safe-area-inset-bottom))}.modalCard{margin:8px auto;border-radius:20px;padding:14px}.loginCard{margin:12px auto}.pill{font-size:12px;padding:7px 9px}.mobileFab{bottom:calc(72px + env(safe-area-inset-bottom));}.tabbar button{font-size:12px}}
@media(max-width:380px){.battleScoreRow{grid-template-columns:1fr}.battleScoreCircle{margin:auto}.equipmentCard{grid-template-columns:1fr}.equipmentCard>.equipThumb{width:100%;height:150px}.mobileActionGrid,.spotActionPanel .grid2,.equipmentInfo .grid2{grid-template-columns:1fr}.mobileFab{width:calc(100% - 80px)}}


/* V18.12.9-clean 手机端UI紧凑优化版：作战驾驶舱、字体压缩、去AI入口 */
body{font-size:13px}.compactApp{max-width:480px;background:linear-gradient(180deg,#071827,#020817 44%,#020617)}
.compactTop{margin:-12px -12px 8px;padding:8px 10px 7px;min-height:46px}.topTitleBlock{min-width:0}.compactTop .brand{font-size:18px;letter-spacing:.5px;line-height:1.15}.topSubLine{font-size:11px;color:#9fb3c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;margin-top:2px}.compactTop .topActions{gap:5px;max-width:44%}.compactTop .topChip{font-size:10px;padding:6px 7px;max-width:96px}
.compactApp .card{border-radius:15px;padding:10px;margin:8px 0;box-shadow:0 8px 22px rgba(0,0,0,.18)}.compactApp h1,.compactApp h2,.compactApp h3{margin:3px 0 7px;line-height:1.25}.compactApp h2{font-size:17px}.compactApp h3{font-size:15px}.compactApp p{margin:5px 0}.compactApp .muted{line-height:1.42}.compactApp .small{font-size:11px}.compactApp .listItem{border-radius:12px;padding:8px;margin:6px 0}.compactApp .tag{font-size:10px;padding:3px 7px}.compactApp .pill{font-size:10px;padding:5px 7px}.compactApp .btn{min-height:36px;padding:8px 9px;border-radius:11px;font-size:12px;box-shadow:none}.compactApp .input,.compactApp select,.compactApp textarea{padding:9px;border-radius:11px;margin:5px 0}.compactApp .grid2{gap:7px}.compactSection{padding:10px!important}
.homeDashboard>.battleTargetSelector{display:none}.homeDashboard .battleHeroV189{margin-top:0;background:radial-gradient(circle at 84% 10%,rgba(34,197,94,.26),transparent 35%),linear-gradient(135deg,#06263d,#071827 62%,#052e1a)}.homeDashboard .battleHeroTop h2{font-size:16px;margin:0}.homeDashboard .battleHeroTop p{display:none}.homeDashboard .battleScoreRow{grid-template-columns:82px 1fr;gap:9px;margin-top:6px}.homeDashboard .battleScoreCircle{width:78px;height:78px}.homeDashboard .battleScoreCircle b{font-size:27px}.homeDashboard .battleScoreCircle span{font-size:10px}.homeDashboard .battleScoreRow h3{font-size:15px;margin:0 0 4px}.homeDashboard .battleScoreRow p{font-size:12px;line-height:1.35}.homeDashboard .battleDetails{display:none}.homeDashboard .compactBattleCard h3{font-size:14px}.homeDashboard .decisionGrid{grid-template-columns:1fr 1fr;gap:6px}.homeDashboard .decisionGrid>div{border-radius:11px;padding:8px}.homeDashboard .decisionGrid b{font-size:12px}.homeDashboard .decisionGrid p{font-size:11px;line-height:1.25}.homeDashboard .battleEquipFocus18931 .listItem:not(.mobileEquipMatch){display:none}.homeDashboard .battleEquipFocus18931 .grid2{grid-template-columns:1fr 1fr}.homeDashboard .battleEquipFocus18931 .battlePanelTitle h3{font-size:14px}.homeDashboard .battleAdviceCard,.homeDashboard .battleRiskWarn{display:none}.homeDashboard .targetFishCard{padding:8px;border-radius:12px}.homeDashboard .targetFishCard p{font-size:11px}.homeDashboard .map{height:180px}
.homeQuickTiles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0 10px}.homeQuickTiles button{border:1px solid rgba(255,255,255,.08);background:#0a1c2d;color:#dbeafe;border-radius:14px;padding:9px 6px;text-align:left}.homeQuickTiles b{display:block;color:#86efac;font-size:13px}.homeQuickTiles span{display:block;color:#9fb3c8;font-size:10px;margin-top:3px;line-height:1.2}
.compactTabbar{max-width:480px;background:rgba(7,24,39,.98);height:58px;padding-bottom:env(safe-area-inset-bottom)}.compactTabbar button{min-height:52px;padding:5px 0 3px;font-size:10px;gap:1px}.compactTabbar .tabIcon{font-size:15px}.compactTabbar button.active{background:linear-gradient(180deg,rgba(34,197,94,.12),transparent);color:#86efac}.compactFab{bottom:calc(61px + env(safe-area-inset-bottom));padding:9px 14px;font-size:12px;box-shadow:0 8px 22px rgba(34,197,94,.24)}
.fishAtlasGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fishAtlasCard{background:#0a1c2d;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px}.fishAtlasCard b{font-size:14px;color:#eaf7ff}.fishAtlasCard p{font-size:11px;color:#9fb3c8;line-height:1.35;min-height:30px}.fishAtlasCard span{font-size:10px;color:#86efac}.atlasIntro{border-color:rgba(14,165,233,.25)}
@media(max-width:520px){.app{padding:10px 10px calc(74px + env(safe-area-inset-bottom))}.mobileApp{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.compactApp .card{padding:10px;margin:8px 0}.brand{font-size:18px}.topActions{max-width:44%}.battleScoreRow{grid-template-columns:82px 1fr}.battleScoreCircle{width:78px;height:78px}.battleScoreCircle b{font-size:27px}.decisionGrid{grid-template-columns:1fr 1fr}.metricGrid{grid-template-columns:repeat(4,1fr);gap:6px}.metric{padding:7px;border-radius:11px}.metric b{font-size:12px}.metric p{font-size:10px}.fishChipRow{gap:6px}.fishChip{min-height:32px;padding:6px 8px;font-size:11px}.mobileActionGrid{grid-template-columns:1fr 1fr}.equipmentCard{grid-template-columns:74px 1fr}.equipThumb{width:66px;height:66px}.equipThumbLarge{height:155px}.spotActionPanel .btn{font-size:12px;padding:8px 6px}.modalCard{padding:12px}.loginCard{padding:16px}}
@media(max-width:380px){.topSubLine{max-width:180px}.homeDashboard .battleScoreRow,.battleScoreRow{grid-template-columns:76px 1fr}.homeDashboard .battleScoreCircle,.battleScoreCircle{width:72px;height:72px}.homeDashboard .battleScoreCircle b,.battleScoreCircle b{font-size:25px}.homeQuickTiles{grid-template-columns:1fr 1fr 1fr}.fishAtlasGrid{grid-template-columns:1fr}.compactFab{width:auto}.decisionGrid{grid-template-columns:1fr 1fr}.metricGrid{grid-template-columns:repeat(2,1fr)}}


/* V18.12.9-clean 手机端视觉精修版：正式 APP 感、作战驾驶舱、用户中心、登录品牌化 */
:root{--lr-bg:#06111d;--lr-card:#0d2032;--lr-card2:#091b2b;--lr-line:rgba(148,191,218,.13);--lr-green:#21d36b;--lr-green-soft:rgba(33,211,107,.13);--lr-text:#eaf7ff;--lr-muted:#8faac0;--lr-blue:#74d7ff;}
body{background:var(--lr-bg);font-size:13px;-webkit-font-smoothing:antialiased}
.app.mobileApp.visualApp{max-width:520px;background:radial-gradient(circle at 20% -6%,rgba(33,211,107,.13),transparent 30%),linear-gradient(180deg,#071827 0%,#04101c 48%,#020814 100%);padding:8px 10px calc(70px + env(safe-area-inset-bottom));}
.visualTop{position:sticky;top:0;z-index:60;margin:0 -10px 8px;padding:8px 10px 7px;background:linear-gradient(180deg,rgba(6,17,29,.98),rgba(6,17,29,.86));backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,191,218,.08)}
.visualTopMain{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.visualBrand{font-size:17px;font-weight:900;letter-spacing:.3px}.visualLocation{font-size:11px;color:var(--lr-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:225px}.visualStatus{font-size:10px;color:#9be7ff;background:rgba(14,165,233,.08);border:1px solid rgba(116,215,255,.13);border-radius:999px;padding:4px 8px;white-space:nowrap}.topActions{display:none!important}
.visualApp .card{background:linear-gradient(180deg,rgba(15,34,54,.92),rgba(9,27,43,.95));border:1px solid var(--lr-line);border-radius:16px;padding:11px;margin:8px 0;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.visualApp h1,.visualApp h2,.visualApp h3{margin:3px 0 8px;line-height:1.2}.visualApp h2{font-size:17px}.visualApp h3{font-size:14px}.visualApp .muted{font-size:12px;line-height:1.45;color:var(--lr-muted)}.visualApp .small{font-size:11px}.visualApp .listItem{padding:9px;border-radius:13px;margin:6px 0;background:rgba(7,24,39,.72);border-color:rgba(148,191,218,.10)}
.visualApp .btn{min-height:34px;padding:8px 10px;border-radius:11px;font-size:12px;box-shadow:none;background:linear-gradient(180deg,#2fea78,#18b95a);color:#042915}.visualApp .btn2{background:#10283b;color:#d7ecfa;border:1px solid rgba(148,191,218,.18)}.visualApp .btnDanger{background:#7f1d1d;color:#fff;border:1px solid rgba(248,113,113,.25)}
.visualApp .input,.visualApp select,.visualApp textarea{padding:9px 10px;border-radius:11px;font-size:12px;margin:5px 0;background:#071827;border-color:rgba(148,191,218,.16)}
.commandHome{display:flex;flex-direction:column;gap:8px}.heroVisual{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 20%,rgba(33,211,107,.24),transparent 32%),linear-gradient(135deg,#0e3149 0%,#0b2439 55%,#071827 100%)!important;border-color:rgba(33,211,107,.20)!important;padding:13px!important}.heroVisual:after{content:"";position:absolute;right:-42px;top:-38px;width:130px;height:130px;border-radius:50%;border:24px solid rgba(116,215,255,.06)}.heroTopLine{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;position:relative;z-index:1}.heroKicker{font-size:11px;color:#9be7ff}.heroTitle{font-size:16px;font-weight:900;margin-top:2px}.heroBadge{font-size:10px;color:#bbf7d0;background:rgba(33,211,107,.13);border:1px solid rgba(33,211,107,.24);border-radius:999px;padding:4px 8px}.heroScoreLayout{display:grid;grid-template-columns:94px 1fr;gap:12px;align-items:center;margin-top:10px;position:relative;z-index:1}.heroScoreRing{width:90px;height:90px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--lr-green) 0 84%,rgba(255,255,255,.10) 84% 100%);position:relative;box-shadow:0 0 24px rgba(33,211,107,.20)}.heroScoreRing:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#071827}.heroScoreRing b,.heroScoreRing span{position:relative;z-index:1}.heroScoreRing b{font-size:29px;line-height:1;color:#c8ffdd}.heroScoreRing span{font-size:10px;color:#9fb3c8}.heroVerdict{font-size:18px;font-weight:900;color:#c8ffdd}.heroOneLine{font-size:12px;line-height:1.48;color:#d7ecfa;margin:6px 0}.heroMiniMeta{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.heroMiniMeta span{font-size:10px;color:#9be7ff;background:rgba(7,24,39,.75);border:1px solid rgba(116,215,255,.12);border-radius:999px;padding:4px 7px}
.visualDecision{background:linear-gradient(135deg,rgba(33,211,107,.10),rgba(14,165,233,.06))!important}.visualDecision h3{display:flex;align-items:center;gap:6px}.visualDecision h3:before{content:"⚡"}.decisionGrid.visualGrid{grid-template-columns:1fr 1fr;gap:7px}.decisionGrid.visualGrid div{background:rgba(7,24,39,.75);border:1px solid rgba(148,191,218,.10);border-radius:12px;padding:8px}.decisionGrid.visualGrid b{font-size:11px;color:#9be7ff}.decisionGrid.visualGrid p{font-size:12px;margin:4px 0 0;color:#eaf7ff;line-height:1.35}.visualMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.visualMetric{background:rgba(7,24,39,.72);border:1px solid rgba(148,191,218,.10);border-radius:12px;padding:7px;text-align:center}.visualMetric b{font-size:12px;color:#eaf7ff;display:block}.visualMetric span{font-size:10px;color:var(--lr-muted)}
.visualQuickTiles{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.visualQuickTiles button{border:1px solid rgba(148,191,218,.12);background:rgba(7,24,39,.78);border-radius:14px;color:#eaf7ff;padding:9px 4px;min-height:58px}.visualQuickTiles b{display:block;font-size:12px}.visualQuickTiles span{display:block;margin-top:3px;font-size:10px;color:#8faac0}.homeOnlyBrief{display:grid;grid-template-columns:1fr 1fr;gap:8px}.homeOnlyBrief .miniCard{background:rgba(7,24,39,.72);border:1px solid rgba(148,191,218,.10);border-radius:14px;padding:9px}.miniCard b{font-size:12px}.miniCard p{font-size:11px;margin:4px 0 0;color:#8faac0;line-height:1.35}
.visualTabbar{height:56px;padding-bottom:env(safe-area-inset-bottom);background:rgba(5,16,28,.98);border-top:1px solid rgba(148,191,218,.10);box-shadow:0 -8px 24px rgba(0,0,0,.24)}.visualTabbar button{min-height:50px;padding:4px 0 2px;font-size:10px}.visualTabbar .tabIcon{font-size:14px}.visualTabbar button.active{color:#86efac;background:linear-gradient(180deg,rgba(33,211,107,.12),rgba(33,211,107,.02))}.visualFab{bottom:calc(60px + env(safe-area-inset-bottom));right:12px;left:auto;transform:none;border-radius:999px;padding:8px 12px;font-size:12px;background:linear-gradient(180deg,#2fea78,#18b95a);box-shadow:0 10px 22px rgba(33,211,107,.22)}
.visualFishList{display:flex;flex-direction:column;gap:7px}.visualFishItem{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:rgba(7,24,39,.74);border:1px solid rgba(148,191,218,.10);border-radius:14px;padding:9px}.visualFishItem b{font-size:13px}.visualFishItem p{font-size:11px;color:#8faac0;margin:3px 0 0;line-height:1.35}.visualFishItem span{font-size:10px;color:#86efac;background:rgba(33,211,107,.10);border-radius:999px;padding:4px 7px;white-space:nowrap}
.userHero{display:flex;gap:10px;align-items:center;background:linear-gradient(135deg,rgba(33,211,107,.14),rgba(14,165,233,.07))!important}.avatarCircle{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0f3b2e;border:1px solid rgba(33,211,107,.32);font-size:21px}.userHero h2{margin:0 0 4px;font-size:17px}.userStats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.userStats div{background:rgba(7,24,39,.72);border:1px solid rgba(148,191,218,.10);border-radius:12px;text-align:center;padding:7px 4px}.userStats b{display:block;font-size:13px;color:#eaf7ff}.userStats span{font-size:10px;color:#8faac0}.userMenuGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.userMenuGrid button{width:100%}
.loginWrap.visualLogin{padding:0;background:radial-gradient(circle at 50% 0%,rgba(33,211,107,.18),transparent 34%),linear-gradient(180deg,#071827,#020814);display:flex;align-items:center;justify-content:center}.loginCard.visualLoginCard{margin:0 14px;width:100%;max-width:430px;background:rgba(15,34,54,.82);border:1px solid rgba(148,191,218,.16);box-shadow:0 24px 60px rgba(0,0,0,.35);backdrop-filter:blur(10px);padding:20px 16px}.loginLogo{width:72px;height:72px;border-radius:24px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:conic-gradient(from 120deg,#21d36b,#74d7ff,#21d36b);box-shadow:0 0 30px rgba(33,211,107,.24);color:#04111f;font-size:32px}.loginTitle{text-align:center;font-size:23px;font-weight:900}.loginSubtitle{text-align:center;color:#8faac0;font-size:12px;margin:6px 0 16px}.loginTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.versionTiny{text-align:center;color:#5f7e94;font-size:10px;margin-top:10px}.loginCard.visualLoginCard .input{height:40px}.loginCard.visualLoginCard .btn{width:100%}
.aboutVersion{font-size:11px;color:#5f7e94;text-align:center;margin-top:8px}
@media(max-width:380px){.heroScoreLayout{grid-template-columns:82px 1fr}.heroScoreRing{width:78px;height:78px}.heroScoreRing b{font-size:25px}.heroVerdict{font-size:16px}.visualQuickTiles{grid-template-columns:repeat(4,1fr);gap:5px}.visualQuickTiles button{min-height:54px;padding:7px 2px}.visualMetrics{grid-template-columns:repeat(2,1fr)}.homeOnlyBrief{grid-template-columns:1fr 1fr}.visualLocation{max-width:190px}}

/* V18.12.9-clean 手机端首页精修 + 举报定位修复 */
.visualTop{padding:8px 12px 6px!important;}
.visualBrand{font-size:18px!important;letter-spacing:.5px;}
.visualLocation{font-size:11px!important;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;}
.visualStatus{font-size:11px!important;padding:5px 8px!important;border-radius:999px;background:rgba(34,197,94,.12);color:#9af7bd;border:1px solid rgba(34,197,94,.18)}
.commandHome{padding-top:8px!important;}
.homeOnlyBrief{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;}
.homeOnlyBrief .miniCard{padding:9px 10px;border-radius:14px;background:rgba(15,31,48,.82);border:1px solid rgba(255,255,255,.06)}
.homeOnlyBrief .miniCard b{font-size:12px;color:#8af5b4}.homeOnlyBrief .miniCard p{font-size:12px;margin:4px 0 0;color:#d9edf6;line-height:1.35}
.visualQuickTiles{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0;}
.visualQuickTiles button{min-height:54px;border-radius:15px;background:rgba(12,28,44,.9);border:1px solid rgba(42,245,139,.12);color:#eafff5;padding:7px 4px;}
.visualQuickTiles button b{font-size:12px;display:block}.visualQuickTiles button span{font-size:10px;opacity:.72}
.mobileLocationCard{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;padding:8px 10px;border-radius:14px;background:rgba(8,23,35,.82);border:1px solid rgba(86,211,255,.12);color:#bdd5df;font-size:11px;}
.mobileLocationCard button{border:0;border-radius:999px;background:rgba(34,197,94,.16);color:#92f6b8;padding:6px 10px;font-size:11px;}
.btnDanger{background:#b33742!important;box-shadow:none!important}.btn2{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1)!important;color:#d8edf4!important}.btn{min-height:34px!important;font-size:12px!important;}
.visualTabbar{height:58px!important;padding-bottom:env(safe-area-inset-bottom);}.visualTabbar button{font-size:10px!important}.visualTabbar .tabIcon{font-size:16px!important}
.modalCard{max-height:86vh;overflow:auto;}
.aboutVersion{font-size:11px;color:#78909d;margin-top:8px;text-align:center;}

/* V18.12.9-clean: 清理底部导航上方浮动按钮，防止找钓点/+钓点/开始出钓遮挡页面 */
.mobileFab,.compactFab,.visualFab{display:none!important;}
.visualApp{padding-bottom:calc(70px + env(safe-area-inset-bottom));}

/* V18.12.9-clean 天气精准增强版 */
.weatherPrecisionCard h3{margin:0;font-size:16px}.weatherPrecisionCard h4{margin:10px 0 6px;font-size:13px;color:#cfeee0}.weatherHeaderLine{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.smallBtn{padding:6px 10px;font-size:12px}.weatherScoreRow{display:flex;align-items:center;gap:12px;margin:10px 0}.weatherScoreBig{width:92px;height:92px;border-radius:24px;background:linear-gradient(145deg,rgba(47,255,139,.20),rgba(47,255,139,.05));border:1px solid rgba(47,255,139,.22);display:flex;flex-direction:column;align-items:center;justify-content:center}.weatherScoreBig b{font-size:34px;line-height:1;color:#39ff91}.weatherScoreBig span{font-size:11px;color:#9fb5aa}.weatherMetrics{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.weatherMetrics span{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:7px 8px;font-size:12px;color:#d8eee4}.pillLine{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.goodPill,.riskPill{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;border:1px solid rgba(255,255,255,.10)}.goodPill{background:rgba(47,255,139,.10);color:#9effc5}.riskPill{background:rgba(255,92,92,.10);color:#ffb0a8}.weatherWindowStrip,.hourlyTrendStrip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.weatherWindowStrip>div{min-width:72px;border-radius:14px;background:rgba(47,255,139,.10);border:1px solid rgba(47,255,139,.16);padding:8px 9px}.weatherWindowStrip b,.hourlyTrendStrip b{display:block;font-size:13px;color:#fff}.weatherWindowStrip span{display:block;font-size:12px;color:#39ff91;margin-top:2px}.weatherWindowStrip em{display:block;font-style:normal;font-size:10px;color:#9fb5aa;margin-top:2px}.hourlyTrendStrip>div{min-width:62px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);padding:7px 8px}.hourlyTrendStrip span{display:block;font-size:10px;color:#9fb5aa;line-height:1.35}.weatherPlanningGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.weatherPlanningGrid>div{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:9px}.weatherPlanningGrid b{font-size:12px;color:#e7fff0}.weatherPlanningGrid p{margin:4px 0 0;font-size:11px;color:#aabbb2;line-height:1.35}@media(max-width:420px){.weatherScoreBig{width:82px;height:82px;border-radius:20px}.weatherScoreBig b{font-size:30px}.weatherMetrics span{font-size:11px;padding:6px}.weatherPlanningGrid{grid-template-columns:1fr}}

/* V18.12.9-clean 我的页面精简与个人资料编辑 */
.userHeroEditable{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(34,197,94,.18);background:linear-gradient(145deg,rgba(15,38,55,.95),rgba(8,24,36,.95));}
.userHeroEditable .avatarCircle{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,#10b981,#0ea5e9);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.25);flex-shrink:0;}
.userHeroEditable .avatarCircle img{width:100%;height:100%;object-fit:cover;display:block;}
.userHeroEditable .profileMain{flex:1;min-width:0;}
.userHeroEditable h2{margin:0 0 4px;font-size:18px;line-height:1.2;}
.userHeroEditable .profileMeta{font-size:12px;color:#9fb3c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.userHeroEditable .editProfileBtn{padding:7px 10px;border-radius:12px;font-size:12px;background:rgba(15,23,42,.75);border:1px solid rgba(148,163,184,.25);color:#dbeafe;}
.userStats.cleanStats{grid-template-columns:repeat(4,1fr);margin:8px 0 10px;gap:8px;}
.userStats.cleanStats div{padding:8px 4px;border-radius:14px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.14);}
.userStats.cleanStats b{font-size:16px;}
.cleanMeTools{padding:12px;}
.cleanMeTools h3{font-size:15px;margin:0 0 10px;}
.userMenuGrid.cleanGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.userMenuGrid.cleanGrid button{min-height:38px;font-size:13px;border-radius:13px;}
.assetAccordion{padding:0;overflow:hidden;}
.assetAccordionHead{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;background:rgba(15,23,42,.35);border:0;color:#e5f7ff;text-align:left;}
.assetAccordionHead b{font-size:15px;}
.assetAccordionHead span{font-size:12px;color:#94a3b8;}
.assetAccordionHead .chev{font-size:18px;color:#22c55e;}
.assetAccordionBody{padding:0 14px 14px;}
.assetMiniSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;}
.assetMiniSummary div{border:1px solid rgba(148,163,184,.14);border-radius:14px;background:rgba(2,6,23,.28);padding:8px;text-align:center;}
.assetMiniSummary b{display:block;font-size:16px;color:#f8fafc;}
.assetMiniSummary span{font-size:11px;color:#94a3b8;}
.profileEditForm .input{margin-bottom:8px;}
.profileEditAvatarPreview{width:68px;height:68px;border-radius:22px;overflow:hidden;background:#0f766e;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 10px;}
.profileEditAvatarPreview img{width:100%;height:100%;object-fit:cover;}
.aboutVersion.cleanVersion{font-size:11px;text-align:center;color:#64748b;margin-top:10px;}
.meSettingsCard{padding:12px;}
.meSettingsCard .btn{margin-top:6px;}


/* V18.12.9-clean 首页目标鱼快捷选择 */
.homeFishSelectBtn{width:100%;border:1px solid rgba(46,230,126,.35);background:rgba(46,230,126,.08);border-radius:14px;padding:8px 10px;color:#eafff2;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;margin-bottom:8px;box-shadow:none}
.homeFishSelectBtn span{font-size:11px;color:#8fd9ad;grid-column:1/2}
.homeFishSelectBtn b{font-size:15px;line-height:1.25;grid-column:1/2;white-space:normal}
.homeFishSelectBtn em{grid-row:1/3;grid-column:2/3;font-style:normal;font-size:11px;color:#06190d;background:var(--lr-green);border-radius:999px;padding:5px 8px;align-self:center}
.homeFishPicker .fishPickerGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.homeFishPicker .fishChip{min-height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#dfffea;font-size:12px;padding:6px 7px;display:flex;align-items:center;justify-content:center;gap:4px}
.homeFishPicker .fishChip.active{background:linear-gradient(180deg,#28e676,#12b857);color:#06200f;border-color:rgba(46,230,126,.8);font-weight:800}
.homeOnlyBrief .miniCard[onclick]{cursor:pointer;border-color:rgba(46,230,126,.25)}

/* V18.12.9-clean：首页鱼种选择弹窗两列展示，一屏可看完整 */
.homeFishPicker{max-width:320px}.homeFishPicker h2{font-size:17px;margin:0 0 8px}.weatherHeaderLine h3{line-height:1.25}


/* V18.12.9-clean 多机型响应式适配增强版
   目标：覆盖小屏手机、主流手机、大屏手机、折叠屏/平板、横屏地图场景。
   原则：手机优先、内容最大宽度受控、底部安全区、弹窗不出框、地图场景优先。 */
:root{
  --lr-page-max:520px;
  --lr-fold-max:980px;
  --lr-card-pad:11px;
  --lr-card-gap:8px;
  --lr-title-size:17px;
  --lr-subtitle-size:14px;
  --lr-body-size:12px;
  --lr-small-size:11px;
  --lr-nav-height:56px;
  --lr-safe-bottom:env(safe-area-inset-bottom,0px);
}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
.app.visualApp,.app.mobileApp{width:100%;max-width:var(--lr-page-max);margin-left:auto;margin-right:auto;}
.visualApp .card,.mobileApp .card{padding:var(--lr-card-pad);margin:var(--lr-card-gap) 0;}
.visualApp h2{font-size:var(--lr-title-size)}
.visualApp h3{font-size:var(--lr-subtitle-size)}
.visualApp .muted,.visualApp p{font-size:var(--lr-body-size)}
.visualApp .small{font-size:var(--lr-small-size)}
.tabbar.visualTabbar,.tabbar.mobileTabbar{height:calc(var(--lr-nav-height) + var(--lr-safe-bottom));padding-bottom:var(--lr-safe-bottom);}
.tabbar.visualTabbar button,.tabbar.mobileTabbar button{min-height:var(--lr-nav-height);}
.modalOverlay{padding-left:10px;padding-right:10px;align-items:flex-end;}
.modalCard{max-width:480px;width:100%;max-height:calc(100vh - 96px - var(--lr-safe-bottom));overflow:auto;}
.fishSelectGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.fishSelectGrid .fishChip,.targetFishSelectGrid .fishChip{white-space:normal;text-align:center;}

/* 小屏手机：320-374px，重点防止文字挤压、按钮换行、底部遮挡 */
@media (max-width:374px){
  :root{--lr-card-pad:9px;--lr-card-gap:7px;--lr-title-size:15px;--lr-subtitle-size:13px;--lr-body-size:11px;--lr-small-size:10px;--lr-nav-height:52px;}
  .app.visualApp,.app.mobileApp{padding-left:8px!important;padding-right:8px!important;padding-bottom:calc(62px + var(--lr-safe-bottom))!important;}
  .visualTop{padding:7px 8px 6px!important;margin-left:-8px!important;margin-right:-8px!important;}
  .visualBrand{font-size:16px!important}.visualLocation{max-width:170px!important;font-size:10px!important}.visualStatus{font-size:10px!important;padding:4px 6px!important}
  .heroScoreLayout{grid-template-columns:74px 1fr!important;gap:8px!important}.heroScoreRing{width:72px!important;height:72px!important}.heroScoreRing b{font-size:23px!important}.heroVerdict{font-size:15px!important}.heroOneLine{font-size:11px!important;line-height:1.42!important}
  .visualMetrics{grid-template-columns:repeat(2,1fr)!important}.visualQuickTiles{grid-template-columns:repeat(4,1fr)!important;gap:4px!important}.visualQuickTiles button{min-height:48px!important;padding:6px 2px!important}.visualQuickTiles b{font-size:10px!important}.visualQuickTiles span{display:none!important}
  .decisionGrid.visualGrid,.homeOnlyBrief,.grid2{grid-template-columns:1fr!important}
  .map{height:185px!important}.tabIcon{font-size:13px!important}.visualTabbar button{font-size:9px!important}
  .btn{min-height:32px!important;padding:7px 8px!important;font-size:11px!important}.input,select,textarea{font-size:14px!important;padding:8px!important}
  .userStats{grid-template-columns:repeat(2,1fr)!important}.userMenuGrid{grid-template-columns:1fr 1fr!important;gap:6px!important}
}

/* 主流手机：375-430px，保持当前视觉，但统一安全区与卡片节奏 */
@media (min-width:375px) and (max-width:430px){
  :root{--lr-page-max:430px;--lr-card-pad:10px;--lr-card-gap:8px;--lr-nav-height:54px;}
  .app.visualApp,.app.mobileApp{padding-left:10px!important;padding-right:10px!important;padding-bottom:calc(64px + var(--lr-safe-bottom))!important;}
  .map{height:210px!important;}
  .heroScoreLayout{grid-template-columns:86px 1fr!important}.heroScoreRing{width:84px!important;height:84px!important}.heroScoreRing b{font-size:27px!important}
}

/* 大屏手机：431-560px，内容居中、不无限拉宽，避免卡片过大 */
@media (min-width:431px) and (max-width:560px){
  :root{--lr-page-max:460px;--lr-card-pad:12px;--lr-card-gap:9px;--lr-nav-height:56px;}
  .app.visualApp,.app.mobileApp{max-width:460px!important;padding-left:12px!important;padding-right:12px!important;}
  .visualTop{max-width:460px;margin-left:auto!important;margin-right:auto!important;left:0;right:0;}
  .tabbar.visualTabbar,.tabbar.mobileTabbar{max-width:460px!important;}
  .map{height:240px!important;}
}

/* 折叠屏/平板展开态：600px+ 启用双栏，地图页左图右列表，弹窗居中 */
@media (min-width:600px){
  :root{--lr-page-max:960px;--lr-card-pad:13px;--lr-card-gap:10px;--lr-title-size:18px;--lr-nav-height:58px;}
  body{background:#020814!important;}
  .app.visualApp,.app.mobileApp{max-width:var(--lr-fold-max)!important;padding:14px 18px calc(78px + var(--lr-safe-bottom))!important;}
  .visualTop{max-width:var(--lr-fold-max);margin-left:auto!important;margin-right:auto!important;border-radius:0 0 18px 18px;}
  .tabbar.visualTabbar,.tabbar.mobileTabbar{max-width:var(--lr-fold-max)!important;border-radius:18px 18px 0 0;left:50%;}
  .commandHome{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:12px;align-items:start;}
  .commandHome>.heroVisual{grid-row:span 2;}
  .commandHome>.visualDecision,.commandHome>.weatherPrecisionCard{grid-column:auto;}
  .homeOnlyBrief,.visualQuickTiles{grid-column:1 / -1;}
  .visualMetrics{grid-template-columns:repeat(4,1fr)!important;}
  .decisionGrid.visualGrid{grid-template-columns:1fr 1fr!important;}
  .spotPageResponsive,.spotsResponsive,.spotMainGrid{display:grid!important;grid-template-columns:minmax(360px,1.25fr) minmax(280px,.75fr);gap:12px;align-items:start;}
  .spotPageResponsive .map,.spotsResponsive .map,.spotMainGrid .map{height:520px!important;position:sticky;top:72px;}
  .map{height:420px!important;}
  .modalOverlay{align-items:center!important;padding-bottom:20px!important}.modalCard{border-radius:22px;max-width:500px;max-height:min(720px,calc(100vh - 48px));}
  .loginCard.visualLoginCard{max-width:460px;}
}

/* 折叠屏/平板超宽：内容限制，避免像后台大屏铺满 */
@media (min-width:900px){
  :root{--lr-fold-max:1040px;}
  .visualQuickTiles{grid-template-columns:repeat(4,1fr)!important;}
}

/* 横屏：地图优先，顶部和底部变薄，非核心模块更紧凑 */
@media (orientation:landscape) and (max-height:520px){
  :root{--lr-nav-height:44px;--lr-card-pad:8px;--lr-card-gap:6px;--lr-title-size:15px;}
  .app.visualApp,.app.mobileApp{padding-top:6px!important;padding-bottom:calc(50px + var(--lr-safe-bottom))!important;}
  .visualTop{position:sticky;padding:5px 10px!important;margin-bottom:6px!important}.visualLocation{display:none!important}.visualStatus{font-size:10px!important;padding:3px 7px!important}
  .tabbar.visualTabbar button,.tabbar.mobileTabbar button{min-height:44px!important}.tabIcon{font-size:13px!important}.tabbar button{font-size:9px!important}
  .map{height:calc(100vh - 116px)!important;min-height:220px;}
  .heroScoreLayout{grid-template-columns:70px 1fr!important}.heroScoreRing{width:68px!important;height:68px!important}.heroScoreRing b{font-size:22px!important}.heroOneLine{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .visualQuickTiles button{min-height:42px!important}.visualQuickTiles span{display:none!important}
}

/* Android/微信浏览器字体缩放兜底：避免不同手机把文字放大后撑破 */
.visualApp *,.mobileApp *{word-break:break-word;}
.visualApp button,.mobileApp button{max-width:100%;}
.visualApp img,.mobileApp img{max-width:100%;height:auto;}

/* V19.0.0-clean AI识别预留入口：灰色即将开放 */
.aiReservedPanel{border-color:rgba(148,163,184,.18)!important;background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(15,23,42,.78))!important}
.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.sectionHead h3{margin:0 0 4px 0}
.soonPill,.comingSoonBadge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.35);background:rgba(148,163,184,.12);color:#cbd5e1;border-radius:999px;padding:4px 9px;font-size:12px;white-space:nowrap}
.aiReservedGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.aiReservedCard{min-height:92px;border:1px dashed rgba(148,163,184,.38);background:rgba(30,41,59,.58);color:#cbd5e1;border-radius:16px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;filter:grayscale(.55);opacity:.82}
.aiReservedCard b{font-size:14px;color:#e5e7eb}
.aiReservedCard em{font-size:12px;color:#94a3b8;font-style:normal}
.aiReservedIcon{font-size:24px;opacity:.78}
.aiComingSoonModal .comingSoonBadge{width:max-content;margin-bottom:8px}
@media (max-width:360px){.aiReservedCard{min-height:82px;border-radius:14px}.aiReservedCard b{font-size:13px}.aiReservedIcon{font-size:22px}}

/* V18.13.1 AI图鉴入口修复：让识别鱼种/识别装备在图鉴页顶部强制显眼显示 */
.aiReservedPanel{display:block!important;margin:10px 0 12px!important;border:1px solid rgba(34,197,94,.26)!important;background:linear-gradient(180deg,rgba(11,27,24,.96),rgba(15,23,42,.88))!important}
.aiReservedPanel .sectionHead h3{font-size:16px!important;margin:0 0 2px!important}
.aiReservedGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.aiReservedCard{position:relative!important;min-height:96px!important;border:1px dashed rgba(148,163,184,.46)!important;background:rgba(30,41,59,.7)!important;color:#e5e7eb!important;border-radius:16px!important;padding:12px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;opacity:.9!important;filter:grayscale(.25)!important}
.aiReservedCard b{font-size:14px!important;color:#f8fafc!important}.aiReservedCard em{font-size:12px!important;color:#a7f3d0!important;font-style:normal!important}.aiReservedIcon{font-size:25px!important}.soonPill{background:rgba(148,163,184,.18);border:1px solid rgba(148,163,184,.28);color:#cbd5e1;border-radius:999px;padding:4px 8px;font-size:11px}

/* V19.1.0 钓点评价与评论 */
.ratingPill{background:rgba(255,193,7,.12);border-color:rgba(255,193,7,.35);color:#ffd36a}
.ratingSummary{display:flex;align-items:center;gap:10px;margin:8px 0 10px 0;flex-wrap:wrap}
.ratingScore{font-size:20px;font-weight:800;color:#ffd36a}
.ratingStarsInput{display:flex;align-items:center;gap:4px;margin:8px 0}
.starBtn{border:0;background:rgba(255,255,255,.08);color:#6b7280;border-radius:10px;width:38px;height:34px;font-size:20px;line-height:1;cursor:pointer}
.starBtn.active{color:#ffd36a;background:rgba(255,193,7,.14)}
.ratingStars{color:#ffd36a;margin-left:8px;letter-spacing:1px}
.ratingForm{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;margin:10px 0}
.commentItem{border-top:1px solid rgba(255,255,255,.08);padding:10px 0}
.commentItem:first-child{border-top:0}
.ratingComments{margin-top:8px}
@media(max-width:374px){.starBtn{width:32px;height:30px;font-size:18px}.ratingScore{font-size:18px}}

/* V19.3.0-clean 好友关系基础版 */
.friendsEntryCard{border:1px solid rgba(88,166,255,.18)}
.friendsModal{max-width:520px;width:min(94vw,520px);max-height:86vh;overflow:auto}
.friendStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.friendStats>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;text-align:center}
.friendStats b{display:block;font-size:20px;color:#e8fff4}.friendStats span{font-size:12px;color:#9ca3af}
.friendSearchBar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:8px 0 10px}
.friendList{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}
.friendList.compact{gap:6px}.friendRow{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:9px}
.friendAvatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#103b2b,#132331);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:20px}
.friendAvatar img{width:100%;height:100%;object-fit:cover}.friendInfo b{display:block;font-size:14px}.friendInfo span{display:block;color:#9ca3af;font-size:11px}.friendInfo p{margin:3px 0 0;color:#9ca3af;font-size:11px;line-height:1.35}.friendActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.smallBtn{padding:7px 9px;font-size:12px;border-radius:10px}.tagPill{font-size:11px;color:#8af0bf;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.24);border-radius:999px;padding:5px 8px;white-space:nowrap}.searchResults{margin-top:6px}
@media(max-width:374px){.friendSearchBar{grid-template-columns:1fr}.friendRow{grid-template-columns:36px 1fr}.friendActions{grid-column:1 / -1;justify-content:flex-start}.friendAvatar{width:36px;height:36px}.friendsModal{width:96vw}}

/* V19.3.0-clean 钓友互动增强版 */
.interactionModal .grid2{gap:8px;margin:8px 0 10px}
.interactionStats{margin:8px 0 10px}
.notifyList{display:flex;flex-direction:column;gap:8px}
.notifyRow{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:14px;padding:10px}
.notifyRow.unread{border-color:rgba(64,220,137,.45);background:rgba(64,220,137,.08)}
.notifyRow b{font-size:14px}.notifyRow p{margin:3px 0;color:#dbe8df;font-size:12px;line-height:1.45}.notifyRow span{font-size:11px;color:#8fa39a}
.friendsModal .friendActions{display:flex;flex-direction:column;gap:5px;min-width:72px}
.friendsModal .friendActions .smallBtn{padding:6px 7px;font-size:11px;border-radius:10px;white-space:nowrap}
@media (max-width:374px){.friendsModal .friendRow{gap:6px}.friendsModal .friendActions .smallBtn{font-size:10px;padding:5px 6px}.notifyRow{padding:8px}}


/* V19.4.3-clean LOGO 替换版 */
.loginLogoImageWrap{width:104px;height:104px;border-radius:28px;padding:8px;background:rgba(7,24,39,.24);box-shadow:0 10px 26px rgba(14,165,233,.18);overflow:hidden}
.loginLogoImage{width:100%;height:100%;object-fit:contain;display:block;border-radius:22px}
.visualBrandWrap{display:flex;align-items:center;gap:10px;min-width:0}
.visualBrandLogo{width:42px;height:42px;object-fit:contain;border-radius:12px;display:block;box-shadow:0 8px 18px rgba(14,165,233,.18);background:rgba(255,255,255,.04)}
@media(max-width:420px){.visualBrandLogo{width:36px;height:36px;border-radius:10px}.loginLogoImageWrap{width:92px;height:92px}}


/* V19.4.3-clean 用户注册登录增强版 */
.enhancedLoginCard{max-width:460px}.loginTabs4{grid-template-columns:repeat(4,1fr);gap:6px}.loginTabs4 .btn{font-size:11px;padding:8px 4px;min-height:36px}.loginAgree{display:flex;align-items:center;gap:7px;color:#9fb3c8;font-size:12px;line-height:1.4;margin:8px 0 10px}.loginCodeRow{display:grid;grid-template-columns:1fr 110px;gap:8px;align-items:center}.loginCodeRow .btn{height:40px;min-height:40px;padding:8px 6px}.wechatLoginBox{background:rgba(14,165,233,.08);border:1px solid rgba(116,215,255,.16);border-radius:16px;padding:12px;margin:8px 0 12px;text-align:center}.wechatLoginBox b{color:#dff8ff}.wechatLoginBox p{margin:6px 0 0}
@media(max-width:380px){.loginTabs4{grid-template-columns:repeat(2,1fr)}.loginCodeRow{grid-template-columns:1fr}.loginCodeRow .btn{width:100%}}
