/* Basic styling for ONECOBULL FX */
:root{
  color-scheme:dark;
  --bg:#020305;
  --page-bg-base:#020305;
  --page-bg-color:#020305;
  --page-bg-deep:linear-gradient(180deg,#020305 0%,#040507 32%,#070b12 65%,#0b1220 100%);
  --page-glow-gold:radial-gradient(circle at 30% -8%,rgba(216,177,95,0.06) 0%,transparent 55%);
  --page-glow-blue:radial-gradient(circle at 65% 18%,rgba(56,189,248,0.04) 0%,transparent 50%);
  --page-vignette:radial-gradient(circle at 50% 50%,transparent 45%,rgba(0,0,0,0.65) 100%);
  --page-bg-ambient:var(--page-glow-gold),var(--page-glow-blue),var(--page-vignette),var(--page-bg-deep);
  --page-bg-scrim:linear-gradient(180deg,transparent 60%,rgba(0,0,0,0.38) 100%);
  --card:#111111;
  --surface:#0a0a0a;
  --border:rgba(255,255,255,0.08);
  --border-subtle:rgba(255,255,255,0.04);
  --muted:#9a9a9a;
  --text:#f0f0f0;
  --page-padding:0px;
  --page-padding-top:calc(8px * var(--layout-scale));
  --safe-inline:calc(18px * var(--layout-scale));
  --layout-scale:1;
  --fx-pc-design-width:800px;
  --page-max-width:var(--fx-pc-design-width);
  --fx-mobile-design-width:800;
  --content-block-width:var(--page-max-width);
  --zone1-prices-pct:80%;
  --zone1-analysis-pct:20%;
  --zone1-grid-cols:minmax(0, 80fr) minmax(0, 20fr);
  --analysis-panel-width:20%;
  --analysis-table-gap:10px;
  --analysis-panel-pad:6px;
  --analysis-panel-bg:rgba(255,255,255,0.03);
  --analysis-panel-gap:var(--analysis-table-gap);
  --price-cards-grid-width:100%;
  --layout-chart-box-height:100%;
  --price-card-cols:5;
  --price-card-rows:3;
  --price-card-gap:5px;
  --price-card-gap-col:var(--price-card-gap);
  --price-card-gap-row:var(--price-card-gap);
  --chart-height:calc(400px * var(--layout-scale));
  --chart-inner-inset:50px;
  --chart-extra-height:100px;
  --chart-display-height:calc(var(--chart-height) - var(--chart-inner-inset) + var(--chart-extra-height));
  --price-cards-ticker-gap:11px;
  --ticker-chart-gap:7px;
  --chart-bottom-inset:calc(var(--chart-inner-inset) / 2);
  --charts-box-height:calc(
    var(--chart-top-bar-height) + var(--ticker-chart-gap) + var(--chart-display-height) + var(--chart-bottom-inset)
  );
  /* ②ゾーン: ティッカーはボックス外のため、表示高さのみ */
  --zone2-charts-box-height:var(--chart-display-height);
  --chart-slot-height:calc(
    var(--charts-box-height) - var(--chart-top-bar-height) - var(--ticker-chart-gap) - var(--chart-bottom-inset)
  );
  /* ①列・カード表: チャート基準より150px低く */
  --zone1-col-height-trim:150px;
  --price-cards-grid-height:calc(var(--chart-height) - var(--zone1-col-height-trim));
  --price-cards-box-pad-block:0px;
  --price-cards-inner-height:calc(
    var(--price-cards-grid-height)
    - (var(--price-card-rows) - 1) * var(--price-card-gap-row)
  );
  --price-card-row-height:max(
    44px,
    calc(var(--price-cards-inner-height) / var(--price-card-rows))
  );
  --price-cards-table-height:calc(
    var(--price-card-row-height) * var(--price-card-rows)
    + (var(--price-card-rows) - 1) * var(--price-card-gap-row)
  );
  --widgets-column-margin:0;
  --widgets-column-padding:0;
  --price-cards-table-margin:0;
  --price-cards-table-padding:0;
  --price-card-bg:rgba(255,255,255,0.05);
  --futures-mini-card-rest-shadow:none;
  --futures-mini-flash-duration:55s;
  --futures-mini-flash-intensity:0.5;
  --ticker-bg:rgba(255,255,255,0.03);
  --section-gap:calc(10px * var(--layout-scale));
  --ticker-width:100%;
  --chart-top-bar-height:calc(2.5rem - 10px);
  --pair-select-visible-rows:4;
  --pair-select-open-max-height:calc(var(--chart-top-bar-height) * var(--pair-select-visible-rows));
  --pair-select-border-width:1px;
  --chart-active-inner-line:1px;
  --chart-active-inner-line-color:rgba(251,191,36,0.7);
  --pair-select-outline:rgba(251,191,36,0.38);
  --pair-select-box-glow:0 0 3px rgba(251,191,36,0.28), 0 0 6px rgba(251,191,36,0.1);
  --pair-select-text-emboss:-1px -1px 0 rgba(0,0,0,0.55), 1px 1px 0 rgba(255,255,255,0.35);
  --heatmap-width:var(--content-block-width);
  --chart-block-width:calc(var(--content-block-width) * 0.8);
  --chart-display-width:var(--chart-block-width);
  --heatmap-height:var(--chart-height);
  --gauge-track:#1a1a1a;
  --price-up:#38bdf8;
  --price-down:#ff2b2b;
  --price-flash-up-rgb:56,189,248;
  --price-flash-down-rgb:255,43,43;
  --change-up:#6ecfff;
  --change-down:#ff7777;
  /* 価格カード％ — 5段階（冷→熱） */
  --pct-up-1:#8fa8bc;
  --pct-up-2:#6ecfff;
  --pct-up-3:#38bdf8;
  --pct-up-4:#00b8ff;
  --pct-up-5:#00f0ff;
  --pct-down-1:#b89898;
  --pct-down-2:#ff8a8a;
  --pct-down-3:#ff4444;
  --pct-down-4:#ff1a1a;
  --pct-down-5:#ff0044;
  --accent:#93c5fd;
  --charts-box-bg-opacity:0.3;
  --realtime-chart-padding:0;
  --realtime-chart-padding-top:0;
  --realtime-chart-margin:0;
  --realtime-chart-margin-top:0;
  --realtime-chart-margin-bottom:0;
  --impact-critical:#ff1493;
  --impact-high:#f87171;
  --impact-medium:#fbbf24;
  --impact-low:#38bdf8;
  --impact-minimal:#64748b;
  /* ティッカー表示色（POP左ライン・影響度テキストと同期） */
  --impact-ticker-critical:#fbbf24;
  --impact-ticker-high:#ef4444;
  --impact-ticker-medium:#fca5a5;
  --impact-ticker-low:var(--impact-low);
  --impact-ticker-minimal:var(--impact-minimal);
  --news-preview-bg:rgba(10,14,26,0.4);
  --news-preview-bg-gradient:linear-gradient(155deg, rgba(56,189,248,0.06) 0%, transparent 48%);
  --news-preview-border:rgba(56,189,248,0.28);
  --news-preview-accent:#38bdf8;
  --news-preview-width:50%;
  --news-preview-min-height:78px;
  --news-preview-max-height:min(230px, 36vh);
  --news-preview-font-scale:1.25;
  --news-preview-impact-font:0.58rem;
  --news-preview-source-font:0.5rem;
  --news-preview-left:var(--safe-inline);
  --news-preview-radius:6px;
  --price-flash-duration:8s;
  --price-card-glow-fade:3.6s;
  --price-card-glow-fade-ease:cubic-bezier(0.33, 1, 0.68, 1);
  --price-card-text-fade:2.2s;
  --price-card-fade-ease:ease-out;
  --price-flash-fade-ease:ease-out;
  --box-shadow-emboss:-1px -1px 0 rgba(255,255,255,0.3), 1px 1px 0 rgba(0,0,0,0.55);
}
*{box-sizing:border-box}
html{
  color-scheme:dark;
  width:100%;
  min-width:0;
  max-width:100%;
  height:100%;
  min-height:100%;
  overflow-x:hidden;
  background-color:var(--page-bg-color);
}
html::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-color:var(--page-bg-base);
  background:var(--page-bg-ambient);
  background-size:cover;
  background-position:center center;
}
html::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--page-bg-scrim);
}
#fxchart-root::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-color:var(--page-bg-base);
  background:var(--page-bg-ambient);
  background-size:cover;
  background-position:center center;
}
#fxchart-root::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--page-bg-scrim);
}
.fx-contact-page::before,
.fx-disclaimer-page::before,
.fx-privacy-policy-page::before,
.fx-terms-page::before,
.fx-ad-policy-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-color:var(--page-bg-base);
  background:var(--page-bg-ambient);
  background-size:cover;
  background-position:center center;
}
body{
  margin:0;
  padding:var(--page-padding-top) var(--page-padding) var(--page-padding) var(--page-padding);
  background:transparent !important;
  color:var(--text);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  -webkit-font-smoothing:antialiased;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:100vh;
  height:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
/* WordPress 埋め込み: body 固定幅をやめ、#fxchart-root で中央寄せ */
body:has(#fxchart-root){
  width:100%;
  min-width:0;
  max-width:none;
  margin:0;
  padding:0;
  display:block;
  background:transparent;
}
#fxchart-root{
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:100vh;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  box-sizing:border-box;
  padding-left:0;
  padding-right:0;
  overflow-x:hidden;
  background:transparent;
}
#fxchart-root .fxchart-wp-shell{
  width:100%;
  max-width:var(--page-max-width);
  min-width:0;
  margin-left:auto;
  margin-right:auto;
  min-height:100vh;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
#fxchart-root main.page{
  width:100%;
  max-width:var(--page-max-width);
  min-width:0;
  margin:0 auto;
  flex:1 1 auto;
  min-height:0;
}
#fxchart-root .fx-layout-top-row{
  padding:var(--analysis-table-gap) var(--safe-inline);
}
#fxchart-root .fx-layout-main{
  isolation:isolate;
}
#fxchart-root .fx-layout-main .charts-box{
  overflow:hidden;
  contain:layout paint;
}

