@font-face{font-family:AaNemomomo;src:url(/fonts/AaNemomomo.woff2)format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--font:"AaNemomomo", "Figtree", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--display:"AaNemomomo", "Sora", "Figtree", sans-serif;--bg:#eef1f4;--bg-tint:#0f766e0f;--surface:#fff;--surface-2:#f6f8f9;--border:#d9dfe4;--border-strong:#b6bfc7;--text:#12181d;--muted:#47525b;--faint:#6b7680;--accent:#0f766e;--accent-strong:#0b5c55;--accent-fg:#f0fdfa;--accent-tint:#d8efec;--danger:#c0392b;--chip:#eef1f4;--shadow:0 1px 2px #1018200a, 0 8px 24px #1018200f;--radius:16px;--radius-sm:10px;--header-h:56px;--nav-h:60px;--fs-2xs:.68rem;--fs-xs:.74rem;--fs-sm:.82rem;--fs-base:1rem;--fs-md:.98rem;--fs-lg:1.08rem;--fs-xl:1.2rem;--fs-2xl:1.4rem}:root[data-theme=dark]{--bg:#0b0f12;--bg-tint:#2dd4bf12;--surface:#161b20;--surface-2:#1c2329;--border:#2c353c;--border-strong:#47535c;--text:#eef2f5;--muted:#b3bec6;--faint:#8794a0;--accent:#2dd4bf;--accent-strong:#5ee7d7;--accent-fg:#06201d;--accent-tint:#123634;--danger:#fb7185;--chip:#1c2329;--shadow:0 1px 2px #0006, 0 10px 28px #00000052}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:17px}html,body,#root{min-height:100dvh;margin:0;padding:0}body{color:var(--text);font-family:var(--font);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(ellipse 80% 45% at 100% -5%, var(--bg-tint), transparent 60%), var(--bg);background-attachment:fixed;line-height:1.5}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--fs-sm)}.appShell{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}.header{z-index:20;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--border);align-items:center;display:flex;position:sticky;top:0}.headerInner{align-items:center;gap:10px;width:100%;max-width:720px;margin:0 auto;display:flex}.brandMark{background:var(--accent);width:30px;height:30px;color:var(--accent-fg);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.brandName{font-family:var(--display);font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:600}.headerSpacer{flex:1}.syncMeta{font-size:var(--fs-2xs);color:var(--faint);font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:720px;padding:14px max(14px, env(safe-area-inset-right)) calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 12px) max(14px, env(safe-area-inset-left));flex:1;margin:0 auto}.view{flex-direction:column;gap:12px;display:flex}.view>:last-child{margin-bottom:0}h2.sectionTitle{font-family:var(--display);font-size:var(--fs-md);margin:6px 2px 2px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.muted{color:var(--muted);font-size:var(--fs-sm)}.faint{color:var(--faint);font-size:var(--fs-xs)}.chipRow{flex-wrap:wrap;gap:8px;display:flex}.chipRow.scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.chipRow.scroll::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;border-radius:999px;padding:7px 13px;transition:opacity .12s}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.chipRow.hasSel .chip:not(.on){opacity:.62}.chip.ghost{color:var(--faint);border-style:dashed}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);font-size:var(--fs-sm);padding:9px 14px;font-weight:500}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.block{width:100%}.btn:disabled{opacity:.5}.field{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:var(--radius-sm);font-size:var(--fs-sm);padding:10px 12px}.dayGroup{margin-top:4px}.dayHead{top:calc(var(--header-h) + env(safe-area-inset-top,0px));z-index:5;background:var(--bg);font-size:var(--fs-xs);color:var(--faint);letter-spacing:.02em;padding:8px 2px 6px;font-weight:600;position:sticky}.tapRow{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 4px;display:flex}.tapRow:last-child{border-bottom:none}.tapTime{font-size:var(--fs-sm);color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;width:42px}.tapEmoji{text-align:center;flex-shrink:0;width:24px;font-size:1.15rem}.tapMain{flex:1;min-width:0}.tapDevice{font-size:var(--fs-md);font-weight:500}.tapApp{font-size:var(--fs-xs);color:var(--muted);margin-top:1px}.tapApp.none{color:var(--faint);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.srcBadge{font-size:var(--fs-2xs);color:var(--faint);border:1px solid var(--border);border-radius:6px;padding:1px 5px}.tapScreen{min-height:100dvh;padding:32px max(18px, env(safe-area-inset-left)) calc(28px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.tapCheck{background:var(--accent);width:76px;height:76px;color:var(--accent-fg);border-radius:50%;place-items:center;font-size:2.2rem;animation:.35s both pop;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.tapScreen .big{font-family:var(--display);font-size:var(--fs-2xl);font-weight:600}.tapScreen .sub{color:var(--muted);font-size:var(--fs-sm)}.tapScreen .chipRow{justify-content:center;max-width:420px}.bar{font-size:var(--fs-sm);align-items:center;gap:10px;padding:6px 0;display:flex}.barLabel{width:96px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.barTrack{background:var(--surface-2);border-radius:6px;flex:1;height:20px;overflow:hidden}.barFill{background:var(--accent);border-radius:6px;min-width:2px;height:100%}.barVal{text-align:right;font-variant-numeric:tabular-nums;width:34px;color:var(--faint);flex-shrink:0}.hourGrid{grid-template-columns:repeat(24,1fr);align-items:end;gap:2px;height:76px;margin-top:6px;display:grid}.hourBar{background:var(--accent);opacity:.9;border-radius:2px 2px 0 0;min-height:2px}.hourAxis{color:var(--faint);grid-template-columns:repeat(24,1fr);margin-top:3px;font-size:.56rem;display:grid}.nav{z-index:30;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.navBtn{color:var(--faint);font-size:var(--fs-2xs);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.navBtn.on{color:var(--accent);font-weight:600}.navBtn svg{width:22px;height:22px}.statTiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.statTile{background:var(--surface-2);border-radius:var(--radius-sm);text-align:center;padding:10px}.statTile b{font-size:var(--fs-xl);font-family:var(--display);display:block}.statTile span{font-size:var(--fs-2xs);color:var(--faint)}.rowBetween{justify-content:space-between;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.inlineForm{gap:8px;display:flex}.inlineForm .field{flex:1}.emptyState{text-align:center;color:var(--faint);font-size:var(--fs-sm);padding:36px 12px}.toast{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 14px);background:var(--text);color:var(--bg);font-size:var(--fs-sm);z-index:50;border-radius:999px;padding:9px 16px;animation:.2s both rise;position:fixed;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.tagUrl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);background:var(--surface-2);word-break:break-all;color:var(--muted);border-radius:8px;padding:6px 8px}a{color:var(--accent)}
