/* A community voting board, with real participation beside every chart. */
.market-app { --ink:#202b43; --muted:#64718a; --subtle:#8792a5; --line:#e2e7f0; --surface:#f2f5fa; --navy:#25385b; --accent:#354f80; --accent-hover:#29416f; --selection:#e9eef8; --up:#ce4052; --up-soft:#fff1f2; --up-line:#f2b9c0; --down:#356bc6; --down-soft:#edf4ff; --down-line:#b9cff1; min-height:100vh; background:#f6f7fb; color:var(--ink); }
.market-app .site-header { background:#fff; color:var(--ink); border-bottom:1px solid var(--line); }
.market-app .header-inner { max-width:1160px; min-height:76px; padding:0 32px; grid-template-columns:1fr auto 1fr; gap:28px; }
.market-app .brand { font-size:23px; letter-spacing:-.8px; font-weight:750; gap:10px; }
.market-app .brand img { width:35px; height:35px; }
.market-app .main-nav { height:76px; gap:28px; }
.market-app .main-nav a { color:var(--muted); font-size:13px; font-weight:600; }
.market-app .main-nav a:hover,.market-app .main-nav a.active { color:var(--accent); }
.market-app .main-nav a.active:after { height:3px; background:var(--accent); border-radius:3px 3px 0 0; }
.market-app .login-link { justify-self:end; padding:9px 17px; color:var(--ink); border-color:var(--line); border-radius:999px; font-weight:600; background:#fff; }
.market-app .login-link:hover { background:var(--surface); }
.market-app .account-link { justify-self:end; }
.market-app main,.market-app main:has(> .prediction-board) { max-width:1160px; padding:0 32px; }
.market-app .participation-notice { margin:20px 0 0; padding:15px 19px; border:1px solid #dbe3f3; border-radius:14px; background:#edf2fc; gap:20px; }
.market-app .participation-notice strong { font-size:13px; color:#354f80; }
.market-app .participation-notice p { font-size:11px; line-height:1.8; margin-top:3px; }
.market-app .participation-notice .button { background:#fff; border:1px solid #cbd7ee; font-weight:700; color:#354f80; min-height:40px; border-radius:10px; }

/* Current-round community counts and personal progress. */
.board-heading { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:24px; min-height:146px; position:relative; overflow:hidden; margin:16px 0 18px; padding:18px 24px; background:#25385b; border:1px solid #2d4269; border-radius:17px; color:#fff; }
.board-intro { min-width:0; position:relative; }
.board-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#d4dff1; font-size:11px; font-weight:650; letter-spacing:.05em; margin-bottom:5px; }
.board-eyebrow > svg { color:#ffc7ce; }
.board-heading h1 { font-size:30px; font-weight:750; line-height:1.35; letter-spacing:-.04em; }
.board-title-prefix { display:inline-block; font-size:18px; margin-right:8px; letter-spacing:-.03em; white-space:nowrap; }
.board-heading .board-direction-up { display:inline-block; color:#ff9eac; white-space:nowrap; }
.board-heading .board-direction-down { display:inline-block; color:#9dc6ff; white-space:nowrap; }
.board-description { color:#d3dced; font-size:12px; margin-top:7px; line-height:1.6; }
.board-community { padding:13px 16px; border-left:1px solid #ffffff26; }
.board-community-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.board-community-stat { display:flex; flex-direction:column; align-items:flex-start; gap:3px; font-size:10px; color:#d3deef; }
.board-community-stat + .board-community-stat { border-left:1px solid #ffffff26; padding-left:16px; }
.board-community-stat > strong { font:700 25px/1.15 "Bahnschrift",Arial,sans-serif; color:#fff; font-variant-numeric:tabular-nums; letter-spacing:-.5px; }
.board-community-stat strong small { font-size:12px; font-weight:500; margin-left:4px; color:#d3deef; }
.board-personal-progress { border-top:1px solid #ffffff26; padding-top:8px; margin-top:8px; font-size:10px; color:#d3deef; }
.board-personal-progress > div:first-child,.board-personal-progress > p:first-child { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.board-personal-progress strong { color:#fff; font-size:12px; font-variant-numeric:tabular-nums; }
.board-personal-progress strong small { color:#c4d0e5; font-weight:400; font-size:10px; }

/* Filters and ballots. */
.market-app .market-toolbar { margin:0 0 16px; padding:0; gap:16px; }
.market-app .filter-tabs { gap:6px; }
.market-app .filter-tabs button { font-size:12px; border-radius:999px; padding:9px 15px; font-weight:600; min-height:38px; }
.market-app .filter-tabs button.active { background:var(--navy); color:#fff; }
.market-app .filter-tabs button:hover:not(.active) { background:#e9eef7; }
.market-app .search-field { width:246px; padding:9px 12px; border-radius:10px; background:#fff; border-color:var(--line); }
.market-app .search-field input { font-size:12px; }
.market-group + .market-group { margin-top:31px; }
.market-group-heading { display:flex; align-items:center; flex-wrap:wrap; gap:9px 17px; margin:0 0 13px; }
.market-group-heading h2 { display:inline-flex; align-items:center; gap:9px; font-size:17px; font-weight:750; white-space:nowrap; }
.market-group-heading h2:before { content:''; display:block; width:4px; height:20px; border-radius:4px; background:#718ec0; }
.market-group-heading p { color:var(--muted); font-size:11px; line-height:1.8; }
.dex-disclosure { color:var(--muted); font-size:10px; line-height:1.8; margin:-3px 0 13px; }
.market-app .prediction-board .quote-list-heading { display:none; }
.market-app .prediction-board .stock-list { display:grid; gap:18px; }
.market-app .prediction-board .quote-row { display:grid; grid-template-columns:minmax(230px,280px) minmax(0,1fr); grid-template-rows:auto auto auto; gap:21px 32px; align-items:start; position:relative; border:1px solid var(--line); border-radius:19px; padding:22px 26px 16px; background:#fff; box-shadow:0 3px 12px #273d6504; transition:border-color .2s ease,box-shadow .2s ease; }
.market-app .prediction-board .quote-row:hover { background:#fff; border-color:#cbd5e7; box-shadow:0 6px 20px #263b6108; }
.market-app .prediction-board .quote-row.has-prediction { border-color:#c6d4e8; }
.market-app .prediction-board .quote-row.prediction-up { border-left:4px solid var(--up); padding-left:23px; }
.market-app .prediction-board .quote-row.prediction-down { border-left:4px solid var(--down); padding-left:23px; }
.market-app .prediction-board .quote-row .row-identity { grid-column:1; grid-row:1; align-items:center; gap:10px; min-width:0; }
.market-app .prediction-board .quote-row .favorite-button { width:31px; height:35px; padding:5px; border-radius:8px; }
.market-app .prediction-board .quote-row .favorite-button:hover { background:#f7f3e9; }
.market-app .prediction-board .stock-identity h3 { font-size:21px; line-height:1.4; letter-spacing:-.4px; font-weight:750; overflow-wrap:anywhere; text-wrap:balance; }
.market-app .prediction-board .stock-identity p { display:flex; align-items:center; flex-wrap:wrap; gap:4px 9px; margin-top:6px; font-size:10px; }
.stock-code { color:var(--muted); font:650 11px/1.5 Arial,sans-serif; letter-spacing:.4px; }
.stock-sector { color:var(--muted); padding:2px 7px; border-radius:5px; background:var(--surface); font-size:10px; }
.stock-vote-state { display:inline-flex; align-items:center; gap:3px; padding:2px 6px; border-radius:5px; border:1px solid; font-size:10px; font-weight:700; white-space:nowrap; }
.stock-vote-state > svg { width:12px; height:12px; }
.stock-vote-state.up { color:#aa293a; background:#fff0f2; border-color:#efbbc3; }
.stock-vote-state.down { color:#285ba9; background:#edf4ff; border-color:#bdd0ed; }
.market-app .prediction-board .quote-row .row-price { grid-column:2; grid-row:1; align-self:start; justify-self:end; }
.row-price-label { display:block; color:var(--muted); font-size:10px; margin-bottom:1px; }
.market-app .quote-row .row-price > strong { font:650 24px/1.4 "Bahnschrift",Arial,sans-serif; letter-spacing:-.5px; font-variant-numeric:tabular-nums; }
.market-app .quote-date { display:block; margin-top:2px; font:10px/1.5 Arial,sans-serif; color:var(--muted); font-variant-numeric:tabular-nums; }
.market-app .quote-status { font-size:10px; line-height:1.7; }
.market-app .prediction-board .quote-row .mini-chart { grid-column:1; grid-row:2; margin:0; min-width:0; align-self:start; }
.market-app .prediction-board .quote-row .row-vote { grid-column:2; grid-row:2; min-width:0; padding:17px 20px 15px; margin:-1px 0 0; border-radius:13px; background:#f7f9fd; border:1px solid #e9edf5; }
.market-app .prediction-board .quote-row .row-note { grid-column:1/-1; grid-row:3; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px 16px; padding:13px 0 0; margin-top:-5px; border-top:1px solid #edf0f5; font-size:10px; min-width:0; }
.market-app .prediction-board .row-note:empty { display:none; }
.market-app .stock-social-links { margin-left:auto; gap:20px; }
.market-app .stock-social-links a,.market-app .stock-social-links button { font-size:11px; min-height:25px; }
.split-notice { display:block; margin-top:8px; color:var(--muted); font-size:11px; line-height:1.8; }
.split-notice a { text-decoration:underline; text-underline-offset:3px; }
.split-notice.compact { margin-top:0; font-size:10px; }
.split-adjustment { display:block; color:var(--muted); font-size:10px; line-height:1.6; font-weight:400; }

/* Vote choice and the community reveal. Never show an invented split. */
.vote-panel-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 14px; margin-bottom:13px; }
.vote-panel-question { font-size:15px; line-height:1.7; color:var(--ink); font-weight:750; margin:0; }
.vote-round-label { color:var(--muted); font-size:10px; line-height:1.6; display:block; margin-bottom:2px; }
.vote-panel-status { display:flex; align-items:center; gap:9px; margin:-3px 0 12px; }
.vote-panel-status .live-tag { display:inline-flex; align-items:center; font-size:10px; font-weight:600; color:#4a638d; }
.vote-panel-status .live-tag:before { content:''; width:5px; height:5px; margin-right:5px; border-radius:50%; background:currentColor; }
.vote-panel-status .live-tag.is-closed { color:var(--muted); }
.vote-private-label { color:var(--muted); font-size:10px; padding-left:9px; border-left:1px solid #d8dfeb; }
.vote-participants { display:inline-flex; align-items:center; gap:5px; background:#fff; border:1px solid #e0e7f2; color:#566986; font-size:11px; padding:4px 8px; border-radius:999px; white-space:nowrap; }
.vote-participants strong { color:var(--ink); font-variant-numeric:tabular-nums; font-weight:750; }
.market-app .prediction-board .vote-buttons,.market-app .detail-prediction .vote-buttons { gap:12px; }
.market-app .prediction-board .vote-button,.market-app .detail-prediction .vote-button { min-height:70px; padding:12px 16px; border:1.5px solid; border-radius:12px; font-size:17px; font-weight:750; gap:10px; position:relative; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.market-app .vote-button.up { background:var(--up-soft); border-color:var(--up-line); color:var(--up); }
.market-app .vote-button.down { background:var(--down-soft); border-color:var(--down-line); color:var(--down); }
.market-app .prediction-board .vote-button > svg,.market-app .detail-prediction .vote-button > svg { width:24px; height:24px; stroke-width:2; }
.market-app .vote-button.up:hover:not(:disabled):not([aria-disabled="true"]),.market-app .vote-button.up.selected { color:#fff; background:var(--up); border-color:var(--up); box-shadow:0 4px 10px #ce40521a; }
.market-app .vote-button.down:hover:not(:disabled):not([aria-disabled="true"]),.market-app .vote-button.down.selected { color:#fff; background:var(--down); border-color:var(--down); box-shadow:0 4px 10px #356bc61a; }
.market-app .prediction-board .vote-button:hover:not(:disabled):not([aria-disabled="true"]) { transform:translateY(-1px); }
.market-app .prediction-board .vote-button:active:not(:disabled):not([aria-disabled="true"]) { transform:translateY(1px); }
.market-app .vote-button:disabled,.market-app .vote-button[aria-disabled="true"] { cursor:default; }
.market-app .vote-button:disabled:not(.selected) { opacity:.58; }
.vote-button-label { display:flex; flex-direction:column; align-items:center; gap:1px; }
.vote-button-note,.vote-button small { display:block; font-size:10px; font-weight:500; }
.vote-confirmation { display:flex; align-items:center; justify-content:center; gap:7px; color:#4d6284; font-size:11px; line-height:1.7; margin:0 0 9px; min-height:20px; }
.vote-confirmation strong { font-weight:750; }
.vote-confirmation.is-saved { justify-content:flex-start; padding:10px 12px; border:1px solid; border-radius:9px; min-height:45px; font-size:14px; }
.vote-confirmation.is-saved > svg { width:20px; height:20px; flex-shrink:0; }
.vote-confirmation.is-saved.direction-up { color:#aa293a; background:#fff0f2; border-color:#e9a6b0; }
.vote-confirmation.is-saved.direction-down { color:#285ba9; background:#edf4ff; border-color:#adc6ee; }
.vote-confirmation .positive { color:var(--up); }
.vote-confirmation .negative { color:var(--down); }
.vote-private-note { color:var(--muted); font-size:10px; line-height:1.8; margin-top:6px; width:100%; text-align:center; }
.vote-confirmation .text-link { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.community-locked { display:flex; align-items:center; justify-content:center; gap:6px; padding-top:12px; margin-top:11px; border-top:1px dashed #dce3ef; color:var(--muted); font-size:11px; line-height:1.8; text-align:center; }
.community-locked > svg { flex-shrink:0; }
.community-empty { padding-top:12px; margin-top:12px; border-top:1px solid #e2e7f0; color:var(--muted); text-align:center; font-size:11px; line-height:1.8; }
.community-reveal { padding-top:13px; margin-top:13px; border-top:1px solid #e0e6f0; }
.community-reveal-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; color:var(--muted); font-size:11px; margin-bottom:8px; }
.community-reveal-heading strong { color:var(--ink); font-size:12px; }
.community-breakdown { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; }
.community-breakdown strong { font-size:19px; font-variant-numeric:tabular-nums; }
.community-bar { height:9px; margin:8px 0; border-radius:6px; overflow:hidden; display:flex; background:#e5eaf2; }
.community-bar > span { height:100%; border-radius:0; }
.community-bar > .community-up { background:var(--up); }
.community-bar > .community-down { background:var(--down); }
.community-reveal-note { margin-top:8px; font-size:10px; line-height:1.8; color:var(--muted); }
.vote-change-note { font-size:10px; color:var(--muted); line-height:1.8; margin-top:10px; text-align:center; }
.vote-card-deadline { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; }
.detail-vote-description { margin-top:18px; color:var(--muted); font-size:11px; line-height:1.9; }
.market-app .detail-prediction .stock-social-links { display:flex; margin-top:17px; flex-wrap:wrap; }

/* Charts keep their attribution and units. */
.mini-chart-heading,.mini-chart-credit { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; color:var(--muted); }
.mini-chart-heading { margin-bottom:6px; }
.mini-chart-heading a { color:var(--accent); padding:3px 0 3px 8px; }
.mini-chart-heading a:hover,.mini-chart-credit a:hover { text-decoration:underline; }
.market-app .mini-chart .stock-chart-stage { height:192px; }
.market-app .mini-chart.dex-chart .stock-chart-stage { height:160px; }
.mini-chart-credit { margin-top:7px; font:10px/1.5 Arial,sans-serif; }
.mini-chart .chart-status { inset:0 0 32px; padding:7px; font-size:10px; gap:5px; background:#f2f5fa; border-radius:8px; }
.mini-chart.dex-chart .chart-status { inset:0; }
.mini-chart .chart-status .text-link,.mini-chart .chart-status .small-note { font-size:10px; }
.mini-chart-source { display:flex; align-items:center; justify-content:flex-end; margin-top:5px; color:var(--muted); font-size:10px; }
.mini-chart-source .text-link { color:var(--muted); font-size:10px; }
.dex-chart-canvas { height:100%; width:100%; }
.dex-chart-legend { color:var(--muted); min-height:26px; font-size:11px; font-variant-numeric:tabular-nums; }
.dex-chart .filter-tabs button { padding:5px 9px; }
.dex-chart .chart-note a { text-decoration:underline; text-underline-offset:2px; }
.fx-note { color:var(--muted); font-size:11px; line-height:1.8; margin:9px 0; }
.fx-note > span { display:block; font-size:10px; }
.list-chart-note { margin-top:11px; }

/* The individual ballot uses the same controls. */
.market-app .panel { border-radius:15px; border-color:var(--line); }
.market-app .button { border-radius:10px; }
.market-app .page-heading { padding-top:29px; }
.market-app .detail-prediction { padding:25px; background:#fff; }
.market-app .detail-prediction .live-tag { display:inline-flex; align-items:center; padding:5px 10px; border-radius:999px; background:#edf3fc; color:#416295; font-weight:600; }
.market-app .detail-prediction .live-tag.is-closed { background:#f0f1f4; color:var(--muted); }
.market-app .detail-prediction h2 { font-size:22px; font-weight:750; line-height:1.7; margin-top:15px; }
.market-app .detail-prediction > p { font-size:12px; }
.market-app .detail-prediction .vote-panel-heading { margin-top:18px; }
.market-app .detail-prediction .vote-button { font-size:15px; padding-inline:10px; gap:7px; }
.market-app .detail-deadline { font-size:10px; line-height:1.8; }
.market-app .page-footer { margin-top:26px; padding:20px 0 27px; font-size:10px; border-top:1px solid var(--line); flex-wrap:wrap; }
.market-app ~ #modal-root { --navy:#25385b; --accent:#354f80; --accent-hover:#29416f; }
.market-app ~ #modal-root .modal { border-radius:19px; }
.market-app ~ #modal-root .button { border-radius:10px; }
.market-app ~ #toast { background:#25385b; border-radius:12px; }
.market-app ~ #toast.error { background:var(--error); }
.skip-link:not(:focus-visible) { top:-100px; }

@media (max-width:980px) {
  .market-app .header-inner { padding:0 24px; grid-template-columns:auto 1fr auto; gap:22px; }
  .market-app .main-nav { gap:22px; }
  .market-app main,.market-app main:has(> .prediction-board) { padding:0 24px; }
  .board-heading { grid-template-columns:minmax(0,1fr) 225px; gap:18px; padding:17px 20px; }
  .board-heading h1 { font-size:27px; }
  .board-title-prefix { font-size:16px; margin-right:5px; }
  .board-community { padding:10px 13px; }
  .market-app .prediction-board .quote-row { grid-template-columns:minmax(180px,240px) minmax(0,1fr); gap:20px 25px; padding-inline:23px; }
  .market-app .prediction-board .quote-row.prediction-up,.market-app .prediction-board .quote-row.prediction-down { padding-left:20px; }
  .market-app .prediction-board .quote-row .row-vote { padding:15px; }
  .market-app .prediction-board .vote-button { font-size:16px; min-height:67px; padding:11px 12px; }
}
@media (max-width:700px) {
  .market-app .header-inner { min-height:0; padding:15px 18px 0; grid-template-columns:1fr auto; gap:10px; }
  .market-app .brand { font-size:22px; gap:8px; }
  .market-app .brand img { width:31px; height:31px; }
  .market-app .main-nav { grid-column:1/-1; grid-row:2; width:100%; height:46px; justify-content:space-between; gap:14px; }
  .market-app .main-nav a { font-size:12px; }
  .market-app .login-link,.market-app .account-link { grid-column:2; grid-row:1; font-size:11px; }
  .market-app .login-link { padding:7px 12px; }
  .market-app main,.market-app main:has(> .prediction-board) { padding:0 16px; }
  .market-app .participation-notice { padding:10px 12px; margin-top:10px; gap:10px; flex-wrap:nowrap; align-items:center; }
  .market-app .participation-notice strong { font-size:11px; line-height:1.6; }
  .market-app .participation-notice p { display:none; }
  .market-app .participation-notice .button { min-height:38px; padding:8px 10px; font-size:10px; }
  .board-heading { display:block; min-height:0; border-radius:13px; padding:14px 15px; margin:12px 0 14px; }
  .board-heading h1 { font-size:24px; letter-spacing:-.04em; line-height:1.4; }
  .board-title-prefix { font-size:13px; margin-right:5px; }
  .board-eyebrow { display:none; }
  .board-description { display:none; }
  .board-community { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:9px; padding:9px 0 0; border:0; border-top:1px solid #ffffff26; }
  .board-community-stats { display:flex; align-items:center; gap:13px; }
  .board-community-stat { flex-direction:row; align-items:baseline; gap:5px; font-size:9px; }
  .board-community-stat + .board-community-stat { padding-left:13px; }
  .board-community-stat > strong { font-size:20px; }
  .board-community-stat strong small { font-size:10px; margin-left:2px; }
  .board-personal-progress { margin:0 0 0 auto; padding:0; border:0; font-size:9px; }
  .board-personal-progress strong { font-size:11px; }
  .board-personal-progress strong small { font-size:9px; }
  .board-personal-progress > div:first-child { gap:5px; }
  .market-app .market-toolbar { flex-wrap:wrap; gap:9px; margin-bottom:14px; }
  .market-app .filter-tabs button { font-size:11px; min-height:36px; padding:7px 12px; }
  .market-app .search-field { width:auto; min-width:135px; flex:1; padding:9px 11px; }
  .market-app .search-field input { font-size:16px; }
  .market-group + .market-group { margin-top:27px; }
  .market-group-heading { gap:3px 10px; margin-bottom:8px; }
  .market-group-heading h2 { font-size:16px; }
  .market-group-heading p { font-size:10px; }
  .dex-disclosure { font-size:9px; line-height:1.7; margin-bottom:10px; }
  .market-app .prediction-board .stock-list { gap:16px; }
  .market-app .prediction-board .quote-row { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto auto; gap:13px 10px; padding:14px 14px 12px; border-radius:14px; }
  .market-app .prediction-board .quote-row.prediction-up,.market-app .prediction-board .quote-row.prediction-down { padding-left:11px; }
  .market-app .prediction-board .quote-row .row-identity { grid-column:1; grid-row:1; align-self:center; gap:5px; }
  .market-app .prediction-board .quote-row .favorite-button { width:22px; padding:2px; }
  .market-app .prediction-board .stock-identity h3 { font-size:18px; letter-spacing:-.5px; }
  .market-app .prediction-board .stock-identity p { gap:3px 5px; margin-top:5px; }
  .stock-code { font-size:10px; }
  .stock-sector { font-size:9px; padding:1px 5px; }
  .market-app .prediction-board .quote-row .row-price { grid-column:2; grid-row:1; max-width:130px; }
  .market-app .quote-row .row-price > strong { font-size:20px; }
  .row-price-label,.market-app .quote-date { font-size:9px; }
  .market-app .prediction-board .quote-row .mini-chart { grid-column:1/-1; grid-row:3; margin:0; }
  .mini-chart-heading a { min-height:28px; display:inline-flex; align-items:center; }
  .market-app .prediction-board .quote-row .row-vote { grid-column:1/-1; grid-row:2; margin:0; padding:12px; border-radius:10px; }
  .vote-panel-heading { gap:7px; margin-bottom:8px; }
  .vote-panel-status { margin-bottom:8px; }
  .vote-panel-question { font-size:14px; }
  .vote-participants { font-size:10px; padding:4px 7px; }
  .market-app .prediction-board .vote-buttons { gap:9px; }
  .market-app .prediction-board .vote-button { font-size:16px; min-height:64px; gap:7px; padding:10px 9px; }
  .vote-confirmation { font-size:10px; }
  .vote-confirmation.is-saved { font-size:13px; padding:8px 10px; }
  .community-locked { font-size:10px; }
  .market-app .prediction-board .quote-row .row-note { grid-column:1/-1; grid-row:4; padding:11px 0 0; gap:8px 12px; margin-top:-4px; }
  .market-app .stock-social-links { margin-left:0; width:100%; justify-content:space-between; gap:8px 13px; }
  .market-app .stock-social-links a,.market-app .stock-social-links button { font-size:10px; }
  .market-app .detail-columns { grid-template-columns:minmax(0,1fr); }
  .market-app .detail-prediction { padding:21px; }
  .market-app .page-footer { margin-top:22px; gap:10px 16px; font-size:9px; }
}
@media (max-width:360px) {
  .board-heading { padding:12px; }
  .board-heading h1 { font-size:21px; }
  .board-title-prefix { font-size:12px; margin-right:3px; }
  .board-community { gap:6px; }
  .board-personal-progress { margin-left:0; }
  .market-app .prediction-board .quote-row { padding-inline:12px; column-gap:8px; }
  .market-app .prediction-board .quote-row.prediction-up,.market-app .prediction-board .quote-row.prediction-down { padding-left:9px; }
  .market-app .prediction-board .quote-row .row-price { max-width:112px; }
  .market-app .prediction-board .stock-identity h3 { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) {
  .market-app .prediction-board .quote-row,.market-app .vote-button { transition:none; }
  .market-app .prediction-board .vote-button:hover:not(:disabled),.market-app .prediction-board .vote-button:active:not(:disabled) { transform:none; }
}