#fxchart-root .fx-zone2-news-full{
  height:var(--chart-top-bar-height);
  min-height:var(--chart-top-bar-height);
  max-height:var(--chart-top-bar-height);
  overflow:visible;
}
#fxchart-root .fx-news-ticker-row{
  position:relative;
  z-index:48;
}
.page{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--page-max-width);
  min-width:0;
  margin-left:auto;
  margin-right:auto;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
  gap:0;
  background:transparent;
}
.page.fx-layout-4{
  gap:var(--section-gap);
  min-height:100vh;
  height:auto;
  overflow:visible;
}
.fx-layout-top .page-header{
  margin:0;
  padding-top:0;
}
.page-header h1{font-size:2.4rem;margin:0;font-weight:800;letter-spacing:0.4rem;text-transform:uppercase;}
.page-header h2{font-size:1.1rem;margin:5px 0 0;}
.page-header{
    position:relative;
    width:100%;
    min-height:90px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    padding:12px var(--safe-inline);
    box-sizing:border-box;
    background:linear-gradient(180deg,rgba(2,5,14,0.95),rgba(0,0,0,0.95));
    border-bottom:1px solid rgba(216,177,95,0.12);
    overflow:hidden;
    text-align:center;
}
.page-header::after{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:16px;
    background:linear-gradient(180deg,rgba(216,177,95,0.35),transparent 60%);
    opacity:.45;
    filter:blur(12px);
    pointer-events:none;
}
.page-header h1{
    color:#fdf6ec;
    z-index:1;
    text-shadow:0 6px 25px rgba(0,0,0,0.35);
    letter-spacing:0.45rem;
    margin:0;
}
.page-header .site-description{
    font-weight:400;
    color:rgba(255,255,255,0.76);
    letter-spacing:0.2rem;
    text-transform:uppercase;
    margin:0;
    padding:0;
    line-height:1.2;
}
.lang-toggle{
    position:absolute;
    right:24px;
    top:20px;
    z-index:2;
    padding:8px 16px;
    font-size:0.9rem;
    letter-spacing:0.08em;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.4);
    background:rgba(0,0,0,0.35);
    color:#fff;
    backdrop-filter:blur(6px);
    transition:transform .3s ease,box-shadow .3s ease;
}
.lang-toggle:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(0,0,0,0.45);
}
@media (max-width: 768px){
    .page-header{
        min-height:110px;
        padding:26px clamp(16px,5vw,28px);
    }
    .page-header h1{
        letter-spacing:0.2rem;
        font-size:1.9rem;
    }
    .lang-toggle{
        top:12px;
        right:16px;
    }
}
/* 旧 HTML 用（chart-top-bar へ移行済み） */
.ticker-row{
  display:flex;
  align-items:center;
  gap:12px;
  width:var(--content-block-width);
  max-width:var(--content-block-width);
  min-width:var(--content-block-width);
  margin-top:0;
  margin-bottom:0;
  padding-left:var(--safe-inline);
  padding-right:var(--safe-inline);
  box-sizing:border-box;
  position:relative;
  z-index:5;
  flex:0 0 auto;
}
.ticker-row .ticker{
  flex:0 0 var(--ticker-width);
  width:var(--ticker-width);
  max-width:var(--ticker-width);
  min-width:var(--ticker-width);
}
.chart-top-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  flex:0 0 auto;
  position:relative;
}
.chart-top-bar .ticker,
.chart-top-bar #news-ticker{
  flex:1 1 0%;
  min-width:0;
  width:auto;
  max-width:calc(100% - 8.5rem);
  overflow:hidden;
  margin-right:0;
}
.fx-layout-main > .chart-top-bar .ticker,
.fx-layout-main > .chart-top-bar #news-ticker,
.fx-layout-main > .fx-main-bar .ticker,
.fx-layout-main > .fx-main-bar #news-ticker{
  max-width:100%;
  flex:1 1 auto;
}
/* ニュース行: ティッカー + 通貨ペア（横並び） */
.fx-news-ticker-row{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
  flex:0 0 auto;
  position:relative;
  z-index:48;
}
.fx-news-ticker-row #news-ticker,
.fx-news-ticker-row .ticker{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  width:auto;
}
.fx-news-pair-bar{
  flex:0 0 auto;
  flex-shrink:0;
  position:relative;
  z-index:40;
}
.fx-news-pair-bar .pair-select-wrap{
  margin-left:0;
  min-width:7.5rem;
  height:var(--chart-top-bar-height);
}
.fx-news-pair-bar .pair-select-wrap.is-open,
.fx-news-ticker-row:has(.pair-select-wrap.is-open),
.fx-zone2-chart-head:has(.pair-select-wrap.is-open){
  overflow:visible;
  z-index:55;
}
.pair-select-wrap.is-open{
  overflow:visible;
  z-index:55;
  height:auto;
  min-height:var(--chart-top-bar-height);
}
.fx-news-pair-bar #pair{
  width:100%;
  min-width:7.5rem;
}
.fx-analysis-pair-bar{
  flex:0 0 auto;
  flex-shrink:0;
  width:100%;
  margin-top:6px;
}
.fx-analysis-pair-bar .pair-select-wrap{
  position:relative;
  width:100%;
  min-width:0;
  margin:0;
  height:var(--chart-top-bar-height);
}
.fx-analysis-pair-bar #pair{
  width:100%;
  min-width:0;
  font-size:0.85rem;
  padding:0 8px;
  line-height:calc(var(--chart-top-bar-height) - 2px);
  text-align:left;
  text-align-last:left;
}
.pair-select-wrap{
  position:relative;
  flex:0 0 auto;
  flex-shrink:0;
  margin-left:auto;
  min-width:7.5rem;
  height:var(--chart-top-bar-height);
}
.chart-top-bar #pair,
#pair{
  display:block;
  width:100%;
  min-width:7.5rem;
  height:var(--chart-top-bar-height);
  min-height:var(--chart-top-bar-height);
  margin:0;
  padding:0 10px;
  line-height:calc(var(--chart-top-bar-height) - 2px);
  box-sizing:border-box;
  border-radius:8px;
  background:var(--surface);
  color:#fff;
  font-size:1.3em;
  font-weight:600;
  border:var(--pair-select-border-width) solid var(--pair-select-outline);
  box-shadow:var(--pair-select-box-glow);
  text-shadow:var(--pair-select-text-emboss);
}
#pair option{
  color:#fff;
  background:var(--surface);
  font-size:1rem;
  font-weight:600;
  text-shadow:var(--pair-select-text-emboss);
  padding:6px 10px;
  line-height:1.35;
}
#pair.pair-select--open option:checked{
  background:rgba(251,191,36,0.25);
}
#pair:focus{
  outline:none;
  border-width:var(--pair-select-border-width);
  border-style:solid;
  border-color:rgba(251,191,36,0.5);
  box-shadow:var(--pair-select-box-glow);
}
#pair.pair-select--open{
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:56;
  height:auto;
  max-height:var(--pair-select-open-max-height);
  min-height:var(--chart-top-bar-height);
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  cursor:pointer;
}
.fx-analysis-pair-bar #pair{
  padding:0 8px;
}
.charts-box{
  width:100%;
  max-width:100%;
  min-width:0;
  height:var(--charts-box-height);
  min-height:var(--charts-box-height);
  max-height:var(--charts-box-height);
  flex:0 0 auto;
  margin-top:var(--realtime-chart-margin-top);
  margin-bottom:var(--realtime-chart-margin-bottom);
  margin-left:var(--realtime-chart-margin);
  margin-right:var(--realtime-chart-margin);
  padding-top:var(--realtime-chart-padding-top);
  padding-bottom:var(--realtime-chart-padding);
  padding-left:0;
  padding-right:0;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:0;
  text-align:left;
  align-self:center;
  position:relative;
  z-index:1;
  overflow:visible;
  isolation:isolate;
  background:transparent;
  border:none;
  box-shadow:none;
}
.charts-box::before{
  content:"";
  position:absolute;
  inset:0;
  background:#000;
  opacity:var(--charts-box-bg-opacity);
  pointer-events:none;
  z-index:0;
  border-radius:inherit;
}
.charts-box.charts-box--zone2-pair::before{
  display:none;
  content:none;
}
.charts-box > *{
  position:relative;
  z-index:1;
}
.charts-box h2{
  margin:0;
  padding:0;
}

