:root{--bg:#f5f7fb;--paper:#fff;--ink:#14243e;--muted:#748099;--line:#e6ebf3;--teal:#009f99;--blue:#3e63e9;--purple:#8962de;--amber:#e4a141;--red:#d66565;--shadow:0 9px 32px #1d34600a;--radius:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);margin:0;font:14px/1.62 -apple-system,BlinkMacSystemFont,Segoe UI,Tahoma,Arial,sans-serif}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #88deda}button:disabled{opacity:.4;cursor:default}#app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;width:244px;padding:25px 15px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 10px 24px;display:flex}.brand-icon{color:#fff;background:linear-gradient(135deg,#00aaa6,#1475b9);border-radius:12px;place-items:center;width:38px;height:38px;font-size:19px;font-weight:800;display:grid}.brand b{font-size:15px;line-height:1.25;display:block}.brand small{color:var(--muted);font-size:11px}.nav-label{color:#9aa4b5;letter-spacing:1.2px;text-transform:uppercase;padding:15px 13px 7px;font-size:10px;font-weight:800}.nav{text-align:left;color:#596880;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:12px 13px;font-weight:600;display:flex}.nav:hover{background:#f4f7fb}.nav.active{color:#087a79;background:#eaf8f7}.nav .sym{text-align:center;width:21px;font-size:18px}.sidebar-bottom{color:#596a80;background:#f4f8fb;border-radius:14px;margin-top:auto;padding:14px;font-size:12px}.sidebar-bottom b{color:#243752;margin-bottom:3px;display:block}.main{width:calc(100% - 244px);min-width:0;margin-left:244px}.header{justify-content:space-between;align-items:center;gap:15px;padding:26px 34px 13px;display:flex}.eyebrow{letter-spacing:.95px;color:var(--teal);text-transform:uppercase;font-size:11px;font-weight:800}.header h1{letter-spacing:-.6px;margin:4px 0;font-size:26px;line-height:1.25}.header p{color:var(--muted);margin:0;font-size:13px}.header-right{align-items:center;gap:8px;display:flex}.pill{color:#9a650f;white-space:nowrap;background:#fff2d9;border-radius:100px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:750;display:inline-flex}.pill-dot{background:#dfa63e;border-radius:50%;width:6px;height:6px}.icon-btn{border:1px solid var(--line);color:#53657d;background:#fff;border-radius:11px;padding:9px 12px}.filters{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px;flex-wrap:wrap;align-items:end;gap:12px;margin:0 34px 20px;padding:13px 16px;display:flex}.filter-group{flex-direction:column;gap:4px;min-width:125px;display:flex}.filter-group label{color:var(--muted);font-size:11px;font-weight:750}.filter-group select{color:#33445d;background:#fff;border:1px solid #dfe6ef;border-radius:9px;max-width:200px;min-height:37px;padding:8px 24px 8px 10px}.filter-end{margin-left:auto}.subtle-button{color:#547081;white-space:nowrap;background:#f4f8fc;border:0;border-radius:9px;padding:9px 12px;font-weight:750}.subtle-button:hover{background:#eaf1f9}.content{max-width:1650px;padding:0 34px 60px}.intro{justify-content:space-between;align-items:center;gap:15px;margin:4px 0 16px;display:flex}.intro h2{letter-spacing:-.3px;margin:0;font-size:19px}.intro .hint{color:var(--muted);font-size:12px}.grid{gap:15px;display:grid}.grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:1.25fr .95fr}.grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:19px}.metric{padding:18px}.metric .label{color:#59667e;align-items:center;gap:5px;font-size:12px;font-weight:750;display:flex}.metric .value{letter-spacing:-1px;margin:12px 0 7px;font-size:28px;font-weight:850;line-height:1.2}.metric .small{color:#8a98a9;font-size:11px}.metric .help{color:#7e8b9d;cursor:pointer;background:#fff;border:1px solid #c7d1e0;border-radius:100%;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;display:inline-flex}.delta{color:#0b9480;background:#e9f7f1;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:750}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 17px;display:flex}.card-head h3{margin:0;font-size:15px}.card-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.selector{color:#54647e;background:#fff;border:1px solid #dfe6ef;border-radius:8px;max-width:200px;padding:7px 10px}.bars{flex-direction:column;gap:13px;display:flex}.bar-row{grid-template-columns:115px 1fr 60px;align-items:center;gap:10px;font-size:12px;display:grid}.bar-label{white-space:nowrap;text-overflow:ellipsis;color:#4c5b71;overflow:hidden}.track{background:#eef2f8;border-radius:30px;height:9px;overflow:hidden}.fill{background:#28aca8;border-radius:30px;height:100%;transition:width .35s}.bar-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:760}.bar-click{cursor:pointer;border-radius:8px;padding:3px}.bar-click:hover{background:#f5f9fd}.rowline{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.tag{color:#4c6c85;background:#eef5fa;border-radius:8px;padding:3px 8px;font-size:11px;font-weight:700}.tag.green{color:#008d82;background:#e5f7f4}.tag.orange{color:#a8771a;background:#fff3da}.section-top{justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px;display:flex}.section-top h2{margin:0;font-size:19px}.text-muted{color:var(--muted)}.help-note{color:#718099;margin:12px 0 0;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:#8c98a9;border-bottom:1px solid var(--line);background:#fbfcff;padding:12px 10px;font-size:11px;font-weight:800}td{border-bottom:1px solid #edf1f6;padding:13px 10px;font-size:12px}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f6fafc}strong.num{font-variant-numeric:tabular-nums}.mini-progress{vertical-align:middle;background:#edf2f7;border-radius:20px;width:84px;height:7px;margin-right:7px;display:inline-block;overflow:hidden}.mini-progress>i{background:var(--teal);border-radius:20px;height:100%;display:block}.button{color:#fff;background:#0d8d87;border:1px solid #0d8d87;border-radius:9px;padding:9px 14px;font-weight:780}.button:hover{background:#087871}.button.ghost{color:#536981;background:#fff;border:1px solid #dce6ef}.button.ghost:hover{background:#f6f9fc}.mini-button{color:#087b75;background:#eaf6f4;border:0;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:800}.toggle{background:#f4f7fb;border:1px solid #e1e8f2;border-radius:10px;flex-wrap:wrap;gap:2px;padding:4px;display:inline-flex}.toggle button{color:#75849a;background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:12px;font-weight:720}.toggle button.active{color:#086f6a;background:#fff;box-shadow:0 2px 9px #203d6318}.journey-scroll{padding:10px 0;overflow-x:auto}.journey{align-items:stretch;gap:0;min-width:680px;display:flex}.j-step{background:#fafdff;border:1px solid #e5ebf2;border-radius:14px;flex:1;min-width:126px;padding:14px;position:relative}.j-step .stepicon{background:#eaf4ff;border-radius:10px;place-items:center;width:35px;height:35px;margin-bottom:8px;font-size:19px;display:grid}.j-step .jnum{font-size:24px;font-weight:900;line-height:1.3}.j-step .jtitle{margin:5px 0 4px;font-size:12px;font-weight:800}.j-step .jdesc{color:#8291a5;font-size:11px}.j-arrow{color:#8ea4ba;place-items:center;width:27px;min-width:27px;font-size:21px;display:grid}.j-step button{background:0 0;border:0;border-radius:14px;width:100%;position:absolute;inset:0}.j-step.selected{border:2px solid var(--teal);background:#f0fcfa}.info-panel{color:#456477;background:#f4faf9;border:1px solid #d7efeb;border-radius:12px;align-items:flex-start;gap:12px;margin-top:12px;padding:13px;display:flex}.info-panel b{color:#1b5551}.info-panel .emoji{font-size:17px}.route-list{flex-direction:column;gap:10px;display:flex}.route-item{gap:11px;display:flex;position:relative}.route-item:before{content:"";border-left:2px dashed #dce6ef;position:absolute;top:29px;bottom:-13px;left:12px}.route-item:last-child:before{display:none}.route-dot{color:#078d85;z-index:1;background:#e4f4f1;border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:850;display:grid}.route-body{flex:1;padding:2px 0 6px}.route-body b{font-size:12px}.route-body small{color:#8d99a9;float:right}.route-body p{color:#7b889a;margin:2px 0;font-size:11px}.persona-list{gap:7px;padding:2px 0 10px;display:flex;overflow-x:auto}.persona{color:#576980;background:#fff;border:1px solid #dfe8ee;border-radius:9px;flex:none;padding:8px 11px;font-size:12px;font-weight:750}.persona.active{color:#087a74;background:#e8f7f4;border-color:#74cfc4}.empty{text-align:center;color:#8191a4;padding:35px}.details{background:#fafcff;border:1px solid #e6ecf4;border-radius:11px;padding:11px 15px}.details summary{cursor:pointer;color:#526780;font-weight:760}.details p{color:#6c798e;margin:7px 0 0;font-size:12px}.legend{color:#6c7c92;flex-wrap:wrap;gap:12px;margin:12px 0 0;font-size:11px;display:flex}.legend span:before{content:"";background:var(--teal);border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.legend span:nth-child(2):before{background:var(--blue)}.legend span:nth-child(3):before{background:#dfe7f3}.trend{width:100%;height:180px;display:block}.topic{border:1px solid #e8eef5;border-radius:12px;align-items:center;gap:13px;padding:14px;display:flex}.topic .rank{color:#16867d;background:#edf6f6;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:850;display:grid}.topic b{font-size:13px}.topic small{color:#8592a2;font-size:11px;display:block}.topic .right{color:#d06a63;margin-left:auto;font-weight:800}.drawer-shade{z-index:50;background:#1324406c;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.drawer-shade.open{display:flex}.dialog{background:#fff;border-radius:20px;width:100%;max-width:630px;max-height:85vh;padding:25px;overflow:auto;box-shadow:0 15px 70px #12253c32}.dialog-header{justify-content:space-between;align-items:start;display:flex}.dialog h2{margin:0;font-size:21px}.dialog p{color:#68768b}.dialog .close{background:#f2f5f9;border:0;border-radius:9px;width:32px;height:32px;font-size:23px}.small-nav{display:none}.guide-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.guide-grid div{background:#f5f8fc;border-radius:12px;padding:12px}.guide-grid b{font-size:12px;display:block}.guide-grid p{margin:2px 0;font-size:11px}.footer-note{color:#91a0ad;text-align:center;padding-top:24px;font-size:11px}.stat-hint{color:#76879c;font-size:11px}.micro{font-size:11px}.link-btn{color:#087f7a;background:0 0;border:0;padding:2px 4px;font-weight:800}.link-btn:hover{text-decoration:underline}.chip-line{flex-wrap:wrap;gap:6px;display:flex}.filter-banner{color:#446879;background:#f0f8fb;border:1px solid #d7e9ef;border-radius:11px;margin-bottom:12px;padding:10px 13px;font-size:12px}.path-summary{flex-wrap:wrap;gap:12px;display:flex}.path-summary .ps{border:1px solid var(--line);background:#fbfcff;border-radius:11px;flex:1;min-width:125px;padding:12px}.ps b{font-size:17px;display:block}.ps small{color:var(--muted);font-size:11px}@media (width<=1190px){.grid.metrics{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.sidebar{width:210px}.main{width:calc(100% - 210px);margin-left:210px}.bar-row{grid-template-columns:95px 1fr 50px}}@media (width<=780px){.sidebar{display:none}.main{width:100%;margin:0}.small-nav{gap:7px;padding:7px 16px 14px;display:flex;overflow-x:auto}.small-nav button{border:1px solid var(--line);white-space:nowrap;color:#51647a;background:#fff;border-radius:9px;padding:8px 12px;font-size:12px}.small-nav button.active{color:#098078;background:#e5f6f3;border-color:#7acbbe}.header{padding:19px 16px 8px}.header h1{font-size:22px}.filters{margin:0 16px 18px;padding:13px}.filter-group{flex:1;min-width:128px}.filter-group select{width:100%}.filter-end{margin-left:0}.content{padding:0 16px 35px}.grid.equal,.grid.three{grid-template-columns:1fr}.intro{align-items:flex-start}.header-right .icon-btn{display:none}}@media (width<=460px){.grid.metrics{gap:9px}.metric{padding:14px}.metric .value{font-size:23px}.header p{font-size:11px}.pill{font-size:10px}.filter-group{min-width:calc(50% - 8px)}.card{padding:15px}.guide-grid{grid-template-columns:1fr}}.source-picker{box-shadow:var(--shadow);background:#fff;border:1px solid #dce7ef;border-radius:17px;margin:4px 34px 14px;padding:19px 21px 15px}.source-picker-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px;display:flex}.source-picker-head h2{letter-spacing:-.25px;margin:2px 0 0;font-size:17px}.source-picker-head p{color:#78889c;margin:2px 0 0;font-size:12px}.source-eyebrow{letter-spacing:1px;color:#008f89;text-transform:uppercase;font-size:10px;font-weight:850}.compare-jump{color:#315c75;white-space:nowrap;background:#f0f6fa;border:1px solid #dce8f0;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:850}.compare-jump:hover{background:#e4eff8}.source-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.source-switch button{text-align:left;color:#456070;background:#fafbfd;border:1.5px solid #e3eaf2;border-radius:12px;align-items:center;gap:11px;padding:11px 13px;transition:all .16s;display:flex}.source-switch button:hover{background:#f6fbff;border-color:#91b6d2}.source-switch button.active{color:#075e60;background:#eaf9f6;border-color:#0c9a93;box-shadow:0 0 0 2px #bce7e03f}.source-switch button b{font-size:13px;display:block}.source-switch button small{color:#8193a1;margin-top:2px;font-size:10px;display:block}.switch-icon{color:#43878a;background:#fff;border:1px solid #e3eaf2;border-radius:11px;flex:0 0 35px;place-items:center;width:35px;height:35px;font-size:21px;font-weight:700;display:grid}.source-switch .active .switch-icon{color:#008c84;background:#cfefeb;border-color:#9fdad1}.source-hint{justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.source-mode-info{color:#6b7f91;max-width:580px;font-size:11px}.source-mode-info b{color:#24435e;font-size:12px;display:block}.source-mode-info span{line-height:1.5;display:block}.source-mode-stats{color:#667d8e;flex-wrap:wrap;justify-content:flex-end;gap:9px;font-size:10px;font-weight:700;display:flex}.source-mode-stats>span{align-items:center;gap:4px;display:inline-flex}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot.ok{background:#15a493}.dot.partial{background:#ddac55}.dot.off{background:#c36e6c}.dot.need{background:#8a74c6}.source-limit{color:#526b81;background:#f0f6fb;border:1px solid #dce8f2;border-radius:11px;align-items:start;gap:9px;margin-bottom:16px;padding:10px 14px;font-size:12px;display:flex}.source-limit:empty{display:none}.source-limit-icon{font-size:18px;font-weight:850;line-height:1.2}.text-link{color:#087c80;font-weight:850;font-size:inherit;background:0 0;border:0;padding:0}.text-link:hover{text-decoration:underline}.compare-grid{box-shadow:var(--shadow);background:#fff;border:1px solid #e4ebf3;border-radius:13px;overflow:hidden}.compare-head,.compare-item{grid-template-columns:minmax(220px,3fr) minmax(96px,1fr) minmax(108px,1fr) minmax(110px,1fr) 95px;align-items:center;gap:12px;padding:13px 14px;display:grid}.compare-head{color:#4f6579;letter-spacing:.25px;background:#edf4f8;font-size:11px;font-weight:900}.compare-item{border-top:1px solid #ecf0f4}.compare-item:nth-child(2n){background:#fcfdfe}.feat-title small{color:#008d85;letter-spacing:.3px;font-size:9px;font-weight:900;display:block}.feat-title b{font-size:12px;line-height:1.45}.feat-title p{color:#8793a2;margin:3px 0 0;font-size:10px;line-height:1.48}.cap-pill{white-space:nowrap;border-radius:16px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:820;display:inline-flex}.st-yes{color:#087a57;background:#dff4ed}.st-partial{color:#977021;background:#fff4d9}.st-no{color:#a45b5d;background:#f4e9e9}.st-backend{color:#6857aa;background:#eeebfb}.comparison-lead{background:linear-gradient(100deg,#ebfaf5,#f0f4ff);border:1px solid #dcece8;border-radius:17px;justify-content:space-between;align-items:stretch;gap:16px;margin-bottom:16px;padding:22px 25px;display:flex}.comparison-lead h2{margin:4px 0 6px;font-size:21px}.comparison-lead p{color:#5d7584;max-width:590px;margin:0;font-size:12px}.soft-kicker{letter-spacing:.7px;color:#078783;font-size:10px;font-weight:900}.compare-score{border-left:1px solid #d5e7e6;justify-content:center;align-items:center;gap:12px;min-width:200px;padding:6px 0 6px 18px;display:flex}.compare-score b{color:#118e88;font-size:39px}.compare-score span{color:#536c7c;font-size:11px;line-height:1.4}.filter-compare-row{background:#fff;border:1px solid #e4ebf3;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:11px 14px;display:flex}.filter-compare-row label{font-size:12px;font-weight:800}.filter-compare-row select{color:#324d64;background:#fff;border:1px solid #dfe6ef;border-radius:9px;min-width:230px;padding:9px 11px;font-weight:650}.shown-count{color:#7c8da0;margin-left:auto;font-size:11px}.availability-note{border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 13px;padding:10px 12px;font-size:11px;line-height:1.55;display:flex}.availability-note.caution{color:#88692d;background:#fff8e7;border:1px solid #f1dfbb}.availability-note.unavailable{color:#9d5860;background:#f9eef0;border:1px solid #eedbdf;display:block}.availability-note.unavailable b{display:block}.availability-note.available{color:#2a7766;background:#eefaf6;border:1px solid #d9ebe5}.availability-note.unavailable .text-link{margin-top:9px;font-size:12px;display:block}.card-unavailable{min-height:145px}.unavailable-inline{color:#895a61;background:#faf4f4;border-radius:12px;margin-bottom:12px;padding:15px;font-size:12px}.unavailable-inline b{display:block}.unavailable-inline span{margin-top:4px;font-size:11px;display:block}.source-sidebar-note{border-top:1px solid #dbe5ed;margin-top:11px;padding-top:10px;font-size:10px;line-height:1.5}@media (width<=1200px){.source-hint{flex-direction:column;align-items:flex-start}.source-mode-stats{justify-content:flex-start}.compare-head,.compare-item{grid-template-columns:minmax(150px,3fr) repeat(3,minmax(76px,1fr)) 83px;gap:7px;padding:11px 9px}.cap-pill{padding:4px 5px;font-size:9px}}@media (width<=900px){.compare-grid{overflow-x:auto}.compare-head,.compare-item{min-width:720px}.source-picker{margin:4px 16px 14px;padding:14px}.source-picker-head{flex-wrap:wrap}.source-switch{grid-template-columns:1fr}.source-switch button{padding:9px 12px}.switch-icon{flex-basis:30px;width:30px;height:30px}.comparison-lead{flex-wrap:wrap}.compare-score{border-top:1px solid #d5e7e6;border-left:none;justify-content:flex-start;width:100%;min-width:0;padding:11px 0 0}}a.nav{text-decoration:none}.small-nav a{border:1px solid var(--line);white-space:nowrap;color:#51647a;background:#fff;border-radius:9px;padding:8px 12px;font-size:12px;text-decoration:none}.small-nav a.active{color:#098078;background:#e5f6f3;border-color:#7acbbe}a.bar-row{color:inherit;text-decoration:none}a.link-btn,a.text-link,a.compare-jump,a.mini-button{text-decoration:none;display:inline-block}a.link-btn:hover,a.text-link:hover{text-decoration:underline}.header-right{flex-wrap:wrap;justify-content:flex-end}.main{overflow-x:clip}.pill.fresh{color:#087a74;background:#e5f7f4}.pill.fresh .pill-dot{background:#15a493}.refresh-btn{color:#087a74;cursor:pointer;font:inherit;background:#fff;border:1px solid #b9e6df}.refresh-btn:hover:not(:disabled){background:#e5f7f4}.refresh-btn:disabled{cursor:progress;opacity:.7}.refresh-btn.error{color:#b23b3b;border-color:#f1b8b8}.pill.fresh.partial{color:#9a650f;background:#fff2d9}.help-wrap{vertical-align:middle;display:inline-flex}.help{color:#7e8b9d;cursor:pointer;background:#fff;border:1px solid #c7d1e0;border-radius:100%;justify-content:center;align-items:center;width:15px;height:15px;padding:0;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.help[aria-expanded=true]{border-color:var(--teal);color:var(--teal)}.help-tip{z-index:60;color:#fff;text-align:left;white-space:normal;letter-spacing:0;background:#14243e;border-radius:10px;flex-direction:column;gap:2px;width:min(280px,100vw - 16px);padding:10px 12px;font-size:12px;font-weight:500;line-height:1.5;display:flex;position:fixed;box-shadow:0 10px 30px #12253c40}.help-tip b{color:#9fe3dc;margin-top:4px;font-size:11px}.help-tip b:first-child{margin-top:0}th .help-wrap{margin-left:4px}.missing-note{color:#88692d;background:#fff8e7;border:1px solid #f1dfbb;border-radius:11px;align-items:flex-start;gap:9px;margin:0 0 13px;padding:10px 12px;font-size:12px;display:flex}.missing-note b{color:#6f5317;display:block}.missing-icon{font-size:15px;font-weight:850;line-height:1.3}.state-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);text-align:center;color:#66778c;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:6px;margin-bottom:15px;padding:34px 20px;display:flex}.state-box b{color:var(--ink);font-size:15px}.state-box p{max-width:420px;margin:0 0 8px;font-size:12px}.state-box.loading{flex-direction:row;justify-content:center;gap:10px;font-size:13px}.state-box.error-state{background:#fdf7f8;border-color:#eedbdf}.state-box.error-state b{color:#9d4a52}.state-icon{font-size:26px}.spinner{border:2px solid #d4e4ea;border-top-color:var(--teal);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.demo-switch{color:#243752;cursor:pointer;align-items:center;gap:8px;margin:11px 0 4px;font-weight:750;display:flex;position:relative}.demo-switch input{opacity:0;cursor:pointer;width:34px;height:20px;margin:0;position:absolute}.demo-switch-track{background:#c9d4e1;border-radius:20px;flex:0 0 34px;width:34px;height:20px;transition:background .15s;position:relative}.demo-switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.demo-switch input:checked+.demo-switch-track{background:var(--teal)}.demo-switch input:checked+.demo-switch-track:after{transform:translate(14px)}.demo-switch input:focus-visible+.demo-switch-track{outline-offset:2px;outline:3px solid #88deda}.guide-link{padding:4px 0;font-size:12px}.user-box{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.user-box .link-btn{padding:0;font-size:11px}.date-group input{color:#33445d;background:#fff;border:1px solid #dfe6ef;border-radius:9px;min-height:37px;padding:7px 8px}.range-hint{color:var(--muted);flex-basis:100%;font-size:11px}.slow-hint{color:#9a650f;font-weight:700}.raw-value{color:#4c5b71;background:#f2f5f9;border-radius:5px;padding:1px 5px;font-size:11px}.tag.untranslated{color:#8a5a00;background:#fff3da;font-size:10px}.tag.red{color:#b0464d;background:#f9eef0}.tag.purple{color:#6857aa;background:#eeebfb}.guide-list{color:#4f5f75;flex-direction:column;gap:6px;margin:0 0 14px;padding-left:18px;font-size:12px;display:flex}.guide-sub{margin:6px 0 10px;font-size:13px}@media (width<=780px){.header{flex-wrap:wrap}.header-right{justify-content:flex-start}.header-right .icon-btn{padding:6px 10px;font-size:12px;display:inline-block}.date-group{min-width:128px}.date-group input{width:100%}}@media (width<=460px){.filter-end{flex-wrap:wrap;gap:8px;display:flex}}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:20px 16px;display:grid}.login-card{background:var(--paper);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:6px;padding:26px;display:flex}.login-card .brand{padding:0 0 14px}.login-card h1{letter-spacing:-.4px;margin:0;font-size:22px}.login-card>p{margin:0 0 10px;font-size:12px}.login-card label:not(.demo-switch){color:var(--muted);margin-top:6px;font-size:11px;font-weight:750}.login-card input:not([type=checkbox]){border:1px solid #dfe6ef;border-radius:9px;padding:9px 11px}.login-card .button{margin-top:12px}.login-error{color:#9d5860;background:#f9eef0;border:1px solid #eedbdf;border-radius:9px;padding:8px 11px;font-size:12px}.login-demo{border-top:1px solid var(--line);color:#596a80;margin-top:14px;padding-top:8px;font-size:11px}.login-demo p{margin:4px 0 0}tr.selected{background:#f0faf9}.sort-btn{color:inherit;font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:800;display:inline-flex}.sort-btn:hover,.sort-btn.active{color:#087a74}.sort-icon{opacity:.7;font-size:9px}th{white-space:nowrap}.j-step.unavailable{background:#fafafc;border-style:dashed}.j-step.unavailable .jnum{color:#a3aec0}.j-step.warn{background:#fffaf0;border-color:#eecf9b}.j-step.warn .jnum{color:#b5751a}.availability-note.backend{color:#6857aa;background:#f3f0fd;border:1px solid #e2dcf7}.warn-banner{color:#7d5a14;background:#fff8e7;border:1px solid #efd59f;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:15px;padding:12px 14px;font-size:12px;display:flex}.warn-banner b{color:#6a4a0c;font-size:13px;display:block}.tag.warn-tag{color:#9a5a00;white-space:nowrap;background:#ffecc7}.drop-note{color:#9d5860;background:#fbf2f3;border-radius:10px;margin-top:10px;padding:9px 12px;font-size:12px}.channels{margin-top:15px}.terms-controls{justify-content:space-between;margin-bottom:15px}.term-filter{border:1px solid #dfe6ef;border-radius:9px;flex:0 260px;min-width:190px;max-width:100%;padding:9px 12px}tr.other-row td{color:#5d6b80;background:#f8fafc}.sample-tools{flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 6px;display:flex}.raw-toggle{color:#4c5b71;cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.tag.sample-user{color:#087a74;vertical-align:middle;background:#e5f7f4}.raw-event{margin-left:4px}.mode-cards{margin-bottom:16px}.mode-card{padding:16px}.mode-card.active{background:#f2fbf9;border-color:#0c9a93}.mode-card-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mode-card-head .switch-icon{flex-basis:30px;width:30px;height:30px;font-size:17px}.mode-card p{color:#6b7f91;margin:0 0 10px;font-size:11px;line-height:1.5}.mode-counts{justify-content:flex-start}@media (width<=780px){.filter-compare-row select{width:100%;min-width:0}.shown-count{margin-left:0}.term-filter{flex:100%;min-width:0}}.export-error{color:#9d4a52;align-self:center;font-size:11px;font-weight:700}.filter-end{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-box b{color:#243752;margin-bottom:2px;display:block}.card-head h3 .help-wrap{margin-left:5px}.ps small .help-wrap{margin-left:4px}.sidebar{overflow-y:auto}.mobile-account{display:none}@media (width<=780px){.mobile-account{border:1px solid var(--line);color:#596a80;background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 16px 14px;padding:8px 12px;font-size:11px;display:flex}.mobile-account .demo-switch{margin:0;font-size:12px}.mobile-account .user-box{border:0;flex-direction:row;align-items:center;gap:8px;margin:0;padding:0}.intro{flex-wrap:wrap}}.journey-scroll{overflow:visible;container-type:inline-size}.journey{min-width:0}.j-step{flex:1 1 0;min-width:0}.j-step .jnum{white-space:nowrap;font-size:clamp(18px,2.4cqi,24px)}.j-step .jtitle,.j-step .jdesc{overflow-wrap:anywhere}@container (width<=819px){.journey{flex-wrap:wrap;gap:10px}.j-arrow{display:none}.j-step{flex:calc(50% - 5px)}.j-step .jnum{font-size:clamp(18px,6cqi,24px)}}@container (width<=259px){.j-step{flex-basis:100%}}.bars{grid-template-columns:115px minmax(0,1fr) minmax(60px,max-content);gap:13px 10px;display:grid}.bar-row{grid-column:1/-1;grid-template-columns:subgrid}.bar-val{white-space:nowrap}@media (width<=1190px){.bars{grid-template-columns:95px minmax(0,1fr) minmax(50px,max-content)}}.bars.wide-label{grid-template-columns:175px minmax(0,1fr) minmax(60px,max-content)}@media (width<=460px){.bars.wide-label{grid-template-columns:118px minmax(0,1fr) minmax(52px,max-content)}}.metric .value{overflow-wrap:anywhere}.metric .value,.ps b{font-variant-numeric:tabular-nums}.admin-page>.card{margin-bottom:15px}.admin-form.inline{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:11px;font-weight:750}.field input:not([type=checkbox]),.field select,.enum-label{color:#33445d;background:#fff;border:1px solid #dfe6ef;border-radius:9px;width:100%;min-width:0;min-height:35px;padding:7px 10px}.field.small{flex:0 150px}.field.grow{flex:220px}.field.check{flex-direction:row;align-self:center;align-items:center;gap:6px;padding-top:16px}.field.check>span{color:#4c5b71;font-size:12px}.field-error{color:#9d4a52;font-size:11px;font-weight:700}.admin-notice{border-radius:9px;flex-basis:100%;margin:0 0 12px;padding:8px 11px;font-size:12px}.admin-notice.ok{color:#087a74;background:#e5f7f4}.admin-notice.error{color:#9d5860;background:#f9eef0;border:1px solid #eedbdf}.admin-form .admin-notice{margin:0}.admin-list{flex-direction:column;margin-bottom:12px;display:flex}.admin-row{border-top:1px solid #edf1f6;flex-direction:column;gap:8px;min-width:0;padding:12px 0;display:flex}.admin-list>.admin-row:first-child{border-top:0;padding-top:0}.admin-row-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.admin-row-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.enum-row{flex-flow:wrap;align-items:center;gap:10px;padding:8px 0}.enum-key{flex-wrap:wrap;flex:0 260px;align-items:center;gap:4px;min-width:0;display:flex}.enum-key code{overflow-wrap:anywhere}.enum-label{flex:200px}.enum-list{max-height:520px;overflow-y:auto}.mini-button.danger{color:#b0464d;background:#f9eef0}.mini-button.danger.solid{color:#fff;background:#c4505a}.mini-button.ghost{color:#536981;background:#f2f5f9}.confirm-delete{gap:6px;display:inline-flex}.admin-tools{justify-content:space-between;margin-bottom:10px}.new-row,.new-enum,.new-user{border-top:1px dashed #dfe6ef;padding-top:12px}.user-row.is-disabled .admin-row-title code{opacity:.6}.persona-list{flex-wrap:wrap;overflow-x:visible}
