:root{font-family:"Trebuchet MS","PingFang SC",sans-serif;color:#21211e;background:#f5f3ee;--lime:#ddec57;--violet:#8d78d6;--ink:#21211e}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#eeece6 1px,transparent 1px),linear-gradient(90deg,#eeece6 1px,transparent 1px),#f5f3ee;background-size:32px 32px}button,input,textarea{font:inherit}button{cursor:pointer}header{height:76px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #cbc8c0;background:#f5f3eef0;position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}.logo{font-weight:bold;color:var(--ink);text-decoration:none;font-size:18px}.logo i{display:inline-block;width:13px;height:13px;background:var(--lime);border-radius:50% 50% 50% 0;margin-right:9px;transform:rotate(-30deg)}header p{font-size:11px;color:#74736e}header>button{justify-self:end;background:var(--ink);color:white;border:0;border-radius:99px;padding:11px 19px}.hero{max-width:1380px;margin:auto;padding:90px 5vw 70px;display:flex;justify-content:space-between;align-items:end}.overline{font-size:9px;letter-spacing:.2em;color:#77766f}.hero h1{font-size:clamp(55px,8vw,116px);line-height:.9;letter-spacing:-.065em;margin:25px 0 0;font-weight:500}.hero h1 em{font-family:Georgia,"Songti SC",serif;font-weight:400;color:var(--violet)}.hero-note{width:185px;height:185px;background:var(--lime);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:10px;transform:rotate(4deg)}.hero-note b{font-size:54px;font-weight:400}.hero-note span{font-size:10px;line-height:1.5}.toolbar{max-width:1260px;margin:0 auto 18px;padding:20px 28px;background:#22221f;color:#fff;border-radius:20px 20px 7px 7px;display:flex;justify-content:space-between;align-items:center;gap:25px}.toolbar label{font-size:9px;letter-spacing:.15em;color:#9c9b96;display:block;margin-bottom:9px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{border:1px solid #555550;color:#d8d7d1;background:transparent;border-radius:99px;padding:7px 12px;font-size:11px}.chips button.active{background:var(--lime);border-color:var(--lime);color:#20211c}.comfort-inputs{display:flex;gap:8px}.comfort-inputs span{border:1px solid #52524e;border-radius:9px;padding:5px;color:#aaa;font-size:11px}.comfort input{width:36px;background:transparent;border:0;color:white;text-align:center;outline:0;font-size:12px}.chart-panel,.summary,.timeline{max-width:1260px;margin:0 auto 18px;background:#fff;border:1px solid #d8d5cd;border-radius:8px 8px 24px 24px;padding:30px}.panel-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.panel-head h2{font-size:29px;margin:7px 0 0;font-weight:500}.metric-switch{border:1px solid #d0cec7;border-radius:99px;padding:3px}.metric-switch button{border:0;background:transparent;border-radius:99px;padding:8px 12px;font-size:10px}.metric-switch button.active{background:var(--ink);color:white}.chart{min-height:360px;overflow-x:auto}.chart svg{min-width:720px;width:100%;height:360px;display:block}.grid-line{stroke:#e4e2dd;stroke-width:1}.axis-text{font:10px monospace;fill:#929088}.comfort-band{fill:#ddec57;opacity:.22}.data-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.data-dot{stroke:#fff;stroke-width:2}.legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;font-size:10px;color:#777}.legend i{display:inline-block;width:18px;height:3px;margin:0 6px 3px 0}.empty-chart{min-height:240px;display:grid;place-items:center;text-align:center;color:#888}.empty-chart b{display:block;color:#34342f;font-size:20px;margin-bottom:8px}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:20px;background:#eeece6;border-radius:18px 6px 18px 6px}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-head h3{margin:0;font-size:17px}.mood{font-size:9px;background:white;padding:6px 8px;border-radius:99px}.stat-main{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 14px}.stat-main div+div{border-left:1px solid #d0cdc5;padding-left:16px}.stat-main b{font-size:29px;font-weight:400}.stat-main small,.stat-range,.delta{display:block;font-size:9px;color:#777;margin-top:4px}.delta{border-top:1px solid #d3d0c8;padding-top:12px}.delta.up{color:#c26043}.delta.down{color:#5c79b0}.timeline{margin-bottom:80px}.text-btn{background:none;border:0;color:#8c6dd2;font-size:11px}.record{display:grid;grid-template-columns:125px 120px 1fr auto;gap:20px;align-items:center;padding:17px 8px;border-top:1px solid #e0ded8}.record time{font:11px monospace;color:#777}.record .room{font-weight:bold}.record .reading b{font-size:18px;margin-right:13px}.record .note{font-size:11px;color:#6f6e68;margin-top:5px}.record button{border:0;background:none;color:#aaa;font-size:19px}dialog{border:0;border-radius:24px;padding:0;width:min(540px,92vw);background:#f7f5ef;color:var(--ink)}dialog::backdrop{background:rgba(30,29,34,.68);backdrop-filter:blur(3px)}dialog form{padding:32px}.dialog-top{display:flex;justify-content:space-between}.dialog-top h2{margin:8px 0 28px;font-size:28px}.dialog-top button{border:0;background:none;font-size:27px;align-self:start}dialog label{display:block;font-size:10px;color:#777;margin-top:14px;position:relative}dialog label span{position:absolute;right:13px;bottom:13px}dialog input,dialog textarea{width:100%;margin-top:6px;border:1px solid #cbc8c0;border-radius:10px;background:#fff;padding:12px;outline:none}dialog input:focus,dialog textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #8d78d622}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.submit{width:100%;border:0;background:var(--lime);padding:14px;border-radius:99px;margin-top:18px;font-weight:bold}.form-error{color:#b54a39;font-size:11px;min-height:16px;margin-top:10px}footer{text-align:center;padding:28px;font-size:10px;color:#85837d}@media(max-width:800px){header{grid-template-columns:1fr auto;height:68px;padding:0 18px}header p{display:none}.hero{padding:60px 22px 42px}.hero-note{width:110px;height:110px}.hero-note b{font-size:34px}.hero-note span{display:none}.toolbar{margin:0 12px 12px;display:block;border-radius:16px;padding:20px}.comfort{margin-top:18px}.chart-panel,.summary,.timeline{margin:0 12px 12px;padding:20px}.stat-cards{grid-template-columns:1fr}.record{grid-template-columns:1fr auto;gap:7px}.record .room,.record>div{grid-column:1}.record button{grid-column:2;grid-row:1/4}.panel-head{align-items:start;gap:14px}.hero h1{font-size:56px}}@media(max-width:480px){.hero-note{display:none}.two{grid-template-columns:1fr}.comfort-inputs{flex-wrap:wrap}}
