.event-page,.region-page{padding:0 14px 28px;color:var(--text);overflow-x:hidden}
.event-intro,.region-intro,.event-detail-hero,.region-hero{position:relative;margin:10px 0 12px;padding:22px 20px;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#002080,#002a6e);color:#fff;box-shadow:0 12px 30px rgba(8,20,48,.18)}
.event-intro:after,.region-intro:after,.region-hero:after{content:"";position:absolute;width:150px;height:150px;right:-50px;top:-65px;border-radius:50%;background:rgba(255,255,255,.08)}
.event-intro span,.region-intro span,.event-section-title span{font-size:12px;letter-spacing:.08em;color:#cfe0f8}
.event-intro h1,.region-intro h1,.event-detail-hero h1,.region-hero h1{position:relative;margin:6px 0 7px;font-size:24px;line-height:1.24}
.event-intro p,.region-intro p,.event-detail-hero p,.region-hero p{position:relative;margin:0;font-size:14px;line-height:1.65;color:rgba(255,255,255,.83)}
.event-filter{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 5px 18px rgba(16,24,48,.06)}
.event-search{display:flex;align-items:center;gap:8px;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.event-search .ico{width:18px;color:var(--muted)}
.event-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:15px}
.event-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.event-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:5px}
.event-filter-grid label span{font-size:12px;color:var(--muted)}
.event-filter-grid select,.event-filter-grid input{width:100%;height:44px;min-width:0;padding:0 9px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);font-size:13px}
.event-filter-grid .btn{align-self:end;height:44px}
.event-results,.instance-list,.region-grid{display:grid;gap:12px}
.event-card{display:block;padding:16px;border:1px solid var(--line);border-radius:19px;background:var(--card);color:var(--text);text-decoration:none;box-shadow:0 6px 20px rgba(16,24,48,.06)}
.event-card:active,.region-card:active{transform:scale(.992)}
.event-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.event-type{font-size:12px;font-weight:700;color:var(--muted)}
/* 状态药丸（事件域专用类，仅在 event-discovery.js 产出）：底/文字色按本批令牌
   淡蓝 #e8f0fb·#0b2a63、琥珀 #fff4e0·#a9660a、中性 #f0f1f6·#4a4e58。 */
