:root{color-scheme:light dark;--brand-blue: #2558c0;--brand-red: #eb4459;--brand-pink: #d03473;--brand-navy: #142f45;--paper-patch: #f7efe2;--accent: #2558c0;--accent-pressed: #1d479e;--accent-soft: rgba(37, 88, 192, .12);--on-accent: #ffffff;--bg-grouped: #f2f2f7;--bg-card: #ffffff;--bg-card-pressed: #e5e5ea;--bg-elevated: #ffffff;--bg-tertiary: #f2f2f7;--fill: rgba(120, 120, 128, .2);--fill-secondary: rgba(120, 120, 128, .16);--fill-tertiary: rgba(118, 118, 128, .12);--separator: rgba(60, 60, 67, .29);--separator-opaque: #c6c6c8;--text: #000000;--text-secondary: rgba(60, 60, 67, .6);--text-tertiary: rgba(60, 60, 67, .3);--text-quaternary: rgba(60, 60, 67, .18);--destructive: #ff3b30;--success: #34c759;--badge: #ff3b30;--bar-bg: rgba(249, 249, 249, .86);--bar-border: rgba(0, 0, 0, .12);--backdrop: rgba(0, 0, 0, .4);--shadow-card: 0 4px 24px rgba(0, 0, 0, .08);--shadow-card-compact: 0 4px 12px rgba(0, 0, 0, .08);--shadow-popover: 0 10px 40px rgba(0, 0, 0, .18);--skeleton: rgba(120, 120, 128, .14);--skeleton-shine: rgba(255, 255, 255, .55);--radius-card: 24px;--radius-card-compact: 16px;--radius-group: 12px;--radius-button: 14px;--radius-field: 10px;--radius-sheet: 20px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--gutter: 16px;--font: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-rounded: ui-rounded, -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--text-large-title: 34px;--text-title: 28px;--text-title2: 22px;--text-title3: 20px;--text-headline: 17px;--text-body: 17px;--text-callout: 16px;--text-subheadline: 15px;--text-footnote: 13px;--text-caption: 12px;--tabbar-height: 56px;--sidebar-width: 260px;--content-max: 720px;--wide-breakpoint: 900px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--ease: cubic-bezier(.32, .72, 0, 1);--duration: .28s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--brand-blue: #6a96f3;--brand-red: #f26b7c;--brand-pink: #e4679b;--brand-navy: #d3deea;--paper-patch: #2b2824;--accent: #5580e6;--accent-pressed: #6a96f3;--accent-soft: rgba(106, 150, 243, .18);--on-accent: #ffffff;--bg-grouped: #000000;--bg-card: #1c1c1e;--bg-card-pressed: #2c2c2e;--bg-elevated: #1c1c1e;--bg-tertiary: #2c2c2e;--fill: rgba(120, 120, 128, .36);--fill-secondary: rgba(120, 120, 128, .32);--fill-tertiary: rgba(118, 118, 128, .24);--separator: rgba(84, 84, 88, .65);--separator-opaque: #38383a;--text: #ffffff;--text-secondary: rgba(235, 235, 245, .6);--text-tertiary: rgba(235, 235, 245, .3);--text-quaternary: rgba(235, 235, 245, .16);--destructive: #ff453a;--success: #30d158;--badge: #ff453a;--bar-bg: rgba(22, 22, 24, .86);--bar-border: rgba(255, 255, 255, .12);--backdrop: rgba(0, 0, 0, .6);--shadow-card: none;--shadow-card-compact: none;--shadow-popover: 0 10px 40px rgba(0, 0, 0, .6);--skeleton: rgba(120, 120, 128, .24);--skeleton-shine: rgba(255, 255, 255, .08)}}:root[data-theme=dark]{color-scheme:dark;--brand-blue: #6a96f3;--brand-red: #f26b7c;--brand-pink: #e4679b;--brand-navy: #d3deea;--paper-patch: #2b2824;--accent: #5580e6;--accent-pressed: #6a96f3;--accent-soft: rgba(106, 150, 243, .18);--on-accent: #ffffff;--bg-grouped: #000000;--bg-card: #1c1c1e;--bg-card-pressed: #2c2c2e;--bg-elevated: #1c1c1e;--bg-tertiary: #2c2c2e;--fill: rgba(120, 120, 128, .36);--fill-secondary: rgba(120, 120, 128, .32);--fill-tertiary: rgba(118, 118, 128, .24);--separator: rgba(84, 84, 88, .65);--separator-opaque: #38383a;--text: #ffffff;--text-secondary: rgba(235, 235, 245, .6);--text-tertiary: rgba(235, 235, 245, .3);--text-quaternary: rgba(235, 235, 245, .16);--destructive: #ff453a;--success: #30d158;--badge: #ff453a;--bar-bg: rgba(22, 22, 24, .86);--bar-border: rgba(255, 255, 255, .12);--backdrop: rgba(0, 0, 0, .6);--shadow-card: none;--shadow-card-compact: none;--shadow-popover: 0 10px 40px rgba(0, 0, 0, .6);--skeleton: rgba(120, 120, 128, .24);--skeleton-shine: rgba(255, 255, 255, .08)}:root[data-theme=light]{color-scheme:light}@media(min-width:900px){:root{--gutter: 24px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bg-grouped)}body{margin:0;min-height:100dvh;font-family:var(--font);font-size:var(--text-body);line-height:1.35;color:var(--text);background:var(--bg-grouped);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root,#app{min-height:100dvh}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}img,svg,video,canvas,picture{display:block;max-width:100%}img{height:auto}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}input,textarea,select{font-size:max(16px,1em)}button{cursor:pointer;background:none;border:0;padding:0;margin:0;-webkit-appearance:none;appearance:none}button:disabled{cursor:default}textarea{resize:vertical}:focus{outline:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.text-large-title{font-size:var(--text-large-title);font-weight:700;line-height:1.2;letter-spacing:.01em}.text-title{font-size:var(--text-title);font-weight:700;line-height:1.2}.text-title2{font-size:var(--text-title2);font-weight:700;line-height:1.25}.text-title3{font-size:var(--text-title3);font-weight:600;line-height:1.25}.text-headline{font-size:var(--text-headline);font-weight:600}.text-subheadline{font-size:var(--text-subheadline)}.text-footnote{font-size:var(--text-footnote)}.text-caption{font-size:var(--text-caption)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent)}.text-destructive{color:var(--destructive)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.virtue-colors{--virtue-text: var(--virtue-text-light)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .virtue-colors{--virtue-text: var(--virtue-text-dark)}}:root[data-theme=dark] .virtue-colors{--virtue-text: var(--virtue-text-dark)}.ui-spinner{display:inline-flex;color:var(--text-secondary)}.ui-spinner svg{animation:ui-spin .8s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-spinner svg{animation:ui-pulse 1.6s ease-in-out infinite!important;animation-duration:1.6s!important;animation-iteration-count:infinite!important}}@keyframes ui-pulse{50%{opacity:.4}}.ui-loading-screen{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:var(--space-10) var(--gutter)}.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);font-weight:600;font-size:var(--text-body);line-height:1.2;text-align:center;user-select:none;-webkit-user-select:none;transition:background-color .15s ease,transform .15s ease,opacity .15s ease}.ui-button:active:not(:disabled){transform:scale(.98)}.ui-button:disabled:not(.is-loading){opacity:.4}.ui-button__label{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-button.is-loading .ui-button__label{visibility:hidden}.ui-button__spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ui-button--block{display:flex;width:100%}.ui-button--large{min-height:52px;font-size:var(--text-body)}.ui-button--medium{min-height:44px;font-size:var(--text-callout)}.ui-button--small{min-height:34px;padding:0 var(--space-3);font-size:var(--text-subheadline)}.ui-button--primary{background:var(--accent);color:var(--on-accent)}.ui-button--primary:hover:not(:disabled){background:var(--accent-pressed)}.ui-button--primary .ui-spinner{color:var(--on-accent)}.ui-button--tinted{background:var(--accent-soft);color:var(--accent)}.ui-button--secondary{background:transparent;color:var(--accent);font-weight:500}.ui-button--secondary:hover:not(:disabled){background:var(--fill-tertiary)}.ui-button--plain{background:transparent;color:var(--accent);font-weight:500;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-field)}.ui-button--plain:hover:not(:disabled){background:var(--fill-tertiary)}.ui-button--destructive{background:transparent;color:var(--destructive);font-weight:500}.ui-button--destructive:hover:not(:disabled){background:var(--fill-tertiary)}.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;color:var(--text);transition:background-color .15s ease,transform .15s ease}.ui-icon-button:active:not(:disabled){transform:scale(.94)}.ui-icon-button:disabled{opacity:.4}.ui-icon-button--glass{background:var(--bg-card);box-shadow:0 1px 4px #00000014}.ui-icon-button--glass:hover:not(:disabled){background:var(--bg-card-pressed)}.ui-icon-button--plain{background:transparent;color:var(--accent)}.ui-icon-button--plain:hover:not(:disabled){background:var(--fill-tertiary)}.ui-icon-button--filled{background:var(--accent);color:var(--on-accent)}.ui-shell{min-height:100dvh;background:var(--bg-grouped)}.ui-shell__main{min-width:0;min-height:100dvh;padding-left:var(--safe-left);padding-right:var(--safe-right);padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--space-4))}.ui-shell__tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--bar-bg);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -.5px 0 var(--bar-border)}.ui-shell__tab{display:flex;align-items:center;color:var(--text-secondary);text-decoration:none;-webkit-user-select:none;user-select:none}.ui-shell__tab--bar{flex-direction:column;justify-content:center;gap:2px;height:var(--tabbar-height);font-size:10px;font-weight:500}.ui-shell__tab.is-active{color:var(--accent)}.ui-shell__tab--bar:focus-visible{outline-offset:-4px}.ui-shell__tab-icon{position:relative;display:flex}.ui-shell__tab-label{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.ui-shell__badge{position:absolute;top:-4px;left:calc(100% - 8px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--badge);color:#fff;font-size:12px;font-weight:600;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.ui-shell__sidebar{display:none}@media(min-width:900px){.ui-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.ui-shell__tabbar{display:none}.ui-shell__main{padding-bottom:var(--space-8)}.ui-shell__sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--space-5);height:100dvh;padding:calc(var(--space-5) + var(--safe-top)) var(--space-4) var(--space-5) calc(var(--space-4) + var(--safe-left));border-right:1px solid var(--separator);background:var(--bg-grouped);overflow-y:auto}.ui-shell__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--text);font-size:var(--text-title3);font-weight:700}.ui-shell__brand img{width:30px;height:auto}.ui-shell__side-tabs{display:flex;flex-direction:column;gap:2px}.ui-shell__tab--side{gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-field);color:var(--text);font-size:var(--text-body)}.ui-shell__tab--side .ui-shell__tab-icon{color:var(--accent)}.ui-shell__tab--side:hover{background:var(--fill-tertiary)}.ui-shell__tab--side.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.ui-shell__tab--side .ui-shell__tab-label{flex:1}.ui-shell__badge--side{position:static}.ui-toast-host{bottom:var(--space-8)}}.ui-patch{position:relative;width:100%;max-width:100%;aspect-ratio:3 / 2;margin:0 auto;isolation:isolate}.ui-patch__paper{position:absolute;inset:0;z-index:-1;background:var(--paper-patch);-webkit-mask-image:var(--patch-mask);mask-image:var(--patch-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;transform:scale(1.22);pointer-events:none}.ui-patch__picture{position:relative;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-select:none}.ui-free-illustration{display:block;max-width:100%;height:auto;margin:0 auto;user-select:none;-webkit-user-select:none}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(70dvh,640px);padding:var(--space-10) var(--gutter);text-align:center}.ui-empty__art{width:240px;max-width:70vw;margin-bottom:28px}.ui-empty__title{font-size:var(--text-title2);font-weight:700;line-height:1.25}.ui-empty__message{max-width:420px;margin-top:var(--space-2);font-size:var(--text-subheadline);line-height:1.45;color:var(--text-secondary)}.ui-empty__actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-5)}.ui-error__symbol{margin-bottom:var(--space-4);color:var(--text-secondary)}.ui-skeleton{display:flex;flex-direction:column;background:var(--bg-card);border-radius:var(--radius-group);overflow:hidden}.ui-skeleton__row{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4)}.ui-skeleton__row+.ui-skeleton__row{border-top:.5px solid var(--separator)}.ui-skeleton__avatar{flex:none;width:44px;height:44px;border-radius:50%}.ui-skeleton__lines{display:flex;flex:1;flex-direction:column;gap:8px}.ui-skeleton__line{display:block;height:14px;border-radius:7px}.ui-skeleton__line--short{width:35%;height:12px}.ui-skeleton__block{display:block;width:100%}.ui-skeleton__avatar,.ui-skeleton__line,.ui-skeleton__block{background:var(--skeleton);background-image:linear-gradient(90deg,transparent 0,var(--skeleton-shine) 50%,transparent 100%);background-size:200% 100%;background-repeat:no-repeat;animation:ui-shimmer 1.4s ease-in-out infinite}@keyframes ui-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media(prefers-reduced-motion:reduce){.ui-skeleton__avatar,.ui-skeleton__line,.ui-skeleton__block{background-image:none;animation:none}}.ui-toast-host{position:fixed;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:visible;inset:auto auto auto 50%;bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--space-4));z-index:1000;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:max-content;max-width:calc(100vw - 32px);transform:translate(-50%);pointer-events:none}@media(min-width:900px){.ui-toast-host{bottom:var(--space-8);left:calc(50% + var(--sidebar-width) / 2)}}.ui-toast{padding:12px 20px;border-radius:var(--radius-pill);background:var(--text);color:var(--bg-card);font-size:var(--text-subheadline);font-weight:500;line-height:1.35;text-align:center;box-shadow:var(--shadow-popover);pointer-events:auto;cursor:default;animation:ui-toast-in .24s var(--ease)}.ui-toast--error{background:var(--destructive);color:#fff}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(12px)}}.ui-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.ui-field__label{margin:0 var(--space-4);font-size:var(--text-footnote);text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.ui-field__input{display:block;width:100%;min-height:48px;padding:12px var(--space-4);border:0;border-radius:var(--radius-group);background:var(--bg-card);color:var(--text);font-size:max(16px,var(--text-body));line-height:1.4;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .15s ease;-webkit-appearance:none;appearance:none}.ui-field__input::placeholder{color:var(--text-tertiary)}.ui-field__input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.ui-field__input:focus-visible{border-radius:var(--radius-group);outline:none}.ui-field__input--area{resize:none;overflow-y:hidden}.ui-field.has-error .ui-field__input{box-shadow:inset 0 0 0 2px var(--destructive)}.ui-field__below{display:flex;justify-content:space-between;gap:var(--space-3);margin:0 var(--space-4);min-height:0;font-size:var(--text-footnote);line-height:1.4}.ui-field__below:has(>span:empty:only-child){display:none}.ui-field__footer{color:var(--text-secondary)}.ui-field__error{color:var(--destructive)}.ui-field__counter{flex:none;margin-left:auto;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ui-field__counter.is-full{color:var(--brand-red)}.onb-welcome{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100dvh;padding:calc(var(--safe-top) + var(--space-2)) calc(var(--safe-right) + var(--gutter)) calc(var(--safe-bottom) + var(--space-4)) calc(var(--safe-left) + var(--gutter));background:var(--bg-card);overflow:hidden}.onb-welcome__glow{--glow: .2;position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 90% 60% at 50% 0%,rgb(37 88 192 / var(--glow)),transparent 75%),radial-gradient(ellipse 90% 55% at 50% 100%,rgb(235 68 89 / calc(var(--glow) * .9)),transparent 70%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .onb-welcome__glow{--glow: .32}}:root[data-theme=dark] .onb-welcome__glow{--glow: .32}.onb-welcome__top{display:flex;justify-content:flex-end;min-height:44px}.onb-welcome__main{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);width:100%;max-width:480px;margin:0 auto;padding:var(--space-6) var(--space-4);text-align:center}.onb-welcome__logo{width:112px;height:auto;margin-bottom:var(--space-2)}.onb-welcome__name{margin:0;font-size:44px;font-weight:800;letter-spacing:-.01em;line-height:1.1;color:var(--brand-blue)}.onb-welcome__tagline{margin:0;font-size:var(--text-title3);line-height:1.35;color:var(--text-secondary);white-space:pre-line}.onb-welcome__tagline--small{font-size:var(--text-body)}.onb-welcome__eyebrow{margin:0 0 calc(var(--space-3) * -1);font-size:var(--text-footnote);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-blue)}.onb-welcome__invite-title{margin:0;font-size:var(--text-title);font-weight:700;line-height:1.2}.onb-welcome__actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:420px;margin:0 auto;text-align:center}.onb-welcome__privacy{margin:var(--space-1) 0 0;font-size:var(--text-footnote);color:var(--text-secondary)}.onb-welcome__privacy a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.onb-error{margin:0;font-size:var(--text-footnote);color:var(--destructive)}.onb-lang{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-subheadline);color:var(--text-secondary)}.onb-lang button{min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-field);color:var(--text-secondary)}.onb-lang button[aria-pressed=true]{color:var(--text);font-weight:600}.onb-lang button:hover{background:var(--fill-tertiary)}.onb-apple{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 var(--space-5);border-radius:var(--radius-pill);background:#000;color:#fff;font-size:var(--text-body);font-weight:600;transition:opacity .15s ease,transform .15s ease}.onb-apple:active:not(:disabled){transform:scale(.98)}.onb-apple:disabled{opacity:.4}.onb-apple .ui-spinner{color:currentColor}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .onb-apple{background:#fff;color:#000}}:root[data-theme=dark] .onb-apple{background:#fff;color:#000}.onb-apple__label{display:inline-flex;align-items:center;gap:var(--space-2)}.onb-apple__logo{flex:none;margin-top:-3px}.onb-apple-hint{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);text-align:center}.onb-apple-hint p{margin:0;font-size:var(--text-subheadline);color:var(--text-secondary)}.onb-apple-return{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-6) var(--gutter);text-align:center;color:var(--text-secondary)}.onb-apple-return p{margin:0}.onb-step{display:flex;flex-direction:column;min-height:100dvh;padding:var(--safe-top) calc(var(--safe-right) + var(--gutter)) 0 calc(var(--safe-left) + var(--gutter))}.onb-step__bar{display:flex;align-items:center;min-height:52px;width:100%;max-width:520px;margin:0 auto}.onb-bar-button{display:inline-flex;align-items:center;gap:2px;min-height:44px;margin-left:calc(var(--space-2) * -1);padding:0 var(--space-2);border-radius:var(--radius-field);color:var(--accent);font-size:var(--text-body)}.onb-bar-button:hover:not(:disabled){background:var(--fill-tertiary)}.onb-bar-button:disabled{opacity:.4}.onb-step__content{flex:1 0 auto;width:100%;max-width:520px;margin:0 auto;padding-bottom:var(--space-6)}.onb-step__actions{position:sticky;bottom:0;width:100%;max-width:520px;margin:0 auto;padding:var(--space-3) 0 calc(var(--safe-bottom) + var(--space-3));background:linear-gradient(to bottom,transparent,var(--bg-grouped) 30%)}.onb-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-6);text-align:center}.onb-header__symbol{display:inline-flex;margin-bottom:var(--space-1);color:var(--accent)}.onb-header__title{margin:0;font-size:var(--text-title);font-weight:700;line-height:1.2}.onb-header__message{margin:0;font-size:var(--text-body);line-height:1.4;color:var(--text-secondary)}.onb-email{color:var(--text);font-weight:600;overflow-wrap:anywhere}.onb-code-field .ui-field__input{min-height:56px;text-align:center;font-size:var(--text-title2);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:4px}.onb-code-field .ui-field__below{justify-content:center;text-align:center}.onb-code-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:var(--space-6);text-align:center;font-size:var(--text-subheadline);font-weight:500}.onb-text-button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-field);color:var(--accent);font-weight:500}.onb-text-button:hover:not(:disabled){background:var(--fill-tertiary)}.onb-text-button:disabled{opacity:.4}.onb-countdown{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-2);color:var(--text-secondary);font-variant-numeric:tabular-nums}.onb-guide{position:relative;display:flex;flex-direction:column;height:100dvh;padding:var(--safe-top) var(--safe-right) 0 var(--safe-left);background:var(--bg-card)}.onb-guide--embedded{height:100%;padding:0;background:transparent}.onb-guide__bar{position:absolute;top:calc(var(--safe-top) + var(--space-2));right:calc(var(--safe-right) + var(--gutter));z-index:1}.onb-guide--embedded .onb-guide__bar{top:0;right:0}.onb-guide__pages{flex:1 1 auto;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.onb-guide__pages::-webkit-scrollbar{display:none}.onb-guide__pages:focus{outline:none}.onb-guide__page{flex:0 0 100%;min-width:0;height:100%;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 28px),transparent)}.onb-guide__page-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);max-width:520px;margin:0 auto;padding:48px var(--space-6) var(--space-8)}.onb-guide__page-inner .ui-patch{flex:none;max-width:min(300px,80vw)}.onb-guide__text{display:flex;flex-direction:column;gap:14px;text-align:center}.onb-guide__title{margin:0;font-size:var(--text-title);font-weight:700;line-height:1.2}.onb-guide__text p{margin:0;line-height:1.45;color:var(--text-secondary)}.onb-guide__hint{display:flex;align-items:flex-start;gap:10px;width:100%;margin:0;padding:var(--space-4);border-radius:20px;background:var(--bg-tertiary);font-size:var(--text-callout);line-height:1.4;color:var(--text-secondary)}.onb-guide__hint svg{flex:none;margin-top:1px;color:var(--accent)}.onb-example{display:flex;flex-direction:column;gap:10px;width:100%;margin:0;padding:var(--space-4);border-radius:20px;background:var(--bg-tertiary)}.onb-example__name{display:flex;align-items:center;gap:10px;font-size:var(--text-headline);font-weight:600;color:var(--virtue-text)}.onb-example blockquote{margin:0;font-size:var(--text-callout);line-height:1.4;color:var(--text)}.onb-guide__footer{flex:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--gutter) calc(var(--safe-bottom) + var(--space-3))}.onb-guide__actions{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:480px}.onb-dots{display:flex;align-items:center;gap:0}.onb-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0}.onb-dot:before{content:"";display:block;width:8px;height:8px;border-radius:4px;background:var(--text-quaternary);transition:width .2s var(--ease),background-color .2s ease}.onb-dot.is-current{width:38px}.onb-dot.is-current:before{width:22px;background:var(--accent)}.onb-guide-sheet .ui-sheet__header{display:none}.onb-guide-sheet .ui-sheet__body{display:flex;flex-direction:column;padding:var(--space-3) 0 0;overflow:hidden}.onb-guide-sheet .onb-guide--embedded{flex:1 1 auto;min-height:0}.onb-guide-sheet .onb-guide__bar{right:var(--gutter)}@media(prefers-reduced-motion:reduce){.onb-dot:before,.onb-apple{transition:none}}html.has-modal,html.has-modal body{overflow:hidden}.ui-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;height:auto;max-height:100dvh;margin:0;padding:0;border:0;background:transparent;color:var(--text);overflow:visible}.ui-sheet::backdrop{background:var(--backdrop);animation:ui-fade-in var(--duration) ease}.ui-sheet__panel{display:flex;flex-direction:column;max-height:calc(100dvh - var(--safe-top) - 12px);background:var(--bg-grouped);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-popover);animation:ui-sheet-up var(--duration) var(--ease);overflow:hidden}.ui-sheet--large .ui-sheet__panel{height:calc(100dvh - var(--safe-top) - 12px)}.ui-sheet__grabber{flex:none;width:36px;height:5px;margin:6px auto 0;border-radius:3px;background:var(--text-quaternary)}.ui-sheet__header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-2);flex:none;min-height:52px;padding:var(--space-1) var(--space-3) var(--space-2)}.ui-sheet__side{display:flex;align-items:center;gap:var(--space-2);min-width:0}.ui-sheet__side--trailing{justify-content:flex-end}.ui-sheet__title{margin:0;font-size:var(--text-headline);font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-sheet__body{flex:1 1 auto;min-height:0;padding:var(--space-2) var(--gutter) calc(var(--space-6) + var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ui-sheet__footer{flex:none;padding:var(--space-3) var(--gutter) calc(var(--space-3) + var(--safe-bottom));background:var(--bg-grouped);border-top:1px solid var(--separator)}.ui-sheet__footer~.ui-sheet__body,.ui-sheet__body:has(+.ui-sheet__footer){padding-bottom:var(--space-6)}@media(min-width:900px){.ui-sheet{inset:0;display:none;align-items:center;justify-content:center;width:100%;height:100%;max-height:100%}.ui-sheet[open]{display:flex}.ui-sheet__panel{width:min(560px,calc(100vw - 48px));max-height:min(820px,calc(100dvh - 64px));border-radius:var(--radius-sheet);animation:ui-pop-in .22s var(--ease)}.ui-sheet--large .ui-sheet__panel{height:min(820px,calc(100dvh - 64px))}.ui-sheet__grabber{display:none}.ui-sheet__header{padding-top:var(--space-3)}.ui-sheet__body{padding-bottom:var(--space-6)}.ui-sheet__footer{padding-bottom:var(--space-3)}}.ui-alert{width:min(300px,calc(100vw - 48px));max-width:100%;margin:auto;padding:0;border:0;border-radius:var(--radius-sheet);background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-popover);animation:ui-pop-in .2s var(--ease)}.ui-alert::backdrop{background:var(--backdrop)}.ui-alert__text{padding:var(--space-5) var(--space-5) var(--space-4);text-align:center}.ui-alert__title{font-size:var(--text-headline);font-weight:600;line-height:1.3}.ui-alert__message{margin-top:var(--space-2);font-size:var(--text-footnote);line-height:1.4;color:var(--text-secondary)}.ui-alert__actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--separator)}.ui-alert__actions .ui-button{min-height:46px;border-radius:0;font-size:var(--text-body)}.ui-alert__actions .ui-button+.ui-button{border-left:1px solid var(--separator)}.ui-alert__confirm{font-weight:600}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-sheet-up{0%{transform:translateY(100%)}}@keyframes ui-pop-in{0%{opacity:0;transform:scale(.96)}}.ui-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--avatar-color) 82%,#ffffff),var(--avatar-color));color:#fff;font-family:var(--font-rounded);font-weight:600;line-height:1;letter-spacing:.01em;user-select:none;-webkit-user-select:none}.invite-sheet .ui-sheet__header{min-height:20px;padding:0}.invite-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:280px;color:var(--text-secondary)}.invite-loading p{margin:0}.invite-layout{display:flex;flex-direction:column;gap:var(--space-6);max-width:480px;margin:0 auto;padding:var(--space-6) var(--space-2) 0}.invite-layout__text{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.invite-layout__picture{display:flex;justify-content:center}.invite-layout__title{margin:0;font-size:var(--text-title2);font-weight:700;line-height:1.25}.invite-layout__message{margin:0;line-height:1.4;color:var(--text-secondary)}.invite-layout__actions{display:flex;flex-direction:column;gap:var(--space-2)}.invite-problem{margin:0;font-size:var(--text-subheadline);text-align:center;color:var(--destructive)}.invite-symbol{display:inline-flex;color:var(--accent)}.invite-symbol.is-success{color:var(--success)}.ui-page{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));margin:0 auto;padding-bottom:var(--space-10)}.ui-page--wide{max-width:none}.ui-page__bar{position:sticky;top:0;z-index:20;padding-top:var(--safe-top);background:transparent;transition:background-color .2s ease,box-shadow .2s ease}.ui-page__bar.is-scrolled{background:var(--bar-bg);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 .5px 0 var(--bar-border)}.ui-page__bar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-1) calc(var(--gutter) - 4px)}.ui-page__bar-side{display:flex;align-items:center;gap:var(--space-2);min-width:0}.ui-page__bar-side--trailing{justify-content:flex-end}.ui-page__bar-title{max-width:44vw;overflow:hidden;font-size:var(--text-headline);font-weight:600;text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .15s ease}.ui-page__bar.shows-title .ui-page__bar-title{opacity:1}.ui-page__inline-title{overflow:hidden;font-size:inherit;font-weight:inherit;text-overflow:ellipsis;white-space:nowrap}.ui-page__back{display:inline-flex;align-items:center;gap:2px;min-height:44px;max-width:100%;margin-left:-6px;padding:0 var(--space-2) 0 0;color:var(--accent);font-size:var(--text-body);border-radius:var(--radius-field)}.ui-page__back:hover{background:var(--fill-tertiary)}.ui-page__back-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-page__large-title{padding:var(--space-1) var(--gutter) var(--space-3);font-size:var(--text-large-title);font-weight:700;line-height:1.2;letter-spacing:.01em;overflow-wrap:anywhere}.ui-page__subheader{padding:0 var(--gutter) var(--space-3)}.ui-page__content{padding:var(--space-2) var(--gutter) 0}.ui-page--flush .ui-page__content{padding-left:0;padding-right:0}.ui-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ui-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 12px 6px 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--virtue-flower) 14%,transparent);color:var(--virtue-text);font-size:var(--text-subheadline);font-weight:600;line-height:1.2}.ui-chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moments-list{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}.moments-list__footer{display:flex;justify-content:center;align-items:center;min-height:56px;padding:var(--space-2) 0}.moment-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-card);background:var(--bg-card);color:var(--text);text-decoration:none;box-shadow:var(--shadow-card-compact);transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.moment-card:hover{box-shadow:var(--shadow-card)}.moment-card:active{transform:scale(.985)}.moment-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.moment-card.is-selected{outline:3px solid var(--accent);outline-offset:0}.moment-card__body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 18px 18px}.moment-card__heading{display:flex;align-items:baseline;gap:var(--space-2)}.moment-card__dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}.moment-card__title{font-size:var(--text-title3);font-weight:600;line-height:1.25;overflow-wrap:anywhere}.moment-card.is-unseen .moment-card__title{font-weight:800}.moment-card__byline{margin-top:calc(-1 * var(--space-2));font-size:var(--text-subheadline);color:var(--text-secondary)}.moment-photo{position:relative;display:block;width:100%;overflow:hidden;background:var(--fill-tertiary)}.moment-photo--card{aspect-ratio:4 / 3}.moment-photo--card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.moment-photo--full{min-height:120px}.moment-photo--full:not(.is-loaded){aspect-ratio:4 / 3}.moment-photo--full img{display:block;width:100%;height:auto}.moment-photo.is-loaded{background:transparent}.moment-photo img{opacity:0;transition:opacity .25s ease-out}.moment-photo.is-loaded img{opacity:1}.moment-photo__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.moments-split{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start;min-height:100dvh}.moments-split__list{min-width:0;border-right:.5px solid var(--separator)}.moments-split__list .ui-page{max-width:none}.moments-split__detail{position:sticky;top:0;height:100dvh;min-width:0;overflow-y:auto;overscroll-behavior:contain}.moments-split__hint{display:flex;align-items:center;justify-content:center;height:100%;margin:0;padding:var(--space-8);text-align:center;font-size:var(--text-body);color:var(--text-secondary)}.moment-detail__content{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-2)}.moment-detail__header{display:flex;flex-direction:column;gap:var(--space-2)}.moment-detail__title{margin:0;font-size:var(--text-title);font-weight:700;line-height:1.2;overflow-wrap:anywhere}.moment-detail__meta{display:flex;flex-direction:column;gap:2px;margin:0}.moment-detail__sender{font-size:var(--text-headline);font-weight:600}.moment-detail__date{font-size:var(--text-subheadline);color:var(--text-secondary)}.moment-detail__photo{border-radius:var(--radius-card)}.moment-detail__strengths{display:flex;flex-direction:column;gap:var(--space-3)}.moment-detail__strengths-heading{margin:0;font-size:var(--text-title3);font-weight:600}.moment-detail__loading{display:flex;justify-content:center;padding:var(--space-10) 0}.moment-strength-sheet .ui-sheet__body{padding-bottom:var(--space-6)}.report-sheet__reason{margin-bottom:0}.report-sheet__error{margin:0 var(--space-4) var(--space-6);font-size:var(--text-footnote);color:var(--destructive)}.report-sheet__error-inline{color:var(--destructive)}.report-sheet__thanks{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--space-4) var(--space-4) var(--space-8);text-align:center}.report-sheet__check{color:var(--accent)}.report-sheet__thanks-title{margin:0;font-size:var(--text-title2);font-weight:700}.report-sheet__thanks-message{margin:0;color:var(--text-secondary)}.report-sheet__done{color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.moment-card,.moment-photo img{transition:none}.moment-card:active{transform:none}}.ui-menu{position:relative;display:inline-flex}.ui-menu__trigger{display:inline-flex;align-items:center}.ui-menu__list{position:absolute;top:calc(100% + 6px);z-index:50;display:flex;flex-direction:column;min-width:220px;max-width:min(320px,calc(100vw - 32px));padding:6px 0;background:var(--bg-elevated);border-radius:14px;box-shadow:var(--shadow-popover);animation:ui-menu-in .16s var(--ease);transform-origin:top right}.ui-menu__list--end{right:0}.ui-menu__list--start{left:0;transform-origin:top left}.ui-menu__item{display:block;width:100%;min-height:44px;padding:10px var(--space-4);text-align:left;font-size:var(--text-body);color:var(--text)}.ui-menu__item+.ui-menu__item{border-top:1px solid var(--separator)}.ui-menu__item:hover:not(:disabled),.ui-menu__item:focus-visible{background:var(--fill-tertiary);outline:none;border-radius:0}.ui-menu__item:disabled{opacity:.4}.ui-menu__item--destructive{color:var(--destructive)}@keyframes ui-menu-in{0%{opacity:0;transform:scale(.94)}}.ui-wave{display:block;flex:none}.ui-strength-card{position:relative;display:flex;flex-direction:column;width:100%;overflow:hidden;background:var(--bg-card);color:var(--virtue-text);text-align:center;font:inherit;container-type:inline-size}.ui-strength-card--large{border-radius:var(--radius-card)}.ui-strength-card--compact{border-radius:var(--radius-card-compact)}.ui-strength-card--large.has-shadow{box-shadow:var(--shadow-card)}.ui-strength-card--compact.has-shadow{box-shadow:var(--shadow-card-compact)}.ui-strength-card.is-button{cursor:pointer;transition:transform .3s var(--ease)}.ui-strength-card.is-button:active{transform:scale(.97)}.ui-strength-card.is-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--radius-card-compact)}.ui-strength-card__text{display:flex;flex-direction:column;align-items:center;width:100%}.ui-strength-card--large .ui-strength-card__text{gap:10px;padding:4px 24px 28px}.ui-strength-card--compact .ui-strength-card__text{gap:4px;padding:10px 10px 20px}.ui-strength-card__virtue{font-weight:500;letter-spacing:.5px}.ui-strength-card--large .ui-strength-card__virtue{font-size:min(var(--text-title3),6.4cqi);overflow-wrap:anywhere}.ui-strength-card--compact .ui-strength-card__virtue{font-size:var(--text-caption)}.ui-strength-card__tagline{font-size:var(--text-headline);font-weight:600}.ui-strength-card__name{font-weight:700;line-height:1.15;overflow-wrap:break-word}.ui-strength-card--large .ui-strength-card__name{padding:8px 0;font-size:max(22px,min(var(--text-large-title),10.5cqi))}.ui-strength-card--compact .ui-strength-card__name{font-size:var(--text-headline)}.ui-strength-card__description{font-size:var(--text-body);font-weight:500;line-height:1.4}.ui-strength-card.is-chosen>.ui-wave,.ui-strength-card.is-chosen>.ui-strength-card__text{opacity:.45}.ui-strength-card__check{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--virtue-text);color:#fff}.ui-reason-card{display:flex;flex-direction:column;width:100%;overflow:hidden;background:var(--bg-card);border-radius:var(--radius-card);text-align:left}.ui-reason-card__body{display:flex;flex-direction:column;gap:14px;padding:6px 18px 20px}.ui-reason-card__header{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;color:var(--virtue-text);text-align:left}.ui-reason-card__header--button{cursor:pointer;border-radius:var(--radius-field)}.ui-reason-card__header--button:hover .ui-reason-card__name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.ui-reason-card__names{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ui-reason-card__tagline{font-size:var(--text-subheadline);color:var(--text-secondary)}.ui-reason-card__name{font-size:var(--text-title2);font-weight:700;line-height:1.2;overflow-wrap:anywhere}.ui-reason-card__info{flex:none}.ui-reason-card__reason{font-size:var(--text-body);line-height:1.45;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.ui-group{margin:0 0 var(--space-8)}.ui-group__header{margin:0 var(--space-4) var(--space-2);font-size:var(--text-footnote);font-weight:400;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.ui-group__header--prominent{margin-left:0;font-size:var(--text-title3);font-weight:700;text-transform:none;letter-spacing:0;color:var(--text)}.ui-group__body{background:var(--bg-card);border-radius:var(--radius-group);overflow:hidden}.ui-group--plain .ui-group__body{background:transparent;border-radius:0;overflow:visible}.ui-group__footer{margin:var(--space-2) var(--space-4) 0;font-size:var(--text-footnote);color:var(--text-secondary);line-height:1.4}.ui-row{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:11px var(--space-4);color:var(--text);text-align:left;text-decoration:none;background:transparent}.ui-row+.ui-row:before{content:"";position:absolute;top:0;left:var(--space-4);right:0;height:1px;transform:scaleY(.5);transform-origin:top;background:var(--separator)}@media(min-resolution:2dppx){.ui-row+.ui-row:before{height:1px}}.ui-row--interactive{cursor:pointer;transition:background-color .12s ease}.ui-row--interactive:hover{background:var(--fill-tertiary)}.ui-row--interactive:active{background:var(--bg-card-pressed)}.ui-row.is-selected{background:var(--accent-soft)}.ui-row:focus-visible{outline-offset:-3px;border-radius:var(--radius-group)}.ui-row__leading{display:flex;flex:none;align-items:center}.ui-row__main{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;gap:2px}.ui-row__label{font-size:var(--text-body);overflow-wrap:anywhere}.ui-row__subtitle{font-size:var(--text-subheadline);color:var(--text-secondary);overflow-wrap:anywhere}.ui-row__detail{flex:none;max-width:55%;color:var(--text-secondary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-row__chevron{flex:none;color:var(--text-tertiary)}.ui-row__check{flex:none;color:var(--accent)}.ui-row--button:disabled{cursor:default;opacity:.4}.ui-row--tinted .ui-row__label{color:var(--accent)}.ui-row--destructive .ui-row__label{color:var(--destructive)}.ui-row--toggle{cursor:pointer}.ui-switch{-webkit-appearance:none;appearance:none;position:relative;flex:none;width:51px;height:31px;margin:0;border-radius:999px;background:var(--fill);cursor:pointer;transition:background-color .2s ease}.ui-switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029;transition:transform .2s var(--ease)}.ui-switch:checked{background:var(--success)}.ui-switch:checked:after{transform:translate(20px)}.ui-switch:disabled{opacity:.5;cursor:default}.ui-switch:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.composer,.composer-page{position:relative}.composer-muted{color:var(--text-secondary)}.composer-form__fields{min-width:0;margin:0;padding:0;border:0}.composer-form .ui-group__footer{display:flex;flex-direction:column;gap:var(--space-1)}.composer-form__hint{color:var(--text-tertiary)}.composer-field{padding:0}.composer-textarea{display:block;width:100%;min-height:44px;margin:0;padding:11px var(--space-4);border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;font-size:max(16px,var(--text-body));line-height:1.4;resize:none;overflow-y:hidden;-webkit-appearance:none;appearance:none}.composer-textarea::placeholder{color:var(--text-tertiary)}.composer-textarea:focus{outline:none}.composer-textarea:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--radius-field, 10px)}.composer-textarea:disabled{opacity:.6}.composer-field+.ui-row:before,.composer-field+.composer-photo:before,.composer-pick+.composer-pick:before,.composer-pick+.ui-row:before{content:"";position:absolute;top:0;left:var(--space-4);right:0;height:1px;transform:scaleY(.5);transform-origin:top;background:var(--separator)}.composer-limit{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.composer-limit.is-full{color:var(--destructive)}.composer-photo{position:relative;padding:var(--space-2)}.composer-photo__image{display:block;width:100%;height:200px;object-fit:cover;border-radius:16px;background:var(--fill-tertiary);user-select:none;-webkit-user-select:none}.composer-photo__menu{position:absolute;top:calc(var(--space-2) + 8px);right:calc(var(--space-2) + 8px)}.composer-photo__menu .ui-icon-button{width:36px!important;height:36px!important}.composer-drop{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;border:2px dashed var(--accent);border-radius:var(--radius-group);background:color-mix(in srgb,var(--bg-grouped) 85%,transparent);color:var(--accent);font-size:var(--text-headline);font-weight:600;pointer-events:none}.composer-pick{position:relative;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0 var(--space-2)}.composer-pick__head{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2) 0 var(--space-4)}.composer-pick__title{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.composer-pick__name{font-size:var(--text-headline);font-weight:600;color:var(--virtue-text);overflow-wrap:anywhere}.composer-pick__virtue{font-size:var(--text-caption);color:var(--text-secondary)}.composer-pick__remove.ui-icon-button{color:var(--text-tertiary)}.composer-pick__remove.ui-icon-button:hover:not(:disabled){color:var(--text-secondary)}.composer-pick__reason{padding-top:6px}.composer-pick .composer-limit{padding:0 var(--space-4);font-size:var(--text-footnote)}.composer-picker__subtitle{margin:0 0 var(--space-3);font-size:var(--text-subheadline);color:var(--text-secondary);text-align:center}.composer-search{position:sticky;top:calc(-1 * var(--space-2));z-index:2;display:flex;align-items:center;margin:0 calc(-1 * var(--gutter)) var(--space-5);padding:var(--space-2) var(--gutter);background:var(--bg-grouped)}.composer-search__icon{position:absolute;left:calc(var(--gutter) + 10px);color:var(--text-secondary);pointer-events:none}.composer-search__input{width:100%;min-height:38px;padding:8px 12px 8px 36px;border:0;border-radius:10px;background:var(--fill-tertiary);color:var(--text);font:inherit;font-size:max(16px,var(--text-body));-webkit-appearance:none;appearance:none}.composer-search__input::placeholder{color:var(--text-secondary)}.composer-search__input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.composer-picker__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-secondary)}.composer-picker__empty p{margin:0}.composer-picker__empty-title{font-size:var(--text-title3);font-weight:700;color:var(--text)}.composer-virtue{margin-bottom:var(--space-8)}.composer-virtue__header{margin-bottom:var(--space-3)}.composer-virtue__name{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:var(--text-title2);font-weight:700}.composer-virtue__description{margin:0;font-size:var(--text-subheadline);line-height:1.4;color:var(--text-secondary)}.composer-virtue__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.composer-virtue__grid>li{display:flex;min-width:0}.composer-virtue__grid>li>*{width:100%}.composer-sent{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-2) var(--space-2);text-align:center}.composer-sent__picture{width:225px;max-width:100%;padding:var(--space-3) 0;animation:composer-spring .7s cubic-bezier(.34,1.56,.64,1) both;transform-origin:bottom center}.composer-sent__text{display:flex;flex-direction:column;gap:var(--space-2);animation:composer-rise .5s var(--ease) .12s both}.composer-sent__headline{margin:0;font-size:var(--text-title2);font-weight:700;line-height:1.25}.composer-sent__message{margin:0;color:var(--text-secondary);line-height:1.4}.composer-sent__done{max-width:320px}.ui-alert__actions.composer-alert__actions{grid-template-columns:1fr}@keyframes composer-spring{0%{opacity:0;transform:scale(.6) rotate(-10deg)}}@keyframes composer-rise{0%{opacity:0;transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){.composer-sent__picture,.composer-sent__text{animation:composer-fade .2s ease both}}@keyframes composer-fade{0%{opacity:0}}.ranked-row{padding-top:12px;padding-bottom:12px}.ranked-row__leading{display:flex;align-items:center;gap:var(--space-3)}.ranked-row__rank{min-width:18px;font-size:var(--text-headline);font-weight:700;color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums}.ranked-row .ui-row__main{gap:var(--space-2)}.ranked-row__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:var(--space-2)}.ranked-row__name{flex:1 1 auto;font-size:var(--text-headline);font-weight:600;color:var(--text);overflow-wrap:break-word}.ranked-row__times{flex:none;font-size:var(--text-subheadline);color:var(--text-secondary);font-variant-numeric:tabular-nums}.ranked-row__bar{display:block;position:relative;width:100%;height:6px;border-radius:999px;background:var(--fill-tertiary);overflow:hidden}.ranked-row__fill{display:block;width:var(--ranking-share, 0%);min-width:6px;height:100%;border-radius:999px;background:var(--virtue-wave)}.strength-moment-count{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin:0;text-align:center}.strength-moment-count--none{font-size:var(--text-headline);font-weight:600}.strength-moment-count__lead{font-size:var(--text-subheadline);color:var(--text-secondary)}.strength-moment-count__value{font-size:var(--text-large-title);font-weight:700;line-height:1.15;color:var(--virtue-text)}.profile-loading{display:flex;justify-content:center;padding:var(--space-10) 0}.profile-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin:var(--space-2) 0 var(--space-6);text-align:center}.profile-header__name{margin:0;font-size:var(--text-title);font-weight:700;line-height:1.2;overflow-wrap:anywhere}.profile-counts{display:flex;align-items:stretch;padding:var(--space-3) 0}.profile-counts__column{display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0 var(--space-2);text-align:center}.profile-counts__value{font-size:var(--text-title);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.profile-counts__caption{font-size:var(--text-subheadline);color:var(--text-secondary)}.profile-counts__divider{flex:none;width:1px;background:var(--separator)}.strength-moments{display:flex;flex-direction:column;gap:28px;padding-top:var(--space-3)}.strength-moments__card{width:100%;max-width:480px;margin:0 auto}.strength-moments__list{display:flex;flex-direction:column;gap:var(--space-3)}.strength-moments__heading{margin:0;font-size:var(--text-title2);font-weight:700}.appearance{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 18px;border-radius:var(--radius-card);background:var(--bg-card);color:var(--text);text-decoration:none;transition:background-color .12s ease}.appearance:hover{background:var(--bg-card-pressed)}.appearance:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.appearance__text{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-1);min-width:0}.appearance__title{font-size:var(--text-title3);font-weight:600;overflow-wrap:anywhere}.appearance__byline{font-size:var(--text-subheadline);color:var(--text-secondary)}.appearance__reason{margin-top:var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere}.appearance__chevron{flex:none;color:var(--text-tertiary)}.library{display:flex;flex-direction:column;gap:36px;padding:var(--space-2) 0 var(--space-6)}.library-virtue__heading{display:flex;align-items:center;gap:10px}.library-virtue__name{margin:0;font-size:var(--text-title2);font-weight:700}.library-virtue__description{margin:var(--space-3) 0 var(--space-4);font-size:var(--text-subheadline);line-height:1.4;color:var(--text-secondary)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.library-grid>li{display:flex}.library-card{display:flex;width:100%;color:inherit;text-decoration:none;border-radius:var(--radius-card-compact);transition:transform .3s var(--ease)}.library-card>.ui-strength-card{height:100%}.library-card:active{transform:scale(.97)}.library-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.library-page{width:100%;max-width:480px;margin:0 auto;padding:var(--space-4) 0 var(--space-6)}.push-block{margin:0;padding:var(--space-3) var(--space-4)}.push-text{margin:0;font-size:var(--text-subheadline);line-height:1.4;color:var(--text)}.push-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border-radius:var(--radius-group);text-align:left}.push-steps__title{margin:0 0 var(--space-2);font-size:var(--text-headline);font-weight:600;color:var(--text)}.push-steps__list{margin:0;padding-left:1.4em;list-style:decimal;font-size:var(--text-subheadline);line-height:1.45;color:var(--text)}.push-steps__list li+li{margin-top:var(--space-1)}.push-steps__icon{display:inline-block;vertical-align:-3px;color:var(--accent)}.push-help p{margin:0}.push-help p+p,.push-help p+.push-steps,.push-help .push-steps+p{margin-top:var(--space-2)}.push-help .push-steps__title,.push-help .push-steps__list{font-size:inherit;color:inherit}.push-help .push-steps__title{margin-bottom:var(--space-1)}.push-error{color:var(--destructive, #ff3b30)}.settings-name{cursor:text}.settings-name__label{flex:none}.settings-name__input{flex:1 1 auto;min-width:0;margin:0;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--text-body);text-align:right;outline:none}.settings-name__input::placeholder{color:var(--text-tertiary)}.settings-name:focus-within{box-shadow:inset 0 0 0 2px var(--accent-soft)}.settings-error{color:var(--destructive)}.contacts-row__link{color:var(--text);font-weight:500}.contacts-row__link:after{content:"";position:absolute;inset:0;border-radius:inherit}.contacts-row__link:focus-visible{outline:none}.contacts-row__link:focus-visible:after{outline:3px solid var(--accent);outline-offset:-3px;border-radius:var(--radius-group)}.contacts-row__remove{position:relative;z-index:1;flex:none;min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--destructive);font-size:var(--text-subheadline);font-weight:500}.contacts-row__remove:hover{background:var(--fill-tertiary)}.contacts-row__remove:focus-visible{outline:3px solid var(--accent);outline-offset:0}.contacts-group-skeleton{overflow:hidden;border-radius:var(--radius-group);background:var(--bg-card)}.contacts-center{display:flex;justify-content:center;padding:var(--space-10) 0}.contacts-split{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-height:100dvh}.contacts-split__list{position:sticky;top:0;height:100dvh;overflow-y:auto;border-right:1px solid var(--separator);overscroll-behavior:contain}.contacts-split__detail{min-width:0}.contacts-split__hint{margin:0;padding:30vh var(--space-8) 0;color:var(--text-secondary);font-size:var(--text-body);text-align:center}.contacts-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-2) 0 var(--space-8);text-align:center}.contacts-header__text{display:flex;flex-direction:column;gap:var(--space-1)}.contacts-header__name{margin:0;font-size:var(--text-title);font-weight:700;line-height:1.2;overflow-wrap:anywhere}.contacts-header__since{margin:0;color:var(--text-secondary);font-size:var(--text-subheadline)}.contacts-header__send{margin-top:var(--space-2);padding:0 var(--space-8)}.contacts-note{margin:0 0 var(--space-8);padding:var(--space-4);border-radius:var(--radius-group);background:var(--bg-card);color:var(--text-secondary);line-height:1.4}.contacts-rank{padding-top:14px;padding-bottom:14px}.contacts-rank__leading{display:flex;align-items:center;gap:var(--space-3)}.contacts-rank__number{min-width:18px;color:var(--text-secondary);font-size:var(--text-headline);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.contacts-rank .ui-row__main{gap:var(--space-2)}.contacts-rank__line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.contacts-rank__name{font-weight:600}.contacts-rank__times{flex:none;color:var(--text-secondary);font-size:var(--text-subheadline);font-variant-numeric:tabular-nums}.contacts-share{position:relative;display:block;height:6px;overflow:hidden;border-radius:3px;background:var(--fill-tertiary)}.contacts-share__fill{position:absolute;top:0;bottom:0;left:0;width:max(6px,var(--share));border-radius:3px;background:var(--virtue-wave)}.contacts-count{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.contacts-strength{display:flex;flex-direction:column;gap:28px;padding:var(--space-3) 0 var(--space-6)}.contacts-strength__count{text-align:center}.contacts-strength__count p{margin:0}.contacts-strength__in{color:var(--text-secondary);font-size:var(--text-subheadline)}.contacts-strength__moments{margin-top:var(--space-1)!important;color:var(--virtue-text);font-size:var(--text-large-title);font-weight:700}.contacts-strength__none{font-size:var(--text-headline);font-weight:600}.contacts-qr{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-2) var(--space-6);text-align:center}.contacts-qr__code{display:block;width:min(280px,100%);height:auto;aspect-ratio:1;border-radius:20px}.contacts-qr__text{display:flex;flex-direction:column;gap:6px}.contacts-qr__name{margin:0;font-size:var(--text-title2);font-weight:700;overflow-wrap:anywhere}.contacts-qr__hint{margin:0;color:var(--text-secondary)}.contacts-qr__note{min-height:1.4em;margin:calc(-1 * var(--space-3)) 0 0;color:var(--text-secondary);font-size:var(--text-footnote);overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}
