/* UchiMarket: a quiet, compact market board. UI/UX Pro Max: Minimalism & Swiss Style. */
:root {
  color-scheme: dark;
  --bg:#111315; --bg2:#15181b; --panel:#191c20; --panel2:#20242a;
  --border:#333940; --muted:#a6afb9; --soft:#c4cbd3; --white:#f0f2f4;
  --accent:#c5d6fb; --accent2:#95b4ef; --green:#83d4a3; --red:#efb1a9; --gold:#d7c591;
  --yes-bg:#1d3026; --yes-border:#416b52; --no-bg:#302625; --no-border:#76524d;
  --radius:8px; --motion:160ms;
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size:14px; line-height:1.6; color:var(--white); background:var(--bg); font-synthesis:none;
}
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; overflow-x:hidden; }
button,input,select { font:inherit; }
button { cursor:pointer; touch-action:manipulation; }
button:disabled { cursor:not-allowed; }
a { color:inherit; text-decoration:none; }
input,select { color:var(--white); }
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
::selection { background:#3a5276; color:white; }
.hidden { display:none!important; }
.skip-link { position:fixed; top:8px; left:16px; transform:translateY(-150%); z-index:200; padding:12px 16px; border-radius:5px; background:var(--white); color:var(--bg); }
.skip-link:focus { transform:none; }
.app-shell { width:min(1240px,calc(100% - 64px)); margin:0 auto; }
.topbar { min-height:80px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); gap:28px; position:relative; z-index:10; }
.brand-group,.brand,.nav,.header-actions,.account-balance { display:flex; align-items:center; }
.brand { background:none; color:var(--white); border:0; padding:8px 0; gap:10px; }
/* Display the approved logo's central lockup without its presentation margins. */
.brand-logo-window { display:block; position:relative; flex:none; width:176px; aspect-ratio:1080/290; overflow:hidden; mix-blend-mode:lighten; }
.brand-logo-image { position:absolute; width:164.2593%; max-width:none; height:auto; left:-32.4074%; top:-103.4483%; display:block; pointer-events:none; }
.header-divider { height:16px; width:1px; background:var(--border); margin:0 14px; }
.event-context { color:var(--muted); font-size:11px; letter-spacing:.6px; white-space:nowrap; }
.event-context strong { font-weight:500; }
.nav { gap:8px; margin-left:auto; align-self:stretch; }
.nav-link { border:0; border-bottom:2px solid transparent; border-radius:0; background:none; color:var(--muted); padding:12px 10px; font-size:13px; font-weight:600; min-height:44px; transition:color var(--motion),border-color var(--motion); white-space:nowrap; }
.nav-link:hover,.nav-link.active { color:var(--white); }
.nav-link.active { border-bottom-color:var(--white); }
.header-actions { gap:16px; position:relative; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:44px; border:1px solid transparent; border-radius:6px; padding:10px 18px; font-size:13px; font-weight:650; white-space:nowrap; transition:background var(--motion),border-color var(--motion); }
.btn-primary,.btn-bright { background:var(--white); color:var(--bg); }
.btn-primary:hover:not(:disabled),.btn-bright:hover:not(:disabled) { background:#d2d9e1; }
.btn-sm { padding:8px 14px; }
.btn-danger { color:var(--red); background:var(--no-bg); border-color:var(--no-border); }
.btn-danger:hover:not(:disabled) { background:#45302c; }
.btn:disabled { opacity:.45; }
.full { width:100%; }
.account-balance { gap:4px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.account-balance small { color:var(--muted); font-size:12px; }
.profile-btn { min-width:44px; min-height:44px; display:flex; align-items:center; gap:8px; background:none; border:0; color:var(--white); padding:0; }
.profile-avatar,.leader-ava { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#30363d; color:var(--soft); font-size:12px; font-weight:600; flex-shrink:0; }
.profile-name { max-width:80px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.chevron { color:var(--muted); }
.account-popup { position:absolute; right:0; top:54px; min-width:220px; padding:8px; border:1px solid var(--border); border-radius:var(--radius); background:var(--panel2); box-shadow:0 12px 30px #0005; }
.account-popup-info { border-bottom:1px solid var(--border); padding:8px; }
.account-popup-info span,.account-popup-info small { display:block; }
.account-popup-info small { color:var(--muted); margin-top:4px; }
.account-popup button { width:100%; min-height:44px; text-align:left; border:0; padding:8px; background:none; color:var(--red); }
.page { display:none; }
.page.active { display:block; }
.ticker { min-height:40px; display:flex; align-items:center; gap:20px; color:var(--muted); font-size:12px; border-bottom:1px solid var(--border); overflow:hidden; }
.ticker-label { display:flex; align-items:center; gap:7px; white-space:nowrap; flex-shrink:0; }
.tiny-pulse,.status-dot { height:6px; width:6px; display:inline-block; border-radius:50%; background:var(--muted); flex-shrink:0; }
.tiny-pulse,.status-dot.polling,.status-dot.live { background:var(--green); }
.ticker-marquee { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.ticker-source { white-space:nowrap; }
.hero { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:40px 0 32px; }
.eyebrow,.section-kicker,.modal-eyebrow { font-size:11px; color:var(--muted); font-weight:600; letter-spacing:1.2px; }
.hero h1 { font-size:32px; line-height:1.3; letter-spacing:-1.2px; font-weight:650; margin:10px 0 12px; }
.hero p { color:var(--muted); margin:0; }
.hero-cta { display:flex; flex-direction:column; gap:8px; align-items:center; flex-shrink:0; }
.hero-free { color:var(--muted); font-size:12px; }
.summary-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:18px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.metric { padding:0 24px; border-right:1px solid var(--border); }
.metric:first-child { padding-left:0; }
.metric:last-child { border-right:0; }
.metric small { display:block; color:var(--muted); font-size:12px; }
.metric strong { display:block; font-size:17px; line-height:1.5; margin-top:3px; font-weight:600; font-variant-numeric:tabular-nums; }
.metric-unit { font-size:12px; font-weight:400; color:var(--muted); margin-left:3px; }
.home-layout { display:grid; grid-template-columns:minmax(0,1fr) 276px; gap:32px; margin:36px 0 64px; align-items:start; }
.main-column,.side-column { min-width:0; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.section-heading h2 { font-size:23px; letter-spacing:-.6px; font-weight:650; margin:3px 0 4px; }
.section-heading p,.page-intro p { color:var(--muted); margin:0; font-size:13px; }
.market-indicator { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; flex-shrink:0; }
.market-tools { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 20px; }
.filter-pills { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.filter-pill { background:none; color:var(--muted); border:1px solid var(--border); border-radius:5px; min-height:40px; padding:8px 11px; font-size:12px; white-space:nowrap; transition:background var(--motion),color var(--motion); }
.filter-pill:hover { color:var(--white); background:var(--panel2); }
.filter-pill.selected { color:var(--bg); background:var(--white); border-color:var(--white); font-weight:650; }
.search-wrap { display:flex; align-items:center; min-height:42px; flex:1 1 170px; gap:8px; padding:8px 12px; border:1px solid var(--border); border-radius:5px; color:var(--muted); }
.search-wrap input { min-width:0; width:100%; border:0; outline:none; background:none; font-size:13px; }
.search-wrap:focus-within { border-color:var(--accent); outline:1px solid var(--accent); }
.markets-container { display:grid; gap:24px; }
.market-card { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--panel); }
.market-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; }
.market-head-left { display:flex; align-items:center; min-width:0; gap:12px; }
.event-tile { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; color:var(--soft); background:var(--panel2); border:1px solid var(--border); border-radius:6px; position:relative; overflow:hidden; }
.event-tile svg { width:20px; height:20px; }
.event-head-detail { min-width:0; }
.event-card-title { font-size:15px; font-weight:650; line-height:1.5; overflow-wrap:anywhere; }
.event-meta-inline { display:block; font-size:12px; font-weight:400; color:var(--muted); margin-top:1px; }
.event-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:5px; color:var(--muted); font-size:11px; }
.source-mini { color:var(--muted); }
.market-event-link { min-height:44px; display:flex; align-items:center; color:var(--muted); font-size:12px; white-space:nowrap; flex-shrink:0; }
.market-event-link:hover { color:var(--white); text-decoration:underline; }
.market-table-heading,.market-row { display:grid; grid-template-columns:minmax(0,1fr) 64px 76px 76px; gap:12px; padding:10px 20px; align-items:center; }
.market-table-heading { color:var(--muted); background:var(--bg2); font-size:11px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.market-table-heading span:nth-child(n+2) { text-align:center; }
.market-row { min-height:78px; border-bottom:1px solid var(--border); }
.market-row:last-of-type { border-bottom:0; }
.market-row:hover { background:#1d2125; }
.choice-info { display:flex; align-items:center; min-width:0; gap:10px; }
.choice-avatar { height:32px; width:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:5px; background:var(--panel2); color:var(--soft); position:relative; overflow:hidden; }
.choice-details { min-width:0; }
.choice-name { font-size:14px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.choice-mini { color:var(--muted); font-size:11px; margin-top:3px; line-height:1.5; }
.chance-cell { text-align:center; font-variant-numeric:tabular-nums; }
.chance-val { font-size:12px; }
.chance-progress { display:block; margin:5px auto 0; width:48px; height:3px; appearance:none; border:0; background:var(--border); border-radius:2px; overflow:hidden; }
.chance-progress::-webkit-progress-bar { background:var(--border); }
.chance-progress::-webkit-progress-value { background:#9ba8b9; }
.chance-progress::-moz-progress-bar { background:#9ba8b9; }
.market-bet-btn { display:grid; grid-template-rows:auto auto; justify-items:center; align-content:center; gap:3px; min-height:52px; width:100%; padding:7px 4px; border:1px solid; border-radius:5px; line-height:1.2; font-variant-numeric:tabular-nums; transition:background var(--motion),border-color var(--motion); }
.bet-choice,.bet-odds { display:block; white-space:nowrap; }
.bet-choice { font-weight:650; font-size:12px; letter-spacing:.2px; }
.bet-odds { font-weight:500; font-size:12px; }
.market-bet-btn.yes { background:var(--yes-bg); color:var(--green); border-color:var(--yes-border); }
.market-bet-btn.no { background:var(--no-bg); color:var(--red); border-color:var(--no-border); }
.market-bet-btn.yes:hover:not(:disabled) { background:#294536; }
.market-bet-btn.no:hover:not(:disabled) { background:#46312e; }
.market-bet-btn:disabled { background:var(--bg2); color:#7e8995; border-color:var(--border); }
.row-settled { grid-column:3/5; color:var(--muted); text-align:center; font-size:12px; }
.event-expand { width:100%; min-height:44px; background:var(--bg2); color:var(--soft); border:0; border-top:1px solid var(--border); font-size:12px; }
.event-expand:hover { background:var(--panel2); }
.loading-frame,.empty-state { min-height:180px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:32px 20px; border:1px solid var(--border); border-radius:var(--radius); text-align:center; }
.loading-frame strong,.empty-state strong { font-size:15px; font-weight:600; }
.loading-frame small,.empty-state p { color:var(--muted); margin:0; max-width:50ch; }
.loading-spinner { width:22px; height:22px; border:2px solid var(--border); border-top-color:var(--soft); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.disclaimer { color:var(--muted); font-size:12px; line-height:1.8; margin-top:20px; max-width:90ch; }
.disclaimer b { font-weight:600; color:var(--soft); }
.leaderboard-card,.rules-card { border:1px solid var(--border); border-radius:var(--radius); background:var(--bg2); padding:20px; }
.aside-heading h3 { font-weight:650; font-size:18px; margin:6px 0; letter-spacing:-.5px; }
.aside-heading p { color:var(--muted); font-size:12px; margin:0; }
.aside-tabs { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; border-bottom:1px solid var(--border); padding:16px 0 10px; }
.aside-tabs .tab-on { color:var(--white); }
.leader-mini { display:flex; align-items:center; gap:8px; padding:13px 0; border-bottom:1px solid var(--border); }
.leader-pos { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; width:18px; }
.leader-pos.top { color:var(--white); }
.leader-nick { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.leader-points { text-align:right; font-variant-numeric:tabular-nums; font-size:12px; }
.leader-points small { display:none; }
.aside-more { display:flex; align-items:center; justify-content:space-between; min-height:44px; width:100%; color:var(--soft); font-size:12px; padding:10px 0 0; border:0; background:none; }
.empty-small { color:var(--muted); font-size:13px; padding:24px 0; line-height:1.7; }
.rules-card { margin-top:20px; }
.rules-card h3 { font-weight:650; font-size:15px; margin:0 0 16px; }
.steps { list-style:none; margin:0; padding:0; counter-reset:steps; }
.steps li { counter-increment:steps; margin-top:16px; padding-left:23px; position:relative; }
.steps li::before { content:counter(steps) "."; position:absolute; left:0; top:0; color:var(--muted); font-size:12px; }
.steps li>span { color:var(--soft); font-size:12px; font-weight:600; }
.steps p,.rules-note { font-size:12px; color:var(--muted); line-height:1.8; margin:4px 0 0; }
.rules-note { padding-top:16px; margin-top:18px; border-top:1px solid var(--border); }
footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid var(--border); padding:24px 0 32px; font-size:11px; color:var(--muted); }
footer a:hover { color:var(--white); text-decoration:underline; }
.footer-brand { color:var(--soft); }
.footer-brand b { font-weight:400; padding:0 4px; color:var(--muted); }
.inner-page { padding:40px 0 80px; }
.page-intro { margin-bottom:28px; }
.page-intro h1 { font-size:30px; letter-spacing:-1px; font-weight:650; margin:8px 0 12px; }
.ranking-board,.history-board,.admin-panel { border:1px solid var(--border); border-radius:var(--radius); background:var(--panel); overflow:hidden; }
.rank-header { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px; border-bottom:1px solid var(--border); }
.rank-header h2 { font-size:16px; font-weight:600; margin:0; }
.rank-header small,.rank-header>span,.rank-badge { font-size:12px; color:var(--muted); }
.rank-header small { display:block; margin-top:5px; }
.ranking-row { display:grid; grid-template-columns:32px minmax(0,1fr) 120px 140px 130px; gap:20px; align-items:center; padding:18px 20px; border-bottom:1px solid var(--border); }
.ranking-row:last-child { border-bottom:0; }
.ranking-row.me { background:#242c39; }
.ranking-pos { font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.ranking-pos.gold { color:var(--white); }
.ranking-user { display:flex; align-items:center; min-width:0; gap:12px; }
.ranking-user span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ranking-point { text-align:right; font-weight:600; font-variant-numeric:tabular-nums; }
.ranking-sub { color:var(--soft); font-size:12px; text-align:right; }
.ranking-sub small { display:block; color:var(--muted); margin-top:4px; }
.my-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:24px; }
.my-stat { border:1px solid var(--border); border-radius:var(--radius); background:var(--bg2); padding:20px; }
.my-stat small { color:var(--muted); font-size:12px; }
.my-stat strong { display:block; font-size:23px; font-weight:600; font-variant-numeric:tabular-nums; margin-top:7px; }
.bet-history-row { display:grid; grid-template-columns:minmax(0,1fr) 100px 100px 120px; gap:20px; align-items:center; padding:20px; border-bottom:1px solid var(--border); }
.bet-history-row:last-child { border-bottom:0; }
.history-title { font-size:14px; font-weight:600; }
.history-sub { margin-top:5px; color:var(--muted); font-size:12px; }
.history-value { text-align:right; font-size:13px; font-variant-numeric:tabular-nums; }
.history-value small { display:block; color:var(--muted); font-size:11px; margin-top:5px; }
.bet-status { display:inline-block; vertical-align:middle; font-size:11px; border:1px solid var(--border); border-radius:4px; font-weight:500; padding:1px 6px; margin-left:5px; }
.bet-status.open { color:var(--accent); }.bet-status.won { color:var(--green); }.bet-status.lost { color:var(--red); }.bet-status.void { color:var(--muted); }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.admin-panel { padding:24px; }
.admin-wide { grid-column:1/-1; }
.admin-panel-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; }
.admin-panel-title h2 { font-size:16px; font-weight:600; margin:0; }
.count-badge,.manual-tag { font-size:11px; padding:2px 7px; border-radius:4px; border:1px solid var(--border); color:var(--soft); }
.registration-setting { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; padding-bottom:16px; }
.registration-setting-copy { flex:1 1 180px; }
.registration-setting h3 { margin:0 0 5px; font-size:14px; font-weight:600; }
.registration-setting p { margin:0; color:var(--muted); font-size:12px; }
.registration-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:106px; padding:6px 8px; border:0; border-radius:5px; background:none; color:var(--soft); font-size:12px; }
.registration-toggle:disabled { cursor:wait; opacity:.6; }
.registration-switch-track { position:relative; width:40px; height:24px; border-radius:14px; border:1px solid var(--border); background:var(--bg2); flex-shrink:0; }
.registration-switch-track::after { content:''; position:absolute; width:16px; height:16px; top:3px; left:3px; border-radius:50%; background:var(--muted); }
.registration-toggle[aria-checked="true"] .registration-switch-track { background:var(--yes-bg); border-color:var(--yes-border); }
.registration-toggle[aria-checked="true"] .registration-switch-track::after { left:19px; background:var(--green); }
.registration-policy-note { padding-bottom:16px; border-bottom:1px solid var(--border); }
.pending-user { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:14px 0; border-bottom:1px solid var(--border); }
.pending-name { flex:1; min-width:120px; font-size:13px; }
.pending-name small { display:block; color:var(--muted); margin-top:4px; }
.admin-action { min-height:40px; border:1px solid var(--yes-border); border-radius:5px; background:var(--yes-bg); color:var(--green); padding:6px 12px; font-size:12px; }
.admin-action.reject { background:var(--no-bg); color:var(--red); border-color:var(--no-border); }
.form-stack { display:grid; gap:16px; }
.form-stack label,.settle-form label { display:grid; gap:7px; color:var(--soft); font-size:13px; }
.form-stack input,.settle-form input,.settle-form select { width:100%; min-width:0; min-height:44px; border:1px solid var(--border); border-radius:5px; background:var(--bg2); padding:10px 12px; font-size:14px; }
input::placeholder { color:#89939e; }
.input-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.hint,.admin-help { font-size:12px; color:var(--muted); line-height:1.8; margin:0; }
.settle-form { display:grid; grid-template-columns:minmax(180px,2fr) 1fr minmax(160px,2fr) auto; align-items:end; gap:12px; }
.admin-help { margin:18px 0; }
.settlement-row { padding:12px 0; border-top:1px solid var(--border); color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.danger-text { color:var(--red); font-size:12px; }
.modal-backdrop { position:fixed; inset:0; z-index:90; background:#000b; }
.modal { position:fixed; z-index:100; top:50%; left:50%; transform:translate(-50%,-50%); width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid var(--border); border-radius:10px; background:var(--panel); box-shadow:0 20px 70px #0005; }
.modal-auth { padding:32px; }
.modal-close,.modal-close-inline { display:grid; place-items:center; width:44px; height:44px; font-size:24px; font-weight:400; color:var(--muted); border:0; background:none; border-radius:5px; }
.modal-close:hover,.modal-close-inline:hover { color:var(--white); background:var(--panel2); }
.modal-close { position:absolute; right:12px; top:12px; }
.modal h2 { font-size:24px; font-weight:650; letter-spacing:-.6px; margin:20px 0 8px; }
.modal h2 span { display:none; }
.modal>p { color:var(--muted); font-size:13px; margin:0 0 24px; }
.auth-switch { display:grid; grid-template-columns:1fr 1fr; margin-bottom:24px; border-bottom:1px solid var(--border); }
.auth-switch button { border:0; border-bottom:2px solid transparent; min-height:44px; color:var(--muted); background:none; }
.auth-switch button.active { color:var(--white); border-bottom-color:var(--white); }
.auth-info { font-size:12px; color:var(--muted); border-top:1px solid var(--border); padding-top:16px; margin-top:24px; }
.bet-drawer { position:fixed; z-index:100; top:0; right:0; bottom:0; width:min(440px,100%); overflow:auto; background:var(--panel); border-left:1px solid var(--border); padding-bottom:env(safe-area-inset-bottom); }
.drawer-top { min-height:64px; padding:8px 24px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--border); }
.drawer-body { padding:24px; }
.drawer-source { font-size:11px; color:var(--muted); }
.bet-team-heading { display:flex; align-items:center; gap:12px; margin:16px 0 6px; min-width:0; }
.bet-team-heading h2 { font-size:25px; font-weight:650; letter-spacing:-.6px; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.drawer-body>p { color:var(--muted); font-size:12px; margin:0 0 24px; }
.bet-side-selector { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0 20px; }
.side-choice { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; min-height:48px; border:1px solid var(--border); border-radius:5px; color:var(--muted); background:var(--bg2); font-weight:650; }
.side-choice span { font-weight:400; font-size:12px; }
.side-choice.yes.active { background:var(--yes-bg); color:var(--green); border-color:var(--yes-border); }
.side-choice.no.active { background:var(--no-bg); color:var(--red); border-color:var(--no-border); }
.price-panel { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); border-radius:var(--radius); margin-bottom:24px; padding:16px; }
.price-panel>div:first-child { border-right:1px solid var(--border); }
.price-panel>div { text-align:center; }
.price-panel span { display:block; color:var(--muted); font-size:12px; }
.price-panel strong { display:block; font-size:23px; font-weight:600; font-variant-numeric:tabular-nums; margin-top:5px; }
.amount-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; margin-bottom:10px; }
.amount-heading span { color:var(--muted); font-size:12px; }.amount-heading b { font-weight:500; color:var(--soft); }
.stake-input { display:flex; align-items:center; border:1px solid var(--border); border-radius:5px; background:var(--bg2); padding:12px 16px; }
.stake-input:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.stake-input input { border:0; outline:0; min-width:0; width:100%; font-size:26px; font-variant-numeric:tabular-nums; background:none; }
.stake-input strong { color:var(--muted); font-size:20px; font-weight:500; }
.stake-input input[type=number] { appearance:textfield; -moz-appearance:textfield; }
.stake-input input[type=number]::-webkit-inner-spin-button,.stake-input input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.quick-values { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:12px 0 24px; }
.quick-values button { background:none; color:var(--soft); border:1px solid var(--border); border-radius:5px; min-height:40px; font-size:12px; }
.quick-values button:hover { background:var(--panel2); }
.payout-panel { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:18px 0; margin-bottom:20px; }
.payout-panel>div { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; }
.payout-panel strong { display:block; font-size:30px; font-weight:600; font-variant-numeric:tabular-nums; margin-top:8px; }
.payout-panel small { color:var(--muted); font-size:12px; }
.bet-warning { color:var(--red); font-size:12px; line-height:1.7; margin-bottom:12px; }
.bet-confirm { min-height:48px; }
.drawer-body .drawer-note { margin:14px 0 0; font-size:12px; line-height:1.8; }
.team-logo,.event-logo { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:3px; background:#252a30; }
.logo-fallback { display:grid; place-items:center; width:100%; height:100%; font-size:11px; font-weight:600; }
.bet-team-heading .drawer-avatar { width:42px; height:42px; flex:0 0 42px; }
.toast-container { position:fixed; z-index:120; bottom:calc(24px + env(safe-area-inset-bottom)); right:24px; width:min(360px,calc(100% - 48px)); display:grid; gap:10px; }
.toast { border:1px solid var(--border); border-radius:var(--radius); background:var(--panel2); padding:14px 18px; box-shadow:0 6px 24px #0004; font-size:13px; }
.toast.error { border-color:var(--no-border); color:var(--red); }.toast.success { color:var(--white); }
.setup-notice { display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--border); border-radius:var(--radius); padding:18px; margin-top:20px; color:var(--soft); background:var(--panel2); }
.feed-notice { padding:14px 16px; margin-bottom:18px; border:1px solid #736344; border-radius:6px; color:#dfcea9; background:#29251e; font-size:12px; line-height:1.8; }
/* Probability history follows the existing quiet market-board palette. */
.event-trend-link { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 22px; border:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg2); color:var(--accent); text-align:left; font-size:12px; }
.event-trend-link:hover { background:var(--panel2); }.event-trend-link span { font-size:11px; color:var(--muted); }
.trend-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; margin:28px 0 8px; }
.trend-event-label { display:grid; gap:7px; flex:1; min-width:220px; color:var(--muted); font-size:12px; }
.trend-event-label select { width:100%; min-height:46px; padding:9px 36px 9px 12px; background:var(--panel); border:1px solid var(--border); border-radius:5px; font-size:13px; }
.trend-ranges { display:flex; gap:3px; padding:3px; border:1px solid var(--border); border-radius:6px; }
.trend-ranges button { min-height:38px; padding:7px 15px; border:0; border-radius:3px; color:var(--muted); background:none; font-size:12px; }
.trend-ranges button[aria-pressed=true] { background:var(--panel2); color:var(--white); font-weight:650; }
.trend-refresh { color:var(--soft); background:var(--panel); border-color:var(--border); min-height:46px; }
.trend-status { min-height:38px; padding:8px 0; font-size:12px; color:var(--muted); }
.trend-summary { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr); border:1px solid var(--border); border-radius:var(--radius); background:var(--panel); margin-bottom:24px; padding:24px 0; }
.trend-summary>div { padding:0 24px; min-width:0; }.trend-summary>div+div { border-left:1px solid var(--border); }
.trend-eyebrow,.trend-summary-stat>span { color:var(--muted); font-size:12px; }
.trend-leader-main { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:10px; }
.trend-leader-main strong { font-size:23px; line-height:1.3; font-weight:650; overflow-wrap:anywhere; }.trend-leader-main b { font-size:27px; color:var(--accent); font-variant-numeric:tabular-nums; font-weight:600; }
.trend-leader p { color:var(--muted); font-size:11px; margin:8px 0 0; }
.trend-summary-stat { display:flex; flex-direction:column; justify-content:center; gap:6px; }.trend-summary-stat>strong { font-weight:600; font-size:25px; font-variant-numeric:tabular-nums; }.trend-summary-stat>strong.trend-period { font-size:17px; }
.trend-summary-stat>small { font-size:11px; color:var(--muted); }
.trend-data-note { color:var(--gold); font-size:12px; margin:-8px 0 24px; }
.trend-chart-card { border:1px solid var(--border); background:var(--panel); border-radius:var(--radius); overflow:hidden; }
.trend-chart-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:24px 24px 0; }
.trend-chart-head h2 { font-size:19px; font-weight:600; margin:5px 0 0; letter-spacing:-.4px; }.trend-chart-head>span { color:var(--muted); font-size:12px; }
.trend-plot { padding:16px 16px 0; min-width:0; }.trend-plot>svg { display:block; width:100%; height:auto; min-height:260px; touch-action:pan-y; }
.trend-grid { stroke:var(--border); stroke-width:1; }.trend-axis { fill:var(--muted); font:12px -apple-system,BlinkMacSystemFont,sans-serif; font-variant-numeric:tabular-nums; }.trend-crosshair { stroke:var(--muted); stroke-width:1; stroke-dasharray:4 4; pointer-events:none; }
.trend-plot svg:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:4px; }
.trend-chart-empty { min-height:300px; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:32px 16px; text-align:center; }.trend-chart-empty strong { font-size:16px; font-weight:600; }.trend-chart-empty p { font-size:12px; color:var(--muted); }
.trend-inspection { margin:0 24px 20px; padding:16px; background:var(--bg2); border:1px solid var(--border); border-radius:5px; min-height:92px; }.trend-inspection>p { color:var(--muted); font-size:12px; margin:12px 0; }
.trend-inspection-time { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:12px; }.trend-inspection-time>span { color:var(--muted); font-size:11px; }.trend-inspection-time>strong { font-weight:600; }
.trend-inspection-values { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:10px; font-size:12px; font-variant-numeric:tabular-nums; }.trend-inspection-values>span { display:inline-flex; align-items:center; gap:6px; }.trend-inspection-values b { font-weight:500; }.trend-inspection-values small { font-size:10px; color:var(--muted); }
.trend-chart-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding:10px 24px; border-top:1px solid var(--border); color:var(--muted); font-size:11px; }
.trend-chart-foot button,.trend-candidates-head button { min-height:44px; padding:8px 0; color:var(--accent); background:none; border:0; font-size:12px; }.trend-chart-foot button:disabled { opacity:.5; }
.trend-candidates { margin-top:28px; }.trend-candidates-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }.trend-candidates-head h2 { font-size:18px; font-weight:600; margin:0; }.trend-candidates-head p { color:var(--muted); font-size:12px; margin:4px 0 0; }
.trend-legend { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.trend-candidate { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:16px; background:var(--panel); border:1px solid var(--border); border-radius:6px; color:var(--white); text-align:left; transition:background var(--motion),opacity var(--motion); }
.trend-candidate:hover { background:var(--panel2); }.trend-candidate.is-muted { opacity:.5; border-style:dashed; }
.trend-candidate-name { display:flex; align-items:center; gap:8px; min-width:0; font-size:12px; }.trend-candidate-name>svg { flex-shrink:0; }.trend-candidate-name>.choice-avatar { width:26px; height:26px; flex-basis:26px; }.trend-candidate-name>span:last-child { overflow-wrap:anywhere; }
.trend-candidate-values { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; font-variant-numeric:tabular-nums; }.trend-candidate-values>strong { font-size:18px; font-weight:600; }.trend-change { font-size:10px; color:var(--muted); }.trend-change.up { color:var(--green); }.trend-change.down { color:var(--red); }.trend-candidate>small { grid-column:1/-1; color:var(--muted); font-size:10px; }
.trend-method { border-top:1px solid var(--border); margin-top:32px; padding-top:10px; color:var(--muted); font-size:12px; }.trend-method summary { cursor:pointer; min-height:44px; padding:10px 0; color:var(--soft); }.trend-method p { max-width:900px; line-height:1.9; margin:0 0 12px; }
@media(max-width:1000px) { .trend-legend { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  .trend-toolbar { gap:12px; margin-top:24px; }.trend-event-label { flex-basis:100%; }.trend-ranges { flex:1; }.trend-ranges button { flex:1; padding:7px 12px; }.trend-refresh { padding:10px 14px; }
  .trend-summary { grid-template-columns:1fr 1fr; padding:0; margin-bottom:20px; }.trend-summary>div { padding:16px; }.trend-summary>.trend-leader { grid-column:1/-1; }.trend-summary>div+div { border-left:0; border-top:1px solid var(--border); }.trend-summary>div:last-child { border-left:1px solid var(--border); }
  .trend-leader-main strong { font-size:22px; }.trend-leader-main b { font-size:26px; }.trend-summary-stat>strong { font-size:22px; }.trend-summary-stat>strong.trend-period { font-size:14px; }.trend-chart-head { padding:20px 16px 0; }.trend-chart-head>span { font-size:11px; }.trend-chart-head h2 { font-size:18px; }
  .trend-plot { padding:12px 4px 0; }.trend-plot>svg { min-height:220px; }.trend-axis { font-size:28px; }.trend-inspection { margin:0 12px 16px; padding:12px; }.trend-inspection-values { gap:8px 16px; }.trend-chart-foot { padding:8px 16px; }.trend-chart-foot>span { max-width:215px; }.trend-legend { gap:8px; }.trend-candidate { padding:12px; grid-template-columns:minmax(0,1fr); gap:6px; }.trend-candidate-values { flex-direction:row; align-items:center; justify-content:space-between; gap:6px; }.trend-candidate-name { gap:6px; }.trend-candidate-name>svg { width:18px; }.trend-candidate-name>.choice-avatar { display:none; }.trend-candidates-head p { font-size:11px; }.trend-candidates-head button { white-space:nowrap; }.trend-candidate-values>strong { font-size:18px; }
}
@media(max-width:1120px) {
  .app-shell { width:calc(100% - 48px); }
  .header-divider,.event-context { display:none; }
  .topbar { gap:20px; }.nav { gap:2px; }
  .home-layout { grid-template-columns:minmax(0,1fr) 248px; gap:24px; }
  .market-table-heading,.market-row { grid-template-columns:minmax(0,1fr) 54px 68px 68px; gap:8px; padding-left:16px; padding-right:16px; }
  .settle-form { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
  .brand-logo-window { width:124px; }
  .home-layout { grid-template-columns:1fr; }
  .side-column { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
  .rules-card { margin-top:0; }
  .profile-name { display:none; }
  .ranking-row { grid-template-columns:28px minmax(0,1fr) 100px 110px; gap:16px; }
  .ranking-row .ranking-sub:nth-child(4) { display:none; }
}
@media(max-width:640px) {
  .app-shell { width:calc(100% - 32px); }
  .topbar { flex-wrap:wrap; gap:0; min-height:72px; padding-top:12px; }
  .brand-logo-window { width:144px; }
  .header-actions { margin-left:auto; gap:10px; }.account-balance { font-size:12px; }
  .nav { order:3; width:100%; justify-content:space-between; margin-top:10px; }
  .nav-link { flex:1; min-height:44px; padding:10px 4px; font-size:12px; }
  .btn-sm { min-height:40px; padding:8px 12px; font-size:12px; }
  .ticker { min-height:36px; gap:12px; font-size:11px; }.ticker-source { display:none; }
  .hero { align-items:flex-start; flex-direction:column; gap:20px; padding:28px 0 24px; }
  .hero h1 { font-size:27px; margin-top:8px; }.hero p { font-size:13px; }
  .hero-cta { flex-direction:row; flex-wrap:wrap; gap:12px; }.hero-free { font-size:11px; }
  .summary-strip { grid-template-columns:1fr 1fr; padding:0; }
  .metric { padding:14px 0; }.metric:nth-child(even) { border-right:0; padding-left:20px; }
  .metric:nth-child(-n+2) { border-bottom:1px solid var(--border); }
  .metric strong { font-size:16px; }.metric small { font-size:11px; }
  .home-layout { margin-top:28px; gap:28px; }.section-heading { align-items:flex-start; gap:10px; }
  .section-heading h2 { font-size:21px; }.section-heading p { font-size:12px; }
  .market-indicator { font-size:11px; padding-top:20px; }
  .section-kicker { font-size:10px; }.market-tools { gap:12px; margin:20px 0 16px; }
  .filter-pills { gap:6px; width:100%; }.filter-pill { min-height:40px; padding:8px 10px; }
  .search-wrap { flex-basis:100%; }.markets-container { gap:20px; }
  .market-card-head { padding:16px 12px; }.market-head-left { gap:10px; }.event-tile { width:30px; height:30px; flex-basis:30px; }
  .event-card-title { font-size:14px; }.event-meta-inline { font-size:11px; }.event-meta { font-size:11px; }
  .market-event-link { font-size:11px; }.market-table-heading,.market-row { grid-template-columns:minmax(0,1fr) 42px 62px 62px; gap:8px; padding-left:10px; padding-right:10px; }
  .market-row { min-height:80px; }.choice-info { gap:7px; }.choice-avatar { width:27px; height:27px; flex-basis:27px; }
  .choice-name { font-size:13px; }.choice-mini { font-size:12px; }.chance-val { font-size:11px; }.chance-progress { width:34px; }
  .market-bet-btn { min-height:52px; }.bet-choice,.bet-odds { font-size:12px; }
  .side-column { grid-template-columns:1fr; gap:20px; }.leaderboard-card,.rules-card { padding:18px; }
  .inner-page { padding:28px 0 64px; }.page-intro h1 { font-size:27px; }.page-intro p { font-size:12px; }
  .rank-header { padding:16px; }.rank-header h2 { font-size:15px; }.rank-header small { display:none; }
  .ranking-row { grid-template-columns:24px minmax(0,1fr) 92px; padding:16px 12px; gap:10px; }
  .ranking-sub { display:none; }.ranking-user { gap:8px; font-size:12px; }.ranking-point { font-size:13px; }
  .my-stats { gap:8px; }.my-stat { padding:14px 10px; }.my-stat small { font-size:11px; }.my-stat strong { font-size:18px; }
  .bet-history-row { grid-template-columns:minmax(0,1fr) 76px 78px; padding:16px 12px; gap:8px; }
  .bet-history-row .history-value:nth-child(3) { display:none; }.history-title { font-size:13px; }.history-sub { font-size:11px; }.history-value { font-size:12px; }
  .admin-grid { grid-template-columns:1fr; gap:20px; }.admin-panel { padding:18px; }.settle-form { grid-template-columns:1fr; }
  .modal-auth { padding:28px 24px; }.drawer-top { padding:8px 20px; }.drawer-body { padding:24px 20px; }
  .setup-notice { align-items:flex-start; flex-direction:column; }
  footer { padding-bottom:calc(24px + env(safe-area-inset-bottom)); }
}
@media(max-width:360px) {
  .market-table-heading,.market-row { grid-template-columns:minmax(0,1fr) 62px 62px; }
  .chance-cell,.market-table-heading>span:nth-child(2) { display:none; }
  .row-settled { grid-column:2/4; }
  .market-indicator { display:none; }.hero h1 { font-size:24px; }
}
/* The shared lounge stays available while browsing markets and rankings. */
.chat-widget { position:fixed; right:24px; bottom:calc(24px + env(safe-area-inset-bottom)); z-index:30; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.chat-toggle { position:relative; min-height:52px; display:flex; align-items:center; gap:10px; border:1px solid #4b5663; border-radius:28px; padding:12px 18px; background:var(--panel2); color:var(--white); font-size:13px; font-weight:650; box-shadow:0 6px 24px #0006; transition:background var(--motion); }
.chat-toggle:hover,.chat-toggle.is-open { background:#303740; border-color:var(--muted); }
.chat-badge { position:absolute; top:-8px; right:-6px; min-width:24px; height:24px; padding:0 6px; display:grid; place-items:center; border:2px solid var(--bg); border-radius:999px; background:#ff3b30; color:#fff; font-size:12px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums; box-shadow:0 2px 8px #0004; pointer-events:none; }
.chat-panel { width:374px; height:min(580px,calc(100dvh - 120px)); min-height:280px; display:flex; flex-direction:column; overflow:hidden; border:1px solid #46515d; border-radius:12px; background:var(--bg2); box-shadow:0 16px 64px #0008; }
.chat-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 16px 14px 20px; background:var(--panel); }
.chat-eyebrow { display:block; font-size:9px; letter-spacing:1.3px; color:var(--muted); }
.chat-header h2 { margin:3px 0; display:flex; gap:9px; align-items:center; font-size:18px; letter-spacing:-.4px; font-weight:650; }
.chat-live-label { font-size:9px; letter-spacing:.5px; color:var(--green); border:1px solid var(--yes-border); border-radius:3px; padding:1px 4px; font-weight:600; }
.chat-online { color:var(--muted); font-size:11px; }
.chat-icon-button { min-width:44px; min-height:44px; display:grid; place-items:center; border:0; border-radius:6px; background:none; color:var(--muted); }
.chat-icon-button:hover { color:var(--white); background:var(--panel2); }
.chat-room-note { padding:9px 20px; font-size:11px; color:var(--soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.chat-conversation { position:relative; flex:1; min-height:70px; display:flex; }
.chat-messages { flex:1; min-width:0; overflow-y:auto; overscroll-behavior:contain; padding:12px 16px 20px; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.chat-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:18px; font-size:12px; text-align:center; color:var(--muted); pointer-events:none; }
.chat-placeholder strong { color:var(--soft); font-size:13px; font-weight:500; }
.chat-empty-mark { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--border); border-radius:8px; color:var(--soft); font-weight:700; font-size:19px; margin-bottom:8px; }
.chat-date { text-align:center; font-size:10px; color:var(--muted); margin:2px 0 16px; }
.chat-message { margin:0 0 16px; max-width:90%; }
.chat-message:last-child { margin-bottom:0; }
.chat-meta { display:flex; align-items:baseline; gap:8px; margin:0 0 4px 2px; font-size:11px; }
.chat-meta strong { color:var(--soft); font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.chat-meta time { font-size:10px; white-space:nowrap; color:var(--muted); font-variant-numeric:tabular-nums; }
.chat-message p { display:table; margin:0; padding:9px 12px; border:1px solid var(--border); border-radius:2px 9px 9px; background:var(--panel2); color:var(--white); white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.6; }
.chat-message.own { margin-left:auto; }
.chat-message.own .chat-meta { justify-content:flex-end; }
.chat-message.own p { margin-left:auto; background:#253244; border-color:#465b78; border-radius:9px 2px 9px 9px; }
.chat-new { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); min-height:36px; white-space:nowrap; border:1px solid #566578; border-radius:20px; padding:6px 14px; background:var(--panel2); color:var(--accent); box-shadow:0 4px 16px #0006; font-size:11px; }
.chat-compose { padding:12px 16px 10px; border-top:1px solid var(--border); background:var(--panel); }
.chat-member-note { font-size:10px; color:var(--muted); margin:0 0 8px; overflow-wrap:anywhere; }
.chat-compose #chat-login { min-height:40px; margin-bottom:10px; font-size:12px; }
.chat-input-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.chat-compose textarea { display:block; width:100%; min-height:64px; max-height:120px; resize:vertical; padding:10px 12px; border:1px solid #46515d; border-radius:6px; background:var(--bg2); color:var(--white); font:inherit; font-size:13px; line-height:1.5; }
.chat-compose textarea:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.chat-compose textarea:disabled { opacity:.55; resize:none; }
.chat-compose textarea::placeholder { color:var(--muted); }
.chat-compose-bottom { display:flex; align-items:center; gap:8px; margin-top:6px; }
#chat-count,.chat-key-hint { color:var(--muted); font-size:9px; }
.chat-key-hint { margin-left:auto; }
#chat-send { min-height:36px; padding:6px 12px; font-size:12px; margin-left:auto; }
.chat-error { margin:6px 0 0; font-size:11px; color:var(--red); }
.chat-error:empty { display:none; }
.chat-connection { display:flex; align-items:center; gap:5px; margin-top:6px; color:var(--muted); font-size:9px; }
.chat-connection::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--muted); }
.chat-connection.connected::before { background:var(--green); }
@media(max-width:640px) {
  .chat-widget { right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); gap:8px; }
  .chat-panel { width:min(374px,calc(100vw - 24px)); height:min(580px,calc(100dvh - 90px - env(safe-area-inset-bottom))); min-height:220px; }
  .chat-toggle { min-height:48px; padding:10px 16px; }
  .chat-header { padding-top:12px; padding-bottom:10px; }
  .chat-compose textarea { font-size:16px; min-height:56px; }
  .chat-key-hint { display:none; }
  footer { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Administrator membership tools. */
.members-search { display:flex; align-items:flex-end; gap:12px; margin-bottom:14px; }
.members-search label { display:grid; gap:7px; flex:1; color:var(--soft); font-size:13px; }
.members-search input { width:100%; min-width:0; min-height:44px; border:1px solid var(--border); border-radius:5px; background:var(--bg2); padding:10px 12px; font-size:14px; }
.members-list { margin-top:16px; }
.member-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,1fr) auto; gap:16px; align-items:center; padding:16px 0; border-top:1px solid var(--border); }
.member-identity,.member-details { min-width:0; }
.member-identity strong { display:block; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.member-identity small,.member-details small { display:block; color:var(--muted); font-size:12px; margin-top:4px; overflow-wrap:anywhere; }
.member-details>span { color:var(--soft); font-size:12px; }
.member-row .admin-action { min-height:44px; }
.members-more { background:var(--panel2); color:var(--soft); border-color:var(--border); margin-top:16px; }
@media(max-width:640px) {
  .member-row { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  .member-details { grid-column:1; grid-row:2; }
  .member-row .admin-action { grid-column:2; grid-row:1/3; }
}
