@font-face{font-family:"DM Sans";src:url(/fonts/dm-sans-latin-400-normal.woff2)}@font-face{font-family:"DM Sans";src:url(/fonts/dm-sans-latin-600-normal.woff2);font-weight:600}
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-latin-400-normal.woff2)}@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-latin-400-italic.woff2);font-style:italic}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)}
:root{--paper:#f7f7ef;--card:#fffef9;--ink:#282b26;--soft:#666960;--line:#d9d9cd;--red:#c84930;--mono:"IBM Plex Mono",ui-monospace,"Courier New",monospace;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.5 var(--sans)}a,button,select{color:inherit}button,select{font:inherit}a{text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:4px}.shell{width:min(1192px,calc(100% - 96px));margin-inline:auto}header{border-bottom:1px solid var(--line)}.topbar{height:76px;display:flex;align-items:center;gap:60px}.brand,.footbrand{font-family:var(--serif);font-weight:700;letter-spacing:-1.3px}.brand{display:flex;align-items:center;font-size:27px;white-space:nowrap}.brand:hover{text-decoration:none}.brand-period{color:var(--red)}.brandmark{display:grid;place-items:center;background:var(--red);width:33px;height:33px;border-radius:9px;margin-right:11px}.brandmark svg{width:28px;fill:none;stroke:white;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}nav{display:flex;gap:31px;align-self:stretch}nav a{position:relative;display:grid;align-items:center;font-size:14px;color:var(--soft)}nav a[aria-current]{color:var(--ink);font-weight:bold}nav a[aria-current]:after{content:"";position:absolute;bottom:14px;width:16px;height:2px;background:var(--red);left:calc(50% - 8px)}.mode{margin-left:auto;border:1px solid #cbc9b9;border-radius:20px;padding:4px 11px;font:11px/1.5 var(--mono);white-space:nowrap;background:#f0f0e5;display:flex;align-items:center;gap:7px}.mode:before,.reading .kicker:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#a78544}
main{min-height:65vh}.intro{padding:40px 0 25px}.kicker,.date,.eyebrow,.meta,.chartlabel,.chip,.legend,.source,.stamp{font:11px/1.5 var(--mono)}.kicker,.eyebrow,.chartlabel,.stamp{text-transform:uppercase;letter-spacing:1.35px}.kicker{color:var(--red);font-weight:700;display:flex;align-items:center;gap:8px}.rule{display:inline-block;width:23px;height:1px;background:currentColor}h1,h2,h3,p{margin:0}h1,h2,h3,.number,.cityname,.daytitle{font-family:var(--serif);font-weight:normal}.headline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}h1{font-size:clamp(48px,5.7vw,80px);line-height:1.12;letter-spacing:-4px;margin:10px 0}h1 em{font-weight:normal;color:#555c48}.dek{color:var(--soft);font-size:15px}.date{margin-bottom:15px;display:flex;gap:9px;align-items:center;white-space:nowrap}.icon{width:17px;height:17px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.gridhero{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.panel,.metric{border:1px solid var(--line);border-radius:13px;overflow:hidden}.reading{background:#f9eae1;position:relative;isolation:isolate;min-height:256px;padding:25px 27px;display:flex;flex-direction:column;align-items:flex-start}.reading .kicker:before{background:var(--red);width:6px;height:6px}.reading h2,.location h2{font-size:25px;letter-spacing:-.8px;margin:13px 0 0}.reading .number{font-size:82px;line-height:1.05;letter-spacing:-6px}.number small,.metricvalue small{font:normal 18px var(--serif);letter-spacing:0;margin-left:5px;color:#6e6d61}.reading p{font-size:13px;color:#66594d}.heartart{position:absolute;right:3%;top:4%;width:45%;height:82%;z-index:-1}.source{color:var(--soft);font-size:10px;letter-spacing:.2px}.reading .source{margin-top:auto;padding-top:14px;display:flex;gap:6px;align-items:center}.source .icon{width:13px;height:13px}.location{background:#edf0df;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:256px}.map{position:absolute;right:0;top:0;width:100%;height:100%;z-index:-2}.location:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#eff1e2 3%,#eff1e2e8 23%,transparent 65%);z-index:-1}.location .eyebrow{margin:21px 23px auto;background:#f6f7eded;border:1px solid #d6d9c9;border-radius:20px;align-self:flex-start;display:flex;align-items:center;gap:5px;padding:4px 9px;color:#505742;letter-spacing:.9px;font-size:10px}.eyebrow .icon{width:13px;height:13px}.citybox{padding:0 24px 20px}.cityname{font-size:36px;letter-spacing:-1.6px;line-height:1.16}.citybox .source{margin-top:5px}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin:31px 0 15px;gap:12px}.sectionhead h2,.infobox h2{font-size:30px;letter-spacing:-1.2px}.sectionhead .stamp{color:var(--soft);font-size:10px;display:flex;align-items:center;gap:8px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric{background:var(--card);padding:20px 21px 13px;min-width:0;--accent:#7776a2}.metric-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600}.ico{background:var(--tint,#efedf6);color:var(--accent);width:31px;height:31px;border-radius:9px;display:grid;place-items:center}.metricvalue{font:40px/1.2 var(--serif);letter-spacing:-2px;margin:14px 0 2px}.metricvalue small{font-size:16px;margin-left:4px}.meta{font-size:10px;color:var(--soft)}.plot{margin:14px 0 4px;display:block;width:100%;height:45px}.legend{display:flex;justify-content:space-between;color:var(--soft);font-size:9px}.details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:42px}.infobox{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 23px}.detailrow{display:flex;align-items:center;justify-content:space-between;padding:11px 0;gap:15px;border-bottom:1px solid #e5e5da}.detailrow:last-child{border:0}.detailrow strong{font-family:var(--serif);font-weight:normal;font-size:20px}.historytable{display:grid;gap:8px;margin-bottom:40px}.historyrow{display:flex;align-items:center;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:15px 20px}.historyrow .daytitle{font-size:22px}.historyrow span:last-child{margin-left:auto}.sectionhead a,.back{font-size:13px;color:var(--red)}.about{max-width:820px;display:grid;gap:14px;margin-bottom:45px}.about p{color:var(--soft);margin-top:6px}.about a{text-decoration:underline}.notice{background:#f0ebdc;border:1px solid #d7cfb8;padding:10px 15px;border-radius:8px;margin:0 0 17px}.footbrand{font-size:20px;color:var(--ink)}footer{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:24px 0 34px;font-size:12px;color:var(--soft)}footer a{margin-left:auto}.quiet{color:var(--soft)}.empty{font-size:20px;margin:15px 0}.nosignal{opacity:.38}.metric-foot{margin-top:9px;border-top:1px solid #e7e6dc;padding-top:8px}.offline{padding:60px 0}
.reading .number{letter-spacing:-2px}.metricvalue{letter-spacing:-1px}h1{letter-spacing:-2.5px}.about input,.about button{font:inherit;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--paper);max-width:100%}.about button{background:var(--ink);color:var(--paper);cursor:pointer;align-self:start}.about ol{padding-left:22px;margin:0}.about li+li{margin-top:8px}.about [hidden]{display:none}
@media(min-width:1450px){.intro{padding-top:49px}.reading,.location{min-height:283px}}
.diary-link{margin-left:auto;font-size:12px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
.session-box{margin-top:14px}.session-box summary{cursor:pointer;overflow-wrap:anywhere}.session-box>summary{font:24px var(--serif)}.session-box h3{font:20px var(--serif);margin:18px 0 6px}.session-box p{margin:6px 0}.session-box>.source{margin-top:16px}.mfp-fold{padding:9px 0;border-bottom:1px solid var(--line)}.mfp-fold .source{margin-left:6px}.nutrient-list{margin:10px 0;display:grid;gap:6px 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.nutrient-list div{display:flex;justify-content:space-between;gap:12px}.nutrient-list dd{white-space:nowrap;margin:0}.nutrient-list small{display:block;color:var(--soft)}
.protein-line{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:8px;border-top:1px solid var(--line);font-size:13px}.protein-line strong{font:24px var(--serif)}
@media(max-width:900px){.shell{width:calc(100% - 44px)}.topbar{gap:36px}.reading{padding:20px}.heartart{right:0;width:41%}.metric{padding:16px}.date{font-size:10px}.intro{padding-top:30px}}
@media(max-width:680px){.shell{width:calc(100% - 32px)}.topbar{height:auto;min-height:83px;flex-wrap:wrap;column-gap:12px;row-gap:0;padding-top:10px}.brand{font-size:23px}.brandmark{width:28px;height:28px}.mode{order:1;font-size:10px}nav{order:2;width:100%;gap:22px;height:36px}nav a{font-size:12px}nav a[aria-current]:after{bottom:1px}.intro{padding:24px 0 18px}.headline{display:block}h1{font-size:51px;letter-spacing:-3px;margin:7px 0}.date{margin:0 0 8px}.dek{font-size:14px}.gridhero{grid-template-columns:1fr;gap:12px}.reading{min-height:226px}.location{min-height:174px}.location .eyebrow{margin:14px 18px auto}.citybox{padding:0 18px 14px}.cityname{font-size:31px}.map{width:100%}.sectionhead{margin-top:23px}.sectionhead h2{font-size:27px}.cards,.details{grid-template-columns:1fr}.metric{padding:18px 20px}.plot{height:52px}.details{gap:12px}.heartart{width:44%}.historyrow{flex-wrap:wrap;gap:6px 12px}.historyrow .daytitle{font-size:19px}.historyrow .meta{flex-basis:100%}footer{gap:9px;font-size:10px}}

.activity{padding:28px;background:#eef1e6;display:flex;flex-direction:column;justify-content:center}.activity h2{margin:18px 0 8px;text-transform:capitalize}.activity .number{font-size:clamp(36px,6vw,64px)}button:disabled{opacity:.5;cursor:default}.about code{overflow-wrap:anywhere}.about input{max-width:100%;box-sizing:border-box}

/* Three matching illustrated cards; artwork has its own space above the readings. */
.gridhero{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:14px}
.gridhero .hero-card{min-width:0;min-height:390px;padding:23px 25px;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.hero-card .kicker{font-size:10px;letter-spacing:1.2px;min-height:16px}
.hero-card .heroart{position:static;display:block;flex:none;width:190px;max-width:100%;height:172px;margin:10px auto 12px;z-index:auto}
.hero-card .hero-data{flex:1;min-height:108px;display:flex;flex-direction:column;justify-content:flex-end}
.hero-card .hero-data p{font:11px/1.6 var(--mono);color:var(--soft);margin-top:8px;overflow-wrap:anywhere}
.hero-card .source{display:flex;gap:6px;align-items:center;padding-top:15px;margin-top:16px;border-top:1px solid #282b2617;min-height:32px}
.hero-card .number{font:76px/1 var(--serif);letter-spacing:-3px}
.hero-card h2{margin:0;line-height:1.05;font-size:36px;letter-spacing:-1px;overflow-wrap:anywhere;text-transform:none}
.hero-card .hero-city{font-size:52px;letter-spacing:-1.8px}
.city-card{background:#edf0df}.city-card .kicker{color:#657448}
.gridhero .activity{background:#eeebf2}.activity .kicker{color:#81728f}
.workout-duration{font:32px/1.2 var(--serif);letter-spacing:-.8px;margin-top:5px}
.workout-duration small{font-size:18px;letter-spacing:0;margin-left:5px;color:var(--soft)}
@media(min-width:681px) and (max-width:900px){.gridhero{gap:12px}.gridhero .hero-card{padding:18px 16px}.hero-card .heroart{width:155px;height:150px}.hero-card .hero-city{font-size:40px}.hero-card h2{font-size:30px}.hero-card .kicker{font-size:9px;letter-spacing:.6px}.hero-card .number{font-size:64px}}
@media(max-width:680px){.gridhero{grid-template-columns:1fr;gap:12px}.gridhero .hero-card{min-height:340px;padding:22px}.hero-card .heroart{height:150px;width:168px;margin:5px auto 8px}.hero-card .hero-data{min-height:90px}.hero-card .hero-city{font-size:48px}}
