*,:before,:after{box-sizing:border-box}:root{--bg:#140c08;--panel:#2a1a10d1;--panel-border:#e8c99424;--cream:#f4e7c8;--foam:#fff6e4;--amber:#e4a326;--muted:#b49a7e;--danger:#d46a54;--shadow:0 18px 50px #00000059;--display:"Frank Ruhl Libre", "Times New Roman", serif;--sans:"Assistant", "Avenir Next", system-ui, sans-serif;--radius:22px}html,body,#root{min-height:100%}html{direction:rtl}body{color:var(--cream);font-family:var(--sans);background:radial-gradient(1200px 500px at 50% -80px, #e4a3262e, transparent 55%), radial-gradient(800px 400px at 100% 100%, #5a281266, transparent 50%), linear-gradient(180deg, #1a100a 0%, var(--bg) 40%, #0e0906 100%);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin:0}.app{width:min(560px,100%);min-height:100dvh;margin:0 auto;padding:18px 18px 108px}.topbar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.brand{font-family:var(--display);letter-spacing:-.03em;color:var(--cream);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:1.55rem;font-style:italic;display:flex}.brand-mark{width:28px;height:28px;color:var(--amber)}.icon-btn{border:1px solid var(--panel-border);width:42px;height:42px;color:var(--cream);background:#fff6e40a;border-radius:14px;place-items:center;display:grid}.icon-btn svg,.danger-btn svg,.log-cta svg,.tabbar svg{width:20px;height:20px}.icon-btn.active{background:var(--amber);color:#1a100a;border-color:#0000}.page{gap:16px;display:grid}.page-kicker p{color:var(--muted);letter-spacing:.04em;font-size:.84rem}.page-kicker h1{font-family:var(--display);letter-spacing:-.03em;margin-top:4px;font-size:2.15rem;font-weight:700}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;gap:2px;padding:14px 12px 12px;display:grid}.stat-card span,.stat-card em{color:var(--muted);font-size:.72rem;font-style:normal}.stat-card strong{font-family:var(--display);font-size:1.85rem;line-height:1.1}.stat-card.warn strong{color:var(--danger)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{font-size:1rem;font-weight:600}.panel-head span,.muted,.hint{color:var(--muted);font-size:.88rem}.hint{margin-bottom:8px}.center{text-align:center}.month-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.month-nav h2{font-family:var(--display);text-align:center;flex:1;font-size:1.35rem}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-dow{text-align:center;color:var(--muted);padding-bottom:4px;font-size:.78rem}.cal-day{aspect-ratio:1;background:#fff6e40a;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;padding:0;display:flex}.cal-day.empty{pointer-events:none;background:0 0}.cal-day.has{background:rgba(228, 163, 38, calc(.12 + (var(--heat,.4) * .45)))}.cal-day.today{box-shadow:inset 0 0 0 1px #f4e7c873}.cal-day.selected{background:var(--amber);color:#1a100a;border-color:#0000}.cal-num{font-size:.95rem;font-weight:700}.cal-count{min-height:.8em;color:var(--amber);font-size:.68rem;font-weight:700}.cal-day.selected .cal-count{color:#6b4a12}.cal-day.slept .cal-count:after{content:"·";color:var(--cream);margin-inline-start:1px}.cal-day.selected.slept .cal-count:after{color:#6b4a12}.sleep-field{margin-top:14px}.time-picker-wrap{gap:10px;display:grid}.time-picker{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;max-width:240px;display:grid}.time-select{min-width:0;display:grid}.time-picker select{border:1px solid var(--panel-border);text-align:center;font-variant-numeric:tabular-nums;background:#0c080673;border-radius:14px;outline:none;width:100%;padding:12px 10px;font-size:1.15rem;font-weight:700}.time-picker select:focus{border-color:var(--brass,#c9a45a)}.time-colon{font-family:var(--display);color:var(--cream);font-size:1.6rem;font-weight:700}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wake-row{grid-template-columns:repeat(7,1fr);gap:6px;margin:12px 0 16px;display:grid}.wake-chip{border:1px solid var(--panel-border);background:#fff6e40d;border-radius:12px;justify-items:center;gap:2px;padding:8px 2px;display:grid}.wake-chip span{color:var(--muted);font-size:.72rem}.wake-chip strong{font-size:.78rem;font-weight:700}.bar-chart{align-items:end;gap:4px;height:140px;display:grid}.bar-chart-14{grid-template-columns:repeat(14,1fr)}.bar[data-short=true]{background:#d46a54}.log-cta,.primary-btn{background:linear-gradient(180deg, #f0bf4a, var(--amber));color:#1a100a;border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 18px;font-weight:700;display:flex;box-shadow:0 10px 24px #e4a32647}.log-cta{margin:14px 0}.log-cta:active,.primary-btn:active,.chip:active,.drink-card:active,.cal-day:active{transform:translateY(1px)}.chip-row{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row.wrap{flex-wrap:wrap;overflow:visible}.chip,.ghost-btn{border:1px solid var(--panel-border);color:var(--cream);white-space:nowrap;background:#fff6e40d;border-radius:999px;padding:8px 12px}.chip.selected{background:var(--cream);color:#1a100a;border-color:#0000}.stack,.stack-actions{gap:8px;display:grid}.drink-card{text-align:right;border:1px solid var(--panel-border);background:#140c0859;border-radius:16px;gap:6px;width:100%;padding:12px 14px;display:grid}.drink-card-main{gap:2px;display:grid}.drink-card-main span,.drink-card-meta{color:var(--muted);font-size:.86rem}.drink-card-meta{justify-content:space-between;gap:8px;display:flex}.empty{gap:12px;display:grid}.field,fieldset.field{border:0;gap:8px;margin:0;padding:0;display:grid}.field span,.field legend{color:var(--muted);font-size:.78rem}.field input,.field select,.field textarea{border:1px solid var(--panel-border);background:#0c080673;border-radius:14px;outline:none;width:100%;padding:12px 14px}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:16px 50%,11px 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-left:32px}.field input:focus,.field select:focus{border-color:var(--brass,#c9a45a)}.stepper{direction:ltr;justify-content:center;align-items:center;gap:18px;display:flex}.stepper strong{font-family:var(--display);text-align:center;min-width:2ch;font-size:2.6rem}.sheet-backdrop{z-index:20;background:#0805039e;align-items:end;display:grid;position:fixed;inset:0}.sheet{border:1px solid var(--panel-border);background:#20140d;border-radius:28px 28px 0 0;width:min(560px,100%);max-height:min(92dvh,860px);margin:0 auto;padding:18px 18px 28px;overflow:auto}.sheet-head{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.sheet-head p{color:var(--muted);font-size:.8rem}.sheet-head h2{font-family:var(--display);margin-top:4px;font-size:1.7rem}.sheet-body{gap:16px;display:grid}.sheet-actions{background:linear-gradient(#0000,#20140d 30%);gap:10px;padding-top:8px;display:flex;position:sticky;bottom:0}.sheet-actions .primary-btn{flex:1}.primary-btn:disabled{opacity:.45}.danger-btn{color:#f0c2b6;background:#d46a541f;border:1px solid #d46a5466;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;display:inline-flex}.toast{background:var(--foam);color:#1a100a;z-index:30;border-radius:999px;width:max-content;max-width:calc(100% - 32px);padding:10px 14px;font-weight:650;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.tabbar{border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:15;background:#160d08db;border-radius:24px;grid-template-columns:1fr 1fr;gap:4px;width:min(520px,100% - 24px);padding:8px;display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.tabbar button{color:var(--muted);background:0 0;border:0;border-radius:16px;justify-items:center;gap:3px;padding:8px 4px;font-size:.78rem;display:grid}.tabbar button.active{color:var(--cream);background:#fff6e414}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ltr{direction:ltr}.bar-chart-12{grid-template-columns:repeat(12,1fr)}.bar-chart-30{grid-template-columns:repeat(30,1fr)}.bar-col{align-items:end;height:100%;display:flex}.bar{background:var(--amber);border-radius:4px 4px 2px 2px;width:100%;min-height:4px}.bar[data-empty=true]{background:#fff6e41f;height:6%!important}.bar-axis{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:.75rem;display:flex}.weekday-chart,.rank-list{gap:8px;display:grid}.weekday-row{color:var(--muted);grid-template-columns:36px 1fr 32px;align-items:center;gap:8px;font-size:.88rem;display:grid}.weekday-row em,.rank-list em{color:var(--cream);text-align:left;font-style:normal}.goal-track,.rank-bar{background:#fff6e414;border-radius:99px;height:9px;overflow:hidden}.goal-fill,.rank-bar div{background:linear-gradient(90deg, #c9842a, var(--amber));border-radius:inherit;height:100%}.rank-list{margin:0;padding:0;list-style:none}.rank-list li{grid-template-columns:minmax(0,1.2fr) minmax(40px,1fr) 32px;align-items:center;gap:8px;padding:6px 0;display:grid}.fact-list{gap:10px;margin:12px 0 0;padding:0 1.1em 0 0;font-size:.95rem;line-height:1.45;display:grid}.warn-text{color:#f0c2b6}.disclaimer{color:var(--muted);margin-top:14px;font-size:.86rem}.source-list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.source-list a{color:var(--amber);font-size:.86rem}.inline-btn{width:fit-content;margin-top:10px}.check-field{color:var(--cream);align-items:center;gap:10px;margin-top:8px;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--amber)}.ghost-btn{width:fit-content}@media (width>=720px){.app{padding-top:28px}.sheet{border-radius:28px;align-self:center;margin-bottom:24px}.sheet-backdrop{align-items:center;padding:24px}}
