@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--bg:#f4f6f9;--bg-soft:#eef1f5;--card:#fff;--card-hover:#fbfcfe;--line:#e6eaf0;--line-soft:#eef1f5;--text:#0f1722;--text-dim:#5b6878;--text-faint:#95a1b1;--strong:#12a06a;--buy:#1aa86c;--dips:#c98a2b;--watch:#c98a2b;--avoid:#d1495b;--neutral:#8a97a8;--strong-bg:#e6f7ef;--buy-bg:#e8f6ef;--dips-bg:#fbf3e3;--watch-bg:#fbf3e3;--avoid-bg:#fbe9ec;--neutral-bg:#eef1f5;--accent:#12a06a;--accent-bg:#e6f7ef;--mono:"JetBrains Mono",ui-monospace,monospace;--sans:"Plus Jakarta Sans",system-ui,sans-serif;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px rgba(15,23,34,.04),0 4px 16px rgba(15,23,34,.05);--shadow-hover:0 2px 4px rgba(15,23,34,.06),0 8px 28px rgba(15,23,34,.08)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}body{min-height:100vh}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{max-width:1100px;margin:0 auto;padding:0 16px 110px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(244,246,249,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:16px;justify-content:space-between}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.brand h1{font-size:16px;font-weight:800;letter-spacing:-.02em}.brand .sub{color:var(--text-faint)}.brand .sub,.topbar .stamp{font-family:var(--mono);font-size:11px}.topbar .stamp{color:var(--text-dim)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:28px 4px 16px}.section-head h2{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.section-head .meta{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.sector-block{margin-bottom:30px}.sector-title{display:flex;align-items:center;gap:10px;margin:0 4px 14px}.sector-title .name{font-size:18px;font-weight:800;letter-spacing:-.02em}.sector-title .track{font-family:var(--mono);font-size:10px;padding:3px 8px;background:var(--bg-soft);border-radius:999px;color:var(--text-dim)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:box-shadow .18s,transform .18s,border-color .18s;display:block}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);border-color:#d8dee8}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rank{font-size:11px;background:var(--bg-soft);border-radius:6px;padding:2px 7px}.rank,.sym{font-family:var(--mono);color:var(--text-faint)}.sym{font-size:12px;letter-spacing:.02em}.cname{font-size:16px;font-weight:700;letter-spacing:-.01em;margin:8px 0 2px;line-height:1.3;color:var(--text)}.scorewrap{margin-top:14px}.scorewrap .row{display:flex;align-items:flex-end;justify-content:space-between}.bigscore{font-family:var(--mono);font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.bigscore .slash{color:var(--text-faint);font-size:16px;font-weight:500}.bar{height:6px;background:var(--line-soft);overflow:hidden;margin-top:10px}.bar,.bar>i{border-radius:999px}.bar>i{display:block;height:100%}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.02em}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.strong{color:var(--strong);background:var(--strong-bg)}.pill.buy{color:var(--buy);background:var(--buy-bg)}.pill.dips{color:var(--dips);background:var(--dips-bg)}.pill.watch{color:var(--watch);background:var(--watch-bg)}.pill.avoid{color:var(--avoid);background:var(--avoid-bg)}.pill.neutral{color:var(--neutral);background:var(--neutral-bg)}.metrics{display:flex;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}.metric .k{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.metric .k,.metric .v{font-family:var(--mono)}.metric .v{font-size:14px;color:var(--text);margin-top:3px;font-weight:500}.flag{display:flex;gap:7px;align-items:flex-start;margin-top:10px;font-size:12px;color:var(--dips);background:var(--dips-bg);padding:8px 10px;border-radius:var(--radius-sm)}.flag .ico{flex:0 0 auto;margin-top:1px}.searchbar{position:relative;margin:8px 4px 4px}.searchbar input{width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px 15px 46px;color:var(--text);font-size:15px;font-family:var(--sans);outline:none;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.searchbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.searchbar input::placeholder{color:var(--text-faint)}.searchbar .mag{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-faint)}.results{margin:12px 4px;display:flex;flex-direction:column;gap:10px}.result-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;cursor:pointer;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s}.result-row:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.result-row .l{display:flex;flex-direction:column;gap:3px}.result-row .l .n{font-size:14px;font-weight:600}.result-row .l .s{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.badge{font-family:var(--mono);font-size:10px;padding:3px 8px;border-radius:999px;background:var(--bg-soft);color:var(--text-dim)}.badge.adhoc{color:var(--dips);background:var(--dips-bg)}.badge.exit{color:var(--text-faint)}.detail-head{padding:22px 4px 10px}.detail-head .sym{font-family:var(--mono);font-size:12px;color:var(--text-faint)}.detail-head h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:6px 0 12px}.detail-grid{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}@media (min-width:720px){.detail-grid{grid-template-columns:1fr 1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:14px}.kv{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line-soft)}.kv:last-child{border-bottom:none}.kv .k{color:var(--text-dim)}.kv .k,.kv .v{font-size:13px}.kv .v{font-family:var(--mono);color:var(--text);font-weight:500}.narrative{font-size:14px;line-height:1.7;color:var(--text);white-space:pre-wrap}.narrative-empty{font-size:13px;color:var(--text-faint);font-style:italic}.nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);justify-content:space-around;padding:10px 0 max(10px,env(safe-area-inset-bottom))}.nav,.nav a{display:flex}.nav a{flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--text-faint);padding:4px 18px;font-family:var(--mono);letter-spacing:.04em}.nav a.active{color:var(--accent)}.empty{text-align:center;color:var(--text-faint);padding:60px 20px;font-size:14px}.loading{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-family:var(--mono);font-size:13px;padding:40px 4px}.spin{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.notice{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--dips);border-radius:var(--radius-sm);padding:16px;font-size:13px;color:var(--text-dim);margin:12px 4px;line-height:1.6;box-shadow:var(--shadow)}.fade-in{animation:fade .4s ease both}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}