:root{color-scheme: dark;--aura-background-color-dark: oklch(0.16 0.018 60);--litty-brand: #f97316;--litty-brand-dark: light-dark(#c2410c,#fdba74);--litty-brand-soft: light-dark(#ffedd5,#3f2a12);--litty-accent: light-dark(#7c3aed,#a78bfa);--litty-pee: light-dark(#38bdf8,#7dd3fc);--litty-poo: light-dark(#a16207,#d6a24a);--litty-no-poo: #f59e0b;--litty-no-pee: light-dark(#38bdf8,#7dd3fc);--litty-ok: light-dark(#16a34a,#4ade80);--litty-on-brand: light-dark(#ffffff,#2a1b06);--litty-shadow: light-dark(rgb(0 0 0 / 12%),rgb(0 0 0 / 45%));--litty-shadow-soft: light-dark(rgb(0 0 0 / 8%),rgb(0 0 0 / 35%));--litty-gap: 0.75rem;--litty-radius: 0.75rem;--vaadin-focus-ring-color: var(--litty-brand);--vaadin-button-primary-background: var(--litty-brand);--vaadin-button-primary-text-color: var(--litty-on-brand)}body{background-image: radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--litty-brand) 10%,transparent),transparent 42%),radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--litty-accent) 8%,transparent),transparent 38%);background-attachment: fixed}.app-title{font-size: 1.125rem;font-weight: 700;margin: 0;padding-inline-start: 0.25rem;background: linear-gradient(95deg,var(--litty-brand-dark),var(--litty-brand) 55%,var(--litty-accent));-webkit-background-clip: text;background-clip: text;color: transparent}vaadin-app-layout::part(navbar){border-bottom: 1px solid color-mix(in srgb,var(--litty-brand) 25%,transparent)}vaadin-side-nav-item::part(item){border-radius: 0.5rem}vaadin-side-nav-item[current]::part(item){background: var(--litty-brand-soft);color: var(--litty-brand-dark);font-weight: 600}.app-header{padding-inline-end: 1rem}.user-avatar{margin-inline-end: 0.5rem}.view-heading{margin-top: 0}.muted,.section-hint{color: var(--vaadin-text-color-secondary,#6b7280);font-size: 0.875rem}.brand-logo{font-size: 2.25rem;font-weight: 700}.brand-tagline{color: var(--vaadin-text-color-secondary,#6b7280);margin-bottom: 1rem}.auth-alt{margin-top: 1rem;color: var(--vaadin-text-color-secondary,#6b7280)}.auth-card{display: flex;flex-direction: column;gap: 0.5rem;width: min(22rem,90vw);padding: 1.5rem;border-radius: var(--litty-radius);background: var(--vaadin-background-container,#fff);box-shadow: 0 1px 3px var(--litty-shadow)}.login-divider{color: var(--vaadin-text-color-secondary,#6b7280);font-size: 0.875rem;margin: 0.5rem 0}.google-button{display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;min-width: 18rem;padding: 0.7rem 1rem;border: 1px solid var(--vaadin-border-color,#d1d5db);border-radius: var(--litty-radius);background: var(--vaadin-background-color,#fff);color: inherit;font-weight: 600;text-decoration: none}.google-button:hover{background: var(--vaadin-background-container,#f3f4f6)}.tile-picker-block{margin-block: 0.75rem}.tile-picker-caption,.what-caption{display: block;font-size: 0.8125rem;font-weight: 600;color: var(--vaadin-text-color-secondary,#6b7280);margin-bottom: 0.35rem}.tile-picker{display: flex;flex-wrap: wrap;gap: var(--litty-gap)}.tile{appearance: none;font: inherit;color: inherit;min-width: 5.25rem;padding: 0.6rem;background: var(--vaadin-background-container,#fff);border-radius: var(--litty-radius);border: 2px solid transparent;box-shadow: 0 1px 2px var(--litty-shadow-soft);cursor: pointer}.tile:hover{border-color: var(--vaadin-border-color,#d1d5db)}.tile:focus-visible,.chip:focus-visible{outline: 2px solid var(--vaadin-focus-ring-color,#2563eb);outline-offset: 2px}.tile>div{display: flex;flex-direction: column;align-items: center;gap: 0.2rem}.tile-icon{font-size: 1.9rem;line-height: 1.1}.tile-label{font-size: 0.8125rem;font-weight: 500;max-width: 6rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.tile.selected{border-color: var(--litty-brand);background: color-mix(in srgb,var(--litty-brand) 8%,var(--vaadin-background-container,#fff));box-shadow: 0 0 0 3px color-mix(in srgb,var(--litty-brand) 22%,transparent)}.chip-row{display: flex;flex-wrap: wrap;gap: var(--litty-gap);align-items: center}.chip{appearance: none;font: inherit;color: inherit;padding: 0.7rem 1.1rem;background: var(--vaadin-background-container,#fff);display: inline-flex;align-items: center;gap: 0.5rem;border: 2px solid transparent;border-radius: 999px;box-shadow: 0 1px 2px var(--litty-shadow-soft);cursor: pointer}.chip-icon{font-size: 1.35rem}.chip-label{font-weight: 600}.chip:hover{border-color: var(--vaadin-border-color,#d1d5db)}.chip.selected{border-color: var(--litty-brand);box-shadow: 0 0 0 3px color-mix(in srgb,var(--litty-brand) 20%,transparent)}.chip--pee.selected{border-color: var(--litty-pee);background: color-mix(in srgb,var(--litty-pee) 15%,var(--vaadin-background-container,#fff));box-shadow: 0 0 0 3px color-mix(in srgb,var(--litty-pee) 25%,transparent)}.chip--poo.selected{border-color: var(--litty-poo);background: color-mix(in srgb,var(--litty-poo) 14%,var(--vaadin-background-container,#fff));box-shadow: 0 0 0 3px color-mix(in srgb,var(--litty-poo) 22%,transparent)}.action-row{margin-top: 1.25rem;gap: var(--litty-gap)}.when-row{margin-top: 1rem}.icon-select-block{margin-block: 0.5rem}.icon-select{display: flex;flex-wrap: wrap;gap: 0.4rem;max-width: 20rem}.icon-option{font-size: 1.5rem;line-height: 1;padding: 0.35rem;border: 2px solid transparent;border-radius: 0.5rem;cursor: pointer;user-select: none}.icon-option:hover{background: var(--vaadin-background-container,#f3f4f6)}.icon-option.selected{border-color: var(--vaadin-focus-ring-color,#2563eb);background: var(--vaadin-background-container,#f3f4f6)}.empty-state{border-top: 4px solid var(--litty-brand);display: flex;flex-direction: column;align-items: flex-start;gap: 0.5rem;max-width: 34rem;padding: 2rem;border-radius: var(--litty-radius);background: var(--vaadin-background-container,#fff);box-shadow: 0 1px 3px var(--litty-shadow)}.empty-state>span:first-child{font-size: 2.5rem}.empty-state h2{margin: 0}.primary-link{display: inline-block;margin-top: 0.5rem;padding: 0.6rem 1.1rem;border-radius: var(--litty-radius);background: linear-gradient(100deg,var(--litty-brand),var(--litty-brand-dark));color: var(--litty-on-brand);font-weight: 600;text-decoration: none}.task-block{margin-top: 1.5rem;width: 100%}.task-list{display: flex;flex-direction: column;border: 1px solid color-mix(in srgb,var(--litty-brand) 18%,transparent);border-radius: var(--litty-radius);overflow: hidden;background: var(--vaadin-background-container);max-width: 34rem}.task-row{display: grid;grid-template-columns: 1fr auto auto;align-items: center;gap: 0.75rem;padding: 0.6rem 0.9rem;border-bottom: 1px solid var(--vaadin-border-color-secondary)}.task-row:last-child{border-bottom: none}.task-row--done .task-name{text-decoration: line-through;opacity: 0.55}.task-name{font-weight: 500}.task-for{font-size: 0.875rem;color: var(--vaadin-text-color-secondary)}.recent-block{margin-top: 2rem;width: 100%}.recent-list{display: flex;flex-direction: column;border: 1px solid color-mix(in srgb,var(--litty-brand) 18%,transparent);border-radius: var(--litty-radius);overflow: hidden;background: var(--vaadin-background-container,#fff);max-width: 34rem}.recent-row{display: grid;grid-template-columns: 5.5rem auto 1fr;align-items: center;gap: 0.75rem;padding: 0.6rem 0.9rem;border-bottom: 1px solid var(--vaadin-border-color-secondary,#e5e7eb)}.recent-row:last-child{border-bottom: none}.recent-row--editable{cursor: pointer}.recent-row--editable:hover,.recent-row--editable:focus-visible{background: color-mix(in srgb,var(--litty-brand) 8%,transparent)}.recent-row--editable:focus-visible{outline: 2px solid var(--vaadin-focus-ring-color);outline-offset: -2px}.edit-dialog{display: flex;flex-direction: column;gap: var(--litty-gap);min-width: min(20rem,80vw)}.recent-time{font-variant-numeric: tabular-nums;color: var(--vaadin-text-color-secondary,#6b7280);font-size: 0.875rem}.recent-what{font-size: 1.1rem}.recent-nothing{font-size: 0.8125rem;color: var(--vaadin-text-color-secondary,#6b7280)}.recent-who{font-size: 0.875rem;color: var(--vaadin-text-color-secondary,#6b7280);text-align: end}.timeline-controls{flex-wrap: wrap;align-items: flex-end}.timeline-summary{margin: 1rem 0 0.5rem;font-size: 0.9375rem;color: var(--vaadin-text-color-secondary,#6b7280)}.timeline-strip{border: 1px solid color-mix(in srgb,var(--litty-brand) 16%,transparent);display: flex;align-items: stretch;gap: 2px;width: 100%;overflow-x: auto;padding: 1rem 0.25rem;border-radius: var(--litty-radius);background: var(--vaadin-background-container,#fff)}.day{display: flex;flex-direction: column;justify-content: flex-end;align-items: center;flex: 0 0 2.75rem;padding: 0.25rem 0.1rem;border-radius: 0.5rem;transition: opacity 120ms ease-out}.day--openable{cursor: pointer}.day--openable:hover{background: color-mix(in srgb,var(--litty-brand) 10%,transparent)}.day--openable:focus-visible{outline: 2px solid var(--vaadin-focus-ring-color);outline-offset: -2px}.day-marks{display: flex;flex-direction: column-reverse;align-items: center;gap: 1px;min-height: 7rem;justify-content: flex-start;font-size: 0.9rem;line-height: 1.1}.mark{cursor: default}.mark--nothing{color: var(--vaadin-text-color-secondary,#9ca3af);font-size: 1.25rem}.day-more{font-size: 0.6875rem;color: var(--vaadin-text-color-secondary,#6b7280)}.day-axis{width: 100%;height: 3px;margin: 0.35rem 0;background: var(--vaadin-border-color,#d1d5db)}.day-label{display: flex;flex-direction: column;align-items: center;line-height: 1.1}.day-number{font-size: 0.8125rem;font-weight: 600;font-variant-numeric: tabular-nums}.day-weekday{font-size: 0.625rem;text-transform: uppercase;letter-spacing: 0.03em;color: var(--vaadin-text-color-secondary,#6b7280)}.day--unlogged .day-axis{background: repeating-linear-gradient(90deg,var(--vaadin-border-color,#d1d5db) 0 3px,transparent 3px 6px)}.day--unlogged .day-label{opacity: 0.45}.day--no-poo{background: color-mix(in srgb,var(--litty-no-poo) 12%,transparent)}.day--no-pee{box-shadow: inset 0 -3px 0 var(--litty-no-pee)}.day--no-poo .day-axis{background: var(--litty-no-poo)}.day.is-highlight-poo{outline: 2px solid var(--litty-no-poo);outline-offset: -2px}.day.is-highlight-pee{box-shadow: inset 0 -3px 0 var(--litty-no-pee),inset 0 0 0 2px var(--litty-no-pee)}.day.is-dimmed{opacity: 0.3}.timeline-legend{display: flex;flex-wrap: wrap;gap: 1rem;margin-top: 0.75rem;font-size: 0.8125rem;color: var(--vaadin-text-color-secondary,#6b7280)}.legend-item::before{content: "";display: inline-block;width: 0.75rem;height: 0.75rem;margin-inline-end: 0.35rem;border-radius: 3px;vertical-align: -1px;background: transparent}.legend-no-poo::before{background: var(--litty-no-poo)}.legend-no-pee::before{background: var(--litty-no-pee)}.legend-unlogged::before{background: repeating-linear-gradient(90deg,var(--vaadin-border-color,#d1d5db) 0 3px,transparent 3px 6px)}.setup-view vaadin-grid{max-width: 60rem}@media (max-width: 600px){.tile{min-width: 4.5rem}.tile-icon{font-size: 1.6rem}.recent-row{grid-template-columns: 4.5rem auto 1fr}.action-row{width: 100%}}.size-select{display: inline-flex;border-radius: 999px;overflow: hidden;border: 1px solid var(--vaadin-border-color,#d1d5db);background: var(--vaadin-background-container,#fff)}.size-segment{appearance: none;font: inherit;font-weight: 600;color: var(--vaadin-text-color-secondary,#6b7280);min-width: 2.5rem;padding: 0.45rem 0.2rem;border: none;border-inline-end: 1px solid var(--vaadin-border-color-secondary,#e5e7eb);background: transparent;cursor: pointer}.size-segment:last-child{border-inline-end: none}.size-segment:hover{background: var(--vaadin-background-container-strong,#f3f4f6)}.size-segment.selected{background: var(--litty-brand);color: var(--litty-on-brand)}.size-segment:focus-visible{outline: 2px solid var(--vaadin-focus-ring-color,#2563eb);outline-offset: -2px}.mark-with-size{display: inline-flex;align-items: flex-start;gap: 0.05rem;margin-inline-end: 0.15rem}.size-badge{font-size: 0.6rem;font-weight: 700;line-height: 1;padding: 0.1rem 0.2rem;border-radius: 0.25rem;background: var(--vaadin-background-container-strong,#e5e7eb);color: var(--vaadin-text-color-secondary,#6b7280)}.account-view{max-width: 46rem}.account-card{border-top: 3px solid color-mix(in srgb,var(--litty-brand) 55%,transparent);width: 100%;padding: 1.25rem 1.5rem;margin-bottom: 1.25rem;border-radius: var(--litty-radius);background: var(--vaadin-background-container,#fff);box-shadow: 0 1px 3px var(--litty-shadow)}.account-card h3{margin-top: 0}.account-card-body{display: flex;flex-direction: column;align-items: flex-start;gap: 0.65rem}.session-list{display: flex;flex-direction: column;width: 100%;max-width: 32rem;border: 1px solid var(--vaadin-border-color-secondary,#e5e7eb);border-radius: var(--litty-radius);overflow: hidden}.session-row{display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;padding: 0.6rem 0.9rem;border-bottom: 1px solid var(--vaadin-border-color-secondary,#e5e7eb)}.session-row:last-child{border-bottom: none}.session-device{display: block;font-weight: 600}.session-when{display: block;font-size: var(--lumo-font-size-s,0.875rem);color: var(--vaadin-text-color-secondary,#6b7280)}.build-info{margin-top: 0.5rem;font-size: var(--lumo-font-size-xs,0.75rem);color: var(--vaadin-text-color-secondary,#6b7280);opacity: 0.8}.danger-card{border: 1px solid color-mix(in srgb,#dc2626 35%,transparent);background: color-mix(in srgb,#dc2626 4%,var(--vaadin-background-container,#fff))}.danger-card ul{margin: 0.25rem 0 0.5rem;padding-inline-start: 1.25rem;font-size: 0.875rem;color: var(--vaadin-text-color-secondary,#6b7280)}.landing{flex: 1;gap: 0.5rem;text-align: center}.landing-wordmark{margin: 0 0 0.75rem;font-size: clamp(1.6rem,4vw,2.1rem);background: linear-gradient(95deg,var(--litty-brand-dark),var(--litty-brand) 55%,var(--litty-accent));-webkit-background-clip: text;background-clip: text;color: transparent}.landing-headline{margin: 0;font-size: clamp(1.75rem,5vw,2.75rem);line-height: 1.15;max-width: 20ch}.landing-subhead{margin: 0.35rem 0 0.6rem;max-width: 46ch;font-size: 1.05rem}.landing-signin{color: var(--litty-brand-dark);font-weight: 500}.landing-points{margin-top: 1.4rem;gap: 0.55rem;align-self: center;text-align: start}.landing-point{display: flex;align-items: center;gap: 0.6rem;padding: 0.55rem 0.9rem;border-radius: var(--litty-radius);background: var(--litty-brand-soft);color: var(--litty-brand-dark);font-size: 0.95rem}.landing-point-icon{font-size: 1.1rem;line-height: 1}.site-footer{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 0.4rem;padding: 0.75rem 1rem;border-top: 1px solid color-mix(in srgb,var(--litty-brand) 20%,transparent);font-size: 0.8rem;color: var(--vaadin-text-color-secondary,#6b7280)}.nav-bottom{display: none}.nav-bottom-link{align-items: center;color: inherit;display: flex;flex-direction: column;font-size: 0.75rem;gap: 0.15rem;padding: 0.25rem 0.75rem;text-decoration: none}.nav-bottom-link vaadin-icon{height: 1.25rem;width: 1.25rem}@media (max-width: 800px){.nav-bottom{background: var(--vaadin-background-color,Canvas);border-top: 1px solid color-mix(in srgb,var(--litty-brand) 25%,transparent);bottom: 0;display: flex;justify-content: space-around;left: 0;padding-bottom: env(safe-area-inset-bottom,0);position: fixed;right: 0;z-index: 10}vaadin-app-layout::part(content){padding-bottom: 4.5rem}.nav-drawer-toggle{display: none}.nav-user span{display: none}html,body{overflow-x: hidden}.view-heading{font-size: 1.4rem}vaadin-grid,.scroll-x{max-width: 100%;overflow-x: auto}vaadin-tabsheet::part(tabs){overflow-x: auto}.litty-card,.account-card,.empty-state{max-width: 100%}}@media (max-width: 800px){.site-footer{padding-bottom: calc(0.75rem + env(safe-area-inset-bottom,0px))}}