:root{--kf-safe-area-bottom:env(safe-area-inset-bottom,0px)}img[data-media-pending],img[data-media-error]{opacity:0}.kf-photo-zoom-image img,.kf-photo-zoom-backdrop img,.kf-polaroid-media img{transition:opacity var(--kf-motion-fast) var(--kf-ease-standard)}.kf-app-viewport{width:100%;min-width:0;min-height:100svh;padding-top:var(--kf-app-header-height,calc(var(--kf-control-height) + 2 * var(--kf-control-mobile-header-padding) + 1px))}.kf-app-viewport>[data-app-header]{z-index:20;position:fixed;inset:0 0 auto}.kf-app-viewport>[data-app-header]:after{content:"";inset-inline:0;height:calc(var(--kf-app-pull-distance,0px) + 1px);background:inherit;border-bottom:inherit;pointer-events:none;transition:height var(--kf-motion-pull-refresh-settle) var(--kf-ease-enter);position:absolute;top:calc(100% - 1px)}.kf-app-viewport[data-app-pulling]>[data-app-header]:after{transition:none}.kf-app-viewport:has(>.kf-pull-refresh[data-disabled])>[data-app-header]:after{height:1px;transition:none}.kf-app-viewport .kf-pull-refresh-reveal{z-index:21}@media (prefers-reduced-motion:reduce){.kf-app-viewport>[data-app-header]:after{transition:none}}:where(h1,h2,h3){font-family:var(--kf-font-heading);font-weight:var(--kf-font-heading-weight);line-height:var(--kf-font-heading-line-height);letter-spacing:var(--kf-font-heading-tracking)}kf-button{--kf-button-height:var(--kf-control-height);min-width:0;max-width:100%;display:inline-flex}kf-button[data-size=large]{--kf-button-height:var(--kf-control-large-height)}kf-button[data-size=compact]{--kf-button-height:var(--kf-control-compact-height)}kf-button[data-size=small]{--kf-button-height:var(--kf-control-small-height)}kf-button[data-shape=circle]{width:var(--kf-button-height);min-width:var(--kf-button-height);height:var(--kf-button-height);flex:0 0 var(--kf-button-height)}kf-card,kf-field{display:block}.kf-button{width:100%;transition:transform var(--kf-motion-instant) var(--kf-ease-standard), background var(--kf-motion-fast) var(--kf-ease-standard), color var(--kf-motion-fast) var(--kf-ease-standard), opacity var(--kf-motion-fast) var(--kf-ease-standard);min-height:var(--kf-button-height);border-radius:var(--kf-radius-pill);padding:var(--kf-space-sm) var(--kf-space-lg);background:var(--kf-color-primary);color:var(--kf-color-on-primary);font:inherit;font-weight:var(--kf-font-medium-weight);font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));justify-content:center;align-items:center;gap:var(--kf-space-sm);overflow-wrap:anywhere;cursor:pointer;border:1px solid #0000;line-height:1.25;display:inline-flex}kf-button[data-size=large]>.kf-button,.kf-button.kf-button--large{--kf-button-height:var(--kf-control-large-height);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1))}kf-button[data-size=compact]>.kf-button,.kf-button.kf-button--compact{--kf-button-height:var(--kf-control-compact-height);height:auto;padding-block:var(--kf-space-sm);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));white-space:normal;overflow-wrap:anywhere}kf-button[data-size=small]>.kf-button,.kf-button.kf-button--small{--kf-button-height:var(--kf-control-small-height);height:auto;padding-block:var(--kf-space-sm);padding-inline:var(--kf-space-md);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));white-space:normal;overflow-wrap:anywhere}.kf-button-label{min-width:0;line-height:inherit;display:block}.kf-button-icon{flex:none;justify-content:center;align-items:center;width:1.25em;height:1.25em;line-height:0;display:flex}.kf-button-icon>svg{width:100%;height:100%;display:block}.kf-button[data-loading]{cursor:progress;position:relative}.kf-button[data-loading]>.kf-button-label,.kf-button[data-loading]>.kf-button-icon{opacity:0}.kf-button-progress{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.kf-button-progress .kf-loading-spinner{border-color:#0000 currentColor currentColor;width:1.25em;height:1.25em}.kf-button-label[data-wait-copy]{display:grid}.kf-button-label[data-wait-copy]>*{grid-area:1/1}.kf-button-wait-reserve{visibility:hidden}.kf-button-progress[data-wait-copy]{gap:var(--kf-space-sm);padding-inline:var(--kf-space-lg);grid-template-columns:auto minmax(0,1fr)}.kf-button-wait{text-align:center;align-items:center;width:100%;min-width:0;display:grid;overflow:hidden}.kf-button-wait>*{grid-area:1/1}.kf-button-wait-current[data-roll]{animation:kf-button-wait-in var(--kf-motion-base) var(--kf-ease-in-out) both}.kf-button-wait-previous{animation:kf-button-wait-out var(--kf-motion-base) var(--kf-ease-in-out) both}@keyframes kf-button-wait-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes kf-button-wait-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@media (prefers-reduced-motion:reduce){.kf-button-wait-current[data-roll]{animation:none}.kf-button-wait-previous{display:none}}kf-button[data-shape=circle]>.kf-button,.kf-button.kf-button--circle{width:var(--kf-button-height);min-width:var(--kf-button-height);height:var(--kf-button-height);padding:0}[data-variant=secondary]:not([data-shape=circle])>.kf-button{color:var(--kf-color-text);background-color:var(--kf-color-surface)}[data-variant=ink]:not([data-shape=circle])>.kf-button{background-color:var(--kf-color-text);color:var(--kf-color-surface)}[data-variant=tonal]:not([data-shape=circle])>.kf-button{background-color:var(--kf-color-tonal);color:var(--kf-color-primary-text)}[data-variant=danger]:not([data-shape=circle])>.kf-button{background-color:var(--kf-color-danger);color:var(--kf-color-on-danger)}kf-button[data-raised]>.kf-button{font-weight:var(--kf-font-heading-weight)}kf-button[data-raised][data-shape=pill]>.kf-button:after{content:"";border-radius:inherit;box-shadow:var(--kf-shadow-raised);pointer-events:none;position:absolute;inset:0}.kf-button:disabled{opacity:.55;cursor:not-allowed}.kf-button[data-loading]:disabled{opacity:1}.kf-button,.kf-pressable,.kf-settings-row,.kf-photo-people{box-shadow:none;-webkit-tap-highlight-color:transparent;outline:none}a.kf-button:focus-visible{box-shadow:none;outline:none}a.kf-button{text-decoration:none}a.kf-button[aria-disabled=true]{opacity:.55;pointer-events:none}.kf-button:focus-visible>.kf-button-label,.kf-pressable:not(.kf-family-picker):focus-visible,.kf-settings-row:focus-visible,.kf-photo-people:focus-visible{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}kf-button[data-focus-treatment=fill]>.kf-button:focus-visible{background-color:var(--kf-color-text);color:var(--kf-color-surface)}kf-button[data-focus-treatment=fill]>.kf-button:focus-visible>.kf-button-label{text-decoration:none}kf-button[data-shape=pill]>.kf-button{border-color:#0000;border-block-width:var(--kf-control-button-visual-inset);padding-block:calc(var(--kf-space-sm) + 1px - var(--kf-control-button-visual-inset));padding-inline:var(--kf-space-xl);text-align:center;background-clip:padding-box;position:relative}kf-button[data-shape=pill][data-size=compact]>.kf-button{padding-inline:calc(var(--kf-space-lg) + var(--kf-space-xs))}kf-button[data-shape=pill][data-size=small]>.kf-button{padding-inline:var(--kf-space-lg)}kf-button[data-shape=pill]:is([data-variant=secondary],[data-variant=outline])>.kf-button:before{content:"";border:1px solid var(--kf-color-border);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.kf-card{gap:var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-md);background:var(--kf-color-surface);min-width:0;padding:var(--kf-layout-gutter,var(--kf-space-lg));display:grid}.kf-card h2{font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));margin:0}.kf-card>:last-child{margin-bottom:0}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),select,textarea),.kf-input,.kf-select,.kf-textarea{width:100%;min-width:0;min-height:var(--kf-control-height);padding:var(--kf-space-sm) var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-md);background:var(--kf-color-surface);color:var(--kf-color-text);font:inherit;font-size:max(calc(var(--kf-font-body-size) * var(--kf-text-scale,1)), 1em);line-height:1.5;font-weight:var(--kf-font-body-weight)}:where(.kf-select-field){--kf-select-padding:var(--kf-space-lg);align-items:center;width:fit-content;min-width:0;max-width:100%;display:grid;position:relative}:where(.kf-select-field,.kf-select-field *){-webkit-tap-highlight-color:transparent}.kf-select-field[data-full-width]{width:100%}.kf-select-field[data-density=compact]{--kf-select-padding:var(--kf-space-md)}.kf-select--primary{background-color:var(--kf-color-primary);border-color:var(--kf-color-primary);color:var(--kf-color-on-primary)}.kf-select-field[data-variant=primary]>:is(.kf-select-icon,.kf-select-chevron){color:var(--kf-color-on-primary)}.kf-select-field[data-density=compact]>.kf-select{border-radius:var(--kf-radius-pill);border-color:#0000;border-block-width:var(--kf-control-select-compact-inset);padding-block:calc(var(--kf-space-sm) + 1px - var(--kf-control-select-compact-inset));background-clip:padding-box}.kf-select-field[data-density=compact][data-variant=default]:before{content:"";box-sizing:border-box;inset-block:var(--kf-control-select-compact-inset);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-pill);pointer-events:none;position:absolute;inset-inline:1px}.kf-select-field:has(>[aria-invalid=true]):before{border-color:var(--kf-color-danger)}.kf-select-field[data-disabled]:before{opacity:.55}.kf-select-field>.kf-select{appearance:none;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding-inline-start:var(--kf-select-padding);padding-inline-end:calc(var(--kf-select-padding) + var(--kf-control-icon-size) + var(--kf-space-sm));overflow:hidden}.kf-select-field--icon>.kf-select{padding-inline-start:calc(var(--kf-select-padding) + var(--kf-control-icon-size) + var(--kf-space-sm))}.kf-select-icon,.kf-select-chevron{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);color:var(--kf-color-primary-text);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.kf-select-icon{place-items:center;display:grid;inset-inline-start:var(--kf-select-padding)}.kf-select-icon>:where(svg,img){object-fit:cover;width:100%;height:100%;display:block}.kf-select-chevron{inset-inline-end:var(--kf-select-padding)}.kf-select--primary option{background:var(--kf-color-surface);color:var(--kf-color-text)}.kf-select-field[data-disabled]>.kf-select{cursor:not-allowed}.kf-select-field[data-disabled]>:where(.kf-select-icon,.kf-select-chevron){opacity:.55}:where(textarea),.kf-textarea{min-height:calc(var(--kf-control-height) * 2);border-radius:var(--kf-radius-lg);resize:vertical}:where(input,select,textarea)::placeholder{color:var(--kf-color-muted);opacity:1}:where(input,select,textarea):focus-visible{outline:3px solid var(--kf-color-focus);outline-offset:3px;box-shadow:0 0 0 3px var(--kf-color-surface)}.kf-select-field[data-density=compact]>.kf-select{border-radius:var(--kf-radius-pill);box-shadow:none;outline:none}.kf-family-picker:focus-visible>svg{stroke-width:3px;scale:1.15}.kf-select-field[data-density=compact]:has(>.kf-select:focus-visible)>.kf-select-chevron{stroke-width:3px;scale:1.15}:where(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}.kf-field{gap:var(--kf-space-sm);color:var(--kf-color-text);display:grid}.kf-notice{animation:kf-fade-in var(--kf-motion-base) var(--kf-ease-enter) both;padding:var(--kf-space-md);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1));border-radius:var(--kf-radius-sm);background:var(--kf-color-soft);color:var(--kf-color-text);margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.kf-badge{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));padding:var(--kf-space-xs) var(--kf-space-sm);border-radius:var(--kf-radius-pill);background:var(--kf-color-soft);color:var(--kf-color-text);align-items:center;display:inline-flex}.kf-polaroid{--kf-polaroid-rim:var(--kf-space-sm);box-sizing:border-box;overflow-wrap:anywhere;background:var(--kf-color-photo-paper);background-image:var(--kf-ambience-paper-texture);width:100%;min-width:0;max-width:100%;color:var(--kf-color-photo-ink);border-radius:var(--kf-radius-md);padding:var(--kf-polaroid-rim);box-shadow:var(--kf-shadow-photo);font-family:var(--kf-font-photo-body);border:0;overflow-x:clip}@media (min-width:744px){.kf-polaroid{--kf-polaroid-fit-height:calc(100svh - var(--kf-app-header-height,0px) - var(--kf-app-nav-clearance,0px) - 2 * var(--kf-space-xl));max-width:min(100%, var(--kf-polaroid-fit-height) * var(--kf-polaroid-ratio,1) + 2 * var(--kf-polaroid-rim));margin-inline:auto}}.kf-polaroid-header{align-items:center;gap:var(--kf-space-sm);min-width:0;padding:0;display:flex}.kf-polaroid[data-interactive]{cursor:pointer}.kf-polaroid-media>.kf-pressable{position:relative}.kf-polaroid-media>.kf-pressable:focus-visible:after{content:"";z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 3px var(--kf-color-focus);position:absolute;inset:0}.kf-polaroid .kf-polaroid-title,.kf-polaroid .kf-skeleton-title{min-width:0;font:var(--kf-font-body-weight) calc(var(--kf-font-photo-title-size) * var(--kf-text-scale,1))/1.3 var(--kf-font-photo-title);overflow-wrap:anywhere;text-align:start;flex:1;margin:0}.kf-polaroid-stage{min-width:0;position:relative}.kf-polaroid-actions{gap:var(--kf-space-xs);flex-shrink:0;margin-inline-start:auto;display:flex}.kf-polaroid-media{width:100%;aspect-ratio:var(--kf-polaroid-ratio,1);background:var(--kf-color-soft);border-radius:var(--kf-radius-sm);border:0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.kf-polaroid-media:after{content:"";background:var(--kf-color-soft);pointer-events:none;opacity:0;transition:opacity var(--kf-motion-base) var(--kf-ease-standard);position:absolute;inset:0}.kf-polaroid-media:has(img[data-media-pending]):not(:has(img:not([data-media-pending]):not([data-media-error]))):after{opacity:1;animation:kf-skeleton-pulse var(--kf-motion-loading-cycle) ease-in-out infinite}.kf-polaroid-media>img,.kf-polaroid-media>canvas{object-fit:cover;width:100%;height:100%;display:block}.kf-polaroid-caption{gap:var(--kf-space-md);min-width:0;padding:var(--kf-space-xl) var(--kf-space-xs) 0;grid-template-columns:minmax(0,1fr);display:grid}.kf-polaroid-caption p{white-space:pre-wrap;overflow-wrap:anywhere;text-align:start;margin:0;line-height:1.4}.kf-photo-post-media-actions,.kf-skeleton-media-actions{z-index:2;align-items:center;gap:var(--kf-space-sm);right:var(--kf-space-sm);display:flex;position:absolute;bottom:0;transform:translateY(50%)}.kf-photo-people-text{gap:0;min-width:0;display:grid}.kf-photo-post .kf-photo-post-author .kf-avatar{width:20px;height:20px;font-size:var(--kf-font-nav)}.kf-photo-post-location{justify-content:flex-start;align-items:flex-start;gap:var(--kf-space-xs);min-width:0;max-width:100%;color:var(--kf-photo-location-color,var(--kf-color-muted));font-size:var(--kf-photo-location-font-size,calc(var(--kf-font-photo-meta) * var(--kf-text-scale,1)));line-height:1.5;display:flex}.kf-photo-post-location svg{flex-shrink:0;width:1.2em;height:1.2em;margin-top:.15em}.kf-photo-post-location>span{-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:break-word;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;min-width:0;max-width:100%;max-height:3em;display:-webkit-box;overflow:hidden}.kf-photo-post-date{text-align:end;min-width:0;max-width:100%;color:var(--kf-color-photo-date-ink);font-family:var(--kf-font-photo-date);font-size:calc(var(--kf-font-photo-meta) * var(--kf-text-scale,1));overflow-wrap:anywhere;grid-column:2;justify-self:end;line-height:1.5;display:block}.kf-photo-post .kf-polaroid-caption,.kf-skeleton-post .kf-polaroid-caption{grid-template-columns:minmax(0,1fr)}.kf-photo-post .kf-photo-post-description,.kf-skeleton-post .kf-skeleton-caption{text-align:start;color:var(--kf-color-photo-muted);font-size:calc(var(--kf-font-photo-caption) * var(--kf-text-scale,1));white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;line-height:1.4;display:block}.kf-photo-post-description:empty{display:none}.kf-photo-post{--kf-photo-people-color:var(--kf-color-photo-muted);--kf-photo-location-color:var(--kf-color-photo-muted)}.kf-photo-post-footer:not([data-location]){grid-template-columns:minmax(0,1fr) fit-content(55%)}.kf-photo-post-footer:not([data-location]) .kf-photo-post-meta{display:block}.kf-photo-post-footer,.kf-skeleton-footer{padding-top:var(--kf-space-sm);align-items:center;gap:var(--kf-space-sm);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.kf-photo-post-meta,.kf-skeleton-meta{align-items:start;gap:var(--kf-space-md);grid-template-columns:minmax(0,1fr) fit-content(55%);min-width:0;display:grid}.kf-photo-post-meta>:only-child{grid-column:1/-1}.kf-photo-post-actions,.kf-skeleton-actions{justify-content:flex-end;gap:var(--kf-space-xs);margin-block:calc(-1 * var(--kf-space-sm)) calc(-1 * var(--kf-space-md));grid-column:1/-1;margin-inline-end:calc(-1 * var(--kf-space-sm));display:flex}.kf-photo-post-footer[data-location] .kf-photo-people,.kf-skeleton-footer[data-location] .kf-skeleton-people{margin-bottom:calc(-1 * var(--kf-space-sm))}.kf-photo-post-author{display:flex}.kf-photo-people{align-items:center;gap:var(--kf-space-sm);min-width:0;min-height:var(--kf-control-small-height);width:100%;box-shadow:none;color:var(--kf-photo-people-color,var(--kf-color-muted));font-family:var(--kf-font-body);text-align:start;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:flex}.kf-photo-people[data-static]{cursor:default;touch-action:auto}.kf-photo-post-author{flex-shrink:0}.kf-photo-post-people{min-width:0;font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));overflow-wrap:anywhere;line-height:1.5}.kf-photo-post-author-name{font-weight:var(--kf-font-medium-weight)}.kf-photo-people-more{text-underline-offset:.18em;text-decoration:underline}.kf-photo-people-list{gap:var(--kf-space-md);margin:0;padding:0;list-style:none;display:grid}.kf-photo-people-list li{align-items:center;gap:var(--kf-space-md);min-width:0;display:flex}.kf-photo-people-list li>div{gap:var(--kf-space-xs);overflow-wrap:anywhere;min-width:0;display:grid}.kf-photo-people-list small{color:var(--kf-color-muted);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-month-divider{align-items:center;gap:var(--kf-space-md);color:var(--kf-color-primary-text);margin:var(--kf-space-xl) 0 var(--kf-space-md);font:700 calc(var(--kf-font-subpage-title) * var(--kf-text-scale,1))/1.4 var(--kf-font-heading);display:flex}.kf-month-divider:after{content:"";background:var(--kf-color-border);flex:1;height:1px}.kf-settings-row{transition:background var(--kf-motion-fast) var(--kf-ease-standard), opacity var(--kf-motion-fast) var(--kf-ease-standard);gap:var(--kf-space-md);width:100%;min-height:var(--kf-control-small-height);padding:var(--kf-space-lg);border:0;border-bottom:1px solid var(--kf-color-border);background:var(--kf-color-surface);color:var(--kf-color-text);font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));text-align:start;font-weight:var(--kf-font-body-weight);line-height:var(--kf-font-settings-line-height);border-radius:0;justify-content:space-between;align-items:center;display:flex}.kf-settings-row-label{gap:calc(var(--kf-space-xs) / 2);overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.kf-settings-row-description,.kf-settings-row-value{color:var(--kf-color-muted);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));font-weight:var(--kf-font-body-weight);line-height:var(--kf-font-settings-line-height);overflow-wrap:anywhere}.kf-settings-row-value{font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));color:var(--kf-color-primary-text);text-align:end;max-width:40%}.kf-settings-row:disabled{opacity:.5;cursor:default}.kf-settings-row-icon,.kf-settings-row-chevron{color:var(--kf-color-muted);flex-shrink:0;align-items:center;display:inline-flex}.kf-settings-admin .kf-settings-row-icon{color:var(--kf-color-accent)}.kf-settings-row svg{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);flex-shrink:0}@media (hover:hover){.kf-settings-row:hover:not(:disabled){background:var(--kf-color-soft)}kf-button:not([data-variant],[data-shape=circle]) .kf-button:hover:not(:disabled),kf-button[data-variant=primary]:not([data-shape=circle]) .kf-button:hover:not(:disabled){background-color:var(--kf-color-primary-hover)}}.kf-settings-row:active:not(:disabled){opacity:.8}.kf-button:active:not(:disabled){transform:scale(.97)}.kf-option-list{gap:var(--kf-space-sm);border:0;grid-template-columns:minmax(0,1fr);min-width:0;margin:0;padding:0;display:grid}.kf-option-list>legend{margin-bottom:var(--kf-space-sm);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);color:var(--kf-color-muted);padding:0}.kf-option{transition:border-color var(--kf-motion-fast) var(--kf-ease-standard), background var(--kf-motion-fast) var(--kf-ease-standard);align-items:center;gap:var(--kf-space-md);min-width:0;min-height:var(--kf-control-row-height);padding:var(--kf-space-md) var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-pill);background:var(--kf-color-surface);color:var(--kf-color-text);cursor:pointer;flex-direction:row;line-height:1.5;display:flex;position:relative}.kf-option-list .kf-option input[type=radio]{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.kf-option[data-selected]{border-color:var(--kf-color-primary);background:var(--kf-color-selected)}.kf-option:has(input:focus-visible){outline:3px solid var(--kf-color-focus);outline-offset:3px;box-shadow:0 0 0 3px var(--kf-color-surface)}.kf-option-body{gap:var(--kf-space-xs);overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.kf-option-check{width:var(--kf-space-xl);height:var(--kf-space-xl);padding:var(--kf-space-xs);border:1px solid var(--kf-color-control-border);border-radius:var(--kf-radius-pill);background:var(--kf-color-surface);color:var(--kf-color-on-primary);pointer-events:none;flex-shrink:0}.kf-option-check path{opacity:0}.kf-option[data-selected] .kf-option-check,.kf-portrait-choice[data-selected] .kf-option-check{border-color:var(--kf-color-primary);background:var(--kf-color-primary)}.kf-option[data-selected] .kf-option-check path,.kf-portrait-choice[data-selected] .kf-option-check path{opacity:1}.kf-option-list:disabled .kf-option{opacity:.55;cursor:not-allowed}.kf-option-list--tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr))}.kf-option-list--tiles .kf-option{min-height:var(--kf-control-row-height);border-radius:var(--kf-radius-lg);padding:var(--kf-space-sm);padding-bottom:var(--kf-space-md);text-align:center}.kf-option-list--tiles .kf-option-body{justify-items:center;gap:var(--kf-space-sm)}.kf-option-list--tiles .kf-option-label{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));line-height:1.3}.kf-option-list--tiles .kf-option-preview{order:-1;width:100%}.kf-option-list--tiles .kf-option-check{top:var(--kf-space-sm);position:absolute;inset-inline-end:var(--kf-space-sm)}.kf-portrait-choices{gap:var(--kf-space-md);border:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,136px),1fr));min-width:0;margin:0;padding:0;display:grid}.kf-portrait-choices>legend{margin-bottom:var(--kf-space-sm);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);color:var(--kf-color-muted);padding:0}.kf-portrait-choice{transition:transform var(--kf-motion-fast) var(--kf-ease-standard), border-color var(--kf-motion-fast) var(--kf-ease-standard), background var(--kf-motion-fast) var(--kf-ease-standard);align-items:center;gap:var(--kf-space-sm);min-width:0;padding:var(--kf-space-xl) var(--kf-space-md) var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-lg);background:var(--kf-color-surface);color:var(--kf-color-text);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex;position:relative}.kf-portrait-choices .kf-portrait-choice input[type=checkbox]{opacity:0;width:100%;min-width:0;height:100%;min-height:0;cursor:inherit;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.kf-portrait-choice[data-selected]{border-color:var(--kf-color-primary);background:var(--kf-color-selected)}.kf-portrait-choice:active:not([data-disabled]){transform:scale(.97)}.kf-portrait-choice:has(input:focus-visible){outline:3px solid var(--kf-color-focus);outline-offset:3px;box-shadow:0 0 0 3px var(--kf-color-surface)}.kf-portrait-choice>.kf-avatar{width:var(--kf-control-choice-portrait-size);height:var(--kf-control-choice-portrait-size);margin-bottom:var(--kf-space-xs);font-size:calc(var(--kf-font-title) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight)}.kf-portrait-choice-label{-webkit-line-clamp:3;line-clamp:3;max-width:100%;font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.kf-portrait-choice-description{max-width:100%;color:var(--kf-color-muted);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));overflow-wrap:anywhere;line-height:1.35}.kf-portrait-choice-badge{max-width:100%;padding:0 var(--kf-space-xs);border-radius:var(--kf-radius-sm);background:var(--kf-color-danger-surface);color:var(--kf-color-danger);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);overflow-wrap:anywhere;line-height:1.5}.kf-portrait-choice .kf-option-check{top:var(--kf-space-sm);position:absolute;inset-inline-end:var(--kf-space-sm)}.kf-portrait-choice[data-disabled]{cursor:default}.kf-portrait-choice[data-disabled] :is(.kf-avatar,.kf-option-check){opacity:.5}.kf-portrait-choice[data-disabled] .kf-avatar img{filter:grayscale()}.kf-portrait-choice[data-disabled] .kf-option-check{border-style:dashed}.kf-portrait-choice[data-disabled] .kf-portrait-choice-label{color:var(--kf-color-muted)}.kf-portrait-choices:disabled .kf-portrait-choice{opacity:.55;cursor:not-allowed}.kf-profile-card{align-items:center;gap:var(--kf-space-lg);min-width:0;padding:var(--kf-space-lg);border-radius:var(--kf-radius-lg);background:var(--kf-color-photo-paper);box-shadow:var(--kf-shadow-photo);display:flex}.kf-profile-card>.kf-avatar{width:var(--kf-control-row-height);height:var(--kf-control-row-height);font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight)}.kf-profile-card[data-size=compact]{gap:var(--kf-space-md);padding:var(--kf-space-md)}.kf-profile-card[data-size=compact]>.kf-avatar{width:var(--kf-control-min-height);height:var(--kf-control-min-height);font-size:calc(var(--kf-font-subpage-title) * var(--kf-text-scale,1))}.kf-profile-card[data-size=compact] .kf-profile-card-name{font-size:calc(var(--kf-font-subpage-title) * var(--kf-text-scale,1))}.kf-profile-card[data-active=picture]>.kf-avatar{outline:2px dashed var(--kf-color-primary);outline-offset:3px}.kf-profile-card-body{gap:var(--kf-space-xs);flex:1;justify-items:start;min-width:0;display:grid}.kf-profile-card-name,.kf-profile-card-line{transition:background var(--kf-motion-base) var(--kf-ease-standard);overflow-wrap:anywhere;max-width:100%}.kf-profile-card-name{font-family:var(--kf-font-heading);font-weight:var(--kf-font-heading-weight);font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));line-height:1.2}.kf-profile-card-line{align-items:center;gap:var(--kf-space-xs);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));line-height:1.35;display:inline-flex}.kf-profile-card-line>svg{flex-shrink:0;width:1.15em;height:1.15em}.kf-profile-card-line>.kf-avatar{width:var(--kf-space-lg);height:var(--kf-space-lg);font-size:calc(var(--kf-font-nav) * var(--kf-text-scale,1))}.kf-profile-card [data-empty]{color:var(--kf-color-muted)}.kf-profile-card [data-current]{margin:calc(var(--kf-space-xs) / -2) calc(-1 * var(--kf-space-xs));padding:calc(var(--kf-space-xs) / 2) var(--kf-space-xs);border-radius:var(--kf-radius-sm);background:var(--kf-color-selected)}.kf-choice-tiles{gap:var(--kf-space-md);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.kf-choice-tile{transition:transform var(--kf-motion-fast) var(--kf-ease-standard), background var(--kf-motion-fast) var(--kf-ease-standard), border-color var(--kf-motion-fast) var(--kf-ease-standard), color var(--kf-motion-fast) var(--kf-ease-standard);min-width:0;min-height:calc(2 * var(--kf-control-min-height));padding:var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-lg);background:var(--kf-color-surface);color:var(--kf-color-text);font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;justify-content:center;align-items:center;display:flex}.kf-choice-tile[data-wide]{min-height:calc(var(--kf-control-row-height) + var(--kf-space-md));grid-column:1/-1}.kf-choice-tile-label{font-family:var(--kf-font-heading);font-weight:var(--kf-font-heading-weight);font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));overflow-wrap:anywhere;line-height:1.2}.kf-choice-tile[data-wide] .kf-choice-tile-label{font-family:var(--kf-font-body);font-weight:var(--kf-font-medium-weight);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1))}.kf-choice-tile[aria-pressed=true]{border-color:var(--kf-color-primary);background:var(--kf-color-primary);color:var(--kf-color-on-primary)}.kf-choice-tile:active:not(:disabled){transform:scale(.97)}.kf-choice-tile:disabled{cursor:default}.kf-choice-tile:focus-visible .kf-choice-tile-label{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}.kf-choice-cards{gap:var(--kf-space-md);min-width:0;display:grid}.kf-choice-card{transition:transform var(--kf-motion-fast) var(--kf-ease-standard), border-color var(--kf-motion-fast) var(--kf-ease-standard);align-items:center;gap:var(--kf-space-md);width:100%;min-width:0;min-height:calc(var(--kf-control-row-height) + var(--kf-space-xl));padding:var(--kf-space-lg) var(--kf-space-md) var(--kf-space-lg) var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-lg);background:var(--kf-color-surface);color:var(--kf-color-text);font:inherit;text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;display:flex}.kf-choice-card[data-emphasis]{border-color:var(--kf-color-primary);box-shadow:inset 0 0 0 .5px var(--kf-color-primary)}.kf-choice-card:active:not(:disabled){transform:scale(.98)}.kf-choice-card:disabled{cursor:default}.kf-choice-card-media{flex-shrink:0;align-items:center;display:flex}.kf-choice-card-media>.kf-avatar{box-shadow:0 0 0 2px var(--kf-color-surface)}.kf-choice-card-media>.kf-avatar:first-child{z-index:1;position:relative}.kf-choice-card-media>.kf-avatar+.kf-avatar{margin-inline-start:calc(-1 * (var(--kf-space-lg) + var(--kf-space-xs)))}.kf-choice-card-icon{width:var(--kf-control-height);height:var(--kf-control-height);border-radius:var(--kf-radius-pill);background:var(--kf-color-avatar);color:var(--kf-color-primary-text);place-items:center;display:grid}.kf-choice-card-icon>svg{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size)}.kf-choice-card-text{gap:calc(var(--kf-space-xs) / 2);flex:1 1 0;min-width:0;display:grid}.kf-choice-card-title{font-weight:var(--kf-font-medium-weight);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1));overflow-wrap:anywhere;line-height:1.35}.kf-choice-card-detail{color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));overflow-wrap:anywhere;line-height:1.4}.kf-choice-card-count{min-width:var(--kf-space-xl);height:var(--kf-space-xl);padding-inline:var(--kf-space-xs);border-radius:var(--kf-radius-pill);background:var(--kf-color-primary);color:var(--kf-color-on-primary);font-weight:var(--kf-font-medium-weight);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.kf-choice-card-chevron{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);color:var(--kf-color-muted-foreground);flex-shrink:0}.kf-choice-card:focus-visible .kf-choice-card-title{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}.kf-swatch{gap:var(--kf-space-xs);width:100%;display:flex}.kf-swatch>span{height:56px;padding:var(--kf-space-sm);align-content:start;gap:var(--kf-space-xs);border-radius:var(--kf-radius-md);border:1px solid;flex:1 1 0;display:grid}.kf-swatch>span>span:first-child{border-radius:var(--kf-radius-pill);width:55%;height:8px}.kf-swatch>span>span:last-child{border-radius:var(--kf-radius-sm);border:1px solid;height:22px}.kf-pending-bar{left:50%;bottom:var(--kf-pending-offset,var(--kf-space-lg));z-index:15;width:min(calc(100% - 2 * var(--kf-layout-mobile-gutter)), var(--kf-layout-reading-width));align-items:center;gap:var(--kf-space-sm);padding:var(--kf-space-md) var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-lg);background:var(--kf-color-surface);color:var(--kf-color-text);box-shadow:0 6px 22px var(--kf-color-shadow);animation:kf-rise var(--kf-motion-base) var(--kf-ease-enter);flex-wrap:wrap;display:flex;position:fixed;transform:translate(-50%)}.kf-pending-bar[data-closing]{animation:kf-sink var(--kf-motion-fast) var(--kf-ease-exit) forwards}.kf-pending-bar>[role=status]{font-weight:var(--kf-font-medium-weight);flex:100%}.kf-pending-bar kf-button{flex:140px}.kf-pending-bar[data-detail]>[role=status]{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));font-weight:var(--kf-font-body-weight);overflow-wrap:anywhere}.kf-pending-bar[data-detail]>kf-button{flex:1 1 0}.kf-pending-bar[data-detail]>kf-button:first-of-type{flex:none}.kf-pending-bar[data-detail]>kf-button>.kf-button{width:100%}@keyframes kf-rise{0%{transform:translate(-50%, calc(100% + var(--kf-space-xl)));opacity:0}to{opacity:1;transform:translate(-50%)}}@keyframes kf-sink{to{transform:translate(-50%, calc(100% + var(--kf-space-xl)));opacity:0}}@media (hover:hover){.kf-option-list:not(:disabled) .kf-option:not([data-selected]):hover{background:var(--kf-color-soft)}}.kf-modal{animation:kf-scale-in var(--kf-motion-slow) var(--kf-ease-enter) both;border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-lg);color:var(--kf-color-text);background:var(--kf-color-background);width:min(var(--kf-layout-dialog-width), calc(100% - 2 * var(--kf-space-md)));max-height:calc(var(--dialog-viewport-height,100dvh) - 2 * var(--kf-space-lg));scrollbar-gutter:stable;overscroll-behavior:contain;padding:var(--kf-layout-gutter);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1))}.kf-modal::backdrop{animation:kf-fade-in var(--kf-motion-base) var(--kf-ease-enter) both;background:var(--kf-color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kf-modal:not(.kf-modal--full){top:calc(var(--dialog-viewport-top,0px) + var(--dialog-viewport-height,100dvh) / 2);margin-top:0;margin-bottom:0;bottom:auto;transform:translateY(-50%)}.kf-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--kf-space-lg);margin-bottom:var(--kf-space-xl);display:flex}.kf-modal-header h2{font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));overflow-wrap:anywhere;min-width:0;margin:0}.kf-modal-header>kf-button{flex-shrink:0;margin-inline-start:auto}.kf-modal-header h2:focus{outline:none}.kf-modal--full{inset:0;top:var(--dialog-viewport-top,0px);width:100%;max-width:none;height:var(--dialog-viewport-height,100dvh);scrollbar-gutter:auto;border:0;border-radius:0;max-height:none;margin:0;padding:0;position:fixed;bottom:auto;overflow:hidden}.kf-modal--full[open]{flex-direction:column;display:flex}.kf-modal--full:not(.kf-modal--framed){animation-name:kf-fade-in}.kf-modal--full>.kf-modal-header{box-sizing:border-box;width:100%;max-width:none;padding:max(var(--kf-space-sm), env(safe-area-inset-top)) max(var(--kf-layout-gutter), env(safe-area-inset-left), env(safe-area-inset-right)) var(--kf-space-sm);flex:none;margin:0}.kf-modal--full:not(.kf-modal--framed)>.kf-modal-header{grid-template-columns:var(--kf-control-height) minmax(0, 1fr) var(--kf-control-height);align-items:center;gap:var(--kf-space-sm);background:var(--kf-color-header);border-bottom:1px solid var(--kf-color-header-border);display:grid}.kf-modal--full:not(.kf-modal--framed)>.kf-modal-header h2{text-align:center;overflow-wrap:anywhere;grid-area:1/2}.kf-modal--full:not(.kf-modal--framed)>.kf-modal-header kf-button{grid-area:1/3}.kf-modal-body{gap:var(--kf-space-xl);min-width:0;display:grid}.kf-modal--full>.kf-modal-body{overscroll-behavior:contain;min-height:0;padding:var(--kf-space-lg) max(var(--kf-layout-gutter), env(safe-area-inset-left)) max(var(--kf-space-lg), var(--kf-safe-area-bottom));padding-right:max(var(--kf-layout-gutter), env(safe-area-inset-right));scroll-padding:var(--kf-space-lg);flex:auto;align-content:start;overflow-y:auto}.kf-modal--framed>.kf-modal-header{width:100%;max-width:var(--kf-layout-wide-width);box-sizing:border-box;padding:max(var(--kf-space-sm), env(safe-area-inset-top)) var(--kf-layout-gutter) var(--kf-space-sm);flex:none;align-items:center;margin:0 auto;position:static}.kf-modal--framed>.kf-modal-body{overscroll-behavior:contain;min-height:0;padding:0 var(--kf-layout-gutter) var(--kf-space-lg);scroll-padding:var(--kf-space-lg);flex:auto;display:block;overflow-y:auto}.kf-modal-footer,.kf-sheet-footer{border-top:1px solid var(--kf-color-border);background:var(--kf-color-background);padding:var(--kf-space-sm) var(--kf-layout-gutter) max(var(--kf-space-sm), var(--kf-safe-area-bottom));flex:none}.kf-modal:not(.kf-modal--full)>.kf-modal-footer{padding-bottom:var(--kf-space-sm)}.kf-modal--compact>.kf-modal-header{max-width:calc(var(--kf-layout-reading-width) + 2 * var(--kf-layout-gutter));gap:var(--kf-space-sm)}.kf-modal--compact>.kf-modal-body{padding-bottom:var(--kf-space-sm)}.kf-sheet{--sheet-ease:cubic-bezier(.22, 1, .36, 1);--sheet-radius:calc(var(--kf-radius-lg) + var(--kf-space-sm));inset:auto 0 var(--dialog-viewport-bottom,0px);width:min(100%, var(--kf-layout-dialog-width));max-width:none;max-height:calc(var(--dialog-viewport-height,100dvh) - var(--kf-space-lg));border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;background:var(--kf-color-surface);color:var(--kf-color-text);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1));box-shadow:0 -12px 40px var(--kf-color-shadow);overscroll-behavior:contain;translate:0 var(--kf-sheet-dismiss-offset,0px);transition:translate var(--kf-motion-base) var(--kf-ease-enter);animation:kf-sheetIn var(--kf-motion-slow) var(--kf-ease-enter);border:0;flex-direction:column;margin:0 auto;padding:0;display:flex;position:fixed}.kf-sheet[data-dragging]{-webkit-user-select:none;user-select:none;will-change:translate;transition:none}.kf-sheet::backdrop{background:var(--kf-color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:kf-sheetFade var(--kf-motion-base) var(--kf-ease-enter)}.kf-sheet[data-closing]{animation:kf-sheetOut var(--kf-motion-base) var(--kf-ease-exit) forwards}.kf-sheet[data-closing]::backdrop{animation:kf-sheetFade var(--kf-motion-fast) var(--kf-ease-exit) reverse forwards}@media (max-width:743.98px){.kf-sheet[data-keyboard-cover]::backdrop{background:var(--kf-color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}}.kf-sheet-grip{padding-top:var(--kf-space-sm);cursor:grab;justify-items:center;display:grid}.kf-sheet[data-dragging] .kf-sheet-grip{cursor:grabbing}.kf-sheet-handle{border-radius:var(--kf-radius-pill);background:var(--kf-color-border);width:40px;height:4px}.kf-sheet-header{grid-template-columns:var(--kf-control-compact-height) minmax(0, 1fr) var(--kf-control-compact-height);align-items:center;gap:var(--kf-space-sm);padding:var(--kf-space-xs) var(--kf-space-md) var(--kf-space-sm);flex-shrink:0;display:grid}.kf-sheet-header>kf-button{grid-area:1/3;justify-self:end}.kf-sheet-close{border-color:#0000}.kf-sheet-title{min-width:0;font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-heading-weight);text-align:center;overflow-wrap:anywhere;grid-area:1/2;margin:0;overflow:hidden}.kf-sheet-confirm>kf-button,.kf-sheet-confirm>kf-button>.kf-button{width:100%}.kf-sheet-body{overscroll-behavior:contain;scroll-padding:var(--kf-space-lg);gap:var(--kf-space-lg);min-height:0;padding:0 var(--kf-space-lg) max(var(--kf-space-lg), var(--kf-safe-area-bottom));flex:auto;display:grid;overflow-y:auto}.kf-sheet-footer:has(>kf-button:only-child){justify-content:flex-end;display:flex}.kf-sheet-footer-actions{gap:var(--kf-space-sm);flex-wrap:wrap;display:flex}.kf-sheet-footer-actions>kf-button{flex:8rem}.kf-sheet-footer-actions>kf-button>button{width:100%}@keyframes kf-sheetIn{0%{transform:translateY(100%)}}@keyframes kf-sheetOut{to{transform:translateY(100%)}}@keyframes kf-sheetFade{0%{opacity:0}}.kf-screen{width:100%;min-width:0;padding-top:var(--kf-space-xl)}.kf-screen--with-footer{padding-bottom:calc(var(--kf-app-pending-height,2 * var(--kf-control-height)) + var(--kf-space-xxl))}.kf-app-viewport[data-app-layout=chat]{padding-bottom:0}.kf-screen--chat{box-sizing:border-box;min-height:calc(100svh - var(--kf-app-header-height,0px));flex-direction:column;display:flex}.kf-screen--chat.kf-screen--with-footer{padding-bottom:calc(var(--kf-app-pending-height,2 * var(--kf-control-height)) + var(--kf-space-md))}.kf-screen--chat .kf-screen-body{align-content:end;gap:var(--kf-space-sm);flex:1}.kf-screen-footer>*{width:min(100%, var(--kf-layout-reading-width));margin-inline:auto}:root:has([data-app-shell]){scroll-padding-top:calc(var(--kf-app-header-height,0px) + var(--kf-space-md));scroll-padding-bottom:calc(var(--kf-app-bottom-clearance,0px) + var(--kf-space-md))}:root:has([data-app-shell][data-keyboard-open]){scroll-padding-bottom:var(--kf-space-md)}:root:has([data-app-shell]){overscroll-behavior-y:none}body:has([data-app-shell]){overscroll-behavior-y:none}.kf-screen-body{gap:var(--kf-space-xl);display:grid}.kf-screen-body :where(form){gap:var(--kf-space-lg);display:grid}.kf-screen-section{gap:var(--kf-space-lg);min-width:0;display:grid}.kf-screen-section-heading{gap:var(--kf-space-sm);display:grid}.kf-screen-section-title{gap:var(--kf-space-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.kf-screen-section-title>h2,.kf-settings-field-title,.kf-email-composer--menu label,.kf-segmented-legend,.kf-person-combobox--menu label{font-family:var(--kf-font-body);font-size:calc(var(--kf-font-settings-section) * var(--kf-text-scale,1));font-weight:var(--kf-font-settings-weight);color:var(--kf-color-primary-text);text-transform:uppercase;letter-spacing:0;line-height:var(--kf-font-settings-line-height);margin:0}.kf-screen-group{gap:var(--kf-space-lg);min-width:0;display:grid}.kf-screen-hint{color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));margin:0;line-height:1.5}.kf-settings-list{border-radius:var(--kf-radius-lg);background:var(--kf-color-surface);border:0;min-width:0;margin:0;padding:0;list-style:none;display:grid;overflow:clip;container-type:inline-size}.kf-settings-list>:last-child:is(.kf-settings-row,.kf-settings-toggle,.kf-settings-item,.kf-settings-choice),.kf-settings-list>:last-child>:is(.kf-settings-item,.kf-settings-row){border-bottom:0}.kf-settings-item{gap:var(--kf-space-md);min-width:0;padding:var(--kf-space-md);border-bottom:1px solid var(--kf-color-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.kf-settings-item-leading{grid-column:1;display:flex}.kf-settings-item-body{gap:var(--kf-space-xs);overflow-wrap:anywhere;grid-column:2;min-width:0;display:grid}.kf-settings-item-body>strong{font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight)}.kf-settings-item-detail{gap:var(--kf-space-xs);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));color:var(--kf-color-muted);display:grid}.kf-settings-item-actions{gap:var(--kf-space-xs);flex-wrap:wrap;grid-column:3;display:flex}@container (max-width:30rem){.kf-settings-item-actions:has(>:nth-child(2)){grid-column:2/-1}}@container (max-width:22rem){.kf-settings-item-actions{grid-column:2/-1}}.kf-picture-field{--kf-picture-size:calc(var(--kf-space-xl) * 3);grid-template-columns:var(--kf-picture-size) minmax(0, 1fr);gap:var(--kf-space-lg);align-items:center;display:grid}.kf-picture-field-preview{width:var(--kf-picture-size)}.kf-picture-field-preview>.kf-avatar{width:var(--kf-picture-size);height:var(--kf-picture-size)}.kf-picture-field-preview .kf-avatar svg{width:var(--kf-space-xxl);height:var(--kf-space-xxl)}.kf-picture-field-content{gap:var(--kf-space-sm);justify-items:start;min-width:0;display:grid}.kf-picture-field--centered{--kf-picture-size:calc(var(--kf-space-xl) * 4);justify-items:center;gap:var(--kf-space-xl);padding-block:var(--kf-space-sm);grid-template-columns:minmax(0,1fr)}.kf-picture-field--centered .kf-picture-field-preview .kf-avatar svg{width:calc(var(--kf-space-xl) * 2);height:calc(var(--kf-space-xl) * 2)}.kf-picture-field--centered .kf-picture-field-content{justify-items:center}.kf-picture-field--centered .kf-action-group{justify-content:center}.kf-picture-field-content kf-button[data-size=small]>.kf-button{font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1))}.kf-email-composer{gap:var(--kf-space-xs);text-align:start;width:100%;min-width:0;color:var(--kf-color-text);display:grid}.kf-email-composer form{gap:var(--kf-space-sm);grid-template-columns:minmax(0,1fr);display:grid}.kf-email-composer:not(.kf-email-composer--menu) label{font-weight:var(--kf-font-medium-weight)}.kf-email-composer--menu .kf-input{border-radius:var(--kf-radius-pill)}.kf-email-add>kf-button>.kf-button{--kf-icon-color:var(--kf-color-primary)}.kf-email-add .kf-button:disabled{opacity:.4}.kf-email-hint{color:var(--kf-color-muted);font-size:var(--kf-font-caption);margin:0}.kf-email-error{color:var(--kf-color-danger);font-size:var(--kf-font-caption);margin:0}.kf-email-list{gap:var(--kf-space-md) var(--kf-space-sm);padding-block:calc((var(--kf-control-compact-height) - var(--kf-space-xxl)) / 2);padding-inline-end:calc((var(--kf-control-compact-height) - var(--kf-space-xxl)) / 2)}.kf-email-chip{height:var(--kf-space-xxl);border-radius:var(--kf-radius-pill);background:var(--kf-color-segment-track);color:var(--kf-color-text);padding-inline-start:var(--kf-space-md)}.kf-email-address{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));line-height:1.2;overflow:hidden}.kf-email-chip>kf-button{margin-block:calc((var(--kf-space-xxl) - var(--kf-control-compact-height)) / 2);margin-inline:calc(var(--kf-space-sm) - var(--kf-space-lg)) calc((var(--kf-space-xxl) - var(--kf-control-compact-height)) / 2)}.kf-email-chip>kf-button>.kf-button{--kf-icon-color:var(--kf-color-muted)}.kf-email-composer--on-primary{color:var(--kf-color-on-primary)}.kf-email-composer--on-primary label{font-size:var(--kf-font-caption)}.kf-email-composer--on-primary .kf-email-chip{background:color-mix(in srgb, var(--kf-color-on-primary) 18%, transparent);color:var(--kf-color-on-primary)}.kf-email-composer--on-primary .kf-email-error{color:var(--kf-color-on-primary)}.kf-email-composer--on-primary .kf-email-chip>kf-button>.kf-button{--kf-icon-color:var(--kf-color-on-primary)}.kf-segmented{gap:var(--kf-space-sm);border:0;min-width:0;margin:0;padding:0;display:grid}.kf-segmented-legend{margin-block-end:var(--kf-space-sm);padding:0}.kf-segmented-track{grid-template-columns:repeat(var(--kf-segment-count), minmax(0, 1fr));font-size:max(calc(var(--kf-font-body-size) * var(--kf-text-scale,1)), 1em);min-height:max(var(--kf-control-height), calc(1.5em + 2 * var(--kf-space-sm) + 2px));padding:var(--kf-space-xs);border-radius:var(--kf-radius-pill);background:var(--kf-color-segment-track);isolation:isolate;display:grid;position:relative}.kf-segmented-track:before{content:"";z-index:-1;inset-block:var(--kf-space-xs);width:calc((100% - 2 * var(--kf-space-xs)) / var(--kf-segment-count));border-radius:var(--kf-radius-pill);background:var(--kf-color-segment-thumb);box-shadow:var(--kf-shadow-segment);transform:translateX(calc(100% * var(--kf-segment-index)));transition:transform var(--kf-motion-base) var(--kf-ease-standard);position:absolute;inset-inline-start:var(--kf-space-xs)}[dir=rtl] .kf-segmented-track:before{transform:translateX(calc(-100% * var(--kf-segment-index)))}.kf-segment{min-width:0;margin-block:calc(-1 * var(--kf-space-xs));padding:var(--kf-space-xs) var(--kf-space-sm);border-radius:var(--kf-radius-pill);color:var(--kf-color-muted);font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--kf-motion-fast) var(--kf-ease-standard);justify-content:center;align-items:center;display:flex;position:relative}.kf-segment[data-selected]{color:var(--kf-color-text)}.kf-segment input[type=radio]{opacity:0;width:100%;min-width:0;height:100%;min-height:0;cursor:inherit;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.kf-segment-label{overflow-wrap:anywhere;min-width:0}.kf-segment:has(input:focus-visible){outline:2px solid var(--kf-color-focus);outline-offset:calc(-1 * var(--kf-space-xs))}.kf-segmented[data-disabled] .kf-segmented-track{opacity:.55}.kf-segmented[data-disabled] .kf-segment{cursor:not-allowed}.kf-segmented-description{color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));margin:0}@media (prefers-reduced-motion:reduce){.kf-segmented-track:before,.kf-segment{transition:none}}@keyframes kf-arrive{0%{opacity:0;transform:translateY(var(--kf-space-xs))}to{opacity:1;transform:translateY(0)}}:where(kf-button,kf-card,kf-field,[class^=kf-],[class*=\ kf-]){box-sizing:border-box}kf-button[data-full-width]{width:100%}.kf-action-group{align-items:center;gap:var(--kf-space-sm);flex-wrap:wrap;min-width:0;display:flex}.kf-action-group>kf-button{flex:0 auto}.kf-action-group[data-layout=row]>kf-button{flex:1 1 0;min-width:min-content;max-width:max-content}.kf-action-group[data-layout=row] .kf-button-label{overflow-wrap:break-word;text-wrap:balance}.kf-action-group[data-layout=stack]{flex-flow:column;align-items:stretch}.kf-action-group[data-layout=stack]>kf-button{flex:none}.kf-button--compact,.kf-button--small{max-width:100%}kf-button[data-shape=circle]>.kf-button{height:var(--kf-button-height);padding:0}[data-variant=ghost]>.kf-button{color:var(--kf-color-primary-text);background:0 0;border-color:#0000}.kf-button>svg{flex-shrink:0;width:1.25em;height:1.25em;display:block}.kf-pressable{color:inherit;font:inherit;touch-action:manipulation;cursor:pointer}.kf-pressable:disabled{opacity:.55;cursor:not-allowed}.kf-checkbox:focus-visible,.kf-radio:focus-visible,.kf-switch:focus-visible,.kf-range:focus-visible,.kf-file-input:focus-visible{outline:3px solid var(--kf-color-focus);outline-offset:3px;box-shadow:0 0 0 3px var(--kf-color-surface)}@media (hover:hover){[data-variant=ghost]:not([data-shape=circle])>.kf-button:hover:not(:disabled),[data-variant=secondary]:not([data-shape=circle])>.kf-button:hover:not(:disabled){background-color:var(--kf-color-selected)}}.kf-field{min-width:0;font-weight:var(--kf-font-medium-weight)}.kf-field label{font:inherit}.kf-field--inline{justify-content:space-between;align-items:center;gap:var(--kf-space-lg);min-height:var(--kf-control-height);flex-direction:row;display:flex}.kf-field--inline>span{overflow-wrap:anywhere;min-width:0}.kf-field-hint,.kf-field-error{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));font-weight:400;line-height:1.5}.kf-field-hint{color:var(--kf-color-muted)}.kf-field-error{color:var(--kf-color-danger)}:is(.kf-input,.kf-select,.kf-textarea)[aria-invalid=true]{border-color:var(--kf-color-danger)}.kf-checkbox,.kf-radio{appearance:auto;width:var(--kf-space-xl);height:var(--kf-space-xl);flex:0 0 var(--kf-space-xl);accent-color:var(--kf-color-primary);margin:0}.kf-switch{appearance:none;width:var(--kf-control-height);height:var(--kf-space-xxl);flex:0 0 var(--kf-control-height);border:2px solid var(--kf-color-muted);border-radius:var(--kf-radius-pill);background:var(--kf-color-soft);cursor:pointer;margin:0;position:relative}.kf-switch:before{content:"";width:var(--kf-space-xl);height:var(--kf-space-xl);border-radius:var(--kf-radius-pill);background:var(--kf-color-muted);transition:transform var(--kf-motion-fast);position:absolute;inset:2px auto auto 2px}.kf-switch:checked{background:var(--kf-color-primary);border-color:var(--kf-color-primary)}.kf-switch:checked:before{background:var(--kf-color-on-primary);transform:translateX(var(--kf-space-lg))}.kf-range{width:100%;min-width:0;min-height:var(--kf-control-height);accent-color:var(--kf-color-primary);margin:0}.kf-file-input{min-width:0;max-width:100%;color:var(--kf-color-text);font:inherit}.kf-file-input::file-selector-button{min-height:var(--kf-control-height);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-pill);padding:var(--kf-space-sm) var(--kf-space-lg);background:var(--kf-color-soft);color:var(--kf-color-text);font:inherit;cursor:pointer;margin-inline-end:var(--kf-space-sm)}.kf-avatar{width:var(--kf-control-height);height:var(--kf-control-height);border-radius:var(--kf-radius-pill);background:var(--kf-color-avatar);color:var(--kf-color-avatar-text);font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.kf-avatar--small{width:var(--kf-space-xxl);height:var(--kf-space-xxl)}.kf-avatar--large{width:var(--kf-control-row-height);height:var(--kf-control-row-height)}.kf-avatar img{object-fit:cover;width:100%;height:100%}.kf-empty-state{justify-items:center;gap:var(--kf-space-lg);text-align:center;padding:var(--kf-space-page) var(--kf-space-lg);color:var(--kf-color-muted);display:grid}.kf-empty-state h2{color:var(--kf-color-text);font-family:var(--kf-font-heading);font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));margin:0}.kf-empty-state p{margin:0;line-height:1.6}.kf-navigation-item{transition:color var(--kf-motion-fast) var(--kf-ease-standard), background var(--kf-motion-fast) var(--kf-ease-standard);justify-content:center;align-items:center;gap:var(--kf-space-xs);min-width:var(--kf-control-height);min-height:var(--kf-control-nav-height);padding:var(--kf-space-sm);border-radius:var(--kf-radius-pill);color:var(--kf-color-muted);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));background:0 0;border:0;flex-direction:column;display:flex}.kf-navigation-item[aria-current=page]{color:var(--kf-color-primary-text);background:0 0}.kf-navigation-icon{display:inline-flex}.kf-navigation-icon svg{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size)}.kf-color-swatch{height:var(--kf-control-row-height);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-md);background:var(--kf-swatch-color);display:block}.kf-sheet-title{font-size:calc(var(--kf-font-body-size) * var(--kf-text-scale,1))}.kf-sheet{overflow:hidden}.kf-search-toolbar{gap:var(--kf-space-sm);margin-bottom:var(--kf-space-xl);display:grid}.kf-search-filters{gap:var(--kf-space-sm);flex-wrap:wrap;display:flex}.kf-search-field{align-items:center;gap:var(--kf-space-sm);min-width:0;min-height:var(--kf-control-height);padding-inline:var(--kf-space-lg) var(--kf-space-xs);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-pill);background:var(--kf-color-surface);color:var(--kf-color-text);display:flex}.kf-search-field:has(.kf-search-input:focus-visible){outline:3px solid var(--kf-color-focus);outline-offset:3px;box-shadow:0 0 0 3px var(--kf-color-surface)}.kf-search-field-icon{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);color:var(--kf-color-muted);flex-shrink:0}.kf-search-input{min-width:0;min-height:calc(var(--kf-control-height) - 2px);color:inherit;font:inherit;font-size:max(calc(var(--kf-font-body-size) * var(--kf-text-scale,1)), 1em);appearance:none;background:0 0;border:0;flex:1;padding:0}.kf-search-input:focus-visible{box-shadow:none;outline:none}.kf-search-input::placeholder{color:var(--kf-color-muted);opacity:1}.kf-search-input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.kf-search-input::-webkit-search-decoration{-webkit-appearance:none;display:none}.kf-filter-trigger{isolation:isolate;max-width:100%;min-height:var(--kf-control-small-height);border-radius:var(--kf-radius-pill);color:var(--kf-color-text);align-items:center;display:inline-flex;position:relative}.kf-filter-trigger:before{content:"";inset:var(--kf-radius-sm) 0;z-index:-1;border:1px solid var(--kf-color-border);border-radius:inherit;background:var(--kf-color-surface);position:absolute}.kf-filter-trigger[data-active]{color:var(--kf-color-primary-text)}.kf-filter-trigger[data-active]:before{background:var(--kf-color-brand-tint);border-color:#0000}.kf-filter-trigger-main,.kf-filter-trigger-clear{min-height:var(--kf-control-small-height);border-radius:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;display:inline-flex}.kf-filter-trigger-main{gap:var(--kf-space-xs);min-width:0;padding-inline:var(--kf-space-md);font:var(--kf-font-medium-weight) calc(var(--kf-font-label) * var(--kf-text-scale,1))/1.3 var(--kf-font-body)}.kf-filter-trigger:has(.kf-filter-trigger-clear) .kf-filter-trigger-main{padding-inline-end:var(--kf-space-xs)}.kf-filter-trigger-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kf-filter-trigger-icon{display:inline-flex}.kf-filter-trigger-icon>svg,.kf-filter-trigger-main>svg{width:var(--kf-control-photo-action-icon-size);height:var(--kf-control-photo-action-icon-size);flex-shrink:0}.kf-filter-trigger-clear{min-width:var(--kf-control-small-height);justify-content:center;padding:0}.kf-filter-trigger-clear>svg{width:var(--kf-control-photo-action-icon-size);height:var(--kf-control-photo-action-icon-size)}.kf-filter-trigger-main:focus-visible{text-underline-offset:.2em;outline:none;text-decoration:underline;text-decoration-thickness:2px}.kf-filter-trigger-clear:focus-visible{color:var(--kf-color-focus);outline:none}.kf-filter-trigger-clear:focus-visible>svg{stroke-width:3px}.kf-month-range{gap:var(--kf-space-sm);display:grid}.kf-month-range-header{justify-content:space-between;align-items:center;display:flex}.kf-month-range-header strong{font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight)}.kf-month-range-grid{gap:var(--kf-space-xs);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kf-month-range-month{min-height:var(--kf-control-small-height);border-radius:var(--kf-radius-pill);color:var(--kf-color-text);font:inherit;font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}.kf-month-range-month[data-within]{background:var(--kf-color-brand-tint);color:var(--kf-color-primary-text)}.kf-month-range-month[data-edge]{background:var(--kf-color-primary);color:var(--kf-color-on-primary);font-weight:var(--kf-font-medium-weight)}.kf-month-range-month:disabled{opacity:.4;cursor:default}.kf-month-range-month:focus-visible{outline:3px solid var(--kf-color-focus);outline-offset:2px}.kf-search-filters:empty{display:none}.kf-notification-icon{justify-content:center;align-items:center;display:inline-flex;position:relative}.kf-notification-icon>svg{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size)}.kf-notification-count{top:calc(-1 * var(--kf-space-sm));right:calc(-1 * var(--kf-space-sm));white-space:nowrap;width:max-content;min-width:var(--kf-space-lg);height:var(--kf-space-lg);padding-inline:var(--kf-space-xs);border-radius:var(--kf-radius-pill);background:var(--kf-color-accent-strong);color:var(--kf-color-on-accent);box-shadow:0 0 0 2px var(--kf-color-header);font:var(--kf-font-medium-weight) var(--kf-font-small)/1 var(--kf-font-mono);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex;position:absolute}.kf-notification-count[data-inline]{vertical-align:middle;height:auto;min-height:var(--kf-space-lg);box-shadow:none;font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));display:inline-flex;position:static}.kf-notification-count[data-dot]{min-width:var(--kf-space-sm);min-height:var(--kf-space-sm);width:var(--kf-space-sm);height:var(--kf-space-sm);padding:0}.kf-pull-refresh{--kf-pull-distance:0px;--kf-pull-transform:none;min-width:0;position:relative}.kf-pull-refresh[data-scope=region]{padding-bottom:var(--kf-control-pull-refresh-limit)}.kf-pull-refresh-content{transform:var(--kf-pull-transform);transition:transform var(--kf-motion-pull-refresh-settle) var(--kf-ease-enter)}.kf-pull-refresh[data-disabled]>.kf-pull-refresh-content{transition:none;transform:none}.kf-pull-refresh-reveal{height:max(var(--kf-control-pull-refresh-limit), var(--kf-pull-distance));clip-path:inset(0 0 max(0px, calc(var(--kf-control-pull-refresh-limit) - var(--kf-pull-distance))) 0);pointer-events:none;transition:clip-path var(--kf-motion-pull-refresh-settle) var(--kf-ease-enter);position:absolute;inset:0 0 auto}.kf-pull-refresh[data-pulling]>.kf-pull-refresh-content,.kf-pull-refresh[data-pulling]>.kf-pull-refresh-reveal{transition:none}@media (prefers-reduced-motion:reduce){.kf-pull-refresh-content,.kf-pull-refresh-reveal{transition:none}}.kf-pull-refresh-bar{justify-content:center;align-items:center;gap:var(--kf-space-sm);min-height:var(--kf-control-pull-refresh-rest);max-width:var(--kf-layout-reading-width);padding:var(--kf-space-sm) var(--kf-layout-gutter);text-align:center;color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));margin-inline:auto;display:flex}.kf-pull-refresh-bar>span{min-width:0}.kf-pull-refresh-bar>svg{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);flex-shrink:0}.kf-refresh-spinning{animation:1s linear infinite kf-refresh-spin}@keyframes kf-refresh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.kf-refresh-spinning{animation:none}}.kf-brand-mark{flex-shrink:0}.kf-brand-page{transform-box:view-box;transform-origin:50%;animation:kf-book-page-turn calc(var(--kf-motion-loading-cycle) * .64) linear both, kf-book-page-away calc(var(--kf-motion-loading-cycle) * .64) linear both}.kf-brand-page--2{animation-delay:calc(var(--kf-motion-loading-cycle) * .16)}.kf-brand-page--final{--kf-book-last-delay:calc(var(--kf-motion-loading-cycle) * .36);animation-name:kf-book-page-turn;animation-delay:var(--kf-book-last-delay)}.kf-brand-page-front,.kf-brand-page-back{animation:kf-book-page-front calc(var(--kf-motion-loading-cycle) * .64) linear var(--kf-book-last-delay) both}.kf-brand-page-back{animation-name:kf-book-page-back}.kf-brand-page-paper{animation:kf-book-page-away calc(var(--kf-motion-loading-cycle) * .64) linear var(--kf-book-last-delay) both}@keyframes kf-book-page-turn{0%{transform:scaleX(1)skewY(0)}25%{transform:scaleX(.707)skewY(-4deg)}50%{transform:scaleX(0)skewY(0)}75%{transform:scaleX(-.707)skewY(4deg)}to{transform:scaleX(-1)skewY(0)}}@keyframes kf-book-page-away{0%,99.99%{visibility:visible}to{visibility:hidden}}@keyframes kf-book-page-front{0%,49.99%{visibility:visible}50%,to{visibility:hidden}}@keyframes kf-book-page-back{0%,49.99%{visibility:hidden}50%,to{visibility:visible}}@media (prefers-reduced-motion:reduce){.kf-brand-page{animation:none;display:none}.kf-brand-monogram--right{clip-path:none}}.kf-loading-indicator{justify-content:center;align-items:center;gap:var(--kf-space-md);min-height:var(--kf-control-small-height);color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));display:flex}.kf-loading-spinner{flex:0 0 var(--kf-control-icon-size);width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);border:2px solid var(--kf-color-header-border);border-top-color:var(--kf-color-primary);border-radius:var(--kf-radius-pill);animation:kf-loading-spin var(--kf-motion-loading-cycle) linear infinite;display:inline-block}.kf-loading-screen{justify-content:center;align-items:center;gap:var(--kf-space-lg);width:100%;min-width:0;min-height:100svh;padding:var(--kf-space-xl);color:var(--kf-color-primary-text);text-align:center;flex-direction:column;display:flex}.kf-loading-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kf-content-skeleton{padding-block:var(--kf-space-lg)}.kf-content-skeleton--grid{padding-block:0}.kf-skeleton-layout{gap:var(--kf-space-xl);opacity:0;min-width:0;animation:kf-skeleton-pulse var(--kf-motion-loading-cycle) ease-in-out var(--kf-motion-fast) infinite;display:grid}.kf-skeleton{border-radius:var(--kf-radius-sm);background:var(--kf-color-soft);flex-shrink:0;min-width:0;max-width:100%;height:1em;display:block}.kf-skeleton--title{height:1.75em}.kf-skeleton--circle{width:var(--kf-control-small-height);height:var(--kf-control-small-height);border-radius:var(--kf-radius-pill)}.kf-skeleton--control{height:var(--kf-control-height);border-radius:var(--kf-radius-pill)}.kf-skeleton--photo{aspect-ratio:1;width:100%;height:auto}.kf-skeleton-row{align-items:center;gap:var(--kf-space-lg);min-width:0;min-height:var(--kf-control-row-height);display:flex}.kf-skeleton-stack{gap:var(--kf-space-md);flex:1;min-width:0;display:grid}.kf-content-skeleton--grid .kf-skeleton-layout{grid-template-columns:repeat(auto-fill, minmax(min(var(--kf-layout-photo-tile-min-width), (100% - 2 * var(--kf-space-xs)) / 3), 1fr));gap:var(--kf-space-xs)}.kf-content-skeleton--cards .kf-skeleton-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.kf-content-skeleton--list .kf-skeleton-row+.kf-skeleton-row{border-top:1px solid var(--kf-color-border);padding-top:var(--kf-space-lg)}.kf-content-skeleton--feed{padding-block:0}.kf-content-skeleton--feed .kf-skeleton-month{margin:var(--kf-space-sm) 0 calc(var(--kf-space-md) - var(--kf-space-xl))}.kf-skeleton-month>.kf-skeleton,.kf-skeleton-post .kf-skeleton-line>.kf-skeleton{margin-block:.2em}.kf-skeleton-post .kf-skeleton-title{display:block}.kf-skeleton-post .kf-skeleton-title>.kf-skeleton{margin-block:.125em}.kf-skeleton-post .kf-polaroid-media>.kf-skeleton{aspect-ratio:auto;height:100%}.kf-skeleton-people{align-items:center;gap:var(--kf-space-sm);min-width:0;min-height:var(--kf-control-small-height);display:flex}.kf-skeleton-post .kf-skeleton-avatar{width:20px;height:20px}.kf-skeleton-meta>.kf-skeleton{height:calc(var(--kf-font-photo-meta) * var(--kf-text-scale,1));margin-block:calc(var(--kf-font-photo-meta) * var(--kf-text-scale,1) / 4)}.kf-skeleton-meta>.kf-skeleton:last-child{justify-self:end}.kf-skeleton-disc{width:var(--kf-control-compact-height);height:var(--kf-control-compact-height);place-items:center;display:grid}.kf-skeleton-disc:before{content:"";width:calc(var(--kf-control-compact-height) - var(--kf-space-sm));height:calc(var(--kf-control-compact-height) - var(--kf-space-sm));border-radius:var(--kf-radius-pill);background:var(--kf-color-surface)}.kf-skeleton-menu{width:var(--kf-control-compact-height);height:var(--kf-control-compact-height);place-items:center;display:grid}.kf-skeleton-menu>.kf-skeleton{height:4px}.kf-screen-transition{min-width:0;position:relative}.kf-screen-layer{width:100%;min-width:0;min-height:calc(100svh - var(--kf-app-header-height,0px) - var(--kf-app-bottom-clearance,0px) - var(--kf-space-xxl))}.kf-screen-transition[data-stack-motion]{overflow-x:clip}.kf-screen-transition[data-stack-motion]>.kf-screen-layer:not([hidden]),.kf-screen-transition[data-back-gesture]>[data-screen-active],.kf-screen-back-preview{background:var(--kf-ambience-backdrop) calc(-1 * var(--kf-page-x,0px)) calc(-1 * var(--kf-page-y,0px)) / 100vw 100vh no-repeat, var(--kf-ambience-texture) calc(-1 * var(--kf-page-x,0px)) calc(-1 * var(--kf-page-y,0px)), var(--kf-color-background)}.kf-screen-transition[data-stack-motion]>.kf-screen-layer:not([hidden]){will-change:transform}.kf-screen-transition[data-stack-motion]>[data-screen-active]{z-index:2;position:relative}.kf-screen-layer[data-screen-outgoing]{pointer-events:none;z-index:1;position:fixed}.kf-screen-transition[data-stack-motion=back]>[data-screen-outgoing]{z-index:3}.kf-screen-transition[data-swipe-back]{touch-action:pan-y pinch-zoom}.kf-screen-transition[data-back-gesture]{-webkit-user-select:none;user-select:none;overflow-x:clip}.kf-screen-transition[data-back-gesture]>[data-screen-active]{z-index:2;will-change:transform;position:relative}.kf-screen-back-preview{z-index:1;pointer-events:none;will-change:transform;min-height:100svh;position:fixed}.kf-screen-transition[data-back-gesture=settling]{pointer-events:none}.kf-navigation-progress{pointer-events:none;background:var(--kf-color-soft);opacity:0;height:2px;display:none;position:absolute;inset:0 0 auto;overflow:hidden}.kf-screen-transition:has(>[data-screen-active] [data-screen-loading])>.kf-navigation-progress{animation:kf-loading-reveal var(--kf-motion-fast) ease-out var(--kf-motion-fast) forwards;display:block}.kf-navigation-progress>span{background:var(--kf-color-primary);border-radius:var(--kf-radius-pill);width:40%;height:100%;animation:kf-loading-progress var(--kf-motion-loading-cycle) ease-in-out infinite;display:block}@keyframes kf-loading-spin{to{transform:rotate(360deg)}}@keyframes kf-skeleton-pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes kf-loading-reveal{to{opacity:1}}@keyframes kf-loading-progress{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion:reduce){.kf-loading-spinner,.kf-skeleton-layout,.kf-screen-content,.kf-navigation-progress>span{opacity:1;animation:none}.kf-polaroid-media:has(img[data-media-pending]):not(:has(img:not([data-media-pending]):not([data-media-error]))):after{opacity:1;animation:none}.kf-screen-transition:has(>[data-screen-active] [data-screen-loading])>.kf-navigation-progress{opacity:1;animation:none}}kf-button[data-shape=circle]>.kf-button{box-shadow:none;color:var(--kf-icon-color,var(--kf-color-primary-text));-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none}kf-button[data-shape=circle]>.kf-button[data-favorite]{--kf-icon-color:var(--kf-color-favorite)}kf-button[data-shape=circle][data-variant=danger]>.kf-button{color:var(--kf-color-danger)}kf-button[data-shape=circle]>.kf-button:focus-visible>.kf-button-icon{transform:scale(1.15)}kf-button[data-shape=circle]>.kf-button:focus-visible>.kf-button-icon>svg{stroke-width:2.5px}.kf-button[data-icon-surface=surface],.kf-button[data-icon-surface=primary],.kf-button[data-icon-surface=tonal]{isolation:isolate;position:relative}.kf-button[data-icon-surface=surface]:before,.kf-button[data-icon-surface=primary]:before,.kf-button[data-icon-surface=tonal]:before{content:"";z-index:-1;width:calc(var(--kf-control-compact-height) - var(--kf-space-sm));height:calc(var(--kf-control-compact-height) - var(--kf-space-sm));border-radius:var(--kf-radius-pill);background:var(--kf-color-surface);pointer-events:none;position:absolute}kf-button>.kf-button[data-icon-surface=primary]{color:var(--kf-color-on-primary)}.kf-button[data-icon-surface=primary]:before{width:calc(var(--kf-space-xl) + var(--kf-space-sm));height:calc(var(--kf-space-xl) + var(--kf-space-sm));background:var(--kf-color-primary);border:2px solid var(--kf-color-surface);box-sizing:border-box}kf-button>.kf-button[data-icon-surface=tonal]{color:var(--kf-color-primary)}.kf-button[data-icon-surface=tonal]:before{width:calc(var(--kf-space-xl) + var(--kf-space-sm));height:calc(var(--kf-space-xl) + var(--kf-space-sm));background:var(--kf-color-tonal)}.kf-photo-post .kf-button-icon{width:18px;height:18px}.kf-photo-post-actions .kf-button-icon{width:var(--kf-control-photo-action-icon-size);height:var(--kf-control-photo-action-icon-size)}.kf-photo-selection-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--kf-layout-photo-tile-min-width), (100% - 2 * var(--kf-space-sm)) / 3), 1fr));gap:var(--kf-space-md) var(--kf-space-sm);margin:0;padding:0;list-style:none;display:grid}.kf-photo-selection-item{min-width:0}.kf-photo-selection-image{aspect-ratio:1;border-radius:var(--kf-radius-sm);background:var(--kf-color-soft);position:relative;overflow:hidden}.kf-photo-selection-image>.kf-pressable{background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.kf-photo-selection-image img{object-fit:cover;width:100%;height:100%;display:block}.kf-photo-selection-toggle{cursor:pointer;place-items:center;width:44px;height:44px;margin:0;display:grid;position:absolute;bottom:0;right:0}.kf-photo-selection-toggle .kf-checkbox{background-color:var(--kf-color-surface)}.kf-photo-selection-caption{margin-top:var(--kf-space-xs);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));overflow-wrap:anywhere;display:block}.kf-family-notice{text-align:center;justify-items:center;gap:var(--kf-space-md);min-width:0;padding:var(--kf-space-lg) var(--kf-space-sm);display:grid}.kf-family-notice .kf-avatar{width:128px;height:128px;font-size:42px}.kf-family-notice h3{font:var(--kf-font-heading-weight) calc(var(--kf-font-section-title) * var(--kf-text-scale,1))/1.3 var(--kf-font-heading);overflow-wrap:anywhere;outline:none;margin:0}.kf-family-notice p{color:var(--kf-color-muted);overflow-wrap:anywhere;margin:0}.kf-invitation-card{gap:var(--kf-space-lg);min-width:0;padding:var(--kf-space-lg);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-lg);background:var(--kf-color-surface);display:grid}.kf-invitation-card-identity{align-items:center;gap:var(--kf-space-md);min-width:0;display:flex}.kf-invitation-card-identity>div{gap:calc(var(--kf-space-xs) / 2);min-width:0;display:grid}.kf-invitation-card h2{font:var(--kf-font-heading-weight) calc(var(--kf-font-section-title) * var(--kf-text-scale,1))/1.2 var(--kf-font-heading);overflow-wrap:anywhere;margin:0}.kf-invitation-card p{color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));overflow-wrap:anywhere;margin:0}.kf-invitation-card-actions{gap:var(--kf-space-sm);flex-wrap:wrap;display:flex}.kf-invitation-card-actions>kf-button{flex:1 1 0;min-width:min-content}.kf-invitation-card-actions .kf-button-label{overflow-wrap:break-word}@keyframes kf-fade-in{0%{opacity:0}}@keyframes kf-scale-in{0%{opacity:0;transform:scale(.96)}}:where(code,kbd,samp){font-family:var(--kf-font-mono)}.kf-field>:is(span,label):first-child,.kf-option-list>legend{font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight)}.kf-photo-post .kf-photo-post-author-name{font-weight:var(--kf-font-body-weight)}.kf-photo-post :is(.kf-photo-post-location,.kf-photo-post-people){font-family:var(--kf-font-body);font-size:calc(var(--kf-font-photo-meta) * var(--kf-text-scale,1))}.kf-transfer{--kf-transfer-color:var(--kf-color-primary);--kf-transfer-muted:var(--kf-color-muted);--kf-transfer-track:var(--kf-color-soft);gap:var(--kf-space-xs);min-width:0;color:var(--kf-transfer-color);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));display:grid}.kf-transfer-summary{justify-content:space-between;align-items:baseline;gap:var(--kf-space-sm);display:flex}.kf-transfer-percent,.kf-transfer-status{font-family:var(--kf-font-mono);font-variant-numeric:tabular-nums;flex-shrink:0}.kf-transfer-track{height:var(--kf-space-xs);border-radius:var(--kf-radius-pill);background:var(--kf-transfer-track);overflow:hidden}.kf-transfer-track>span{border-radius:inherit;width:0;height:100%;transition:width var(--kf-motion-base) var(--kf-ease-standard);background:currentColor;display:block}.kf-transfer-track[data-indeterminate]>span{width:35%;animation:kf-loading-progress var(--kf-motion-loading-cycle) ease-in-out infinite}.kf-transfer-items{gap:var(--kf-space-xs);margin:var(--kf-space-xs) 0 0;padding:0;list-style:none;display:grid}.kf-transfer-items li{align-items:center;gap:var(--kf-space-sm);color:var(--kf-transfer-muted);grid-template-columns:1em minmax(0,1fr) auto;display:grid}.kf-transfer-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kf-transfer-status{overflow-wrap:anywhere;max-width:50vw}.kf-transfer-symbol{text-align:center;width:1em;height:1em;line-height:1}.kf-transfer-items [data-state=active] .kf-transfer-symbol{animation:kf-loading-spin var(--kf-motion-loading-cycle) linear infinite;border:1px solid;border-right-color:#0000;border-radius:50%}.kf-transfer[data-presentation=photos] .kf-transfer-items{gap:var(--kf-space-sm);grid-template-columns:repeat(4,minmax(0,1fr))}.kf-transfer[data-presentation=photos] li{min-width:0;display:block}.kf-transfer-photo{aspect-ratio:1;border-radius:var(--kf-radius-sm);background:var(--kf-transfer-track);place-items:center;display:grid;position:relative;overflow:hidden}.kf-transfer-photo>img{object-fit:cover;width:100%;height:100%;display:block}.kf-transfer-photo>svg{width:50%;height:50%}.kf-transfer-photo-state{right:var(--kf-space-xs);bottom:var(--kf-space-xs);padding:var(--kf-space-xs);border-radius:var(--kf-radius-pill);color:var(--kf-color-on-primary);background:var(--kf-color-primary);place-items:center;display:grid;position:absolute}.kf-flow-screen .kf-transfer{--kf-transfer-color:var(--kf-color-on-primary);--kf-transfer-muted:var(--kf-flow-muted);--kf-transfer-track:var(--kf-flow-soft)}@media (prefers-reduced-motion:reduce){.kf-transfer-track>span,.kf-transfer-track[data-indeterminate]>span,.kf-transfer-items [data-state=active] .kf-transfer-symbol{transition:none;animation:none}}.kf-photo-divider{z-index:2;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:none;position:absolute}.kf-photo-divider[data-axis=x]{left:var(--kf-divider-position);top:var(--kf-divider-start);width:var(--kf-control-min-height);height:var(--kf-divider-length);cursor:col-resize;transform:translate(-50%)}.kf-photo-divider[data-axis=y]{top:var(--kf-divider-position);left:var(--kf-divider-start);height:var(--kf-control-min-height);width:var(--kf-divider-length);cursor:row-resize;transform:translateY(-50%)}.kf-photo-divider>span{width:var(--kf-space-sm);height:var(--kf-space-xxl);border-radius:var(--kf-radius-pill);background:var(--kf-color-primary);box-shadow:0 0 0 2px var(--kf-color-on-primary);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.kf-photo-divider[data-axis=y]>span{width:var(--kf-space-xxl);height:var(--kf-space-sm)}.kf-photo-divider[data-dragging]:not([aria-disabled=true])>span{background:var(--kf-color-accent-strong)}.kf-photo-divider:focus-visible>span{outline:3px solid var(--kf-color-focus);outline-offset:3px}.kf-photo-divider[aria-disabled=true]{pointer-events:none;opacity:.55}.kf-photo-detail-dialog{background:var(--kf-color-background);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--kf-color-text);translate:0 var(--kf-photo-dismiss-offset,0px);transition:translate var(--kf-motion-base) var(--kf-ease-enter);animation:kf-photo-detail-enter var(--kf-motion-slow) var(--kf-ease-enter) both;border:0;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.kf-photo-detail-dialog::backdrop{background:var(--kf-color-overlay);animation:kf-fade-in var(--kf-motion-slow) var(--kf-ease-enter) both}.kf-photo-detail-dialog[data-closing]::backdrop{animation:kf-fade-in var(--kf-motion-slow) var(--kf-ease-standard) reverse both}.kf-photo-detail-dialog[data-dragging]{-webkit-user-select:none;user-select:none;will-change:translate;transition:none}.kf-photo-detail-dialog[data-closing]{animation:kf-photo-detail-exit var(--kf-motion-slow) var(--kf-ease-standard) both}.kf-photo-detail-dialog>.kf-photo-detail{height:100%;padding-top:env(safe-area-inset-top,0px)}.kf-photo-detail-dialog .kf-photo-detail-body{container-type:size}.kf-photo-detail-dialog .kf-photo-detail-media img{max-height:100cqh}.kf-photo-detail-dialog .kf-photo-detail-media,.kf-photo-detail-dialog .kf-photo-zoom-root{min-height:30cqh}:is(.kf-photo-detail-dialog .kf-photo-detail-media:has(.kf-photo-zoom-tools),.kf-photo-detail-dialog .kf-photo-zoom-root:has(>.kf-photo-zoom-tools)){min-height:calc(30cqh + var(--kf-control-photo-frame-size) + var(--kf-space-sm))}.kf-photo-detail-dialog .kf-sheet-grip{cursor:grab;flex-shrink:0}.kf-photo-detail-dialog[data-dragging] .kf-sheet-grip{cursor:grabbing}@keyframes kf-photo-detail-enter{0%{opacity:0;transform:translateY(var(--kf-space-xl))}to{opacity:1;transform:translateY(0)}}@keyframes kf-photo-detail-exit{to{opacity:0;transform:translateY(12%)}}@media (prefers-reduced-motion:reduce){.kf-photo-detail-dialog,.kf-photo-detail-dialog[data-closing],.kf-photo-detail-dialog::backdrop,.kf-photo-detail-dialog[data-closing]::backdrop{transition:none;animation:none}}.kf-photo-detail{box-sizing:border-box;min-height:0;max-height:inherit;flex-direction:column;display:flex}.kf-photo-detail-header{align-items:center;gap:var(--kf-space-sm);padding:var(--kf-space-xs) max(var(--kf-space-sm), env(safe-area-inset-right)) var(--kf-space-sm) max(var(--kf-space-md), env(safe-area-inset-left));flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.kf-photo-detail-header>div{min-width:0}.kf-photo-detail-actions{display:flex}.kf-photo-detail-body{overscroll-behavior:contain;min-height:0;padding:0 env(safe-area-inset-right) max(var(--kf-space-lg), var(--kf-safe-area-bottom)) env(safe-area-inset-left);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kf-photo-detail-content{gap:var(--kf-space-md);text-align:center;flex-direction:column;flex:auto;width:100%;min-height:0;margin:0;display:flex}.kf-photo-detail-details{box-sizing:border-box;gap:var(--kf-space-sm);width:100%;max-width:var(--kf-layout-reading-width);padding:0 var(--kf-space-lg) var(--kf-space-sm);text-align:start;overscroll-behavior:contain;flex:auto;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;min-height:20cqh;margin-inline:auto;display:grid;overflow-y:auto}.kf-photo-detail-details>h2{font:var(--kf-font-body-weight) calc(var(--kf-font-photo-title-size) * var(--kf-text-scale,1))/1.3 var(--kf-font-photo-title);overflow-wrap:anywhere;margin:0}.kf-photo-detail-media{background:var(--kf-color-soft);border-radius:0;flex-direction:column;flex:0 auto;min-height:0;display:flex;position:relative;overflow:clip}.kf-photo-detail-media img{object-fit:contain;width:100%;height:auto;max-height:85dvh;display:block}.kf-photo-detail-date{font-family:var(--kf-font-photo-date);text-align:start;color:var(--kf-color-photo-date-ink);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-photo-detail-location{min-width:0;padding-top:var(--kf-space-lg)}.kf-photo-detail-caption{font-family:var(--kf-font-photo-body);text-align:start;padding-top:var(--kf-space-sm);white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(var(--kf-font-photo-caption) * var(--kf-text-scale,1));margin:0;line-height:1.6}@container (min-width:744px){.kf-photo-detail-dialog .kf-photo-zoom-zone{max-height:80cqh}}@container (min-width:1000px) and (orientation:landscape){.kf-photo-detail-dialog .kf-photo-detail-content{flex-direction:row;gap:0}.kf-photo-detail-dialog .kf-photo-detail-content>.kf-photo-detail-media{flex:1 1 0;min-width:0;min-height:0}.kf-photo-detail-dialog .kf-photo-detail-media .kf-photo-zoom-root{flex:1 1 0;min-height:0}.kf-photo-detail-dialog .kf-photo-zoom-root>.kf-photo-zoom-zone{flex:1 1 0;height:auto;min-height:0;max-height:none}.kf-photo-detail-dialog .kf-photo-detail-content>.kf-photo-detail-details{flex:0 0 var(--kf-layout-reader-column-width);max-width:none;min-height:0;padding:var(--kf-space-lg) var(--kf-space-xl);margin:0}}.kf-photo-zoom-root{gap:var(--kf-space-sm);flex-direction:column;flex:0 auto;width:100%;min-width:0;min-height:0;display:flex}.kf-photo-zoom-zone{box-sizing:border-box;width:100%;height:calc(100cqw / var(--kf-photo-zoom-zone-ratio,1));background:var(--kf-color-soft);flex:0 auto;place-items:center;min-height:30cqh;max-height:65cqh;display:grid;position:relative;overflow:clip;container-type:size}.kf-photo-zoom-zone>.kf-photo-zoom-actions{top:var(--kf-space-xs);right:var(--kf-space-xs);z-index:3;flex-wrap:nowrap;gap:0;position:absolute}.kf-photo-zoom{--kf-photo-zoom-ratio:1;box-sizing:border-box;background:var(--kf-color-soft);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0;overflow:clip}.kf-photo-zoom[data-zoomed]{touch-action:none;cursor:grab}.kf-photo-zoom[data-panning]{cursor:grabbing}.kf-photo-zoom-track{will-change:transform;transition:none;position:absolute;inset:0}.kf-photo-zoom-slide{width:100%;height:100%;position:absolute;top:0;overflow:clip}.kf-photo-zoom-slide:not([data-current]){pointer-events:none}.kf-photo-zoom-content{--kf-photo-zoom-fit-width:min(100cqw, calc(100cqh * var(--kf-photo-zoom-ratio)));--kf-photo-zoom-fit-height:min(100cqh, calc(100cqw / var(--kf-photo-zoom-ratio)));left:calc((100cqw - var(--kf-photo-zoom-fit-width)) / 2);top:calc((100cqh - var(--kf-photo-zoom-fit-height)) / 2);width:var(--kf-photo-zoom-fit-width);height:var(--kf-photo-zoom-fit-height);transform-origin:0 0;will-change:transform;position:absolute;overflow:clip}.kf-photo-zoom[data-swiping]{cursor:grabbing}.kf-photo-zoom-backdrop{pointer-events:none;--kf-photo-backdrop-blur:28px;position:absolute;inset:0;overflow:clip}.kf-photo-detail-media .kf-photo-zoom-backdrop img,.kf-photo-zoom-backdrop img{top:calc(var(--kf-photo-backdrop-blur) * -3);left:calc(var(--kf-photo-backdrop-blur) * -3);width:calc(100% + var(--kf-photo-backdrop-blur) * 6);height:calc(100% + var(--kf-photo-backdrop-blur) * 6);object-fit:cover;max-height:none;filter:blur(var(--kf-photo-backdrop-blur)) brightness(.9);will-change:transform;display:block;position:absolute}.kf-photo-zoom-image{position:absolute}.kf-photo-zoom-image>.kf-pressable{width:100%;height:100%;cursor:inherit;background:0 0;border:0;padding:0;display:block}.kf-photo-detail-media .kf-photo-zoom-image img,.kf-photo-zoom-image img{object-fit:contain;-webkit-user-drag:none;width:100%;height:100%;max-height:none;display:block}.kf-photo-zoom-overlay{pointer-events:none;position:absolute;inset:0}.kf-photo-zoom-loading{padding:var(--kf-space-md);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.kf-photo-zoom-loading .kf-loading-indicator{padding:var(--kf-space-sm) var(--kf-space-md);border-radius:var(--kf-radius-pill);background:var(--kf-color-surface);color:var(--kf-color-text)}.kf-photo-zoom-tools{justify-content:center;align-items:center;gap:var(--kf-space-sm);height:var(--kf-control-photo-frame-size);padding-inline:var(--kf-space-md);flex-wrap:nowrap;flex:none;min-width:0;display:flex}.kf-photo-frame-picker{justify-content:safe center;align-items:center;gap:var(--kf-space-sm);scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;margin-inline:auto;display:flex;overflow-x:auto}.kf-photo-frame-picker::-webkit-scrollbar{display:none}.kf-photo-frame{box-sizing:border-box;width:var(--kf-control-photo-frame-size);min-width:var(--kf-control-photo-frame-size);height:var(--kf-control-photo-frame-size);min-height:var(--kf-control-photo-frame-size);border-radius:var(--kf-radius-sm);background:var(--kf-color-soft);transition:border-color var(--kf-motion-fast) var(--kf-ease-standard);border:2px solid #0000;flex-shrink:0;padding:0;overflow:hidden}.kf-photo-frame[data-selected]{border-color:var(--kf-color-primary)}.kf-photo-frame:focus-visible{outline:3px solid var(--kf-color-focus);outline-offset:-3px}.kf-photo-frame-thumb{border-radius:calc(var(--kf-radius-sm) - 2px);width:100%;height:100%;display:block;position:relative;overflow:hidden}.kf-photo-frame-thumb>img{-webkit-user-drag:none;max-width:none;display:block;position:absolute}.kf-loading-brand{font:var(--kf-font-heading-weight) var(--kf-font-hero)/1.2 var(--kf-font-heading);color:var(--kf-color-primary-text)}.kf-loading-description{max-width:28ch;font-size:var(--kf-font-caption);color:var(--kf-color-muted);text-align:center}.kf-loading-track{width:calc(var(--kf-control-height) * 4);height:var(--kf-space-xs);border-radius:var(--kf-radius-pill);background:var(--kf-color-border);display:block;overflow:hidden}.kf-loading-track>span{background:var(--kf-color-primary);width:35%;height:100%;animation:kf-loading-track var(--kf-motion-loading-cycle) ease-in-out infinite alternate;display:block}@keyframes kf-loading-track{to{transform:translate(185%)}}@media (prefers-reduced-motion:reduce){.kf-loading-track>span{animation:none}}.kf-identity-summary{text-align:center;justify-items:center;gap:var(--kf-space-sm);min-width:0;display:grid}.kf-identity-summary>.kf-avatar{width:var(--kf-control-account-portrait-size);height:var(--kf-control-account-portrait-size);font-size:calc(var(--kf-font-title) * var(--kf-text-scale,1))}.kf-portrait-action{width:var(--kf-picture-size,var(--kf-control-account-portrait-size));height:var(--kf-picture-size,var(--kf-control-account-portrait-size));flex:none;position:relative}.kf-portrait-action>.kf-avatar{width:100%;height:100%}.kf-portrait-action-badge{right:calc(-1 * (var(--kf-space-sm) + var(--kf-space-xs) / 2));bottom:calc(-1 * (var(--kf-space-sm) + var(--kf-space-xs) / 2));position:absolute}.kf-portrait-action-badge .kf-button-icon{width:var(--kf-space-lg);height:var(--kf-space-lg)}.kf-identity-summary>h2{font-size:calc(var(--kf-font-section-title) * var(--kf-text-scale,1));overflow-wrap:anywhere;margin:0}.kf-identity-summary>p{color:var(--kf-color-muted);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));margin:0}.kf-identity-summary>kf-button>.kf-button{color:var(--kf-color-primary-text);background:0 0;border-color:#0000}.kf-activity-thumbnail{object-fit:cover;border-radius:var(--kf-radius-sm);width:40px;height:40px;display:block}.kf-screen--settings>.kf-screen-body{gap:calc(var(--kf-space-lg) + var(--kf-space-xs))}.kf-screen--settings .kf-screen-section{gap:var(--kf-space-md)}.kf-settings-row:has(.kf-avatar) .kf-settings-row-label>:first-child{font-weight:var(--kf-font-medium-weight)}.kf-settings-row-icon .kf-avatar{width:var(--kf-control-member-portrait-size);height:var(--kf-control-member-portrait-size)}.kf-settings-row-badge{padding:0 var(--kf-space-xs);border-radius:var(--kf-radius-sm);background:var(--kf-color-brand-tint);color:var(--kf-color-primary-text);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));margin-inline-start:var(--kf-space-xs);display:inline-block}.kf-settings-row[data-tone=danger],.kf-screen-section[data-tone=danger] .kf-screen-section-title>h2{color:var(--kf-color-danger)}.kf-settings-row[data-tone=tinted]{background:var(--kf-color-brand-tint);border-radius:var(--kf-radius-lg);color:var(--kf-color-primary-text);border:0}.kf-settings-row[data-tone=tinted] .kf-settings-row-icon,.kf-settings-row[data-tone=tinted] .kf-settings-row-chevron{color:inherit}.kf-settings-notice{gap:var(--kf-space-md);padding:var(--kf-space-lg);border-radius:var(--kf-radius-lg);background:var(--kf-color-brand-tint);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));display:grid}.kf-settings-notice>h2{align-items:center;gap:var(--kf-space-sm);overflow-wrap:anywhere;min-width:0;color:var(--kf-color-primary-text);font:var(--kf-font-medium-weight) calc(var(--kf-font-caption) * var(--kf-text-scale,1))/1.4 var(--kf-font-body);margin:0;display:flex}.kf-settings-notice>p{overflow-wrap:anywhere;margin:0}.kf-settings-notice>h2 svg{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);flex-shrink:0}.kf-settings-notice[data-dismissible]{padding-right:calc(var(--kf-space-lg) + var(--kf-control-icon-size) + var(--kf-space-lg));position:relative}.kf-settings-notice-dismiss{top:var(--kf-space-xs);right:var(--kf-space-xs);position:absolute}.kf-settings-notice[data-tone=danger]{background:var(--kf-color-danger-surface)}.kf-settings-notice[data-tone=danger]>h2{color:var(--kf-color-danger)}.kf-typed-confirmation{gap:var(--kf-space-sm);display:grid}.kf-typed-confirmation-expected{overflow-wrap:anywhere;font-weight:var(--kf-font-medium-weight);margin:0}.kf-typed-confirmation-status{align-items:center;gap:var(--kf-space-xs);min-height:calc(var(--kf-font-label) * 1.5 * var(--kf-text-scale,1));color:var(--kf-color-primary-text);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));margin:0;display:flex}.kf-identity-summary[data-family]{--kf-picture-size:var(--kf-control-family-portrait-size);gap:var(--kf-space-md)}.kf-identity-summary[data-family]>h2{font-size:calc(var(--kf-font-identity-title) * var(--kf-text-scale,1))}.kf-identity-summary[data-family]>p{margin-top:calc(-1 * var(--kf-space-sm))}.kf-identity-summary[data-family]>p .kf-badge{background:var(--kf-color-brand-tint);color:var(--kf-color-primary-text);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-identity-summary[data-family]>.kf-avatar{width:var(--kf-picture-size);height:var(--kf-picture-size)}.kf-identity-summary>kf-button>.kf-button{font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-photo-post-footer:not([data-location]) .kf-photo-people{margin-block:calc(-1 * var(--kf-space-md));font-weight:var(--kf-font-body-weight)}.kf-photo-post-date{font-weight:var(--kf-font-body-weight)}.kf-screen--settings{padding-top:var(--kf-space-lg)}.kf-screen--settings .kf-settings-item{padding:var(--kf-space-md) var(--kf-space-lg)}.kf-screen--settings .kf-settings-item-leading{width:var(--kf-control-member-portrait-size);justify-content:center}.kf-screen--settings .kf-settings-item:not(:has(.kf-settings-item-leading)){grid-template-columns:minmax(0,1fr) auto}.kf-screen--settings .kf-settings-item:not(:has(.kf-settings-item-leading)) .kf-settings-item-body{grid-column:1}.kf-screen--settings .kf-settings-item-body>strong{font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1))}.kf-screen--settings .kf-settings-item-detail{font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-identity-summary[data-family]>p .kf-badge{font-weight:var(--kf-font-medium-weight)}kf-button[data-variant=soft][data-shape=pill]>.kf-button{background-color:var(--kf-color-soft);color:var(--kf-color-text);border-block-width:var(--kf-radius-sm);padding-block:var(--kf-space-xs);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1))}kf-button[data-variant=soft][data-shape=pill]>.kf-button[aria-pressed=true]{background-color:var(--kf-color-primary);color:var(--kf-color-on-primary)}.kf-photo-post .kf-photo-people{font-weight:var(--kf-font-body-weight)}.kf-settings-row-action{font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));color:var(--kf-color-primary-text);font-weight:var(--kf-font-medium-weight);flex-shrink:0}.kf-settings-row>.kf-settings-row-chevron,.kf-settings-row>svg{width:var(--kf-control-settings-chevron-size);height:var(--kf-control-settings-chevron-size);color:var(--kf-color-muted-foreground)}.kf-settings-toggle{font-weight:var(--kf-font-body-weight);align-items:center;gap:var(--kf-space-md);padding:var(--kf-space-lg);border-bottom:1px solid var(--kf-color-border);min-height:var(--kf-control-small-height);font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));line-height:var(--kf-font-settings-line-height);cursor:pointer;flex-direction:row;display:flex}.kf-settings-toggle>.kf-switch{flex-shrink:0}.kf-settings-choice{transition:background var(--kf-motion-fast) var(--kf-ease-standard), opacity var(--kf-motion-fast) var(--kf-ease-standard);gap:var(--kf-space-md);width:100%;min-height:var(--kf-control-small-height);padding:var(--kf-space-lg);border-bottom:1px solid var(--kf-color-border);background:var(--kf-color-surface);color:var(--kf-color-text);font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-body-weight);line-height:var(--kf-font-settings-line-height);cursor:pointer;flex-direction:row;justify-content:space-between;align-items:center;display:flex;position:relative}.kf-settings-choice input[type=radio]{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}@media (hover:hover){.kf-settings-choice:hover:not([data-disabled]){background:var(--kf-color-soft)}}.kf-settings-choice:active:not([data-disabled]){opacity:.8}.kf-settings-choice[data-disabled]{opacity:.5;cursor:default}.kf-settings-choice:has(input:focus-visible){outline:2px solid var(--kf-color-focus);outline-offset:-2px}.kf-settings-choice-check{width:var(--kf-control-icon-size);height:var(--kf-control-icon-size);color:var(--kf-color-primary-text);flex-shrink:0}.kf-settings-list>.kf-settings-toggle-group-panel:last-child .kf-settings-toggle:last-child{border-bottom:0}.kf-settings-list>.kf-settings-toggle:has(+.kf-settings-toggle-group-panel:last-child:not([data-expanded])){border-bottom:0}.kf-settings-toggle-group-panel{transition:grid-template-rows var(--kf-motion-base) var(--kf-ease-standard);grid-template-rows:0fr;display:grid}.kf-settings-toggle-group-panel[data-expanded]{grid-template-rows:1fr}.kf-settings-toggle-group-panel-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.kf-settings-toggle-group-panel{transition:none}}.kf-settings-form{gap:calc(var(--kf-space-lg) + var(--kf-space-xs));min-width:0;display:grid}.kf-settings-form>label:not(.kf-settings-field){gap:var(--kf-radius-sm);font-size:calc(var(--kf-font-label) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);display:grid}.kf-settings-form input[readonly]{background:var(--kf-color-soft);color:var(--kf-color-muted)}.kf-settings-form>kf-button,.kf-settings-form>kf-button>.kf-button{width:100%}.kf-settings-field{gap:var(--kf-space-xs);min-width:0;display:grid}.kf-settings-field :is(input,.kf-input,.kf-select){border-radius:var(--kf-radius-pill)}.kf-settings-field input[readonly]{background:var(--kf-color-soft);color:var(--kf-color-muted)}.kf-settings-field .kf-event-date-row>kf-button[data-shape=pill]>.kf-button{--kf-button-height:var(--kf-control-height);padding-block:var(--kf-space-sm);border-width:0}.kf-settings-field-hint{color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));line-height:1.5}.kf-identity-summary:not([data-family])>kf-button{margin-block:calc(-1 * var(--kf-space-md))}.kf-identity-summary[data-family]>p .kf-badge{font-size:calc(var(--kf-font-settings-section) * var(--kf-text-scale,1));line-height:var(--kf-font-settings-line-height)}.kf-screen[data-layout=family]>.kf-screen-body{gap:var(--kf-space-xl)}.kf-screen-section[data-compact]{gap:var(--kf-space-sm)}.kf-settings-list[data-compact] :is(.kf-settings-row,.kf-settings-item){padding:var(--kf-space-md) var(--kf-space-lg);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));line-height:var(--kf-font-settings-line-height)}.kf-settings-list[data-compact] .kf-settings-item-body>strong{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1))}.kf-settings-list[data-compact] .kf-settings-item-detail{font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-switch[data-density=compact]{width:var(--kf-control-switch-compact-width);height:var(--kf-control-switch-compact-height);flex-basis:var(--kf-control-switch-compact-width);border-width:1px}.kf-switch[data-density=compact]:before{width:calc(var(--kf-control-switch-compact-height) - var(--kf-space-xs) - 2px);height:calc(var(--kf-control-switch-compact-height) - var(--kf-space-xs) - 2px)}kf-button[data-variant=outline]:not([data-shape=circle])>.kf-button{color:var(--kf-color-primary-text);background:0 0}kf-button[data-variant=outline][data-shape=pill]>.kf-button:before{border-color:var(--kf-color-primary-text)}kf-button[data-size=mini]{--kf-button-height:var(--kf-control-small-height)}kf-button[data-shape=pill][data-size=mini]>.kf-button{--kf-button-height:var(--kf-control-small-height);border-block-width:var(--kf-control-button-mini-inset);padding:var(--kf-space-xs) var(--kf-space-md);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1))}.kf-sheet[data-layout=media]{height:var(--dialog-viewport-height,100dvh);max-height:var(--dialog-viewport-height,100dvh);border-radius:0}.kf-sheet[data-layout=media] .kf-sheet-grip{display:none}.kf-sheet[data-layout=media] .kf-sheet-header{padding-top:max(var(--kf-space-xs), env(safe-area-inset-top))}.kf-sheet[data-layout=media] .kf-sheet-body{padding:0 0 var(--kf-space-lg);align-content:start}.kf-sheet[data-layout=tall]{height:calc(var(--dialog-viewport-height,100dvh) - var(--kf-space-lg))}.kf-sheet[data-layout=tall] .kf-sheet-body{align-content:start}@media (min-width:744px){.kf-sheet{--sheet-card-margin:var(--kf-space-xxl);top:calc(var(--dialog-viewport-top,0px) + var(--dialog-viewport-height,100dvh) / 2);max-height:calc(var(--dialog-viewport-height,100dvh) - 2 * var(--sheet-card-margin));border-radius:var(--sheet-radius);box-shadow:0 12px 40px var(--kf-color-shadow);translate:0 calc(-50% + var(--kf-sheet-dismiss-offset,0px));animation-name:kf-sheet-card-in;bottom:auto}.kf-sheet[data-closing]{animation-name:kf-sheet-card-out}.kf-sheet:is([data-layout=media],[data-layout=tall]){height:calc(var(--dialog-viewport-height,100dvh) - 2 * var(--sheet-card-margin));max-height:calc(var(--dialog-viewport-height,100dvh) - 2 * var(--sheet-card-margin));border-radius:var(--sheet-radius)}.kf-sheet .kf-sheet-body{padding-bottom:var(--kf-space-lg)}.kf-sheet>.kf-sheet-footer{padding-bottom:var(--kf-space-sm);border-radius:0 0 var(--sheet-radius) var(--sheet-radius)}}@keyframes kf-sheet-card-in{0%{transform:translateY(calc(var(--dialog-viewport-height,100dvh) / 2 + 50%))}}@keyframes kf-sheet-card-out{to{transform:translateY(calc(var(--dialog-viewport-height,100dvh) / 2 + 50%))}}.kf-picture-canvas{gap:var(--kf-space-md);width:100%;margin:0;display:grid}.kf-picture-canvas-stage{aspect-ratio:1;background:var(--kf-color-picture-matte);width:100%;position:relative;overflow:hidden}.kf-picture-canvas-stage>:is(img,svg){object-fit:contain;width:100%;height:100%;display:block}.kf-picture-canvas-stage>svg{box-sizing:border-box;color:var(--kf-color-avatar-text);padding:30%}.kf-picture-canvas-mask{box-shadow:0 0 0 100vmax color-mix(in srgb, var(--kf-color-viewer-background) 60%, transparent);outline:1px solid var(--kf-color-border);outline-offset:-1px;pointer-events:none;border-radius:50%;position:absolute;inset:0}.kf-picture-canvas figcaption{padding-inline:var(--kf-layout-gutter);color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));text-align:center;overflow-wrap:anywhere}.kf-print-stack{--kf-print-lift:64px;isolation:isolate;width:100%;min-width:0;position:relative}.kf-print-stage{padding:calc(var(--kf-space-xxl) * 2) 9% var(--kf-print-lift);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:clip}.kf-print-layer{--kf-print-angle:5deg;--kf-print-x:2%;pointer-events:none;-webkit-user-select:none;user-select:none;grid-area:1/1;min-width:0}.kf-print-layer[data-tilt=left]{--kf-print-angle:-5deg;--kf-print-x:-2%}.kf-print-motion{height:100%;transform:translateX(var(--kf-print-x)) rotate(var(--kf-print-angle));transform-origin:50%}.kf-print-layer[data-position=front]{z-index:3}.kf-print-layer[data-position=back]{z-index:2}.kf-print-layer[data-position=bottom]{z-index:1}.kf-print-layer[data-position=reserve]{visibility:hidden}.kf-print-layer[data-position=incoming]{z-index:4}.kf-print-slot{z-index:5;border-radius:var(--kf-radius-pill);background:var(--kf-color-primary);height:3px;position:absolute;inset:auto 6% 0}.kf-print-control{z-index:6;visibility:hidden;position:absolute;top:0;right:0}.kf-print-stack[data-print-ready=true] .kf-print-control{visibility:visible}.kf-print-play,[data-print-toggle][data-play=true] .kf-print-pause{display:none}[data-print-toggle][data-play=true] .kf-print-play{display:inline}@media (prefers-reduced-motion:reduce){.kf-print-control{display:none}.kf-print-layer[data-position=incoming]{visibility:hidden}}.kf-photo-printer{--kf-photo-printer-height:clamp(150px, 38svh, 340px);min-height:var(--kf-photo-printer-height);position:relative}.kf-photo-printer-scene{position:absolute;inset:0}.kf-photo-printer-slot{z-index:5;top:var(--kf-space-sm);border-radius:var(--kf-radius-pill);background:var(--kf-color-text);width:72%;height:4px;position:absolute;left:50%;transform:translate(-50%)}.kf-photo-printer-tray{inset:calc(var(--kf-space-sm) + 2px) 0 0;clip-path:inset(0 -45% -45%);position:absolute}.kf-photo-printer-print{--kf-photo-printer-tilt:3.5deg;width:min(66%, 280px, calc((var(--kf-photo-printer-height) - 16px) / 1.42));transition:transform var(--kf-motion-slow) var(--kf-ease-standard), opacity var(--kf-motion-slow) var(--kf-ease-standard);position:absolute;top:0;left:50%;transform:translate(-50%)}.kf-photo-printer-print[data-side=left]{--kf-photo-printer-tilt:-4deg}.kf-photo-printer-print>img{aspect-ratio:3/4;object-fit:cover;border:var(--kf-space-xs) solid var(--kf-color-photo-paper);border-radius:var(--kf-radius-lg);background:var(--kf-color-photo-paper);width:100%;box-shadow:var(--kf-shadow-photo);transform-origin:50% 0;animation:kf-photo-printer-out var(--kf-motion-photo-slot-print) linear both;-webkit-user-select:none;user-select:none;display:block}.kf-photo-printer[data-paused] .kf-photo-printer-print>img{animation-play-state:paused}@keyframes kf-photo-printer-out{0%{transform:translateY(-101%)}9%{transform:translateY(-94%)}20%{transform:translateY(-94%)}40%{transform:translateY(-62%)}47%{transform:translateY(-57%)}55%{transform:translateY(-57%)}76%{transform:translateY(-3%)}88%{transform:translateY(3%) rotate(var(--kf-photo-printer-tilt)) scale(1.02)}to{transform:translateY(1%) rotate(var(--kf-photo-printer-tilt))}}.kf-photo-printer-print[data-age="0"]{z-index:4}.kf-photo-printer-print[data-age="1"]{z-index:3;transform:translate(-50%,2%)}.kf-photo-printer-print[data-age="2"]{z-index:2;transform:translate(-50%,3.5%)}.kf-photo-printer-print[data-age="3"]{z-index:1;opacity:0;transform:translate(-50%,5%)}.kf-photo-printer-control{z-index:6;top:calc(var(--kf-space-sm) - var(--kf-control-compact-height) / 2 + 2px);position:absolute;right:0}@media (prefers-reduced-motion:reduce){.kf-photo-printer-print>img{transform:translateY(1%) rotate(var(--kf-photo-printer-tilt));animation:none}}.kf-page-turn{gap:var(--kf-space-sm);grid-template-columns:minmax(0,1fr);min-width:0;display:grid;position:relative}.kf-page-turn-stack{perspective:2000px;touch-action:pan-y pinch-zoom;grid-template-columns:minmax(0,1fr);min-width:0;display:grid;position:relative}.kf-page-turn-stack[data-turning]{z-index:4;-webkit-user-select:none;user-select:none}.kf-page-turn-page{isolation:isolate;background:var(--kf-color-background);transform-origin:0;backface-visibility:hidden;grid-area:1/1;min-width:0}.kf-page-turn-page:not([data-page=current]){position:absolute;inset:0;overflow:clip}.kf-page-turn-page[data-page=current]{z-index:1}.kf-page-turn-page[data-page=previous]{z-index:2;visibility:hidden;transform:rotateY(-90deg)}.kf-page-turn-stack[data-turning=back]>[data-page=previous]{visibility:visible}.kf-page-turn-stack[data-turning]>[data-leaf]{box-shadow:var(--kf-shadow-photo)}.kf-page-turn-controls{z-index:3;background:var(--kf-color-background);justify-content:space-between;display:flex;position:sticky;bottom:0}.kf-page-turn-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.kf-event-card{box-sizing:border-box;gap:var(--kf-space-md);overflow-wrap:anywhere;width:100%;min-width:0;padding:var(--kf-space-lg);border-radius:var(--kf-radius-md);background:var(--kf-color-photo-paper);color:var(--kf-color-photo-ink);box-shadow:var(--kf-shadow-photo);font-family:var(--kf-font-photo-body);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;display:grid}.kf-event-card-icon{background:var(--kf-color-primary);width:44px;height:44px;color:var(--kf-color-on-primary);border-radius:50%;place-items:center;display:grid}.kf-event-card-body{gap:var(--kf-space-xs);min-width:0;display:grid}.kf-event-card-title{font:var(--kf-font-body-weight) calc(var(--kf-font-photo-title-size) * var(--kf-text-scale,1))/1.3 var(--kf-font-photo-title);margin:0}.kf-event-card-meta{gap:var(--kf-space-sm);color:var(--kf-color-photo-date-ink);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));flex-wrap:wrap;margin:0;display:flex}.kf-event-card-years:before{content:"·";margin-inline-end:var(--kf-space-sm)}.kf-event-card-description{white-space:pre-wrap;margin:0;line-height:1.4}.kf-event-card-description:not([data-expanded]){-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kf-event-card-more{justify-self:start}.kf-event-card-actions{gap:var(--kf-space-xs);display:flex}.kf-icon-picker{gap:var(--kf-space-sm);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.kf-icon-picker-tile{justify-items:center;gap:var(--kf-space-xs);min-height:var(--kf-control-small-height);padding:var(--kf-space-sm) var(--kf-space-xs);border:1px solid var(--kf-color-border);border-radius:var(--kf-radius-md);background:var(--kf-color-surface);color:var(--kf-color-text);font:inherit;cursor:pointer;display:grid}.kf-icon-picker-tile[aria-pressed=true]{border-color:var(--kf-color-primary);background:var(--kf-color-selected)}.kf-icon-picker-tile:focus-visible{outline:2px solid var(--kf-color-focus);outline-offset:2px}.kf-icon-picker-tile:disabled{opacity:.6;cursor:default}.kf-icon-picker-disc{background:var(--kf-color-soft);width:36px;height:36px;color:var(--kf-color-primary);border-radius:50%;place-items:center;display:grid}.kf-icon-picker-tile[aria-pressed=true] .kf-icon-picker-disc{background:var(--kf-color-primary);color:var(--kf-color-on-primary)}.kf-icon-picker-label{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));text-align:center;overflow-wrap:anywhere}.kf-disclosure{min-width:0;color:var(--kf-color-muted)}.kf-disclosure>summary{justify-content:space-between;align-items:center;gap:var(--kf-space-sm);min-height:var(--kf-control-height);padding-block:var(--kf-space-sm);cursor:pointer;font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));list-style:none;display:flex}.kf-disclosure>summary::-webkit-details-marker{display:none}.kf-disclosure>summary svg{flex-shrink:0}.kf-disclosure[open]>summary svg{transform:rotate(180deg)}.kf-disclosure-content{gap:var(--kf-space-md);padding-block:var(--kf-space-xs) var(--kf-space-md);overflow-wrap:anywhere;display:grid}.kf-disclosure-content>p{font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));margin:0}.kf-pending-bar[data-disclosure]{max-height:min(60svh, calc(100svh - var(--kf-pending-offset,0px) - var(--kf-space-lg)));overflow-y:auto}.kf-pending-bar[data-disclosure]>kf-button{flex:1 1 0}.kf-pending-bar[data-disclosure]>kf-button>.kf-button{width:100%}.kf-pending-description{padding-top:var(--kf-space-xs);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));font-weight:var(--kf-font-body-weight);color:var(--kf-color-muted);display:block}.kf-pending-bar>.kf-disclosure{flex:100%}.kf-alert{inset:auto var(--kf-layout-gutter,var(--kf-layout-mobile-gutter)) calc(max(var(--kf-safe-area-bottom), var(--kf-alert-clearance,0px), var(--kf-alert-keyboard,0px)) + var(--kf-space-sm));width:auto;max-width:var(--kf-layout-snackbar-width);max-height:min(35dvh,12rem);min-height:var(--kf-control-min-height);box-sizing:border-box;height:auto;padding:var(--kf-space-sm) var(--kf-space-xs) var(--kf-space-sm) var(--kf-space-md);border-radius:var(--kf-radius-pill);--kf-alert-tone:var(--kf-color-snackbar-info);background:var(--kf-color-snackbar);color:var(--kf-color-on-snackbar);box-shadow:var(--kf-shadow-snackbar);font-family:var(--kf-font-body);font-size:calc(var(--kf-font-control-size) * var(--kf-text-scale,1));font-weight:var(--kf-font-medium-weight);overscroll-behavior:contain;z-index:100;translate:0 var(--kf-alert-drag,0px);transition:translate var(--kf-motion-base) var(--kf-ease-in-out);animation:kf-alert-in var(--kf-motion-slow) var(--kf-ease-enter) both;border:0;margin:0 auto;line-height:1.35;position:fixed;overflow:auto}.kf-alert[data-tone=error]{--kf-alert-tone:var(--kf-color-snackbar-error)}.kf-alert[data-tone=success]{--kf-alert-tone:var(--kf-color-snackbar-success)}.kf-alert[data-tone=warning]{--kf-alert-tone:var(--kf-color-snackbar-warning)}:is(.kf-alert:popover-open,.kf-alert:not([popover])){gap:var(--kf-space-md);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.kf-alert::backdrop{pointer-events:none;background:0 0}.kf-alert-icon{width:calc(var(--kf-control-icon-size) + var(--kf-space-xs));height:calc(var(--kf-control-icon-size) + var(--kf-space-xs));flex-shrink:0}.kf-alert-badge{fill:var(--kf-alert-tone);stroke:var(--kf-alert-tone)}.kf-alert-glyph{color:var(--kf-color-snackbar)}.kf-alert-content{overflow-wrap:anywhere;min-width:0}.kf-alert-content p{margin:0}.kf-alert>kf-button .kf-button{color:var(--kf-color-snackbar-muted)}.kf-alert-recovery{justify-items:start;gap:var(--kf-space-sm);min-width:0;color:var(--kf-color-muted);font-size:calc(var(--kf-font-caption) * var(--kf-text-scale,1));overflow-wrap:anywhere;display:grid}.kf-alert-recovery p{margin:0}.kf-error-code{color:var(--kf-color-muted);font-family:var(--kf-font-mono);font-size:calc(var(--kf-font-small) * var(--kf-text-scale,1));font-weight:var(--kf-font-body-weight);letter-spacing:.02em;white-space:nowrap;-webkit-user-select:all;user-select:all;display:inline-block}.kf-alert .kf-error-code{color:color-mix(in srgb, var(--kf-color-on-snackbar) 70%, var(--kf-color-snackbar))}.kf-alert[data-dragging]{-webkit-user-select:none;user-select:none;transition:none}.kf-alert[data-closing]{pointer-events:none;animation:kf-alert-out var(--kf-motion-base) var(--kf-ease-exit) both;transition:none}@keyframes kf-alert-in{0%{opacity:0;transform:translateY(calc(100% + max(var(--kf-safe-area-bottom), var(--kf-alert-clearance,0px)) + var(--kf-space-sm))) scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes kf-alert-out{to{opacity:0;transform:translateY(calc(100% + max(var(--kf-safe-area-bottom), var(--kf-alert-clearance,0px)) + var(--kf-space-sm))) scale(.96)}}@media (prefers-reduced-motion:reduce){.kf-alert,.kf-alert[data-closing]{transition:none;animation:none}}.kf-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}