/* v186 — Pomodoro floating timer and tomato coach. Colours follow the app tokens (light and dark). */
.pomo185{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 32px);font-size:13px;color:var(--ink,#172033)}
.pomo185[hidden]{display:none}
.pomo-card185{display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"face ring info" "controls controls controls";align-items:center;gap:8px 12px;padding:12px 14px;background:var(--white,#fff);border:1px solid var(--line,#D6DCE5);border-radius:18px;box-shadow:0 12px 32px rgba(11,31,58,.22);width:320px;max-width:100%}
.pomo-face185{grid-area:face;width:56px;height:56px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent}
.pomo-face185:focus-visible{outline:2px solid var(--royal,#2457D6);outline-offset:2px}
.pomo-mascot185{width:56px;height:56px;overflow:visible}
.pomo-skin185{fill:#E8553E;transition:fill .6s}
.pomo-leaf185{fill:#3E9B4F;transform-origin:32px 20px;transition:fill .6s,transform .6s}
.pomo-spots185,.pomo-dead-eyes185,.pomo-frown185,.pomo-flies185{display:none}
.pomo-spots185 circle{fill:#4E4320;opacity:.55}
.pomo-body185{transform-origin:32px 58px;animation:pomo-bob185 2.8s ease-in-out infinite}
.pomo-eyes185{transform-origin:32px 38px;animation:pomo-blink185 4.6s infinite}
.pomo-ring185{grid-area:ring;position:relative;width:64px;height:64px}
.pomo-ring185 svg{width:100%;height:100%;transform:rotate(-90deg)}
.pomo-track185{fill:none;stroke:var(--soft-bg,#E5EAF1);stroke-width:4}
.pomo-progress185{fill:none;stroke:#E8553E;stroke-width:4;stroke-linecap:round;stroke-dasharray:119.38;transition:stroke-dashoffset 1s linear,stroke .3s}
.pomo185[data-phase="rest"] .pomo-progress185{stroke:#3E9B4F}
.pomo185[data-phase="ready"] .pomo-progress185{stroke:var(--royal,#2457D6)}
.pomo-time185{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.pomo-info185{grid-area:info;display:grid;gap:3px;min-width:0}
.pomo-phase185{font-weight:700;text-transform:uppercase;letter-spacing:.6px;font-size:10.5px;color:#C9432F}
.pomo185[data-phase="rest"] .pomo-phase185{color:#2F7D3D}
.pomo185[data-phase="ready"] .pomo-phase185{color:var(--royal,#2457D6)}
.pomo-project185{font-weight:600;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.pomo-stats185{color:var(--muted,#64748B);font-size:11.5px}
.pomo-controls185{grid-area:controls;display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.pomo-btn185{min-width:36px;height:32px;padding:0 10px;border:1px solid var(--line,#D6DCE5);border-radius:10px;background:var(--soft-bg,#E5EAF1);color:var(--ink,#172033);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pomo-btn185:hover{background:var(--soft-bg-hover,#D6DEE9)}
.pomo-btn185[hidden]{display:none}
.pomo-next185{background:#E8553E;border-color:#E8553E;color:#fff;font-weight:600}
.pomo-next185:hover{background:#D4472F}
.pomo-bubble185{position:relative;box-sizing:border-box;max-width:min(300px,calc(100vw - 32px));padding:10px 13px;background:var(--white,#fff);border:1px solid var(--line,#D6DCE5);border-radius:14px 14px 4px 14px;box-shadow:0 8px 24px rgba(11,31,58,.18);line-height:1.4;white-space:normal;overflow-wrap:anywhere;animation:pomo-pop185 .25s ease-out}
.pomo-bubble185[hidden]{display:none}
.pomo-paused185 .pomo-body185,.pomo-paused185 .pomo-eyes185{animation-play-state:paused}
.pomo-paused185 .pomo-time185{opacity:.6}
.pomo-talking185 .pomo-mouth185{animation:pomo-talk185 .32s ease-in-out 6 alternate}
.pomo-cheer185 .pomo-body185{animation:pomo-jump185 .55s ease-out 3}
.pomo185[data-phase="rest"] .pomo-eyes185{animation:none;transform:scaleY(.25)}
/* Collapsed: just the coach and the ring. */
.pomo-collapsed185 .pomo-card185{grid-template-columns:auto auto;grid-template-areas:"face ring";width:auto;padding:8px 10px;cursor:pointer}
.pomo-collapsed185 .pomo-info185,.pomo-collapsed185 .pomo-controls185{display:none}
.pomo-collapsed185 .pomo-face185,.pomo-collapsed185 .pomo-mascot185{width:40px;height:40px}
.pomo-collapsed185 .pomo-ring185{width:52px;height:52px}
.pomo-collapsed185 .pomo-time185{font-size:12px}
/* Launchers */
.pomo-col185,.pomo-cell185{width:44px;text-align:center}
.pomo-launch185{width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:10px;background:none;font-size:19px;line-height:1;cursor:pointer;transition:transform .15s,background .15s}
.pomo-launch185:hover{background:var(--soft-bg,#E5EAF1);transform:scale(1.12) rotate(-6deg)}
.pomo-launch185:focus-visible{outline:2px solid var(--royal,#2457D6);outline-offset:1px}
#nav .pomo-nav185{margin-left:auto!important;background:#E8553E!important;color:#fff!important;min-width:44px;padding-left:12px!important;padding-right:12px!important;font-size:17px}
#nav .pomo-nav185:hover{background:#D4472F!important}
#nav .pomo-nav185~.nav-quick{margin-left:6px!important}
.pomo-dialog185 .pomo-lengths185{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pomo-start185 .field{display:grid;gap:4px;margin:0 0 10px}
.pomo-start185>.field{max-width:none}
.pomo-start185 select{width:100%}
.pomo-rule185{padding:8px 10px;border-radius:10px;background:var(--soft-bg,#E5EAF1)}
@keyframes pomo-bob185{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes pomo-blink185{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes pomo-talk185{from{transform:scaleY(1)}to{transform:translateY(1px) scaleY(1.6)}}
@keyframes pomo-jump185{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-12px) scale(1.06,.94)}70%{transform:translateY(0) scale(.96,1.05)}}
@keyframes pomo-pop185{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
/* Phone: a full-width card docked above the bottom navigation, with big touch targets. */
.life-phone138 .pomo185{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:none;font-size:14px}
.life-phone138 body:has(.notes-editor92) .pomo185{bottom:calc(12px + env(safe-area-inset-bottom))}
.life-phone138 .pomo-card185{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:22px;grid-template-columns:auto auto minmax(0,1fr);gap:10px 12px;box-shadow:0 14px 40px rgba(11,31,58,.28)}
.life-phone138 .pomo-face185,.life-phone138 .pomo-mascot185{width:58px;height:58px}
.life-phone138 .pomo-ring185{width:68px;height:68px}
.life-phone138 .pomo-time185{font-size:15px;font-weight:700}
.life-phone138 .pomo-project185{font-size:15px}
.life-phone138 .pomo-controls185{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}
.life-phone138 .pomo-btn185{height:44px;font-size:16px;border-radius:12px}
.life-phone138 .pomo-next185{grid-column:span 2}
.life-phone138 .pomo-bubble185{max-width:100%;width:100%;font-size:14px;border-radius:16px 16px 6px 16px}
.life-phone138 .pomo-collapsed185{left:auto}
.life-phone138 .pomo-collapsed185 .pomo-card185{width:auto;border-radius:999px;padding:6px 12px 6px 8px}
.life-phone138 .pomo-collapsed185 .pomo-face185,.life-phone138 .pomo-collapsed185 .pomo-mascot185{width:42px;height:42px}
.life-phone138 .pomo-collapsed185 .pomo-ring185{width:50px;height:50px}
.life-phone138 .pomo-collapsed185 .pomo-bubble185{max-width:min(300px,calc(100vw - 24px))}
.life-phone138 .pomo-cell185,.life-phone138 .pomo-col185{width:auto}
@media (prefers-reduced-motion:reduce){.pomo-body185,.pomo-eyes185,.pomo-mouth185,.pomo-bubble185,.pomo-fly185{animation:none!important}.pomo-progress185{transition:none}}
@media print{.pomo185{display:none!important}}
/* Projects table with the Pomodoro column: the table's own widths are set by column position, so
   every column is restated here (scoped to tables that have the column) to keep it on one screen. */
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) table{min-width:1000px!important;width:100%!important;table-layout:fixed!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) tbody td{vertical-align:middle!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td){min-width:0!important;max-width:none!important;padding-left:7px!important;padding-right:7px!important;white-space:normal!important;text-align:left!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(1){width:28%!important;min-width:0!important;max-width:none!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(2){width:80px!important;min-width:0!important;max-width:none!important;text-align:center!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(3){width:92px!important;min-width:0!important;max-width:none!important;text-align:left!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(4){width:124px!important;min-width:0!important;max-width:none!important;white-space:nowrap!important;text-align:left!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(5){width:140px!important;min-width:0!important;max-width:none!important;text-align:left!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(6){width:auto!important;min-width:0!important;max-width:none!important;text-align:left!important}
html:not(.life-phone138) #view .goal-table86:has(.pomo-col185) :is(th,td):nth-child(7){width:184px!important;min-width:0!important;max-width:none!important;padding-left:5px!important;padding-right:5px!important;text-align:center!important}
/* Phone: Quick add is a floating button at the bottom right, so the 🍅 floats just to its left. */
.life-phone138 body:not(:has(.notes-editor92)) #nav .pomo-nav185{right:calc(max(14px,env(safe-area-inset-right)) + var(--pomo-quick-w185,142px) + 10px);bottom:calc(76px + env(safe-area-inset-bottom));width:52px;min-width:52px;height:52px;padding:0!important;border-radius:50%!important;display:grid;place-items:center;font-size:24px!important;margin:0!important}
.life-phone138 .pomo185{z-index:1150}
/* Phone focus view: grey out the app and show only the timer while a focus session runs. */
.pomo-shade185{position:fixed;inset:0;z-index:1140;background:radial-gradient(circle at 50% 42%,rgba(52,56,66,.95),rgba(22,24,30,.97));animation:pomo-fade185 .35s ease-out}
.pomo-shade185[hidden]{display:none}
html.pomo-focus-mode185,html.pomo-focus-mode185 body{overflow:hidden;overscroll-behavior:none}
html.pomo-focus-mode185 #app,html.pomo-focus-mode185 .mobile-nav138{filter:grayscale(1)}
.pomo185.pomo-focus185{inset:0;left:0;right:0;bottom:0;top:0;z-index:1150;justify-content:center;align-items:center;flex-direction:column;gap:18px;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));max-width:none;color:#F3F4F6}
.pomo185.pomo-focus185 .pomo-card185,.pomo185.pomo-focus185.pomo-collapsed185 .pomo-card185{grid-template-columns:1fr;grid-template-areas:"face" "ring" "info" "controls";justify-items:center;text-align:center;width:min(360px,100%);padding:0;background:none;border:0;box-shadow:none;gap:16px;cursor:default;border-radius:0}
.pomo185.pomo-focus185 .pomo-info185,.pomo185.pomo-focus185 .pomo-controls185{display:grid}
.pomo185.pomo-focus185 .pomo-face185,.pomo185.pomo-focus185 .pomo-mascot185{width:96px;height:96px}
.pomo185.pomo-focus185 .pomo-ring185{width:min(64vw,240px);height:min(64vw,240px)}
.pomo185.pomo-focus185 .pomo-track185{stroke:rgba(255,255,255,.14);stroke-width:2.6}
.pomo185.pomo-focus185 .pomo-progress185{stroke-width:2.6}
.pomo185.pomo-focus185 .pomo-time185{font-size:clamp(40px,13vw,56px);font-weight:700;color:#fff;letter-spacing:1px}
.pomo185.pomo-focus185 .pomo-phase185{color:#FF8A73;font-size:12px;letter-spacing:2px}
.pomo185.pomo-focus185 .pomo-project185{color:#fff;font-size:18px}
.pomo185.pomo-focus185 .pomo-stats185{color:rgba(255,255,255,.65);font-size:13px}
.pomo185.pomo-focus185 .pomo-controls185{grid-template-columns:repeat(3,64px);grid-auto-flow:row;justify-content:center;gap:14px;width:auto}
.pomo185.pomo-focus185 .pomo-btn185{height:56px;min-width:56px;border-radius:50%;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;font-size:20px}
.pomo185.pomo-focus185 .pomo-btn185:hover{background:rgba(255,255,255,.18)}
.pomo185.pomo-focus185 .pomo-exit185{grid-column:1/-1;height:44px;border-radius:999px;font-size:14px;padding:0 18px;background:none;border-color:rgba(255,255,255,.28)}
.pomo185.pomo-focus185 .pomo-bubble185{width:auto;max-width:min(340px,calc(100vw - 40px));background:rgba(255,255,255,.96);color:#172033;text-align:center;border-radius:16px}
.pomo185:not(.pomo-focus185) .pomo-exit185{display:none}
@keyframes pomo-fade185{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.pomo-shade185{animation:none}}
.life-phone138 .pomo185.pomo-collapsed185:not(.pomo-focus185) :is(.pomo-controls185,.pomo-info185){display:none}
.life-phone138 .pomo185.pomo-collapsed185:not(.pomo-focus185) .pomo-card185{grid-template-columns:auto auto;grid-template-areas:"face ring"}
/* Pomodoro history (account menu) */
.pomo-history-dialog185{width:min(620px,calc(100vw - 24px))}
.pomo-history185{display:grid;gap:14px;max-height:min(70vh,680px);overflow:auto;padding:4px 20px 20px}
.pomo-history-tiles185{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pomo-history-tile185{display:grid;gap:2px;padding:12px;border:1px solid var(--line,#D6DCE5);border-radius:14px;background:var(--soft-bg,#F3F5F9)}
.pomo-history-tile185 small{color:var(--muted,#64748B);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.pomo-history-tile185 strong{font-size:22px;line-height:1.2}
.pomo-history-tile185 span{color:var(--muted,#64748B);font-size:12px}
.pomo-history-title185{margin:6px 0 0;font-size:14px}
.pomo-history-projects185{display:grid;gap:10px}
.pomo-history-project-head185{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:4px}
.pomo-history-name185{font-weight:600;overflow-wrap:anywhere}
.pomo-history-total185{color:var(--muted,#64748B);white-space:nowrap}
.pomo-history-bar185{height:8px;border-radius:999px;background:var(--soft-bg,#E5EAF1);overflow:hidden}
.pomo-history-bar185 i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#F07A64,#E8553E)}
.pomo-history-none185 .pomo-history-bar185 i{background:linear-gradient(90deg,#9AA7BC,#6B7A93)}
.pomo-history-recent185{display:grid;gap:2px}
.pomo-history-day185{margin-top:8px;padding:4px 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted,#64748B);border-bottom:1px solid var(--line,#D6DCE5)}
.pomo-history-line185{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:6px 0;font-size:13px}
.pomo-history-line185 time{color:var(--muted,#64748B);font-variant-numeric:tabular-nums;white-space:nowrap}
.pomo-history-line-name185{overflow-wrap:anywhere}
.pomo-history-tag185{grid-column:2/-1;margin-top:-4px;color:var(--muted,#64748B);font-size:11px}
.pomo-history-more185{justify-self:center}
.pomo-history-more185[hidden]{display:none}
.pomo-history-empty185{display:grid;justify-items:center;gap:4px;padding:28px 12px;text-align:center}
.pomo-history-empty185 p{margin:0;color:var(--muted,#64748B)}
.pomo-history-emoji185{font-size:44px;animation:pomo-bob185 2.8s ease-in-out infinite}
@media (max-width:520px){.pomo-history-tiles185{gap:6px}.pomo-history-tile185{padding:10px 8px}.pomo-history-tile185 strong{font-size:18px}}
.pomo-dialog185 .pomo-start185 select{text-overflow:ellipsis}
