/* ============ 株レーダー 共通スタイル（プレミアムダーク × レーダー機器） ============ */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@700;900&family=Outfit:wght@600;800&display=swap');

:root{
  --bg:#05080f;
  --bg2:#0a1020;
  --card:#0d1526;
  --card2:#101a30;
  --ink:#e9eefb;
  --sub:#8d99b8;
  --line:#1b2742;
  --line2:#25335a;
  --accent:#2ee584;          /* レーダーグリーン */
  --accent-d:#19b96b;
  --accent-soft:rgba(46,229,132,.10);
  --gold:#f2b23e;
  --gold2:#ffd54a;
  --green:#2ee584;
  --green-soft:rgba(46,229,132,.10);
  --red:#f5455c;
  --red-soft:rgba(245,69,92,.10);
  --amber:#ffb454;
  --amber-soft:rgba(255,180,84,.10);
  --r:16px;
  --shadow:0 10px 32px rgba(0,0,0,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans",Meiryo,sans-serif;
  background:
    radial-gradient(900px 520px at 85% -10%, rgba(46,229,132,.07), transparent 60%),
    radial-gradient(760px 500px at -10% 30%, rgba(56,96,255,.08), transparent 55%),
    linear-gradient(180deg,#070b16 0%, var(--bg) 100%);
  background-attachment:fixed;
  color:var(--ink);line-height:1.75;
  -webkit-text-size-adjust:100%;overflow-x:clip;
}
.wrap{max-width:980px;margin:0 auto;padding:0 18px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif}

/* ---- header ---- */
.sh{position:sticky;top:0;z-index:50;background:rgba(5,8,15,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.shrow{display:flex;align-items:center;justify-content:space-between;gap:10px;height:58px}
.logo{display:flex;align-items:center;gap:9px;font-weight:900;font-size:18px;color:var(--ink);letter-spacing:.03em;font-family:'Zen Kaku Gothic New',sans-serif}
.logo:hover{text-decoration:none}
.logo img,.logo svg{width:30px;height:30px;filter:drop-shadow(0 0 6px rgba(46,229,132,.45))}
.nv{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.nv::-webkit-scrollbar{display:none}
.nv a{color:var(--sub);font-size:13px;font-weight:700;padding:7px 11px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.nv a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}
.nv a.on{background:var(--accent-soft);color:var(--accent);border-color:rgba(46,229,132,.3)}

/* ---- hero (トップ) ---- */
.hero{
  margin:28px 0 12px;border-radius:22px;padding:42px 30px;color:#dfe7fb;position:relative;overflow:hidden;
  background:
    radial-gradient(700px 360px at 88% 10%, rgba(46,229,132,.13), transparent 55%),
    linear-gradient(135deg,#0a1224 0%,#0d1730 55%,#0a1120 100%);
  border:1px solid var(--line2);
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);
}
.hero .eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--gold2);border:1px solid rgba(242,178,62,.4);border-radius:999px;padding:4px 13px;margin-bottom:16px;background:rgba(242,178,62,.06)}
.hero h1{font-size:clamp(27px,5vw,40px);font-weight:900;line-height:1.3;margin-bottom:13px;color:#fff;letter-spacing:.01em}
.hero h1 .g{color:var(--accent);text-shadow:0 0 22px rgba(46,229,132,.5)}
.hero p{color:#a4b1d4;font-size:15px;max-width:580px;position:relative;z-index:2}
.hero .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;position:relative;z-index:2}
.btn{display:inline-block;font-weight:800;font-size:14px;padding:13px 22px;border-radius:12px;border:none;cursor:pointer;text-align:center;transition:transform .12s ease,box-shadow .12s ease,opacity .12s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:scale(.98)}
.btn-gold{background:linear-gradient(135deg,#ffd970,#e8a93c);color:#2a1c04;box-shadow:0 6px 20px rgba(232,169,60,.3)}
.btn-ghost{background:rgba(255,255,255,.05);color:#dfe6fb;border:1px solid var(--line2)}
.btn-accent{background:linear-gradient(135deg,#3cf29a,#19b96b);color:#04180c;box-shadow:0 6px 20px rgba(46,229,132,.25)}

/* ---- レーダー・アニメーション（ヒーロー右） ---- */
.radar-viz{position:absolute;right:-46px;top:50%;transform:translateY(-50%);width:300px;height:300px;pointer-events:none;opacity:.9}
.radar-viz .rv-screen{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 50% 44%, rgba(31,217,124,.32), rgba(13,162,87,.16) 45%, rgba(6,92,49,.10) 72%, rgba(3,54,29,.06) 100%);
  border:2px solid rgba(46,229,132,.35);
  box-shadow:0 0 60px rgba(46,229,132,.18), inset 0 0 46px rgba(46,229,132,.12);
}
.radar-viz .rv-ring{position:absolute;border-radius:50%;border:1px solid rgba(46,229,132,.28)}
.radar-viz .rv-ring.r1{inset:24%}
.radar-viz .rv-ring.r2{inset:37.5%}
.radar-viz .rv-cross-h,.radar-viz .rv-cross-v{position:absolute;background:rgba(46,229,132,.22)}
.radar-viz .rv-cross-h{left:4%;right:4%;top:50%;height:1px}
.radar-viz .rv-cross-v{top:4%;bottom:4%;left:50%;width:1px}
.radar-viz .rv-sweep{
  position:absolute;inset:2%;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(125,255,186,.55) 0deg, rgba(125,255,186,.14) 52deg, transparent 90deg, transparent 360deg);
  animation:rvspin 4.2s linear infinite;
}
.radar-viz .rv-blip{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold2);box-shadow:0 0 12px 3px rgba(255,213,74,.55);animation:rvpulse 2.4s ease-in-out infinite}
.radar-viz .rv-blip.b1{left:63%;top:26%}
.radar-viz .rv-blip.b2{left:31%;top:60%;animation-delay:.9s}
.radar-viz .rv-blip.b3{left:66%;top:66%;width:7px;height:7px;animation-delay:1.6s}
@keyframes rvspin{to{transform:rotate(360deg)}}
@keyframes rvpulse{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.radar-viz .rv-sweep,.radar-viz .rv-blip{animation:none}}

/* ---- section ---- */
.sec{margin:46px 0}
.sec-h{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.sec-h h2{font-size:20px;font-weight:900;letter-spacing:.02em}
.sec-h h2::after{content:"";display:block;width:44px;height:3px;border-radius:2px;margin-top:7px;background:linear-gradient(90deg,var(--accent),transparent)}
.sec-h .more{font-size:13px;font-weight:700;margin-left:auto}
.sec-lead{color:var(--sub);font-size:14px;margin:-6px 0 16px}

/* ---- cards ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.card{
  background:linear-gradient(180deg,var(--card2),var(--card));
  border:1px solid var(--line);border-radius:var(--r);padding:20px;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.05);
}
a.card{color:var(--ink);display:block;transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease}
a.card:hover{text-decoration:none;transform:translateY(-3px);border-color:rgba(46,229,132,.4);box-shadow:0 14px 36px rgba(0,0,0,.5), 0 0 24px rgba(46,229,132,.08)}
.card .ci{
  display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;margin-bottom:12px;
  background:linear-gradient(145deg,#0f1c38,#0a1122);border:1px solid rgba(46,229,132,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 0 16px rgba(46,229,132,.10);
}
.ci svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(46,229,132,.5))}
.ci.gold{border-color:rgba(242,178,62,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 0 16px rgba(242,178,62,.12)}
.ci.gold svg{stroke:var(--gold2);filter:drop-shadow(0 0 5px rgba(255,213,74,.5))}
.ci.red{border-color:rgba(255,93,110,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 0 16px rgba(255,93,110,.12)}
.ci.red svg{stroke:var(--red);filter:drop-shadow(0 0 5px rgba(255,93,110,.5))}
.nvi{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2.5px;margin-right:5px}
.h1i{width:31px;height:31px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-5px;margin-right:9px;filter:drop-shadow(0 0 7px rgba(46,229,132,.5))}
.h1i.gold{stroke:var(--gold2);filter:drop-shadow(0 0 7px rgba(255,213,74,.5))}
.h1i.red{stroke:var(--red);filter:drop-shadow(0 0 7px rgba(255,93,110,.5))}
.bti{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:6px}
.card h3{font-size:15.5px;font-weight:800;margin-bottom:6px;color:#fff}
.card p{font-size:13px;color:var(--sub);line-height:1.65}
.tile3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}

/* ---- 計算ページ共通 ---- */
.page-h{margin:32px 0 8px}
.page-h h1{font-size:clamp(22px,4.5vw,30px);font-weight:900;line-height:1.35;color:#fff}
.page-h .lead{color:var(--sub);font-size:14.5px;margin-top:9px;max-width:680px}
.calc{
  background:linear-gradient(180deg,var(--card2),var(--card));
  border:1px solid var(--line);border-radius:var(--r);padding:24px 20px;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.05);margin:20px 0;
}
.calc h2{font-size:15px;font-weight:800;margin-bottom:16px;color:var(--gold2);letter-spacing:.05em}
.f{margin-bottom:16px}
.f label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;color:#c6cfe6}
.f label small{color:var(--sub);font-weight:500;margin-left:6px}
.f input[type=number],.f input[type=text],.f select{
  width:100%;font-size:16px;padding:12px 13px;border:1.5px solid var(--line2);border-radius:11px;
  background:#0a1122;color:#fff;font-weight:700;font-family:'Outfit','Inter',sans-serif;font-variant-numeric:tabular-nums;
  transition:border-color .15s, box-shadow .15s;
}
.f input:focus,.f select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,229,132,.14)}
.f select{font-family:'Inter','Noto Sans JP',sans-serif;font-size:14.5px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.frow{grid-template-columns:1fr}}
.calc .go{width:100%;margin-top:6px;font-size:15px}

/* ---- 結果 ---- */
.res{display:none;margin-top:20px;border-top:1.5px dashed var(--line2);padding-top:20px}
.res.show{display:block;animation:fadein .3s ease}
@keyframes fadein{from{opacity:0;transform:translateY(5px)}to{opacity:1}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.stat{background:#0a1122;border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.stat .k{font-size:11.5px;color:var(--sub);font-weight:700}
.stat .v{font-size:21px;font-weight:800;letter-spacing:.01em;color:#fff;font-family:'Outfit','Inter',sans-serif;font-variant-numeric:tabular-nums}
.stat .v small{font-size:12px;color:var(--sub);font-weight:700;margin-left:2px}
.v.good{color:var(--green)}
.v.bad{color:var(--red)}
.v.warn{color:var(--amber)}
.verdict{border-radius:13px;padding:15px 17px;font-size:14.5px;font-weight:600;line-height:1.75;margin-top:6px}
.verdict.ok{background:var(--green-soft);color:#bff5d6;border:1px solid rgba(46,229,132,.4)}
.verdict.ng{background:var(--red-soft);color:#ffc4cb;border:1px solid rgba(255,93,110,.4)}
.verdict.mid{background:var(--amber-soft);color:#ffe0b8;border:1px solid rgba(255,180,84,.4)}
.verdict .vt{font-size:16px;font-weight:900;display:block;margin-bottom:5px;font-family:'Zen Kaku Gothic New',sans-serif}
.verdict.ok .vt{color:#5dffab}.verdict.ng .vt{color:#ff8b98}.verdict.mid .vt{color:#ffcb7d}
.verdict a{font-weight:800}

/* ---- 解説 ---- */
.article{margin:34px 0;max-width:720px}
.article h2{font-size:18px;font-weight:900;margin:30px 0 12px;padding-left:13px;border-left:4px solid var(--accent);color:#fff}
.article p{font-size:15px;line-height:1.9;margin-bottom:13px;color:#c6cfe4}
.article ul,.article ol{font-size:15px;line-height:1.9;margin:0 0 13px 22px;color:#c6cfe4}
.article li{margin-bottom:6px}
.article b{color:#e9eefb}
.note{background:rgba(46,229,132,.06);border:1px solid rgba(46,229,132,.25);border-radius:13px;padding:15px 17px;font-size:13.5px;margin:15px 0;color:#c4cee8}
.note b{color:#e9eefb}
.note.warn{background:var(--amber-soft);border-color:rgba(255,180,84,.35);color:#ffe3c0}
.note.warn b{color:#ffcb7d}
.jitsudan{
  background:linear-gradient(135deg,#101a30,#0b1324);color:#c4cdea;border-radius:var(--r);padding:19px 21px;margin:18px 0;
  border:1px solid rgba(242,178,62,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.jitsudan .jt{color:var(--gold2);font-weight:900;font-size:13px;letter-spacing:.06em;margin-bottom:7px;font-family:'Zen Kaku Gothic New',sans-serif}
.jitsudan p{font-size:14px;color:#b9c3dd;margin:0}
.jitsudan b{color:#e9eefb}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px;margin:12px 0;color:#c4cee8;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{border:1px solid var(--line);padding:9px 10px;text-align:center}
.tbl th{background:#0a1122;font-weight:800;color:#dfe6fb}
.tbl tr:nth-child(even) td{background:rgba(255,255,255,.018)}
.tbl-scroll{overflow-x:auto}

/* ---- 関連 ---- */
.rel{margin:30px 0}
.rel h2{font-size:16px;font-weight:900;margin-bottom:12px;color:#fff}
.rel-links{display:flex;flex-wrap:wrap;gap:8px}
.rel-links a{background:var(--card2);border:1px solid var(--line2);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;color:#c6cfe6;transition:border-color .14s,color .14s}
.rel-links a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.bookbox{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:var(--r);padding:17px;margin:14px 0}
.bookbox .bi{font-size:26px}
.bookbox .bt{font-size:14px;font-weight:800;color:#fff}
.bookbox p{font-size:13px;color:var(--sub);margin:4px 0 8px}
.bookbox a.bk{font-size:13px;font-weight:800;color:var(--gold2)}

/* ---- カレンダー(radar) ---- */
.nextbig{
  background:
    radial-gradient(480px 240px at 85% 0%, rgba(46,229,132,.14), transparent 60%),
    linear-gradient(135deg,#0c1528,#0a1120);
  border:1px solid var(--line2);color:#fff;border-radius:20px;padding:28px 24px;margin:18px 0;position:relative;overflow:hidden;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);
}
.nextbig .nb-label{color:var(--accent);font-size:12.5px;font-weight:900;letter-spacing:.12em;margin-bottom:9px}
.nextbig .nb-title{font-size:clamp(20px,4.5vw,28px);font-weight:900}
.nextbig .nb-count{font-size:clamp(32px,7vw,50px);font-weight:800;color:var(--gold2);line-height:1.2;margin:7px 0;font-family:'Outfit',sans-serif;text-shadow:0 0 28px rgba(255,213,74,.35)}
.nextbig .nb-date{color:#8d99b8;font-size:14px;font-weight:700}
.evlist{list-style:none;margin:14px 0}
.evlist li{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:8px}
.evlist .ed{min-width:86px;font-weight:800;font-size:14px;color:#fff;font-family:'Outfit','Noto Sans JP',sans-serif}
.evlist .edays{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(46,229,132,.25);border-radius:999px;padding:4px 11px;white-space:nowrap}
.evlist .et{font-size:14px;font-weight:700;color:#dfe6fb}
.evlist .etime{font-size:12px;color:var(--sub)}
.tag{display:inline-block;font-size:10.5px;font-weight:900;border-radius:6px;padding:2px 7px;margin-right:6px;vertical-align:1px}
.tag.us{background:rgba(90,140,255,.16);color:#8fb0ff;border:1px solid rgba(90,140,255,.3)}
.tag.jp{background:rgba(255,93,110,.14);color:#ff9aa5;border:1px solid rgba(255,93,110,.3)}
.tag.sq{background:rgba(190,120,255,.14);color:#cf9fff;border:1px solid rgba(190,120,255,.3)}
.tvbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);margin:16px 0}

/* ---- 地合い判定(radar) ---- */
.regime{border-radius:20px;padding:26px 24px;margin:18px 0;border:1px solid var(--line2);position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0c1528,#0a1120);box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06)}
.regime .rg-label{font-size:12.5px;font-weight:900;letter-spacing:.12em;color:var(--sub);margin-bottom:10px}
.regime .rg-label .live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:7px;box-shadow:0 0 8px var(--accent);animation:rvpulse 2s ease-in-out infinite;vertical-align:1px}
.regime .rg-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.regime .rg-word{font-size:clamp(30px,6.5vw,44px);font-weight:800;font-family:'Outfit','Zen Kaku Gothic New',sans-serif;letter-spacing:.02em;line-height:1.1}
.regime .rg-jp{font-size:14.5px;font-weight:800;padding:6px 14px;border-radius:999px;border:1px solid}
.regime .rg-desc{color:#a4b1d4;font-size:14px;margin-top:12px;max-width:640px}
.regime .rg-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.regime .rg-stat{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:11px;padding:9px 14px;font-size:12px;color:var(--sub);font-weight:700}
.regime .rg-stat b{display:block;font-size:16.5px;color:#fff;font-family:'Outfit',sans-serif;font-variant-numeric:tabular-nums;font-weight:800}
.regime.rg-BULLISH .rg-word{color:var(--green);text-shadow:0 0 26px rgba(46,229,132,.4)}
.regime.rg-BULLISH .rg-jp{color:#5dffab;border-color:rgba(46,229,132,.4);background:rgba(46,229,132,.08)}
.regime.rg-NEUTRAL .rg-word{color:#9db4e8;text-shadow:0 0 26px rgba(140,170,255,.3)}
.regime.rg-NEUTRAL .rg-jp{color:#a9bdf0;border-color:rgba(140,170,255,.35);background:rgba(140,170,255,.07)}
.regime.rg-BEARISH .rg-word{color:var(--amber);text-shadow:0 0 26px rgba(255,180,84,.35)}
.regime.rg-BEARISH .rg-jp{color:#ffcb7d;border-color:rgba(255,180,84,.4);background:rgba(255,180,84,.07)}
.regime.rg-PANIC .rg-word{color:var(--red);text-shadow:0 0 26px rgba(245,69,92,.4)}
.regime.rg-PANIC .rg-jp{color:#ff8b98;border-color:rgba(245,69,92,.4);background:rgba(245,69,92,.08)}
.regime .rg-note{font-size:11.5px;color:#5a6480;margin-top:14px}
/* AI分析ページ用のスタンス色 */
.regime.st-attack .rg-word{color:var(--green);text-shadow:0 0 26px rgba(46,229,132,.4)}
.regime.st-attack .rg-jp{color:#5dffab;border-color:rgba(46,229,132,.4);background:rgba(46,229,132,.08)}
.regime.st-neutral .rg-word{color:#9db4e8;text-shadow:0 0 26px rgba(140,170,255,.3)}
.regime.st-neutral .rg-jp{color:#a9bdf0;border-color:rgba(140,170,255,.35);background:rgba(140,170,255,.07)}
.regime.st-defense .rg-word{color:var(--amber);text-shadow:0 0 26px rgba(255,180,84,.35)}
.regime.st-defense .rg-jp{color:#ffcb7d;border-color:rgba(255,180,84,.4);background:rgba(255,180,84,.07)}
.ai-flow{list-style:none;margin:14px 0}
.ai-flow li{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:9px}
.ai-flow .ft-t{font-weight:900;font-size:14.5px;color:#fff;margin-bottom:3px}
.ai-flow .ft-b{font-size:13.5px;color:#b9c3dd}
.sector-chips{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.schip{border-radius:12px;padding:11px 15px;font-size:13px;border:1px solid;max-width:100%}
.schip .sn{font-weight:900;font-size:14px;display:block;margin-bottom:2px}
.schip .sr{font-size:12.5px;opacity:.85}
.schip.up{background:rgba(46,229,132,.08);border-color:rgba(46,229,132,.35);color:#bff5d6}
.schip.up .sn{color:#5dffab}
.schip.down{background:rgba(245,69,92,.08);border-color:rgba(245,69,92,.35);color:#ffc4cb}
.schip.down .sn{color:#ff8b98}
.schip.watch{background:rgba(255,180,84,.08);border-color:rgba(255,180,84,.35);color:#ffe0b8}
.schip.watch .sn{color:#ffcb7d}
.ai-history details{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--card)}
.ai-history summary{cursor:pointer;padding:13px 16px;font-weight:700;font-size:13.5px;list-style:none;display:flex;gap:10px;align-items:center}
.ai-history summary::-webkit-details-marker{display:none}
.ai-history .hs-date{font-family:'Outfit',sans-serif;color:var(--sub);font-weight:800}
.ai-history .hs-badge{font-size:11px;font-weight:900;border-radius:999px;padding:2px 9px;border:1px solid}
.ai-history .hs-badge.attack{color:#5dffab;border-color:rgba(46,229,132,.4)}
.ai-history .hs-badge.neutral{color:#a9bdf0;border-color:rgba(140,170,255,.4)}
.ai-history .hs-badge.defense{color:#ffcb7d;border-color:rgba(255,180,84,.4)}
.ai-history .hbody{padding:0 16px 14px;font-size:13.5px;color:#b9c3dd}
/* 投機筋ポジション(COT) */
.cot-list{list-style:none;margin:14px 0}
.cot-row{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:13px;padding:15px 17px;margin-bottom:10px}
.cot-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.cot-name{font-weight:900;font-size:15px;color:#fff}
.cot-net{font-family:'Outfit',sans-serif;font-weight:800;font-size:17px;font-variant-numeric:tabular-nums}
.cot-net.pos{color:var(--green)}.cot-net.neg{color:var(--red)}
.cot-chg{margin-left:auto;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;border:1px solid;white-space:nowrap}
.cot-chg.pos{color:#5dffab;border-color:rgba(46,229,132,.35);background:rgba(46,229,132,.07)}
.cot-chg.neg{color:#ff8b98;border-color:rgba(245,69,92,.35);background:rgba(245,69,92,.07)}
.cot-bar{position:relative;height:14px;border-radius:99px;background:#0a1122;border:1px solid var(--line);overflow:hidden}
.cot-bar .mid{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line2)}
.cot-bar .fill{position:absolute;top:2px;bottom:2px;border-radius:99px}
.cot-bar .fill.pos{left:50%;background:linear-gradient(90deg,rgba(46,229,132,.9),rgba(46,229,132,.45))}
.cot-bar .fill.neg{right:50%;background:linear-gradient(270deg,rgba(245,69,92,.9),rgba(245,69,92,.45))}
.cot-sub{display:flex;gap:14px;font-size:11.5px;color:var(--sub);margin-top:7px;font-variant-numeric:tabular-nums;flex-wrap:wrap}
.cot-read{font-size:12.5px;color:#c4cee8;margin-top:7px}
.cot-read b{color:#e9eefb}
/* 自作 日本株ヒートマップ */
.hm-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--sub);margin:10px 0;font-variant-numeric:tabular-nums}
.hm-meta b{color:#fff}
.hm-sector{margin-bottom:14px}
.hm-sh{display:flex;align-items:baseline;gap:9px;margin-bottom:6px}
.hm-sh .sname{font-weight:900;font-size:13px;color:#dfe6fb}
.hm-sh .savg{font-size:11.5px;font-weight:800;font-family:'Outfit',sans-serif}
.hm-tiles{display:flex;flex-wrap:wrap;gap:4px}
.hm-tile{border-radius:7px;padding:6px 8px;min-width:86px;flex:1 1 auto;max-width:150px;line-height:1.3;cursor:default;border:1px solid rgba(255,255,255,.05)}
.hm-tile.big{min-width:118px}
.hm-tile .tn{font-size:11px;font-weight:800;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-tile .tc{font-size:12.5px;font-weight:800;font-family:'Outfit',sans-serif;font-variant-numeric:tabular-nums}
.hm-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--sub);margin-top:10px}
.hm-legend span{width:26px;height:12px;border-radius:3px;display:inline-block}
/* Powered by Claude */
.ai-model{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#101a30,#0b1324);border:1px solid rgba(140,170,255,.3);border-radius:var(--r);padding:17px 19px;margin:16px 0}
.ai-model .am-logo{font-size:26px}
.ai-model .am-t{font-size:14px;font-weight:900;color:#fff;margin-bottom:4px}
.ai-model p{font-size:13px;color:#b9c3dd;margin:0}
.ai-model b{color:#dfe6fb}
.comingsoon{border:1.5px dashed var(--line2);border-radius:var(--r);padding:22px;background:rgba(255,255,255,.02);margin:16px 0}
.comingsoon .cs-badge{display:inline-block;background:linear-gradient(135deg,#3cf29a,#19b96b);color:#04180c;font-size:11px;font-weight:900;border-radius:999px;padding:3px 11px;margin-bottom:9px}
.comingsoon h3{font-size:16px;font-weight:900;margin-bottom:6px;color:#fff}
.comingsoon p{font-size:13.5px;color:var(--sub)}

/* ---- footer ---- */
.ft{margin-top:60px;border-top:1px solid var(--line);background:rgba(255,255,255,.015);padding:32px 0 44px}
.ft-disc{font-size:12.5px;color:var(--sub);margin-bottom:14px;line-height:1.8}
.ft-links{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;font-weight:700;margin-bottom:12px}
.ft-links a{color:#c6cfe6}
.ft-family{font-size:12.5px;color:var(--sub);margin-bottom:14px}
.ft-family a{margin-right:10px}
.cp{font-size:12px;color:#5a6480}

@media(max-width:720px){
  .radar-viz{width:210px;height:210px;right:-58px;opacity:.45}
}
@media(max-width:640px){
  .hero{padding:30px 20px}
  .nv a{padding:7px 8px;font-size:12px}
}