.event-status{display:inline-flex;align-items:center;min-height:26px;padding:3px 11px;border-radius:999px;background:#f0f1f6;color:#4a4e58;font-size:13px;font-weight:700;white-space:nowrap}
.event-status.signup,.event-status.checkin,.event-status.open,.event-status.roster_locked{background:var(--ok-bg);color:var(--ok-ink)}
.event-status.playing,.event-status.waitlist,.event-status.halt_pending,.event-status.transfer_pending{background:#fff4e0;color:#a9660a}
.event-status.settled,.event-status.cancelled,.event-status.halted{background:#f1f1ee;color:#6a6d68}
.event-status.mixed{background:#eef0f7;color:#515b78}
.event-card h2{margin:10px 0 5px;font-size:18px;line-height:1.35}
.event-card>p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.55}
.event-facts,.instance-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.event-facts div,.instance-facts div{min-width:0}
.event-facts dt,.instance-facts dt{display:flex;align-items:center;gap:4px;margin-bottom:3px;color:var(--muted);font-size:12px}
.event-facts dt .ico{width:14px}
.event-facts dd,.instance-facts dd{margin:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.event-open{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--accent);font-size:13px;font-weight:700}
.event-open b{font-size:20px}
.event-more,.event-manage-link{display:flex;width:100%;min-height:46px;margin:14px 0;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--accent);font-weight:700;text-decoration:none}
.event-state{margin:14px 0;padding:25px 16px;border:1px dashed var(--line);border-radius:18px;text-align:center;background:var(--card)}
.event-state b{font-size:16px}
.event-state p{margin:6px 0 12px;color:var(--muted);font-size:14px}
.event-state.error{border-style:solid;border-color:#eac3bc}
.text-btn{min-height:44px;padding:0 14px;border:0;background:transparent;color:var(--accent);font-size:13px}
.event-detail-hero .event-card-top{position:relative}
.event-detail-hero{margin-top:6px;padding:16px 18px 15px}
.event-detail-hero h1{margin:5px 0 5px;font-size:22px;line-height:1.3;overflow-wrap:break-word;text-wrap:balance}
.event-detail-hero .event-status{background:rgba(255,255,255,.16);color:#fff}
.event-detail-hero .event-type{color:#cfe0f8}
.event-host{position:relative;margin-top:15px;font-size:13px;color:#d8e4f7}
.event-host a,.region-hero a{color:#fff;font-weight:700}
.event-detail-hero .btn,.region-hero .btn{position:relative;margin-top:14px;border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.08)}
.event-rules,.region-contact{margin:12px 0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.event-rules h2{margin:0 0 10px;font-size:17px}
.event-rules>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}
.event-rules>div b{flex:none}
.event-rules>div span,.event-rules>div p{margin:0;color:var(--muted);text-align:right;line-height:1.5}
.event-rules .event-require{display:block}
.event-rules .event-require p{text-align:left;margin-top:6px;white-space:pre-wrap}
.event-rules>small{display:block;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.event-section-title{display:flex;align-items:end;justify-content:space-between;margin:20px 2px 10px}
.event-section-title span{color:var(--muted)}
.event-section-title h2{margin:2px 0 0;font-size:19px}
.event-section-title em{font-size:12px;font-style:normal;color:var(--muted)}
.instance-card{padding:16px;border:1px solid var(--line);border-radius:19px;background:var(--card)}
.instance-card h3{margin:0;font-size:17px}
.instance-facts{padding:10px 0;border-bottom:1px solid var(--line)}
.event-my{display:flex;align-items:center;justify-content:space-between;margin:8px 0;font-size:13px}
.event-my span{color:var(--accent);font-weight:700}
.event-actions{display:flex;gap:8px}
.event-actions .btn{flex:1}
.event-enroll,.event-edit{width:100%;min-height:44px;margin-top:8px}
.event-deadline{padding:10px;border-radius:11px;background:var(--bg);color:var(--muted);font-size:13px;text-align:center}
.region-hero .region-code{display:inline-flex;padding:4px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12px}
.region-card{display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);text-decoration:none}
.region-mark{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:15px;background:#e8effa;color:#0b2a63;font-size:20px;font-weight:800}
.region-card h2{margin:0 0 4px;font-size:16px}
.region-card p{display:-webkit-box;overflow:hidden;margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.region-card span{font-size:12px;color:var(--accent)}
.region-card>b,.region-place>strong,.region-event>strong{color:var(--muted);font-size:19px}
.region-contact span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}
.region-contact b{font-size:16px}
.region-contact p{margin:5px 0 0;white-space:pre-wrap;font-size:14px;line-height:1.55}
.region-section{margin-top:20px}
.region-place,.region-event{display:flex;min-height:62px;align-items:center;gap:11px;padding:11px 12px;border-bottom:1px solid var(--line);background:var(--card);color:var(--text);text-decoration:none}
.region-place:first-of-type,.region-event:first-of-type{border-radius:15px 15px 0 0}
.region-place:last-child,.region-event:last-child{border-bottom:0;border-radius:0 0 15px 15px}
.region-place>div{display:flex;width:38px;height:38px;flex:none;align-items:center;justify-content:center;border-radius:12px;background:#edf2fa;color:var(--accent)}
.region-place>div .ico{width:19px}
.region-place p,.region-event>div{min-width:0;flex:1;margin:0}
.region-place b,.region-event b{display:block;font-size:14px}
.region-place span,.region-event span{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.region-content .event-section-title{align-items:center}
.region-content-more{min-height:44px;padding:0 4px;display:inline-flex;align-items:center;color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}
.region-content-row{display:block;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.region-content-row:first-of-type{border-top:1px solid var(--line)}
.region-content-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.region-content-meta{display:block;color:var(--muted);font-size:12px}
.region-content-head>span{color:var(--accent);font-weight:700}
.region-content-row h3{width:100%;margin:7px 0 4px;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.region-content-row>p{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.5}
.region-content-meta b{display:block;min-width:0;margin-top:4px;color:var(--muted);font-size:12px;font-weight:500;text-align:left;overflow-wrap:anywhere}
.event-preview-list{margin:0 14px 12px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card)}
.event-preview-row{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.event-preview-row:last-child{border:0}
.event-preview-row b,.event-preview-row span{display:block}
.event-preview-row b{font-size:14px}
.event-preview-row span{margin-top:3px;color:var(--muted);font-size:12px}
.field small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4}
@media(max-width:350px){.event-page,.region-page{padding-left:10px;padding-right:10px}
.event-intro,.region-intro,.event-detail-hero,.region-hero{padding:19px 16px}
.event-filter-grid{grid-template-columns:1fr}
.event-facts,.instance-facts{grid-template-columns:1fr}
.event-card h2{font-size:17px}
}


.home-section-link{min-height:44px;padding:0 10px;border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:700;white-space:nowrap}


.event-decision,.event-help{margin:6px 0;color:var(--muted);font-size:12px;line-height:1.5}
.event-intro>.btn{position:relative;min-height:44px;margin-top:14px;border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.08)}


.event-list-tools{display:flex;justify-content:flex-end;margin:8px 0}.event-list-tools .btn{min-height:44px}.region-count{margin:8px 2px 10px;color:var(--muted);font-size:13px}

/* U3d 轮转活动详情：纸白分区与专用到场操作栏。 */
.activity-detail{min-height:100%;background:var(--card);color:var(--text);overflow-x:hidden}
.activity-detail-main{padding-bottom:112px}
.activity-detail-top{position:sticky;top:0;z-index:25;display:flex;min-height:54px;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--topbar-bg);backdrop-filter:blur(8px)}
.activity-detail-top.on-cover{position:absolute;left:0;right:0;color:#fff;border:0;background:linear-gradient(180deg,rgba(0,0,0,.58),transparent);backdrop-filter:none}
.detail-round-btn,.detail-share-btn{display:flex;min-width:44px;height:44px;align-items:center;justify-content:center;gap:5px;border:0;border-radius:22px;background:rgba(12,16,32,.55);color:#fff;font:inherit;cursor:pointer}
.detail-round-btn{font-size:29px;line-height:1}.detail-share-btn{padding:0 12px}.detail-share-btn .ico{width:19px}
.activity-detail-top:not(.on-cover) .detail-round-btn,.activity-detail-top:not(.on-cover) .detail-share-btn{background:var(--seg-bg);color:var(--text)}
.detail-top-title{flex:1;min-width:0;text-align:center;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.on-cover .detail-top-title{visibility:hidden}
.activity-detail .event-detail-cover{max-height:250px;aspect-ratio:16/9}
.activity-identity,.activity-section{padding:20px 18px;border-bottom:1px solid var(--line)}
.activity-title-row{display:flex;align-items:flex-start;gap:10px}.activity-title-row h1{min-width:0;flex:1;margin:0;font-size:25px;line-height:1.3;overflow-wrap:anywhere}
.activity-state{flex:none;padding:5px 11px;border-radius:999px;background:#edf1f8;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.activity-state.open{background:var(--ok-bg);color:var(--ok-ink)}.activity-state.paused,.activity-state.ended{background:#f1f1ee;color:#6a6d68}.activity-state.outside_window,.activity-state.not_started{background:#fff1d4;color:#8d5a00}
.activity-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.activity-tags span{padding:4px 10px;border-radius:999px;background:#edf1fa;color:var(--accent);font-size:13px;font-weight:700}.activity-identity>p{margin:10px 0 0;color:var(--muted);font-size:15px}
.activity-section h2{margin:0 0 12px;font-size:19px}.activity-section>p{margin:0;color:var(--muted);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.activity-section>small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.6}
.activity-fact{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:7px 0}.activity-fact b{color:var(--muted);font-weight:500}.activity-fact span{overflow-wrap:anywhere}
.activity-place-row{display:flex;align-items:center;gap:12px}.activity-place-copy{min-width:0;flex:1}.activity-place-copy strong,.activity-place-copy>span{display:block;overflow-wrap:anywhere}.activity-place-copy>span{margin-top:3px;color:var(--muted)}.activity-place-copy .travel-metric,.activity-place-copy .travel-unavailable{display:block;margin-top:5px;font-size:13px}.activity-place-actions{display:flex;flex:none;align-items:stretch}.activity-place-action{display:flex;width:58px;min-height:54px;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--accent);font:inherit;font-size:13px;text-decoration:none;cursor:pointer}.activity-place-action .ico{width:23px;height:23px}.activity-place-disabled,.activity-place-state{color:var(--muted);font-size:13px;line-height:1.5}.activity-place .travel-controls{margin:12px 0 0}
.activity-steps{display:grid;grid-template-columns:1fr 16px 1fr 16px 1fr;align-items:center;margin:6px 0 14px}.activity-steps div{display:flex;min-width:0;flex-direction:column;align-items:center;gap:6px;text-align:center}.activity-steps b{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:50%;color:var(--accent)}.activity-steps span{font-size:13px;font-weight:700}.activity-steps i{text-align:center;color:var(--muted);font-style:normal;font-size:22px}
.activity-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-section-head h2{margin:0}.activity-section-head a{min-height:44px;display:flex;align-items:center;font-size:14px;text-decoration:none}.activity-rules>p{margin-top:10px}.activity-prize strong{display:block;margin-top:11px}.activity-prize>p{margin-top:5px}.activity-prize .activity-note{color:var(--text)}
.activity-detail-bar{position:fixed;left:50%;bottom:0;z-index:28;display:grid;width:min(100%,430px);min-height:82px;grid-template-columns:minmax(0,1fr) minmax(148px,1.35fr);align-items:center;gap:12px;padding:11px 16px calc(11px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(10,20,45,.08)}
.activity-detail-bar>div span,.activity-detail-bar>div b{display:block;overflow-wrap:anywhere}.activity-detail-bar>div span{color:var(--muted);font-size:12px}.activity-detail-bar>div b{font-size:14px}.activity-primary{display:flex;min-height:54px;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:0;border-radius:14px;background:var(--btn-grad);color:#fff;font:inherit;font-size:16px;font-weight:800;text-align:center;text-decoration:none;box-shadow:var(--btn-glow)}.activity-primary.secondary{background:var(--seg-bg);color:var(--accent);box-shadow:none}.activity-primary:disabled{background:var(--seg-bg);color:var(--muted);box-shadow:none}.activity-primary .ico{width:21px}
.activity-error{padding:72px 18px}.activity-error .btn{margin:6px}
@media(max-width:350px){.activity-identity,.activity-section{padding-left:14px;padding-right:14px}.activity-title-row h1{font-size:22px}.activity-place-row{align-items:flex-start;flex-direction:column}.activity-place-actions{width:100%;justify-content:flex-end}.activity-place-action{border-left:0;border-top:1px solid var(--line)}.activity-detail-bar{grid-template-columns:minmax(0,1fr) minmax(136px,1.25fr);padding-left:12px;padding-right:12px}.activity-primary{font-size:15px}.detail-share-btn span{display:none}.detail-share-btn{width:44px;padding:0}}
@media(min-width:520px){.activity-detail-bar{bottom:16px}}

/* U3d 正式赛事详情：所选场次、本人动作与有界选择面板。 */
.formal-detail{min-height:100%;background:var(--card);color:var(--text);overflow-x:hidden}.formal-detail-main{padding-bottom:116px}.formal-detail .event-detail-cover{max-height:250px}.formal-identity,.formal-selected{padding:20px 18px;border-bottom:1px solid var(--line)}
.formal-title-row{display:flex;align-items:flex-start;gap:10px}.formal-title-row h1{min-width:0;flex:1;margin:0;font-size:25px;line-height:1.3;overflow-wrap:anywhere}.formal-identity>p{margin:10px 0 0;color:var(--muted)}
.formal-detail-state{flex:none;padding:5px 10px;border-radius:999px;background:#edf1f8;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap}.formal-detail-state.signup,.formal-detail-state.checkin{background:var(--ok-bg);color:var(--ok-ink)}.formal-detail-state.playing{background:#fff1d4;color:#8d5a00}.formal-detail-state.review{background:#eef0f7;color:#515b78}.formal-detail-state.settled,.formal-detail-state.cancelled,.formal-detail-state.halted{background:#f1f1ee;color:#6a6d68}
.formal-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;background:#f7f9fd}.formal-selected>div{min-width:0}.formal-selected>div span,.formal-selected>div strong{display:block}.formal-selected>div span{color:var(--muted);font-size:12px}.formal-selected>div strong{margin-top:2px;overflow-wrap:anywhere}.formal-selected button,.formal-selected>a{min-height:44px;padding:0 5px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:700;text-decoration:none}.formal-selected>a{grid-column:1;display:flex;align-items:center;width:max-content}
.formal-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.formal-facts div{min-width:0}.formal-facts span,.formal-facts b{display:block}.formal-facts span{color:var(--muted);font-size:12px}.formal-facts b{margin-top:3px;font-size:14px;overflow-wrap:anywhere}.formal-facts div:first-child{grid-column:1/-1}
.formal-my-state,.formal-other-relation{margin-bottom:10px;padding:11px 12px;border-radius:12px;background:#edf1fa}.formal-my-state{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.formal-my-state span{color:var(--accent);font-weight:700}.formal-my-state small{grid-column:1/-1;color:var(--muted)}.formal-other-relation{color:var(--muted);font-size:13px;line-height:1.55}.formal-participation>a{display:flex;min-height:44px;align-items:center;color:var(--accent);font-size:13px;text-decoration:none}
.formal-manage{display:flex;min-height:50px;align-items:center;justify-content:center;margin:14px 18px;border:1px solid var(--line);border-radius:14px;color:var(--accent);font-weight:700;text-decoration:none}
.formal-detail-bar{position:fixed;left:50%;bottom:0;z-index:28;display:grid;width:min(100%,430px);min-height:82px;grid-template-columns:minmax(0,.9fr) minmax(150px,1.3fr);align-items:center;gap:12px;padding:11px 16px calc(11px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(10,20,45,.08)}.formal-detail-bar>div>span,.formal-detail-bar>div>b{display:block;overflow-wrap:anywhere}.formal-detail-bar>div>span{color:var(--muted);font-size:12px}.formal-detail-bar>div>b{font-size:14px}.formal-primary,.formal-secondary{display:flex;min-height:54px;align-items:center;justify-content:center;padding:8px 14px;border:0;border-radius:14px;font:inherit;font-weight:800;text-align:center;text-decoration:none}.formal-primary{background:var(--btn-grad);color:#fff;box-shadow:var(--btn-glow)}.formal-primary:disabled{background:var(--seg-bg);color:var(--muted);box-shadow:none}.formal-secondary{min-height:44px;background:var(--seg-bg);color:var(--accent)}.formal-invite-actions{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:7px}
.formal-instance-options{max-height:min(58vh,520px);margin:12px 0;overflow-y:auto}.formal-instance-option{display:grid;gap:9px;padding:13px 2px;border-bottom:1px solid var(--line)}.formal-instance-option.selected{background:#f4f7fc}.formal-instance-option>div:first-child{min-width:0}.formal-instance-option b,.formal-instance-option span{display:block;overflow-wrap:anywhere}.formal-instance-option span{margin-top:3px;color:var(--muted);font-size:12px}.formal-instance-option .travel-metric,.formal-instance-option .travel-unavailable{margin-top:4px;color:var(--muted);font-size:12px}.formal-option-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.formal-option-actions>a{display:flex;min-height:44px;align-items:center;font-size:13px;text-decoration:none}
@media(max-width:350px){.formal-identity,.formal-selected{padding-left:14px;padding-right:14px}.formal-title-row h1{font-size:22px}.formal-selected{grid-template-columns:minmax(0,1fr)}.formal-selected button{justify-self:start;padding:0}.formal-detail-bar{grid-template-columns:minmax(0,.8fr) minmax(142px,1.25fr);padding-left:12px;padding-right:12px}.formal-detail-bar>div>b{font-size:13px}.formal-primary{padding-left:9px;padding-right:9px;font-size:14px}}
@media(min-width:520px){.formal-detail-bar{bottom:16px}}

/* U3c1 赛事总览：分类切换、折叠筛选与紧凑分隔行。
   2026-09-12 按参考图 docs/design-references/events-20260909/approved-v1.png 对齐（本批令牌：
   品牌蓝 #002080／深色文字 #001040／淡蓝 #e8f0fb·#0b2a63／琥珀 #fff4e0·#a9660a／页面底 #fafbfe）：
   列表行左侧固定 98px 方块封面位——有封面用鉴权 Blob 缩略图，无封面或封面读取失败时由内联
   SVG 占位封面占位（发起人要求「不要留空」），右侧标题/标签/时间/地点/人数按令牌分层。
   封面位两种状态（has-cover/no-cover）网格相同，封面加载失败由 event-cover.js 移除图片后
   退回占位封面，不产生空白或跳版。 */
.event-browser-page,.event-page{--ev-brand:#002080;--ev-brand-ink:#001040;--ev-mint:#e8f0fb;--ev-mint-ink:#0b2a63;--ev-amber:#fff4e0;--ev-amber-ink:#a9660a;--ev-page:#fafbfe;--ev-fact:#454c58;--ev-ico:#7f8894}
.event-browser-page{padding:0 14px 28px;background:var(--ev-page,#fafbfe);color:var(--ink);overflow-x:hidden}
.event-browser-top .tb-title{font-size:23px;font-weight:800;color:var(--ev-brand-ink,#001040)}
.event-browser-guide{display:flex;min-height:40px;align-items:center;gap:9px;margin:8px 0 2px;padding:8px 13px;border-radius:12px;background:var(--ev-mint,#e8f0fb);color:#415066;font-size:13px;line-height:1.45}
.event-browser-guide .ico{width:20px;height:20px;flex:none;color:var(--ev-mint-ink,#0b2a63)}
.event-browser-tabs{display:grid;grid-template-columns:1fr 1fr;margin:10px 0 0;border-bottom:1px solid var(--line)}
.event-browser-tabs button{position:relative;min-height:54px;border:0;background:transparent;color:#5a6470;font-size:16px;font-weight:700;cursor:pointer}
.event-browser-tabs button.on{color:var(--ev-brand-ink,#001040);font-size:20px;font-weight:800}
.event-browser-tabs button.on:after{content:"";position:absolute;left:50%;bottom:-1px;width:60px;height:4px;border-radius:4px 4px 0 0;background:var(--ev-brand,#002080);transform:translateX(-50%)}
.event-browser-tools{display:flex;min-height:52px;align-items:center;gap:8px}
.event-browser-filter-toggle,.event-browser-clear{min-height:36px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:#3e424a;font-size:13px;font-weight:700;cursor:pointer}
.event-browser-filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:0 14px}.event-browser-filter-toggle .ico{width:15px;height:15px;color:var(--ev-mint-ink,#0b2a63)}
.event-browser-filter-toggle.on{border-color:transparent;background:var(--ev-mint,#e8f0fb);color:var(--ev-brand-ink,#001040)}
.event-browser-clear{margin-left:auto;padding:0 13px;color:#5a6470;font-weight:500}
.event-browser-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.event-browser-filter label{display:flex;min-width:0;flex-direction:column;gap:5px}.event-browser-filter label>span{color:var(--ev-fact,#454c58);font-size:12px}.event-browser-filter label.wide{grid-column:1/-1}
.event-browser-filter select,.event-browser-filter input{width:100%;height:44px;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.event-browser-filter>.btn{grid-column:1/-1;min-height:44px}
.event-browser-results{border-top:1px solid var(--line)}
.event-browser-row{display:grid;grid-template-columns:98px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.event-browser-row>.event-browser-copy{grid-column:2;grid-row:1;min-width:0}
.event-browser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.event-browser-head h2{min-width:0;margin:0;font-size:17px;font-weight:700;line-height:1.35;color:var(--ev-brand-ink,#001040);overflow-wrap:anywhere}.event-browser-head .event-status{flex:none}
.event-browser-tags{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0}.event-browser-tags span{padding:3px 10px;border-radius:999px;background:var(--ev-mint,#e8f0fb);color:var(--ev-mint-ink,#0b2a63);font-size:11px;font-weight:700;line-height:1.5}.event-browser-tags span+span{background:#f0f1f6;color:#4a4e58}
.event-browser-copy p{display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px;margin:6px 0 0;color:var(--ev-fact,#454c58);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.event-browser-copy p .ico{width:15px;height:15px;flex:none;margin-top:1px;color:var(--ev-ico,#7f8894)}
.event-browser-copy .travel-metric{display:inline-flex;align-items:center;margin:0 0 0 auto;color:var(--ev-fact,#454c58);font-weight:600}
.event-browser-copy .travel-metric:before{content:"";width:16px;height:16px;flex:none;margin-right:4px;background:currentColor;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 10.6 7.5 6.9A1.9 1.9 0 0 1 9.3 5.6h5.4a1.9 1.9 0 0 1 1.8 1.3l1.3 3.7'/%3E%3Cpath d='M5.4 10.6h13.2a1.4 1.4 0 0 1 1.4 1.4v3.2a1 1 0 0 1-1 1h-14a1 1 0 0 1-1-1V12a1.4 1.4 0 0 1 1.4-1.4Z'/%3E%3Cpath d='M7.6 16.2v1.9M16.4 16.2v1.9M8.4 13.2h1.4M14.2 13.2h1.4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 10.6 7.5 6.9A1.9 1.9 0 0 1 9.3 5.6h5.4a1.9 1.9 0 0 1 1.8 1.3l1.3 3.7'/%3E%3Cpath d='M5.4 10.6h13.2a1.4 1.4 0 0 1 1.4 1.4v3.2a1 1 0 0 1-1 1h-14a1 1 0 0 1-1-1V12a1.4 1.4 0 0 1 1.4-1.4Z'/%3E%3Cpath d='M7.6 16.2v1.9M16.4 16.2v1.9M8.4 13.2h1.4M14.2 13.2h1.4'/%3E%3C/svg%3E") center/contain no-repeat}
.event-browser-copy .event-browser-prize{color:var(--gold-deep)}
.event-browser-state{margin:22px 0;padding:24px 14px;text-align:center;color:var(--ev-fact,#454c58);font-size:13px}.event-browser-state b{display:block;color:var(--text);font-size:15px}.event-browser-state p{margin:6px 0 12px}.event-browser-state.error{color:var(--red)}
.event-browser-more-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff3ef;color:var(--red);font-size:12px}.event-browser-more-error button{min-height:36px;flex:none;border:0;background:transparent;color:var(--accent);font-weight:700}
/* 左侧封面位：占位封面（内联 SVG）与真实缩略图叠在同一方块里，图片加载失败被移除后
   仍显示占位封面；两种状态网格一致，切换不跳版。 */
.event-cover-media{position:relative;display:block;width:100%;grid-column:1;grid-row:1;aspect-ratio:1/1;overflow:hidden;border-radius:10px;background:var(--ev-mint,#e8f0fb)}
.event-cover-media>.event-cover-placeholder{position:absolute;left:0;top:0;display:block;width:100%;height:100%}
.event-cover-media>.event-cover-thumb{position:absolute;left:0;top:0;display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;background:transparent}
@media(max-width:350px){.event-browser-page{padding-left:10px;padding-right:10px}.event-browser-row{grid-template-columns:84px minmax(0,1fr);gap:9px}.event-browser-head h2{font-size:16px}.event-browser-tabs button{font-size:15px}.event-browser-tabs button.on{font-size:18px}.event-browser-tabs button.on:after{width:52px}}
/* #/formal 正式赛事列表（旧行样式只换封面位，不复制赛事页的分隔行）：左侧仍是同一封面位。 */
.event-card.event-list-row{display:grid;grid-template-columns:98px minmax(0,1fr);align-items:start;gap:12px}
.event-list-row>.event-cover-copy{grid-column:2;grid-row:1;min-width:0}
.event-list-row h2,.event-list-row b,.event-list-row dd{overflow-wrap:anywhere}
@media(max-width:350px){.event-card.event-list-row{grid-template-columns:84px minmax(0,1fr);gap:9px}}