/* Realtime chart panel + menu */
.chart-panel{
  display:flex;
  flex-direction:column;
  gap:var(--ticker-chart-gap);
  width:100%;
  max-width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  flex:1 1 auto;
  margin:0;
  padding:0 0 var(--chart-bottom-inset);
  box-sizing:border-box;
  text-align:left;
  visibility:visible;
  opacity:1;
  position:relative;
}
.chart-panel > .chart-top-bar{
  flex:0 0 auto;
}
.chart-panel > #fx-chart,
.chart-panel > .fx-chart{
  flex:1 1 auto;
  width:var(--chart-block-width);
  max-width:var(--chart-block-width);
  min-width:0;
  min-height:0;
  height:100%;
  max-height:100%;
  align-self:stretch;
  margin:0;
}
.chart-header{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  grid-template-rows:auto;
  align-items:center;
  column-gap:12px;
  row-gap:4px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.chart-pair-title{
  margin:0;
  font-weight:700;
  letter-spacing:0.03em;
  color:var(--text);
}
.chart-subtitle{
  grid-column:1;
  grid-row:1;
  justify-self:start;
  margin:0;
  font-size:0.72rem;
  color:var(--muted);
}
.chart-quote-price-row{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
  text-align:right;
  min-width:0;
}
.chart-price{
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color:var(--text);
}
.chart-change{
  margin-top:0;
  font-size:0.72rem;
  font-variant-numeric:tabular-nums;
  color:var(--muted);
}
.chart-change.up,
#chart-change.up{color:var(--change-up)}
.chart-change.down,
#chart-change.down{color:var(--change-down)}
.chart-updated{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  margin:0;
  font-size:0.62rem;
  color:var(--muted);
  text-align:right;
  white-space:nowrap;
}
.fx-chart{
  width:var(--chart-block-width);
  max-width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  max-height:none;
  flex:1 1 auto;
  margin:0;
  padding:0;
  border-radius:8px;
  overflow:hidden;
  background:#000;
  position:relative;
  border:none;
  outline:none;
  box-shadow:none;
  box-sizing:border-box;
}
.fx-chart.tv-chart-mount{
  height:100%;
  min-height:100%;
  max-height:none;
}
#tv-chart-root{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  height:100%;
  min-height:var(--chart-display-height, 410px);
}
#tv-chart-root .tradingview-widget-container{
  flex:1 1 auto;
  width:100% !important;
  height:100% !important;
  min-height:360px;
}
.fx-chart.fx-chart-tv{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
}
.fx-chart.fx-chart-lwc{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.fx-chart-shell{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  width:100%;
  height:100%;
  min-height:0;
}
/* 外付けツールバーは使わない（残存 DOM を非表示） */
.fx-tv-toolbar-wrap{
  display:none !important;
}
.fx-tv-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  padding:6px 10px;
  box-sizing:border-box;
}
.fx-tv-toolbar-field{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
}
.fx-tv-toolbar-label{
  font-size:0.85em;
  color:#9a9ab0;
  white-space:nowrap;
}
/* チャート上部メニュー（幅・文字サイズ 80%） */
.fx-chart-menu{
  flex:0 0 auto;
  width:80%;
  max-width:80%;
  font-size:80%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 6px;
  padding:6px 10px;
  box-sizing:border-box;
  background:#000;
  border-bottom:1px solid #2b2b43;
  color:#d1d4dc;
}
.fx-chart-menu-symbol-btn{
  max-width:9rem;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fx-chart-menu-symbol{
  font-weight:600;
  letter-spacing:0.04em;
  color:#fff;
  white-space:nowrap;
}
.fx-chart-menu-select{
  font:inherit;
  font-size:0.95em;
  line-height:1.2;
  padding:4px 8px;
  border-radius:4px;
  border:1px solid #3a3a5c;
  background:#1a1a2e;
  color:#d1d4dc;
  cursor:pointer;
  max-width:6.5rem;
}
.fx-chart-menu-select:focus{
  border-color:#7cfc00;
  outline:none;
}
.fx-chart-menu-btn.is-disabled,
.fx-chart-menu-btn:disabled{
  opacity:0.45;
  cursor:not-allowed;
}
.fx-chart-menu-sep{
  width:1px;
  height:1.2em;
  margin:0 4px;
  background:#3a3a5c;
  align-self:center;
}
.fx-chart-menu-btn{
  font:inherit;
  font-size:1em;
  line-height:1.2;
  padding:4px 10px;
  border-radius:4px;
  border:1px solid #3a3a5c;
  background:#1a1a2e;
  color:#d1d4dc;
  cursor:pointer;
}
.fx-chart-menu-btn:hover{
  border-color:#5a5a8a;
  color:#fff;
}
.fx-chart-menu-btn.is-active{
  border-color:#7cfc00;
  color:#7cfc00;
  background:#0d1a0d;
}
.fx-chart-lwc-body{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  position:relative;
  overflow:hidden;
}
.fx-chart.fx-chart-lwc .fx-chart-lwc-body > div,
.fx-chart.fx-chart-lwc .fx-chart-lwc-body canvas{
  width:100% !important;
  height:100% !important;
}
/* TradingView 本家トップバー（iframe 内）— チャート幅いっぱい */
.fx-chart.fx-chart-tv-wc .fx-tv-wc-wrap,
.fx-chart.fx-chart-tv-wc tv-advanced-chart,
.fx-chart.fx-chart-tv-wc .fx-tv-wc-chart{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  min-height:200px !important;
  box-sizing:border-box;
}
.fx-chart.fx-chart-tv .tradingview-widget-container,
.fx-chart.fx-chart-tv .tv-widget-dark,
#fx-chart .tradingview-widget-container{
  position:relative;
}
.fx-chart.fx-chart-tv .tradingview-widget-container,
.fx-chart.fx-chart-tv .tv-widget-dark{
  flex:1 1 auto;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  min-height:200px !important;
  overflow:hidden;
  color-scheme:dark;
  background:#000;
  --tv-widget-background-color:#000000;
}
#fx-chart:has(.tv-chart-menu-pop-shell) .tradingview-widget-container,
#fx-chart:has(.tv-chart-menu-pop) .tradingview-widget-container,
.fx-chart.fx-chart-tv:has(.tv-chart-menu-pop-shell) .tradingview-widget-container{
  overflow:visible !important;
}
#fx-chart:has(.tv-chart-menu-pop-shell),
#fx-chart:has(.tv-chart-menu-pop),
.fx-chart.tv-chart-mount:has(.tv-chart-menu-pop-shell),
.charts-box:has(.tv-chart-menu-pop-shell),
#chart-panel:has(.tv-chart-menu-pop-shell){
  overflow:visible !important;
}
.fx-chart.fx-chart-tv .tradingview-widget-container__widget{
  flex:1 1 auto;
  height:100% !important;
  width:100% !important;
  min-height:200px !important;
  overflow:hidden !important;
}
.fx-chart.fx-chart-tv .tradingview-widget-copyright{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.fx-chart.fx-chart-tv .tradingview-widget-copyright a{
  color:#9a9a9a;
}
/* TV 上部ツールバー行（コンテナ内の先頭 table のみ） */
#fx-chart .tradingview-widget-container > table:first-of-type,
#fx-chart.fx-chart-tv .tradingview-widget-container > table:first-of-type{
  display:table !important;
  visibility:visible !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:auto !important;
  width:100% !important;
  position:relative !important;
}
/* インジケーター POP — 半分サイズ・幅に依存しない固定スクロール */
.tv-chart-menu-pop-shell{
  --tv-menu-pop-width:84px;
  --tv-menu-pop-max-height:70px;
  position:absolute !important;
  top:var(--tv-toolbar-bottom, 28px) !important;
  left:0 !important;
  width:var(--tv-menu-pop-width) !important;
  max-width:var(--tv-menu-pop-width) !important;
  min-width:0 !important;
  max-height:var(--tv-menu-pop-max-height) !important;
  overflow-x:hidden !important;
  overflow-y:scroll !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#5a5a8a #1a1a2e;
  box-sizing:border-box !important;
  z-index:50 !important;
  margin:0 !important;
  padding:2px 0 !important;
  font-size:11px !important;
  line-height:1.3 !important;
  background:#1a1a2e !important;
  border:1px solid #3a3a5c !important;
  border-radius:6px !important;
  box-shadow:0 8px 24px rgba(0,0,0,0.55) !important;
  pointer-events:auto !important;
}
.tv-chart-menu-pop-shell::-webkit-scrollbar{
  width:8px;
}
.tv-chart-menu-pop-shell::-webkit-scrollbar-thumb{
  background:#5a5a8a;
  border-radius:4px;
}
.tv-chart-menu-pop-shell::-webkit-scrollbar-track{
  background:#12121f;
}
#chart-panel #fx-chart ~ .tv-chart-menu-pop-shell{
  top:var(--tv-menu-pop-top, var(--tv-toolbar-bottom, 28px)) !important;
}
.tv-chart-menu-pop-shell .tv-chart-menu-pop,
#fx-chart .tv-chart-menu-pop-shell table.tv-chart-menu-pop{
  position:static !important;
  top:auto !important;
  left:auto !important;
  display:table !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  table-layout:fixed !important;
}
.tv-chart-menu-pop-shell .tv-chart-menu-pop tbody{
  display:table-row-group !important;
  max-height:none !important;
  overflow:visible !important;
}
.tv-chart-menu-pop-shell .tv-chart-menu-pop td,
.tv-chart-menu-pop-shell .tv-chart-menu-pop th{
  padding:2px 4px !important;
  font-size:10px !important;
  vertical-align:top !important;
  word-break:break-word;
}
/* チャート下の旧ヒートマップのみ（TV メニュー POP は .legacy-chart-below のみ非表示） */
.charts-box > table.legacy-chart-below,
#chart-panel #fx-chart ~ table.legacy-chart-below,
.charts-box #heatmap-container,
.charts-box .heatmap-container,
.charts-box .us-heatmap-native,
.charts-box .heatmap-sector,
.charts-box .tv-stock-heatmap{
  display:none !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.fx-chart.fx-chart-tv .tradingview-widget-container__widget iframe{
  width:100% !important;
  height:100% !important;
  min-height:200px !important;
  display:block;
}
.fx-chart.is-loading::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.35);
  pointer-events:none;
}
.chart-ops{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:4px 2px 0;
}
.chart-ops-label{
  font-size:0.68rem;
  color:var(--muted);
  margin-right:4px;
}
.chart-op{
  font-size:0.68rem;
  padding:5px 10px;
  border-radius:6px;
  border:1px solid var(--border-subtle);
  background:var(--card);
  color:var(--text);
  cursor:pointer;
  box-shadow:var(--box-shadow-emboss);
}
.chart-op:hover{
  border-color:rgba(56,189,248,0.45);
  color:var(--accent);
}
.chart-op[data-active="true"]{
  border-color:rgba(0,255,0,0.35);
  color:#00ff88;
}

.charts-box .heatmap-container{
  width:var(--heatmap-width);
  max-width:var(--heatmap-width);
  min-width:var(--heatmap-width);
  height:var(--heatmap-height);
  margin:0 auto;
  overflow:hidden;
  border-radius:8px;
  background:#000000;
  box-sizing:border-box;
  position:relative;
  isolation:isolate;
}
.us-heatmap-native{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:8px;
  box-sizing:border-box;
  overflow:auto;
}
.heatmap-sector{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.heatmap-sector-title{
  margin:0;
  font-size:0.62rem;
  font-weight:600;
  color:var(--muted);
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.heatmap-tiles{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  flex:1 1 auto;
  align-content:flex-start;
}
.heatmap-tile{
  flex:1 1 72px;
  min-width:64px;
  max-width:120px;
  padding:6px 5px;
  border-radius:4px;
  border:1px solid rgba(0,0,0,0.35);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:2px;
  cursor:default;
}
.heatmap-tile-sym{
  font-size:0.68rem;
  font-weight:700;
  color:#f8fafc;
  text-shadow:0 1px 2px rgba(0,0,0,0.65);
}
.heatmap-tile-chg{
  font-size:0.6rem;
  font-variant-numeric:tabular-nums;
  color:rgba(255,255,255,0.92);
}
.heatmap-tile.up .heatmap-tile-chg{color:#e8ffe8}
.heatmap-tile.down .heatmap-tile-chg{color:#ffe8ff}
.heatmap-error{
  margin:0;
  padding:24px 12px;
  text-align:center;
  color:var(--muted);
  font-size:0.82rem;
}
.analysis-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows:repeat(4, minmax(0, auto));
  column-gap:clamp(4px, 1.2cqi, 10px);
  row-gap:clamp(3px, 0.8cqi, 6px);
  align-items:baseline;
  align-content:end;
  width:100%;
  min-width:0;
  flex:1 1 auto;
  min-height:0;
  margin-top:0;
  text-align:left;
}
.analysis-grid-head{
  grid-column:1 / -1;
  grid-row:1;
  display:grid;
  grid-template-columns:minmax(0, 7fr) auto minmax(0, 3fr);
  align-items:center;
  column-gap:6px;
  width:100%;
  min-width:0;
}
.analysis-grid-head-sep{
  color:var(--muted);
  opacity:0.55;
  font-size:0.72rem;
  line-height:1.2;
  user-select:none;
  text-align:center;
}
.analysis-grid-head #analysis-title{
  grid-column:1;
  justify-self:start;
  margin:0;
  white-space:nowrap;
  text-align:left;
}
.analysis-grid-head #chart-pair-title,
.analysis-grid-head #ta-pair-title{
  grid-column:3;
  justify-self:end;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
}
#sentiment .analysis-grid-head{
  margin:0 0 4px;
}
#sentiment .analysis-grid-head #sentiment-title{
  grid-column:1;
  justify-self:start;
  margin:0;
}
.analysis-grid-left{
  grid-column:1;
  justify-self:start;
  text-align:left;
  min-width:0;
}
.analysis-grid-right{
  grid-column:2;
  justify-self:end;
  text-align:right;
  min-width:0;
}
.analysis-grid-r1{grid-row:1}
.analysis-grid-r2{grid-row:2}
.analysis-grid-r3{grid-row:3}
.analysis-grid-r4{grid-row:4}
#analysis-title{
  margin:0;
  font-size:clamp(0.55rem, 2.5cqi, 0.72rem);
  font-weight:600;
  line-height:1.15;
  letter-spacing:0.02em;
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.analysis-grid-metric{
  margin:0;
  padding:0;
  font-size:clamp(0.52rem, 2.4cqi, 0.68rem);
  line-height:1.25;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.analysis-grid .analysis-grid-right,
.analysis-grid #chart-price,
.analysis-grid #chart-change{
  margin:0;
  padding:0;
  line-height:1.3;
}
.analysis-grid-label{
  color:var(--muted);
}
.analysis-grid-metric span:last-child{
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
#chart-pair-title.analysis-grid-right,
.analysis-grid-head #chart-pair-title,
.analysis-grid-head #ta-pair-title{
  font-size:clamp(0.55rem, 2.5cqi, 0.78rem);
  font-weight:700;
  letter-spacing:0.03em;
  color:var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
#chart-price.analysis-grid-right{
  font-size:clamp(0.56rem, 2.6cqi, 0.76rem);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color:var(--text);
  overflow-wrap:anywhere;
}
#chart-change.analysis-grid-right{
  font-size:clamp(0.52rem, 2.4cqi, 0.68rem);
  font-variant-numeric:tabular-nums;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.analysis-grid-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
  line-height:1.2;
}
.analysis-grid-meta .chart-subtitle{
  margin:0;
  font-size:clamp(0.46rem, 2cqi, 0.58rem);
  color:var(--muted);
  overflow-wrap:anywhere;
  text-align:right;
}
.analysis-grid-meta .chart-updated{
  margin:0;
  font-size:clamp(0.44rem, 1.9cqi, 0.56rem);
  color:var(--muted);
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:right;
  max-width:100%;
}
#analysis{
  position:relative;
  overflow:visible;
  margin:0;
  padding:var(--analysis-table-gap);
  text-align:left;
  box-sizing:border-box;
  min-height:0;
}
#analysis .analysis-grid{
  position:relative;
  overflow:visible;
  margin:0;
  padding:0;
  width:100%;
  min-width:0;
  height:100%;
}
#analysis .analysis-bg-spark{
  position:absolute;
  inset:var(--analysis-table-gap);
  z-index:0;
  width:auto;
  height:auto;
  display:block;
  pointer-events:none;
}
#analysis .analysis-bg-spark.is-tilt-flash{
  animation:analysis-tilt-flash 5s ease-out forwards;
}
@keyframes analysis-tilt-flash{
  0%{
    opacity:1;
    filter:brightness(1.75) drop-shadow(0 0 28px rgba(0,80,255,1));
  }
  10%{
    opacity:0;
    filter:brightness(0) drop-shadow(0 0 0 transparent);
  }
  18%, 100%{
    opacity:1;
    filter:none;
  }
}
@media (prefers-reduced-motion:reduce){
  #analysis .analysis-bg-spark.is-tilt-flash{ animation:none; }
}
#analysis .analysis-grid > :not(.analysis-bg-spark){
  position:relative;
  z-index:1;
}
.fx-analysis-stack #sentiment{
  text-align:left;
}
.fx-analysis-stack #analysis .analysis-grid{
  text-align:left;
}
p{margin:6px 0;color:var(--muted)}
.analysis-grid p.analysis-grid-metric{
  margin:0;
}

