@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_c5b148{font-family:Fraunces,Fraunces Fallback}.__variable_c5b148{--font-fraunces:"Fraunces","Fraunces Fallback"}:root{--bg:#f5f0e6;--card:#fffdf8;--fg:#222b39;--muted:#6d6c62;--line:#e6ddcb;--box:#f0e9da;--accent:#c14608;--accent-press:#a83d06;--accent-ink:#a03f06;--accent-soft:#f9e2d0;--on-accent:#ffffff;--good:#3f663f;--good-soft:#e4eedd;--sleep:#5f59a6;--sleep-soft:#e9e6f7;--sleep-bar:#8d86d8;--night-1:#23244a;--night-2:#40315f;--night-fg:#f1edff;--night-muted:#b6aede;--shadow-card:0 1px 2px rgba(74,56,28,0.04),0 6px 20px rgba(74,56,28,0.06);--shadow-btn:0 2px 10px rgba(193,70,8,0.25);--font-num:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--font-display:var(--font-fraunces),"Noto Sans Thai",Georgia,serif}@media (prefers-color-scheme:dark){:root{--bg:#12141a;--card:#1b1e26;--fg:#e9eaef;--muted:#979dab;--line:#2b2f3a;--box:#232734;--accent:#ff8043;--accent-press:#ff9159;--accent-ink:#ff9c6b;--accent-soft:#3a2314;--on-accent:#201209;--good:#93bd86;--good-soft:#223020;--sleep:#a79ef2;--sleep-soft:#282546;--sleep-bar:#7d75c9;--night-1:#1a1c3a;--night-2:#2f2751;--night-fg:#eee9ff;--night-muted:#a49bd4;--shadow-card:none;--shadow-btn:none}}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{background:var(--bg);color:var(--fg);font:15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans Thai,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{max-width:480px;margin:0 auto;padding:20px 16px 96px;display:flex;flex-direction:column;gap:12px}h1{font-family:var(--font-display);font-size:1.55rem;font-weight:600;letter-spacing:-.01em;text-wrap:balance}.big em,h1 em{font-style:italic;font-weight:500}a{color:var(--accent-ink);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow-card)}.card.sleep{background:radial-gradient(120% 90% at 85% -10%,rgba(141,134,216,.35),transparent 60%),linear-gradient(150deg,var(--night-1),var(--night-2));border-color:transparent;color:var(--night-fg);padding:18px}.card.sleep .lbl,.card.sleep .mut{color:var(--night-muted)}.card.sleep .pill.zz{background:rgba(255,255,255,.14);color:var(--night-fg);font-weight:600}.card.today{border-left:4px solid var(--accent);background:linear-gradient(to right,var(--accent-soft),var(--card) 38%)}.row{display:flex;align-items:center;justify-content:space-between;gap:8px}.lbl{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.12em}.big,.lbl{font-weight:600}.big{font-family:var(--font-display);font-size:1.2rem}.huge{font-family:var(--font-num);font-size:2.6rem;font-weight:700;line-height:1.1;letter-spacing:-.04em}.mut{color:var(--muted);font-size:.82rem}.num{font-family:var(--font-num);font-size:.92em;letter-spacing:-.02em}.pill{display:inline-block;border-radius:999px;padding:3px 11px;font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.pill.q{background:var(--accent);color:var(--on-accent)}.pill.e{background:var(--box);border:1px solid var(--line);color:var(--muted)}.pill.ok{background:var(--good-soft);color:var(--good)}.pill.zz{background:var(--sleep-soft);color:var(--sleep)}.btn{border:1.5px solid var(--line);border-radius:12px;text-align:center;padding:13px 12px;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-family:inherit;background:var(--card);color:var(--fg);width:100%;cursor:pointer;transition:transform .06s ease,background .15s ease}.btn:active{transform:scale(.98)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-btn)}.btn.pri:active{background:var(--accent-press)}.btn:disabled{opacity:.6;cursor:default}.chip{display:inline-block;border:1px solid var(--fg);border-radius:7px;padding:2px 9px;font-family:var(--font-num);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.chip,.input{color:var(--fg)}.input{padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-size:1rem;font-family:inherit;width:100%}.input::placeholder{color:var(--muted);opacity:.7}.input:focus{outline:none;border-color:var(--accent)}.banner{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:10px 14px;font-size:.85rem;color:var(--fg)}.gauge{height:8px;background:var(--box);overflow:hidden}.gauge,.gauge i{border-radius:99px}.gauge i{display:block;height:100%;background:linear-gradient(to right,var(--good),var(--good))}.bars{display:flex;justify-content:space-between;align-items:flex-end;height:52px;padding:0 4px}.bars i{width:14px;min-height:8px;background:var(--sleep-bar);border-radius:99px}table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}tr:last-child td{border-bottom:none}th{color:var(--muted);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}td.col-cool,td.col-hot{font-family:var(--font-num);font-size:.82rem}td.col-cool,th.col-cool{color:var(--sleep)}td.col-hot,th.col-hot{color:var(--accent-ink)}td.col-cool,td.col-hot{font-weight:600}td.col-cool.mut,td.col-hot.mut{color:var(--muted);font-weight:400}nav.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px 0 max(10px,env(safe-area-inset-bottom));max-width:480px;margin:0 auto}nav.tabbar a{flex:1 1;text-align:center;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:3px}nav.tabbar a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}nav.tabbar a.on{color:var(--accent-ink);font-weight:700}nav.tabbar a.on svg{stroke-width:2.2}