:root{--text:#2b2b33;--bg:#f6f6f8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e7e7ec;--bg:#16171d}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden}.app{flex-direction:column;max-width:900px;height:100dvh;margin:0 auto;padding:0 16px;display:flex}.app-header{padding-top:calc(10px + env(safe-area-inset-top,0px));flex:none}.app h1{text-align:center;margin:0 0 8px;font-size:20px}.content-wrap{flex:1;min-height:0;position:relative}.content-scroll{height:100%;padding:14px 2px calc(80px + env(safe-area-inset-bottom,0px));overflow-y:auto}.bottom-bar{padding:10px 0 calc(14px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid #80808040;flex-direction:column;flex:none;gap:10px;display:flex}.empty{text-align:center;color:#888}.tabs{border-bottom:2px solid #80808033;display:flex}.tab{font:inherit;color:#888;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;flex:1;margin-bottom:-2px;padding:10px 4px;font-weight:600}.tab-current{color:inherit;border-bottom-color:#5b8def}.fab{color:#fff;cursor:pointer;z-index:5;background:#5b8def;border:none;border-radius:50%;width:52px;height:52px;font-size:24px;line-height:1;position:absolute;bottom:14px;right:10px;box-shadow:0 4px 14px #0000004d}.fab-on{background:#34a853}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{--chip-color:#888;font:inherit;border:1.5px solid var(--chip-color);color:inherit;cursor:pointer;opacity:.75;background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.chip-on{background:var(--chip-color);color:#fff;opacity:1}.project-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-row{background:#8080801a;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.project-hidden .project-name,.project-hidden .row-name-button{opacity:.55}.project-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.project-name{word-break:break-word;flex:1;min-width:0}.row-name-button{min-width:0;font:inherit;text-align:left;color:inherit;cursor:pointer;word-break:break-word;background:0 0;border:none;flex:1;padding:4px 0}.row-button{font:inherit;color:inherit;cursor:pointer;background:#8080802e;border:none;border-radius:10px;flex-shrink:0;padding:8px 12px;font-size:14px}.row-button-accent{color:#fff;background:#5b8def}.row-button-danger{color:#e8553e;background:#e8553e26}.log-day{margin-bottom:20px}.log-day-header{border-bottom:1px solid #80808040;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding:6px 2px;font-weight:700;display:flex}.log-total{font-variant-numeric:tabular-nums;color:#888;flex-shrink:0}.log-group{margin-bottom:6px}.log-group-row{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:#8080801a;border:none;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.log-chevron{color:#888;flex-shrink:0}.log-entry{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:8px 12px 8px 32px;font-size:14px;display:flex}.log-entry:hover{background:#80808014}.log-entry-time{font-variant-numeric:tabular-nums;flex-shrink:0}.log-entry-comment{text-overflow:ellipsis;white-space:nowrap;color:#888;flex:1;min-width:0;overflow:hidden}.log-entry-edit{cursor:default;background:#80808014;flex-direction:column;align-items:stretch;gap:6px;margin:4px 0 4px 20px;padding:12px;display:flex}.log-edit-actions{gap:8px;margin-top:4px;display:flex}.log-more{margin:4px auto 16px;display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.tile{--tile-color:#5b8def;background:var(--tile-color);color:#fff;min-height:110px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:18px;font-weight:600;transition:transform 80ms,box-shadow .15s;display:flex;position:relative}.tile:active{transform:scale(.96)}.tile-active{box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--tile-color)}.tile-name{word-break:break-word}.tile-icon{font-size:28px;line-height:1}.edit-hint{color:#888;text-align:center;margin:4px 0;font-size:13px}.grid-edit .tile{touch-action:none}.tile-dragging{opacity:.75;z-index:1;transform:scale(1.06)}.tile-editing{outline-offset:3px;outline:3px dashed #80808099}.tile-editor{background:#8080801a;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.project-list .tile-editor{margin-top:6px}.tile-editor-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.icon-input{text-align:center;flex:none;width:64px;padding:8px;font-size:22px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:none;border-radius:50%;width:32px;height:32px}.swatch-current{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px #888}.tile-timer{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.tile-today{opacity:.65;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;position:absolute;top:8px;right:10px}.tile-delete{opacity:.55;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;font-weight:400;display:flex;position:absolute;top:4px;right:4px}.tile-delete:hover{opacity:1;background:#0003}.comment-box{flex-direction:column;gap:8px;display:flex}.comment-label{color:#888;font-size:13px}.add-form{gap:8px;display:flex}.content-scroll .add-form{margin-top:16px}.add-input{font:inherit;color:inherit;background:0 0;border:1px solid #ccc;border-radius:12px;flex:1;min-width:0;padding:12px 14px}.login-form{flex-direction:column;gap:10px;max-width:320px;margin:48px auto 0;display:flex}.login-error{color:#e8553e;text-align:center;margin:0}.add-button{font:inherit;color:#fff;cursor:pointer;background:#5b8def;border:none;border-radius:12px;padding:12px 18px;font-weight:600}