/* PC: 800px 固定レイアウト・中央寄せ（レスポンシブ組み替えなし） */
@media (min-width: 1024px){
  #fxchart-root{
    align-items:center;
  }
  #fxchart-root .fxchart-wp-shell{
    width:var(--page-max-width);
    max-width:var(--page-max-width);
    min-width:var(--page-max-width);
    margin-left:auto;
    margin-right:auto;
    flex:0 0 auto;
  }
  #fxchart-root .fxchart-wp-shell > main.page,
  #fxchart-root main.page{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
  }
}

/* Mobile: 800px レイアウトを画面幅に合わせて縮小（横スクロールなし） */
@media (max-width: 1023px){
  html,
  body{
    overflow-x:hidden;
  }
  #fxchart-root{
    width:100%;
    max-width:100%;
    min-height:0;
    height:auto;
    overflow-x:hidden;
    align-items:center;
  }
  #fxchart-root .fxchart-wp-shell{
    width:var(--fx-pc-design-width);
    max-width:var(--fx-pc-design-width);
    min-width:var(--fx-pc-design-width);
    min-height:auto;
    flex:0 0 auto;
    margin-left:auto;
    margin-right:auto;
    transform-origin:top center;
  }
  .fxchart-assets-wrap{
    width:var(--fx-pc-design-width);
    max-width:var(--fx-pc-design-width);
    min-width:var(--fx-pc-design-width);
    margin-left:auto;
    margin-right:auto;
    transform-origin:top center;
  }
}

