html,body{width:100%;height:100%;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;margin:0;padding:0;display:flex}:root{--bg:#000;--surface:#1f1f1f;--fg:#fff;--dim:#888;--border:#333;--accent:#0078d4;--danger:#e81123}:root[data-theme=light]{--bg:#fff;--surface:#f5f5f5;--fg:#000;--dim:#666;--border:#e0e0e0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;margin:0;padding:0;font-family:Segoe UI Semilight,Segoe UI,Tahoma,sans-serif;overflow-x:hidden}.app{flex-direction:column;width:100%;min-height:100vh;margin:0;padding:0;display:flex}.page{box-sizing:border-box;flex:1;width:100%;max-width:100%;margin:0;padding:20px 40px}.sub-page{box-sizing:border-box;width:100%;max-width:100%;padding:20px 40px}h1,h2{color:var(--fg);font-weight:300}.text-large{color:var(--fg);font-size:32px;font-weight:200}.text-dim{color:var(--dim)}.text-accent{color:var(--accent)}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;padding:14px 28px;font-family:inherit;font-size:16px;font-weight:400;text-decoration:none;transition:filter .2s;display:inline-block}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.98)}.btn-block{text-align:center;width:100%}.btn-back{color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 0;font-family:inherit;font-size:16px;font-weight:400;transition:opacity .2s}.btn-back:hover{opacity:.7}.btn-icon{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-family:inherit;font-size:24px;font-weight:300;transition:opacity .2s}.btn-icon:hover{opacity:.7}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.back-header{margin-bottom:10px}.page-title{color:var(--fg);text-transform:lowercase;letter-spacing:-1px;margin:10px 0 30px;font-size:56px;font-weight:200;line-height:1.2}.date-selector{border-bottom:2px solid var(--border);justify-content:center;align-items:center;gap:20px;padding:20px 0;display:flex}.date-selector h2{margin:0;font-size:22px;font-weight:300}.flex-row{justify-content:space-between;align-items:center;display:flex}.header{border-bottom:2px solid var(--border);padding:20px 0}.chart-wrapper{flex-shrink:0;justify-content:center;align-items:center;width:200px;min-width:200px;max-width:200px;height:200px;display:flex;position:relative}.chart-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calories-summary{flex:none;min-width:140px;max-width:40vw}.macro-breakdown{justify-content:space-around;display:flex}.macro-breakdown>div{text-align:center}.list-item{border-bottom:2px solid var(--border);cursor:pointer;opacity:0;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;padding:20px;transition:background-color .2s;animation:.4s cubic-bezier(.1,.9,.2,1) forwards slideIn;display:flex}.list-item:hover{background-color:var(--surface)}.list-item:active{transform:scale(.98)}.list-item .meta{color:var(--dim);font-size:14px}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.search-input{background:var(--surface);border:2px solid var(--border);width:100%;color:var(--fg);box-sizing:border-box;outline:none;margin-bottom:20px;padding:12px 15px;font-family:inherit;font-size:22px;font-weight:300;transition:all .2s}.search-input:focus{border-color:var(--accent);background:#ffffff1a}.search-input::placeholder{color:var(--dim)}.workouts-metric{text-align:center;margin:40px 0}.pivot-bar{border-top:2px solid var(--border);background-color:var(--bg);z-index:10;display:flex;position:sticky;bottom:0}.pivot-item{color:var(--dim);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:16px;font-family:inherit;font-size:18px;font-weight:400;text-decoration:none;transition:color .2s;display:block}.pivot-item:hover{color:var(--fg)}.pivot-item.active{color:var(--accent);border-bottom-color:var(--accent)}.pivot-bar.hidden{display:none}@media (max-width:768px){.page,.sub-page{width:100%;padding:15px 20px}.page-title{font-size:42px}.text-large{font-size:24px}.chart-wrapper{width:150px;min-width:150px;max-width:150px;height:150px}.calories-summary{min-width:150px}}@media (max-width:480px){.page,.sub-page{width:100%;padding:10px 15px}.page-title{font-size:32px}.chart-wrapper{width:120px;min-width:120px;height:120px}}
