@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Next:wght@400;500;700;800&display=swap";:root{color-scheme:light;--ground: #e1e6e3;--panel: #ebefec;--ink: #1b2a2c;--muted: #5b6b69;--line: color-mix(in srgb, var(--ink) 13%, transparent);--control: #d5dcd8;--zone-low: #b0303d;--zone-in: #2b7a67;--zone-high: #a4680f;--band: #cbe0d8;--font: "Atkinson Hyperlegible Next", system-ui, sans-serif;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s6: 24px;--s8: 32px;--s12: 48px;font-family:var(--font);color:var(--ink);background:var(--ground);font-synthesis:none}[data-theme=dark]{color-scheme:dark;--ground: #121819;--panel: #1a2224;--ink: #dae4e1;--muted: #8d9e9b;--control: #253033;--zone-low: #ee7480;--zone-in: #62c1a7;--zone-high: #e3a64a;--band: #1d3631}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5;background:var(--ground)}::selection{background:var(--band)}h1,h2,h3{font-weight:700;line-height:1.15;letter-spacing:-.01em;margin:0}h1{font-size:30px}h2{font-size:22px}h3{font-size:19px}a{color:inherit}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.5}:is(button,a,input,select):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.secondary{color:var(--muted);font-size:14px;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ghost-button,.refresh,.primary-button,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);border:0;border-radius:8px;padding:9px var(--s4);font-size:14px;font-weight:500}.ghost-button{background:transparent;color:var(--muted)}.ghost-button:hover{background:var(--control);color:var(--ink)}.refresh{background:var(--control)}.refresh:hover{background:color-mix(in srgb,var(--control) 70%,var(--ink) 12%)}.refresh svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.primary-button{width:100%;padding:12px var(--s4);background:var(--ink);color:var(--ground);font-weight:700}.primary-button:hover{background:color-mix(in srgb,var(--ink) 85%,var(--ground))}.back-button{justify-content:flex-start;padding:0;margin-bottom:var(--s4);background:none;color:var(--muted)}.back-button:hover{color:var(--ink);text-decoration:underline}.theme-toggle{width:38px;padding:9px 0;font-size:16px;line-height:1}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding:var(--s3) max(var(--s4),calc((100vw - 1120px)/2));background:color-mix(in srgb,var(--ground) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:var(--s2);text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.02em}.brand-mark{width:26px;height:26px;fill:none;stroke:var(--zone-in);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar-tools{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.status{display:inline-flex;align-items:center;gap:var(--s2);margin-right:var(--s2);font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}.status i{width:8px;height:8px;border-radius:50%;background:var(--zone-in);flex-shrink:0}.status i.pulse{animation:libre-pulse 2s ease-in-out infinite}.status.warning i{background:var(--zone-high)}.status.waiting i{background:var(--muted)}@keyframes libre-pulse{0%,to{opacity:1}50%{opacity:.3}}main{max-width:1120px;margin:auto;padding:var(--s6) var(--s4) var(--s12)}.notice{margin-bottom:var(--s4);padding:var(--s3) var(--s4);border-radius:10px;color:var(--ink);background:color-mix(in srgb,var(--zone-high) 18%,var(--panel))}.panel{background:var(--panel);border-radius:14px;padding:var(--s6);margin-bottom:var(--s4)}.hero{--zone: var(--muted);padding:var(--s8);margin-bottom:var(--s4);border-radius:22px;background:color-mix(in srgb,var(--zone) 13%,var(--panel));transition:background-color .6s}.hero[data-zone=low]{--zone: var(--zone-low)}.hero[data-zone=in]{--zone: var(--zone-in)}.hero[data-zone=high]{--zone: var(--zone-high)}.hero-reading{display:flex;align-items:flex-end;gap:var(--s6);flex-wrap:wrap}.glucose-value{font-size:clamp(104px,20vw,176px);font-weight:800;line-height:.8;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.glucose-side{display:grid;gap:var(--s1);padding-bottom:6px}.glucose-unit{font-size:15px;color:var(--muted)}.zone-chip{justify-self:start;padding:2px 10px;border-radius:999px;background:var(--zone);color:var(--panel);font-size:13.5px;font-weight:700}.trend-label{display:flex;align-items:center;gap:var(--s2);font-size:22px;font-weight:700}.trend-arrow{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}.glucose-delta{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.ruler{position:relative;margin:var(--s8) 0 var(--s6);padding-bottom:22px}.ruler-track{display:flex;gap:2px;height:12px}.ruler-track span{border-radius:3px}.seg-low{flex:30;background:var(--zone-low)}.seg-in{flex:110;background:var(--zone-in)}.seg-high{flex:70;background:var(--zone-high)}.seg-alarm{flex:50;background:color-mix(in srgb,var(--zone-high) 35%,var(--zone-low))}.ruler-track span:not(.current){opacity:.35}.ruler-marker{position:absolute;top:-7px;width:4px;height:26px;margin-left:-2px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 3px var(--panel);transition:left .8s cubic-bezier(.3,.7,.2,1)}.ruler-ticks span{position:absolute;bottom:0;transform:translate(-50%);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.reading-time{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin:0;font-size:14px;color:var(--muted)}.stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s4);margin-bottom:var(--s4)}.stat{background:var(--panel);border-radius:14px;padding:var(--s4) var(--s6)}.stat-label{margin:0;font-size:14px;font-weight:500}.stat-note{margin:0;font-size:13px;color:var(--muted)}.stat-value{margin:var(--s1) 0;font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.stat-value span{margin-left:var(--s1);font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}.stat-tir .stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4)}.tir-bar{display:flex;gap:2px;height:10px;margin-top:var(--s2)}.tir-bar>div{flex:0 0 0%;border-radius:3px}.tir-low{background:var(--zone-low)}.tir-in{background:var(--zone-in)}.tir-high{background:var(--zone-high)}.tir-legend{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s2);font-size:13px;color:var(--muted)}.tir-legend span{display:inline-flex;align-items:center;gap:6px}.tir-legend i{width:8px;height:8px;border-radius:50%}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s4)}.periods{display:flex;gap:2px;padding:3px;border-radius:10px;background:var(--control);max-width:100%;overflow-x:auto}.periods button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:6px 11px;font-size:13.5px;white-space:nowrap}.periods button:hover{color:var(--ink)}.periods button[aria-pressed=true]{background:var(--panel);color:var(--ink);font-weight:700}.chart-summary{display:flex;gap:var(--s6);flex-wrap:wrap;align-items:center;margin-bottom:var(--s4);font-size:14px;color:var(--muted)}.chart-summary strong{color:var(--ink);font-variant-numeric:tabular-nums}.legend-band{display:inline-flex;align-items:center;gap:var(--s2)}.legend-band i{width:16px;height:10px;border-radius:2px;background:var(--band)}.chart-hint{margin-left:auto;font-size:13px}.legend-manual{display:inline-flex;align-items:center;gap:var(--s2)}.legend-manual i{width:8px;height:8px;transform:rotate(45deg);border:2px solid var(--ink)}.chart{height:300px;width:100%}.empty-chart{display:grid;place-items:center;align-content:center;gap:var(--s2);min-height:260px;padding:var(--s8);text-align:center;border-radius:10px;background:var(--ground)}.empty-chart p{margin:0;color:var(--muted);font-size:14px}.history-error{color:var(--zone-high);font-size:14px}.table-scroll{position:relative;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:480px;font-size:15px}.col-value,.table-value{text-align:right}th{padding:var(--s2) var(--s3);font-size:13px;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line)}td{padding:var(--s3);border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}.table-value{font-weight:700;font-variant-numeric:tabular-nums}.table-value span{margin-left:var(--s1);font-size:12.5px;font-weight:400;color:var(--muted)}.table-arrow{display:inline-block;width:28px;color:var(--muted)}.empty-row{text-align:center;color:var(--muted);padding:var(--s8)}.tag{display:inline-flex;align-items:center;gap:6px;font-size:14px}.tag:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}.tag-low:before{background:var(--zone-low)}.tag-in:before{background:var(--zone-in)}.tag-high:before{background:var(--zone-high)}.diary-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s6)}.diary-form label{flex:0 1 170px}.diary-form .diary-note{flex:1 1 220px}.diary-form .refresh{padding:11px var(--s6)}label{display:block;font-size:14px;font-weight:500}:is(.diary-form,.login-card,.account-card) :is(input,select){display:block;width:100%;margin-top:6px;padding:10px var(--s3);font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:var(--ground)}.diary-text{white-space:normal;min-width:160px}.diary-delete{margin:0;font-size:14px}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--s4)}.login-card,.account-card{width:min(100%,440px);display:grid;gap:var(--s4);padding:var(--s8)}.login-card h1{display:flex;align-items:center;gap:var(--s2)}.login-card .brand-mark{width:30px;height:30px}.account-page{max-width:560px}.account-page h1{margin-bottom:var(--s2)}.account-page .secondary{margin-bottom:var(--s6)}.form-message{margin:0;padding:var(--s3) var(--s4);border-radius:8px;font-size:14px}.form-message.error{background:color-mix(in srgb,var(--zone-low) 16%,var(--panel))}.form-message.success{background:color-mix(in srgb,var(--zone-in) 16%,var(--panel))}footer{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s6);margin-top:var(--s6);font-size:13px;color:var(--muted)}.report-page{max-width:900px}.report-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s6)}.report-toolbar .back-button{flex-basis:100%}.report-toolbar .periods{margin-right:auto}.report-name input{display:block;margin-top:6px;padding:8px var(--s3);font:inherit;font-size:15px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:var(--panel)}.report-sheet{padding:var(--s8);border-radius:14px;background:var(--panel)}.report-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s6);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.report-kind{margin:0;font-size:14px;color:var(--muted)}.report-head h1{margin:var(--s1) 0}.report-meta{display:grid;gap:var(--s1);margin:0;font-size:13px}.report-meta div{display:flex;gap:var(--s3);justify-content:flex-end}.report-meta dt{color:var(--muted)}.report-meta dd{margin:0;font-weight:500}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4) var(--s6);margin:var(--s6) 0}.report-metrics dt{font-size:13px;color:var(--muted)}.report-metrics dd{margin:2px 0 0;font-size:26px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.report-metrics dd span{margin-left:var(--s1);font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.report-block{margin-top:var(--s8);break-inside:avoid}.report-block h2{margin-bottom:var(--s2)}.report-tir{display:flex;gap:var(--s8);align-items:stretch;margin-top:var(--s4)}.tir-column{display:flex;flex-direction:column;gap:2px;width:48px;min-height:210px}.tir-column div{border-radius:3px}.tir-rows{flex:1;display:grid;align-content:space-between;gap:var(--s2);margin:0}.tir-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding-bottom:4px;border-bottom:1px solid var(--line)}.tir-rows dt{display:flex;align-items:center;gap:var(--s2);font-size:14px}.tir-rows dt i{display:inline-block;width:10px;height:10px;border-radius:50%}.tir-rows dd{margin:0;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.tir-rows dd span{margin-left:var(--s3);font-size:12.5px;font-weight:400;color:var(--muted)}.band-veryLow{background:color-mix(in srgb,var(--zone-low) 70%,var(--ink))}.band-low{background:var(--zone-low)}.band-inRange{background:var(--zone-in)}.band-high{background:var(--zone-high)}.band-veryHigh{background:color-mix(in srgb,var(--zone-high) 35%,var(--zone-low))}.agp-chart{width:100%;height:auto;margin-top:var(--s4)}.agp-target{fill:var(--band)}.agp-grid line{stroke:var(--line);stroke-width:1}.agp-grid text,.agp-hours text{fill:var(--muted);font-size:11px;font-family:var(--font)}.agp-outer{fill:color-mix(in srgb,var(--zone-in) 18%,transparent)}.agp-inner{fill:color-mix(in srgb,var(--zone-in) 40%,transparent)}.agp-median{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round}.report-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s2);margin-top:var(--s4)}.report-days figure{margin:0;overflow:hidden;border-radius:6px;background:var(--ground)}.report-days figcaption{padding:2px var(--s2);font-size:11px;color:var(--muted)}.report-days svg{display:block;width:100%;height:48px}.day-target{fill:var(--band)}.day-line{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}.report-table{width:100%;min-width:0;margin-top:var(--s4);font-size:13.5px}.report-table td{white-space:normal}.report-foot{margin-top:var(--s8);padding-top:var(--s4);border-top:1px solid var(--line);font-size:12px;line-height:1.55;color:var(--muted)}@media print{:root,:root[data-theme=dark]{color-scheme:light;--ground: #fff;--panel: #fff;--ink: #1b2a2c;--muted: #5b6b69;--control: #d5dcd8;--zone-low: #b0303d;--zone-in: #2b7a67;--zone-high: #a4680f;--band: #cbe0d8}body{background:#fff}.topbar,.no-print,footer:not(.report-foot){display:none!important}main,.report-page{margin:0;padding:0;max-width:none}.report-sheet{padding:0;border-radius:0}@page{size:A4 portrait;margin:14mm}}@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}.stat-tir{grid-column:1 / -1}.chart-hint{display:none}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-days{grid-template-columns:repeat(4,1fr)}}@media(max-width:480px){.hero{padding:var(--s6);border-radius:18px}.panel,.stat,.report-sheet{padding:var(--s4)}.report-tir{gap:var(--s4)}.tir-rows dd span{display:block;margin:0;text-align:right}.status{flex-basis:100%;order:-1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