/* Layout zones: ① top (cards + analysis) | ② main (news + chart) — full viewport */
.fx-layout-top,
.fx-layout-main{
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  box-sizing:border-box;
}
.fx-layout-top{
  display:flex;
  flex-direction:column;
  gap:var(--section-gap);
  flex:0 0 auto;
  padding-top:0;
  position:relative;
  z-index:20;
  isolation:isolate;
}
.fx-layout-top-row{
  display:grid;
  grid-template-columns:var(--zone1-grid-cols);
  align-items:stretch;
  gap:var(--analysis-table-gap);
  padding:var(--analysis-table-gap);
  width:100%;
  box-sizing:border-box;
}
/* ① 左80%: 価格カードボックスのみ */
.fx-layout-col-prices,
.fx-layout-top .fx-box-prices{
  grid-column:1;
  min-width:0;
  width:100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow:visible;
  isolation:auto;
}
.fx-layout-col-prices .fx-prices-box,
.fx-layout-top .fx-box-prices .fx-prices-box,
.fx-prices-box{
  width:100%;
  max-width:100%;
  height:var(--price-cards-grid-height);
  min-height:var(--price-cards-grid-height);
  max-height:var(--price-cards-grid-height);
  box-sizing:border-box;
  padding:0;
  margin:0;
  background:transparent;
  border:none;
  border-radius:0;
  overflow:visible;
}
.fx-layout-col-prices .price-cards-table,
.fx-layout-top .fx-box-prices .price-cards-table,
.fx-prices-box .price-cards-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:var(--price-cards-table-height) !important;
  min-height:var(--price-cards-table-height) !important;
  max-height:var(--price-cards-table-height) !important;
  margin:0 !important;
  padding:0 !important;
  table-layout:fixed !important;
  border-collapse:separate;
  border-spacing:var(--price-card-gap-col) var(--price-card-gap-row);
}
.fx-layout-col-prices .price-cards-table tr.price-cards-row,
.fx-prices-box .price-cards-row{
  height:var(--price-card-row-height) !important;
  max-height:var(--price-card-row-height) !important;
}
.fx-layout-col-prices .price-cards-table tr.price-cards-row > td.price-card-cell,
.fx-prices-box .price-card-cell{
  width:calc(100% / var(--price-card-cols)) !important;
  max-width:none !important;
  height:var(--price-card-row-height) !important;
  max-height:var(--price-card-row-height) !important;
  padding:0;
  vertical-align:top;
  box-sizing:border-box;
  overflow:visible;
}
.fx-prices-box .price-card-slot{
  display:block;
  width:100%;
  height:var(--price-card-row-height);
  min-height:var(--price-card-row-height);
  max-height:var(--price-card-row-height);
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  border-radius:6px;
  overflow:visible;
}
.fx-prices-box .price-card-slot.is-vacant,
.fx-prices-box .price-card-slot.is-origin-empty{
  height:var(--price-card-row-height);
  min-height:var(--price-card-row-height);
}
.fx-prices-box .price-card{
  width:100%;
  height:100%;
  min-height:var(--price-card-row-height);
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  overflow:visible;
}
/* ① 右20%: TA + AI Analysis + 通貨ペア */
.fx-layout-top .fx-layout-sub,
.fx-layout-top .fx-box-analysis{
  grid-column:2;
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  max-width:100%;
  height:var(--price-cards-grid-height);
  min-height:var(--price-cards-grid-height);
  max-height:var(--price-cards-grid-height);
  align-self:stretch;
  position:relative;
  z-index:22;
  background:transparent;
  overflow:visible;
  container-type:inline-size;
  container-name:fx-analysis-panel;
}
.fx-layout-main{
  display:flex;
  flex-direction:column;
  gap:var(--ticker-chart-gap);
  flex:1 1 auto;
  min-height:calc(var(--chart-top-bar-height) + var(--zone2-charts-box-height, var(--charts-box-height)));
  position:relative;
  z-index:1;
  padding-left:var(--safe-inline);
  padding-right:var(--safe-inline);
  overflow:visible;
  --news-preview-dock-top:var(--chart-top-bar-height);
}
.fx-layout-main > .chart-top-bar,
.fx-layout-main > .fx-main-bar,
.fx-layout-main > .fx-zone2-news-full,
.fx-layout-main > .fx-zone2-chart-grid{
  width:100%;
  min-width:0;
  max-width:100%;
  position:relative;
  z-index:20;
  pointer-events:auto;
  overflow:visible;
  box-sizing:border-box;
}
.fx-layout-main > .chart-top-bar,
.fx-layout-main > .fx-main-bar,
.fx-layout-main > .fx-zone2-news-full{
  flex:0 0 auto;
}
.fx-layout-main > .fx-zone2-chart-grid{
  flex:1 1 auto;
}
/* ニュース・通貨ペア: ページ幅100% */
.fx-zone2-news-full{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  position:relative;
  z-index:25;
  flex:0 0 auto;
  height:var(--chart-top-bar-height);
  min-height:var(--chart-top-bar-height);
  max-height:var(--chart-top-bar-height);
  overflow:visible;
}
.fx-layout-main > .fx-zone2-chart-grid{
  position:relative;
  z-index:18;
}
.fx-zone2-news-full .fx-zone2-chart-head{
  width:100%;
  max-width:100%;
}
/* ②ゾーン: ①と同じ 80% / 20% グリッド */
.fx-zone2-bar .fx-zone2-bar-grid{
  display:grid;
  grid-template-columns:var(--zone1-grid-cols);
  align-items:flex-start;
  gap:var(--analysis-panel-gap);
  width:100%;
}
.fx-zone2-bar-col1{
  grid-column:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.fx-zone2-bar-col2{
  grid-column:2;
  min-width:0;
  pointer-events:none;
}
/* ②チャート: リアル＋ミニを同一 charts-box（80% / 20%） */
.fx-zone2-chart-grid{
  display:grid;
  grid-template-columns:var(--zone1-grid-cols);
  align-items:stretch;
  gap:var(--analysis-panel-gap);
  width:100%;
  flex:1 1 auto;
  min-height:var(--charts-box-height);
}
.fx-zone2-chart-grid.charts-box--zone2-pair{
  height:var(--zone2-charts-box-height);
  min-height:var(--zone2-charts-box-height);
  max-height:var(--zone2-charts-box-height);
  margin:0;
  padding:0;
  box-sizing:border-box;
  position:relative;
  isolation:auto;
  overflow:visible;
  background:transparent;
  border:none;
  box-shadow:none;
  align-self:stretch;
}
.fx-zone2-chart-grid.charts-box--zone2-pair > .fx-zone2-chart-col1::before{
  content:"";
  position:absolute;
  inset:0;
  background:#000;
  opacity:var(--charts-box-bg-opacity);
  pointer-events:none;
  z-index:0;
  border-radius:inherit;
}
.fx-zone2-chart-grid.charts-box--zone2-pair > .fx-zone2-chart-col1,
.fx-zone2-chart-grid.charts-box--zone2-pair > .fx-zone2-chart-col2{
  position:relative;
  z-index:1;
  min-width:0;
  min-height:0;
  height:100%;
  max-height:100%;
  display:flex;
  flex-direction:column;
}
.fx-zone2-chart-col1{
  grid-column:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:0;
}
.fx-zone2-chart-grid.charts-box--zone2-pair .fx-zone2-chart-col1 .chart-panel{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  min-height:0;
  height:100%;
  max-height:100%;
  margin:0;
  padding:0;
  gap:0;
  box-sizing:border-box;
}
.fx-zone2-chart-grid.charts-box--zone2-pair .fx-zone2-chart-col1 #fx-chart,
.fx-zone2-chart-grid.charts-box--zone2-pair .fx-zone2-chart-col1 .fx-chart{
  flex:1 1 auto;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  height:100%;
  max-height:100%;
}
.fx-zone2-chart-head{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  min-width:0;
  position:relative;
  z-index:30;
  overflow:visible;
}
.fx-zone2-chart-col2{
  grid-column:2;
  min-width:0;
  pointer-events:none;
}
.fx-zone2-chart-col2.futures-mini-col{
  pointer-events:auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  max-height:100%;
  align-self:stretch;
  visibility:visible;
  opacity:1;
  position:relative;
  z-index:22;
  background:transparent;
  isolation:auto;
}
.futures-mini-col--loading .futures-mini-price,
.futures-mini-col--loading .futures-mini-change{
  opacity:0.45;
}
.futures-mini-col--loading .futures-mini-spark{
  opacity:0.25;
}
.fx-zone2-chart-grid.charts-box--zone2-pair .futures-mini-sidebar{
  display:flex;
  flex-direction:column;
  gap:var(--analysis-panel-gap);
  width:100%;
  min-width:0;
  flex:1 1 auto;
  height:100%;
  min-height:0;
  max-height:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
  justify-content:stretch;
}

/* Live comment layout: inside the realtime-chart column, directly under TradingView. */
.fx-zone2-chart-grid.charts-box--zone2-pair .fx-zone2-chart-col1--with-live-comment{
  gap:var(--analysis-panel-gap);
}
.fx-zone2-chart-grid.charts-box--zone2-pair .fx-zone2-chart-col1--with-live-comment .chart-panel{
  flex:1 1 auto;
  height:auto;
  max-height:none;
}
.fx-zone2-chart-grid.charts-box--zone2-pair .fx-zone2-chart-col1--with-live-comment > .live-comment-panel{
  flex:0 0 auto;
}
.live-comment-panel{
  width:100%;
  min-width:0;
  padding:var(--analysis-panel-pad);
  box-sizing:border-box;
  background:var(--analysis-panel-bg);
  border-radius:6px;
  pointer-events:auto;
}
.live-comment-meta{
  display:flex;
  gap:8px;
  margin-bottom:8px;
}
.live-comment-field{
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.live-comment-label{
  font-size:0.68rem;
  font-weight:700;
  color:var(--muted);
  letter-spacing:0.02em;
}
.live-comment-dir,
.live-comment-tier{
  display:flex;
  gap:6px;
}
.live-comment-dir-btn,
.live-comment-tier-btn{
  flex:1 1 auto;
  min-width:0;
  padding:6px 8px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:6px;
  background:rgba(8,12,22,0.75);
  color:#ddd;
  font-size:0.78rem;
  font-weight:700;
  cursor:pointer;
}
.live-comment-dir-btn.is-active,
.live-comment-tier-btn.is-active{
  border-color:rgba(255,255,255,0.45);
  background:rgba(20,30,50,0.95);
  color:#fff;
}
.live-comment-panel .comment-input-area{
  display:flex;
  gap:6px;
}
.live-comment-panel .live-comment-input{
  flex:1 1 auto;
  min-width:0;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:6px;
  background:rgba(8,12,22,0.85);
  color:#fff;
  font-size:0.82rem;
  outline:none;
}
.live-comment-panel .live-comment-submit{
  flex:0 0 auto;
  padding:8px 18px;
  min-width:6.5rem;
  border:0;
  border-radius:6px;
  background:#4a9eff;
  color:#fff;
  font-size:0.82rem;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.live-comment-panel .live-comment-error-msg{
  min-height:1.1em;
  margin:4px 0 0;
  color:#ff6b6b;
  font-size:0.75rem;
}
@media (max-width: 600px){
  .live-comment-meta,
  .live-comment-panel .comment-input-area{
    flex-direction:column;
  }
  .live-comment-panel .live-comment-submit{
    width:100%;
  }
}
.futures-mini-sidebar{
  display:flex;
  flex-direction:column;
  gap:var(--analysis-panel-gap);
  width:100%;
  min-width:0;
  flex:1 1 auto;
  height:100%;
  min-height:0;
  max-height:100%;
  box-sizing:border-box;
  background:transparent;
}
.futures-mini-card{
  position:relative;
  flex:1 1 0;
  min-height:0;
  display:block;
  padding:var(--analysis-panel-pad);
  box-sizing:border-box;
  cursor:grab;
  touch-action:none;
  -webkit-user-drag:none;
  user-select:none;
  background:var(--analysis-panel-bg) !important;
  background-color:var(--analysis-panel-bg) !important;
  background-image:none !important;
  border:none;
  border-radius:6px;
  overflow:hidden;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:var(--futures-mini-card-rest-shadow);
  transition:
    box-shadow var(--price-card-glow-fade) var(--price-card-glow-fade-ease),
    background-color var(--price-card-text-fade) var(--price-card-fade-ease);
}
.futures-mini-card.flash-up,
.futures-mini-card.flash-down{
  transition:background-color var(--price-card-text-fade) var(--price-card-fade-ease);
}
.futures-mini-card.flash-up .futures-mini-price{
  color:var(--flash-price-color, var(--price-up));
}
.futures-mini-card.flash-down .futures-mini-price{
  color:var(--flash-price-color, var(--price-down));
}
.futures-mini-card.flash-up{
  animation:futures-flash-outer-up var(--futures-mini-flash-duration) var(--price-card-glow-fade-ease) forwards;
}
.futures-mini-card.flash-down{
  animation:futures-flash-outer-down var(--futures-mini-flash-duration) var(--price-card-glow-fade-ease) forwards;
}
.futures-mini-card.flash-up::after,
.futures-mini-card.flash-down::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background:rgba(var(--flash-rgb),var(--flash-alpha, calc(0.52 * var(--futures-mini-flash-intensity))));
  animation:price-flash-overlay-fade var(--futures-mini-flash-duration) var(--price-flash-fade-ease) forwards;
}
@keyframes futures-flash-outer-up{
  0%{
    box-shadow:
      var(--futures-mini-card-rest-shadow),
      0 0 16px rgba(var(--price-flash-up-rgb),var(--flash-glow, calc(0.65 * var(--futures-mini-flash-intensity)))),
      0 0 30px rgba(var(--price-flash-up-rgb),calc(var(--flash-glow, calc(0.65 * var(--futures-mini-flash-intensity))) * 0.55));
  }
  100%{
    box-shadow:var(--futures-mini-card-rest-shadow);
  }
}
@keyframes futures-flash-outer-down{
  0%{
    box-shadow:
      var(--futures-mini-card-rest-shadow),
      0 0 16px rgba(var(--price-flash-down-rgb),var(--flash-glow, calc(0.65 * var(--futures-mini-flash-intensity)))),
      0 0 30px rgba(var(--price-flash-down-rgb),calc(var(--flash-glow, calc(0.65 * var(--futures-mini-flash-intensity))) * 0.55));
  }
  100%{
    box-shadow:var(--futures-mini-card-rest-shadow);
  }
}
.futures-mini-head{
  position:relative;
  z-index:2;
  touch-action:none;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
}
.futures-mini-title{
  margin:0 0 4px;
  font-size:0.72rem;
  font-weight:700;
  color:var(--muted);
  text-shadow:
    1px 0 0 rgba(0,0,0,0.5),
    -1px 0 0 rgba(0,0,0,0.5),
    0 1px 0 rgba(0,0,0,0.5),
    0 -1px 0 rgba(0,0,0,0.5);
}
.futures-mini-quote{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.futures-mini-price{
  font-size:1.05rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color:var(--text);
  text-shadow:
    1px 0 0 rgba(0,0,0,0.5),
    -1px 0 0 rgba(0,0,0,0.5),
    0 1px 0 rgba(0,0,0,0.5),
    0 -1px 0 rgba(0,0,0,0.5);
}
.futures-mini-change{
  font-size:0.72rem;
  font-variant-numeric:tabular-nums;
  color:var(--muted);
  text-shadow:
    1px 0 0 rgba(0,0,0,0.5),
    -1px 0 0 rgba(0,0,0,0.5),
    0 1px 0 rgba(0,0,0,0.5),
    0 -1px 0 rgba(0,0,0,0.5);
}
.futures-mini-change.up{color:var(--change-up)}
.futures-mini-change.down{color:var(--change-down)}
.futures-mini-spark{
  position:absolute;
  inset:0;
  z-index:0;
  width:100% !important;
  height:100% !important;
  display:block;
  pointer-events:none;
}
.futures-mini-card.up .futures-mini-price{color:var(--price-up)}
.futures-mini-card.down .futures-mini-price{color:var(--price-down)}
.futures-mini-card.flat .futures-mini-price,
.futures-mini-card.flat .futures-mini-change{
  color:var(--muted);
}
/* ミニチャート休止 — 日経（時間外）・他銘柄（5分間無変化）: 価格・％維持、グラフ15%、背景なし */
#fxchart-root .futures-mini-card.futures-mini-closed,
.futures-mini-card.futures-mini-closed,
#fxchart-root #futures-mini-nikkei.nikkei-spot-closed,
#futures-mini-nikkei.nikkei-spot-closed,
.futures-mini-card.nikkei-spot-closed{
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
#fxchart-root .futures-mini-card.futures-mini-closed::before,
#fxchart-root .futures-mini-card.futures-mini-closed::after,
.futures-mini-card.futures-mini-closed::before,
.futures-mini-card.futures-mini-closed::after,
#fxchart-root #futures-mini-nikkei.nikkei-spot-closed::before,
#fxchart-root #futures-mini-nikkei.nikkei-spot-closed::after,
#futures-mini-nikkei.nikkei-spot-closed::before,
#futures-mini-nikkei.nikkei-spot-closed::after,
.futures-mini-card.nikkei-spot-closed::before,
.futures-mini-card.nikkei-spot-closed::after{
  display:none !important;
  content:none !important;
  background:none !important;
}
#fxchart-root .futures-mini-card.futures-mini-closed .futures-mini-spark,
.futures-mini-card.futures-mini-closed .futures-mini-spark,
#fxchart-root #futures-mini-nikkei.nikkei-spot-closed .futures-mini-spark,
#futures-mini-nikkei.nikkei-spot-closed .futures-mini-spark,
.futures-mini-card.nikkei-spot-closed .futures-mini-spark{
  opacity:0.15;
  background:transparent !important;
}
.futures-mini-card.futures-mini-closed .futures-mini-price,
.futures-mini-card.futures-mini-closed .futures-mini-change,
#fxchart-root .futures-mini-card.futures-mini-closed .futures-mini-price,
#fxchart-root .futures-mini-card.futures-mini-closed .futures-mini-change{
  color:var(--muted);
}
.futures-mini-card.nikkei-spot-closed .futures-mini-price,
.futures-mini-card.nikkei-spot-closed .futures-mini-change,
#fxchart-root .futures-mini-card.nikkei-spot-closed .futures-mini-price,
#fxchart-root .futures-mini-card.nikkei-spot-closed .futures-mini-change{
  color:var(--muted);
}
.futures-mini-card.futures-mini-closed.flash-up,
.futures-mini-card.futures-mini-closed.flash-down,
.futures-mini-card.nikkei-spot-closed.flash-up,
.futures-mini-card.nikkei-spot-closed.flash-down,
#futures-mini-nikkei.nikkei-spot-closed.flash-up,
#futures-mini-nikkei.nikkei-spot-closed.flash-down{
  animation:none !important;
  box-shadow:none !important;
  background:none !important;
  background-color:transparent !important;
}
.futures-mini-card:active{cursor:grabbing}
.futures-mini-card.dragging{
  cursor:grabbing;
  opacity:0.95;
  flex:0 0 auto !important;
  contain:layout paint;
  overflow:hidden;
}
.futures-mini-sidebar.futures-dragging,
.futures-mini-col.futures-dragging{
  position:relative;
  touch-action:none;
  overflow:visible !important;
}
.futures-mini-drop-line{
  position:absolute;
  left:6px;
  right:6px;
  height:3px;
  margin-top:-1px;
  background:#38bdf8;
  box-shadow:0 0 10px rgba(56,189,248,0.9),0 0 20px rgba(56,189,248,0.45);
  border-radius:2px;
  pointer-events:none;
  z-index:35;
  display:none;
}
.futures-mini-drag-placeholder{
  flex:0 0 auto;
  min-height:0;
  border-radius:6px;
  border:1px dashed rgba(255,255,255,0.14);
  border-top:none;
  background:rgba(56,189,248,0.06);
  box-sizing:border-box;
}
#futures-drag-overlay{
  position:fixed;
  inset:0;
  z-index:1000;
  background:transparent;
  pointer-events:auto;
  display:none;
  touch-action:none;
}
#futures-drag-overlay.is-active{
  display:block;
}
body.futures-mini-drag-active .fx-chart,
body.futures-mini-drag-active .fx-chart iframe{
  pointer-events:none;
}
/* 旧構造: col1 内に .charts-box がある埋め込み */
.fx-zone2-chart-col1 > .charts-box{
  width:100%;
  max-width:100%;
  min-width:0;
  flex:1 1 auto;
  height:100%;
  min-height:0;
  max-height:100%;
  margin:0;
  overflow:hidden;
  contain:none;
}
.fx-zone2-chart-grid:not(.charts-box--zone2-pair) .fx-zone2-chart-col1 .chart-panel,
.fx-zone2-chart-grid:not(.charts-box--zone2-pair) .fx-zone2-chart-col1 #fx-chart,
.fx-zone2-chart-grid:not(.charts-box--zone2-pair) .fx-zone2-chart-col1 .fx-chart{
  min-height:var(--chart-display-height, 360px);
}
.fx-layout-main #news-ticker .item{
  pointer-events:auto;
  position:relative;
}
.fx-layout-top .fx-box-analysis iframe,
.fx-layout-top .fx-analysis-stack iframe{
  display:none !important;
}
#fx-chart iframe,
.fx-chart.fx-chart-tv iframe,
.fx-chart.fx-chart-tv tv-advanced-chart{
  max-width:100% !important;
  box-sizing:border-box;
}
.fx-layout-4{
  --chart-block-width:100%;
}
.fx-layout-4 .chart-panel{
  flex:1 1 0;
  min-height:0;
  height:100%;
}
.fx-layout-4 .chart-panel > #fx-chart,
.fx-layout-4 .chart-panel > .fx-chart,
.fx-layout-4 .fx-chart{
  width:100%;
  max-width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  max-height:100%;
  flex:1 1 auto;
}
.fx-box{
  flex:0 0 auto;
  box-sizing:border-box;
  text-align:left;
}
/* Legacy widgets-row (migration / old embed) */
.widgets-row,
.fx-dashboard{
  width:var(--content-block-width);
  max-width:var(--content-block-width);
  min-width:var(--content-block-width);
  flex:0 0 auto;
  margin:var(--widgets-column-margin);
  padding:var(--widgets-column-padding);
  text-align:center;
  align-self:center;
  position:relative;
  z-index:5;
}
.fx-dashboard-columns{
  display:grid;
  grid-template-columns:var(--zone1-grid-cols);
  align-items:stretch;
  gap:var(--analysis-panel-gap);
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0 auto;
  box-sizing:border-box;
}
.fx-dashboard-columns > .fx-layout-col-prices,
.fx-dashboard-columns > .fx-box-prices{
  grid-column:1;
  min-width:0;
}
.fx-dashboard-columns > .fx-box-analysis{
  grid-column:2;
  min-width:0;
  width:100%;
  max-width:100%;
}
.fx-box-prices:not(.fx-layout-col-prices){
  width:var(--price-cards-grid-width);
  min-width:var(--price-cards-grid-width);
  max-width:var(--price-cards-grid-width);
}
.fx-analysis-stack{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-template-rows:minmax(0, 1fr) minmax(0, 1fr);
  gap:10px;
  width:100%;
  height:100%;
  max-height:100%;
  min-height:0;
  overflow:hidden;
}
.fx-analysis-stack #sentiment,
.fx-analysis-stack #analysis{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  max-height:100%;
  height:100%;
  box-sizing:border-box;
  background:var(--analysis-panel-bg);
  overflow:hidden;
}
.fx-analysis-stack #sentiment{
  grid-row:1;
  display:flex;
  flex-direction:column;
  padding:var(--analysis-panel-pad);
  border-radius:6px;
  margin-top:0;
  gap:4px;
}
.fx-analysis-stack #sentiment .analysis-grid-head{
  flex:0 0 auto;
  margin:0;
  align-items:center;
  column-gap:6px;
}
.fx-analysis-stack #sentiment .ta-panel{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:space-evenly;
  gap:4px;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
}
.fx-analysis-stack #sentiment .ta-overall{
  margin:0;
  font-size:clamp(0.68rem, 4.5cqi, 0.88rem);
  line-height:1.2;
}
.fx-analysis-stack #sentiment .ta-meter{
  margin:0;
}
.fx-analysis-stack #sentiment .ta-meter-labels{
  margin-top:3px;
  font-size:clamp(0.42rem, 2.4cqi, 0.5rem);
}
.fx-analysis-stack #sentiment .ta-rows{
  margin:0;
  gap:4px;
}
.fx-analysis-stack #sentiment .ta-row{
  font-size:clamp(0.56rem, 3.2cqi, 0.66rem);
  line-height:1.25;
  gap:6px;
}
.fx-analysis-stack #sentiment .ta-tag{
  font-size:clamp(0.56rem, 3.2cqi, 0.66rem);
  white-space:nowrap;
}
.fx-analysis-stack #analysis{
  grid-row:2;
  display:flex;
  flex-direction:column;
  justify-content:stretch;
  margin:0;
  padding:var(--analysis-panel-pad);
}
.fx-analysis-stack #analysis .analysis-grid{
  align-content:space-between;
  align-items:center;
  row-gap:4px;
  column-gap:6px;
  height:100%;
  flex:1 1 auto;
}
.fx-analysis-stack #analysis .analysis-grid-head{
  margin:0;
  align-items:center;
  column-gap:6px;
}
.fx-analysis-stack #analysis .analysis-bg-spark{
  inset:0;
}
.fx-analysis-stack .analysis-grid-left,
.fx-analysis-stack .analysis-grid-right,
.fx-analysis-stack .analysis-grid-metric,
.fx-analysis-stack #chart-price,
.fx-analysis-stack #chart-change{
  line-height:1.25;
}
.fx-analysis-stack .analysis-grid-meta{
  gap:2px;
}
.fx-box-prices .price-cards-table{
  margin:0 auto;
}
.price-cards-table{
  margin:0;
  padding:0;
  border-collapse:separate;
  border-spacing:var(--price-card-gap-col) var(--price-card-gap-row);
  table-layout:fixed;
  text-align:left;
}
.price-cards-table tr.price-cards-row{
  display:table-row;
}
.price-cards-table tr.price-cards-row > td.price-card-cell{
  display:table-cell;
}
.price-cards-table tr td:first-child{
  padding-left:0;
}
.price-cards-row{
  vertical-align:top;
}
.price-card-cell{
  vertical-align:top;
  padding:0;
  box-sizing:border-box;
  overflow:visible;
}
.price-card-slot{
  display:block;
  width:100%;
  height:var(--price-card-row-height);
  min-height:var(--price-card-row-height);
  max-height:var(--price-card-row-height);
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  border-radius:6px;
  position:relative;
  overflow:visible;
}
.price-card-slot.is-vacant,
.price-card-slot.is-origin-empty{
  border:1px dashed rgba(56,189,248,0.35);
  background:rgba(56,189,248,0.04);
}
.price-card-slot.is-drop-target{
  border:1px solid rgba(56,189,248,0.55);
  background:rgba(56,189,248,0.12);
  box-shadow:0 0 12px rgba(56,189,248,0.22);
}
/* リアルタイムチャート表示中の通貨ペア（内側ライン＝黄色・カード側のみ） */
.price-card-slot.is-chart-active{
  z-index:2;
}
.price-card.is-chart-active{
  position:relative;
  z-index:2;
  overflow:visible;
}
.price-card.is-chart-active::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:none;
  box-shadow:inset 0 0 0 var(--chart-active-inner-line) var(--chart-active-inner-line-color);
  box-sizing:border-box;
  pointer-events:none;
  z-index:2;
}
.price-cards-table.cards-dragging .price-card:not(.dragging){
  transition:none;
  transform:none;
}
.card{
  background:var(--card);
  padding:12px;
  border-radius:10px;
  border:none;
  box-shadow:var(--box-shadow-emboss);
  text-align:center;
  min-width:0;
}
.price-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:2px;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  box-sizing:border-box;
  padding:5px 4px 26px;
  border-radius:6px;
  cursor:grab;
  user-select:none;
  touch-action:none;
  overflow:visible;
  position:relative;
}
.price-card > *:not(.sparkline){
  position:relative;
  z-index:1;
}
.price-cards-table .price-card{
  background:var(--price-card-bg);
  box-shadow:var(--box-shadow-emboss);
  transition:
    box-shadow var(--price-card-glow-fade) var(--price-card-glow-fade-ease),
    background-color var(--price-card-text-fade) var(--price-card-fade-ease);
}
.price-card.up,
.price-card.down,
.price-card.flat,
.price-card.up.is-chart-active,
.price-card.down.is-chart-active,
.price-card.flat.is-chart-active{
  box-shadow:var(--box-shadow-emboss);
}
.price-card.flash-up,
.price-card.flash-down{
  transition:background-color var(--price-card-text-fade) var(--price-card-fade-ease);
}
.price-card.flash-up .price{
  color:var(--flash-price-color, var(--price-up));
}
.price-card.flash-down .price{
  color:var(--flash-price-color, var(--price-down));
}
.price-card.flash-up{
  animation:price-flash-outer-up var(--price-flash-duration) var(--price-card-glow-fade-ease) forwards;
}
.price-card.flash-down{
  animation:price-flash-outer-down var(--price-flash-duration) var(--price-card-glow-fade-ease) forwards;
}
.price-card.flash-up::after,
.price-card.flash-down::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background:rgba(var(--flash-rgb),var(--flash-alpha, 0.52));
  animation:price-flash-overlay-fade var(--price-flash-duration) var(--price-flash-fade-ease) forwards;
}
@keyframes price-flash-outer-up{
  0%{
    box-shadow:
      var(--box-shadow-emboss),
      0 0 16px rgba(var(--price-flash-up-rgb),var(--flash-glow, 0.65)),
      0 0 30px rgba(var(--price-flash-up-rgb),calc(var(--flash-glow, 0.65) * 0.55));
  }
  100%{
    box-shadow:var(--box-shadow-emboss);
  }
}
@keyframes price-flash-outer-down{
  0%{
    box-shadow:
      var(--box-shadow-emboss),
      0 0 16px rgba(var(--price-flash-down-rgb),var(--flash-glow, 0.65)),
      0 0 30px rgba(var(--price-flash-down-rgb),calc(var(--flash-glow, 0.65) * 0.55));
  }
  100%{
    box-shadow:var(--box-shadow-emboss);
  }
}
@keyframes price-flash-overlay-fade{
  0%{opacity:1}
  10%{opacity:0.94}
  24%{opacity:0.82}
  40%{opacity:0.66}
  55%{opacity:0.5}
  68%{opacity:0.36}
  80%{opacity:0.24}
  90%{opacity:0.14}
  96%{opacity:0.06}
  100%{opacity:0}
}
.price-card h4{
  flex:0 0 auto;
  margin:0;
  padding:0 2px;
  font-size:0.8rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0.02em;
  max-width:100%;
  min-height:1.3em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.price-card:active{cursor:grabbing}
.price-card.dragging{
  opacity:1;
  cursor:grabbing;
  overflow:hidden;
  contain:layout paint;
  isolation:isolate;
}
.price-card.dragging .sparkline{
  visibility:hidden;
  pointer-events:none;
}
.price-cards-table.cards-dragging{
  overflow:hidden;
}
#price-card-drag-overlay{
  position:fixed;
  inset:0;
  z-index:999;
  background:transparent;
  pointer-events:auto;
  display:none;
}
#price-card-drag-overlay.is-active{
  display:block;
}
body.price-card-drag-active .fx-chart,
body.price-card-drag-active .fx-chart iframe,
body.price-card-drag-active .tradingview-widget-container,
body.price-card-drag-active .tradingview-widget-container iframe{
  pointer-events:none !important;
}
.price-cards-table.cards-dragging .price-card-cell,
.price-cards-table.cards-dragging .price-card-slot{
  overflow:hidden;
}
.price-card .price{
  flex:0 0 auto;
  font-size:0.85rem;
  line-height:1.2;
  font-weight:600;
  margin-top:2px;
  color:var(--text);
  transition:color var(--price-card-text-fade) var(--price-card-fade-ease), text-shadow var(--price-card-text-fade) var(--price-card-fade-ease);
  -webkit-text-stroke:1px #000;
  paint-order:stroke fill;
  text-shadow:
    0 1px 2px rgba(0,0,0,0.9),
    0 2px 6px rgba(0,0,0,0.45);
}
.price-card .change{
  flex:0 0 auto;
  font-size:0.68rem;
  line-height:1.2;
  color:var(--muted);
  transition:color var(--price-card-text-fade) var(--price-card-fade-ease), text-shadow var(--price-card-text-fade) var(--price-card-fade-ease);
  --change-density:0%;
  --change-density-suffix:0%;
  --change-glow:0.55;
}
.price-card.initial .price{
  color:var(--text);
  text-shadow:
    0 1px 2px rgba(0,0,0,0.9),
    0 2px 8px rgba(0,0,0,0.5),
    0 0 14px rgba(240,240,240,0.08);
}
.price-card.up .price{
  color:var(--price-up);
  text-shadow:
    0 1px 2px rgba(0,0,0,0.95),
    0 2px 8px rgba(0,0,0,0.55),
    0 0 12px rgba(56,189,248,0.85),
    0 0 26px rgba(56,189,248,0.42);
}
.price-card.down .price{
  color:var(--price-down);
  text-shadow:
    0 1px 2px rgba(0,0,0,0.95),
    0 2px 8px rgba(0,0,0,0.55),
    0 0 12px rgba(255,43,43,0.8),
    0 0 26px rgba(255,43,43,0.38);
}
.price-card.flat .price{
  color:var(--muted);
  text-shadow:
    0 1px 2px rgba(0,0,0,0.85),
    0 2px 6px rgba(0,0,0,0.4),
    0 0 8px rgba(154,154,154,0.15);
}
.price-card.flat .change{
  color:var(--muted);
}
.price-card .change.change-zero{color:var(--muted)}
/* ％色 — 5段階の固定色（温度差） */
.price-card .change.change-plus.change-tier-1{color:var(--pct-up-1)}
.price-card .change.change-plus.change-tier-2{color:var(--pct-up-2)}
.price-card .change.change-plus.change-tier-3{color:var(--pct-up-3)}
.price-card .change.change-plus.change-tier-4{color:var(--pct-up-4)}
.price-card .change.change-plus.change-tier-5{color:var(--pct-up-5)}
.price-card .change.change-minus.change-tier-1{color:var(--pct-down-1)}
.price-card .change.change-minus.change-tier-2{color:var(--pct-down-2)}
.price-card .change.change-minus.change-tier-3{color:var(--pct-down-3)}
.price-card .change.change-minus.change-tier-4{color:var(--pct-down-4)}
.price-card .change.change-minus.change-tier-5{color:var(--pct-down-5)}
.price-card .change.change-plus[class*="change-tier-"] .change-suffix{color:inherit;opacity:0.92}
.price-card .change.change-minus[class*="change-tier-"] .change-suffix{color:inherit;opacity:0.92}
.price-card .change.change-plus.change-tier-3.change-glow{
  text-shadow:
    0 0 6px rgba(56,189,248,0.55),
    0 0 14px rgba(56,189,248,0.28);
}
.price-card .change.change-plus.change-tier-4.change-glow{
  text-shadow:
    0 0 8px rgba(0,184,255,0.7),
    0 0 18px rgba(0,184,255,0.4),
    0 0 28px rgba(56,189,248,0.2);
}
.price-card .change.change-plus.change-tier-5.change-glow{
  text-shadow:
    0 0 10px rgba(0,240,255,0.85),
    0 0 22px rgba(0,240,255,0.5),
    0 0 36px rgba(56,189,248,0.28);
}
.price-card .change.change-minus.change-tier-3.change-glow{
  text-shadow:
    0 0 6px rgba(255,68,68,0.55),
    0 0 14px rgba(255,68,68,0.28);
}
.price-card .change.change-minus.change-tier-4.change-glow{
  text-shadow:
    0 0 8px rgba(255,26,26,0.7),
    0 0 18px rgba(255,26,26,0.4),
    0 0 28px rgba(255,43,43,0.2);
}
.price-card .change.change-minus.change-tier-5.change-glow{
  text-shadow:
    0 0 10px rgba(255,0,68,0.85),
    0 0 22px rgba(255,0,68,0.5),
    0 0 36px rgba(255,43,43,0.28);
}
#sentiment,#analysis{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#analysis.card{
  margin:0;
  padding:var(--analysis-table-gap);
}
#sentiment-title{
  font-size:0.72rem;
  line-height:1.15;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--text);
}
.ta-panel{
  width:100%;
  text-align:left;
}
.ta-panel .ta-loading{
  margin:0;
  font-size:0.78rem;
  color:var(--muted);
  text-align:center;
}
.ta-overall{
  margin:0 0 8px;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:0.02em;
  text-align:center;
}
.ta-overall.strong_sell,.ta-tag.strong_sell{color:#ff4d6d}
.ta-overall.sell,.ta-tag.sell{color:#ff7b8a}
.ta-overall.neutral,.ta-tag.neutral{color:#94a3b8}
.ta-overall.buy,.ta-tag.buy{color:#6ee7b7}
.ta-overall.strong_buy,.ta-tag.strong_buy{color:#00ff88}
.ta-meter{
  margin:0 0 10px;
}
.ta-meter-track{
  position:relative;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,#FF00FF 0%,#00FF00 100%);
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.45);
}
.ta-meter-marker{
  position:absolute;
  top:50%;
  width:10px;
  height:10px;
  margin-top:-5px;
  margin-left:-5px;
  border-radius:50%;
  background:#f8fafc;
  border:2px solid #0f172a;
  box-shadow:0 0 6px rgba(255,255,255,0.35);
  transition:left 0.65s ease-out;
}
.ta-meter-labels{
  display:flex;
  justify-content:space-between;
  margin-top:4px;
  font-size:0.48rem;
  color:var(--muted);
  line-height:1.2;
  gap:2px;
}
.ta-meter-labels span{
  flex:1;
  text-align:center;
}
.ta-meter-labels span:first-child{text-align:left}
.ta-meter-labels span:last-child{text-align:right}
.ta-rows{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:2px;
}
.ta-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.68rem;
  color:var(--muted);
}
.ta-tag{
  font-weight:700;
  font-size:0.68rem;
}
.ta-pair-label{
  margin:6px 0 0;
  font-size:0.62rem;
  color:var(--muted);
  text-align:center;
  opacity:0.85;
}
.price-card .sparkline{
  position:absolute;
  left:-1.5px;
  right:0;
  bottom:0;
  display:block;
  flex:none;
  width:calc(100% + 3px);
  height:26px !important;
  min-height:26px !important;
  max-height:26px !important;
  margin:0;
  padding:0;
  box-sizing:border-box;
  pointer-events:none;
  overflow:visible;
  z-index:0;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,0.175));
  transition:filter var(--price-card-text-fade) var(--price-card-fade-ease);
}
.price-card.up .sparkline{
  filter:drop-shadow(0 1px 2px rgba(0,0,0,0.175)) drop-shadow(0 0 8px rgba(56,189,248,0.28)) drop-shadow(0 0 14px rgba(56,189,248,0.14));
}
.price-card.down .sparkline{
  filter:drop-shadow(0 1px 2px rgba(0,0,0,0.175)) drop-shadow(0 0 8px rgba(255,43,43,0.26)) drop-shadow(0 0 14px rgba(255,43,43,0.12));
}
.sparkline{height:40px;width:100%}

#news-ticker,
.ticker{
  --ticker-duration:70s;
  display:flex;
  align-items:center;
  overflow:hidden;
  white-space:nowrap;
  background:var(--ticker-bg);
  margin-top:0;
  margin-bottom:0;
  padding:0 10px;
  min-height:var(--chart-top-bar-height);
  height:var(--chart-top-bar-height);
  line-height:1.35;
  box-sizing:border-box;
  border-radius:8px;
  border:none;
  box-shadow:var(--box-shadow-emboss);
  flex:0 0 auto;
}
.ticker .items{
  display:inline-block;
  line-height:1.35;
  width:max-content;
  max-width:none;
  vertical-align:middle;
  animation-name:scroll;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  animation-duration:var(--ticker-duration,70s);
}
.ticker .item{
  position:relative;
  display:inline-block;
  padding:0 20px 4px;
  color:var(--muted);
  line-height:1.35;
  vertical-align:middle;
  cursor:pointer;
}
.ticker .item::after{
  content:'';
  position:absolute;
  left:calc(20px + 1ch);
  bottom:0;
  width:max(4ch,calc((100% - 20px - 1ch) * var(--underline-frac,0)));
  max-width:calc(100% - 20px - 1ch);
  height:2px;
  border-radius:2px;
  pointer-events:none;
  transition:width 0.15s ease-out;
}
@keyframes impact-critical-glow{
  0%,100%{
    opacity:1;
    box-shadow:
      0 0 4px #fbbf24,
      0 0 12px #fbbf24,
      0 0 20px rgba(251,191,36,0.95),
      0 0 36px rgba(251,191,36,0.75),
      0 0 56px rgba(251,191,36,0.5);
  }
  50%{
    opacity:0.3;
    box-shadow:
      0 0 2px rgba(251,191,36,0.55),
      0 0 6px rgba(251,191,36,0.3);
  }
}
.ticker .item[data-impact='最高']::after{
  background:#fbbf24;
  animation:impact-critical-glow 0.35s ease-in-out infinite;
}
@keyframes impact-high-glow{
  0%,100%{
    opacity:1;
    box-shadow:
      0 0 4px #ef4444,
      0 0 10px #ef4444,
      0 0 20px rgba(239,68,68,0.95),
      0 0 36px rgba(239,68,68,0.8),
      0 0 56px rgba(239,68,68,0.55);
  }
  50%{
    opacity:0.3;
    box-shadow:
      0 0 2px rgba(239,68,68,0.55),
      0 0 6px rgba(239,68,68,0.3);
  }
}
.ticker .item[data-impact='高']::after{
  background:#ef4444;
  animation:impact-high-glow 1.7s ease-in-out infinite;
}
.ticker .item[data-impact='中']::after{
  background:#fca5a5;
  box-shadow:0 0 4px #fca5a5,0 0 10px rgba(252,165,165,0.75),0 0 16px rgba(252,165,165,0.4);
}
.ticker .item[data-impact='低']::after{
  background:var(--impact-low);
  box-shadow:0 0 4px var(--impact-low),0 0 10px rgba(56,189,248,0.7),0 0 16px rgba(56,189,248,0.38);
}
.ticker .item[data-impact='微']::after{
  background:var(--impact-minimal);
  box-shadow:0 0 3px var(--impact-minimal),0 0 8px rgba(100,116,139,0.55),0 0 14px rgba(100,116,139,0.3);
}
.ticker .item:not([data-impact='最高']):not([data-impact='高']):hover::after{
  filter:brightness(1.15);
}
.ticker .item[data-impact='最高']:hover{
  color:#fbbf24;
  text-shadow:0 0 8px rgba(251,191,36,0.95),0 0 18px rgba(251,191,36,0.75);
}
.ticker .item[data-impact='高']:hover{
  color:#ef4444;
  text-shadow:0 0 6px rgba(239,68,68,0.9),0 0 14px rgba(239,68,68,0.65);
}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.ticker.is-scroll-paused .items{animation-play-state:paused}
.ticker .item[data-impact='中']:hover{
  color:#fca5a5;
  text-shadow:0 0 6px rgba(252,165,165,0.85),0 0 12px rgba(252,165,165,0.5);
}
.ticker .item[data-impact='低']:hover{color:var(--impact-low)}
.ticker .item[data-impact='微']:hover{color:var(--impact-minimal)}

/* ②ゾーン POP: fx-layout-main 上のオーバーレイ（チャート位置は不変） */
.news-preview-dock,
.fx-layout-main > .news-preview-dock{
  position:absolute;
  top:var(--news-preview-dock-top, var(--chart-top-bar-height));
  left:0;
  right:0;
  z-index:45;
  width:100%;
  min-height:0;
  height:0;
  margin:0;
  padding:0;
  overflow:visible;
  pointer-events:none;
}
.news-preview-dock.is-open,
#fxchart-root .news-preview-dock.is-open{
  height:0;
  min-height:0;
  pointer-events:none;
}
.news-preview-dock .news-preview,
.news-preview.visible,
.fx-layout-main .news-preview-dock .news-preview,
.fx-layout-main .news-preview.visible,
#fxchart-root .news-preview-dock .news-preview,
#fxchart-root .news-preview.visible{
  position:absolute;
  top:0;
  left:var(--news-preview-left);
  right:auto;
  z-index:45;
  width:var(--news-preview-width);
  max-width:var(--news-preview-width);
  min-height:var(--news-preview-min-height);
  max-height:var(--news-preview-max-height);
  height:auto;
  margin:0;
  transform:none;
  background:var(--news-preview-bg) !important;
  border:1px solid var(--news-preview-border);
  border-radius:var(--news-preview-radius);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.06) inset,
    0 5px 14px rgba(0,0,0,0.28);
  -webkit-backdrop-filter:blur(10px) saturate(1.05);
  backdrop-filter:blur(10px) saturate(1.05);
  flex-direction:column;
  box-sizing:border-box;
  overflow:hidden;
}
.news-preview-dock .news-preview:not(.visible),
.news-preview-dock.is-open .news-preview:not(.visible),
.fx-layout-main .news-preview-dock .news-preview:not(.visible),
.fx-layout-main .news-preview-dock.is-open .news-preview:not(.visible),
#fxchart-root .news-preview-dock .news-preview:not(.visible),
#fxchart-root .news-preview-dock.is-open .news-preview:not(.visible){
  display:none;
  pointer-events:none;
}
.news-preview-dock .news-preview,
.news-preview.visible{
  --news-preview-line:var(--news-preview-accent);
}
.news-preview-dock .news-preview[data-level="最高"],
.news-preview.visible[data-level="最高"]{--news-preview-line:var(--impact-ticker-critical)}
.news-preview-dock .news-preview[data-level="高"],
.news-preview.visible[data-level="高"]{--news-preview-line:var(--impact-ticker-high)}
.news-preview-dock .news-preview[data-level="中"],
.news-preview.visible[data-level="中"]{--news-preview-line:var(--impact-ticker-medium)}
.news-preview-dock .news-preview[data-level="低"],
.news-preview.visible[data-level="低"]{--news-preview-line:var(--impact-ticker-low)}
.news-preview-dock .news-preview[data-level="微"],
.news-preview-dock .news-preview[data-level="小"],
.news-preview.visible[data-level="微"],
.news-preview.visible[data-level="小"]{--news-preview-line:var(--impact-ticker-minimal)}
.news-preview-dock .news-preview::before,
.news-preview.visible::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg, var(--news-preview-line) 0%, color-mix(in srgb, var(--news-preview-line) 22%, transparent) 100%);
  border-radius:var(--news-preview-radius) 0 0 var(--news-preview-radius);
  pointer-events:none;
  z-index:0;
}
.news-preview-dock .news-preview::after,
.news-preview.visible::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:var(--news-preview-bg-gradient);
  z-index:0;
}
.news-preview.visible,
.news-preview-dock.is-open .news-preview.visible,
.fx-layout-main .news-preview.visible,
.fx-layout-main .news-preview-dock.is-open .news-preview.visible,
#fxchart-root .news-preview.visible,
#fxchart-root .news-preview-dock.is-open .news-preview.visible{
  display:flex;
  pointer-events:auto;
}
.news-preview-header,
.news-preview-body{
  position:relative;
  z-index:1;
}
.news-preview-header,
#fxchart-root .news-preview-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:8px 10px 7px 12px;
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,0.12);
  font-size:calc(0.76rem * var(--news-preview-font-scale));
  flex:0 0 auto;
}
.news-preview-title,
#fxchart-root .news-preview-title{
  color:#f1f5f9;
  font-size:calc(0.8rem * var(--news-preview-font-scale));
  font-weight:600;
  letter-spacing:0.02em;
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  flex:1;
  text-shadow:none;
}
.news-preview-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:3px 6px;
  border-radius:999px;
  border:1px solid rgba(56,189,248,0.4);
  background:rgba(56,189,248,0.14);
  color:#7dd3fc;
  font-size:calc(var(--news-preview-source-font) * var(--news-preview-font-scale));
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.news-preview-open:hover{
  background:rgba(56,189,248,0.26);
  border-color:rgba(125,211,252,0.55);
  color:#e0f2fe;
  text-decoration:none;
}
.news-preview-body,
#fxchart-root .news-preview-body{
  flex:1 1 auto;
  min-height:0;
  padding:10px 12px 12px 14px;
  overflow-y:auto;
  overflow-x:hidden;
  font-size:calc(0.8rem * var(--news-preview-font-scale));
  line-height:1.55;
  -webkit-overflow-scrolling:touch;
  background:transparent !important;
}
.news-preview-summary,
#fxchart-root .news-preview-summary{
  margin:0;
  color:rgba(241,245,249,0.92);
  font-size:calc(0.82rem * var(--news-preview-font-scale));
  line-height:1.55;
  letter-spacing:0.01em;
  text-shadow:none;
}
.news-preview-summary-text,
#fxchart-root .news-preview-summary-text{text-shadow:none}
.news-preview-source{display:none!important}
.news-preview-impact,
#fxchart-root .news-preview-impact{
  display:block;
  margin:8px 0 0;
  padding:0;
  font-size:calc(var(--news-preview-impact-font) * var(--news-preview-font-scale));
  font-weight:600;
  letter-spacing:0.02em;
  text-transform:none;
  text-shadow:none;
  background:none;
  border:none;
}
.news-preview-impact[data-level="最高"]{color:var(--impact-ticker-critical)}
.news-preview-impact[data-level="高"]{color:var(--impact-ticker-high)}
.news-preview-impact[data-level="中"]{color:var(--impact-ticker-medium)}
.news-preview-impact[data-level="低"]{color:var(--impact-ticker-low)}
.news-preview-impact[data-level="微"],
.news-preview-impact[data-level="小"]{color:var(--impact-ticker-minimal)}
.news-preview-loading{
  color:var(--muted);
  font-style:italic;
  opacity:0.85;
}

