*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","SF Pro Text",sans-serif;background:#1a1a1a;display:flex;justify-content:center;align-items:center;min-height:100vh;color:#111}
.phone{width:393px;height:852px;background:#fff;border-radius:44px;overflow:hidden;position:relative;box-shadow:0 0 0 11px #0a0a0a,0 25px 70px rgba(0,0,0,.55)}
.status{height:54px;padding:14px 28px 0;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;position:relative;z-index:50;color:#111}
.status .t{width:54px}
.status .island{width:126px;height:37px;background:#000;border-radius:20px;position:absolute;left:50%;transform:translateX(-50%);top:11px}
.status .r{display:flex;gap:5px;align-items:center;font-size:12px;font-weight:500}
.home-bar{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:134px;height:5px;background:#000;border-radius:3px;z-index:60;opacity:.3}
.tabbar{position:absolute;bottom:0;left:0;right:0;height:84px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-top:.5px solid rgba(0,0,0,.08);display:flex;padding:6px 0 28px;z-index:40}
.tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#8e8e93}
.tabbar .tab.on{color:#ff2d70}
.tabbar .ic{width:26px;height:26px;position:relative}
.badge{position:absolute;top:-5px;right:-9px;background:#ff3b30;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;font-weight:600;line-height:1}
.new-tag{display:inline-flex;align-items:center;justify-content:center;background:#ff3b30;color:#fff;font-size:10px;width:16px;height:16px;border-radius:8px;margin-left:6px;font-weight:600;vertical-align:middle;letter-spacing:0}
.toggle{width:51px;height:31px;border-radius:16px;background:#e5e5ea;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}
.toggle.on{background:#007aff}
.toggle::after{content:'';position:absolute;width:27px;height:27px;border-radius:50%;background:#fff;top:2px;left:2px;box-shadow:0 2px 4px rgba(0,0,0,.18);transition:left .2s}
.toggle.on::after{left:22px}
.chev{color:#c7c7cc;font-size:20px;font-weight:300;line-height:1}
.mask{position:absolute;inset:0;background:rgba(0,0,0,.48);z-index:70;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:#fff;border-radius:20px 20px 0 0;width:100%;padding:12px 20px 36px;max-height:92%;overflow-y:auto}
.sheet .grab{width:36px;height:5px;background:#e5e5ea;border-radius:3px;margin:0 auto 16px}
.btn{height:48px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;border:none;cursor:pointer;width:100%}
.btn-pink{background:linear-gradient(90deg,#ff3d7f,#ff2d70);color:#fff}
.btn-ghost{background:#f2f2f7;color:#333;margin-top:10px}
.btn-green{background:#07c160;color:#fff}
/* 勾选 */
.cb{appearance:none;width:20px;height:20px;border:1.5px solid #c7c7cc;border-radius:5px;background:#fff;cursor:pointer;flex-shrink:0;position:relative;margin-top:1px}
.cb:checked{background:#ff2d70;border-color:#ff2d70}
.cb:checked::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.cb-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;cursor:pointer;font-size:14px;color:#333;line-height:1.4}
.cb-row+.cb-row{border-top:.5px solid #f0f0f0}
.cb-row .meta{font-size:12px;color:#8e8e93;margin-top:2px}
.divider{height:.5px;background:#f0f0f0;margin:0}
