/* 城市匹克之夜 CITY PICKLE NIGHT — UBAI 技术支持
   移动端优先。兼容：无 CSS 变量 / Grid；flex 带 -webkit 前缀；动画可降级。
   色板：墨黑 #0a0a0a ／ 电光青柠 #d4ff00 ／ 霓虹品红 #ff2e88 ／ 米白 #f5f5f0 */

/* UBAI 字标：Chivo Black 900，自托管（static/fonts），不访问任何第三方。
   font-display:swap —— 字体未就绪时立即用系统粗体显示，绝不出现空白。 */
@font-face{font-family:"Chivo UBAI";src:url(fonts/chivo-black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}

*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#0a0a0a;color-scheme:dark}
body{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;background:#0a0a0a;color:#f5f5f0;font:17px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
ol,ul{list-style:none}
button,input,textarea,select{font:inherit;color:inherit;border:0;outline:0;background:none;-webkit-appearance:none;appearance:none;border-radius:0}
button{cursor:pointer}
.hide{display:none!important}
.app{position:relative;max-width:520px;margin:0 auto;min-height:100vh;background:#0a0a0a}
.has-dock .app{padding-bottom:96px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}

/* ---------- 顶栏 ---------- */
.top{position:relative;z-index:5;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:56px;padding:0 6px 0 16px;background:#0a0a0a}
.top>b{font-size:18px;font-weight:900}
.brand{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:17px;font-weight:900;letter-spacing:.04em}
.mark{position:relative;display:inline-block;width:24px;height:24px;margin-right:9px;border-radius:50%;background:#d4ff00}
.mark:before{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#0a0a0a;top:7px;left:7px;-webkit-box-shadow:6px 0 0 #0a0a0a,0 6px 0 #0a0a0a,6px 6px 0 #0a0a0a;box-shadow:6px 0 0 #0a0a0a,0 6px 0 #0a0a0a,6px 6px 0 #0a0a0a}
.mark:after{content:"";position:absolute;width:7px;height:7px;top:-3px;right:-4px;border-radius:50%;background:#ff2e88}
.icon-btn,.back,.sp{display:block;width:48px;height:48px;line-height:48px;text-align:center}
.back{font-size:40px;font-weight:300;line-height:44px}
.burger,.burger:before,.burger:after{display:inline-block;width:22px;height:3px;background:#f5f5f0;border-radius:2px;vertical-align:middle;position:relative}
.burger:before,.burger:after{content:"";position:absolute;left:0}
.burger:before{top:-7px}
.burger:after{top:7px}

/* ---------- 主视觉 ---------- */
.hero{position:relative;background:#d4ff00;color:#0a0a0a;padding:20px 16px 16px}
.pill{display:inline-block;padding:4px 12px;font-size:15px;font-weight:900;letter-spacing:.06em;background:#0a0a0a;color:#d4ff00;border-radius:3px}
.pill.ph-full{background:#ff2e88;color:#fff}
.pill.ph-closed,.pill.ph-ended{background:#0a0a0a;color:#8c8c86}
.hero h1{font-size:34px;line-height:1.12;font-weight:900;margin:12px 0 10px;padding-right:92px;word-wrap:break-word}
.sticker{position:absolute;right:14px;top:18px;width:82px;padding:10px 0 8px;text-align:center;background:#ff2e88;color:#fff;-webkit-transform:rotate(6deg);transform:rotate(6deg);-webkit-box-shadow:4px 4px 0 #0a0a0a;box-shadow:4px 4px 0 #0a0a0a}
.sticker b{display:block;font-size:24px;line-height:1;font-weight:900;letter-spacing:-.02em}
.sticker span{display:block;margin-top:4px;font-size:12px;font-weight:900;letter-spacing:.24em}
.where{display:block;padding:4px 0 2px}
.where b{display:block;font-size:22px;line-height:1.3;font-weight:900}
.where span{display:inline-block;margin-top:6px;font-size:15px;font-weight:900;border-bottom:3px solid #0a0a0a}

/* 巨型计数：最重要区域 */
.score{margin:18px -4px 0;padding:16px 18px 14px;background:#0a0a0a;color:#f5f5f0;border-radius:6px}
.live{font-size:13px;font-weight:900;letter-spacing:.2em;color:#d4ff00}
.live i{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:#d4ff00;vertical-align:0;-webkit-animation:pulse 1.6s infinite;animation:pulse 1.6s infinite}
.live.off{color:#555}
.live.off i{background:#555;-webkit-animation:none;animation:none}
.count{line-height:.9;white-space:nowrap;margin:4px 0 12px}
.count b{display:inline-block;font-size:120px;font-weight:900;font-style:italic;letter-spacing:-.06em;color:#d4ff00;font-family:"Helvetica Neue",Arial,sans-serif}
.count span{font-size:44px;font-weight:900;font-style:italic;color:#444;margin-left:6px;font-family:"Helvetica Neue",Arial,sans-serif}
.count b.bump{-webkit-animation:bump .5s;animation:bump .5s}
.bar-track{height:10px;background:#262626;overflow:hidden;border-radius:5px}
.bar-track i{display:block;height:100%;width:0;background:#d4ff00;border-radius:5px;-webkit-transition:width .5s;transition:width .5s}
.bar-track i.full{background:#ff2e88}
.score-row{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end}
.left{margin:0 0 18px 10px;font-size:24px;line-height:1.2;font-weight:900;text-align:right;white-space:nowrap}
.left em{font-size:40px;font-style:italic}
.left em{color:#d4ff00}
.left em.p{color:#ff2e88}
.ticker{display:block;margin-top:10px;padding-top:10px;border-top:1px solid #222;font-size:15px;color:#8c8c86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticker b{color:#f5f5f0;font-weight:800;margin-right:4px}
.ticker:empty{display:none}
.ticker.flash{-webkit-animation:flash 1s;animation:flash 1s}

/* ---------- 名单 ---------- */
.sec{padding:8px 16px 0}
.sec-h{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;margin:20px 0 4px}
.sec-h h2{font-size:26px;font-weight:900}
.sec-h em{margin-left:10px;font-size:20px;font-weight:900;font-style:italic;color:#ff2e88}
.wait-h h2{color:#ff2e88}
.roster li{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:62px;border-bottom:1px solid #1f1f1f;max-height:140px;overflow:hidden;-webkit-transition:opacity .45s,max-height .45s,min-height .45s,background-color 1.2s;transition:opacity .45s,max-height .45s,min-height .45s,background-color 1.2s}
.roster .n{-webkit-flex-shrink:0;flex-shrink:0;width:50px;font-size:24px;font-weight:900;font-style:italic;letter-spacing:-.04em;color:#d4ff00;font-family:"Helvetica Neue",Arial,sans-serif}
.roster.wait .n{color:#ff2e88}
.roster .nm{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;font-size:21px;font-weight:700;word-break:break-all;line-height:1.3;padding:8px 0}
.tag{display:inline-block;margin-left:8px;padding:0 7px;font-size:13px;font-weight:900;line-height:22px;background:#ff2e88;color:#fff;border-radius:3px;vertical-align:3px}
.roster li.in{background-color:rgba(212,255,0,.18);-webkit-animation:slidein .5s;animation:slidein .5s}
.roster li.out{opacity:0;max-height:0;min-height:0;border-bottom-color:transparent}
.roster li.mine .nm{color:#d4ff00}
.roster .t{-webkit-flex-shrink:0;flex-shrink:0;margin-left:10px;font-size:13px;color:#4f4f4a;white-space:nowrap}
.roster .q{-webkit-flex-shrink:0;flex-shrink:0;height:36px;margin-left:10px;padding:0 12px;font-size:15px;font-weight:900;color:#ff2e88;border:2px solid #ff2e88;border-radius:6px}
.roster .q:active{background:#ff2e88;color:#fff}
.gone-h h2{color:#555}
.gone-h em{color:#555}
.roster.gone li{min-height:50px}
.roster.gone .n{width:50px}
.roster.gone .n:before{content:"";display:inline-block;width:14px;height:2px;background:#333;vertical-align:middle}
.roster.gone .nm{font-size:18px;font-weight:600;color:#7a7a74;text-decoration:line-through;-webkit-text-decoration-color:#ff2e88;text-decoration-color:#ff2e88}
.roster.gone li.in{background-color:rgba(255,46,136,.14)}
.roster .x{-webkit-flex-shrink:0;flex-shrink:0;width:52px;height:52px;font-size:28px;line-height:52px;text-align:center;color:#ff2e88}
.empty{padding:36px 0;text-align:center;font-size:20px;font-weight:900;color:#444;border:2px dashed #222;border-radius:6px;margin-top:8px}

.links{margin:28px 16px 0;border-top:1px solid #1f1f1f}
.links a,.menu a{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:62px;font-size:20px;font-weight:800;border-bottom:1px solid #1f1f1f}
.links i{font-style:normal;font-size:28px;color:#555}
.links a:active,.menu a:active{background:#1c1c1c}
.foot{padding:28px 16px 12px;text-align:center;font-size:12px;font-weight:900;letter-spacing:.3em;color:#444}
.ubai{font-family:"Chivo UBAI","Arial Black","Helvetica Neue",Arial,sans-serif;font-weight:900;letter-spacing:-.08em;font-size:17px;margin-right:.5em;color:#8c8c86;vertical-align:-1px}

/* ---------- 主题选择 ---------- */
.themes{margin:0 -5px}
.themes:after{content:"";display:table;clear:both}
.th{float:left;width:50%;padding:5px}
.th a{position:relative;display:block;height:88px;overflow:hidden;border:3px solid transparent;border-radius:10px}
.th a.on{border-color:#f5f5f0}
.th a.on:after{content:"✓";position:absolute;right:8px;top:6px;width:26px;height:26px;line-height:26px;text-align:center;font-size:15px;font-weight:900;background:#f5f5f0;color:#0a0a0a;border-radius:50%}
.th b{position:absolute;left:10px;bottom:8px;font-size:18px;font-weight:900;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55)}
.sw-neon{background:linear-gradient(135deg,#d4ff00 0,#d4ff00 52%,#0a0a0a 52%,#0a0a0a 78%,#ff2e88 78%)}
.sw-metal{background:linear-gradient(180deg,#fbfcfd 0,#c4c9cf 30%,#6b7179 34%,#1a1c20 60%,#ff5a1f 88%,#ffbf1a)}
.sw-lace{background:radial-gradient(circle at 50% 0,transparent 7px,rgba(0,0,0,.55) 8px,rgba(0,0,0,.55) 9px,transparent 10px) 0 0/18px 18px,linear-gradient(135deg,#c8102e 0,#7d0716 60%,#0c0607 60%,#0c0607 80%,#e8c46c 80%)}
.sw-song{background:linear-gradient(175deg,#cfe0da,#93b5ae 70%,#f4f1e8 70%)}
.sw-song b{color:#22302f;text-shadow:none;font-family:"Songti SC","STSong",serif;letter-spacing:.2em}
.sw-song:before{content:"";position:absolute;right:12px;bottom:12px;width:22px;height:22px;background:#b0392c;border-radius:2px}
.sw-lego{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22140%22%20viewBox%3D%220%200%20140%20140%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e0457f%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%3E%3Cg%20transform%3D%22translate%2814%2012%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3Cpath%20d%3D%22M27%2049c0-4%206-5%207-1s-5%206-7%201%22/%3E%3Cpath%20d%3D%22M62%204C68%2026%2062%2058%2038%2072%22%20stroke-dasharray%3D%220.5%204%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28126%20128%29%20rotate%28180%29%20scale%28.55%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23efe9e4%22%20fill-opacity%3D%22.1%22%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2222%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22121%22%20cy%3D%2230%22%20r%3D%221.1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22118%22%20r%3D%221.4%22/%3E%3C/g%3E%3C/svg%3E") 0 0/110px 110px,linear-gradient(135deg,#0c0a0a 0,#0c0a0a 62%,#3d0a24 62%,#3d0a24 80%,#e0457f 80%)}
.sw-oil{background:radial-gradient(ellipse at 15% 25%,#f2b705,rgba(242,183,5,0) 50%),radial-gradient(ellipse at 85% 30%,#c0392b,rgba(192,57,43,0) 55%),radial-gradient(ellipse at 40% 100%,#1f3a93,rgba(31,58,147,0) 60%),linear-gradient(135deg,#d9731c,#6f2c86)}
.sw-tower{background:url(img/canton-tower.svg) right 10px bottom 0/auto 96% no-repeat,url(img/bridal-lace.svg) 0 0/110px 110px,radial-gradient(80% 70% at 80% 100%,rgba(255,79,154,.3),rgba(13,10,8,0) 70%),#0d0a08}
.sw-tower b{color:#e7b45a;font-family:"Didot","Bodoni 72","Times New Roman",serif;font-style:italic}
.sw-shenzhen{background:url(img/pingan-tower.svg) right 16px bottom 0/auto 98% no-repeat,url(img/red-lips.svg) 0 0/130px 130px,radial-gradient(80% 70% at 80% 100%,rgba(217,40,63,.32),rgba(11,11,14,0) 70%),#0b0b0e}
.sw-shenzhen b{color:#f1f2f5}
.sw-shanghai{background:url(img/oriental-pearl.svg) right 14px bottom 0/auto 98% no-repeat,url(img/hearts.svg) 0 0/120px 120px,radial-gradient(80% 70% at 80% 100%,rgba(255,95,168,.3),rgba(12,11,19,0) 70%),#0c0b13}
.sw-shanghai b{color:#ffd6e8;font-family:"Didot","Bodoni 72","Times New Roman",serif;font-style:italic}
.sw-zhanjiang{background:url(img/zhanjiang-culture-center.svg) right -4px bottom 6px/112% auto no-repeat,url(img/sea-waves.svg) 0 0/110px 110px,radial-gradient(90% 60% at 70% 100%,rgba(79,209,217,.3),rgba(8,19,29,0) 70%),#08131d}
.sw-zhanjiang b{color:#eef6f8}
.th-reset{display:block;margin-top:12px;text-align:center;font-size:15px;font-weight:800;color:#8c8c86;padding:8px}

/* ---------- 底部操作栏 ---------- */
.dock{position:fixed;z-index:20;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#0a0a0a;background:rgba(10,10,10,.94);border-top:1px solid #1f1f1f;display:-webkit-box;display:-webkit-flex;display:flex}
.dock .btn{-webkit-box-flex:1;-webkit-flex:1;flex:1;width:auto}
.dock .btn+.btn{margin-left:10px}
.dock .btn.sq{-webkit-box-flex:0;-webkit-flex:0 0 76px;flex:0 0 76px;padding:0}

.btn{display:block;width:100%;height:56px;line-height:56px;padding:0 16px;text-align:center;font-size:20px;font-weight:900;letter-spacing:.04em;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn.big{height:64px;line-height:64px;font-size:22px}
.btn.pink{background:#ff2e88;color:#fff}
.btn.lime{background:#d4ff00;color:#0a0a0a}
.btn.ghost{background:#1a1a1a;color:#f5f5f0;line-height:60px;border:2px solid #333}
.btn.off{background:#1a1a1a;color:#555}
.btn:active{opacity:.82}
.btn[disabled]{opacity:.5}

/* ---------- 下级页面（右侧滑入） ---------- */
.page{position:fixed;z-index:30;top:0;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;background:#0a0a0a;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);-webkit-transition:-webkit-transform .28s ease-out,visibility .28s;transition:transform .28s ease-out,visibility .28s;visibility:hidden}
.page.on{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:visible}
.page .top{position:-webkit-sticky;position:sticky;top:0;border-bottom:1px solid #1a1a1a;padding:0 6px}
.page-body{padding:8px 16px 48px;padding-bottom:calc(48px + env(safe-area-inset-bottom))}
.page-title{font-size:30px;line-height:1.15;font-weight:900;margin:14px 0 18px}
.kv{padding:14px 0;border-top:1px solid #1f1f1f}
.kv span{display:block;font-size:14px;font-weight:900;color:#8c8c86;letter-spacing:.1em}
.kv b{display:block;font-size:22px;font-weight:800;line-height:1.35;word-break:break-all}
.kv[data-copy] b:after{content:"复制";display:inline-block;margin-left:10px;padding:0 8px;font-size:13px;line-height:22px;font-weight:900;color:#0a0a0a;background:#d4ff00;border-radius:3px;vertical-align:3px}
.intro{margin-top:18px;padding:18px 16px;white-space:pre-line;word-wrap:break-word;font-size:18px;line-height:1.75;background:#141414;border-left:5px solid #d4ff00;border-radius:4px}
.feed li{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:58px;border-bottom:1px solid #1a1a1a;font-size:18px}
.feed li i{-webkit-flex-shrink:0;flex-shrink:0;width:10px;height:10px;margin-right:12px;border-radius:50%;background:#d4ff00}
.feed li.k-leave i,.feed li.k-remove i{background:#555}
.feed li.k-wait i,.feed li.k-promote i{background:#ff2e88}
.feed li span{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;color:#8c8c86}
.feed li b{color:#f5f5f0;font-weight:900;margin-right:6px;word-break:break-all}
.feed li.k-leave b,.feed li.k-remove b{text-decoration:line-through;color:#666}
.feed li em{-webkit-flex-shrink:0;flex-shrink:0;margin-left:10px;font-style:normal;font-size:14px;color:#555}
.feed .none{color:#555;font-weight:800}

/* ---------- 底部弹层 ---------- */
.mask{position:fixed;z-index:40;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;-webkit-transition:opacity .25s,visibility .25s;transition:opacity .25s,visibility .25s}
.mask.on{opacity:1;visibility:visible;pointer-events:auto}
.mask,.sheet,.page{pointer-events:none}
.sheet.on,.page.on{pointer-events:auto}
.sheet{position:fixed;z-index:41;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;max-height:86%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 16px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:#141414;border-radius:16px 16px 0 0;-webkit-transform:translate3d(0,105%,0);transform:translate3d(0,105%,0);-webkit-transition:-webkit-transform .3s cubic-bezier(.2,.9,.3,1),visibility .3s;transition:transform .3s cubic-bezier(.2,.9,.3,1),visibility .3s;visibility:hidden}
.sheet.on{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:visible}
.grip{display:block;width:44px;height:5px;margin:0 auto 14px;background:#333;border-radius:3px}
.sheet h3{font-size:28px;font-weight:900;margin-bottom:14px}
.sheet input{display:block;width:100%;height:66px;padding:0 16px;font-size:24px;font-weight:700;background:#0a0a0a;border:3px solid #333;border-radius:6px}
.sheet input:focus{border-color:#d4ff00}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#4a4a46}
input::placeholder,textarea::placeholder{color:#4a4a46}
.err{min-height:26px;padding:4px 2px 6px;font-size:16px;font-weight:800;color:#ff2e88}
.fine{margin-top:12px;text-align:center;font-size:14px;color:#555}
.menu a{padding:0 4px}
.menu a:last-child{border-bottom:0}
.me-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:72px;border-bottom:1px solid #222}
.me-item .n{-webkit-flex-shrink:0;flex-shrink:0;min-width:62px;font-size:26px;font-weight:900;font-style:italic;color:#d4ff00}
.me-item .n.w{color:#ff2e88;font-size:18px;font-style:normal}
.me-item b{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;font-size:22px;font-weight:900;word-break:break-all}
.me-item button{-webkit-flex-shrink:0;flex-shrink:0;height:48px;padding:0 18px;font-size:18px;font-weight:900;color:#ff2e88;border:2px solid #ff2e88;border-radius:6px}
#s-me .btn{margin-top:16px}

/* ---------- 提示 ---------- */
.toast{position:fixed;z-index:90;left:50%;top:70px;width:86%;max-width:440px;padding:16px 18px;font-size:19px;font-weight:900;text-align:center;background:#d4ff00;color:#0a0a0a;border-radius:8px;-webkit-box-shadow:0 10px 30px rgba(0,0,0,.6);box-shadow:0 10px 30px rgba(0,0,0,.6);opacity:0;visibility:hidden;-webkit-transform:translate(-50%,-12px);transform:translate(-50%,-12px);-webkit-transition:all .3s;transition:all .3s}
.toast.show{opacity:1;visibility:visible;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}
.toast.pink{background:#ff2e88;color:#fff}
.wx-mask{position:fixed;z-index:95;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88)}
.wx-tip{position:absolute;right:22px;top:26px;padding-top:76px;text-align:right;font-size:24px;font-weight:900;line-height:1.5;color:#fff}
.wx-tip b{color:#d4ff00;letter-spacing:.1em}
.wx-arrow{position:absolute;right:12px;top:0;width:5px;height:64px;background:#d4ff00}
.wx-arrow:before{content:"";position:absolute;left:-9px;top:-8px;border:12px solid transparent;border-bottom:16px solid #d4ff00;border-top:0}

/* ---------- 首页 ---------- */
.home-hero{background:#d4ff00;color:#0a0a0a;padding:28px 16px 30px}
.mega{font-size:76px;line-height:.86;font-weight:900;font-style:italic;letter-spacing:-.05em;font-family:"Helvetica Neue",Arial,sans-serif}
.mega em{color:#ff2e88;font-style:italic}
.ev{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:92px;padding:14px 0;border-bottom:1px solid #1f1f1f}
.ev:active{background:#121212}
.ev-date{-webkit-flex-shrink:0;flex-shrink:0;width:72px;padding:8px 0;text-align:center;background:#d4ff00;color:#0a0a0a;border-radius:4px}
.ev-date b{display:block;font-size:20px;font-weight:900;line-height:1.1}
.ev-date span{display:block;font-size:11px;font-weight:900;letter-spacing:.2em}
.ev-main{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;padding:0 12px}
.ev-main h3{font-size:20px;font-weight:900;line-height:1.25;word-break:break-all}
.ev-main p{font-size:15px;color:#8c8c86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-cap{-webkit-flex-shrink:0;flex-shrink:0;text-align:right}
.ev-cap b{display:block;font-size:30px;line-height:1;font-weight:900;font-style:italic;color:#d4ff00;font-family:"Helvetica Neue",Arial,sans-serif}
.ev-cap span{font-size:13px;font-weight:800;color:#8c8c86}
.ph-full .ev-cap b{color:#ff2e88}
.ph-closed .ev-cap b,.ph-ended .ev-cap b{color:#444}

/* ---------- 后台 ---------- */
.fab{position:fixed;z-index:20;right:20px;bottom:24px;bottom:calc(24px + env(safe-area-inset-bottom));width:68px;height:68px;line-height:64px;text-align:center;font-size:44px;font-weight:300;background:#ff2e88;color:#fff;border-radius:50%;-webkit-box-shadow:0 8px 24px rgba(255,46,136,.45);box-shadow:0 8px 24px rgba(255,46,136,.45)}
.adm-head{font-size:34px;font-weight:900;font-style:italic;padding:12px 16px 4px}
.login{padding:40px 16px}
.login h1{font-size:40px;font-weight:900;font-style:italic;margin-bottom:20px;color:#d4ff00}
.seg{display:-webkit-box;display:-webkit-flex;display:flex;margin-bottom:16px;padding:4px;background:#1a1a1a;border-radius:8px}
.seg a{-webkit-box-flex:1;-webkit-flex:1;flex:1;height:48px;line-height:48px;text-align:center;font-size:18px;font-weight:900;color:#8c8c86;border-radius:6px}
.seg a.on{background:#f5f5f0;color:#0a0a0a}
.top-cta{height:38px;line-height:38px;margin-right:10px;padding:0 14px;font-size:15px;font-weight:900;background:#ff2e88;color:#fff;border-radius:19px}
.step{-webkit-animation:stepin .28s ease-out;animation:stepin .28s ease-out}
.sub{margin:-8px 0 18px;font-size:16px;color:#8c8c86}
.sub b{color:#f5f5f0;word-break:break-all}
.code-in{text-align:center;font-size:34px!important;font-weight:900!important;letter-spacing:.5em;padding-left:.5em!important;height:72px!important;font-family:"Helvetica Neue",Arial,sans-serif}
.code-in::placeholder{color:#333;letter-spacing:.5em}
.link-sub{display:block;margin-top:16px;padding:8px;text-align:center;font-size:16px;font-weight:800;color:#8c8c86}
.link-sub.off{color:#444;pointer-events:none}
.back-link{display:inline-block;margin:-8px 0 14px -4px;padding:6px 4px;font-size:17px;font-weight:800;color:#8c8c86}
@-webkit-keyframes stepin{0%{opacity:0;-webkit-transform:translateY(10px)}100%{opacity:1;-webkit-transform:none}}
@keyframes stepin{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
.who{font-size:15px;font-style:normal;font-weight:800;color:#8c8c86;margin-left:6px;letter-spacing:0}
.ev .host{color:#d4ff00}
.login input,.form input,.form textarea,.add input{display:block;width:100%;height:60px;padding:0 14px;font-size:20px;font-weight:700;background:#0a0a0a;border:3px solid #2a2a2a;border-radius:6px;margin-bottom:12px}
.form textarea{height:auto;padding:12px 14px;font-size:17px;font-weight:400;line-height:1.6}
.login input:focus,.form input:focus,.form textarea:focus,.add input:focus{border-color:#d4ff00}
.form label{display:block;margin:6px 0 6px;font-size:15px;font-weight:900;color:#8c8c86}
.form .two{display:-webkit-box;display:-webkit-flex;display:flex}
.form .two>div{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}
.form .two>div+div{margin-left:10px}
.form .switch,.switch{margin:0;color:#f5f5f0;letter-spacing:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:62px;font-size:19px;font-weight:800;border-bottom:1px solid #1f1f1f}
.form .switch input{-webkit-flex-shrink:0;flex-shrink:0;width:54px;height:32px;margin:0;padding:0;border:0;border-radius:16px;background:#333;position:relative;-webkit-transition:background .2s;transition:background .2s}
.form .switch input:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#f5f5f0;-webkit-transition:left .2s;transition:left .2s}
.form .switch input:checked{background:#d4ff00}
.form .switch input:checked:after{left:26px;background:#0a0a0a}
.save-bar{position:-webkit-sticky;position:sticky;bottom:0;padding:12px 0;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#0a0a0a;margin-top:12px}
.adm-hero{background:#d4ff00;color:#0a0a0a;padding:16px}
.adm-hero h1{font-size:28px;line-height:1.15;font-weight:900}
.adm-hero p{font-size:17px;font-weight:800;margin-top:4px}
.adm-hero .count{margin:6px 0 0}
.adm-hero .count b{color:#0a0a0a;font-size:96px}
.adm-hero .count span{color:rgba(10,10,10,.35)}
.adm-acts{display:-webkit-box;display:-webkit-flex;display:flex;padding:14px 16px 0}
.adm-acts .btn{-webkit-box-flex:1;-webkit-flex:1;flex:1;width:auto}
.adm-acts .btn+.btn{margin-left:10px}
.adm-acts .btn.sq{-webkit-box-flex:0;-webkit-flex:0 0 64px;flex:0 0 64px;padding:0;font-size:26px}
.card-tip{margin:10px 16px 0;font-size:14px;line-height:1.6;color:#8c8c86}
.card-tip b{color:#d4ff00}
.add{display:-webkit-box;display:-webkit-flex;display:flex;margin-top:14px}
.add input{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;margin:0;border-radius:6px 0 0 6px}
.add button{-webkit-flex-shrink:0;flex-shrink:0;width:84px;height:60px;font-size:19px;font-weight:900;background:#ff2e88;color:#fff;border-radius:0 6px 6px 0}
.menu a.danger{color:#ff2e88}
.menu a.lime{color:#d4ff00}

/* ---------- 动画 ---------- */
@-webkit-keyframes pulse{0%{-webkit-box-shadow:0 0 0 0 rgba(212,255,0,.7)}100%{-webkit-box-shadow:0 0 0 10px rgba(212,255,0,0)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(212,255,0,.7)}100%{box-shadow:0 0 0 10px rgba(212,255,0,0)}}
@-webkit-keyframes bump{0%{-webkit-transform:scale(1)}40%{-webkit-transform:scale(1.15)}100%{-webkit-transform:scale(1)}}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.15)}100%{transform:scale(1)}}
@-webkit-keyframes slidein{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:none}}
@keyframes slidein{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:none}}
@-webkit-keyframes flash{0%{background:rgba(212,255,0,.25)}100%{background:transparent}}
@keyframes flash{0%{background:rgba(212,255,0,.25)}100%{background:transparent}}

/* ---------- 小屏 ---------- */
@media (max-width:350px){
  body{font-size:16px}
  .hero h1{font-size:28px;padding-right:80px}
  .sticker{width:72px}
  .count b{font-size:96px}
  .where b{font-size:19px}
  .mega{font-size:60px}
}
/* ---------- 桌面：居中手机画布 ---------- */
@media (min-width:600px){
  body{background:#050505 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='2' cy='2' r='1.5' fill='%23222'/%3E%3C/svg%3E")}
  .app{-webkit-box-shadow:0 0 0 1px #1d1d1d,0 30px 80px rgba(0,0,0,.6);box-shadow:0 0 0 1px #1d1d1d,0 30px 80px rgba(0,0,0,.6)}
}
@media (prefers-reduced-motion:reduce){*{-webkit-animation:none!important;animation:none!important;-webkit-transition:none!important;transition:none!important}}

/* ---------- 站名（长版）与页脚跳转 ---------- */
.brand-sub{display:inline-block;margin-left:6px;font-size:12px;font-weight:800;letter-spacing:0;color:#8c8c86;white-space:nowrap}
.brand .ubai,.nopt .ubai,.set-prev .ubai{font-size:inherit;margin:0 .12em 0 0;color:inherit;vertical-align:baseline}
.ubai-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.ubai-link:active,.ubai-link:hover{border-bottom-color:#555}

/* ---------- 违规警告弹窗 ---------- */
.warn{position:fixed;z-index:98;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.82);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:20px}
.warn-box{width:100%;max-width:440px;padding:24px 20px 20px;background:#161616;border:2px solid #333;border-radius:12px}
.warn.legal .warn-box{border-color:#ff2e88}
.warn-box b{display:block;font-size:22px;font-weight:900;color:#f5f5f0;margin-bottom:12px}
.warn.legal .warn-box b{color:#ff2e88}
.warn-box p{font-size:16px;line-height:1.75;color:#d8d8d2;margin-bottom:20px}

/* ---------- 总后台 ---------- */
.sup-seg a{-webkit-box-flex:1;-webkit-flex:1;flex:1;height:44px;line-height:44px;text-align:center;font-size:16px;font-weight:900;color:#8c8c86;border-radius:6px}
.sup-seg a.on{background:#f5f5f0;color:#0a0a0a}
.sup-sum{margin:6px 0 10px;font-size:14px;font-weight:800;color:#8c8c86}
.sup-sum .h,.umeta .h{color:#ff2e88}
.sup-sum .m{color:#ffb020}
.vrow,.urow{margin-bottom:10px;padding:14px;background:#141414;border:1px solid #232323;border-left:5px solid #444;border-radius:6px}
.vrow.sev-high{border-left-color:#ff2e88}
.vrow.sev-mid{border-left-color:#ffb020}
.vtop,.utop{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}
.vtop .sev{font-size:16px;font-weight:900}
.sev-high .sev{color:#ff2e88}
.sev-mid .sev{color:#ffb020}
.sev-low .sev{color:#8c8c86}
.vt{font-size:13px;font-weight:800;color:#bdbdb6;font-family:Menlo,Consolas,monospace}
.vwho,.vwhat,.umeta{margin-top:4px;font-size:14px;color:#bdbdb6;word-break:break-all}
.vsnip{margin-top:8px;padding:8px 10px;font-size:14px;color:#f5f5f0;background:#0a0a0a;border-radius:4px;word-break:break-all;white-space:pre-line}
.vban,.ubtn{display:inline-block;margin-top:10px;height:36px;line-height:32px;padding:0 14px;font-size:14px;font-weight:900;color:#f5f5f0;border:2px solid #444;border-radius:6px}
.vban,.ubtn.danger{color:#ff2e88;border-color:#ff2e88}
.vbanned{display:inline-block;margin-top:10px;font-size:13px;font-weight:900;color:#ff2e88}
.utop{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}
.utop b{font-size:18px;font-weight:900}
.urow.is-banned{opacity:.75;border-left-color:#ff2e88}
.chip{display:inline-block;margin-left:8px;padding:0 7px;font-size:12px;font-weight:900;line-height:20px;background:#2a2a2a;color:#bdbdb6;border-radius:3px}
.chip.su{background:#d4ff00;color:#0a0a0a}
.chip.ban{background:#ff2e88;color:#fff}
.set-h{margin:20px 0 10px;font-size:17px;font-weight:900;color:#8c8c86}
.nopt{display:block;margin-bottom:10px;padding:16px;font-size:19px;font-weight:900;background:#141414;border:3px solid #2a2a2a;border-radius:8px}
.nopt.on{border-color:#d4ff00}
.switch-row{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin:0 0 10px;font-size:17px;font-weight:800;color:#f5f5f0;letter-spacing:0}
.switch-row input{-webkit-appearance:checkbox;appearance:checkbox;width:22px;height:22px}
.set-in{display:block;width:100%;height:52px;padding:0 12px;font-size:17px;background:#0a0a0a;border:3px solid #2a2a2a;border-radius:6px}
.set-in:focus{border-color:#d4ff00}
.set-prev{margin-top:10px;font-size:14px;color:#8c8c86;word-break:break-all}

.wx-sub{display:block;margin-top:14px;max-width:260px;margin-left:auto;font-size:14px;font-weight:600;line-height:1.6;color:#bdbdb6}
.notice-copy{display:inline-block;margin:6px 16px 0;padding:6px 0;font-size:14px;font-weight:800;color:#8c8c86;border-bottom:1px solid #333}

/* 密码显示 / 隐藏 */
.pw{position:relative}
.pw input{padding-right:52px!important}
.eye{position:absolute;right:2px;top:0;width:50px;height:60px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;color:#6b6b66}
.eye svg{display:block}
/* 查看报名页图标 */
.view-btn{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;color:#bdbdb6}
.notice-copy{margin-top:14px}

/* ---------- 通用面板：确认 / 日期 / 时间（ui.js） ---------- */
.cpn-mask{position:fixed;z-index:120;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.72);opacity:0;-webkit-transition:opacity .25s;transition:opacity .25s}
.cpn-mask.on{opacity:1}
.cpn-sheet{position:fixed;z-index:121;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;padding:12px 18px 18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));background:#161616;color:#f5f5f0;border-radius:18px 18px 0 0;-webkit-transform:translate3d(0,105%,0);transform:translate3d(0,105%,0);-webkit-transition:-webkit-transform .28s cubic-bezier(.2,.9,.3,1);transition:transform .28s cubic-bezier(.2,.9,.3,1)}
.cpn-sheet.on{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.cpn-grip{display:block;width:44px;height:5px;margin:0 auto 16px;background:#333;border-radius:3px}
.cpn-title{display:block;font-size:22px;font-weight:900;margin-bottom:8px}
.cpn-msg{font-size:16px;line-height:1.7;color:#bdbdb6;margin-bottom:18px}
.cpn-input,.cpn-text{display:block;width:100%;height:56px;padding:0 14px;margin-bottom:14px;font-size:17px;font-weight:600;color:#f5f5f0;background:#0a0a0a;border:2px solid #2a2a2a;border-radius:10px}
.cpn-input:focus{border-color:#d4ff00}
.cpn-text{height:180px;padding:12px 14px;font-weight:400;line-height:1.6;resize:none}
.cpn-btn{display:block;height:54px;line-height:54px;margin-top:10px;text-align:center;font-size:18px;font-weight:900;border-radius:10px}
.cpn-btn.primary{background:#d4ff00;color:#0a0a0a}
.cpn-btn.danger{background:#ff2e88;color:#fff}
.cpn-btn.ghost{background:#222;color:#f5f5f0}
.cpn-btn:active{opacity:.82}
.cpn-row{display:-webkit-box;display:-webkit-flex;display:flex;margin-top:6px}
.cpn-row .cpn-btn{-webkit-box-flex:1;-webkit-flex:1;flex:1}
.cpn-row .cpn-btn+.cpn-btn{margin-left:10px}
/* 月历 */
.cpn-cal-h{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:8px}
.cpn-cal-h a{width:48px;height:48px;line-height:44px;text-align:center;font-size:32px;color:#bdbdb6}
.cpn-cal-t{font-size:20px;font-weight:900}
.cpn-cal-w,.cpn-cal-g{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}
.cpn-cal-w span{width:14.2857%;text-align:center;font-size:13px;font-weight:800;color:#6b6b66;padding:4px 0}
.cpn-cal-g span,.cpn-cal-g a{width:14.2857%;height:46px;line-height:46px;text-align:center;font-size:17px;font-weight:700;border-radius:10px}
.cpn-cal-g a.today{color:#d4ff00}
.cpn-cal-g a.on{background:#d4ff00;color:#0a0a0a;font-weight:900}
/* 时间滚轮 */
.cpn-wheel{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:240px;margin:6px 0 10px}
.cpn-band{position:absolute;left:0;right:0;top:96px;height:48px;background:#222;border-radius:10px}
.cpn-col{position:relative;width:96px;height:240px;overflow-y:scroll;-webkit-overflow-scrolling:touch;padding:96px 0;scrollbar-width:none;-webkit-mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent)}
.cpn-col::-webkit-scrollbar{display:none}
.cpn-col li{height:48px;line-height:48px;text-align:center;font-size:24px;font-weight:700;color:#6b6b66;font-family:"Helvetica Neue",Arial,sans-serif}
.cpn-col li.on{font-size:30px;font-weight:900;color:#f5f5f0}
.cpn-colon{position:relative;font-size:28px;font-weight:900;margin:0 6px}

/* ---------- 页头加高 · 品牌两行 · 发起球局入口 ---------- */
.top{height:64px;padding:0 12px 0 16px}
.page .top{height:56px}
.brand{font-size:18px}
.mark{width:28px;height:28px;margin-right:10px}
.mark:before{top:9px;left:9px}
.brand-t{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;line-height:1.15}
.brand-t b{font-weight:900;letter-spacing:.04em}
.brand-sub{display:block;margin:2px 0 0;font-size:11px;font-weight:800;letter-spacing:.02em;color:#8c8c86;white-space:nowrap}
.top-cta{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:44px;padding:0 18px 0 14px;margin-right:0;font-size:17px;font-weight:900;letter-spacing:.04em;background:#ff2e88;color:#fff;border-radius:22px;-webkit-box-shadow:0 6px 18px rgba(255,46,136,.35);box-shadow:0 6px 18px rgba(255,46,136,.35)}
.top-cta b{font-size:22px;font-weight:400;margin-right:6px;line-height:1}
.top-cta:active{opacity:.85}

/* ---------- 菜单：标题 + 说明 ---------- */
.menu a{height:auto;min-height:68px;padding:10px 4px}
.menu a span{display:block;font-size:19px;font-weight:800}
.menu a small{display:block;margin-top:2px;font-size:13px;font-weight:600;color:#8c8c86;letter-spacing:0}
.menu a i{font-style:normal;font-size:26px;color:#555}

/* ---------- 底部「更多」按钮（单手可达） ---------- */
.dock .more{-webkit-box-flex:0;-webkit-flex:0 0 68px;flex:0 0 68px;padding:0;margin-right:10px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;line-height:1;background:#1c1c1c;color:#f5f5f0;border:1px solid #2e2e2e}
.dock .more svg{display:block;margin-bottom:5px}
.dock .more span{font-size:12px;font-weight:800;letter-spacing:.06em}
.dock .btn.more+.btn{margin-left:0}
/* 球局管理：常用操作平铺（替代 ··· 菜单） */
.ev-tools{display:-webkit-box;display:-webkit-flex;display:flex;margin:12px 16px 0;background:#111;border:1px solid #222;border-radius:14px;overflow:hidden}
.ev-tools a{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:block;padding:12px 2px 10px;text-align:center;color:#e8e8e2;font-size:13px;font-weight:800;line-height:1.2}
.ev-tools a+a{border-left:1px solid #1f1f1f}
.ev-tools a svg{display:block;margin:0 auto 6px;color:#d4ff00}
.ev-tools a:active{background:#1c1c1c}
.ev-tools a.danger,.ev-tools a.danger svg{color:#ff5a6e}
/* 编辑页：日期 / 时间按钮 */
.form input[type=hidden]{display:none!important}
.form .pick{display:block;height:60px;line-height:54px;padding:0 14px;margin-bottom:12px;font-size:20px;font-weight:800;color:#f5f5f0;background:#0a0a0a;border:3px solid #2a2a2a;border-radius:6px;white-space:nowrap;overflow:hidden}
.form .pick:active{border-color:#d4ff00}
.form .pick .ph{color:#555;font-weight:700}
.draft-note{margin:0 0 14px;padding:10px 12px;font-size:14px;font-weight:700;color:#d4ff00;background:rgba(212,255,0,.08);border-radius:8px}
.draft-note a{float:right;color:#8c8c86;border-bottom:1px solid #444}
/* 空列表：右下角 + 呼吸灯 */
.fab.breathe{-webkit-transform:translateZ(0);transform:translateZ(0)}
/* 呼吸光圈：独立图层，只做缩放和透明度（GPU 合成，不重绘页面，避免整页闪动） */
.fab.breathe:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;border-radius:50%;background:inherit;z-index:-1;pointer-events:none;-webkit-transform:scale(1);transform:scale(1);opacity:0;will-change:transform,opacity;-webkit-animation:fabHalo 2.4s ease-out infinite;animation:fabHalo 2.4s ease-out infinite}
@-webkit-keyframes fabHalo{0%{-webkit-transform:scale(1);opacity:.55}70%{-webkit-transform:scale(1.45);opacity:0}100%{-webkit-transform:scale(1.45);opacity:0}}
@keyframes fabHalo{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}
/* v3：顶部栏更大方 */
.top{height:76px;padding:0 14px 0 16px}
.page .top{height:58px}
.mark{width:36px;height:36px;margin-right:12px}
.mark:before{width:6px;height:6px;top:11px;left:11px;-webkit-box-shadow:8px 0 0 #0a0a0a,0 8px 0 #0a0a0a,8px 8px 0 #0a0a0a;box-shadow:8px 0 0 #0a0a0a,0 8px 0 #0a0a0a,8px 8px 0 #0a0a0a}
.mark:after{width:9px;height:9px;top:-2px;right:-3px}
.brand-t b{font-size:22px;letter-spacing:.06em;line-height:1.1}
.brand-sub{margin-top:4px;font-size:13px;font-weight:900;letter-spacing:.06em;color:inherit;opacity:.78}
.brand-sub .ubai{font-size:15px;letter-spacing:-.08em;margin-right:.3em}
/* 菜单：单行大字，好点 */
.menu a{min-height:64px;padding:0 6px}
.menu a span{font-size:20px;font-weight:800;letter-spacing:.02em}
.th-note{margin:-6px 0 14px;font-size:14px;font-weight:700;opacity:.6}
/* 组局后台：球局卡片可点进报名页 */
a.adm-hero{display:block;position:relative;color:#0a0a0a}
a.adm-hero:active{opacity:.9}
.hero-go{position:absolute;top:16px;right:16px;padding:6px 12px;font-size:14px;font-weight:900;background:rgba(0,0,0,.85);color:#d4ff00;border-radius:16px}
/* 报名开关：独立一行 + 二次确认，防误触 */
.status-row{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin:12px 16px 0;padding:14px 16px;background:#111;border:1px solid #222;border-radius:14px;color:#f5f5f0}
.status-row .st-l b{display:block;font-size:17px;font-weight:900}
.status-row .st-l em{display:block;margin-top:3px;font-style:normal;font-size:14px;font-weight:700;color:#ff5a6e}
.status-row.on .st-l em{color:#d4ff00}
.st-sw{position:relative;-webkit-flex-shrink:0;flex-shrink:0;width:58px;height:34px;border-radius:17px;background:#333;-webkit-transition:background .2s;transition:background .2s}
.st-sw:after{content:"";position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;background:#fff;-webkit-transition:-webkit-transform .2s;transition:transform .2s}
.status-row.on .st-sw{background:#d4ff00}
.status-row.on .st-sw:after{-webkit-transform:translateX(24px);transform:translateX(24px);background:#0a0a0a}
@media (max-width:389px){.brand-t b{font-size:20px;letter-spacing:.03em}.top-cta{height:42px;padding:0 14px 0 12px;font-size:16px;letter-spacing:0}.top-cta b{margin-right:4px}.mark{width:32px;height:32px;margin-right:10px}.mark:before{top:9px;left:9px}}
@media (max-width:340px){.top-cta{font-size:0;padding:0 12px}.top-cta b{font-size:24px;margin:0}}
/* 删除：放到页面最底部的克制文字链接，确认时需输入「删除」 */
.del-link{display:block;width:max-content;margin:36px auto 0;padding:10px 16px;font-size:14px;font-weight:700;color:#6a6a66;border-bottom:1px solid #2a2a2a}
.del-link:active{color:#ff5a6e}
.cpn-btn.off{opacity:.3}
/* 品牌标志：都市夜色里升起的匹克球（内联 SVG，随主题换色） */
.mark{width:44px;height:44px;margin-right:12px;background:none!important;border-radius:50%;overflow:hidden;-webkit-flex-shrink:0;flex-shrink:0}
.mark:before,.mark:after{display:none}
.mark .mk{display:block;width:100%;height:100%}
.mk-night{fill:#0a0a0a}
.mk-l{fill:#d4ff00}
.mk-win{fill:#ff2e88}
.mk-ring{fill:none;stroke:#d4ff00;stroke-width:3}
[data-theme] .mk-night{fill:var(--app)}
[data-theme] .mk-l{fill:var(--acc-t)}
[data-theme] .mk-ring{stroke:var(--acc-t)}
[data-theme] .mk-win{fill:var(--hot)}
@media (max-width:389px){.mark{width:40px;height:40px;margin-right:10px}}
/* UBAI 主视觉（已登记著作权）：报名成功面板 + UBAI 页 */
.ubai-art{position:relative;margin:0;border-radius:16px;overflow:hidden;background:transparent}
.ubai-art img{display:block;width:100%;height:auto}
.ubai-art figcaption{position:absolute;right:10px;bottom:7px;font-size:11px;font-weight:800;line-height:1;color:#fff;opacity:.28}
.ubai-art figcaption .ubai{font-size:12px;color:inherit;margin:0 0 0 .15em;vertical-align:0}
.joined-art{width:62%;max-width:240px;margin:6px auto 14px}
.joined-t{text-align:center;font-size:26px}
.cpn-sheet .joined-t+.cpn-msg{text-align:center}
.joined-ubai{display:block;margin-top:12px;text-align:center;font-size:13px;font-weight:800;color:#8c8c86}
.joined-ubai .ubai{font-size:14px;color:inherit;margin-right:.3em}
.ubai-page{padding:20px 16px 10px;text-align:center}
.ubai-page .ubai-art{max-width:420px;margin:0 auto 22px}
.ubai-h{margin:0}.ubai-h .ubai{font-size:56px;color:#d4ff00;margin:0;letter-spacing:-.08em}
.ubai-p{margin-top:6px;font-size:20px;font-weight:900}
.ubai-s{margin-top:6px;font-size:15px;font-weight:700;color:#8c8c86}
/* 登录页底部：设计师手写签名 Tak（克制：小、低透明） */
.sig{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;margin:64px auto 0;opacity:.4}
.sig small{margin:0 6px 12px 0;font-size:10px;font-style:italic;font-weight:600;letter-spacing:.06em;color:#bdbdb6}
.sig svg{display:block;width:66px;height:33px}
.sig-ink{fill:#f5f5f0}
.sig-pk{fill:#ff2e88}
/* v4：品牌栏更有存在感（不换行，按屏宽分三档） */
.top{height:84px}
.brand{min-width:0}
.mark{width:50px;height:50px;margin-right:13px}
.brand-t{min-width:0}
.brand-t b{font-size:25px;font-weight:900;letter-spacing:.05em;line-height:1.08;white-space:nowrap}
.brand-sub{margin-top:5px;font-size:14px;font-weight:900;letter-spacing:.08em;opacity:1;color:#bdbdb6;white-space:nowrap}
.brand-sub .ubai{font-size:17px;color:#f5f5f0;margin-right:.35em}
.top-cta{white-space:nowrap;-webkit-flex-shrink:0;flex-shrink:0}
@media (max-width:429px){.top{height:78px}.mark{width:44px;height:44px;margin-right:11px}.brand-t b{font-size:22px;letter-spacing:.03em}.brand-sub{font-size:12.5px;letter-spacing:.05em}.brand-sub .ubai{font-size:15px}.top-cta{height:40px;padding:0 13px 0 11px;font-size:15px;letter-spacing:0}.top-cta b{font-size:20px;margin-right:4px}}
@media (max-width:374px){.mark{width:38px;height:38px;margin-right:9px}.brand-t b{font-size:19px;letter-spacing:.02em}.brand-sub{font-size:11px;letter-spacing:.02em}.brand-sub .ubai{font-size:13px}.top-cta{padding:0 10px;font-size:14px}}

/* ===== 默认配色：黑为主（猛）、粉只一丝（骚）、荧光绿极少点缀；登录页佩斯利暗纹 ===== */
.mark{background:#f2f2ec}
.hero{background:#f2f2ec}
.pill{color:#f2f2ec}
.live{color:#f2f2ec}
.live i{background:#f2f2ec}
.count b{color:#f2f2ec}
.bar-track i{background:#f2f2ec}
.left em{color:#f2f2ec}
.roster .n{color:#f2f2ec}
.roster li.in{background-color:rgba(255,46,136,.18)}
.roster li.mine .nm{color:#f2f2ec}
.sw-neon{background:linear-gradient(135deg,#f2f2ec 0,#f2f2ec 52%,#0a0a0a 52%,#0a0a0a 78%,#ff2e88 78%)}
.btn.lime{background:#f2f2ec}
.kv[data-copy] b:after{background:#f2f2ec}
.intro{border-left:5px solid #f2f2ec}
.feed li i{background:#f2f2ec}
.sheet input:focus{border-color:#f2f2ec}
.me-item .n{color:#f2f2ec}
.toast{background:#f2f2ec}
.wx-tip b{color:#f2f2ec}
.wx-arrow{background:#f2f2ec}
.wx-arrow:before{border-bottom:16px solid #f2f2ec}
.home-hero{background:#f2f2ec}
.ev-date{background:#f2f2ec}
.ev-cap b{color:#f2f2ec}
.login h1{color:#f2f2ec}
.ev .host{color:#f2f2ec}
.login input:focus,.form input:focus,.form textarea:focus,.add input:focus{border-color:#f2f2ec}
.form .switch input:checked{background:#f2f2ec}
.adm-hero{background:#f2f2ec}
.card-tip b{color:#f2f2ec}
.menu a.lime{color:#f2f2ec}
.chip.su{background:#f2f2ec}
.nopt.on{border-color:#f2f2ec}
.set-in:focus{border-color:#f2f2ec}
.cpn-input:focus{border-color:#f2f2ec}
.cpn-btn.primary{background:#f2f2ec}
.cpn-cal-g a.today{color:#f2f2ec}
.cpn-cal-g a.on{background:#f2f2ec}
.ev-tools a svg{color:#f2f2ec}
.form .pick:active{border-color:#f2f2ec}
.draft-note{color:#f2f2ec;background:rgba(255,46,136,.08)}
.hero-go{color:#f2f2ec}
.status-row.on .st-l em{color:#f2f2ec}
.status-row.on .st-sw{background:#f2f2ec}
.mk-l{fill:#f2f2ec}
.mk-ring{stroke:#f2f2ec}
.ubai-h .ubai{color:#f2f2ec}

/* ---- 手工调整：黑为主，粉只一丝 ---- */
.hero,.home-hero,.adm-hero,a.adm-hero{background:#0a0a0a;background:radial-gradient(90% 70% at 100% 0,#2a0918 0,#120609 38%,#0a0a0a 100%);color:#f2f2ec;border-bottom:1px solid #1f1f1f}
.home-hero .mega,.hero h1{color:#f2f2ec}
.pill{background:transparent;color:#bdbdb6;border:1px solid #3a3a38}
.sticker{background:#0a0a0a;color:#f2f2ec;-webkit-box-shadow:inset 0 3px 0 #ff2e88,0 0 0 1px #2a2a2a;box-shadow:inset 0 3px 0 #ff2e88,0 0 0 1px #2a2a2a}
.ev-date{background:#161616;color:#f2f2ec;-webkit-box-shadow:inset 0 3px 0 #ff2e88;box-shadow:inset 0 3px 0 #ff2e88}
.toast,.toast.pink{background:#141414;color:#f2f2ec;-webkit-box-shadow:inset 4px 0 0 #ff2e88,0 10px 30px rgba(0,0,0,.6);box-shadow:inset 4px 0 0 #ff2e88,0 10px 30px rgba(0,0,0,.6)}
.count b{color:#f2f2ec;text-shadow:0 0 30px rgba(255,46,136,.28)}
.adm-hero .count b{color:#f2f2ec}
.adm-hero .count span{color:rgba(242,242,236,.3)}
.hero-go{background:rgba(255,255,255,.06);color:#bdbdb6}
.roster .n,.me-item .n{color:#6b6b66}
.add button{background:#1f1f1f;color:#f2f2ec}
.top-cta{background:transparent;color:#ff2e88;-webkit-box-shadow:inset 0 0 0 2px #ff2e88;box-shadow:inset 0 0 0 2px #ff2e88}
.btn.pink{-webkit-box-shadow:0 8px 28px rgba(255,46,136,.3);box-shadow:0 8px 28px rgba(255,46,136,.3)}
.login h1{color:#f2f2ec}
.bar-track i{background:#f2f2ec}
.mk-l{fill:#f2f2ec}
.mk-ring{stroke:#ff2e88}
/* 注册 / 登录页：佩斯利暗纹（见文件末尾）+ 右上一丝酒红暗光 */
.login{min-height:100vh;box-sizing:border-box;background-color:#0e0e0e;background-image:radial-gradient(70% 45% at 100% 0,rgba(255,46,136,.10),rgba(255,46,136,0) 70%),radial-gradient(circle,rgba(255,255,255,.13) 1.4px,rgba(255,255,255,0) 1.9px);background-size:100% 100%,40px 40px;background-position:0 0,20px 20px}
.login input,.login .seg{background-color:rgba(10,10,10,.92)}
/* 签名贴在登录页底部 */
.login{position:relative;padding-bottom:120px}
.sig{position:absolute;left:0;right:0;bottom:24px;bottom:calc(24px + env(safe-area-inset-bottom));margin:0 auto}
/* 荧光绿点缀 */
.live{color:#d4ff00}
.live i{background:#d4ff00}
.left em{color:#d4ff00}
.roster li.mine .nm{color:#d4ff00}
.mk-b{fill:#d4ff00}
.mk-win{fill:#ff2e88}
.status-row.on .st-l em{color:#d4ff00}
.login{background-image:radial-gradient(70% 45% at 100% 0,rgba(255,46,136,.10),rgba(255,46,136,0) 70%),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22140%22%20viewBox%3D%220%200%20140%20140%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.09%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%3E%3Cg%20transform%3D%22translate%2814%2012%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3Cpath%20d%3D%22M27%2049c0-4%206-5%207-1s-5%206-7%201%22/%3E%3Cpath%20d%3D%22M62%204C68%2026%2062%2058%2038%2072%22%20stroke-dasharray%3D%220.5%204%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28126%20128%29%20rotate%28180%29%20scale%28.55%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23fff%22%20fill-opacity%3D%22.08%22%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2222%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22121%22%20cy%3D%2230%22%20r%3D%221.1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22118%22%20r%3D%221.4%22/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%,140px 140px;background-position:0 0,0 0}
/* 霓虹（默认）主题的报名页：比全站多一点颜色，别太黑 */
html:not([data-theme]) .hero{background:#0a0a0a;background:radial-gradient(100% 62% at 100% 0,#4a0d2e 0,#220917 40%,rgba(10,10,10,0) 74%),radial-gradient(80% 50% at 0 100%,rgba(255,46,136,.07),rgba(255,46,136,0) 70%),#0a0a0a}
html:not([data-theme]) .sticker{background:#ff2e88;color:#0a0a0a;-webkit-box-shadow:4px 4px 0 #000;box-shadow:4px 4px 0 #000}
html:not([data-theme]) .score{border:1px solid rgba(255,46,136,.16);-webkit-box-shadow:0 0 36px rgba(255,46,136,.07);box-shadow:0 0 36px rgba(255,46,136,.07)}
html:not([data-theme]) .score .count b{color:#ff4f9b;text-shadow:0 0 26px rgba(255,46,136,.32)}
html:not([data-theme]) .bar-track i{background:#ff2e88;background:linear-gradient(90deg,#ff2e88,#f2f2ec 65%,#d4ff00)}

/* UBAI 人物（矢量重绘，无背景）：颜色按主题；轨迹线缓慢流动，像 AI 正在追踪 */
.fg-wrap{--f-bone:rgba(242,242,236,.62);--f-j:#f2f2ec;--f-trail:#d4ff00;--f-ball:#ff2e88;--f-hit:#d4ff00;padding:4px 0 34px}
.fg{display:block;width:100%;height:auto}
.fg-bone{fill:none;stroke:var(--f-bone);stroke-width:8;stroke-linecap:round}
.fg-j,.fg-head{fill:var(--f-j)}
.fg-trail{fill:none;stroke:var(--f-trail);stroke-width:7;stroke-linecap:round;stroke-dasharray:16 14;opacity:.85;-webkit-animation:fgTrack 2.4s linear infinite;animation:fgTrack 2.4s linear infinite}
.fg-ball{fill:none;stroke:var(--f-ball);stroke-width:10}
.fg-hit{fill:var(--f-hit)}
@-webkit-keyframes fgTrack{to{stroke-dashoffset:-60}}
@keyframes fgTrack{to{stroke-dashoffset:-60}}
.fg-tag{position:absolute;left:4px;bottom:6px;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--f-trail);background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.08);border-radius:8px}
.joined-art{width:58%;max-width:220px}
.joined-art figcaption{bottom:10px}
[data-theme=metal] .fg-wrap{--f-bone:rgba(201,206,212,.7);--f-j:#fff;--f-trail:#ff7a1f;--f-ball:#d9dde2;--f-hit:#ffbf1a}
[data-theme=lace] .fg-wrap{--f-bone:rgba(246,235,231,.6);--f-j:#e8c46c;--f-trail:#e8c46c;--f-ball:#ff2d50;--f-hit:#e8c46c}
[data-theme=song] .fg-wrap{--f-bone:rgba(233,226,207,.6);--f-j:#f4f1e8;--f-trail:#8fb8b0;--f-ball:#c9483a;--f-hit:#8fb8b0}
[data-theme=tower] .fg-wrap{--f-bone:rgba(246,238,227,.55);--f-j:#f6eee3;--f-trail:#e7b45a;--f-ball:#f6eee3;--f-hit:#ff4f9a}
[data-theme=shenzhen] .fg-wrap{--f-bone:rgba(241,242,245,.55);--f-j:#f1f2f5;--f-trail:#e0324a;--f-ball:#f1f2f5;--f-hit:#e0324a}
[data-theme=shanghai] .fg-wrap{--f-bone:rgba(243,241,248,.55);--f-j:#f3f1f8;--f-trail:#f0609f;--f-ball:#f3f1f8;--f-hit:#f0609f}
[data-theme=zhanjiang] .fg-wrap{--f-bone:rgba(238,246,248,.55);--f-j:#eef6f8;--f-trail:#4fd1d9;--f-ball:#eef6f8;--f-hit:#4fd1d9}
[data-theme=lego] .fg-wrap{--f-bone:rgba(239,233,228,.55);--f-j:#efe9e4;--f-trail:#e0457f;--f-ball:#efe9e4;--f-hit:#e0457f}
[data-theme=oil] .fg-wrap{--f-bone:rgba(244,234,211,.6);--f-j:#f2b705;--f-trail:#2fb39c;--f-ball:#e5534b;--f-hit:#f2b705}
.fg-tag .ubai{font-size:12px;color:inherit;margin:0 .35em 0 0;vertical-align:0}
/* 我的球局：去平台推荐球局的明显入口 */
.adm-head{position:relative}
.to-home{position:absolute;right:16px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding:7px 12px;font-size:14px;font-weight:800;font-style:normal;letter-spacing:.02em;color:#f2f2ec;border:1px solid rgba(242,242,236,.28);border-radius:18px}
.to-home:active{background:rgba(255,255,255,.08)}

/* 我的球局：与登录页同款佩斯利暗纹（极淡），Tak特调 下为酒红色纹样 */
section#list{min-height:100vh;background-color:#0e0e0e;background-image:radial-gradient(70% 40% at 100% 0,rgba(255,46,136,.08),rgba(255,46,136,0) 70%),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22140%22%20viewBox%3D%220%200%20140%20140%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.09%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%3E%3Cg%20transform%3D%22translate%2814%2012%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3Cpath%20d%3D%22M27%2049c0-4%206-5%207-1s-5%206-7%201%22/%3E%3Cpath%20d%3D%22M62%204C68%2026%2062%2058%2038%2072%22%20stroke-dasharray%3D%220.5%204%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28126%20128%29%20rotate%28180%29%20scale%28.55%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23fff%22%20fill-opacity%3D%22.08%22%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2222%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22121%22%20cy%3D%2230%22%20r%3D%221.1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22118%22%20r%3D%221.4%22/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%,140px 140px;background-attachment:scroll}
section#list .top{background:transparent}
[data-theme=lego] section#list{background-color:#0c0a0a;background-image:radial-gradient(70% 40% at 100% 0,rgba(61,10,36,.9),rgba(12,10,10,0) 70%),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22140%22%20viewBox%3D%220%200%20140%20140%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e0457f%22%20stroke-opacity%3D%22.13%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%3E%3Cg%20transform%3D%22translate%2814%2012%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3Cpath%20d%3D%22M27%2049c0-4%206-5%207-1s-5%206-7%201%22/%3E%3Cpath%20d%3D%22M62%204C68%2026%2062%2058%2038%2072%22%20stroke-dasharray%3D%220.5%204%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28126%20128%29%20rotate%28180%29%20scale%28.55%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23fff%22%20fill-opacity%3D%22.08%22%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2222%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22121%22%20cy%3D%2230%22%20r%3D%221.1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22118%22%20r%3D%221.4%22/%3E%3C/g%3E%3C/svg%3E")}

/* 邮箱、密码框：老 IE / 旧版浏览器禁用中文输入法 */
#aEmail,#fEmail,#aPw,#aPw2,#cPw,#cPw2{ime-mode:disabled}
/* 报名页：活动详情 / 实时动态 入口放在人数框下方（原在名单最底部，名单长时要滑很久） */
.quick{display:-webkit-box;display:-webkit-flex;display:flex;margin-top:12px}
.quick a{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:48px;padding:0 14px;font-size:16px;font-weight:800;color:inherit;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px}
.quick a+a{margin-left:10px}
.quick a i{font-style:normal;font-size:22px;opacity:.5}
.quick a:active{background:rgba(255,255,255,.12)}
[data-theme=song] .quick a{background:rgba(255,255,255,.4);border-color:rgba(43,52,55,.15)}

/* 底部「UBAI 技术支持」：人少时贴在操作栏上方（不悬在页面中间），人多时跟在内容后、滑到底一定露出，不被操作栏挡住 */
.app{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}
.app>.foot{margin-top:auto}
.has-dock .app{padding-bottom:112px;padding-bottom:calc(112px + env(safe-area-inset-bottom))}
/* 「实时动态」按钮：有新动态时才出现角标、边框亮一下（实时感交给上方 LIVE 指示灯，不重复） */
.quick a{position:relative}
.quick a span{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}
.qbadge{position:absolute;top:-8px;right:10px;min-width:22px;height:20px;line-height:20px;padding:0 6px;font-size:12px;font-weight:900;font-style:normal;text-align:center;color:#0a0a0a;background:#ff2e88;border-radius:10px;-webkit-box-shadow:0 0 0 2px #0a0a0a;box-shadow:0 0 0 2px #0a0a0a}
.quick a.ping{-webkit-animation:qping 1.4s ease-out 1;animation:qping 1.4s ease-out 1}
@-webkit-keyframes qping{0%{border-color:#ff2e88}100%{border-color:rgba(255,255,255,.12)}}
@keyframes qping{0%{border-color:#ff2e88}100%{border-color:rgba(255,255,255,.12)}}
[data-theme] [data-theme=lego] [data-theme] .qbadge{background:var(--hot);color:var(--hot-ink);-webkit-box-shadow:0 0 0 2px var(--app);box-shadow:0 0 0 2px var(--app)}
/* 日期贴纸第二行改中文：周五 / 今天 / 明天 / 后天（中文字间距收紧）；2 天内的稍作强调 */
.sticker span{font-size:14px;letter-spacing:.12em;margin-top:5px}
.ev-date span{font-size:12px;letter-spacing:.1em}
.sticker.soon span,.ev.soon .ev-date span,[data-theme] .sticker.soon span,[data-theme] .ev.soon .ev-date span{display:inline-block;padding:1px 7px;border-radius:9px;background:rgba(0,0,0,.82);color:#fff;-webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);letter-spacing:.08em}
/* 我的球局：组局足迹 + 进行中 / 已结束分组 + 一键再开一场 */
.adm-stats{margin:-2px 16px 8px;font-size:14px;font-weight:800;letter-spacing:.04em;color:#8c8c86}
.adm-stats:empty{display:none}
.ev-row{position:relative}
.ev-row .ev.ph-ended{padding-right:104px}
.ev-row .ph-ended .ev-cap{display:none}
.ev-dup{position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding:8px 13px;font-size:14px;font-weight:900;color:#f2f2ec;border:1px solid rgba(242,242,236,.3);border-radius:18px}
.ev-dup:active{background:rgba(255,255,255,.08)}
.ev-group{margin:22px 0 4px;font-size:14px;font-weight:900;letter-spacing:.06em;color:#6b6b66}
.ev-group em{font-style:normal;margin-left:4px}
/* 首页：我参加过（本机记录） */
.joined-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:14px 0;border-bottom:1px solid #1f1f1f;color:inherit}
.joined-item b{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.joined-item span{margin-left:10px;font-size:13px;color:#8c8c86;white-space:nowrap}
.joined-item i{margin-left:8px;font-style:normal;font-size:20px;opacity:.5}
[data-theme] .joined-item{border-bottom-color:var(--line)}
/* 底部语言切换：克制的小字 */
.lang-sw{display:inline-block;margin-left:14px;padding:2px 0;font-size:11px;font-weight:900;letter-spacing:.12em;color:inherit;opacity:.85;border-bottom:1px solid currentColor}

/* 局主勋章 */
.bwall{display:flex;gap:6px;margin:0 16px 14px;max-width:360px}
.bwall:empty{display:none}
.bwall a{flex:1;text-align:center;-webkit-tap-highlight-color:transparent}
.bwall img{display:block;width:100%;max-width:64px;margin:0 auto}
.bwall .off{position:relative}
.bwall .off img{filter:grayscale(1) brightness(.9) blur(.5px);opacity:.22}
.bwall .off:after{content:"";position:absolute;left:50%;top:0;width:100%;max-width:64px;aspect-ratio:1;transform:translateX(-50%);
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,0) 45%,rgba(255,255,255,.06) 70%,rgba(255,255,255,0));
  -webkit-clip-path:polygon(50% 3%,91% 26.5%,91% 73.5%,50% 97%,9% 73.5%,9% 26.5%);clip-path:polygon(50% 3%,91% 26.5%,91% 73.5%,50% 97%,9% 73.5%,9% 26.5%);pointer-events:none}
.bwall small{display:block;margin-top:2px;font-size:11px;font-weight:800;letter-spacing:.04em;color:#8c8c86}
.hbadge{display:inline-block;width:26px;height:26px;margin-left:8px;vertical-align:-4px;cursor:pointer}
.bdg-kicker{margin:6px 0 0;text-align:center;font-size:13px;font-weight:900;letter-spacing:.4em;color:#8c8c86}
.bdg-big{display:block;width:190px;height:190px;margin:6px auto 2px}
.bdg-big.pop{animation:bdgPop .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes bdgPop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.bdg-name{display:block;text-align:center;font-size:26px;font-weight:900;letter-spacing:.06em}
.bdg-no{margin:4px 0 2px;text-align:center;font-size:14px;font-weight:800;letter-spacing:.06em;color:#8c8c86}
.bdg-story{margin:6px 0 4px;text-align:center;font-size:15px;font-weight:800;color:#e0457f}
.bdg-png{display:block;width:72%;max-width:300px;margin:4px auto 0;border-radius:10px;-webkit-touch-callout:default}
.bdg-tip{margin:10px 0 4px;text-align:center;font-size:14px;font-weight:800;color:#8c8c86}
.ubadges img{width:18px;height:18px;vertical-align:-4px;margin-right:2px}
.ubadges img.rv{opacity:.25}
/* 页脚整行上移：离屏幕底部（含 iPhone 底部横条区域）留足距离；EN/中文 的可点区域加大 */
.foot{padding-bottom:40px;padding-bottom:calc(40px + env(safe-area-inset-bottom))}
.has-dock .foot{padding-bottom:28px}
.lang-sw{position:relative}
.lang-sw:after{content:"";position:absolute;left:-12px;right:-12px;top:-14px;bottom:-14px}

/* 我发起的 / 我参加的 */
.my-seg{margin:0 0 6px}
.my-seg a{height:42px;line-height:42px;font-size:16px}
.joined-empty{padding:36px 16px;text-align:center;font-size:16px;font-weight:800;color:#8c8c86}
.joined-empty small{display:block;margin-top:8px;font-size:13px;font-weight:700;color:#5a5a55}

/* 后台添加：这是我本人 */
.add-self{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin:-4px 0 12px;padding:6px 2px;font-size:14px;font-weight:800;color:#8c8c86;cursor:pointer}
.add-self input{width:18px;height:18px;margin:0 8px 0 0;accent-color:#ff2e88}
.add-self input{-webkit-appearance:none;appearance:none;-webkit-flex-shrink:0;flex-shrink:0;display:inline-block;width:20px;height:20px;border:2px solid #555;border-radius:4px;background:transparent;vertical-align:middle}
.add-self input:checked{border-color:#ff2e88;background:#ff2e88 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M3.5%208.5l3%203%206-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") center/14px no-repeat}
.add-self:has(input:checked){color:#f5f5f0}

/* 后台名单：已移出（删除线，可恢复） */
.roster .rm-h{display:block;min-height:0;padding:18px 0 6px;font-size:13px;font-weight:900;letter-spacing:.2em;color:#666;border:0}
.roster .rm-item .n{color:#555}
.roster .rm-item .nm{color:#77736d;font-weight:600;text-decoration:line-through;-webkit-text-decoration-color:#ff2e88;text-decoration-color:#ff2e88}
.roster .rs{margin-left:auto;padding:6px 14px;font-size:14px;font-weight:800;color:#f5f5f0;border:1px solid #3a3a3a;border-radius:16px}
.roster .rs:active{background:rgba(255,255,255,.08)}

/* 联系方式 / 爽约记录 / 待确认 */
.sw-note{text-align:left;margin:6px 0 4px;font-size:13px;color:#77736d}
.form .switch.off{color:#77736d}.form .switch.off input{opacity:.4}
.sw-soon{display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid #444;border-radius:10px;font-size:12px;font-weight:600;font-style:normal;color:#9a968f;vertical-align:2px}
.roster .nm small{display:block;margin-top:2px;font-size:13px;font-weight:700;letter-spacing:0}
.roster .nm small.ns{color:#ff2e88}
.roster .nm small.ct{display:table;margin-top:6px;padding:3px 4px 3px 10px;border:1px solid #3a3a3a;border-radius:14px;color:#d8d8d2;font-size:15px;letter-spacing:.5px;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent}
.roster .nm small.ct i{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:#2a2a2a;color:#f5f5f0;font-size:12px;font-style:normal;letter-spacing:0;vertical-align:1px}
.roster .nm small.ct:active{border-color:#ff2e88}
.roster .ns-btn{margin-left:auto;margin-right:6px;padding:5px 12px;font-size:13px;font-weight:800;color:#8c8c86;border:1px solid #333;border-radius:14px;white-space:nowrap}
.roster .ns-btn.on{color:#fff;background:#ff2e88;border-color:#ff2e88}
.roster li.is-ns .nm{color:#8c8c86}
.roster .pend-item .n{color:#ff2e88}
.roster .rs.no{margin-left:8px;color:#ff6b9d;border-color:#4a2a36}
.joined-host{margin-top:10px;padding:12px 14px;background:rgba(255,255,255,.05);border-radius:10px;text-align:left!important;line-height:1.7}
.joined-host b{font-size:18px;color:#f5f5f0}
#contact{margin-top:10px}

/* 隐私说明页 */
.doc{padding-top:6px;line-height:1.75;font-size:16px;color:#cfcac4}
.doc h2{margin:26px 0 8px;font-size:19px;font-weight:900;color:#f5f5f0}
.doc ul{margin:0;padding-left:1.2em}
.doc li{margin:6px 0}
.doc b{color:#f5f5f0}
.doc-lead{font-size:16px;color:#cfcac4}
.doc-date{margin-top:24px;font-size:13px;color:#77736d}
.priv-link{margin-left:14px}
#joinFine a{color:inherit;text-decoration:underline}
.doc-mail{color:#f5f5f0;text-decoration:underline}

/* 总后台 · 全平台报名 */
.su-search{margin:0 0 6px}
.su-row .ct{color:#f5f5f0;text-decoration:underline;text-decoration-style:dotted}
.su-row .umeta a{color:inherit}

/* 手机验证 */
.pv-row{display:-webkit-box;display:-webkit-flex;display:flex;margin-top:10px}
.pv-row input{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}
.pv-row button{-webkit-flex-shrink:0;flex-shrink:0;margin-left:8px;padding:0 14px;font-size:16px;font-weight:800;color:#0a0a0a;background:#f5f5f0;border:0;border-radius:6px;min-width:112px}
.pv-row button:disabled{opacity:.55}
#code{margin-top:10px}
.pv-info{margin:12px 2px 0;font-size:15px;font-weight:800;color:#8c8c86}
.pv-info a{color:inherit;text-decoration:underline}
.pv-agree{margin:8px 2px 0;font-size:12px;font-weight:700;color:#77736d}
.pv-agree a{color:inherit;text-decoration:underline}
/* 表单开关：关=灰字，开=白字 + 粉色轨道，深色背景下一眼可辨 */
.form .switch{color:#77736d;-webkit-transition:color .2s;transition:color .2s}
.form .switch.on{color:#f5f5f0}
.form .switch input:checked{background:#ff2e88}
.form .switch input:checked:after{background:#fff}
.hpw{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
/* 编辑页顶部「报名规则」卡片：关键开关集中、简约 */
.rules{margin:2px 0 26px;padding:2px 18px;border:1px solid #262626;border-radius:16px;background:#121212}
.rules-h{padding:16px 0 2px;font-size:12px;font-weight:900;letter-spacing:.28em;color:#666}
.form .switch.rule{height:auto;min-height:66px;padding:13px 0;font-size:17px;border-bottom:1px solid #1e1e1e}
.form .switch.rule:last-child{border-bottom:0}
.form .switch.rule>span{padding-right:16px;line-height:1.35}
.form .switch.rule small{display:block;margin-top:4px;font-size:12px;font-weight:600;letter-spacing:0;color:#5f5c57}
.form .switch.rule.on small{color:#8c8c86}
.roster .nm small.sd{color:#ff2e88}
.roster .late-item .nm{text-decoration:none;color:#8c8c86}
.roster .late-item .nm small{color:#666;font-weight:600}
/* 复制成功：按钮反白 + ✓，原地反馈 */
.cpn-btn.primary.done{background:transparent!important;color:#f5f5f0;-webkit-box-shadow:inset 0 0 0 1.5px currentColor;box-shadow:inset 0 0 0 1.5px currentColor}
.toast{z-index:200}
/* 已报名按钮：号码 + 退出提示两行 */
.me-l{display:inline-block;line-height:1.1;text-align:center;vertical-align:middle}
.me-l b{display:block;font-weight:inherit}
.me-l small{display:block;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:.04em;opacity:.55}
/* 合作伙伴：logo 统一成主题色单色剪影；图片统一色调 + 圆角；没有开启的不显示；数量多时自动换排版 */
.partners{margin:40px 0 6px;padding:0 18px;text-align:center}
.pt-h{display:flex;align-items:center;gap:14px;margin:0 auto 18px;max-width:420px;font-size:11px;font-weight:800;letter-spacing:.34em;color:var(--mute,#8c8c86);opacity:.85}
.pt-h:before,.pt-h:after{content:"";flex:1;height:1px;background:var(--line,#2a2a2a)}
.pt-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 28px;max-width:520px;margin:0 auto}
.pt-logo{display:block;flex-shrink:0;background:var(--pt-c,var(--hot,#f2f2ec));-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;opacity:.6;transition:opacity .2s}
.pt-logo.is-link:hover,.pt-logo.is-link:active{opacity:1}
/* 7 个以上：等宽网格，每格居中 */
/* 6 个以内：一行排开，间距和 logo 随屏宽收缩，不会落单换行；窄屏 6 个排 3+3、5 个排 3+2（居中） */
.pt-logos.pt-line{flex-wrap:nowrap;gap:0}
.pt-line .pt-logo+.pt-logo{margin-left:20px;margin-left:clamp(10px,5.5vw,28px)}
.pt-line .pt-logo{flex-shrink:1;min-width:0}
@media (max-width:399px){.pt-logos.pt-n6{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 6px}.pt-n6 .pt-logo{justify-self:center;margin-left:0!important}}
@media (max-width:359px){.pt-logos.pt-n5{display:grid;grid-template-columns:repeat(6,1fr);gap:16px 6px}.pt-n5 .pt-logo{grid-column:span 2;justify-self:center;margin-left:0!important}.pt-n5 .pt-logo:nth-child(4){grid-column:2/span 2}}
.pt-logos.pt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px}
.pt-grid .pt-logo{justify-self:center;margin:9px 0}
@media (min-width:430px){.pt-logos.pt-grid{grid-template-columns:repeat(4,1fr)}}
/* 超过 12 个：先显示前 12 个，点「查看全部」展开 */
.pt-fold .pt-logo:nth-child(n+13){display:none}
.pt-fold.open .pt-logo:nth-child(n+13){display:block}
.pt-all{display:inline-block;margin-top:14px;padding:6px 16px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--mute,#8c8c86);border:1px solid var(--line,#2a2a2a);border-radius:99px}
/* 图片：1 张居中，2 张并排，3 张以上横向滑动（露出下一张边缘） */
.pt-photos{display:flex;justify-content:center;gap:12px;max-width:520px;margin:22px auto 0}
.pt-photo{position:relative;display:block;flex:0 0 auto;overflow:hidden;border-radius:12px;box-shadow:0 0 0 1px var(--line,#262626)}
.pt-n1 .pt-photo{width:min(100%,300px)}
.pt-n2 .pt-photo{width:calc(50% - 6px)}
.pt-photos.pt-scroll{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:-18px;margin-right:-18px;padding:0 18px 4px;max-width:none}
.pt-scroll::-webkit-scrollbar{display:none}
.pt-scroll .pt-photo{width:68%;max-width:250px;scroll-snap-align:start;scroll-margin-left:18px}
.pt-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;filter:saturate(.72) contrast(1.05) brightness(.9)}
.pt-photo:after{content:"";position:absolute;inset:0;background:var(--pt-c,var(--hot,#e0457f));mix-blend-mode:soft-light;opacity:.38;pointer-events:none}
.pt-photo.is-link:active img{filter:none}
/* 总后台 · 合作伙伴 */
.pt-kind{display:flex;background:#0a0a0a;border:2px solid #2a2a2a;border-radius:10px;padding:4px;margin-bottom:8px}
.pt-kind a{flex:1;text-align:center;padding:10px;border-radius:7px;font-weight:800;color:#8c8c86}
.pt-kind a.on{background:#f2f2ec;color:#0a0a0a}
.pt-kind-tip{text-align:left;margin:0 0 12px}
.pt-prev{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.pt-tile{position:relative;display:flex;align-items:center;justify-content:center;min-height:96px;padding:16px 10px 26px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.pt-tile .pt-logo{height:28px;max-width:100%;width:calc(28px * var(--pr,2))}
.pt-tile .pt-photo{width:100%;max-width:none;flex:1 1 auto}
.pt-tile em{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-style:normal;font-size:11px;color:rgba(255,255,255,.45);font-weight:700}
.pt-row .pt-row-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.pt-row .pt-tile{width:130px;flex-shrink:0;min-height:72px;padding:12px 10px 22px}
.pt-row-meta{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pt-row-meta b{font-size:17px;word-break:break-all}
.pt-ord{margin-left:auto;display:flex;gap:6px}
.pt-ord a{display:inline-block;width:34px;height:34px;line-height:32px;text-align:center;border:1px solid #333;border-radius:8px;color:#f2f2ec;font-weight:900}
.pt-row-bot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.pt-sel{height:40px;padding:0 10px;background:#0a0a0a;color:#f2f2ec;border:2px solid #2a2a2a;border-radius:8px;font-size:15px}
.pt-del{color:#ff5a5a;font-weight:800}
.pt-row.is-off .pt-tile{opacity:.35}
/* 合作伙伴配色：城市主题用招牌色（--hot），Tak特调 / 金属摇滚用浅色字色更克制 */
[data-theme=lego],[data-theme=takmocap],[data-theme=metal],[data-theme=neon]{--pt-c:var(--count-color,#efe9e4)}
/* VIP 流光：logo 剪影内一道柔光缓慢掠过，停顿后再来；图片同理。不闪、不跳，减少动态时静止 */
.pt-logo.pt-vip{opacity:.9;background-image:linear-gradient(105deg,rgba(0,0,0,.3) 0 43%,rgba(255,255,255,.55) 49%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.55) 51%,rgba(0,0,0,.3) 57% 100%);background-size:300% 100%;background-position:100% 0;animation:pt-sheen 4.5s cubic-bezier(.45,.05,.35,1) var(--vd,0s) infinite}
.pt-photo.pt-vip:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.24) 50%,transparent 56%);background-size:300% 100%;background-position:100% 0;animation:pt-sheen 4.5s cubic-bezier(.45,.05,.35,1) var(--vd,0s) infinite}
.pt-photo.pt-vip{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
@keyframes pt-sheen{0%{background-position:100% 0}52%,100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.pt-vip,.pt-vip:before{animation:none}}
.sw-court{background:radial-gradient(90% 80% at 100% 0,rgba(198,230,40,.55),rgba(247,247,243,0) 62%),linear-gradient(135deg,#fff 0,#f1f1ea 72%,#1e7a45 72%)}
.sw-sky{background:radial-gradient(90% 80% at 100% 0,rgba(86,140,255,.45),rgba(244,247,251,0) 62%),linear-gradient(135deg,#fff 0,#eef3fa 72%,#2459e0 72%)}
.sw-kapok{background:radial-gradient(90% 80% at 100% 0,rgba(226,72,42,.42),rgba(251,246,241,0) 62%),linear-gradient(135deg,#fffaf6 0,#f8eee7 72%,#cc3a22 72%)}
.sw-champagne{background:radial-gradient(90% 80% at 100% 0,rgba(214,175,96,.5),rgba(248,244,236,0) 62%),linear-gradient(135deg,#fffdf8 0,#f3ecdf 72%,#a0702a 72%)}
.sw-court b,.sw-sky b,.sw-kapok b,.sw-champagne b{color:#1a1a1a;text-shadow:none}
.th a.lt{box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}

/* 场地支持申请 */
.ap .doc-lead{margin-bottom:18px}
.ap-rules ol{margin:8px 0 4px;padding:0;list-style:none;counter-reset:ap}
.ap-rules li{position:relative;margin:10px 0;padding-left:38px;font-size:16px;line-height:1.6;color:var(--ink,#f2f2ec);counter-increment:ap}
.ap-rules li:before{content:counter(ap,decimal-leading-zero);position:absolute;left:0;top:0;font:italic 900 16px/1.6 "Helvetica Neue",Arial,sans-serif;color:var(--hot,#e0457f)}
.ap-note{margin:12px 0 16px;font-size:14px;color:var(--mute,#8c8c86)}
.ap-form{margin-top:6px}
.ap-form label small{font-weight:700;color:var(--dim,#5c5c58)}
.ap-seg{display:-webkit-box;display:-webkit-flex;display:flex;margin-bottom:14px}
.ap-seg a+a{margin-left:8px}
.ap-seg a{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center;padding:12px 0;border:2px solid var(--line,#2a2a2a);border-radius:10px;font-weight:800;color:var(--mute,#8c8c86)}
.ap-seg a.on{border-color:var(--hot,#e0457f);color:var(--ink,#f2f2ec)}
.form .ap-agree{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;margin:18px 0 16px;font-size:15px;font-weight:800;color:var(--ink,#f2f2ec);line-height:1.5}
.form .ap-agree input[type=checkbox]{-webkit-appearance:none;appearance:none;flex-shrink:0;width:22px;height:22px;min-height:0;margin:1px 10px 0 0;padding:0;border:2px solid var(--mute,#8c8c86);border-radius:6px;background:transparent;box-shadow:none}
.form .ap-agree input[type=checkbox]:checked{border-color:var(--hot,#e0457f);background:var(--hot,#e0457f) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M3.5%208.5l3%203%206-7%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") center/14px no-repeat}
.ap-item,.ap-row{padding:14px 16px;margin-bottom:10px;border:1px solid var(--line,#262626);border-radius:14px;background:var(--card,#121212)}
.ap-item p,.ap-row p{margin:6px 0 0;font-size:15px;color:var(--mute,#a7a7a0)}
.ap-row p b{color:var(--ink,#f2f2ec)}
.ap-item-h{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}
.ap-item-h b{margin-right:10px}
.ap-item-h b{font-size:16px;color:var(--ink,#f2f2ec)}
.ap-st{flex-shrink:0;padding:2px 10px;border-radius:99px;font-size:13px;font-weight:900;border:1px solid currentColor;color:var(--mute,#8c8c86)}
.st-pending .ap-st{color:#e7b45a}
.st-approved .ap-st{color:#3fbf7f}
.st-rejected .ap-st{color:var(--dim,#6b6b66)}
.ap-reply{padding:8px 12px;border-radius:10px;background:rgba(127,127,127,.1);color:var(--ink,#f2f2ec)!important}
.ap-note2{white-space:pre-wrap;color:var(--ink,#d9d9d2)!important}
.ap-cancel{display:inline-block;margin-top:8px;font-size:14px;font-weight:800;color:var(--mute,#8c8c86);text-decoration:underline}
.ap-acts{display:-webkit-box;display:-webkit-flex;display:flex;margin-top:12px}
.ap-acts .ubtn+.ubtn{margin-left:10px}
.ap-acts .ubtn{-webkit-box-flex:1;-webkit-flex:1;flex:1;text-align:center}
.ap-adm-tip{text-align:left;margin:0 0 12px}
.ap-adm-tip a{color:inherit;text-decoration:underline}
#apLogin{margin-top:8px}
.ap-arr-tip{text-align:left!important;margin:-4px 0 14px!important}

/* 申请页：佩斯利暗纹 + 光影渐变（暗纹用主题点缀色，随全站配色变化） */
.app.ap-bg{background:transparent;isolation:isolate}
.ap-bg:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.05) 0,rgba(255,255,255,0) 38%),radial-gradient(95% 55% at 100% 0,rgba(224,69,127,.3),rgba(224,69,127,0) 70%),radial-gradient(80% 45% at 0 100%,rgba(231,180,90,.13),rgba(231,180,90,0) 70%),var(--app,#0b0a0b)}
.ap-bg:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:var(--hot,#e0457f);opacity:.95;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22140%22%20viewBox%3D%220%200%20140%20140%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e0457f%22%20stroke-opacity%3D%22.34%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%3E%3Cg%20transform%3D%22translate%2814%2012%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3Cpath%20d%3D%22M27%2049c0-4%206-5%207-1s-5%206-7%201%22/%3E%3Cpath%20d%3D%22M62%204C68%2026%2062%2058%2038%2072%22%20stroke-dasharray%3D%220.5%204%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28126%20128%29%20rotate%28180%29%20scale%28.55%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23efe9e4%22%20fill-opacity%3D%22.1%22%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2222%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22121%22%20cy%3D%2230%22%20r%3D%221.1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22118%22%20r%3D%221.4%22/%3E%3C/g%3E%3C/svg%3E") 0 0/140px 140px repeat,radial-gradient(130% 85% at 100% 0,#000 0,rgba(0,0,0,.25) 100%);-webkit-mask-composite:source-in;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22140%22%20viewBox%3D%220%200%20140%20140%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e0457f%22%20stroke-opacity%3D%22.34%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%3E%3Cg%20transform%3D%22translate%2814%2012%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3Cpath%20d%3D%22M27%2049c0-4%206-5%207-1s-5%206-7%201%22/%3E%3Cpath%20d%3D%22M62%204C68%2026%2062%2058%2038%2072%22%20stroke-dasharray%3D%220.5%204%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28126%20128%29%20rotate%28180%29%20scale%28.55%29%22%3E%3Cpath%20d%3D%22M58%206C62%2030%2054%2060%2032%2066C14%2070%204%2056%209%2042C14%2028%2032%2028%2038%2018C41%2012%2038%206%2033%208C29%2010%2030%2015%2034%2015%22/%3E%3Cpath%20d%3D%22M50%2020C51%2038%2044%2054%2031%2057C21%2059%2015%2051%2018%2043C21%2035%2032%2034%2036%2028%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23efe9e4%22%20fill-opacity%3D%22.1%22%3E%3Ccircle%20cx%3D%22112%22%20cy%3D%2222%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%22121%22%20cy%3D%2230%22%20r%3D%221.1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%22118%22%20r%3D%221.4%22/%3E%3C/g%3E%3C/svg%3E") 0 0/140px 140px repeat,radial-gradient(130% 85% at 100% 0,#000 0,rgba(0,0,0,.25) 100%);mask-composite:intersect}
.ap-bg .rules{background:rgba(16,14,15,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.app.ap-bg .top{background:transparent}
.sw-rain{background:url(img/rain-near.svg) 0 0/180px 180px,url(img/rain-far.svg) 0 0/110px 110px,url(img/canton-tower-rain.svg) right 10px bottom 0/auto 96% no-repeat,radial-gradient(circle at 70% 82%,rgba(255,176,96,.7) 0,rgba(255,176,96,0) 13%),radial-gradient(120% 70% at 80% 120%,rgba(201,105,44,.6),rgba(201,105,44,0) 70%),linear-gradient(180deg,#141c2a,#2f2f40 80%,#4a3a36)}
.sw-rain b{color:#eef2f6}
.sw-emerald{background:radial-gradient(90% 80% at 100% 0,rgba(31,74,58,0.9),rgba(31,74,58,0) 65%),linear-gradient(135deg,#0e1b17 0,#09130f 70%,#d9b46a 70%)}
.sw-emerald b{color:#f1ede2}
.sw-midnight{background:radial-gradient(90% 80% at 100% 0,rgba(32,54,94,0.9),rgba(32,54,94,0) 65%),linear-gradient(135deg,#0c1424 0,#080e1a 70%,#7fb6ff 70%)}
.sw-midnight b{color:#eef2f8}
.sw-wine{background:radial-gradient(90% 80% at 100% 0,rgba(90,22,38,0.9),rgba(90,22,38,0) 65%),linear-gradient(135deg,#1a0c11 0,#12080b 70%,#f1d3a1 70%)}
.sw-wine b{color:#f6ece6}
.sw-volt{background:radial-gradient(90% 80% at 100% 0,rgba(42,58,0,0.9),rgba(42,58,0,0) 65%),linear-gradient(135deg,#0b0c0a 0,#070806 70%,#d4ff00 70%)}
.sw-volt b{color:#f2f4ee}
.sw-mint{background:radial-gradient(90% 80% at 100% 0,rgba(18,144,122,.45),rgba(244,250,247,0) 62%),linear-gradient(135deg,#fff 0,#edf6f2 72%,#12907a 72%)}
.sw-mint b{color:#123029;text-shadow:none}
.sw-dialgreen{background:url(img/dial-green.svg) right -34px top -30px/120px 120px no-repeat,radial-gradient(90% 80% at 100% 0,rgba(212,176,98,0.5),rgba(212,176,98,0) 65%),linear-gradient(160deg,#0a3022,#06241a)}
.sw-dialgreen b{color:#f3eedf}
.sw-gmt{background:url(img/dial-gmt.svg) right -34px top -30px/120px 120px no-repeat,radial-gradient(90% 80% at 100% 0,rgba(200,16,46,0.5),rgba(200,16,46,0) 65%),linear-gradient(160deg,#0b0e16,#07090f)}
.sw-gmt b{color:#f2f4f8}
.sw-radio{background:url(img/onair.svg) right 4px top 4px/70px auto no-repeat,url(img/radio-dial.svg) center bottom 6px/96% auto no-repeat,linear-gradient(170deg,#211e25,#121014)}
.sw-radio b{color:#f4efe6}
.sw-takmocap{background:url(img/mocap.svg) right 4px bottom 0/auto 100% no-repeat,radial-gradient(80% 70% at 80% 100%,rgba(224,69,127,.3),rgba(12,10,10,0) 70%),#0c0a0a}
.sw-takmocap b{color:#efe9e4}
.sw-brushed{background:url(img/scratches.svg) 0 0/200px 200px,linear-gradient(174deg,rgba(0,0,0,0) 0 38%,rgba(0,0,0,.55) 38% 39%,#9aa1a8 39%,#eceff2 50%,#7f868d 61%,rgba(0,0,0,.55) 61% 62%,rgba(0,0,0,0) 62%),url(img/grain.svg) 0 0/120px 120px,#0d0d0e}
.sw-brushed b{background:linear-gradient(180deg,#ffffff 0%,#d5d9de 38%,#5b6168 50%,#eef0f2 66%,#9aa0a7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.6px #000;text-shadow:none;font-style:italic}

/* 首页「广告优先」版式：标题区下方一行精简 logo 带 + 列表折叠 */
.pt-strip{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line,#1f1f1f);overflow:hidden}
.pt-strip-h{-webkit-flex-shrink:0;flex-shrink:0;margin-right:16px;font-size:11px;font-weight:800;letter-spacing:.24em;color:var(--mute,#8c8c86);opacity:.85;white-space:nowrap}
.pt-strip-l{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;min-width:0;overflow:hidden}
.pt-strip .pt-logo{-webkit-flex-shrink:1;flex-shrink:1;min-width:0}
.pt-strip .pt-logo+.pt-logo{margin-left:16px;margin-left:clamp(10px,4vw,20px)}
.ev-more{display:none}
.ev-more.open{display:block}
.ev-toggle{display:block;margin:14px 0 4px;padding:10px 0;text-align:center;font-size:14px;font-weight:800;letter-spacing:.06em;color:var(--mute,#8c8c86);border:1px solid var(--line,#262626);border-radius:999px}
a.ev-toggle-ended{display:block}
.nopt.lay-opt b{display:block}
.nopt.lay-opt small{display:block;margin-top:4px;font-size:13px;font-weight:600;color:#8c8c86;line-height:1.5}
/* 球局页「广告优先」：logo 带夹在球局信息与名单之间，留出上下呼吸 */
.hero+.pt-strip{margin-top:0}