/* Config modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.75);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal{background:var(--card);padding:16px;border-radius:8px;max-width:720px;width:100%;border:1px solid var(--border-subtle);box-shadow:var(--box-shadow-emboss)}
.modal h3{margin:0 0 8px}
.modal textarea{width:100%;height:140px;background:var(--surface);color:var(--text);border:1px solid var(--border-subtle);padding:8px;border-radius:6px}
.modal .row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.modal label{font-size:0.9rem;color:var(--muted);min-width:120px}
.modal input[type=\"number\"], .modal input[type=\"text\"]{background:var(--surface);color:var(--text);border:1px solid var(--border-subtle);padding:6px;border-radius:6px}
.modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}



/* Site description  規約 タイトル説明*/

.site-description{
  font-size:14px;
  opacity:0.8;
}

#fxchart-root .seo-content{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:clamp(28px,4vw,48px) var(--safe-inline,18px) clamp(36px,5vw,64px);
  box-sizing:border-box;
  opacity:0.3;
}

#fxchart-root .seo-content h2{
  margin:0 0 7px;
  color:var(--text);
  font-size:clamp(0.7rem,1vw,0.85rem);
  line-height:1.35;
  letter-spacing:0.02em;
}

#fxchart-root .seo-content p{
  margin:0;
  color:var(--text);
  font-size:clamp(0.5rem,0.8vw,0.55rem);
  line-height:1.8;
  letter-spacing:0.01em;
}

