
:root{
 --bg:#09101b;--panel:#111b2a;--panel2:#162336;--ink:#f7fbff;--muted:#8fa5bc;
 --cyan:#49d7ff;--green:#4ce6a1;--yellow:#ffd95a;--red:#ff6b7d;--purple:#b88cff;
 --line:rgba(255,255,255,.08);--shadow:0 18px 50px rgba(0,0,0,.25)
}
*{box-sizing:border-box}
body{
 margin:0;background:
 radial-gradient(circle at 10% 0%,rgba(73,215,255,.10),transparent 30%),
 radial-gradient(circle at 90% 10%,rgba(184,140,255,.11),transparent 28%),
 var(--bg);
 color:var(--ink);
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif
}
a{color:inherit;text-decoration:none}.wrap{width:min(1180px,94vw);margin:auto}
header{padding:28px 0 8px}.brand{font-weight:950;font-size:1.05rem;letter-spacing:.08em}.brand span{color:var(--cyan)}
.hero{padding:30px 0 26px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:28px;align-items:center}.eyebrow{font-size:.78rem;letter-spacing:.18em;color:var(--cyan);font-weight:900}
h1{font-size:clamp(2.3rem,7vw,5.6rem);margin:.12em 0;line-height:.96;letter-spacing:-.04em}
.lead{color:var(--muted);max-width:780px;font-size:1.04rem;line-height:1.7}
.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.kpi .num{font-size:2rem;font-weight:950}.kpi .label{color:var(--muted);font-size:.84rem}
.state{display:flex;gap:24px;align-items:center}.gauge{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--yellow) calc(var(--score)*1%),rgba(255,255,255,.08) 0);position:relative}.gauge:before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--panel)}.gauge strong{position:relative;font-size:2rem}
.badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:900;background:rgba(73,215,255,.12);color:var(--cyan);border:1px solid rgba(73,215,255,.22)}
.section{padding:20px 0}.section h2{font-size:1.35rem;margin:0 0 12px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.rank{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.rank:last-child{border:0}.rankno{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.06);display:grid;place-items:center;font-weight:950}.ticker{color:var(--cyan);font-weight:900}.name{font-size:.9rem;color:var(--muted)}.score{font-size:1.35rem;font-weight:950}
.signal-high{color:var(--green)}.signal-mid{color:var(--yellow)}.signal-low{color:var(--red)}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-weight:800}
.pos{color:var(--green)}.neg{color:var(--red)}
.spark{width:100%;height:260px;display:block}.legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.83rem}
.share{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;padding:11px 16px;border-radius:999px;background:var(--cyan);color:#05111a;font-weight:950;border:0;cursor:pointer}.btn.alt{background:rgba(255,255,255,.08);color:var(--ink)}
.market-observer-art{position:relative;isolation:isolate;min-height:330px;margin:0;overflow:hidden;border:1px solid rgba(73,215,255,.24);border-radius:28px;background:radial-gradient(circle at 65% 30%,rgba(76,230,161,.19),transparent 31%),linear-gradient(145deg,#10283b,#0b1425 58%,#18213e);box-shadow:var(--shadow)}
.market-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;opacity:.55}
.market-bars{position:absolute;inset:88px 26px 44px auto;display:flex;align-items:end;gap:10px;opacity:.45}.market-bars i{display:block;width:13px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--cyan),var(--green))}.market-bars i:nth-child(1){height:49px}.market-bars i:nth-child(2){height:89px}.market-bars i:nth-child(3){height:62px}.market-bars i:nth-child(4){height:124px}.market-bars i:nth-child(5){height:76px}.market-bars i:nth-child(6){height:151px}.market-bars i:nth-child(7){height:104px}
.market-line{position:absolute;inset:28px 0 0;width:100%;height:82%;overflow:visible;z-index:1}.market-line path:first-child{stroke:var(--green);stroke-width:4;filter:drop-shadow(0 0 6px rgba(76,230,161,.8))}.market-fill{fill:url(#none);fill:rgba(76,230,161,.08)}
.market-ticker{position:absolute;z-index:3;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(9,16,27,.72);font-size:.66rem;font-weight:900;letter-spacing:.06em}.ticker-one{top:20px;right:21px;color:var(--green)}.ticker-two{bottom:46px;left:21px;color:var(--cyan)}
.observer-body{position:absolute;z-index:2;right:73px;bottom:20px;width:142px;height:156px;border:3px solid rgba(247,251,255,.86);border-radius:66px 66px 34px 34px;background:linear-gradient(145deg,#80b59f,#2d7060);box-shadow:0 12px 28px rgba(0,0,0,.25)}.observer-body:before{content:"";position:absolute;left:27px;right:27px;top:35px;border-top:2px solid rgba(255,255,255,.65);box-shadow:0 17px 0 rgba(255,255,255,.42)}.observer-body span{position:absolute;top:-22px;width:31px;height:46px;border:3px solid rgba(247,251,255,.86);border-bottom:0;border-radius:40px 40px 0 0;background:#4d8a72}.observer-body span:first-child{left:23px;transform:rotate(-20deg)}.observer-body span:last-child{right:23px;transform:rotate(20deg)}
.observer-face{position:absolute;z-index:4;right:81px;bottom:85px;width:126px;height:126px;overflow:hidden;border-radius:50%;filter:drop-shadow(0 3px 0 rgba(8,20,31,.38))}.observer-face img{width:210px;max-width:none;transform:translate(-42px,-39px);mix-blend-mode:multiply}.market-observer-art figcaption{position:absolute;z-index:5;right:17px;bottom:14px;display:flex;gap:8px;align-items:center;font-size:.61rem;font-weight:900;letter-spacing:.09em}.market-observer-art figcaption span{color:#a9c6cf}.market-observer-art figcaption b{color:#072017;background:var(--green);padding:3px 7px;border-radius:99px}
.note{padding:14px 16px;border-left:3px solid var(--yellow);background:rgba(255,217,90,.06);color:#d8cda6;border-radius:10px}
footer{padding:40px 0 60px;color:var(--muted);font-size:.82rem}
@media(max-width:850px){.hero{grid-template-columns:1fr}.market-observer-art{max-width:600px;width:100%}.g4{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}.state{align-items:flex-start}.tablewrap{overflow:auto}}
@media(max-width:520px){.hero{gap:16px}.market-observer-art{min-height:280px}.observer-body{right:55px;transform:scale(.86);transform-origin:bottom right}.observer-face{right:62px;bottom:77px;transform:scale(.86);transform-origin:bottom right}.g4{grid-template-columns:1fr 1fr}.card{padding:16px}.state{flex-direction:column}.gauge{width:112px;height:112px}h1{font-size:3.4rem}}
