@import url('/static/fonts.css');
:root{--bg:#f5f6f3;--ink:#202c29;--muted:#7c8782;--green:#28745a;--line:#e5e9e3;--panel:#fff;--dark:#192d28;--lime:#d3ef99}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #83ba9c;outline-offset:3px}input,select{width:100%;height:42px;border:1px solid #dce3dc;background:white;border-radius:7px;padding:0 12px;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #28745a12}label{display:block;font-size:12px;font-weight:600;color:#637169}label input,label select{display:block;margin-top:7px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:6px;font-weight:650}h2{font-size:18px;font-weight:650;margin:0}h3{font-size:14px}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#8c9991;margin-bottom:8px}.primary,.secondary,.ghost{border-radius:7px;min-height:40px;padding:9px 17px;font-size:13px;font-weight:550}.primary{background:var(--green);color:white}.primary:hover{background:#205e49}.secondary{border:1px solid var(--line);background:white;color:#42574b}.secondary:hover{background:#f3f6ef}.ghost{background:transparent;color:#bbd1c4;padding-left:0}.pill{display:inline-block;font-size:10px;padding:3px 10px;letter-spacing:.6px;color:var(--green);background:#eaf3e5;border-radius:20px;vertical-align:middle}.error{color:#ae463e;font-size:13px;min-height:0}.error:empty{display:none}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:12px;color:#edf4ed;font-weight:600;font-size:12px;letter-spacing:1.6px;line-height:1.3}.brand small{font-size:8px;font-weight:400;letter-spacing:2.4px;color:#8da798}.brand-mark{display:grid;place-items:center;background:var(--lime);color:#234734;width:34px;height:36px;border-radius:10px 10px 10px 2px;font-size:25px;font-weight:700;font-family:Georgia,serif}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{padding:50px 11%;background:var(--dark);color:#f5f7ef;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-story h1{font-size:48px;line-height:1.4;letter-spacing:1px;margin:22px 0}.login-story p:not(.eyebrow){color:#a8bbb0;line-height:1.9}.login-story small{color:#819a8c;font-size:11px}.orbit{position:relative;height:170px;margin-top:35px}.orbit i{position:absolute;width:240px;height:110px;border:1px solid #54725b;border-radius:50%;transform:rotate(-22deg)}.orbit i:nth-child(2){transform:rotate(22deg);left:40px;top:20px}.orbit i:nth-child(3){transform:rotate(60deg);left:25px;top:10px}.orbit b{position:absolute;left:125px;top:20px;font-size:80px;color:var(--lime);font-weight:300}.login-form{display:grid;place-items:center;padding:35px}.login-form>div{width:100%;max-width:350px}.login-form h2{font-size:27px;margin-top:20px;margin-bottom:10px}.login-form label{margin-top:22px}.login-form input{height:48px}.login-form .primary{width:100%;height:48px;margin-top:24px;text-align:left}.login-form .primary span{float:right}.login-note{font-size:11px;color:#8b958e;margin-top:25px;line-height:1.9}aside{position:fixed;inset:0 auto 0 0;width:214px;background:var(--dark);padding:32px 23px;display:flex;flex-direction:column;z-index:10}.nav-label{color:#668779;font-size:10px;letter-spacing:1.8px;margin:50px 12px 12px}.nav{display:flex;gap:13px;padding:12px;color:#9bb5a7;text-decoration:none;border-radius:7px;font-size:16px;margin-bottom:8px}.nav span{font-size:13px}.nav.active{background:#314b3d;color:#deedc8}.sidebar-bottom{margin-top:auto;font-size:11px;color:#799b89}.sidebar-bottom p{margin:16px 0 0;color:#d4e0d6;font-size:13px}.live-dot{display:inline-block;width:6px;height:6px;background:#a4d879;border-radius:50%;margin-right:7px}main{margin-left:214px;padding:34px 40px 20px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header h1 .pill{margin-left:15px}header p.muted{font-size:12px;margin:0}.header-actions{display:flex;align-items:center;gap:14px;font-size:11px}.filters{background:white;border:1px solid var(--line);border-radius:10px;padding:17px 20px;display:flex;align-items:end;gap:14px;margin-bottom:24px}.filters label{min-width:130px}.filters #model{max-width:210px}.filters .search{flex:1}.filters .primary{height:42px;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metrics article{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:21px 22px}.metrics article>span{color:#69796e;font-size:12px}.metrics strong{display:block;font-size:34px;line-height:1.4;letter-spacing:-1.2px;margin-top:12px;font-weight:600;font-variant-numeric:tabular-nums}.metrics small{color:#98a197;font-size:10px}.metric-symbol{position:absolute;right:20px;top:18px;color:#628067;background:#f1f5eb;border-radius:7px;min-width:30px;height:30px;display:grid;place-items:center;font-size:14px}.card{padding:23px;border:1px solid var(--line);border-radius:10px;background:white;min-width:0}.chart-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.section-head .eyebrow{margin-bottom:3px}.section-head>.muted{font-size:11px}.legend{font-size:10px;color:#7c8980;white-space:nowrap}.legend i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px}.trend-chart{height:210px;padding-top:10px}.trend-chart svg{width:100%;height:100%;overflow:visible}.axis-labels{display:flex;justify-content:space-between;font-size:10px;color:#94a093;padding:0 5px}.bars{max-height:237px;overflow:auto;padding-right:2px}.bar-row{margin-bottom:19px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:7px}.bar-label span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track{height:6px;border-radius:4px;background:#eff3e9}.track div{height:100%;background:#80a67a;border-radius:4px}.repeat-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #f0f2ed;padding:12px 0;cursor:pointer}.repeat-row:last-child{border:0}.repeat-rank{color:#a0afa1;font-size:12px}.repeat-text{font-size:12px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;overflow-wrap:anywhere}.repeat-count{background:#f0f5e9;color:#638253;border-radius:5px;padding:2px 8px;font-size:11px;white-space:nowrap}.keywords{display:flex;flex-wrap:wrap;gap:9px;align-content:start;min-height:160px}.word{border:1px solid #e7ede0;background:#f6f8f1;color:#54704d;border-radius:6px;padding:5px 9px;font-size:12px}.word span{font-size:10px;color:#93a18c;margin-left:7px}.word:hover{border-color:#91ad7f}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;color:#9aa598;font-size:12px;text-align:center}.empty b{font-size:25px;color:#b6c8ad;font-weight:400;margin-bottom:12px}.records{scroll-margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;letter-spacing:.5px;background:#f8faf5;padding:11px 12px;color:#8a9988;font-weight:500;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid #edf0e9}td:first-child{width:135px;font-size:11px;white-space:nowrap;color:#7f8f7d}td:nth-child(2){max-width:230px;width:210px;overflow-wrap:anywhere}td:nth-child(3){min-width:240px}td:nth-child(4){font-variant-numeric:tabular-nums;color:#7b8b76;text-align:right;white-space:nowrap}.source-tag{font-size:9px;color:#6e8762;display:block;margin-bottom:3px}.preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.8;overflow-wrap:anywhere}tbody tr{cursor:pointer}tbody tr:hover{background:#fafcf7}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:11px}.pagination button{font-size:11px;min-height:33px;padding:6px 10px;margin-left:7px}.about{padding:28px 4px 10px;scroll-margin-top:20px;color:#8b9687;font-size:11px;line-height:1.9}.about h3{color:#687960;margin-bottom:8px;font-size:12px}.about p{margin-bottom:7px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#9ba594;font-size:10px;padding-top:18px;margin-top:14px}dialog{border:0;border-left:1px solid var(--line);padding:30px;width:min(700px,95vw);height:100vh;max-height:100vh;margin:0 0 0 auto;box-shadow:-12px 0 80px #172b2720;overflow:auto}dialog::backdrop{background:#152d2760;backdrop-filter:blur(2px)}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}dialog pre{font:12px/1.9 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f2;padding:17px;border-radius:7px;max-height:45vh;overflow:auto;border:1px solid #e8ede2}dialog h3{margin-top:22px}.role{font-size:10px;font-weight:600;letter-spacing:1px;color:#758d65}
@media(min-width:1700px){main{padding-left:65px;padding-right:65px}}@media(max-width:1200px){aside{width:180px;padding:28px 16px}main{margin-left:180px;padding:25px}.filters{flex-wrap:wrap}.filters label{flex:1}.filters .search{min-width:210px}.metrics{gap:12px}.metrics article{padding:17px}.metrics strong{font-size:30px}.metric-symbol{display:none}.chart-grid{grid-template-columns:1.4fr 1fr}.header-actions #updated{display:none}}@media(max-width:800px){aside{position:static;width:100%;height:65px;padding:12px 20px;flex-direction:row;justify-content:space-between;align-items:center}.brand{font-size:10px}.brand small{font-size:7px}.brand-mark{width:29px;height:31px;font-size:22px}.nav-label,.nav{display:none}.sidebar-bottom{margin:0;display:flex;align-items:center;gap:12px}.sidebar-bottom .live-dot,.sidebar-bottom>p{display:none}.sidebar-bottom .ghost{padding:0;font-size:11px}.sidebar-bottom{font-size:0}.sidebar-bottom button{font-size:12px}main{margin:0;padding:22px 16px}header h1{font-size:25px}header .eyebrow{font-size:8px}header{margin-bottom:20px}.metrics{grid-template-columns:repeat(2,1fr);gap:12px}.chart-grid,.detail-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.card{padding:19px}.filters{padding:14px;gap:12px}.filters label{min-width:calc(50% - 12px)}.filters #model{max-width:none}.filters .search{min-width:100%}.filters .primary{width:100%}.trend-chart{height:190px}.keywords{min-height:80px}.login-shell{grid-template-columns:1fr}.login-story{padding:23px 26px;min-height:210px}.login-story>div:nth-child(2){padding-top:25px}.login-story h1{font-size:27px;margin:0 0 5px}.login-story h1 br{display:none}.login-story .eyebrow,.login-story p:not(.eyebrow),.login-story small,.orbit{display:none}.login-form{padding:35px 25px}.login-form h2{font-size:23px}.pagination{gap:12px}.pagination>div{white-space:nowrap}footer span{display:none}}
.table-wrap{max-height:620px}thead th{position:sticky;top:0;z-index:1}.records .pagination{padding-top:4px}
