.jil{--brand: #e31e26;--brand-2: #b5151c;--brand-tint: #fdecec;--head: #2e3136;--head-2: #43474e;--page: #eeeeef;--surface: #ffffff;--surface-2: #f7f7f8;--ink: #1d1f23;--ink-2: #4c5058;--muted: #80848c;--line: #e3e4e7;--line-strong: #cfd1d6;--up: #0a7f45;--up-bg: #e6f5ec;--down: #b42318;--down-bg: #fdeceb;--flat: #5f646d;--flat-bg: #eeeff1;--new-bg: #fff8e1;--radius: 10px;--shadow: 0 1px 2px rgba(20, 20, 24, .06), 0 1px 1px rgba(20, 20, 24, .03);color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.55) 38% 62%,transparent 62%) fixed,linear-gradient(160deg,#f4f4f5,#e9e9eb 55%,#f2f2f3) fixed;min-height:100vh;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}.jil *,.jil *:before,.jil *:after{box-sizing:border-box}body{margin:0;background:#eeeeef}.jil .num{font-variant-numeric:tabular-nums}.jil-header{--nav-h: 53px;position:relative;overflow:hidden;color:var(--ink);background:linear-gradient(120deg,#fff,#f6f6f7 60%,#ececee);border-bottom:1px solid var(--line-strong)}.jil-header:before,.jil-header:after{content:"";position:absolute;top:-40px;bottom:var(--nav-h);pointer-events:none;transform:skew(-38deg);border-radius:0 0 0 60px}.jil-header:before{right:-60px;width:190px;background:linear-gradient(180deg,var(--brand) 0%,var(--brand-2) 100%)}.jil-header:after{right:150px;width:26px;background:#d9d9dc;border-radius:30px}.jil-header-inner{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:14px 240px 0 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}.jil-brand{display:flex;align-items:center;gap:16px;min-width:0}.jil-logo{height:88px;width:auto;flex:none}.jil-brand-text{border-left:2px solid var(--brand);padding-left:16px;min-width:0}.jil-title{margin:0;font-size:22px;font-weight:750;letter-spacing:-.01em;color:var(--ink)}.jil-subtitle{margin:2px 0 0;font-size:13px;color:var(--ink-2)}.jil-meta{margin:6px 0 0;font-size:12px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:2px 14px}.jil-meta span{white-space:nowrap}.jil-meta span+span:before{content:"·";margin-right:14px;color:var(--muted)}.jil-meta strong{font-weight:650;color:var(--brand-2)}.jil-nav{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:10px 24px 0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.jil-nav::-webkit-scrollbar{display:none}.jil-nav a{color:var(--ink-2);text-decoration:none;white-space:nowrap;padding:9px 14px 10px;font-weight:550;font-size:14px;border-bottom:3px solid transparent}.jil-nav a:hover{color:var(--ink);border-bottom-color:var(--line-strong)}.jil-nav a[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand);font-weight:700}.jil-main{max-width:1320px;margin:0 auto;padding:20px 24px 40px}.jil-banner{background:#fff4d6;border:1px solid #f0d58a;color:#6b4d00;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.jil-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:18px}.jil-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:14px}.jil-card-title{margin:0;font-size:18px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px}.jil-card-title:before{content:"";width:4px;height:20px;border-radius:2px;background:var(--brand);flex:none}.jil-card-title .date{color:var(--ink-2);font-weight:500}.jil-card-sub{font-size:12px;color:var(--muted)}.jil-section-title{font-size:13px;font-weight:650;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;margin:6px 0 10px}.jil-group-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px;align-items:start}.jil-group-layout>*{min-width:0}@media (max-width: 1200px){.jil-group-layout{grid-template-columns:minmax(0,1fr)}}.jil-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.jil-table{width:100%;border-collapse:collapse;font-size:13.5px}.jil-table th{background:var(--head);color:#fff;font-weight:600;text-align:center;padding:8px 10px;white-space:nowrap;vertical-align:bottom;font-size:13px}.jil-table th .sub{display:block;font-weight:400;font-size:11px;opacity:.8;margin-top:1px}.jil-table th:first-child,.jil-table td:first-child{text-align:left}.jil-table td{padding:9px 10px;border-top:1px solid var(--line);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.jil-table tbody tr:hover{background:var(--surface-2)}.jil-table td.loc{font-weight:550;white-space:normal;min-width:110px}.jil-table td.price{font-weight:700;font-size:15px}.jil-table td .note{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:1px}.jil-table tr.is-new td{background:var(--new-bg)}.jil-table.sortable th{cursor:pointer;-webkit-user-select:none;user-select:none}.jil-table.sortable th:hover{background:var(--head-2)}.chg{font-weight:650}.chg.up{color:var(--up)}.chg.down{color:var(--down)}.chg.flat{color:var(--flat)}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:650}.pill.up{background:var(--up-bg);color:var(--up)}.pill.down{background:var(--down-bg);color:var(--down)}.pill.flat{background:var(--flat-bg);color:var(--flat)}.badge-new{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:.03em;background:#f5c542;color:#3d2e00;vertical-align:1px}.jil-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:4px 11px;font:inherit;font-size:12.5px;cursor:pointer;min-height:30px}.chip:hover{border-color:var(--ink-2);color:var(--ink)}.chip[aria-pressed=true]{color:var(--ink);border-color:var(--ink-2);font-weight:600}.chip .sw{width:10px;height:10px;border-radius:3px;background:transparent;border:1.5px solid var(--line-strong)}.chip[aria-pressed=true] .sw{border:none}.chip:disabled{opacity:.45;cursor:not-allowed}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}.seg button{font:inherit;font-size:12.5px;border:none;background:var(--surface);color:var(--ink-2);padding:5px 11px;cursor:pointer;min-height:30px}.seg button+button{border-left:1px solid var(--line-strong)}.seg button[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:600}.linkish{background:none;border:none;color:var(--brand-2);font:inherit;font-size:12.5px;cursor:pointer;padding:4px 2px;text-decoration:underline;text-underline-offset:2px}.jil-input,.jil-select{font:inherit;font-size:13px;border:1px solid var(--line-strong);border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--ink);min-height:34px}.btn{font:inherit;font-size:13px;font-weight:600;border-radius:8px;padding:7px 14px;cursor:pointer;border:1px solid var(--brand);background:var(--brand);color:#fff;min-height:34px}.btn.ghost{background:var(--surface);color:var(--brand)}.jil-chart{width:100%;height:300px}.jil-tooltip{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 4px 14px #0f1b2a1f;padding:8px 10px;font-size:12.5px;min-width:160px}.jil-tooltip .d{font-weight:650;margin-bottom:4px;color:var(--ink)}.jil-tooltip .r{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--ink-2)}.jil-tooltip .r span:first-child{display:inline-flex;align-items:center;gap:6px}.jil-tooltip .r b{color:var(--ink);font-variant-numeric:tabular-nums}.jil-tooltip .sw{width:10px;height:3px;border-radius:2px;display:inline-block}.jil-empty{height:300px;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:8px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px 10px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s;border-top:3px solid var(--brand)}.kpi:hover{border-color:var(--brand);box-shadow:0 3px 12px #e31e2624}.kpi-label{font-size:12.5px;color:var(--ink-2);font-weight:600}.kpi-label .loc{color:var(--muted);font-weight:500}.kpi-value{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.kpi-value .unit{font-size:12px;color:var(--muted);font-weight:500;margin-left:4px;letter-spacing:0}.kpi-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--muted)}.kpi-spark{height:44px;margin-top:4px}.kpi-foot{font-size:11px;color:var(--muted)}.movers{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 820px){.movers{grid-template-columns:1fr}}.as-launch{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:14px;font-weight:650;background:var(--head);color:#fff;border:none;border-radius:999px;padding:12px 18px;cursor:pointer;box-shadow:0 6px 20px #14141840}.as-launch:hover{background:var(--head-2)}.as-launch:focus-visible,.as-chip:focus-visible,.as-close:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.as-launch-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px #e31e264d}.as-panel{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:41;width:min(460px,calc(100vw - 40px));height:min(720px,calc(100vh - 40px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px)));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 16px 48px #14141847;overflow:hidden}.as-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);border-top:3px solid var(--brand)}.as-title{font-weight:750;font-size:15px}.as-sub{font-size:12px;color:var(--muted)}.as-head-actions{display:flex;align-items:center;gap:8px}.as-close{font:inherit;font-size:22px;line-height:1;background:none;border:none;color:var(--ink-2);cursor:pointer;padding:2px 6px;border-radius:6px}.as-close:hover{background:var(--surface-2)}.as-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px;background:var(--surface-2)}.as-empty p{margin:0 0 10px;color:var(--ink-2)}.as-suggest{display:flex;flex-direction:column;gap:6px}.as-chip{text-align:left;font:inherit;font-size:13px;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:8px 11px;cursor:pointer}.as-chip:hover{border-color:var(--brand)}.as-msg{max-width:92%}.as-msg.user{align-self:flex-end;background:var(--head);color:#fff;border-radius:12px 12px 3px;padding:8px 12px}.as-msg.user p{margin:0;white-space:pre-wrap}.as-msg.assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px 12px 12px 3px;padding:10px 13px;width:92%}.as-md p,.as-md ul,.as-md ol{margin:0 0 8px}.as-md>:last-child{margin-bottom:0}.as-md ul,.as-md ol{padding-left:20px}.as-md li{margin:2px 0}.as-md .as-h{font-weight:700}.as-status{margin:6px 0 0;font-size:12.5px;color:var(--muted);font-style:italic}.as-error{margin:6px 0 0;font-size:12.5px;color:var(--down)}.as-chart{margin:10px 0 0}.as-chart figcaption{font-size:12.5px;font-weight:650;margin-bottom:4px}.as-chart .jil-chart,.as-chart .jil-empty{height:200px}.as-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--ink-2);margin-top:4px}.as-legend i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}.as-form{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 4px;border-top:1px solid var(--line)}.as-form textarea{flex:1;resize:none;font:inherit;font-size:13.5px;border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;color:var(--ink);background:var(--surface);min-height:44px;max-height:140px}.as-form textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:transparent}.as-form .btn:disabled{opacity:.45;cursor:not-allowed}.as-foot{margin:0;padding:2px 12px 10px;font-size:11px;color:var(--muted)}@media (max-width: 640px){.as-launch{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));padding:11px 15px}.as-panel{right:0;left:0;bottom:0;width:100%;border-radius:14px 14px 0 0;height:calc(100vh - 56px - env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px)}}.ins-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.ins-layout>*{min-width:0}@media (max-width: 1000px){.ins-layout{grid-template-columns:minmax(0,1fr)}}.ins-link{color:var(--brand-2);font-weight:600;text-decoration:none}.ins-link:hover{text-decoration:underline}.ins-takeaway{border-left:4px solid var(--brand);background:var(--brand-tint);border-radius:0 8px 8px 0;padding:12px 16px;margin-bottom:18px}.ins-takeaway-label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-2)}.ins-takeaway p{margin:4px 0 0;font-size:15.5px;font-weight:600;line-height:1.5;color:var(--ink)}.ins-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.ins-point{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--surface);display:flex;flex-direction:column;gap:8px}.ins-point-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ins-point-head h3{margin:0;font-size:15.5px;font-weight:700;flex:1 1 auto}.ins-rank{width:26px;height:26px;border-radius:50%;background:var(--head);color:#fff;flex:none;display:grid;place-items:center;font-size:13px;font-weight:700}.ins-topic{font-size:11.5px;color:var(--ink-2);background:var(--flat-bg);border-radius:999px;padding:2px 9px;white-space:nowrap}.ins-dev{margin:0;color:var(--ink-2)}.ins-impl{background:var(--surface-2);border-radius:8px;padding:9px 11px;margin-top:auto}.ins-impl span{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ins-impl p{margin:2px 0 0;font-weight:550;color:var(--ink)}.ins-side .jil-card{padding:14px 16px}.ins-issues,.ins-results,.ins-focus{list-style:none;margin:0;padding:0}.ins-issues{display:flex;flex-direction:column;gap:4px;max-height:460px;overflow-y:auto}.ins-issues button,.ins-results button{width:100%;text-align:left;font:inherit;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--ink)}.ins-issues button:hover,.ins-results button:hover{background:var(--surface-2)}.ins-issues button[aria-current=true]{border-color:var(--brand);background:var(--brand-tint)}.ins-issue-name{font-weight:650}.ins-issue-date,.ins-results span{font-size:12px;color:var(--muted)}.ins-issue-take{font-size:12.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ins-results{margin-top:8px}.ins-none{color:var(--muted);font-size:13px;padding:6px 2px}.ins-focus{display:flex;flex-direction:column;gap:8px}.ins-focus li{display:grid;grid-template-columns:minmax(0,1fr) 70px 34px;gap:8px;align-items:center;font-size:12.5px}.ins-focus-label{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ins-focus-bar{height:8px;background:var(--flat-bg);border-radius:4px;overflow:hidden}.ins-focus-bar i{display:block;height:100%;background:var(--head);border-radius:4px}.ins-focus-count{text-align:right;color:var(--muted)}.pwg-grid{column-width:270px;column-gap:14px}.pwg-card{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--surface);break-inside:avoid;margin-bottom:14px}.pwg-title{font-weight:700;font-size:13px;color:var(--ink);margin-bottom:9px}.pwg-cells{display:flex;flex-wrap:wrap;gap:8px}.pwg-cell{flex:1 1 96px;min-width:96px;border-radius:6px;padding:7px 10px}.pwg-cell.pwg-up{background:var(--up-bg)}.pwg-cell.pwg-down{background:var(--down-bg)}.pwg-cell.pwg-flat{background:var(--flat-bg)}.pwg-loc{font-size:11px;color:var(--ink-2);font-weight:650}.pwg-pct{font-size:14px;font-weight:700;margin-top:2px}.pwg-cell.pwg-up .pwg-pct{color:var(--up)}.pwg-cell.pwg-down .pwg-pct{color:var(--down)}.pwg-cell.pwg-flat .pwg-pct{color:var(--flat)}.pwg-tier{font-size:10.5px;color:var(--ink-2);margin-top:3px;line-height:1.3}.kpi-insight{font-size:11.5px;color:var(--ink-2);margin-top:2px}.ins-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 18px;margin-bottom:20px;text-decoration:none;color:inherit}.ins-strip:hover{border-color:var(--brand)}.ins-strip-label{grid-column:1;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-2)}.ins-strip-text{grid-column:1;font-size:15px;font-weight:600}.ins-strip-more{grid-column:2;grid-row:1 / span 2;font-weight:650;color:var(--brand-2);white-space:nowrap}@media (max-width: 640px){.ins-strip{grid-template-columns:minmax(0,1fr)}.ins-strip-more{grid-column:1;grid-row:auto}.ins-points{grid-template-columns:minmax(0,1fr)}}.jil-footer{max-width:1320px;margin:0 auto;padding:0 24px 32px;color:var(--muted);font-size:12px}.jil-footer dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0 0}.jil-footer dt{font-weight:600;color:var(--ink-2)}.jil-footer dd{margin:0}.jil-state{display:grid;place-items:center;min-height:50vh;color:var(--ink-2);text-align:center;padding:24px}@media (max-width: 900px){.jil-header-inner{padding-right:130px}.jil-header:before{width:110px;right:-50px}.jil-header:after{right:70px;width:16px}}@media (max-width: 640px){.jil-header-inner,.jil-nav,.jil-main,.jil-footer{padding-left:16px;padding-right:16px}.jil-header-inner{padding-right:90px}.jil-header:before{width:70px;right:-40px}.jil-meta{flex-direction:column;gap:0}.jil-meta span+span:before{content:none}.jil-header:after{display:none}.jil-logo{height:48px}.jil-brand{gap:10px}.jil-brand-text{padding-left:10px}.jil-title{font-size:17px}.jil-card{padding:14px}.jil-chart,.jil-empty{height:250px}}
