:root{color:#18181b;background:#f4f4f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select{font:inherit}button,summary,select,input[type=range]{touch-action:manipulation}h1,h2,p{margin:0}a{color:#1d4ed8}.app-shell{width:min(760px,100%);margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 14px max(28px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.eyebrow{margin-bottom:4px;color:#71717a;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:0}h1{font-size:2rem;line-height:1.05}h2{font-size:1rem;line-height:1.25}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;cursor:pointer}.icon-button.primary{background:#18181b;color:#fff}.icon-button:disabled,button:disabled{opacity:.55;cursor:wait}.control-strip{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;padding:12px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.control-strip>div:first-child{min-width:0}.control-strip strong,.control-strip span{display:block}.control-strip strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.control-strip span{margin-top:3px;color:#71717a;font-size:.74rem}.control-strip label{color:#71717a;font-size:.72rem;font-weight:700}.control-strip select{display:block;min-height:38px;margin-top:4px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#18181b;padding:6px 8px}.date-range-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:8px;margin-top:8px;padding:12px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.date-range-form label{min-width:0;color:#52525b;font-size:.75rem;font-weight:700}.date-range-form input{display:block;width:100%;min-height:42px;margin-top:4px;padding:7px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#18181b}.active-period{margin:7px 2px 0;color:#71717a;font-size:.75rem}.chart-zoom{display:flex;align-items:center;gap:7px;min-height:44px;margin-top:8px;padding:6px 8px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.chart-zoom>span{flex:0 0 auto;color:#52525b;font-size:.76rem;font-weight:700}.chart-zoom input{flex:1 1 auto;min-width:50px;margin:0;accent-color:#18181b}.chart-zoom output{width:43px;flex:0 0 auto;color:#52525b;font-size:.76rem;font-weight:700;text-align:center}.zoom-icon-button{display:grid;flex:0 0 auto;place-items:center;width:30px;height:30px;padding:0;border:1px solid #d4d4d8;border-radius:6px;background:#fff;color:#18181b;cursor:pointer}.zoom-icon-button:disabled{opacity:.35;cursor:default}.settings-menu{position:relative}.settings-menu summary{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d4d4d8;border-radius:8px;cursor:pointer;list-style:none}.settings-menu summary::-webkit-details-marker{display:none}.settings-menu>div{position:absolute;z-index:20;top:46px;right:0;width:min(290px,calc(100vw - 28px));padding:12px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;box-shadow:0 10px 30px #0000001f}.settings-menu p{display:flex;align-items:center;gap:7px;padding:7px 0;color:#52525b;font-size:.85rem}.danger-button,.secondary-button,.connect-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:8px;padding:9px 12px;cursor:pointer}.danger-button{width:100%;margin-top:8px;border:1px solid #fecaca;background:#fff;color:#b91c1c}.secondary-button{border:1px solid #d4d4d8;background:#fff;color:#18181b}.connect-button{width:100%;border:0;background:#18181b;color:#fff;font-weight:700}.section-nav{position:sticky;z-index:10;top:0;display:flex;gap:7px;margin:10px -14px 14px;padding:9px 14px;overflow-x:auto;background:#f4f4f5f2;border-bottom:1px solid #e4e4e7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav a{flex:0 0 auto;padding:7px 10px;border:1px solid #d4d4d8;border-radius:999px;background:#fff;color:#3f3f46;font-size:.8rem;font-weight:700;text-decoration:none}.dashboard-grid,.subgrid{display:grid;gap:14px}.subgrid{grid-column:1 / -1}.panel{min-width:0;scroll-margin-top:64px;padding:14px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-title>svg{width:19px;height:19px;flex:0 0 auto}.info-popover{position:relative;margin-left:auto}.info-popover summary{display:grid;place-items:center;width:28px;height:28px;border:1px solid #e4e4e7;border-radius:50%;color:#71717a;cursor:pointer;list-style:none}.info-popover summary::-webkit-details-marker{display:none}.info-popover p{position:absolute;z-index:12;top:34px;right:0;width:min(280px,calc(100vw - 58px));padding:10px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#52525b;box-shadow:0 8px 24px #0000001f;font-size:.82rem;line-height:1.4}.chart-frame-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.chart-frame{width:100%;height:286px}.chart-frame.compact{height:170px}.distance-stack{display:grid;gap:10px}.distance-chart{min-width:0;padding:10px 8px 0;border:1px solid #e4e4e7;border-radius:8px}.distance-chart>strong{display:block;margin-left:5px;color:#52525b;font-size:.85rem}.threshold-controls{display:grid;gap:9px;margin-bottom:10px}.threshold-controls label{padding:10px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa}.threshold-controls span{display:block;margin-bottom:7px;font-size:.82rem;font-weight:700}.threshold-controls input{width:100%;accent-color:#18181b}.threshold-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}.threshold-actions span{color:#71717a;font-size:.78rem}.progress-block{display:grid;gap:5px;margin:8px 0}.progress-block progress{width:100%}.progress-block span{overflow:hidden;color:#52525b;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.table-scroll{max-width:100%;overflow:auto;border:1px solid #e4e4e7;border-radius:8px}.threshold-table{max-height:300px}.best-table{max-height:360px}table{width:100%;border-collapse:collapse;font-size:.8rem}th,td{padding:9px 8px;border-bottom:1px solid #e4e4e7;text-align:left;vertical-align:top;white-space:nowrap}th{position:sticky;z-index:1;top:0;background:#fafafa;color:#71717a}td a{font-weight:700;text-decoration:none}.setup-shell,.loading-screen{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.setup-panel{width:min(430px,100%);padding:22px;border:1px solid #e4e4e7;border-radius:8px;background:#fff}.brand-mark{display:flex;gap:7px;margin-bottom:24px}.brand-mark svg{width:38px;height:38px;padding:8px;border-radius:8px;color:#fff}.brand-mark svg:nth-child(1){background:#2563eb}.brand-mark svg:nth-child(2){background:#dc2626}.brand-mark svg:nth-child(3){background:#16a34a}.setup-copy{margin:12px 0 20px;color:#52525b;line-height:1.45}.setup-panel form{display:grid;gap:14px}.setup-panel label{color:#3f3f46;font-size:.86rem;font-weight:700}.setup-panel input{width:100%;min-height:44px;margin-top:6px;border:1px solid #d4d4d8;border-radius:8px;padding:9px 10px}.setup-panel label span{display:block;margin-top:5px;color:#71717a;font-size:.72rem;font-weight:400}.privacy-note{display:flex;gap:9px;margin-top:18px;padding:11px;border-left:3px solid #16a34a;background:#f0fdf4;color:#166534}.privacy-note svg{flex:0 0 auto}.privacy-note p,.setup-help{font-size:.78rem;line-height:1.4}.setup-help{margin-top:14px;color:#71717a}.error-message{color:#b91c1c;font-size:.82rem}.loading-screen{gap:10px;align-content:center;color:#52525b}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:700px){.app-shell{padding-left:20px;padding-right:20px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.subgrid{grid-column:1 / -1}.subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.subgrid .panel{grid-column:auto}.threshold-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.control-strip{grid-template-columns:minmax(0,1fr) auto}.control-strip>div:first-child{grid-column:1 / -1}.threshold-actions{align-items:stretch;flex-direction:column}.secondary-button{width:100%}.date-range-form{grid-template-columns:repeat(2,minmax(0,1fr))}.date-range-form button{grid-column:1 / -1}.chart-zoom{gap:5px}.chart-zoom>span{font-size:.7rem}.chart-zoom output{width:39px}.zoom-icon-button{width:28px;height:28px}}
