:root{--tks-bg:#f5f7fb;--tks-card:#fff;--tks-text:#152033;--tks-muted:#677286;--tks-line:#e3e8f0;--tks-blue:#1769e0;--tks-blue2:#eaf2ff;--tks-green:#087c56;--tks-green2:#e9f8f1;--tks-gold:#926500;--tks-gold2:#fff6d8;--tks-purple:#6545aa;--tks-purple2:#f0ebff;--tks-shadow:0 10px 30px rgba(25,42,70,.07)}*{box-sizing:border-box}.tks-surface-body{margin:0;background:var(--tks-bg);color:var(--tks-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Meiryo,sans-serif;line-height:1.65}.tks-surface-body a{color:inherit;text-decoration:none}.tks-container{width:min(1160px,calc(100% - 32px));margin:auto}.tks-top{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--tks-line)}.tks-topin{height:64px;display:flex;align-items:center;justify-content:space-between}.tks-brand{font-size:21px;font-weight:900;letter-spacing:-.03em}.tks-brand b{color:var(--tks-blue)}.tks-brand span,.tks-topmeta{font-size:11px;color:#8a95a6;font-weight:700}.tks-search-link{font-size:13px;font-weight:800;color:var(--tks-blue)}.tks-hero{padding:40px 0 24px;display:flex;justify-content:space-between;gap:24px}.tks-hero h1,.tks-detail-hero h1{margin:2px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.25;letter-spacing:-.04em}.tks-hero p,.tks-detail-hero p{margin:0;color:var(--tks-muted)}.tks-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--tks-blue);font-weight:900;font-size:11px}.tks-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;padding-bottom:70px}.tks-card{background:var(--tks-card);border:1px solid var(--tks-line);border-radius:18px;box-shadow:var(--tks-shadow)}.tks-pad{padding:20px}.tks-filter{position:sticky;top:82px}.tks-filter h2,.tks-results h2,.tks-card h2{margin:0 0 14px;font-size:20px}.tks-label{display:block;font-size:12px;font-weight:900;margin-bottom:7px}.tks-input{width:100%;height:44px;border:1px solid #cbd3df;border-radius:11px;background:#fff;padding:0 12px;font-size:15px;color:var(--tks-text)}.tks-input:focus{outline:3px solid rgba(23,105,224,.12);border-color:var(--tks-blue)}.tks-group{border-top:1px solid var(--tks-line);margin-top:15px;padding-top:15px}.tks-check{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700}.tks-check input{width:18px;height:18px}.tks-inline{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.tks-help,.tks-footnote,.tks-data-note{color:var(--tks-muted);font-size:12px}.tks-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--tks-line);border-radius:11px;background:#fff;font-weight:900;cursor:pointer}.tks-btn-primary{background:var(--tks-blue);border-color:var(--tks-blue);color:#fff!important}.tks-disabled-block{background:#f7f8fa;border-radius:11px;padding:12px!important;border:1px dashed #cbd3df!important}.tks-disabled-block p{margin:0;color:var(--tks-muted);font-size:12px}.tks-results{overflow:hidden}.tks-results-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--tks-line)}.tks-notice{margin:14px 18px;padding:13px 14px;background:#fff9e9;border:1px solid #eed89d;border-radius:12px;color:#66521e;font-size:13px}.tks-empty{padding:28px;color:var(--tks-muted);text-align:center}.tks-result{display:block;padding:18px 20px;border-bottom:1px solid var(--tks-line);transition:.16s ease}.tks-result:hover{background:#fbfcff;transform:translateY(-1px)}.tks-rhead{display:flex;justify-content:space-between;gap:12px}.tks-code{font-size:12px;color:var(--tks-muted);font-weight:700}.tks-name{font-size:20px;font-weight:900;margin-top:2px}.tks-arrow{font-size:28px;color:#97a2b2}.tks-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.tks-chip{font-size:11px;font-weight:900;padding:5px 9px;border-radius:999px;background:var(--tks-blue2);color:var(--tks-blue)}.tks-chip.is-green{background:var(--tks-green2);color:var(--tks-green)}.tks-chip.is-gold{background:var(--tks-gold2);color:var(--tks-gold)}.tks-chip.is-purple{background:var(--tks-purple2);color:var(--tks-purple)}.tks-rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:13px}.tks-metric{background:#f8fafc;border:1px solid var(--tks-line);border-radius:12px;padding:10px}.tks-metric span,.tks-summary span,.tks-yield span{display:block;color:var(--tks-muted);font-size:11px}.tks-metric b{font-size:16px}.is-green-text{color:var(--tks-green)}.tks-detail-main{padding-bottom:100px}.tks-breadcrumb{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--tks-muted);padding:16px 0}.tks-detail-hero{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:stretch;margin-bottom:18px}.tks-hero-copy,.tks-status-card{background:#fff;border:1px solid var(--tks-line);border-radius:20px;padding:24px;box-shadow:var(--tks-shadow)}.tks-status-card{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#f6fbff,#fff)}.tks-status-card span{font-size:12px;color:var(--tks-muted)}.tks-status-card b{font-size:20px;margin:4px 0}.tks-status-card small{color:var(--tks-muted)}.tks-two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.tks-price-row{display:grid;grid-template-columns:1fr auto;gap:9px}.tks-input-wrap{position:relative}.tks-input-wrap>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--tks-muted);font-size:12px;font-weight:800}.tks-input-wrap .tks-input{padding-right:38px}.tks-yield-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.tks-yield{border:1px solid var(--tks-line);background:#f8fafc;border-radius:12px;padding:12px}.tks-yield b{font-size:20px}.tks-yield.is-total{background:var(--tks-blue2);border-color:#cfe0ff}.tks-data-note{margin-top:10px}.tks-target-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tks-target-controls label{font-size:12px;font-weight:900}.tks-target-result{margin-top:14px;background:#f5f9ff;border:1px solid #cfe0ff;border-radius:14px;padding:15px}.tks-target-result span,.tks-target-result small{display:block;color:var(--tks-muted);font-size:12px}.tks-target-result b{display:block;font-size:27px;color:var(--tks-green);margin:4px 0}.tks-section{margin-top:22px}.tks-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.tks-section h2{margin:0;font-size:24px;letter-spacing:-.03em}.tks-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tks-summary{background:#fff;border:1px solid var(--tks-line);border-radius:14px;padding:14px;box-shadow:0 4px 15px rgba(25,42,70,.04)}.tks-summary b{font-size:18px}.tks-source-pill{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;background:var(--tks-green2);color:var(--tks-green)}.tks-source-pill.is-warn{background:#fff3df;color:#9a6200}.tks-bars{height:250px;display:flex;align-items:end;gap:10px;padding:20px 6px 0;border-bottom:1px solid var(--tks-line)}.tks-bar-col{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;min-width:46px}.tks-bar-value{height:25px;font-size:11px;font-weight:800}.tks-bar-track{height:180px;width:min(52px,76%);display:flex;align-items:end;background:#f3f6fa;border-radius:8px 8px 0 0;overflow:hidden}.tks-bar{width:100%;background:linear-gradient(180deg,#4d90ff,#83b4ff);border-radius:8px 8px 0 0;min-height:6px}.tks-bar-year{font-size:11px;color:var(--tks-muted);padding-top:6px}.tks-benefit-program{padding:14px 0;border-top:1px solid var(--tks-line)}.tks-benefit-program:first-of-type{border-top:0}.tks-benefit-program h3{margin:0 0 6px}.tks-benefit-meta{display:flex;gap:8px;color:var(--tks-muted);font-size:12px}.tks-tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.tks-tier{background:#f8fafc;border:1px solid var(--tks-line);border-radius:12px;padding:12px}.tks-tier b,.tks-tier span,.tks-tier small{display:block}.tks-tier span{font-size:13px;margin-top:4px}.tks-tier small{color:var(--tks-muted);margin-top:4px}.tks-legacy{margin-top:10px;border:1px dashed #d3dae5;border-radius:12px;padding:12px;background:#fafbfc}.tks-legacy span,.tks-legacy small{display:block;color:var(--tks-muted);font-size:11px}.tks-legacy b{display:block;margin:4px 0}.tks-evidence-list{display:grid;gap:8px}.tks-evidence{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--tks-line);border-radius:12px;padding:12px}.tks-evidence small{display:block;color:var(--tks-muted);margin-top:2px}.tks-evidence a{font-size:12px;color:var(--tks-blue);font-weight:900}.tks-related{display:flex;flex-wrap:wrap;gap:8px}.tks-related a{padding:9px 12px;background:#fff;border:1px solid var(--tks-line);border-radius:999px;font-size:12px;font-weight:800}.tks-mobile-sticky{display:none}
@media(max-width:860px){.tks-container{width:min(100% - 20px,720px)}.tks-layout{grid-template-columns:1fr}.tks-filter{position:static}.tks-detail-hero,.tks-two-col{grid-template-columns:1fr}.tks-summary-grid{grid-template-columns:repeat(2,1fr)}.tks-rgrid{grid-template-columns:repeat(2,1fr)}.tks-tier-grid{grid-template-columns:1fr}.tks-mobile-sticky{display:grid;grid-template-columns:1fr 110px;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:8px;border:1px solid var(--tks-line);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}}
@media(max-width:520px){.tks-hero{padding-top:24px}.tks-hero h1,.tks-detail-hero h1{font-size:28px}.tks-pad,.tks-hero-copy,.tks-status-card{padding:16px}.tks-summary-grid{gap:7px}.tks-summary{padding:11px}.tks-yield-grid{grid-template-columns:1fr}.tks-target-controls{grid-template-columns:1fr}.tks-bars{overflow-x:auto;justify-content:flex-start}.tks-bar-col{flex:0 0 52px}.tks-rgrid{gap:6px}.tks-result{padding:15px}.tks-brand span{display:none}}


/* v0.1.1 — canonical reader-facing Public Surface refinements */
.tks-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:0 2px;scrollbar-width:none}
.tks-tabs::-webkit-scrollbar{display:none}.tks-tabs a{white-space:nowrap;padding:8px 12px;border:1px solid var(--tks-line);border-radius:999px;background:#fff;font-size:12px;font-weight:800}
.tks-price-tools{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:start}
.tks-price-tools .tks-price-row{min-width:0}.tks-btn-ghost{background:#fff;color:var(--tks-text);border-color:#cbd3df}
.tks-quote-btn{white-space:nowrap}.tks-pr{display:inline-flex;margin-left:6px;padding:2px 5px;border-radius:5px;background:#eef2f7;color:#64748b;font-size:9px;line-height:1.2}
.tks-btn.is-disabled,.tks-quote-btn.is-disabled{opacity:.48;cursor:not-allowed;pointer-events:none}
.tks-benefit-preview{border:1px solid #dbe3ee;border-radius:14px;padding:15px;background:#fbfcfe}
.tks-benefit-preview>span,.tks-benefit-preview small{display:block;color:var(--tks-muted);font-size:11px}
.tks-benefit-preview>b{display:block;margin:5px 0;font-size:17px}.tks-evidence-source{font-size:12px;font-weight:800;color:var(--tks-muted)}
.tks-related-title{font-size:20px!important;margin-bottom:10px!important}
.tks-search-hero{padding-bottom:18px}.tks-filter-mobile-head{display:flex;align-items:center;justify-content:space-between}
.tks-filter-close{display:none;border:0;background:#eef2f7;border-radius:50%;width:38px;height:38px;font-size:22px;line-height:1}
.tks-check+.tks-check{margin-top:9px}.tks-check-disabled{color:#9aa4b2}.tks-check-disabled small{margin-left:auto;font-size:10px;font-weight:800;color:#9aa4b2}
.tks-search-submit{width:100%;margin-top:16px}.tks-mobile-filter-open,.tks-filter-overlay{display:none}

@media(max-width:860px){
  .tks-price-tools{grid-template-columns:1fr}
  .tks-quote-btn{width:100%}
  .tks-search-page .tks-layout{display:block}
  .tks-search-page .tks-filter{display:none;position:fixed;left:0;right:0;bottom:0;top:auto;z-index:1202;border-radius:20px 20px 0 0;max-height:88vh;overflow:auto;box-shadow:0 -10px 40px rgba(0,0,0,.18)}
  .tks-search-page .tks-filter.is-open{display:block}
  .tks-search-page .tks-filter-close{display:inline-block}
  .tks-search-page .tks-results{margin-bottom:84px}
  .tks-mobile-filter-open{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:1200;box-shadow:0 10px 30px rgba(0,0,0,.18)}
  .tks-filter-overlay.is-open{display:block;position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:1201}
}
@media(max-width:520px){
  .tks-tabs{margin-left:-2px;margin-right:-2px}
  .tks-mobile-sticky{grid-template-columns:1fr 1fr}
  .tks-mobile-sticky .tks-btn{font-size:12px;padding-left:9px;padding-right:9px}
}


/* v0.1.2 — chart redesign + similar-stock discovery */
.tks-chart-head{align-items:flex-start;gap:20px}
.tks-chart-kpis{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tks-chart-kpis>span{min-width:92px;border:1px solid var(--tks-line);background:#f8fafc;border-radius:12px;padding:8px 10px;text-align:right}
.tks-chart-kpis small{display:block;color:var(--tks-muted);font-size:10px;font-weight:800}
.tks-chart-kpis b{font-size:16px}.tks-chart-kpis .is-up{color:#0f8a5f}.tks-chart-kpis .is-down{color:#b42318}
.tks-chart-legend{display:flex;gap:14px;align-items:center;margin:8px 0 2px;color:var(--tks-muted);font-size:11px;font-weight:800}
.tks-chart-legend span{display:flex;align-items:center;gap:6px}
.tks-legend-swatch{width:13px;height:13px;border-radius:4px;display:inline-block}
.tks-legend-swatch.is-actual{background:#6ea1f8}
.tks-legend-swatch.is-forecast{background:repeating-linear-gradient(135deg,#d9e7ff 0 5px,#8eb6ff 5px 9px);border:1px solid #6c9eea}
.tks-chart-scroll{overflow-x:auto;padding:8px 0 0;scrollbar-width:thin}
.tks-dividend-chart{position:relative;display:flex;align-items:flex-end;gap:22px;min-width:660px;height:300px;padding:34px 18px 42px 28px;border-bottom:1px solid #cfd7e3}
.tks-chart-gridlines{position:absolute;left:28px;right:18px;top:42px;bottom:42px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.tks-chart-gridlines i{display:block;border-top:1px solid #e7edf5}
.tks-chart-item{position:relative;z-index:2;flex:1;min-width:58px;height:100%;display:grid;grid-template-rows:30px 1fr 28px;align-items:end;text-align:center}
.tks-chart-value{font-weight:950;font-size:13px;color:var(--tks-text);align-self:end;margin-bottom:6px}
.tks-chart-bar{width:min(64px,72%);height:var(--bar-height);min-height:5px;justify-self:center;align-self:end;border-radius:10px 10px 3px 3px;transform-origin:bottom;animation:tksBarGrow .5s ease-out both}
.tks-chart-bar.is-actual{background:linear-gradient(180deg,#78aafa,#5c94ef)}
.tks-chart-bar.is-forecast{background:repeating-linear-gradient(135deg,#dce9ff 0 8px,#99bdff 8px 14px);border:2px solid #6c9eea}
.tks-chart-year{align-self:end;color:#758093;font-size:12px;padding-top:10px;white-space:nowrap}
.tks-chart-year span{display:inline-flex;margin-left:3px;padding:1px 4px;border-radius:4px;background:#eaf2ff;color:#1d5fd3;font-size:9px;font-weight:900}
.tks-chart-note{margin-top:8px;color:var(--tks-muted);font-size:10px}
@keyframes tksBarGrow{from{transform:scaleY(.08);opacity:.35}to{transform:scaleY(1);opacity:1}}

.tks-similar-section{padding:2px 0 4px}
.tks-similar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tks-similar-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;text-decoration:none;background:#fff;border:1px solid var(--tks-line);border-radius:14px;padding:13px 14px;transition:.15s ease;box-shadow:0 2px 10px rgba(22,34,58,.035)}
.tks-similar-card:hover{transform:translateY(-1px);border-color:#b8cdf4;box-shadow:0 7px 20px rgba(29,95,211,.08)}
.tks-similar-card.is-featured{background:linear-gradient(135deg,#f9fbff,#eef5ff);border-color:#cadcff}
.tks-similar-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f3f6fa;font-size:18px}
.tks-similar-card b{display:block;font-size:13px}.tks-similar-card small{display:block;margin-top:2px;color:var(--tks-muted);font-size:10px}
.tks-similar-card>span:last-child{font-size:24px;color:#9aa5b4}

@media(max-width:720px){
  .tks-chart-head{display:block}.tks-chart-kpis{justify-content:flex-start;margin-top:10px}
  .tks-dividend-chart{gap:14px;height:270px;min-width:620px;padding-left:18px}.tks-chart-gridlines{left:18px}
  .tks-similar-grid{grid-template-columns:1fr}
}
@media(max-width:440px){
  .tks-chart-kpis>span{min-width:84px}.tks-chart-bar{width:min(54px,74%)}
}


/* v0.1.3 — reader clarity / favorite / feature cards / evidence CTA */
.tks-hero-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.tks-favorite-btn{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;min-height:42px;padding:0 13px;border:1px solid var(--tks-line);border-radius:12px;background:#fff;color:var(--tks-text);font-weight:850;cursor:pointer;transition:.15s ease}
.tks-favorite-btn:hover{border-color:#b8cdf4;box-shadow:0 5px 16px rgba(29,95,211,.08)}
.tks-favorite-heart{font-size:20px;line-height:1;color:#5e6c80}.tks-favorite-btn.is-active{background:#fff5f6;border-color:#f1bbc1;color:#a61f2d}.tks-favorite-btn.is-active .tks-favorite-heart{color:#cf3f4f}
.tks-last-checked{margin-top:9px;color:var(--tks-muted);font-size:11px;font-weight:750}

.tks-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tks-feature-card{position:relative;border:1px solid var(--tks-line);border-radius:15px;background:#fff;padding:15px;min-height:142px;box-shadow:0 3px 12px rgba(22,34,58,.035)}
.tks-feature-card>span{display:block;margin-top:10px;color:var(--tks-muted);font-size:11px;font-weight:800}
.tks-feature-card>b{display:block;margin-top:3px;font-size:19px;line-height:1.25}
.tks-feature-card>small{display:block;margin-top:7px;color:var(--tks-muted);font-size:10px;line-height:1.55}
.tks-feature-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-size:18px}
.tks-feature-icon.is-gold{background:#fff6dd}.tks-feature-icon.is-purple{background:#f3efff}.tks-feature-icon.is-green{background:#eaf8f2}.tks-feature-icon.is-blue{background:#eaf2ff}

.tks-glossary-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.tks-glossary-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;background:#fff;border:1px solid var(--tks-line);border-radius:12px;padding:11px 12px;font-size:11px;font-weight:850;transition:.15s ease}
.tks-glossary-links a:hover{border-color:#b8cdf4;background:#fbfdff}.tks-glossary-links a span{font-size:18px;color:#9aa5b4}

.tks-evidence-head{align-items:flex-start}.tks-evidence-date{white-space:nowrap;color:var(--tks-muted);font-size:11px;font-weight:800}
.tks-evidence{align-items:center}.tks-evidence-copy{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"type title" "type date";column-gap:9px;align-items:center}
.tks-evidence-type{grid-area:type;align-self:center;background:#eef5ff;color:#1d5fd3;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:900}
.tks-evidence-copy b{grid-area:title;font-size:13px}.tks-evidence-copy small{grid-area:date;color:var(--tks-muted);font-size:10px}
.tks-evidence-cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:10px;background:#1d5fd3;color:#fff;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}
.tks-evidence-cta:hover{filter:brightness(.96)}.tks-evidence-cta.is-muted{background:#f1f4f8;color:#687386;border:1px solid var(--tks-line)}

@media(max-width:860px){
  .tks-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tks-glossary-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .tks-hero-title-row{gap:10px}.tks-favorite-btn{padding:0 10px}.tks-favorite-text{display:none}
  .tks-feature-grid{grid-template-columns:1fr 1fr;gap:8px}.tks-feature-card{padding:13px;min-height:132px}
  .tks-glossary-links{grid-template-columns:1fr 1fr}
  .tks-evidence{align-items:flex-start}.tks-evidence-cta{min-height:36px;padding:0 10px}
}


/* v0.1.4 — EDINET payout ratio row under dividend chart */
.tks-dividend-chart{
  height:350px;
  padding-bottom:82px;
}
.tks-chart-gridlines{bottom:82px}
.tks-chart-item{
  grid-template-rows:30px 1fr 28px 42px;
}
.tks-chart-value small{
  margin-left:2px;
  font-size:9px;
  color:var(--tks-muted);
  font-weight:800;
}
.tks-chart-payout{
  align-self:end;
  min-height:34px;
  padding-top:7px;
  border-top:1px dashed #e5eaf1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:1px;
  color:var(--tks-muted);
}
.tks-chart-payout span{
  font-size:9px;
  line-height:1.2;
}
.tks-chart-payout b{
  font-size:11px;
  color:var(--tks-text);
  line-height:1.25;
}
@media(max-width:720px){
  .tks-dividend-chart{height:330px;padding-bottom:80px}
  .tks-chart-gridlines{bottom:80px}
}


/* v0.1.5 — EDINET financials + company profile */
.tks-source-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:0 9px;border-radius:999px;
  background:#eef5ff;color:#1d5fd3;border:1px solid #d5e4ff;
  font-size:10px;font-weight:900;white-space:nowrap
}
.tks-financial-kpis{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;margin-bottom:14px
}
.tks-fin-kpi{
  border:1px solid var(--tks-line);background:#fbfcfe;border-radius:13px;padding:12px
}
.tks-fin-kpi span{display:block;color:var(--tks-muted);font-size:10px;font-weight:800}
.tks-fin-kpi b{display:block;margin-top:3px;font-size:15px;line-height:1.3}
.tks-financial-table-wrap{overflow-x:auto;border:1px solid var(--tks-line);border-radius:13px}
.tks-financial-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}
.tks-financial-table th,.tks-financial-table td{
  padding:10px 11px;border-bottom:1px solid var(--tks-line);text-align:right;white-space:nowrap
}
.tks-financial-table th{
  background:#f8fafc;color:var(--tks-muted);font-size:10px;font-weight:900
}
.tks-financial-table td{font-size:12px;font-variant-numeric:tabular-nums}
.tks-financial-table th:first-child,.tks-financial-table td:first-child{text-align:left}
.tks-financial-table tbody tr:last-child td{border-bottom:0}
.tks-financial-table tbody tr:first-child{background:#fcfdff}

.tks-company-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tks-company-grid>div{border:1px solid var(--tks-line);border-radius:13px;background:#fbfcfe;padding:12px}
.tks-company-grid span{display:block;color:var(--tks-muted);font-size:10px;font-weight:800}
.tks-company-grid b{display:block;margin-top:3px;font-size:14px}
.tks-company-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tks-company-links a{
  display:inline-flex;align-items:center;min-height:38px;padding:0 12px;
  border:1px solid #bfd3f7;border-radius:10px;background:#fff;color:#1d5fd3;
  text-decoration:none;font-size:11px;font-weight:900
}
.tks-company-links a:hover{background:#f8fbff}

@media(max-width:980px){
  .tks-financial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .tks-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .tks-financial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tks-company-grid{grid-template-columns:1fr 1fr}
}


/* v0.1.6 — familiar market indicator board + bar labels on bars */
.tks-market-board{
  display:grid;
  grid-template-columns:1.15fr repeat(5,1fr);
  border:1px solid var(--tks-line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.tks-board-cell{
  min-width:0;
  padding:12px 13px;
  border-right:1px solid var(--tks-line);
  background:#fff;
}
.tks-board-cell:last-child{border-right:0}
.tks-board-cell>span{
  display:block;
  font-size:10px;
  color:var(--tks-muted);
  font-weight:900;
}
.tks-board-cell>b{
  display:block;
  margin-top:4px;
  font-size:18px;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.tks-board-cell>small{
  display:block;
  margin-top:5px;
  font-size:9px;
  color:var(--tks-muted);
  white-space:normal;
}
.tks-board-cell.is-performance{
  background:linear-gradient(135deg,#f9fcff,#f1f7ff);
}
.tks-board-cell .trend-up{color:#e24b34;font-size:28px}
.tks-board-cell .trend-down{color:#2376d8;font-size:28px}
.tks-board-cell .trend-flat{color:#7d8794;font-size:28px}
.tks-market-board-note{
  margin-top:7px;
  font-size:10px;
  color:var(--tks-muted);
}
.tks-glossary-bottom{margin-top:18px;margin-bottom:90px}

/* Put DPS value on the top portion of each blue bar */
.tks-chart-item{grid-template-rows:12px 1fr 28px 42px}
.tks-chart-value-spacer{height:12px}
.tks-chart-bar{
  position:relative;
  overflow:visible;
}
.tks-chart-bar .tks-chart-value{
  position:absolute;
  top:6px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  white-space:nowrap;
  font-size:11px;
  font-weight:950;
  color:#fff;
  text-shadow:0 1px 2px rgba(22,34,58,.28);
  line-height:1;
}
.tks-chart-bar .tks-chart-value small{
  font-size:8px;
  color:inherit;
  font-weight:800;
}
.tks-chart-bar.is-forecast .tks-chart-value{
  color:#234b82;
  text-shadow:none;
}

/* For very short bars, keep label readable just above the bar */
.tks-chart-bar[style*="--bar-height:3%"] .tks-chart-value,
.tks-chart-bar[style*="--bar-height:4%"] .tks-chart-value,
.tks-chart-bar[style*="--bar-height:5%"] .tks-chart-value{
  top:-18px;color:var(--tks-text);text-shadow:none;
}

@media(max-width:980px){
  .tks-market-board{grid-template-columns:repeat(3,1fr)}
  .tks-board-cell:nth-child(3n){border-right:0}
  .tks-board-cell:nth-child(n+4){border-top:1px solid var(--tks-line)}
}
@media(max-width:560px){
  .tks-market-board{grid-template-columns:repeat(2,1fr)}
  .tks-board-cell{border-right:1px solid var(--tks-line)!important;border-top:1px solid var(--tks-line)}
  .tks-board-cell:nth-child(odd){border-left:0}
  .tks-board-cell:nth-child(even){border-right:0!important}
  .tks-board-cell:nth-child(-n+2){border-top:0}
}


/* v0.1.7 — dividend chart: actual blue / forecast gray */
.tks-legend-swatch.is-actual{
  background:#6ea1f8;
  border:1px solid #6ea1f8;
}
.tks-legend-swatch.is-forecast{
  background:#b8bec8;
  border:1px solid #a7adb7;
}
.tks-chart-bar.is-actual{
  background:linear-gradient(180deg,#76a8fa 0%,#5f96ed 100%);
  border:0;
}
.tks-chart-bar.is-forecast{
  background:linear-gradient(180deg,#c8cdd4 0%,#aeb4bd 100%);
  border:0;
}
.tks-chart-bar.is-forecast .tks-chart-value{
  color:#202938;
  text-shadow:none;
}
.tks-chart-year span{
  background:#eef0f3;
  color:#596273;
}


/* v0.1.8 — section tabs + chart label fix */
.tks-tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,max-content));
  gap:8px;
  margin:0 0 18px;
  padding:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.tks-tabs::-webkit-scrollbar{display:none}
.tks-tabs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  white-space:nowrap;
  border:1px solid var(--tks-line);
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  box-shadow:0 3px 10px rgba(22,34,58,.04);
  font-size:12px;
  font-weight:900;
  color:var(--tks-text);
}
.tks-tabs a:hover{
  border-color:#b9cff8;
  background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%);
  color:var(--tks-blue);
}
.tks-tabs a.is-active{
  background:linear-gradient(180deg,#1d5fd3 0%,#134ea9 100%);
  border-color:#1d5fd3;
  color:#fff;
}

/* make "similar stocks" / glossary feel like tiles rather than buttons */
.tks-similar-card,
.tks-glossary-links a{
  border-radius:13px;
  box-shadow:0 3px 12px rgba(22,34,58,.035);
}

/* dividend chart — anchor the number to the bar top */
.tks-chart-item{
  grid-template-rows:1fr 28px 42px !important;
}
.tks-chart-value-spacer{display:none !important}
.tks-chart-bar{
  position:relative;
  overflow:visible;
}
.tks-chart-bar .tks-chart-value{
  position:absolute !important;
  left:50%;
  bottom:calc(100% - 8px) !important;
  top:auto !important;
  transform:translateX(-50%);
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:1px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid #dbe3ee;
  color:#172436 !important;
  text-shadow:none !important;
  font-size:11px !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap;
}
.tks-chart-bar .tks-chart-value small{
  font-size:8px !important;
  color:#5e6878 !important;
  font-weight:900 !important;
}
.tks-chart-bar.is-forecast .tks-chart-value{
  background:#f3f4f6;
  border-color:#d3d7de;
  color:#263242 !important;
}
.tks-chart-year{
  padding-top:12px;
}
.tks-chart-year span{
  margin-left:4px;
}

/* keep mobile stable */
@media(max-width:860px){
  .tks-tabs{grid-template-columns:repeat(6,max-content)}
}


/* v0.1.9 — first-view redesign / truly segmented tabs / chart labels on bars */

/* ---------- Hero cockpit ---------- */
.tks-detail-hero.tks-hero-cockpit{
  display:block;
  margin-bottom:0;
}
.tks-hero-cockpit .tks-hero-primary{
  position:relative;
  overflow:hidden;
  padding:24px 26px 0;
  border:1px solid #dce4ef;
  border-radius:22px 22px 0 0;
  background:
    radial-gradient(circle at 88% 10%,rgba(29,95,211,.10),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#fbfdff 62%,#f1f7ff 100%);
  box-shadow:0 12px 32px rgba(25,42,70,.075);
}
.tks-hero-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.tks-hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.tks-hero-cockpit .tks-last-checked{
  margin:0;
  font-size:10px;
  font-weight:850;
  color:#738094;
}
.tks-hero-name-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:10px;
}
.tks-hero-name-row h1{
  margin:0 0 5px;
  font-size:clamp(34px,4.2vw,50px);
  letter-spacing:-.045em;
}
.tks-hero-name-row p{
  margin:0;
  color:#68768a;
  font-size:15px;
}
.tks-verification-badge{
  flex:0 0 auto;
  min-width:180px;
  padding:12px 14px;
  border:1px solid #d9e3ef;
  border-radius:14px;
  background:#fff;
}
.tks-verification-badge span{
  display:block;
  font-size:9px;
  font-weight:900;
  color:#7a8798;
}
.tks-verification-badge b{
  display:block;
  margin-top:2px;
  font-size:13px;
}
.tks-verification-badge.is-verified{
  background:#eefaf5;
  border-color:#caeadc;
  color:#0e7251;
}
.tks-verification-badge.is-checking{
  background:#fff9ed;
  border-color:#efdeb7;
  color:#755618;
}
.tks-hero-chips{
  margin-top:14px;
  margin-bottom:16px;
}
.tks-hero-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:0 -26px;
  border-top:1px solid #e1e8f1;
  background:rgba(255,255,255,.78);
}
.tks-hero-metrics>div{
  padding:11px 18px 12px;
  border-right:1px solid #e1e8f1;
}
.tks-hero-metrics>div:last-child{border-right:0}
.tks-hero-metrics span{
  display:block;
  font-size:9px;
  font-weight:850;
  color:#7b8797;
}
.tks-hero-metrics b{
  display:block;
  margin-top:2px;
  font-size:15px;
}

/* ---------- Truly segmented section tabs ---------- */
.tks-section-tabs{
  position:sticky;
  top:64px;
  z-index:120;
  display:grid !important;
  grid-template-columns:repeat(7,1fr) !important;
  gap:0 !important;
  margin:0 0 20px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #dce4ef;
  border-top:0;
  border-radius:0 0 16px 16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(25,42,70,.06);
}
.tks-section-tabs a{
  min-height:44px !important;
  padding:0 8px !important;
  border:0 !important;
  border-right:1px solid #e1e8f1 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#344154 !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.tks-section-tabs a:last-child{border-right:0 !important}
.tks-section-tabs a:hover{
  background:#f3f7fd !important;
  color:#1769e0 !important;
}
.tks-section-tabs a.is-active{
  background:#1769e0 !important;
  color:#fff !important;
}
.tks-section-tabs a.is-active::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:0;
  height:3px;
  background:#fff;
  border-radius:999px;
}
.tks-section-tabs a{position:relative}

/* ---------- Dividend chart value directly ON the bar ---------- */
.tks-chart-bar .tks-chart-value{
  position:absolute !important;
  top:7px !important;
  bottom:auto !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
  text-shadow:0 1px 2px rgba(17,31,50,.28) !important;
  font-size:11px !important;
  font-weight:950 !important;
  line-height:1 !important;
}
.tks-chart-bar .tks-chart-value small{
  color:inherit !important;
  font-size:8px !important;
}
.tks-chart-bar.is-forecast .tks-chart-value{
  color:#273241 !important;
  text-shadow:none !important;
}
.tks-chart-value-spacer{display:none !important}
.tks-chart-item{
  grid-template-rows:1fr 28px 42px !important;
}

/* ---------- Mobile ---------- */
@media(max-width:860px){
  .tks-hero-cockpit .tks-hero-primary{padding:18px 18px 0}
  .tks-hero-metrics{margin:0 -18px}
  .tks-hero-metrics{grid-template-columns:repeat(2,1fr)}
  .tks-hero-metrics>div:nth-child(2){border-right:0}
  .tks-hero-metrics>div:nth-child(n+3){border-top:1px solid #e1e8f1}
  .tks-hero-name-row{align-items:flex-start}
  .tks-verification-badge{min-width:150px}
  .tks-section-tabs{
    grid-template-columns:repeat(7,max-content) !important;
    overflow-x:auto !important;
    border-radius:0 0 14px 14px;
  }
  .tks-section-tabs a{min-width:92px}
}
@media(max-width:560px){
  .tks-hero-topline{align-items:flex-start}
  .tks-hero-actions{gap:5px}
  .tks-hero-cockpit .tks-last-checked{display:none}
  .tks-hero-name-row{display:block}
  .tks-verification-badge{
    margin-top:12px;
    min-width:0;
    width:100%;
  }
  .tks-hero-name-row h1{font-size:34px}
  .tks-hero-name-row p{font-size:13px}
}


/* v0.2.0 — DPS labels above bars in black */
.tks-dividend-chart{
  padding-top:28px;
}
.tks-chart-item{
  grid-template-rows:1fr 28px 42px !important;
}
.tks-chart-bar{
  position:relative !important;
  overflow:visible !important;
}
.tks-chart-bar .tks-chart-value{
  position:absolute !important;
  left:50% !important;
  bottom:calc(100% + 6px) !important;
  top:auto !important;
  transform:translateX(-50%) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#162235 !important;
  text-shadow:none !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.tks-chart-bar .tks-chart-value small{
  color:inherit !important;
  font-size:9px !important;
  font-weight:900 !important;
}
.tks-chart-bar.is-forecast .tks-chart-value{
  color:#4c5563 !important;
}
.tks-chart-year{
  padding-top:12px !important;
}
.tks-chart-payout{
  padding-top:6px;
}


/* v0.2.1 — first-view hierarchy */
.tks-hero-cockpit .tks-code{
  font-size:15px !important;
  font-weight:950 !important;
  color:#42516a !important;
  letter-spacing:.01em;
}
.tks-hero-name-row h1{
  margin-top:2px !important;
}
.tks-hero-metrics>div{
  min-height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.tks-hero-metrics>div.is-key{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.tks-hero-metrics>div.is-growth{
  background:linear-gradient(180deg,#fffdf8 0%,#fff8e8 100%);
}
.tks-hero-metrics>div.is-stable{
  background:linear-gradient(180deg,#fbf9ff 0%,#f5f0ff 100%);
}
.tks-hero-metrics span{
  font-size:10px !important;
  letter-spacing:.01em;
}
.tks-hero-metrics b{
  margin-top:3px !important;
  font-size:23px !important;
  line-height:1.12;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
}
.tks-hero-metrics>div:not(.is-key) b{
  font-size:18px !important;
}
@media(max-width:560px){
  .tks-hero-cockpit .tks-code{font-size:13px !important}
  .tks-hero-metrics b{font-size:20px !important}
}


/* v0.3.0 */
.tks-component-mini{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;margin-top:4px}
.tks-component-mini span{display:inline-flex;padding:2px 4px;border-radius:5px;font-size:7px;font-weight:900;line-height:1.2}
.tks-component-mini .is-ordinary{background:#eaf2ff;color:#1d5fd3}.tks-component-mini .is-special{background:#fff4d8;color:#8a6100}.tks-component-mini .is-commemorative{background:#f5eefe;color:#6b46aa}
.tks-year-source{display:inline-block;margin-top:3px;color:#1769e0!important;font-size:8px!important;font-weight:900!important}
.tks-ca-list{display:grid;gap:8px}.tks-ca-item{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;border:1px solid var(--tks-line);border-radius:12px;padding:11px 12px;background:#fbfcfe}
.tks-ca-date{font-size:11px;font-weight:900;color:#657184}.tks-ca-main b{display:block;font-size:13px}.tks-ca-main span{font-size:11px;color:var(--tks-muted)}.tks-ca-item small{font-size:9px;color:var(--tks-muted)}.tks-ca-note{margin-top:9px;font-size:10px;color:var(--tks-muted)}
.tks-analytics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tks-analytics-grid>div{border:1px solid var(--tks-line);border-radius:13px;background:#fbfcfe;padding:11px}.tks-analytics-grid span{display:block;color:var(--tks-muted);font-size:9px;font-weight:850}.tks-analytics-grid b{display:block;margin-top:2px;font-size:15px}.tks-analytics-grid small{display:block;margin-top:4px;color:#7b8798;font-size:8px;line-height:1.4}
.tks-valuation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tks-valuation-card{border:1px solid var(--tks-line);border-radius:15px;background:#fff;padding:15px}.tks-valuation-card>span{font-size:9px;font-weight:900;color:#68768a}.tks-valuation-card h3{margin:2px 0 4px;font-size:16px}.tks-valuation-card>b{display:block;font-size:19px}.tks-valuation-card.is-dividend{background:linear-gradient(135deg,#f8fcfa,#edf9f3);border-color:#cee9dc}
.tks-scenario-list{display:grid;gap:5px;margin-top:12px;border-top:1px solid var(--tks-line);padding-top:9px}.tks-scenario-list span{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#637084}.tks-scenario-list span b{color:#172436;font-size:11px}
.tks-valuation-compare{margin-top:12px;border:1px solid #cfe0ff;background:#f6f9ff;border-radius:14px;padding:14px}.tks-valuation-compare>span{display:block;font-size:9px;font-weight:900;color:#66758a}.tks-valuation-compare>b{display:block;margin:3px 0 9px;font-size:16px}.tks-valuation-zones{display:flex;flex-wrap:wrap;gap:6px}.tks-valuation-zones span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #dbe4f1;font-size:9px;font-weight:850;color:#59677a}.tks-valuation-zones .is-low{background:#eef8ff;color:#1267a9;border-color:#cde8fb}.tks-valuation-zones .is-in{background:#eefaf5;color:#0b7653;border-color:#ccebdd}.tks-valuation-zones .is-high{background:#fff4ef;color:#a34326;border-color:#f3d4c8}
@media(max-width:980px){.tks-analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.tks-valuation-grid{grid-template-columns:1fr}.tks-ca-item{grid-template-columns:90px 1fr}.tks-ca-item small{grid-column:2}}@media(max-width:560px){.tks-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v0.3.1 — analysis tones + calculator feedback */
.tks-analytics-legend{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px;
}
.tks-analytics-legend>span{
  display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;border:1px solid;
}
.tks-analytics-legend>span.is-good{background:#edf5ff;color:#145ea8;border-color:#c9ddf7}
.tks-analytics-legend>span.is-watch{background:#fff8df;color:#8a6300;border-color:#efdf9e}
.tks-analytics-legend>span.is-bad{background:#fff0ef;color:#b13b31;border-color:#f0c9c5}
.tks-analytics-legend small{color:var(--tks-muted);font-size:8px}

.tks-analytics-grid>div{
  position:relative;
  transition:.15s ease;
  border-left-width:4px;
}
.tks-analytics-grid>div.is-good{
  background:linear-gradient(135deg,#fbfdff,#eef6ff);
  border-color:#c9ddf7;
  border-left-color:#3182ce;
}
.tks-analytics-grid>div.is-watch{
  background:linear-gradient(135deg,#fffef9,#fff8df);
  border-color:#efdf9e;
  border-left-color:#d7a600;
}
.tks-analytics-grid>div.is-bad{
  background:linear-gradient(135deg,#fffafa,#fff0ef);
  border-color:#f0c9c5;
  border-left-color:#d9534f;
}
.tks-analytics-grid>div.is-neutral{
  border-left-color:#d7dee8;
}
.tks-analytics-grid>div.is-good b{color:#145ea8}
.tks-analytics-grid>div.is-watch b{color:#7d5c00}
.tks-analytics-grid>div.is-bad b{color:#aa332b}

.tks-btn-primary.is-calculated{
  background:#0b7a57!important;
  border-color:#0b7a57!important;
}


/* v0.3.2 — clearer contrast + obvious price-linked state */
:root{
  --tks-muted:#4e5d70;
  --tks-line:#d5deea;
}
.tks-help,.tks-footnote,.tks-data-note,.tks-chart-note,
.tks-market-board-note,.tks-company-grid span,.tks-summary span,
.tks-feature-card>small,.tks-fin-kpi span,.tks-board-cell>small{
  color:#536176!important;
}
.tks-section h2,.tks-card h2{color:#132033}
.tks-summary b,.tks-feature-card>b,.tks-fin-kpi b,.tks-board-cell>b{color:#162235}

.tks-user-price-chip{
  display:inline-flex;align-items:center;justify-content:center;min-height:30px;
  padding:0 10px;border-radius:999px;background:#f1f4f8;border:1px solid #d6dee9;
  color:#647286;font-size:10px;font-weight:900;white-space:nowrap;
}
.tks-has-user-price .tks-user-price-chip{
  background:#eaf3ff;border-color:#bad5fb;color:#145ea8;
}

.is-price-linked{
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tks-has-user-price .is-price-linked{
  background:linear-gradient(135deg,#fbfdff,#eef6ff);
  border-color:#bfd7f5;
}
.is-price-linked.is-price-updated{
  animation:tksPricePulse .55s ease-out;
}
@keyframes tksPricePulse{
  0%{box-shadow:0 0 0 0 rgba(23,105,224,.24)}
  100%{box-shadow:0 0 0 10px rgba(23,105,224,0)}
}

.tks-has-user-price #tksValuationCompare{
  border-color:#b9d3f7;
  background:linear-gradient(135deg,#f8fbff,#eef5ff);
}


/* v0.3.3 — readability improvements for analytics / valuation area */
#analytics .tks-section-head h2,
#valuation .tks-section-head h2{
  font-size:20px;
  font-weight:900;
  letter-spacing:-0.02em;
  color:#122033;
}

#analytics .tks-help,
#valuation .tks-help{
  font-size:12px;
  line-height:1.75;
  color:#506076 !important;
}

#analytics .tks-analytics-legend{
  gap:8px;
  margin-bottom:14px;
}
#analytics .tks-analytics-legend > span{
  font-size:11px;
  font-weight:900;
  padding:6px 10px;
}
#analytics .tks-analytics-legend small{
  font-size:11px;
  color:#5a687c;
}

#analytics .tks-analytics-grid > div{
  padding:16px 16px 14px;
  border-radius:14px;
}
#analytics .tks-analytics-grid > div span{
  display:block;
  font-size:12px;
  font-weight:800;
  line-height:1.5;
  color:#43536a;
  margin-bottom:8px;
}
#analytics .tks-analytics-grid > div b{
  display:block;
  font-size:28px;
  line-height:1.15;
  font-weight:900;
  color:#132033;
  margin-bottom:6px;
}
#analytics .tks-analytics-grid > div small{
  display:block;
  font-size:11px;
  line-height:1.6;
  color:#5c697a !important;
}

#valuation .tks-val-grid > div{
  padding:18px 18px 16px;
  border-radius:16px;
}
#valuation .tks-val-grid > div > span{
  display:block;
  font-size:12px;
  font-weight:800;
  line-height:1.5;
  color:#4b5a70;
  margin-bottom:8px;
}
#valuation .tks-val-grid > div h3{
  font-size:17px;
  line-height:1.45;
  font-weight:900;
  color:#132033;
  margin:0 0 8px;
}
#valuation .tks-val-grid > div b{
  display:block;
  font-size:18px;
  line-height:1.35;
  font-weight:900;
  color:#132033;
  margin-bottom:10px;
}
#valuation .tks-val-grid > div ul{
  margin-top:10px;
}
#valuation .tks-val-grid > div li,
#valuation .tks-val-grid > div li span,
#valuation .tks-val-grid > div li strong{
  font-size:12px;
  line-height:1.7;
  color:#4f5d72;
}
#valuation .tks-val-grid > div li strong{
  font-weight:800;
  color:#132033;
}

#tksValuationCompare{
  padding:18px 18px 16px;
}
#tksValuationCompare .tks-data-note{
  font-size:12px;
  font-weight:800;
  color:#4d5b71 !important;
}
#tksValuationCompare b{
  font-size:18px;
  font-weight:900;
  color:#132033;
}
#tksValuationCompare .tks-pill{
  font-size:11px;
  font-weight:800;
  padding:6px 10px;
}

@media (max-width: 640px){
  #analytics .tks-analytics-grid > div b{
    font-size:24px;
  }
  #valuation .tks-val-grid > div h3{
    font-size:16px;
  }
  #valuation .tks-val-grid > div b{
    font-size:17px;
  }
}


/* v0.3.4 — broader readability improvements */
:root{
  --tks-ink:#142236;
  --tks-ink-soft:#2f4157;
  --tks-muted:#4e6077;
  --tks-line:#d0daea;
  --tks-line-strong:#bfd0e6;
}

body .tks-surface,
.tks-surface{
  color:var(--tks-ink);
  font-size:14px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.tks-card,
.tks-section{
  border-color:var(--tks-line);
  box-shadow:0 1px 0 rgba(14,26,46,.02);
}

.tks-pad{padding:20px 22px;}
.tks-hero-copy h1{
  font-size:42px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-0.03em;
  color:var(--tks-ink);
}
.tks-hero-copy p{
  font-size:16px;
  line-height:1.85;
  color:var(--tks-ink-soft);
}
.tks-hero-meta,
.tks-market-badge,
.tks-status-card p,
.tks-help,
.tks-data-note,
.tks-footnote,
.tks-chart-note{
  color:var(--tks-muted)!important;
}
.tks-status-card b,
.tks-status-card strong,
.tks-status-card h3{
  color:var(--tks-ink);
}
.tks-last-checked{
  font-size:14px;
  font-weight:800;
  color:var(--tks-ink-soft);
}

/* tabs / section nav */
.tks-anchor-nav{
  gap:10px;
  row-gap:10px;
}
.tks-anchor-nav a{
  min-height:42px;
  padding:10px 14px;
  font-size:13px;
  font-weight:900;
  border:1px solid var(--tks-line-strong);
  color:var(--tks-ink);
  background:#fff;
}
.tks-anchor-nav a.is-active,
.tks-anchor-nav a[aria-current="true"]{
  background:#236ad8;
  border-color:#236ad8;
  color:#fff;
}

/* summary strips near hero */
.tks-summary-strip .tks-summary-item,
.tks-summary-grid .tks-summary-item{
  padding:14px 14px 12px;
}
.tks-summary-strip .tks-summary-item span,
.tks-summary-grid .tks-summary-item span{
  font-size:11px;
  font-weight:800;
  color:var(--tks-muted);
}
.tks-summary-strip .tks-summary-item b,
.tks-summary-grid .tks-summary-item b{
  display:block;
  margin-top:5px;
  font-size:22px;
  line-height:1.2;
  font-weight:900;
  color:var(--tks-ink);
}

/* calculator */
.tks-calc-grid .tks-card h2,
.tks-card h2,
.tks-section-head h2{
  font-size:21px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-0.02em;
  color:var(--tks-ink);
}
.tks-form-label{
  font-size:13px;
  font-weight:900;
  color:var(--tks-ink);
}
.tks-input,
.tks-select{
  min-height:44px;
  font-size:15px;
  font-weight:700;
  color:var(--tks-ink);
}
.tks-btn,
.tks-btn-primary,
.tks-btn-secondary{
  min-height:44px;
  font-size:14px;
  font-weight:900;
}
.tks-yield-box span,
.tks-calc-result span{
  font-size:12px;
  font-weight:800;
  color:var(--tks-muted);
}
.tks-yield-box b,
.tks-calc-result b{
  display:block;
  margin-top:6px;
  font-size:24px;
  line-height:1.2;
  font-weight:900;
  color:var(--tks-ink);
}

/* tables / KPI board */
.tks-market-board .tks-board-cell,
.tks-fin-kpi,
.tks-summary-card,
.tks-feature-card,
.tks-company-grid > div{
  border-color:var(--tks-line-strong);
}
.tks-market-board .tks-board-cell span,
.tks-fin-kpi span,
.tks-summary-card span,
.tks-feature-card span,
.tks-company-grid > div span{
  font-size:11px;
  font-weight:800;
  color:var(--tks-muted)!important;
}
.tks-market-board .tks-board-cell b,
.tks-fin-kpi b,
.tks-summary-card b,
.tks-feature-card b,
.tks-company-grid > div b{
  font-size:22px;
  line-height:1.25;
  font-weight:900;
  color:var(--tks-ink);
}
.tks-market-board .tks-board-cell small,
.tks-fin-kpi small,
.tks-summary-card small,
.tks-feature-card small{
  font-size:11px;
  line-height:1.65;
  color:var(--tks-muted)!important;
}

/* chart area */
.tks-chart-shell{
  padding:8px 6px 0;
}
.tks-dps-chart text,
.tks-dps-chart .axis text{
  fill:#53657d;
  font-size:12px;
  font-weight:700;
}
.tks-dps-chart .value-label{
  fill:#132033;
  font-size:13px;
  font-weight:900;
}

/* evidence */
.tks-evidence-item{
  padding:16px 16px 14px;
}
.tks-evidence-item h3,
.tks-evidence-item b{
  font-size:15px;
  font-weight:900;
  color:var(--tks-ink);
}
.tks-evidence-item p,
.tks-evidence-item small{
  font-size:12px;
  line-height:1.7;
  color:var(--tks-muted)!important;
}
.tks-evidence-link{
  min-height:38px;
  font-size:12px;
  font-weight:900;
}

/* pills / related links */
.tks-pill,
.tks-tag{
  font-size:11px;
  font-weight:900;
}
.tks-related-grid a,
.tks-check-grid a{
  padding:14px 14px 12px;
  min-height:56px;
  font-size:13px;
  font-weight:800;
  color:var(--tks-ink);
}
.tks-related-grid a small,
.tks-check-grid a small{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.55;
  color:var(--tks-muted)!important;
}

/* mobile */
@media (max-width: 768px){
  .tks-pad{padding:16px 16px;}
  .tks-hero-copy h1{font-size:34px;}
  .tks-hero-copy p{font-size:15px; line-height:1.8;}
  .tks-card h2, .tks-section-head h2{font-size:19px;}
  .tks-summary-strip .tks-summary-item b,
  .tks-summary-grid .tks-summary-item b,
  .tks-market-board .tks-board-cell b,
  .tks-fin-kpi b,
  .tks-summary-card b,
  .tks-feature-card b,
  .tks-company-grid > div b{font-size:20px;}
  .tks-yield-box b,.tks-calc-result b{font-size:22px;}
}

@media (max-width: 640px){
  .tks-anchor-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tks-anchor-nav a{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .tks-market-board{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .tks-related-grid,
  .tks-check-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   v0.3.5 FINAL DESIGN FIX
   1) Hero section tabs: always one row
   2) Responsive detail-page finishing
   ========================================================= */

/* Desktop/tablet: eight tabs = eight columns, never wrap */
.tks-section-tabs{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
  grid-auto-flow:column !important;
  white-space:nowrap !important;
}
.tks-section-tabs a{
  min-width:0 !important;
  width:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}

/* Medium widths: keep one row and allow horizontal swipe */
@media (max-width: 900px){
  .tks-section-tabs{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .tks-section-tabs::-webkit-scrollbar{display:none}
  .tks-section-tabs a{
    flex:0 0 auto !important;
    min-width:104px !important;
    scroll-snap-align:start;
  }

  .tks-detail-hero{
    grid-template-columns:1fr !important;
  }
  .tks-two-col{
    grid-template-columns:1fr !important;
  }
  .tks-valuation-grid{
    grid-template-columns:1fr !important;
  }
}

/* Phone */
@media (max-width: 640px){
  .tks-container{
    width:calc(100% - 16px) !important;
  }

  .tks-topin{
    min-height:54px;
    height:auto;
    gap:10px;
  }
  .tks-brand{font-size:18px}
  .tks-topmeta{display:none}

  .tks-breadcrumb{
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
  }
  .tks-breadcrumb::-webkit-scrollbar{display:none}

  .tks-hero-cockpit .tks-hero-primary{
    padding:15px 14px 0 !important;
  }
  .tks-hero-topline{
    gap:8px;
  }
  .tks-hero-name-row h1{
    font-size:30px !important;
    line-height:1.15;
  }
  .tks-hero-name-row p{
    font-size:13px !important;
    line-height:1.7;
  }
  .tks-hero-chips{
    gap:5px;
  }
  .tks-hero-metrics{
    margin:0 -14px !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .tks-hero-metrics > div{
    min-width:0;
    padding:12px 10px;
  }
  .tks-hero-metrics b{
    font-size:19px !important;
    overflow-wrap:anywhere;
  }

  /* Tabs stay ONE ROW on mobile */
  .tks-section-tabs{
    position:sticky;
    top:54px;
    margin-bottom:14px !important;
    border-radius:0 0 12px 12px;
  }
  .tks-section-tabs a{
    min-width:92px !important;
    min-height:46px !important;
    padding:0 11px !important;
    font-size:12px !important;
  }

  .tks-pad{
    padding:15px !important;
  }
  .tks-section{
    margin-top:14px;
  }

  /* Calculator */
  .tks-price-tools{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .tks-price-row{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  .tks-price-row .tks-btn{
    padding-left:14px;
    padding-right:14px;
  }
  .tks-quote-btn{
    width:100%;
  }
  .tks-yield-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .tks-yield{
    padding:10px 8px !important;
    min-width:0;
  }
  .tks-yield span{
    font-size:10px !important;
  }
  .tks-yield b{
    font-size:18px !important;
    white-space:nowrap;
  }
  .tks-target-controls{
    grid-template-columns:1fr 1fr !important;
  }

  /* KPI / summary */
  .tks-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .tks-market-board{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    overflow:visible !important;
  }
  .tks-market-board .tks-board-cell{
    min-width:0 !important;
  }

  /* Dividend chart remains usable on narrow screens */
  .tks-dividend-chart{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
  }
  .tks-dividend-chart .tks-chart-grid{
    min-width:620px;
  }

  /* Analytics */
  .tks-analytics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
  #analytics .tks-analytics-grid > div{
    padding:13px 11px 12px !important;
  }
  #analytics .tks-analytics-grid > div b{
    font-size:21px !important;
  }

  /* Evidence */
  .tks-evidence{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .tks-evidence a,
  .tks-evidence-link{
    width:100%;
    justify-content:center;
  }

  .tks-related-grid,
  .tks-check-grid{
    grid-template-columns:1fr !important;
  }
}

/* Very small phones */
@media (max-width: 390px){
  .tks-container{
    width:calc(100% - 12px) !important;
  }
  .tks-hero-name-row h1{
    font-size:28px !important;
  }
  .tks-yield-grid{
    grid-template-columns:1fr !important;
  }
  .tks-target-controls{
    grid-template-columns:1fr !important;
  }
  .tks-summary-grid,
  .tks-market-board,
  .tks-analytics-grid{
    grid-template-columns:1fr !important;
  }
}


/* v0.3.6 — make every mobile tab reachable while preserving one row */
.tks-section-tabs-shell{
  position:relative;
  width:100%;
  overflow:visible;
}
.tks-tabs-swipe-hint{display:none}

@media (max-width:900px){
  .tks-section-tabs-shell{
    overflow:visible!important;
  }
  .tks-section-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    grid-auto-flow:initial!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-right:52px!important;
    white-space:nowrap!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    touch-action:pan-x;
  }
  .tks-section-tabs::-webkit-scrollbar{display:none}
  .tks-section-tabs a{
    flex:0 0 auto!important;
    min-width:88px!important;
    width:auto!important;
    scroll-snap-align:start;
  }
  .tks-tabs-swipe-hint{
    display:flex;
    position:absolute;
    z-index:15;
    right:0;
    top:0;
    bottom:0;
    width:52px;
    pointer-events:none;
    align-items:center;
    justify-content:center;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92) 42%,#fff 74%);
  }
  .tks-tabs-swipe-hint b{
    display:flex;
    width:30px;
    height:30px;
    border-radius:999px;
    align-items:center;
    justify-content:center;
    border:1px solid #b9cff0;
    background:#f4f8ff;
    color:#1f65d6;
    font-size:18px;
    font-weight:900;
    box-shadow:0 2px 8px rgba(30,77,140,.08);
  }
}
@media (max-width:640px){
  .tks-section-tabs-shell{
    position:sticky;
    top:54px;
    z-index:30;
    background:#fff;
  }
  .tks-section-tabs{
    position:relative!important;
    top:auto!important;
    margin-bottom:14px!important;
    scroll-snap-type:x mandatory;
  }
  .tks-section-tabs a{
    min-width:82px!important;
    min-height:46px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }
  .tks-tabs-swipe-hint{
    bottom:14px;
    width:48px;
  }
}
.tks-section-tabs-shell.is-scrolled .tks-tabs-swipe-hint{
  opacity:0;
  visibility:hidden;
  transition:.18s ease;
}


/* v0.3.7 — glossary alignment consistency */
.tks-glossary-links a{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  text-align:left !important;
  gap:12px !important;
}
.tks-glossary-label{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0;
  flex:1 1 auto;
  gap:10px;
  text-align:left !important;
}
.tks-glossary-label i{
  display:inline-flex;
  width:22px;
  flex:0 0 22px;
  align-items:center;
  justify-content:center;
  font-style:normal;
  font-size:15px;
  line-height:1;
}
.tks-glossary-label b{
  display:block;
  min-width:0;
  font-size:13px;
  line-height:1.45;
  font-weight:900;
  color:var(--tks-ink,#142236);
  text-align:left !important;
}
.tks-glossary-arrow{
  flex:0 0 auto;
  margin-left:auto;
  font-size:18px !important;
  line-height:1;
  font-weight:800;
  color:#738196 !important;
}
@media (max-width:640px){
  .tks-glossary-links a{
    min-height:54px;
    padding:12px 13px !important;
  }
  .tks-glossary-label b{
    font-size:13px;
  }
}

/* v0.4.0 benefit data visibility */
.tks-benefit-description{margin:9px 0 0;color:var(--tks-ink-soft,#2f4157);font-size:13px;line-height:1.75}
.tks-benefit-longhold,.tks-benefit-extra{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:11px;background:#f7f9fc;border:1px solid var(--tks-line)}
.tks-benefit-longhold b,.tks-benefit-extra b{flex:0 0 auto;font-size:12px;font-weight:900;color:var(--tks-ink)}
.tks-benefit-longhold span,.tks-benefit-extra span{font-size:12px;color:var(--tks-ink-soft,#2f4157)}
.tks-benefit-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tks-benefit-sources a{display:inline-flex;align-items:center;min-height:36px;padding:0 11px;border:1px solid #c7d9f3;border-radius:10px;background:#f6f9ff;color:#1769e0;font-size:12px;font-weight:900}

/* v0.4.2 dividend corporate-action display */
.tks-chart-year .tks-adjusted-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:3px;
  width:16px;
  height:16px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #c6d8f3;
  color:#3567a9;
  font-size:8px;
  font-weight:900;
  vertical-align:middle;
}

/* v0.4.3 — benefit tier readability */
.tks-tier{
  padding:16px 16px 15px !important;
  background:#fbfcff !important;
  border-color:#c8d6e9 !important;
}
.tks-tier b{
  font-size:24px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#17243a !important;
}
.tks-tier span{
  margin-top:10px !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  color:#24364e !important;
}
.tks-tier small{
  margin-top:8px !important;
  font-size:12px !important;
  line-height:1.55 !important;
  font-weight:700 !important;
  color:#53657b !important;
}
@media(max-width:640px){
  .tks-tier b{font-size:21px !important}
  .tks-tier span{font-size:15px !important}
}


/* v0.4.5 — official evidence CTA clarity
   Fix specificity collision: `.tks-evidence a` was overriding CTA white text. */
.tks-evidence a.tks-evidence-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px;
  min-width:154px;
  min-height:44px;
  padding:0 16px !important;
  border:1px solid #1769e0 !important;
  border-radius:11px !important;
  background:#1769e0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.2;
  font-weight:900 !important;
  letter-spacing:.01em;
  text-decoration:none !important;
  white-space:nowrap;
  box-shadow:0 5px 14px rgba(23,105,224,.18);
  transition:background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.tks-evidence a.tks-evidence-cta:visited{
  color:#fff !important;
}
.tks-evidence a.tks-evidence-cta:hover,
.tks-evidence a.tks-evidence-cta:focus-visible{
  background:#0f56bd !important;
  border-color:#0f56bd !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(23,105,224,.24);
}
.tks-evidence a.tks-evidence-cta:focus-visible{
  outline:3px solid rgba(23,105,224,.22);
  outline-offset:2px;
}
.tks-evidence-cta.is-muted{
  min-width:154px;
  min-height:44px;
  padding:0 14px;
  font-size:12px;
  font-weight:800;
  background:#f4f6f9 !important;
  color:#5b687b !important;
  border:1px solid #d7dee8 !important;
  box-shadow:none;
}
@media(max-width:640px){
  .tks-evidence a.tks-evidence-cta,
  .tks-evidence-cta.is-muted{
    width:100%;
    min-width:0;
  }
}


/* =========================================================
   v0.4.6 MOBILE READABILITY
   Main issue was not the font family itself, but hierarchy:
   small labels + light muted color + dense KPI cards.
   ========================================================= */

.tks-surface-body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Hiragino Sans",
    "Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",
    Meiryo,sans-serif !important;
  text-rendering:optimizeLegibility;
}

/* Slightly darker supporting text across the data surface */
.tks-surface-body{
  --tks-readable-muted:#526176;
  --tks-readable-sub:#64748a;
}
.tks-help,
.tks-data-note,
.tks-market-board-note,
.tks-fin-kpi span,
.tks-board-cell>span,
.tks-board-cell>small,
.tks-financial-table th{
  color:var(--tks-readable-muted) !important;
}

/* Mobile/tablet data cards */
@media (max-width:768px){
  .tks-section h2,
  .tks-section-head h2{
    font-size:21px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    color:#111d31 !important;
  }
  .tks-section-head p,
  .tks-help{
    font-size:12.5px !important;
    line-height:1.7 !important;
    font-weight:600 !important;
    color:var(--tks-readable-muted) !important;
  }

  /* Market indicator board */
  .tks-market-board .tks-board-cell{
    padding:13px 12px !important;
    min-height:82px;
  }
  .tks-market-board .tks-board-cell>span{
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    letter-spacing:.01em;
  }
  .tks-market-board .tks-board-cell>b{
    margin-top:5px !important;
    font-size:22px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    letter-spacing:-.015em;
    color:#101c30 !important;
  }
  .tks-market-board .tks-board-cell>small{
    margin-top:5px !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
  }

  /* Financial KPI cards */
  .tks-financial-kpis{
    gap:9px !important;
  }
  .tks-fin-kpi{
    padding:14px 12px !important;
    min-height:84px;
    background:#fff !important;
  }
  .tks-fin-kpi span{
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    letter-spacing:.01em;
  }
  .tks-fin-kpi b{
    margin-top:7px !important;
    font-size:20px !important;
    line-height:1.22 !important;
    font-weight:900 !important;
    letter-spacing:-.015em;
    color:#101c30 !important;
  }

  /* Financial table */
  .tks-financial-table th{
    font-size:11.5px !important;
    font-weight:900 !important;
  }
  .tks-financial-table td{
    font-size:13px !important;
    font-weight:650 !important;
    color:#1a2a40 !important;
  }

  /* Growth / profitability cards */
  #analytics .tks-analytics-grid>div{
    min-height:92px;
    padding:14px 12px !important;
  }
  #analytics .tks-analytics-grid>div span,
  #analytics .tks-analytics-grid>div small{
    font-size:11.5px !important;
    line-height:1.45 !important;
    font-weight:750 !important;
    color:var(--tks-readable-muted) !important;
  }
  #analytics .tks-analytics-grid>div b{
    margin-top:5px !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    color:#101c30 !important;
  }
}

@media (max-width:520px){
  .tks-financial-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .tks-fin-kpi{
    min-height:88px;
  }
}

@media (max-width:390px){
  /* Keep two-column financial cards even on small phones:
     readability is better than six very small labels in a single dense row. */
  .tks-financial-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* v0.4.7 — analytics selector fix + real mobile typography */
@media (max-width:768px){
  #analytics .tks-pad{
    padding:17px 14px !important;
  }
  #analytics .tks-section-head h2{
    font-size:23px !important;
    line-height:1.3 !important;
    font-weight:900 !important;
    letter-spacing:-.02em;
  }
  #analytics .tks-help{
    margin-top:6px !important;
    font-size:13px !important;
    line-height:1.7 !important;
    font-weight:650 !important;
    color:#4d5e75 !important;
  }
  #analytics .tks-analytics-legend{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    margin:14px 0 13px !important;
  }
  #analytics .tks-analytics-legend>span{
    font-size:11.5px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    padding:6px 9px !important;
  }
  #analytics .tks-analytics-legend small{
    flex-basis:100%;
    margin-top:2px;
    font-size:10.5px !important;
    line-height:1.5 !important;
    font-weight:650 !important;
    color:#526176 !important;
  }

  #analytics .tks-analytics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  #analytics .tks-analytics-grid>div{
    min-height:112px !important;
    padding:15px 13px 13px !important;
    border-radius:14px !important;
  }
  #analytics .tks-analytics-grid>div span{
    margin:0 0 8px !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    color:#32445d !important;
  }
  #analytics .tks-analytics-grid>div b{
    margin:0 0 8px !important;
    font-size:23px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:-.02em;
  }
  #analytics .tks-analytics-grid>div small{
    margin:0 !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    color:#5b6b80 !important;
  }
}

@media (max-width:390px){
  #analytics .tks-analytics-grid>div{
    min-height:108px !important;
    padding:14px 11px 12px !important;
  }
  #analytics .tks-analytics-grid>div span{
    font-size:12px !important;
  }
  #analytics .tks-analytics-grid>div b{
    font-size:21px !important;
  }
  #analytics .tks-analytics-grid>div small{
    font-size:11px !important;
  }
}

.tks-lt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tks-lt-card{border:1px solid #dbe3ef;border-radius:14px;padding:18px;background:#fff}.tks-lt-card h3{margin:0 0 8px}
@media(max-width:700px){.tks-lt-grid{grid-template-columns:1fr}}


/* v0.5.15 recovery simulator - reference-like */
.tks-recovery-simulator{
  background:#f4f7f8;
  border:1px solid #d8e2ea;
  border-radius:24px;
  padding:24px;
}
.tks-sim-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tks-sim-sync-btn{
  align-self:flex-start;
  border:1px solid #bdd0da;
  background:#fff;
  color:#4b6b7a;
  font-size:11px;
  font-weight:800;
  border-radius:999px;
  padding:7px 10px;
  cursor:pointer;
}
.tks-sim-pill-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.tks-sim-pill{
  background:#5bb0c8;
  border-radius:14px;
  padding:10px 10px 12px;
}
.tks-sim-pill > span{
  display:block;
  color:#fff;
  text-align:center;
  font-size:12px;
  font-weight:900;
  margin-bottom:10px;
}
.tks-sim-pill-input{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#fff;
  border:1px solid #d9e2ea;
  border-radius:10px;
  padding:8px 10px;
  min-height:52px;
}
.tks-sim-pill-input .tks-input{
  border:0;
  background:transparent;
  height:auto;
  text-align:center;
  padding:0;
  font-size:20px;
  font-weight:900;
  color:#49a6c6;
  box-shadow:none;
}
.tks-sim-pill-input .tks-input:focus{outline:none}
.tks-sim-pill-input em{
  font-style:normal;
  font-size:16px;
  font-weight:900;
  color:#182433;
  white-space:nowrap;
  writing-mode:horizontal-tb;
}
.tks-sim-caption{
  text-align:center;
  margin:14px 0 10px;
  color:#6f7b88;
  font-size:12px;
}
.tks-sim-action-row{text-align:center}
.tks-sim-run{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:280px;
  min-height:58px;
  padding:0 28px;
  border:none;
  border-radius:999px;
  background:#2ea8c2;
  color:#fff;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(46,168,194,.22);
  cursor:pointer;
}
.tks-sim-panel{
  margin-top:28px;
  background:#eef3f5;
  border-radius:24px;
  padding:30px 22px 22px;
}
.tks-sim-result-header{text-align:center;margin-bottom:20px}
.tks-sim-result-header h4{
  margin:0;
  font-size:18px;
  letter-spacing:.04em;
}
.tks-sim-wave{
  width:240px;
  margin:10px auto 0;
  height:10px;
  background:
    radial-gradient(circle at 5px -1px,#4cb2cc 6px,transparent 6.5px) 0 0/20px 10px repeat-x;
}
.tks-sim-mini-layout{
  display:grid;
  grid-template-columns:1fr 140px;
  gap:18px;
  align-items:start;
}
.tks-sim-mini-table{
  overflow:hidden;
  border-radius:0;
}
.tks-sim-mini-head,
.tks-sim-mini-row{
  display:grid;
  grid-template-columns:86px repeat(6,1fr);
}
.tks-sim-mini-head span{
  background:#90aebb;
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-align:center;
  padding:10px 6px;
  border-right:1px solid rgba(255,255,255,.25);
}
.tks-sim-mini-head::before{
  content:'';
  background:transparent;
}
.tks-sim-mini-row label,
.tks-sim-mini-row b{
  text-align:center;
  padding:12px 6px;
  border-right:1px solid #d9dee2;
  border-bottom:1px solid #d9dee2;
  background:#fff;
}
.tks-sim-mini-row label{
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.tks-sim-mini-row.is-yield label{background:#f3b400}
.tks-sim-mini-row.is-recovery label{background:#42b8df}
.tks-sim-mini-row b{
  font-size:18px;
  font-weight:900;
  color:#1d2b3a;
}
.tks-sim-payback-box{
  border:1px solid #d9dee2;
  background:#fff;
}
.tks-sim-payback-box span{
  display:block;
  background:#52b6d0;
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:900;
  padding:10px 6px;
}
.tks-sim-payback-box b{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:104px;
  font-size:24px;
  font-weight:900;
  color:#182433;
}
.tks-sim-graph-card{
  margin-top:28px;
  background:#fafafa;
  border-radius:18px;
  padding:18px;
}
#tksRecoveryChartCanvas{
  display:block;
  width:100%;
  height:420px;
  background:transparent;
}
.tks-sim-summary-strip{
  display:flex;
  gap:18px;
  justify-content:flex-start;
  margin-top:16px;
  flex-wrap:wrap;
}
.tks-sim-summary-strip div span{
  display:block;
  color:#6b7480;
  font-size:12px;
}
.tks-sim-summary-strip div b{
  display:block;
  margin-top:4px;
  font-size:22px;
}
.tks-sim-detail-card{
  margin-top:22px;
}
.tks-sim-detail-card h5{margin:0 0 10px;font-size:14px}
.tks-sim-detail-wrap{overflow:auto;border:1px solid #cad8e0}
.tks-sim-detail-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  background:#fff;
}
.tks-sim-detail-table th,
.tks-sim-detail-table td{
  padding:8px 10px;
  border-right:1px solid #d7dde2;
  border-bottom:1px solid #d7dde2;
  text-align:center;
  font-size:12px;
}
.tks-sim-detail-table th{
  background:#84adb9;
  color:#fff;
  font-weight:900;
}
@media(max-width:900px){
  .tks-sim-pill-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tks-sim-mini-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .tks-sim-top{display:block}
  .tks-sim-sync-btn{margin-top:10px}
  .tks-sim-pill-row{grid-template-columns:1fr}
  .tks-sim-run{width:100%;min-width:0}
  .tks-sim-panel{padding:22px 14px 18px}
  .tks-sim-mini-row b{font-size:14px}
}


/* v0.5.16.2 SAFE PATCH
   Simulator frozen. Additional modules only.
*/
.tks-score-module-safe,
.tks-benefit-module-safe{
  border:1px solid #dbe5ef;
  border-radius:18px;
  background:#fff;
  padding:18px;
}


/* TOKUSURU v0.5.18 Premium Benefit Intelligence */
.tks-benefit-premium-card{
  background:linear-gradient(180deg,#ffffff,#f7fbfd);
  border:1px solid #d9e5ec;
  border-radius:24px;
  padding:28px;
  box-shadow:0 12px 30px rgba(31,55,80,.08);
}
.tks-benefit-premium-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.tks-benefit-premium-item{
  background:#fff;
  border:1px solid #e0e8ef;
  border-radius:16px;
  padding:18px;
}
.tks-benefit-premium-item span{
  display:block;
  color:#667085;
  font-size:12px;
}
.tks-benefit-premium-item strong{
  display:block;
  margin-top:8px;
  color:#17324d;
  font-size:20px;
}
.tks-benefit-tier-premium{
  margin-top:22px;
  background:#fff;
  border-radius:18px;
  border:1px solid #dce7ee;
  overflow:hidden;
}
.tks-benefit-tier-premium-head{
  background:#82a9b7;
  color:#fff;
  padding:12px 16px;
  font-weight:900;
}
.tks-benefit-condition-premium{
  margin-top:18px;
  background:#f1fafc;
  border-radius:16px;
  padding:18px;
}
@media(max-width:800px){
 .tks-benefit-premium-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
 .tks-benefit-premium-grid{grid-template-columns:1fr}
}


/* v0.5.19 Benefit Intelligence */
.tks-benefit-summary-grid-v519{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:10px;
 margin-top:14px;
}
.tks-benefit-summary-grid-v519 div{
 background:#f7fbfd;
 border:1px solid #dce8ef;
 border-radius:14px;
 padding:12px;
}
.tks-benefit-summary-grid-v519 span{
 display:block;
 font-size:12px;
 color:#667085;
}
.tks-benefit-summary-grid-v519 b{
 display:block;
 margin-top:6px;
 font-size:18px;
 color:#17324d;
}
.tks-benefit-detail-v519{
 margin-top:14px;
 background:#f1fafc;
 border-radius:14px;
 padding:14px;
}
.tks-benefit-detail-v519 h4{
 margin:0 0 8px;
 font-size:14px;
}
.tks-benefit-detail-v519 p{
 margin:0;
 font-size:12px;
 color:#667085;
}
@media(max-width:700px){
 .tks-benefit-summary-grid-v519{grid-template-columns:1fr;}
}


/* TOKUSURU v0.5.20 Premium Benefit Intelligence */
.tks-benefit-canonical-panel{
  margin-top:24px;
  background:linear-gradient(180deg,#ffffff,#f6fbfd);
  border:1px solid #d8e5ec;
  border-radius:26px;
  padding:30px;
  box-shadow:0 14px 34px rgba(25,55,80,.08);
}
.tks-benefit-canonical-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.tks-benefit-canonical-badge{
  background:#4bb3c7;
  color:white;
  border-radius:999px;
  padding:8px 16px;
  font-weight:900;
  font-size:13px;
}
.tks-benefit-canonical-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:22px;
}
.tks-benefit-canonical-card{
  background:white;
  border:1px solid #e0e8ef;
  border-radius:18px;
  padding:18px;
}
.tks-benefit-canonical-card span{
  display:block;
  color:#667085;
  font-size:12px;
}
.tks-benefit-canonical-card strong{
  display:block;
  margin-top:8px;
  font-size:22px;
  color:#17324d;
}
.tks-benefit-tier-panel{
  margin-top:24px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #dbe5ec;
  background:white;
}
.tks-benefit-tier-panel h4{
  margin:0;
  padding:14px 18px;
  background:#82a9b7;
  color:white;
}
.tks-benefit-tier-item{
  display:grid;
  grid-template-columns:120px 1fr;
  padding:14px 18px;
  border-bottom:1px solid #edf2f5;
}
.tks-benefit-longhold{
  margin-top:20px;
  padding:18px;
  background:#effafd;
  border-radius:16px;
}
.tks-benefit-evidence-chip{
  display:inline-block;
  margin:6px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid #d8e5ec;
  background:white;
  font-size:12px;
}
@media(max-width:800px){
 .tks-benefit-canonical-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
 .tks-benefit-canonical-grid{grid-template-columns:1fr}
 .tks-benefit-tier-item{grid-template-columns:1fr}
}


/* TOKUSURU v0.5.21 Score Intelligence */
.tks-score-intelligence{
  margin-top:24px;
  background:linear-gradient(180deg,#fff,#f7fbfd);
  border:1px solid #d8e5ec;
  border-radius:24px;
  padding:28px;
  box-shadow:0 12px 30px rgba(25,55,80,.08);
}
.tks-score-main{
  display:flex;
  align-items:center;
  gap:24px;
}
.tks-score-circle{
  width:120px;
  height:120px;
  border-radius:50%;
  background:#4bb3c7;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
.tks-score-circle strong{
  font-size:38px;
  line-height:1;
}
.tks-score-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:22px;
}
.tks-score-item{
  background:#fff;
  border:1px solid #e0e8ef;
  border-radius:16px;
  padding:14px;
  text-align:center;
}
.tks-score-item span{
  display:block;
  color:#667085;
  font-size:12px;
}
.tks-score-item strong{
  display:block;
  margin-top:8px;
  font-size:22px;
  color:#17324d;
}
@media(max-width:800px){
 .tks-score-grid{grid-template-columns:repeat(2,1fr)}
}


/* =========================================================
   TOKUSURU v0.5.22 Premium Intelligence UI
   Purpose: Upgrade the 4 intelligence cards (design / UI only)
   Keep simulator behavior unchanged.
   ========================================================= */

.tks-long-term-engine{
  margin-top: 28px;
}

.tks-long-term-engine .tks-section-head{
  margin-bottom: 18px;
}

.tks-long-term-engine .tks-section-head h2{
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  color: #17324d;
}

.tks-long-term-engine .tks-help{
  color: #6b7280;
  font-size: 13px;
  line-height: 1.7;
}

.tks-lt-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}

.tks-lt-card{
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border: 1px solid #dce7ee;
  border-radius: 24px;
  padding: 24px 24px 22px;
  box-shadow: 0 10px 28px rgba(24, 50, 77, 0.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.tks-lt-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(24, 50, 77, 0.10);
  border-color: #c7dbe7;
}

.tks-lt-card::before{
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #54b6cc 0%, #88c9d8 100%);
}

.tks-lt-card:nth-child(2)::before{
  background: linear-gradient(90deg, #f2bc3d 0%, #f6cf75 100%);
}

.tks-lt-card:nth-child(3)::before{
  background: linear-gradient(90deg, #5ec7a7 0%, #90dfc8 100%);
}

.tks-lt-card:nth-child(4)::before{
  background: linear-gradient(90deg, #7ba6d9 0%, #a7c4ea 100%);
}

.tks-lt-card-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.tks-lt-card-head h3{
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: #17324d;
}

.tks-lt-tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  border: 1px solid transparent;
  white-space: nowrap;
}

.tks-lt-tag.is-blue{
  background: #eef8fc;
  color: #1f90ae;
  border-color: #d3ecf4;
}

.tks-lt-tag.is-gold{
  background: #fff8e8;
  color: #b8840c;
  border-color: #f6e3ae;
}

.tks-lt-tag.is-green{
  background: #ecfbf6;
  color: #1e8a6b;
  border-color: #cdeee2;
}

.tks-lt-tag.is-purple{
  background: #f2f5ff;
  color: #5a75b6;
  border-color: #d8e1fb;
}

.tks-lt-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.tks-lt-list li{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,0.72);
  border: 1px solid #ecf1f4;
  border-radius: 16px;
  padding: 14px 16px;
}

.tks-lt-list li span{
  display: block;
  font-size: 13px;
  line-height: 1.5;
  color: #667085;
}

.tks-lt-list li b{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 86px;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 900;
  color: #17324d;
  text-align: right;
}

.tks-lt-card:nth-child(2) .tks-lt-list li b{
  color: #a56b00;
}

.tks-lt-card:nth-child(3) .tks-lt-list li b{
  color: #18775d;
}

.tks-lt-card:nth-child(4) .tks-lt-list li b{
  color: #425f9b;
}

/* tighter integration with surrounding UI */
.tks-lt-card .tks-help,
.tks-lt-card p{
  color: #667085;
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
}

/* responsive */
@media (max-width: 960px){
  .tks-lt-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .tks-long-term-engine .tks-section-head h2{
    font-size: 23px;
  }

  .tks-lt-card{
    padding: 20px 18px 18px;
    border-radius: 20px;
  }

  .tks-lt-card-head{
    align-items: flex-start;
    flex-direction: column;
  }

  .tks-lt-list li{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tks-lt-list li b{
    justify-content: flex-start;
    text-align: left;
    min-width: 0;
    font-size: 18px;
  }
}


/* =========================================================
   TOKUSURU v0.5.23 Next Improvements
   - Benefit card refinement
   - Score card hero + breakdown
   - Slight separation polish
   Simulator kept unchanged.
   ========================================================= */

.tks-benefit-summary-grid-v519{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.tks-benefit-summary-grid-v519 > div{
  background:#fff;
  border:1px solid #e8eef2;
  border-radius:16px;
  padding:14px 14px 12px;
}

.tks-benefit-summary-grid-v519 > div span{
  display:block;
  color:#7a8591;
  font-size:12px;
  line-height:1.4;
}

.tks-benefit-summary-grid-v519 > div b{
  display:block;
  margin-top:8px;
  font-size:16px;
  font-weight:900;
  color:#17324d;
}

.tks-benefit-detail-v519{
  margin-top:14px;
  background:#f6fbfd;
  border:1px solid #e6f0f4;
  border-radius:18px;
  padding:16px;
}

.tks-benefit-detail-v519 h4{
  margin:0 0 10px;
  font-size:14px;
  color:#17324d;
}

.tks-benefit-placeholder-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.tks-benefit-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #d7e6ec;
  background:#fff;
  color:#6b7f8c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}

/* Score hero */
.tks-score-card-v523{
  overflow:hidden;
}

.tks-score-hero-v523{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:16px;
  align-items:center;
  margin-bottom:14px;
}

.tks-score-orb-v523{
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #7eaee2 0%, #5a7fc8 45%, #4568ad 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow: inset 0 2px 8px rgba(255,255,255,.25), 0 10px 22px rgba(69, 104, 173, .22);
}

.tks-score-orb-v523 strong{
  display:block;
  font-size:34px;
  line-height:1;
  font-weight:900;
}

.tks-score-orb-v523 span{
  display:block;
  margin-top:4px;
  font-size:13px;
  font-weight:700;
  opacity:.92;
}

.tks-score-side-v523{
  display:grid;
  gap:10px;
}

.tks-score-line-v523{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  background:#fff;
  border:1px solid #ecf1f4;
  border-radius:14px;
  padding:11px 14px;
}

.tks-score-line-v523 span{
  color:#667085;
  font-size:13px;
  line-height:1.4;
}

.tks-score-line-v523 b{
  font-size:18px;
  line-height:1.1;
  font-weight:900;
  color:#425f9b;
  text-align:right;
}

.tks-score-breakdown-v523{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.tks-score-breakdown-v523 > div{
  background:#fff;
  border:1px solid #e9eef2;
  border-radius:16px;
  padding:12px 12px 10px;
  text-align:center;
}

.tks-score-breakdown-v523 > div span{
  display:block;
  color:#7a8591;
  font-size:11px;
  line-height:1.4;
  min-height:30px;
}

.tks-score-breakdown-v523 > div b{
  display:block;
  margin-top:6px;
  font-size:22px;
  font-weight:900;
  color:#17324d;
}

.tks-score-breakdown-v523 > div b small{
  font-size:12px;
  color:#6d7d8d;
  margin-left:1px;
}

.tks-recovery-simulator{
  margin-top:20px;
  border-top:1px solid #dde6ee;
  padding-top:24px;
}

@media (max-width: 980px){
  .tks-benefit-summary-grid-v519{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tks-score-breakdown-v523{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .tks-benefit-summary-grid-v519{
    grid-template-columns:1fr;
  }
  .tks-score-hero-v523{
    grid-template-columns:1fr;
  }
  .tks-score-orb-v523{
    width:100px;
    height:100px;
    margin:0 auto;
  }
  .tks-score-breakdown-v523{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* TOKUSURU v0.5.24 wording refinement */
.tks-long-term-engine .tks-section-head{
  margin-bottom: 12px;
}


/* TOKUSURU v0.5.25 Dividend Intelligence expansion */
.tks-lt-card .tks-lt-list li b{
  white-space:nowrap;
}


/* TOKUSURU v0.5.26 Benefit Intelligence completion UI */
.tks-benefit-section-grid-v526{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.tks-benefit-section-grid-v526 div{
  background:#fff;
  border:1px solid #e5edf2;
  border-radius:14px;
  padding:12px;
}
.tks-benefit-section-grid-v526 span{
  display:block;
  color:#788796;
  font-size:11px;
}
.tks-benefit-section-grid-v526 b{
  display:block;
  margin-top:6px;
  color:#17324d;
  font-size:14px;
}
.tks-benefit-tier-box-v526{
  background:#fff;
  border:1px solid #e5edf2;
  border-radius:14px;
  padding:14px;
}
.tks-benefit-tier-row-v526{
  padding:10px 0;
  border-bottom:1px solid #eef3f6;
  color:#17324d;
}
.tks-benefit-tier-row-v526:last-child{
  border-bottom:0;
}
@media(max-width:800px){
 .tks-benefit-section-grid-v526{
   grid-template-columns:repeat(2,minmax(0,1fr));
 }
}
@media(max-width:520px){
 .tks-benefit-section-grid-v526{
   grid-template-columns:1fr;
 }
}


/* TOKUSURU v0.5.27 Financial Intelligence expansion */
.tks-financial-expanded-v527 .tks-lt-list{
  gap:10px;
}
.tks-financial-expanded-v527 .tks-lt-list li{
  background:#fbfdfe;
}


/* TOKUSURU v0.5.28 Simulator amount unit display */
.tks-recovery-simulator table th{
  white-space:nowrap;
}
.tks-recovery-simulator .amount-unit{
  font-size:12px;
  color:#667085;
}


/* =========================================================
   TOKUSURU v0.5.29 Long-Term Investor Search UI
   UI only. Search Index/API can connect later without redesign.
   ========================================================= */
.tks-lt-search-v529{
  margin-top:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f5fafc 100%);
  border:1px solid #d7e5ec;
  border-radius:26px;
  padding:26px;
  box-shadow:0 12px 30px rgba(24,50,77,.06);
}

.tks-lt-search-head-v529{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}

.tks-lt-search-kicker-v529{
  display:block;
  color:#3fa8c2;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  margin-bottom:6px;
}

.tks-lt-search-head-v529 h3{
  margin:0;
  color:#17324d;
  font-size:22px;
  line-height:1.25;
  letter-spacing:-.02em;
}

.tks-lt-search-head-v529 p{
  margin:8px 0 0;
  color:#6b7785;
  font-size:12px;
  line-height:1.7;
}

.tks-lt-search-reset-v529{
  border:1px solid #cfdde6;
  background:#fff;
  color:#567181;
  border-radius:999px;
  padding:8px 13px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.tks-lt-search-form-v529{
  display:grid;
  gap:14px;
}

.tks-lt-search-group-v529{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:18px;
  background:#fff;
  border:1px solid #e2eaf0;
  border-radius:20px;
  padding:17px;
}

.tks-lt-search-group-title-v529{
  display:flex;
  align-items:center;
  gap:10px;
}

.tks-lt-search-icon-v529{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eef8fc;
  color:#2798b5;
  font-size:13px;
  font-weight:900;
  flex:0 0 auto;
}

.tks-lt-search-group-v529.is-benefit .tks-lt-search-icon-v529{
  background:#fff7e6;
  color:#ba8309;
}

.tks-lt-search-group-v529.is-financial .tks-lt-search-icon-v529{
  background:#ecfbf6;
  color:#1c8b6a;
}

.tks-lt-search-group-v529.is-index .tks-lt-search-icon-v529{
  background:#f1f5ff;
  color:#5678bb;
}

.tks-lt-search-group-title-v529 b{
  display:block;
  color:#17324d;
  font-size:14px;
}

.tks-lt-search-group-title-v529 small{
  display:block;
  margin-top:2px;
  color:#9aa6b2;
  font-size:10px;
}

.tks-lt-search-fields-v529{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.tks-lt-search-fields-v529 label,
.tks-lt-search-indexes-v529 label{
  min-width:0;
}

.tks-lt-search-fields-v529 label > span{
  display:block;
  margin-bottom:6px;
  color:#758391;
  font-size:11px;
  font-weight:700;
}

.tks-lt-search-fields-v529 select,
.tks-lt-search-fields-v529 input[type="number"]{
  width:100%;
  min-height:42px;
  border:1px solid #d7e2ea;
  border-radius:12px;
  background:#fbfdfe;
  color:#17324d;
  padding:0 11px;
  font-size:13px;
  box-sizing:border-box;
}

.tks-lt-search-number-v529{
  display:flex;
  align-items:center;
  gap:7px;
}

.tks-lt-search-number-v529 input{
  flex:1;
  min-width:0;
}

.tks-lt-search-number-v529 em{
  font-style:normal;
  color:#667585;
  font-size:11px;
  white-space:nowrap;
}

.tks-lt-search-fields-v529 .is-switch-v529{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  min-height:42px;
  margin-top:17px;
  border:1px solid #d7e2ea;
  border-radius:12px;
  padding:0 12px;
  background:#fbfdfe;
  cursor:pointer;
}

.tks-lt-search-fields-v529 .is-switch-v529 > span{
  margin:0;
  color:#17324d;
  font-size:12px;
  font-weight:800;
}

.tks-lt-search-fields-v529 input[type="checkbox"],
.tks-lt-search-indexes-v529 input[type="checkbox"]{
  accent-color:#37a9c4;
}

.tks-lt-search-indexes-v529{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.tks-lt-search-indexes-v529 label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  border:1px solid #d7e2ea;
  border-radius:12px;
  background:#fbfdfe;
  padding:0 12px;
  color:#17324d;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.tks-lt-search-actions-v529{
  display:flex;
  justify-content:center;
  padding-top:4px;
}

.tks-lt-search-submit-v529{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:320px;
  min-height:60px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#37a9c4,#2a8eaa);
  color:#fff;
  box-shadow:0 10px 22px rgba(47,161,188,.22);
  cursor:pointer;
}

.tks-lt-search-submit-v529 span{
  font-size:15px;
  font-weight:900;
}

.tks-lt-search-submit-v529 small{
  margin-top:3px;
  font-size:10px;
  opacity:.82;
}

.tks-lt-search-result-v529{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-top:18px;
  padding:17px;
  border:1px solid #dbe7ed;
  border-radius:18px;
  background:#f8fbfd;
}

.tks-lt-search-result-icon-v529{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:#eaf7fb;
  color:#2a9ab6;
  font-size:20px;
  font-weight:900;
}

.tks-lt-search-result-v529 b{
  color:#17324d;
  font-size:14px;
}

.tks-lt-search-result-v529 p{
  margin:6px 0 0;
  color:#73808d;
  font-size:11px;
  line-height:1.65;
}

.tks-lt-search-active-v529{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}

.tks-lt-search-active-v529 span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbe6ec;
  color:#506977;
  font-size:10px;
  font-weight:800;
}

@media(max-width:980px){
  .tks-lt-search-group-v529{
    grid-template-columns:1fr;
  }
  .tks-lt-search-fields-v529,
  .tks-lt-search-indexes-v529{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .tks-lt-search-v529{
    padding:18px 14px;
    border-radius:22px;
  }
  .tks-lt-search-head-v529{
    display:block;
  }
  .tks-lt-search-reset-v529{
    margin-top:12px;
  }
  .tks-lt-search-fields-v529,
  .tks-lt-search-indexes-v529{
    grid-template-columns:1fr;
  }
  .tks-lt-search-fields-v529 .is-switch-v529{
    margin-top:0;
  }
  .tks-lt-search-submit-v529{
    width:100%;
    min-width:0;
  }
}


/* TOKUSURU v0.5.30 simulator amount formatting */
.tks-sim-detail-table tbody td:nth-child(2),
.tks-sim-detail-table tbody td:nth-child(3),
.tks-sim-detail-table tbody td:nth-child(4){
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}


/* TOKUSURU v0.5.31 Canonical-connected combined search */
.tks-lt-search-result-main-v531{min-width:0}
.tks-lt-search-result-title-v531{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.tks-lt-search-result-title-v531 > span{
  color:#8a98a6;font-size:10px;
}
.tks-lt-search-warnings-v531{
  margin-top:10px;padding:10px 12px;border:1px solid #f0dfb2;
  border-radius:12px;background:#fffaf0;
}
.tks-lt-search-warnings-v531 p{
  margin:3px 0;color:#8a6815;font-size:10px;line-height:1.5;
}
.tks-lt-search-cards-v531{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;
}
.tks-lt-search-card-v531{
  display:block;text-decoration:none;color:inherit;background:#fff;
  border:1px solid #dce7ed;border-radius:16px;padding:14px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.tks-lt-search-card-v531:hover{
  transform:translateY(-1px);border-color:#bcd7e2;
  box-shadow:0 8px 20px rgba(29,64,87,.08);
}
.tks-lt-search-card-head-v531{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.tks-lt-search-card-head-v531 small{
  display:block;color:#7c8997;font-size:10px;margin-bottom:3px;
}
.tks-lt-search-card-head-v531 b{
  display:block;color:#17324d;font-size:14px;line-height:1.35;
}
.tks-lt-search-card-head-v531 > span{
  color:#2a99b5;font-size:10px;font-weight:800;white-space:nowrap;
}
.tks-lt-search-card-chips-v531{
  display:flex;flex-wrap:wrap;gap:5px;margin-top:11px;
}
.tks-lt-search-card-chips-v531 span{
  display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;
  border-radius:999px;background:#f4f9fb;border:1px solid #e0ebf0;
  color:#54707d;font-size:9px;font-weight:800;
}
.tks-lt-search-card-metrics-v531{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px;
}
.tks-lt-search-card-metrics-v531 > div{
  background:#f9fbfc;border:1px solid #edf1f4;border-radius:10px;padding:8px;
}
.tks-lt-search-card-metrics-v531 span{
  display:block;color:#8a96a2;font-size:9px;
}
.tks-lt-search-card-metrics-v531 b{
  display:block;margin-top:4px;color:#17324d;font-size:12px;
}
@media(max-width:760px){
  .tks-lt-search-cards-v531{grid-template-columns:1fr}
}
@media(max-width:480px){
  .tks-lt-search-card-metrics-v531{grid-template-columns:1fr}
}


/* =========================================================
   TOKUSURU v0.5.32 Dividend Intelligence + Evidence/Freshness
   ========================================================= */
.tks-dividend-intelligence-v532 .tks-lt-list{
  margin-bottom:12px;
}

.tks-div-policy-grid-v532{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.tks-div-policy-grid-v532 > div{
  min-width:0;
  background:#f7fbfd;
  border:1px solid #e3edf2;
  border-radius:13px;
  padding:10px 11px;
}

.tks-div-policy-grid-v532 span{
  display:block;
  color:#7d8c99;
  font-size:10px;
  line-height:1.35;
}

.tks-div-policy-grid-v532 b{
  display:block;
  margin-top:5px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17324d;
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
}

.tks-div-history-mini-v532{
  margin-top:12px;
  background:#fff;
  border:1px solid #e4edf2;
  border-radius:15px;
  padding:12px;
}

.tks-div-history-mini-head-v532{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}

.tks-div-history-mini-head-v532 > div{
  display:flex;
  align-items:baseline;
  gap:7px;
}

.tks-div-history-mini-head-v532 b{
  color:#17324d;
  font-size:12px;
}

.tks-div-history-mini-head-v532 span{
  color:#95a2ad;
  font-size:9px;
}

.tks-div-history-mini-head-v532 a,
.tks-div-evidence-v532 > a{
  color:#2799b6;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

.tks-div-history-bars-v532{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  height:92px;
  align-items:end;
}

.tks-div-history-point-v532{
  min-width:0;
  height:92px;
  display:grid;
  grid-template-rows:18px 1fr 16px;
  align-items:end;
  text-align:center;
}

.tks-div-history-value-v532{
  color:#587080;
  font-size:8px;
  font-variant-numeric:tabular-nums;
}

.tks-div-history-track-v532{
  position:relative;
  height:54px;
  border-bottom:1px solid #dce7ed;
}

.tks-div-history-track-v532 i{
  position:absolute;
  left:50%;
  bottom:0;
  width:min(24px,72%);
  transform:translateX(-50%);
  border-radius:5px 5px 2px 2px;
}

.tks-div-history-track-v532 i.is-actual{
  background:linear-gradient(180deg,#5fc2d5,#35a8c2);
}

.tks-div-history-track-v532 i.is-forecast{
  background:linear-gradient(180deg,#b9c6cf,#9eabb5);
}

.tks-div-history-point-v532 small{
  color:#8b98a4;
  font-size:8px;
  white-space:nowrap;
}

.tks-div-history-empty-v532{
  padding:10px 0;
  color:#8c99a5;
  font-size:10px;
}

.tks-div-evidence-v532{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:10px 11px;
  background:#eef9fc;
  border:1px solid #d7edf3;
  border-radius:13px;
}

.tks-div-evidence-v532.has-conflict{
  background:#fff7f4;
  border-color:#f0d7cf;
}

.tks-div-evidence-status-v532{
  min-width:0;
}

.tks-div-evidence-status-v532 span{
  display:block;
  color:#76909c;
  font-size:9px;
}

.tks-div-evidence-status-v532 b{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17324d;
  font-size:10px;
  white-space:nowrap;
}

.tks-div-evidence-v532.has-conflict .tks-div-evidence-status-v532 b{
  color:#a4523c;
}

@media(max-width:640px){
  .tks-div-policy-grid-v532{
    grid-template-columns:1fr 1fr;
  }
  .tks-div-evidence-v532{
    grid-template-columns:1fr 1fr;
  }
  .tks-div-evidence-v532 > a{
    grid-column:1 / -1;
  }
}

@media(max-width:420px){
  .tks-div-policy-grid-v532{
    grid-template-columns:1fr;
  }
  .tks-div-history-bars-v532{
    gap:4px;
  }
}


/* =========================================================
   TOKUSURU v0.5.33 Benefit / Rights / Change / Evidence
   ========================================================= */
.tks-benefit-intelligence-panels-v533{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.tks-benefit-subpanel-v533{
  min-width:0;
  border:1px solid #dfe9ef;
  border-radius:17px;
  background:#f9fcfd;
  padding:15px;
}

.tks-benefit-subpanel-v533.is-evidence{
  grid-column:1 / -1;
  background:#fffaf0;
  border-color:#f0e2bd;
}

.tks-benefit-subhead-v533{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.tks-benefit-subhead-v533 span{
  display:block;
  color:#b98415;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}

.tks-benefit-subhead-v533 h3{
  margin:3px 0 0;
  color:#17324d;
  font-size:14px;
}

.tks-benefit-subhead-v533 > b{
  color:#577080;
  font-size:10px;
  font-weight:800;
}

.tks-benefit-subhead-v533 > b.is-conflict{
  color:#a4523c;
}

.tks-rights-grid-v533{
  display:grid;
  gap:8px;
}

.tks-rights-row-v533{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.tks-rights-row-v533 > div,
.tks-benefit-evidence-summary-v533 > div{
  min-width:0;
  border:1px solid #e7eef2;
  border-radius:12px;
  background:#fff;
  padding:10px;
}

.tks-rights-row-v533 span,
.tks-benefit-evidence-summary-v533 span{
  display:block;
  color:#86939f;
  font-size:9px;
}

.tks-rights-row-v533 b,
.tks-benefit-evidence-summary-v533 b{
  display:block;
  margin-top:4px;
  color:#17324d;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

.tks-change-list-v533{
  display:grid;
  gap:8px;
}

.tks-change-item-v533{
  border:1px solid #e6edf1;
  border-radius:12px;
  background:#fff;
  padding:10px;
}

.tks-change-item-head-v533{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.tks-change-type-v533{
  display:inline-flex;
  min-height:23px;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  background:#fff3d8;
  color:#9b6b00;
  font-size:9px;
  font-weight:900;
}

.tks-change-item-head-v533 b{
  color:#677887;
  font-size:9px;
}

.tks-change-item-v533 > p{
  margin:8px 0 0;
  color:#4f6472;
  font-size:10px;
  line-height:1.55;
}

.tks-change-diffs-v533{
  display:grid;
  gap:5px;
  margin-top:8px;
}

.tks-change-diffs-v533 > div{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  border-top:1px solid #eff3f5;
  padding-top:6px;
}

.tks-change-diffs-v533 span{
  color:#82909c;
  font-size:9px;
}

.tks-change-diffs-v533 b{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17324d;
  font-size:9px;
  white-space:nowrap;
}

.tks-change-diffs-v533 small{
  color:#b07a09;
  font-size:8px;
}

.tks-benefit-evidence-summary-v533{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  align-items:center;
}

.tks-benefit-evidence-summary-v533 a{
  color:#b07a09;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

.tks-benefit-subempty-v533{
  margin:0;
  color:#8896a2;
  font-size:10px;
}

/* Long-Term Benefit card */
.tks-benefit-detail-v533{
  margin-top:12px;
  border:1px solid #efe5c9;
  border-radius:15px;
  background:#fffdf8;
  padding:12px;
}

.tks-benefit-detail-head-v533{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.tks-benefit-detail-head-v533 b{
  color:#17324d;
  font-size:12px;
}

.tks-benefit-detail-head-v533 span{
  display:block;
  margin-top:2px;
  color:#a5a09a;
  font-size:8px;
}

.tks-benefit-detail-head-v533 a,
.tks-benefit-evidence-v533 > a{
  color:#b27a08;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}

.tks-benefit-facts-v533{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}

.tks-benefit-facts-v533 > div{
  min-width:0;
  border:1px solid #eee8d9;
  border-radius:11px;
  background:#fff;
  padding:9px;
}

.tks-benefit-facts-v533 span{
  display:block;
  color:#918b80;
  font-size:8px;
}

.tks-benefit-facts-v533 b{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17324d;
  font-size:10px;
  white-space:nowrap;
}

.tks-benefit-tier-mini-v533{
  display:grid;
  gap:5px;
  margin-top:8px;
}

.tks-benefit-tier-mini-v533 > div{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:8px;
  align-items:center;
  border-top:1px solid #f0ebdf;
  padding-top:6px;
}

.tks-benefit-tier-mini-v533 span{
  color:#a4781e;
  font-size:8px;
  font-weight:800;
}

.tks-benefit-tier-mini-v533 b{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#536674;
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}

.tks-benefit-evidence-v533{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  align-items:center;
  margin-top:9px;
  border:1px solid #eee2c4;
  border-radius:11px;
  background:#fff9ea;
  padding:9px;
}

.tks-benefit-evidence-v533.has-conflict{
  border-color:#efd2c9;
  background:#fff5f2;
}

.tks-benefit-evidence-v533 > div span{
  display:block;
  color:#998c70;
  font-size:8px;
}

.tks-benefit-evidence-v533 > div b{
  display:block;
  margin-top:3px;
  color:#17324d;
  font-size:9px;
}

.tks-benefit-evidence-v533.has-conflict > div b{
  color:#a4523c;
}

.tks-evidence-type.is-benefit{
  background:#fff3d9;
  color:#9d6e0c;
}

@media(max-width:760px){
  .tks-benefit-intelligence-panels-v533{
    grid-template-columns:1fr;
  }
  .tks-benefit-subpanel-v533.is-evidence{
    grid-column:auto;
  }
}

@media(max-width:560px){
  .tks-rights-row-v533{
    grid-template-columns:1fr;
  }
  .tks-benefit-evidence-summary-v533,
  .tks-benefit-evidence-v533{
    grid-template-columns:1fr 1fr;
  }
  .tks-benefit-evidence-summary-v533 a,
  .tks-benefit-evidence-v533 > a{
    grid-column:1 / -1;
  }
}


/* =========================================================
   TOKUSURU v0.5.34 Index + Corporate IR Intelligence
   ========================================================= */
.tks-intelligence-grid-v534{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:12px;
}
.tks-intel-panel-v534{
  min-width:0;
  border:1px solid #dfe8ee;
  border-radius:18px;
  background:#fbfdfe;
  padding:16px;
}
.tks-intel-panel-v534.is-index{
  background:linear-gradient(180deg,#f8faff 0%,#fbfdff 100%);
  border-color:#dce5f5;
}
.tks-intel-panel-v534.is-ir{
  background:linear-gradient(180deg,#f5fbfd 0%,#fbfdfe 100%);
  border-color:#d7e8ee;
}
.tks-intel-head-v534{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.tks-intel-head-v534 span{
  display:block;
  color:#7890a0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.tks-intel-head-v534 h3{
  margin:3px 0 0;
  color:#17324d;
  font-size:15px;
}
.tks-intel-head-v534 > b{
  color:#587080;
  font-size:10px;
}
.tks-index-memberships-v534{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.tks-index-chip-v534{
  min-width:0;
  border:1px solid #e2e8f4;
  border-radius:13px;
  background:#fff;
  padding:10px;
}
.tks-index-chip-v534 > span{
  display:inline-flex;
  min-height:21px;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  background:#eef3ff;
  color:#5a74b5;
  font-size:8px;
  font-weight:900;
}
.tks-index-chip-v534 b{
  display:block;
  margin-top:6px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17324d;
  font-size:11px;
  white-space:nowrap;
}
.tks-index-chip-v534 small{
  display:block;
  margin-top:3px;
  color:#8e9aa6;
  font-size:8px;
}
.tks-intel-empty-v534{
  border:1px dashed #d8e2e9;
  border-radius:13px;
  background:#fff;
  padding:14px;
}
.tks-intel-empty-v534 b,.tks-intel-empty-v534 span{display:block}
.tks-intel-empty-v534 b{color:#17324d;font-size:11px}
.tks-intel-empty-v534 span{margin-top:4px;color:#8a98a5;font-size:9px}
.tks-ir-list-v534{display:grid;gap:7px}
.tks-ir-row-v534{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid #e2ebef;
  border-radius:12px;
  background:#fff;
  padding:10px 11px;
}
.tks-ir-row-v534 > div{min-width:0}
.tks-ir-row-v534 span{display:block;color:#81919c;font-size:9px}
.tks-ir-row-v534 b{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17324d;
  font-size:10px;
  white-space:nowrap;
}
.tks-ir-row-v534.is-pending b{color:#a1aab2}
.tks-ir-row-v534 a{color:#2593ae;font-size:9px;font-weight:900;white-space:nowrap}
.tks-ir-row-v534 small{color:#a4afb8;font-size:8px}

/* Long-term Index / IR */
.tks-index-summary-v534{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:120px;
}
.tks-index-count-v534{
  width:100px;
  height:100px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#f0f4ff,#e4ebfc);
  border:1px solid #d7e2f8;
}
.tks-index-count-v534 strong{color:#4e70b3;font-size:30px;line-height:1}
.tks-index-count-v534 span{margin-top:5px;color:#7185aa;font-size:9px;font-weight:800}
.tks-index-mini-list-v534{display:grid;gap:6px}
.tks-index-mini-list-v534 span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  border:1px solid #e5eaf3;
  border-radius:10px;
  background:#fff;
  padding:8px 9px;
  color:#52657c;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.tks-ir-summary-grid-v534{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.tks-ir-summary-grid-v534 > div{
  min-width:0;
  border:1px solid #e4ecef;
  border-radius:11px;
  background:#fff;
  padding:9px;
}
.tks-ir-summary-grid-v534 span{display:block;color:#87939e;font-size:8px}
.tks-ir-summary-grid-v534 b{display:block;margin-top:4px;color:#17324d;font-size:9px}
.tks-ir-summary-grid-v534 .is-pending b{color:#a6afb7}
.tks-intelligence-pending-v534{
  min-height:120px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed #dce5eb;
  border-radius:14px;
  background:#fff;
  text-align:center;
}
.tks-intelligence-pending-v534 b{color:#17324d;font-size:11px}
.tks-intelligence-pending-v534 span{margin-top:5px;color:#919da8;font-size:9px}
.tks-intelligence-link-v534{
  display:inline-flex;
  margin-top:11px;
  color:#2b96b0;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}
.tks-evidence-type.is-ir{background:#eaf7fb;color:#278ca6}

@media(max-width:820px){
  .tks-intelligence-grid-v534{grid-template-columns:1fr}
}
@media(max-width:560px){
  .tks-index-memberships-v534{grid-template-columns:1fr}
  .tks-index-summary-v534{grid-template-columns:1fr}
  .tks-index-count-v534{margin:0 auto}
  .tks-ir-summary-grid-v534{grid-template-columns:1fr}
}


/* =========================================================
   TOKUSURU v0.5.35 EDINET Financial Trend Charts
   ========================================================= */
.tks-fin-trend-grid-v535{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}
.tks-fin-trend-card-v535{
  min-width:0;
  border:1px solid #dfe8ed;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);
  box-shadow:0 8px 24px rgba(29,65,86,.05);
  overflow:hidden;
}
.tks-fin-trend-head-v535{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 15px 8px;
  border-bottom:1px solid #edf2f5;
}
.tks-fin-trend-head-v535 h3{
  margin:0;
  color:#17324d;
  font-size:14px;
  line-height:1.4;
}
.tks-fin-trend-head-v535 p{
  margin:5px 0 0;
  color:#6f7f8c;
  font-size:10px;
  line-height:1.45;
}
.tks-fin-trend-head-v535 > span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef7fa;
  border:1px solid #d9ebf1;
  color:#2a91aa;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.tks-fin-chart-scroll-v535{
  width:100%;
  overflow-x:auto;
  padding:6px 6px 0;
  box-sizing:border-box;
}
.tks-fin-svg-v535{
  display:block;
  width:100%;
  min-width:520px;
  height:auto;
}
.tks-fin-gridline-v535{stroke:#e7edf1;stroke-width:1}
.tks-fin-zero-v535{stroke:#9aa8b2;stroke-width:1.2}
.tks-fin-axis-v535{
  fill:#7f8d98;
  font-size:10px;
  font-variant-numeric:tabular-nums;
}
.tks-fin-year-v535{fill:#6d7c88;font-size:10px;font-weight:700}
.tks-fin-bar-v535.is-revenue{fill:#8daebc;opacity:.88}
.tks-fin-line-v535{
  fill:none;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tks-fin-line-v535.is-gross{stroke:#4d82d9}
.tks-fin-line-v535.is-operating{stroke:#d46b43}
.tks-fin-line-v535.is-net{stroke:#e9a52a}
.tks-fin-line-v535.is-roe{stroke:#43a365}
.tks-fin-profit-bar-v535{opacity:.92}
.tks-fin-profit-bar-v535.is-operating-profit{fill:#3e79ce}
.tks-fin-profit-bar-v535.is-ordinary-profit{fill:#e66d35}
.tks-fin-profit-bar-v535.is-net-profit{fill:#e9ad39}
.tks-fin-legend-v535{
  display:flex;
  flex-wrap:wrap;
  gap:9px 14px;
  padding:0 15px 14px;
  color:#60717e;
  font-size:9px;
  font-weight:800;
}
.tks-fin-legend-v535 span{display:inline-flex;align-items:center;gap:5px}
.tks-fin-legend-v535 i{
  width:12px;height:4px;display:inline-block;border-radius:999px;
}
.tks-fin-legend-v535 i.is-revenue{height:9px;border-radius:3px;background:#8daebc}
.tks-fin-legend-v535 i.is-gross{background:#4d82d9}
.tks-fin-legend-v535 i.is-operating{background:#d46b43}
.tks-fin-legend-v535 i.is-net{background:#e9a52a}
.tks-fin-legend-v535 i.is-roe{background:#43a365}
.tks-fin-legend-v535 i.is-operating-profit{height:9px;border-radius:3px;background:#3e79ce}
.tks-fin-legend-v535 i.is-ordinary-profit{height:9px;border-radius:3px;background:#e66d35}
.tks-fin-legend-v535 i.is-net-profit{height:9px;border-radius:3px;background:#e9ad39}
.tks-fin-trend-note-v535{
  margin:-2px 0 14px;
  padding:10px 12px;
  border:1px solid #e2ebef;
  border-radius:12px;
  background:#f7fafb;
  color:#778691;
  font-size:9px;
  line-height:1.6;
}
.tks-financial-intelligence-v535 .tks-intelligence-link-v534{margin-top:8px}

@media(max-width:980px){
  .tks-fin-trend-grid-v535{grid-template-columns:1fr}
}
@media(max-width:620px){
  .tks-fin-trend-card-v535{border-radius:15px}
  .tks-fin-trend-head-v535{padding:12px}
  .tks-fin-svg-v535{min-width:500px}
  .tks-fin-legend-v535{padding:0 12px 12px}
}


/* =========================================================
   TOKUSURU v0.5.36 Financial Trend placement in Long-Term UI
   ========================================================= */
.tks-fin-inline-status-v536{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  padding:9px 11px;
  border:1px solid #dcebe5;
  border-radius:11px;
  background:#f2fbf7;
}
.tks-fin-inline-status-v536 span{
  color:#27876b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.tks-fin-inline-status-v536 b{
  color:#557068;
  font-size:9px;
  font-weight:800;
}

.tks-lt-financial-trends-v536{
  grid-column:1 / -1;
  min-width:0;
  border:1px solid #dce7ee;
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg,#f7fcfa 0%,#f8fbfd 100%);
  box-shadow:0 10px 28px rgba(24,50,77,.05);
}
.tks-lt-financial-trends-head-v536{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.tks-lt-financial-trends-head-v536 > div > span{
  display:block;
  color:#23846a;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
.tks-lt-financial-trends-head-v536 h3{
  margin:4px 0 0;
  color:#17324d;
  font-size:18px;
  line-height:1.35;
}
.tks-lt-financial-trends-head-v536 p{
  margin:5px 0 0;
  color:#73828d;
  font-size:10px;
  line-height:1.55;
}
.tks-lt-financial-trends-head-v536 > b{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border:1px solid #cfe9df;
  border-radius:999px;
  background:#ecfaf5;
  color:#218165;
  font-size:8px;
  font-weight:900;
}

.tks-fin-trend-grid-v535.is-inside-longterm-v536{
  margin:0;
}
.tks-fin-trend-grid-v535.is-inside-longterm-v536 .tks-fin-trend-card-v535{
  box-shadow:none;
}

.tks-fin-trend-empty-v536{
  min-height:245px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:18px;
  text-align:center;
}
.tks-fin-trend-empty-v536 b{
  margin-top:15px;
  color:#17324d;
  font-size:12px;
}
.tks-fin-trend-empty-v536 span{
  margin-top:5px;
  color:#87949f;
  font-size:9px;
  line-height:1.55;
}
.tks-fin-empty-chart-v536{
  width:min(310px,78%);
  height:92px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  padding:0 12px 8px;
  border-bottom:1px solid #dce8e4;
  opacity:.55;
}
.tks-fin-empty-chart-v536 i{
  width:22px;
  display:block;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#84c8b7,#53ac96);
}
.tks-fin-empty-chart-v536.is-profit i{
  background:linear-gradient(180deg,#aac0d1,#789ab4);
}

@media(max-width:980px){
  .tks-lt-financial-trends-v536{
    grid-column:auto;
  }
}
@media(max-width:640px){
  .tks-lt-financial-trends-v536{
    padding:16px 12px;
    border-radius:20px;
  }
  .tks-lt-financial-trends-head-v536{
    align-items:flex-start;
  }
  .tks-fin-trend-empty-v536{
    min-height:200px;
  }
}


/* =========================================================
   TOKUSURU v0.5.37 Price-independent screening expansion
   ========================================================= */
@media(min-width:1100px){
  .tks-lt-search-group-v529.is-benefit .tks-lt-search-fields-v529{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
.tks-lt-search-logic-v537 select{
  width:100%;
  min-height:42px;
  border:1px solid #d7e2ea;
  border-radius:12px;
  background:#fbfdfe;
  color:#17324d;
  padding:0 10px;
  font-size:12px;
  font-weight:800;
}
.tks-lt-search-logic-note-v537{
  grid-column:2;
  margin:8px 0 0;
  padding:9px 11px;
  border:1px solid #dfeaf0;
  border-radius:11px;
  background:#f8fbfd;
  color:#71818e;
  font-size:9px;
  line-height:1.55;
}
.tks-lt-search-future-v537{
  border:1px dashed #cfdde5;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fafb 0%,#f4f7f9 100%);
  padding:14px 16px;
  opacity:.86;
}
.tks-lt-search-future-head-v537{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.tks-lt-search-future-head-v537 span{
  display:block;
  color:#8a99a5;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.tks-lt-search-future-head-v537 b{
  display:block;
  margin-top:3px;
  color:#536875;
  font-size:11px;
}
.tks-lt-search-future-head-v537 em{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:#edf3f6;
  color:#738693;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
.tks-lt-search-future-fields-v537{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.tks-lt-search-future-fields-v537 label > span{
  display:block;
  margin-bottom:5px;
  color:#8796a1;
  font-size:9px;
}
.tks-lt-search-future-fields-v537 input{
  width:100%;
  min-height:37px;
  box-sizing:border-box;
  border:1px solid #dce5ea;
  border-radius:10px;
  background:#edf2f4;
  color:#9aa7af;
  padding:0 9px;
  font-size:10px;
}
.tks-lt-search-future-v537 > p{
  margin:9px 0 0;
  color:#87949d;
  font-size:9px;
  line-height:1.55;
}
@media(max-width:980px){
  .tks-lt-search-logic-note-v537{grid-column:auto}
  .tks-lt-search-future-fields-v537{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .tks-lt-search-future-fields-v537{grid-template-columns:1fr}
}


/* =========================================================
   TOKUSURU Public Surface v1.0 / PRODUCTION-002
   Progressive disclosure + ViewModel status UX
   ========================================================= */
.tks-public-state-v100{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border:1px solid #d6e3ea;
  border-radius:999px;
  background:#f6fafc;
  color:#5d7280;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  white-space:nowrap;
}
.tks-public-state-v100.is-verified{background:#edf9f4;border-color:#cfeadd;color:#19745a}
.tks-public-state-v100.is-partial_verified{background:#fff9e9;border-color:#eddfae;color:#8b6a10}
.tks-public-state-v100.is-review_required{background:#fff5e9;border-color:#efd6b5;color:#9b5c11}
.tks-public-state-v100.is-source_conflict{background:#fff1ef;border-color:#ecc9c3;color:#9b493a}
.tks-public-state-v100.is-unknown{background:#f5f7f9;border-color:#dfe5e9;color:#7c8993}

.tks-mobile-core-summary-v100{display:none}

.tks-benefit-operational-v100{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.tks-benefit-operational-v100>div{
  min-width:0;
  padding:10px;
  border:1px solid #e5ebef;
  border-radius:11px;
  background:#fafcfd;
}
.tks-benefit-operational-v100 span{
  display:block;
  color:#8996a0;
  font-size:9px;
}
.tks-benefit-operational-v100 b{
  display:block;
  margin-top:4px;
  color:#17324d;
  font-size:10px;
  overflow-wrap:anywhere;
}
.tks-longhold-structured-v100{
  display:grid!important;
  gap:9px;
}
.tks-longhold-row-v100{
  border:1px solid #e3e9ed;
  border-radius:12px;
  background:#fbfcfd;
  padding:10px;
}
.tks-longhold-chips-v100{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.tks-longhold-chips-v100 span{
  display:inline-flex!important;
  min-height:25px;
  align-items:center;
  padding:4px 8px;
  border:1px solid #dfe6ea;
  border-radius:999px;
  background:#fff;
  color:#526875;
  font-size:9px!important;
}
.tks-manual-review-v100{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin:9px 0 0;
  padding:9px 10px;
  border:1px solid #efd9b7;
  border-radius:10px;
  background:#fff8eb;
}
.tks-manual-review-v100 b{
  color:#915d0d;
  font-size:9px;
  white-space:nowrap;
}
.tks-manual-review-v100 span{
  color:#78684d!important;
  font-size:9px!important;
}

.tks-evidence-summary-v100{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
}
.tks-evidence-summary-v100>div{
  min-width:0;
  border:1px solid #dfe9ee;
  border-radius:12px;
  background:#f8fbfc;
  padding:10px;
}
.tks-evidence-summary-v100 span{
  display:block;
  color:#82919c;
  font-size:9px;
}
.tks-evidence-summary-v100 b{
  display:block;
  margin-top:4px;
  color:#17324d;
  font-size:10px;
  overflow-wrap:anywhere;
}

.tks-progressive-detail-v100{
  margin-top:10px;
  border:1px solid #dfe7ec;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.tks-progressive-detail-v100>summary{
  list-style:none;
  cursor:pointer;
  padding:11px 13px;
  color:#426273;
  background:#f8fbfc;
  font-size:10px;
  font-weight:900;
  user-select:none;
}
.tks-progressive-detail-v100>summary::-webkit-details-marker{display:none}
.tks-progressive-detail-v100>summary::after{
  content:"＋";
  float:right;
  color:#2d97b0;
  font-size:13px;
}
.tks-progressive-detail-v100[open]>summary::after{content:"－"}
.tks-progressive-detail-v100[open]>summary{
  border-bottom:1px solid #e4ebef;
}
.tks-progressive-detail-v100 .tks-evidence-list{
  padding:10px;
}
.tks-financial-detail-v100 .tks-financial-table-wrap{
  margin:0;
  border:0;
  border-radius:0;
}
.tks-sim-detail-card.tks-progressive-detail-v100{
  padding:0!important;
}
.tks-sim-detail-card.tks-progressive-detail-v100 .tks-sim-detail-wrap{
  padding:10px;
}

@media(max-width:860px){
  .tks-mobile-core-summary-v100{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin:-7px 0 14px;
  }
  .tks-mobile-core-summary-v100>div{
    min-width:0;
    border:1px solid #dfe7ec;
    border-radius:11px;
    background:#fff;
    padding:9px 10px;
  }
  .tks-mobile-core-summary-v100 span{
    display:block;
    color:#84919b;
    font-size:8px;
  }
  .tks-mobile-core-summary-v100 b{
    display:block;
    margin-top:3px;
    color:#17324d;
    font-size:10px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .tks-benefit-operational-v100{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tks-evidence-summary-v100{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .tks-benefit-operational-v100{grid-template-columns:1fr}
}


/* TOKUSURU Public Surface v1.0.1 / Publication QA Gate */
.tks-public-gate-notice-v101{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 12px;
  padding:11px 12px;
  border:1px solid #e9ddb5;
  border-radius:12px;
  background:#fff9e9;
}
.tks-public-gate-notice-v101 b{color:#825f0e;font-size:10px;white-space:nowrap}
.tks-public-gate-notice-v101 span{color:#746b55;font-size:9px;line-height:1.55}
@media(max-width:620px){
  .tks-public-gate-notice-v101{display:block}
  .tks-public-gate-notice-v101 span{display:block;margin-top:4px}
}


/* TOKUSURU Public Surface v1.0.2 / Publication State UX */
.tks-public-gate-notice-v102{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 12px;
  padding:11px 12px;
  border:1px solid #eadbb3;
  border-radius:12px;
  background:#fff9e9;
}
.tks-public-gate-notice-v102 b{
  color:#805b0d;
  font-size:10px;
  white-space:nowrap;
}
.tks-public-gate-notice-v102 span{
  color:#746954;
  font-size:9px;
  line-height:1.55;
}
.tks-public-gate-notice-v102.is-dividend{
  border-color:#d6e8ef;
  background:#f4fafc;
}
.tks-public-gate-notice-v102.is-dividend b{color:#276c81}
.tks-public-gate-notice-v102.is-partial{
  border-color:#e6dfb8;
  background:#fffbea;
}
.tks-public-gate-notice-v102.is-financial{
  border-color:#d8eadf;
  background:#f4faf7;
}
.tks-public-gate-notice-v102.is-financial b{color:#28715b}
@media(max-width:620px){
  .tks-public-gate-notice-v102{display:block}
  .tks-public-gate-notice-v102 span{display:block;margin-top:4px}
}


/* TOKUSURU Public Surface v1.0.3 / User Price Calculator UX */
.tks-calc-input-grid-v103{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
  margin-top:10px;
}
.tks-calc-input-grid-v103 label{min-width:0}
.tks-calc-input-grid-v103 .tks-label{
  display:block;
  margin:0 0 5px;
}
.tks-calc-run-v103{min-height:42px}
.tks-input-investment-v103{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:12px 0 9px;
  padding:12px 14px;
  border:1px solid #cfe5ec;
  border-radius:14px;
  background:linear-gradient(180deg,#f4fbfd 0%,#eef8fb 100%);
}
.tks-input-investment-v103 span{
  display:block;
  color:#6d8490;
  font-size:9px;
  font-weight:800;
}
.tks-input-investment-v103 b{
  display:block;
  margin-top:3px;
  color:#17324d;
  font-size:18px;
  line-height:1.2;
}
.tks-input-investment-v103 small{
  display:block;
  margin-top:3px;
  color:#78909b;
  font-size:8px;
}
.tks-input-investment-v103 em{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:#dff3f7;
  color:#34788a;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
.tks-yield-grid .tks-yield small{
  display:block;
  margin-top:4px;
  color:#82919b;
  font-size:8px;
  line-height:1.4;
}
.tks-yield-grid .tks-yield b{
  min-height:1.25em;
}
@media(max-width:760px){
  .tks-calc-input-grid-v103{
    grid-template-columns:1fr 1fr;
  }
  .tks-calc-run-v103{
    grid-column:1/-1;
    width:100%;
  }
}
@media(max-width:480px){
  .tks-calc-input-grid-v103{
    grid-template-columns:1fr;
  }
  .tks-calc-run-v103{grid-column:auto}
  .tks-input-investment-v103{
    align-items:flex-start;
  }
}


/* TOKUSURU Public Surface v1.0.4 / Public State Consistency */
.tks-verification-badge small{
  display:block;
  margin-top:3px;
  color:#8a98a2;
  font-size:7px;
  font-weight:800;
  letter-spacing:.04em;
}
.tks-benefit-partial-v104{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px 14px;
  border:1px solid #ead9aa;
  border-radius:13px;
  background:#fffaf0;
}
.tks-benefit-partial-v104 b{
  flex:0 0 auto;
  color:#88620f;
  font-size:10px;
}
.tks-benefit-partial-v104 span{
  color:#756b56;
  font-size:9px;
  line-height:1.6;
}
@media(max-width:620px){
  .tks-benefit-partial-v104{display:block}
  .tks-benefit-partial-v104 span{display:block;margin-top:5px}
}


/* TOKUSURU Public Surface v1.0.5 / Financial Public State UX */
.tks-public-gate-notice-v102.is-unknown{
  border-color:#dfe7ec;
  background:#f8fafb;
}
.tks-public-gate-notice-v102.is-unknown b{color:#5e7280}
.tks-public-gate-notice-v102.is-conflict{
  border-color:#ecc9c3;
  background:#fff3f1;
}
.tks-public-gate-notice-v102.is-conflict b{color:#984b3d}


/* TOKUSURU Public Surface v1.0.6 / No Synthetic Defaults */
.tks-score-card-v523.is-pending-v106 .tks-score-orb-v523{
  background:linear-gradient(180deg,#f4f7f9 0%,#edf2f5 100%);
  border-color:#d8e1e7;
}
.tks-score-card-v523.is-pending-v106 .tks-score-orb-v523 strong{
  color:#6f818d;
}
.tks-score-pending-note-v106{
  margin:0 0 10px;
  padding:9px 10px;
  border:1px solid #dfe7ec;
  border-radius:10px;
  background:#f8fafb;
  color:#6d7e89;
  font-size:8px;
  line-height:1.55;
}
.tks-sim-pill > small{
  display:block;
  margin-top:4px;
  color:#7e8e98;
  font-size:7px;
  line-height:1.35;
}


/* TOKUSURU Public Surface v1.0.7 / No Synthetic Visuals */
.tks-fin-trend-empty-v107{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:24px;
  text-align:center;
  border:1px dashed #d8e3e9;
  border-radius:13px;
  background:#fbfcfd;
}
.tks-fin-no-data-mark-v107{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef3f6;
  color:#8a99a3;
  font-size:22px;
  font-weight:700;
}
.tks-fin-trend-empty-v107 b{
  color:#526a77;
  font-size:10px;
}
.tks-fin-trend-empty-v107 span{
  max-width:360px;
  color:#87959e;
  font-size:8px;
  line-height:1.6;
}
.tks-sim-graph-card{
  position:relative;
}
.tks-sim-empty-v107{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:24px;
  border-radius:inherit;
  background:rgba(255,255,255,.94);
  text-align:center;
  z-index:2;
}
.tks-sim-empty-v107.is-hidden{
  display:none;
}
.tks-sim-empty-v107 b{
  color:#496675;
  font-size:11px;
}
.tks-sim-empty-v107 span{
  max-width:440px;
  color:#80919b;
  font-size:8px;
  line-height:1.6;
}