#fxchart-root .seo-content .container{
  max-width:1200px;
  margin:0 auto;
  padding:10px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  box-sizing:border-box;
}

@media (max-width:768px){
  #fxchart-root .seo-content{
    padding: 24px 16px 0;
  }
  #fxchart-root .seo-content h2{
    font-size:0.72rem;
  }
  #fxchart-root .seo-content p{
    font-size:0.5rem;
    line-height:1.75;
  }
}




.onecobull-footer-legal{
  width:100%;
  padding:clamp(20px,4vw,30px) var(--safe-inline);
  box-sizing:border-box;
  background:linear-gradient(180deg,rgba(2,5,14,0.95),rgba(0,0,0,0.95));
  border-top:1px solid rgba(216,177,95,0.12);
  color:#f7f5f0;
}

.onecobull-footer-legal__inner{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}

.onecobull-footer-legal__copy{
  font-size:0.95rem;
  letter-spacing:0.08em;
  opacity:0.7;
  text-transform:uppercase;
}
  

.onecobull-footer-legal__nav{
  display:flex;
  flex-wrap:wrap;
  gap:1px 1px;
  justify-content:center;
  align-items:center;
}


.onecobull-footer-legal__nav a{
  color:#d8b15f;
  text-decoration:none;
  font-size:0.85rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  transition:color .25s ease, transform .25s ease;
  position:relative;
  padding-bottom:2px;
}

.onecobull-footer-legal__nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:6px;
  height:1px;
  background:#d8b15f;
  transform:translateX(-50%) scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
  opacity:0;
}

.onecobull-footer-legal__nav a:hover{
  color:#fef6df;
}

.onecobull-footer-legal__nav a:hover::after{
  opacity:1;
  transform:translateX(-50%) scaleX(1);
}

@media (max-width:480px){
  .onecobull-footer-legal{
    padding:24px 16px;
  }
  .onecobull-footer-legal__copy{
    letter-spacing:0.08em;
  }
  .onecobull-footer-legal__nav{
    gap:10px;
  }
}
