:root{color:#11110f;background:#e9e4d9;font-family:Georgia,"Noto Serif SC",Songti SC,serif;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;margin:0;background:#e9e4d9}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}.meter-shell{width:min(340px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:24px 16px 28px;background:#fffdf7;border-inline:2px solid #11110f}.topbar,.card-heading-row,.settings-row,.footer-status,.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-actions{display:flex;align-items:center;gap:10px}h1,h2,p{margin:0}h1{font-size:31px;line-height:1;letter-spacing:-.045em}h2{font-size:22px;line-height:1.14;letter-spacing:-.025em}.micro-label,.connection,.footer-action{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.3}.connection{white-space:nowrap}.connection:before{content:"■";margin-right:5px;font-size:8px}.connection.is-offline:before{content:"□"}.reading-card,.settings-row,.notice-panel,.login-card{border:2px solid #11110f;background:#fffdf7}.reading-card{margin-top:16px;padding:16px 14px}.metric{margin-top:10px;font-size:57px;font-weight:700;letter-spacing:-.08em;line-height:.9}.remaining{margin-top:12px;font-size:18px;font-weight:700}.support-copy,.muted-copy,.pace-copy,.footer-status,.notice-panel p{font-size:13px;line-height:1.5}.support-copy{margin-top:14px}.muted-copy{color:#5d5b54}.meter-bar,.pace-meter{position:relative;height:22px;margin-top:18px;overflow:visible;border:1px solid #11110f;background:#f6f1e7}.actual-fill{display:block;height:100%;background:#11110f}.target-marker{position:absolute;top:-7px;bottom:-7px;width:0;border-left:2px dashed #11110f}.target-marker span{position:absolute;top:-21px;left:4px;width:max-content;padding:1px 3px;background:#fffdf7;font-size:10px;line-height:1.2;white-space:nowrap}.target-marker.is-right-aligned span{left:auto;right:4px}.card-heading-row .micro-label:last-child{text-align:right}.pace-copy{margin-top:17px;font-weight:700}.pace-card .support-copy{margin-top:5px}.settings-row{margin-top:16px;padding:13px 14px}.settings-title{font-size:16px;font-weight:700}.settings-actions{display:flex;gap:14px;align-items:center}.text-button,.close-button,.footer-action{padding:2px 0;border:0;border-bottom:1px solid #11110f;background:transparent;color:inherit}.text-button{font-size:15px;font-weight:700}.footer-status{align-items:baseline;flex-wrap:wrap;margin-top:14px;color:#48463f}.footer-status .connection{margin-left:auto;color:#11110f}.footer-action{color:#11110f}.page-error{margin-top:14px;border-left:3px solid #11110f;padding-left:9px;font-size:13px}.notice-panel,.login-card{padding:22px 18px}.notice-panel{margin-top:24px}.notice-panel h2,.notice-panel h1{margin-top:8px}.notice-panel p:not(.micro-label){margin-top:12px}.button{width:100%;margin-top:20px;padding:11px 14px;border:2px solid #11110f;border-radius:0;background:#11110f;color:#fffdf7;font-size:15px;font-weight:700}.button:focus-visible,.text-button:focus-visible,.close-button:focus-visible,input:focus-visible{outline:3px solid #796cff;outline-offset:2px}.login-shell{display:grid;place-items:center}.login-card{width:100%}.login-card h1{margin-top:8px;font-size:29px}form{margin-top:20px}label{display:block;font-size:14px;font-weight:700}input[type=password],input[type=datetime-local]{width:100%;min-width:0;margin-top:7px;padding:9px;border:1px solid #11110f;border-radius:0;background:#fffdf7;color:#11110f;font-size:16px}.form-error{min-height:20px;margin-top:8px;color:#a1271a;font-size:13px}.modal-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;padding:16px;background:#11110f6b}.settings-modal{width:min(340px,100%);padding:18px 16px 20px;border:3px solid #11110f;background:#fffdf7;box-shadow:6px 6px #11110f}.close-button{font-size:26px;line-height:.7}.radio-option{display:flex;align-items:center;gap:8px;margin-top:15px}.radio-option input{accent-color:#11110f}.custom-date{margin:15px 0 0 25px}.custom-date.is-hidden{display:none}@media(max-width:350px){.meter-shell{width:calc(100% - 20px);padding-inline:12px}.metric{font-size:51px}.target-marker span{font-size:9px}}@media(prefers-reduced-motion:no-preference){.actual-fill{transition:width .2s ease-out}}
