@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/nfl-charts/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/nfl-charts/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/nfl-charts/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/nfl-charts/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/nfl-charts/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/nfl-charts/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/nfl-charts/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/nfl-charts/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/nfl-charts/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/nfl-charts/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(/nfl-charts/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f6f4;--surface:#fff;--surface-2:#efefec;--ink:#16171a;--ink-muted:#5d6068;--ink-faint:#8b8e96;--line:#dddcd7;--accent:#c8102e;--accent-ink:#fff;--ok:#1a7f37;--warn:#9a6700;--err:#cf222e;--code-bg:#f2f1ee;--radius:10px;--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Barlow Condensed", "Inter Variable", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111214;--surface:#1a1b1e;--surface-2:#222327;--ink:#eeeef0;--ink-muted:#a3a6ae;--ink-faint:#74777f;--line:#2e3035;--accent:#ff4d5e;--code-bg:#16171a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111214;--surface:#1a1b1e;--surface-2:#222327;--ink:#eeeef0;--ink-muted:#a3a6ae;--ink-faint:#74777f;--line:#2e3035;--accent:#ff4d5e;--code-bg:#16171a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:15px;line-height:1.5}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}code,pre{font-family:var(--mono);font-size:12.5px}.page-loading{color:var(--ink-muted);padding:40px}.btn{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 12px}.btn:hover{border-color:var(--ink-faint)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:hover{filter:brightness(1.05);border-color:var(--accent)}.btn-sm{padding:3px 8px;font-size:13px}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.mono{font-family:var(--mono)}.pill{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;display:inline-flex}.dot{background:var(--ink-faint);border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.err{background:var(--err)}.debug{max-width:1100px;margin:0 auto;padding:24px 16px}.debug textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-height:120px;font-family:var(--mono);border-radius:8px;padding:10px;font-size:13px}.checks{border-collapse:collapse;width:100%;margin:12px 0 24px}.checks td,.checks th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px;font-size:13.5px}.result-table{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-height:480px;overflow:auto}.result-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12.5px}.result-table th,.result-table td{border-bottom:1px solid var(--line);white-space:nowrap;text-align:left;padding:4px 10px}.result-table th{background:var(--surface-2);font-weight:600;position:sticky;top:0}.error-box{color:var(--err);white-space:pre-wrap;font-family:var(--mono);background:var(--code-bg);border-radius:8px;padding:10px;font-size:12.5px}.chart-view{flex-direction:column;gap:10px;display:flex}.poster-wrap{background:var(--surface-2);border-radius:12px;justify-content:center;padding:12px;display:flex}.poster-wrap .poster{border-radius:6px;width:100%;height:auto;max-height:78vh;box-shadow:0 1px 3px #0000001f,0 8px 24px #00000014}.poster-wrap.aspect-landscape .poster{max-height:60vh}.chart-view.compact .poster-wrap .poster{max-height:64vh}.poster-loading{color:var(--ink-muted);padding:80px 20px}.chart-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chart-actions .spacer{flex:1}.btn.active{background:var(--surface-2);border-color:var(--ink-faint)}.chart-editor{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 14px;padding:14px;display:grid}.chart-editor label{color:var(--ink-muted);flex-direction:column;gap:4px;font-size:12.5px;font-weight:500;display:flex}.chart-editor .wide{grid-column:1/-1}.chart-editor input,.chart-editor select,.chart-editor textarea{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:14px}.chart-editor fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.chart-editor legend{color:var(--ink-muted);padding:0 4px;font-size:12.5px}.kpi-row{grid-template-columns:1.3fr .8fr 1.3fr auto;gap:6px;margin-bottom:6px;display:grid}.gallery{max-width:1200px;margin:0 auto;padding:24px 16px 80px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:28px;display:grid}.gallery-item h3{margin:0 0 8px;font-size:15px}.gallery-item .sql{font-size:12px}@media (width<=520px){.gallery-grid{grid-template-columns:1fr}}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:.2px;align-items:center;gap:8px;margin-right:6px;font-size:24px;font-weight:800;display:flex}.brand-mark{font-size:20px}.app-header .spacer,.modal-actions .spacer{flex:1}.hdr-field select{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px 6px;font-size:13px}a.btn{color:var(--ink);text-decoration:none}.chat{flex:1;width:100%;max-width:980px;margin:0 auto;padding:24px 16px 140px}.empty{padding:7vh 0 20px}.empty h1{font-family:var(--font-display);margin:0 0 14px;font-size:clamp(36px,6vw,60px);font-weight:800;line-height:1}.examples{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:24px;display:grid}.example{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:12px 14px;line-height:1.4}.example:hover{border-color:var(--accent)}.exchange{margin:0 0 36px}.q{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:12px 16px;font-size:17px;font-weight:650}.a{flex-direction:column;gap:10px;display:flex}.a-text{color:var(--ink-muted);margin:0}.caption{margin:4px 0 8px;font-size:17px;font-weight:500}.chart-block{margin-top:6px}.thinking{color:var(--ink-faint);font-size:13px}.thinking p{white-space:pre-wrap;margin:6px 0 0}.linklike{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.working{color:var(--ink-muted);align-items:center;gap:8px;font-size:14px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.note{color:var(--ink-muted);font-size:14px}.cost-line{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12.5px}.warn-text{color:var(--warn)}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.tool-card.is-error{border-color:color-mix(in srgb, var(--err) 40%, var(--line))}.tool-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13.5px;display:flex}.tool-name{font-weight:600}.tool-summary{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chev{color:var(--ink-faint)}.tool-card pre.sql{background:var(--code-bg);border-top:1px solid var(--line);white-space:pre-wrap;margin:0;padding:10px 12px;overflow-x:auto}.tool-card .result-table{border:0;border-top:1px solid var(--line);border-radius:0;max-height:320px}.tool-card .error-box{border-radius:0}table.mini{border-collapse:collapse;width:100%;font-size:13px}table.mini td{border-top:1px solid var(--line);padding:4px 12px}.composer{background:linear-gradient(transparent, var(--bg) 30%);flex-direction:column;gap:8px;padding:12px max(16px,50vw - 474px) 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.composer-row{align-items:flex-end;gap:8px;display:flex}.attach-btn{color:var(--ink-muted);place-items:center;display:grid;padding:10px 11px!important}.attach-btn:hover{color:var(--ink)}.attachments{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.thumb{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:72px;height:72px;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb button{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:50%;width:20px;height:20px;padding:0;font-size:11px;line-height:20px;position:absolute;top:3px;right:3px}.attach-error{color:var(--err);font-size:13px}.q-images{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.q-images img{border:1px solid var(--line);border-radius:8px;max-width:280px;max-height:180px;display:block}.drop-overlay{z-index:30;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:fixed;inset:0}.drop-overlay>div{pointer-events:none;border:2px dashed var(--accent);background:var(--surface);border-radius:16px;padding:40px 56px;font-size:20px;font-weight:650}.composer textarea{resize:none;border:1px solid var(--line);background:var(--surface);border-radius:12px;flex:1;padding:12px 14px;font-size:15px;box-shadow:0 4px 20px #0000000f}.composer textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:0}.composer .btn{border-radius:10px;padding:10px 18px}.modal-backdrop{z-index:20;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;width:min(520px,100%);padding:20px 22px;box-shadow:0 20px 60px #0000004d}.modal h2{margin:0 0 8px}.modal input{border:1px solid var(--line);background:var(--bg);width:100%;font-family:var(--mono);border-radius:8px;padding:10px 12px}.modal-actions{gap:8px;margin-top:14px;display:flex}@media (width<=640px){.app-header{gap:6px}.hdr-field select{max-width:110px}.chat{padding-bottom:160px}}.history-backdrop{z-index:25;background:#00000047;position:fixed;inset:0}.history{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:10px;width:min(380px,92vw);padding:14px;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:8px 0 30px #00000026}.history-head{justify-content:space-between;align-items:center;display:flex}.history-head h2{margin:0;font-size:18px}.history-new{text-align:center}.history-search{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:8px 10px}.history ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.history li{border-radius:8px;align-items:stretch;display:flex}.history li:hover,.history li.current{background:var(--surface-2)}.history li a{color:var(--ink);flex:1;grid-template-columns:22px 1fr;column-gap:8px;min-width:0;padding:8px;text-decoration:none;display:grid}.h-icon{color:var(--ink-faint);grid-row:span 2;font-size:16px;line-height:1.3}.h-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;overflow:hidden}.h-meta{color:var(--ink-faint);font-size:12px}.h-del{cursor:pointer;opacity:0;background:0 0;border:0;padding:0 8px;font-size:14px}.history li:hover .h-del,.h-del:focus{opacity:.7}.h-del:hover{opacity:1!important}.share-modal{width:min(620px,100%)}.share-row{margin:10px 0}.share-label{margin-bottom:4px;font-size:13px;font-weight:600}.share-field{gap:6px;display:flex}.share-field input{font-family:var(--mono);flex:1;padding:7px 9px;font-size:12.5px}.small{font-size:13px}.ok-text{color:var(--ok);font-weight:600}.spinner.inline{vertical-align:-2px;margin-right:6px;display:inline-block}
