.connection-status{z-index:10000;top:env(safe-area-inset-top,0px);color:#493814;text-align:center;background:#fff4d6;border:1px solid #c4a66d;border-radius:8px;width:max-content;max-width:calc(100% - 24px);padding:10px 14px;font-size:14px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:var(--page-bg);color:var(--text-on-dark);font-family:Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gray-400);outline-offset:2px}html,body,#root{color:var(--color-text-primary);background:var(--color-bg-canvas)}button,input,textarea,select{color-scheme:inherit}button{color:inherit}input,textarea,select{color:var(--color-text-primary)}:root select{color:var(--color-text-primary);background-color:var(--color-bg-input)}:root select option,:root select optgroup{color:var(--color-text-primary);background-color:var(--color-bg-surface-raised)}:root select option:disabled{color:var(--color-text-disabled)}:root[data-theme=dark] select{color:var(--color-text-primary);background-color:var(--color-bg-input);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light] select{color:var(--color-text-primary);background-color:var(--color-bg-input);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme] select option,:root[data-theme] select optgroup{color:var(--color-text-primary);background-color:var(--color-bg-surface-raised)}:root[data-theme] select option:disabled{color:var(--color-text-disabled)}button{transition:filter var(--duration-fast) ease, opacity var(--duration-fast) ease, transform var(--duration-fast) ease}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover{filter:var(--interaction-hover-filter)}}button:not(:disabled):active{filter:var(--interaction-active-filter);transform:translateY(1px)}button:disabled{opacity:var(--interaction-disabled-opacity)}button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){button{transition:none}}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-info-panel{min-height:260px;padding:34px 22px}.auth-info-content{gap:12px}.auth-info-panel h1{font-size:clamp(34px,11vw,52px)}.auth-info-panel p{font-size:15px}.auth-form-panel{padding:28px 18px 42px}.auth-form-card{padding:24px}}.ui-button,.ui-icon-button,.ui-chip,.ui-drag-handle,.ui-segmented-control button{appearance:none;color:inherit;font:inherit;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease, opacity var(--duration-fast) ease, transform var(--duration-fast) ease;cursor:pointer;border:0}.ui-button:focus-visible,.ui-icon-button:focus-visible,.ui-chip:focus-visible,.ui-drag-handle:focus-visible,.ui-segmented-control button:focus-visible,.ui-control:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.ui-button:disabled,.ui-icon-button:disabled,.ui-chip:disabled,.ui-drag-handle:disabled,.ui-segmented-control button:disabled,.ui-control:disabled{cursor:not-allowed;opacity:.5}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:42px;padding:0 var(--space-4);font-weight:800;display:inline-flex}.ui-button--sm{min-height:34px;padding-inline:var(--space-3);font-size:.82rem}.ui-button--lg{min-height:48px;padding-inline:var(--space-5)}.ui-button--primary{color:var(--color-action-primary-text);background:var(--color-action-primary-bg)}.ui-button--primary:hover{background:var(--color-action-primary-hover)}.ui-button--secondary{border:1px solid var(--color-border-default);color:var(--color-action-secondary-text);background:var(--color-action-secondary-bg)}.ui-button--secondary:hover{background:var(--color-action-secondary-hover)}.ui-button--ghost{color:var(--color-text-primary);background:0 0}.ui-button--ghost:hover{background:var(--color-action-ghost-hover)}.ui-button--danger{border:1px solid color-mix(in srgb, var(--color-status-danger) 45%, transparent);color:var(--color-status-danger);background:color-mix(in srgb, var(--color-status-danger) 12%, transparent)}.ui-button--danger:hover{background:color-mix(in srgb, var(--color-status-danger) 20%, transparent)}.ui-button:active,.ui-icon-button:active,.ui-chip:active,.ui-drag-handle:active{transform:translateY(1px)}.ui-button__spinner{border-radius:var(--radius-pill);border:2px solid;border-right-color:#0000;width:16px;height:16px;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-icon-button{border-radius:var(--radius-sm);background:var(--color-action-secondary-bg);place-items:center;width:40px;height:40px;font-size:1.2rem;display:inline-grid}.ui-icon-button:hover{background:var(--color-action-secondary-hover)}.ui-icon-button--sm{width:34px;height:34px}.ui-icon-button--lg{width:48px;height:48px}.ui-modal{z-index:var(--z-modal);padding:var(--space-5);background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.ui-modal__surface{border:1px solid var(--color-border-default);border-radius:var(--radius-xl);width:min(100%,680px);max-height:calc(100vh - 40px);color:var(--color-text-primary);background:var(--color-bg-surface-raised);box-shadow:var(--shadow-modal);overflow:auto}.ui-modal__surface--sm{max-width:480px}.ui-modal__surface--lg{max-width:920px}.ui-modal__header,.ui-modal__footer{align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.ui-modal__header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:flex-start}.ui-modal__header h2,.ui-modal__header p{margin:0}.ui-modal__header p{margin-top:var(--space-2);color:var(--color-text-secondary)}.ui-modal__body{padding:var(--space-5)}.ui-modal__footer{border-top:1px solid var(--color-border-subtle);justify-content:flex-end}.ui-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);color:var(--color-text-primary);background:var(--color-bg-surface);box-shadow:var(--shadow-card)}.ui-card--soft{background:var(--color-bg-surface-soft)}.ui-card--raised{background:var(--color-bg-surface-raised);box-shadow:var(--shadow-raised)}.ui-card--accent{border-inline-start:4px solid var(--entity-color,var(--color-entity-fallback));background:linear-gradient(135deg, color-mix(in srgb, var(--entity-color,var(--color-entity-fallback)) 7%, transparent), transparent 58%), var(--color-bg-surface)}.ui-card--danger{border-color:color-mix(in srgb, var(--color-status-danger) 35%, var(--color-border-subtle))}.ui-card--interactive{transition:border-color var(--duration-normal) ease, box-shadow var(--duration-normal) ease, transform var(--duration-normal) ease}.ui-card--interactive:hover{border-color:var(--color-border-default);box-shadow:var(--shadow-raised);transform:translateY(-1px)}.ui-form-field{gap:var(--space-2);display:grid}.ui-form-field__label{color:var(--color-text-primary);font-weight:800}.ui-form-field__label i{color:var(--color-status-danger);margin-left:3px}.ui-form-field small{color:var(--color-text-secondary)}.ui-form-field--error small{color:var(--color-status-danger)}.ui-control{box-sizing:border-box;border:1px solid var(--color-border-default);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-text-primary);background:var(--color-bg-input);color-scheme:inherit;font:inherit;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease;padding:10px 12px}.ui-control:hover{border-color:var(--color-border-strong)}.ui-control::placeholder{color:var(--color-text-disabled)}.ui-text-area{resize:vertical;min-height:100px}.ui-checkbox{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.ui-checkbox input{width:18px;height:18px;accent-color:var(--color-status-info);margin:2px 0 0}.ui-checkbox span{gap:3px;display:grid}.ui-checkbox small{color:var(--color-text-secondary)}.ui-badge{border-radius:var(--radius-pill);min-height:26px;color:var(--color-text-primary);background:var(--color-action-secondary-bg);align-items:center;padding:0 9px;font-size:.74rem;font-weight:800;display:inline-flex}.ui-badge--accent{border:1px solid color-mix(in srgb, var(--entity-color,var(--color-entity-fallback)) 60%, transparent);background:color-mix(in srgb, var(--entity-color,var(--color-entity-fallback)) 15%, var(--color-bg-surface))}.ui-badge--success{color:var(--color-status-success-text);background:color-mix(in srgb, var(--color-status-success) 12%, var(--color-bg-surface));border:1px solid color-mix(in srgb, var(--color-status-success) 24%, transparent)}.ui-badge--danger{color:var(--color-status-danger);background:color-mix(in srgb, var(--color-status-danger) 13%, transparent)}.ui-chip{border:1px solid color-mix(in srgb, var(--entity-color,var(--color-entity-fallback)) 50%, var(--color-border-subtle));border-radius:var(--radius-pill);min-height:32px;color:var(--color-text-primary);background:color-mix(in srgb, var(--entity-color,var(--color-entity-fallback)) 10%, var(--color-bg-surface));align-items:center;gap:7px;padding:0 11px;display:inline-flex}.ui-chip:hover,.ui-chip--selected{background:color-mix(in srgb, var(--entity-color,var(--color-entity-fallback)) 22%, var(--color-bg-surface))}.ui-chip i{border-radius:var(--radius-pill);background:var(--entity-color,var(--color-entity-fallback));width:8px;height:8px}.ui-segmented-control{box-sizing:border-box;justify-self:start;gap:var(--space-1);border:1px solid var(--color-border-default);border-radius:var(--radius-md);width:fit-content;min-width:0;max-width:100%;padding:var(--space-1);background:var(--color-action-ghost-hover);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:inline-grid}.ui-segmented-control>.ui-segmented-control__option{border-radius:var(--radius-sm);min-width:0;min-height:34px;padding:0 var(--space-3);box-shadow:none;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;margin:0;font-size:12px;font-weight:600;line-height:1.2;display:flex}.ui-segmented-control>.ui-segmented-control__option:hover{background:var(--color-action-ghost-hover)}.ui-segmented-control>.ui-segmented-control__option[aria-pressed=true]{color:var(--color-action-primary-text);background:var(--color-action-primary-bg)}.ui-drag-handle{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-action-secondary-bg);cursor:grab;touch-action:none;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.ui-drag-handle:hover{background:var(--color-action-secondary-hover)}.ui-drag-handle:active{cursor:grabbing}.ui-avatar-stack{align-items:center;display:flex}.ui-avatar-stack>*{border:2px solid var(--color-bg-surface);margin-left:-7px}.ui-avatar-stack>:first-child{margin-left:0}.ui-avatar-stack__remaining{border-radius:var(--radius-pill);width:30px;height:30px;color:var(--color-text-primary);background:var(--color-bg-surface-soft);place-items:center;font-size:.7rem;font-weight:800;display:grid}.ui-empty-state{justify-items:center;gap:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;display:grid}.ui-empty-state h2,.ui-empty-state p{margin:0}.ui-empty-state p{max-width:480px;color:var(--color-text-secondary)}.ui-empty-state__icon{font-size:2rem}.ui-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.ui-page-header p,.ui-page-header h1,.ui-page-header span{margin:0}.ui-page-header p{margin-bottom:var(--space-2);color:var(--entity-color,var(--color-text-secondary));letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:800}.ui-page-header h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1}.ui-page-header>div>span{margin-top:var(--space-3);color:var(--color-text-secondary);display:block}.ui-page-header__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=640px){.ui-modal{padding:var(--space-3);align-items:end}.ui-modal__surface{width:100%;max-height:calc(100vh - 24px)}.ui-modal__footer{flex-direction:column-reverse;align-items:stretch}.ui-page-header{flex-direction:column;align-items:stretch}.ui-page-header__actions{justify-content:stretch}.ui-page-header__actions>*{flex:1}}@media (prefers-reduced-motion:reduce){.ui-button,.ui-icon-button,.ui-chip,.ui-drag-handle,.ui-card--interactive,.ui-control{transition:none}.ui-button__spinner{animation-duration:1.4s}}.ui-back-button{box-sizing:border-box;width:fit-content;min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-pill);color:var(--color-text-primary);background:var(--color-action-secondary-bg);font:inherit;cursor:pointer;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, transform var(--duration-fast) ease;flex:none;justify-content:center;align-items:center;gap:6px;font-size:.88rem;font-weight:900;display:inline-flex}.ui-navigation-chevron{flex:none;width:20px;height:20px;line-height:1;display:block}.ui-back-button>.ui-navigation-chevron{width:18px;height:18px}.ui-back-button:hover{border-color:var(--color-border-strong);background:var(--color-action-secondary-hover)}.ui-back-button:active{transform:translateY(1px)}.ui-back-button:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.ui-color-swatch{appearance:none;box-sizing:border-box;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;flex:0 0 36px;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-grid}.ui-color-swatch>span{box-sizing:border-box;border:2px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--ui-color-swatch-value);width:28px;height:28px;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;display:block}.ui-color-swatch.is-selected>span{border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-bg-surface), 0 0 0 5px var(--color-border-focus)}.ui-color-swatch:hover:not(:disabled)>span{border-color:var(--color-border-strong);transform:scale(1.05)}.ui-color-swatch:active:not(:disabled)>span{transform:scale(.98)}.ui-color-swatch:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.ui-color-swatch:disabled{cursor:not-allowed;opacity:.5}.ui-color-swatch--sm{flex-basis:32px;width:32px;min-width:32px;height:32px;min-height:32px}.ui-color-swatch--sm>span{width:24px;height:24px}.ui-color-swatch--lg{flex-basis:40px;width:40px;min-width:40px;height:40px;min-height:40px}.ui-color-swatch--lg>span{width:30px;height:30px}@media (hover:none){.ui-color-swatch:hover:not(:disabled)>span{transform:none}}.ui-navigation-arrow-button{appearance:none;border:1px solid var(--color-border-default);border-radius:var(--radius-pill);width:40px;height:40px;color:var(--color-action-secondary-text);background:var(--color-action-secondary-bg);cursor:pointer;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;flex:none;place-items:center;padding:0;display:inline-grid}.ui-navigation-arrow-button svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block;overflow:visible}.ui-navigation-arrow-button--sm{width:36px;height:36px}.ui-navigation-arrow-button--sm svg{width:18px;height:18px}.ui-navigation-arrow-button--lg{width:48px;height:48px}.ui-navigation-arrow-button--lg svg{width:24px;height:24px}.ui-navigation-arrow-button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-action-secondary-hover);transform:translateY(-1px)}.ui-navigation-arrow-button:active:not(:disabled){transform:translateY(0)}.ui-navigation-arrow-button:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.ui-navigation-arrow-button:disabled{cursor:not-allowed;opacity:.5}@media (hover:none){.ui-navigation-arrow-button:hover:not(:disabled){transform:none}}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-canvas:#080d13;--color-bg-surface:#0d151e;--color-bg-surface-soft:#111c27;--color-bg-surface-raised:#14212c;--color-bg-surface-deep:#0a1118;--color-bg-input:#0b131b;--color-bg-overlay:#03080dc7;--color-text-primary:#f5f8fb;--color-text-secondary:#a9b5c2;--color-text-muted:#778595;--color-text-inverse:#081018;--color-text-disabled:#f5f8fb6b;--color-data-contrast:#171717;--color-border-default:#bccfe024;--color-border-subtle:#bccfe017;--color-border-strong:#bccfe03d;--color-border-focus:#91a6ba;--color-action-primary-bg:#e7eef5;--color-action-primary-text:#081018;--color-action-primary-hover:#fff;--color-action-secondary-bg:#bccfe01a;--color-action-secondary-hover:#bccfe029;--color-action-secondary-text:#f5f8fb;--color-action-ghost-hover:#bccfe014;--color-status-success:#10b981;--color-status-success-text:#b7dfc2;--color-status-warning:#f59e0b;--color-status-danger:#ef4444;--color-status-danger-text:#efb1ab;--color-status-info:#3b82f6;--color-entity-fallback:#64748b;--color-accent:#8d6bff;--color-accent-text:#c9baff;--color-accent-soft:#8d6bff29;--color-accent-soft-strong:#8d6bff3d;--color-fun-success:#63e67a;--color-fun-success-soft:#63e67a24;--color-fun-info:#59b5ff;--color-fun-info-soft:#59b5ff24;--color-fun-violet:#b17cff;--color-fun-violet-soft:#b17cff24;--color-fun-warning:#ffb24d;--color-fun-warning-soft:#ffb24d24;--color-fun-rose:#ff6d91;--color-fun-rose-soft:#ff6d9124;--color-fun-cyan:#52d8d1;--color-fun-cyan-soft:#52d8d124;--color-fun-sparkle:#ffc84d;--color-fun-fire:#ff765e;--color-fun-fire-soft:#ff765e29;--color-fun-dot-empty:#1c2a37;--color-fun-dot-highlight:#ffffff61;--shadow-card:0 12px 30px #00000038;--shadow-card-subtle:0 5px 16px #00000024;--shadow-raised:0 18px 44px #0000004d;--shadow-modal:0 28px 76px #00000075;--shadow-navigation:0 20px 50px #00000061;--shadow-sticker:0 6px 10px #0003;--interaction-hover-filter:brightness(1.08);--interaction-active-filter:brightness(.96);--interaction-disabled-opacity:.52}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-canvas:#f4f7fa;--color-bg-surface:#fff;--color-bg-surface-soft:#edf2f6;--color-bg-surface-raised:#f9fbfc;--color-bg-surface-deep:#e8eef3;--color-bg-input:#f7f9fb;--color-bg-overlay:#08101870;--color-text-primary:#101923;--color-text-secondary:#526171;--color-text-muted:#778595;--color-text-inverse:#f5f8fb;--color-text-disabled:#10192366;--color-data-contrast:#171717;--color-border-default:#1c304224;--color-border-subtle:#1c304214;--color-border-strong:#1c304238;--color-border-focus:#526a80;--color-action-primary-bg:#14212c;--color-action-primary-text:#f5f8fb;--color-action-primary-hover:#213240;--color-action-secondary-bg:#1c304214;--color-action-secondary-hover:#1c304221;--color-action-secondary-text:#101923;--color-action-ghost-hover:#1c304212;--color-status-success:#059669;--color-status-success-text:#067647;--color-status-warning:#b66b05;--color-status-danger:#dc2626;--color-status-danger-text:#b42318;--color-status-info:#2563eb;--color-entity-fallback:#64748b;--color-accent:#6749c4;--color-accent-text:#583bae;--color-accent-soft:#6749c41a;--color-accent-soft-strong:#6749c429;--color-fun-success:#1e9e4b;--color-fun-success-soft:#1e9e4b1c;--color-fun-info:#277fc5;--color-fun-info-soft:#277fc51c;--color-fun-violet:#7654c8;--color-fun-violet-soft:#7654c81c;--color-fun-warning:#b86d08;--color-fun-warning-soft:#b86d081c;--color-fun-rose:#c74468;--color-fun-rose-soft:#c744681c;--color-fun-cyan:#188e8a;--color-fun-cyan-soft:#188e8a1c;--color-fun-sparkle:#b37a00;--color-fun-fire:#d5503c;--color-fun-fire-soft:#d5503c1c;--color-fun-dot-empty:#dce5ec;--color-fun-dot-highlight:#ffffffb8;--shadow-card:0 10px 28px #1e324414;--shadow-card-subtle:0 4px 14px #1e32440f;--shadow-raised:0 18px 42px #1e32441f;--shadow-modal:0 28px 72px #1e324433;--shadow-navigation:0 20px 48px #1e324426;--shadow-sticker:0 6px 10px #1e32441f;--interaction-hover-filter:brightness(.98);--interaction-active-filter:brightness(.94);--interaction-disabled-opacity:.52}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:26px;--radius-card:26px;--radius-pill:999px;--duration-fast:.12s;--duration-normal:.18s;--duration-slow:.26s;--z-navigation:500;--z-popover:800;--z-modal:1100;--z-toast:1300;--bottom-nav-height:74px;--bottom-nav-offset:22px;--app-max-width:1180px;--mobile-app-width:430px;--color-neutral-0:#fff;--color-neutral-50:#f7fafc;--color-neutral-100:#edf2f6;--color-neutral-200:#dce5ec;--color-neutral-300:#c5d1dc;--color-neutral-400:#9aa9b7;--color-neutral-500:#778595;--color-neutral-600:#5b6978;--color-neutral-700:#3e4b58;--color-neutral-800:#263440;--color-neutral-900:#14212c;--color-neutral-950:#080d13;--color-entity-muted:#6b7280;--color-entity-warm-muted:#8b837d;--color-calendar-fallback:#8b776d;--color-challenge-fallback:#625e5a;--color-shared-task-fallback:#d8d1c8;--gradient-collection-hero:linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 8%, var(--color-bg-surface-deep)), var(--color-bg-surface-deep));--gradient-collection-pack:linear-gradient(90deg, color-mix(in srgb, var(--pack-soft) 32%, var(--color-bg-surface-raised)), var(--color-bg-surface-raised));--gradient-fun-banner:radial-gradient(circle at 18% 50%, var(--color-fun-fire-soft), transparent 38%), linear-gradient(135deg, var(--color-bg-surface-raised), var(--color-bg-surface-deep));--gradient-streak-footer:linear-gradient(90deg, color-mix(in srgb, var(--color-fun-sparkle) 5%, var(--color-bg-surface-raised)), var(--color-bg-surface-raised));--shadow-fun-glow:0 0 8px color-mix(in srgb, var(--color-fun-sparkle) 36%, transparent);--shadow-fun-fire:0 0 16px color-mix(in srgb, var(--color-fun-fire) 22%, transparent);--shadow-fun-text-glow:0 0 10px color-mix(in srgb, currentColor 28%, transparent);--bottom-nav-glass-bg:color-mix(in srgb, var(--color-bg-surface) 44%, transparent);--bottom-nav-glass-border:color-mix(in srgb, var(--color-border-strong) 62%, transparent);--bottom-nav-item-hover-bg:color-mix(in srgb, var(--color-bg-surface-raised) 26%, transparent);--bottom-nav-active-bg:color-mix(in srgb, var(--color-bg-surface-raised) 56%, transparent);--bottom-nav-active-border:color-mix(in srgb, var(--color-border-strong) 54%, transparent);--bottom-nav-icon-color:var(--color-text-primary);--bottom-nav-active-color:var(--color-text-primary);--bottom-nav-item-opacity:.78;--bottom-nav-glass-blur:24px;--bottom-nav-glass-saturation:135%;--fun-panel-grabber-space:8px;--fun-panel-grabber-offset:7px;--fun-panel-grabber-hit-width:72px;--fun-panel-grabber-hit-height:22px;--fun-panel-grabber-width:42px;--fun-panel-grabber-width-hover:50px;--fun-panel-grabber-height:5px;--fun-panel-grabber-color:var(--color-text-muted);--fun-panel-grabber-color-hover:var(--color-text-secondary);--color-neutral-alpha-025:color-mix(in srgb, var(--color-neutral-500) 2.5%, transparent);--color-neutral-alpha-04:color-mix(in srgb, var(--color-neutral-500) 4%, transparent);--color-neutral-alpha-05:color-mix(in srgb, var(--color-neutral-500) 5%, transparent);--color-neutral-alpha-06:color-mix(in srgb, var(--color-neutral-500) 6%, transparent);--color-neutral-alpha-07:color-mix(in srgb, var(--color-neutral-500) 7%, transparent);--color-neutral-alpha-08:color-mix(in srgb, var(--color-neutral-500) 8%, transparent);--color-neutral-alpha-09:color-mix(in srgb, var(--color-neutral-500) 9%, transparent);--color-neutral-alpha-11:color-mix(in srgb, var(--color-neutral-500) 11%, transparent);--color-neutral-alpha-12:color-mix(in srgb, var(--color-neutral-500) 12%, transparent);--color-neutral-alpha-14:color-mix(in srgb, var(--color-neutral-500) 14%, transparent);--color-neutral-alpha-15:color-mix(in srgb, var(--color-neutral-500) 15%, transparent);--color-neutral-alpha-16:color-mix(in srgb, var(--color-neutral-500) 16%, transparent);--color-neutral-alpha-18:color-mix(in srgb, var(--color-neutral-500) 18%, transparent);--color-neutral-alpha-20:color-mix(in srgb, var(--color-neutral-500) 20%, transparent);--color-neutral-alpha-22:color-mix(in srgb, var(--color-neutral-500) 22%, transparent);--color-neutral-alpha-24:color-mix(in srgb, var(--color-neutral-500) 24%, transparent);--color-neutral-alpha-25:color-mix(in srgb, var(--color-neutral-500) 25%, transparent);--color-neutral-alpha-26:color-mix(in srgb, var(--color-neutral-500) 26%, transparent);--color-neutral-alpha-28:color-mix(in srgb, var(--color-neutral-500) 28%, transparent);--color-neutral-alpha-30:color-mix(in srgb, var(--color-neutral-500) 30%, transparent);--color-neutral-alpha-35:color-mix(in srgb, var(--color-neutral-500) 35%, transparent);--color-neutral-alpha-50:color-mix(in srgb, var(--color-neutral-500) 50%, transparent);--color-surface-alpha-03:color-mix(in srgb, var(--color-neutral-0) 3%, transparent);--color-surface-alpha-035:color-mix(in srgb, var(--color-neutral-0) 3.5%, transparent);--color-surface-alpha-04:color-mix(in srgb, var(--color-neutral-0) 4%, transparent);--color-surface-alpha-05:color-mix(in srgb, var(--color-neutral-0) 5%, transparent);--color-shadow-alpha-008:color-mix(in srgb, var(--color-neutral-950) 8%, transparent);--color-shadow-alpha-01:color-mix(in srgb, var(--color-neutral-950) 10%, transparent);--color-shadow-alpha-012:color-mix(in srgb, var(--color-neutral-950) 12%, transparent);--color-shadow-alpha-024:color-mix(in srgb, var(--color-neutral-950) 24%, transparent);--color-shadow-alpha-025:color-mix(in srgb, var(--color-neutral-950) 25%, transparent);--color-shadow-alpha-028:color-mix(in srgb, var(--color-neutral-950) 28%, transparent);--color-shadow-alpha-03:color-mix(in srgb, var(--color-neutral-950) 30%, transparent);--color-shadow-alpha-048:color-mix(in srgb, var(--color-neutral-950) 48%, transparent);--color-shadow-alpha-05:color-mix(in srgb, var(--color-neutral-950) 50%, transparent);--shadow-card-color:var(--color-shadow-alpha-024);--shadow-raised-color:var(--color-shadow-alpha-028);--shadow-modal-color:color-mix(in srgb, var(--color-neutral-950) 42%, transparent);--shadow-navigation-color:color-mix(in srgb, var(--color-neutral-950) 34%, transparent);--black-900:var(--color-neutral-900);--gray-800:var(--color-neutral-800);--gray-700:var(--color-neutral-700);--gray-600:var(--color-neutral-600);--gray-500:var(--color-neutral-500);--gray-400:var(--color-neutral-400);--gray-300:var(--color-neutral-300);--gray-200:var(--color-neutral-200);--gray-100:var(--color-neutral-100);--white-50:var(--color-neutral-50);--page-bg:var(--color-bg-canvas);--app-bg:var(--color-bg-canvas);--surface-card:var(--color-bg-surface);--surface-card-soft:var(--color-bg-surface-soft);--surface-input:var(--color-bg-input);--text-on-dark:var(--color-text-primary);--text-on-light:var(--color-text-inverse);--text-primary:var(--color-text-primary);--text-muted:var(--color-text-secondary);--text-soft:var(--color-text-muted);--border-soft:var(--color-border-default);--border-subtle:var(--color-border-subtle);--border-dashed:var(--color-border-strong);--surface-transparent-soft:var(--color-action-ghost-hover);--surface-transparent:var(--color-action-secondary-bg);--surface-transparent-strong:var(--color-action-secondary-hover);--overlay-dark:var(--color-bg-overlay);--button-primary-bg:var(--color-action-primary-bg);--button-primary-text:var(--color-action-primary-text);--button-secondary-bg:var(--color-action-secondary-bg);--button-secondary-text:var(--color-action-secondary-text);--focus-color:var(--color-border-focus);--icon-muted:var(--color-text-muted);--bottom-nav-bg:color-mix(in srgb, var(--color-bg-surface) 96%, transparent);--surface-bottom-nav:var(--bottom-nav-bg);--surface-bottom-nav-active:var(--color-action-secondary-bg);--shadow-card-soft:var(--shadow-raised);--shadow-bottom-nav:var(--shadow-navigation);--auth-info-bg:var(--color-bg-surface-raised);--auth-card-bg:var(--color-bg-surface);--auth-text:var(--color-text-primary);--auth-muted:var(--color-text-secondary);--auth-input-border:var(--color-border-default);--auth-primary-bg:var(--color-action-primary-bg);--auth-disabled-bg:var(--color-text-disabled);--auth-secondary-bg:var(--color-action-secondary-bg);--auth-error-bg:color-mix(in srgb, var(--color-status-danger) 14%, var(--color-bg-surface));--auth-error-text:var(--color-status-danger);--auth-success-bg:color-mix(in srgb, var(--color-status-success) 14%, var(--color-bg-surface));--auth-success-text:var(--color-status-success);--shadow-auth-card:var(--shadow-card)}.dotboard-hero-logo{object-fit:contain;vertical-align:middle;background:0 0;border:0;border-radius:0;flex:0 0 44px;width:44px;height:44px;padding:0;display:inline-block}.auth-brand-label:has(.dotboard-hero-logo){align-items:center;gap:12px;display:inline-flex}.dotboard-brand-logo{box-sizing:border-box;object-fit:contain;vertical-align:middle;background:0 0;border-radius:0;flex:0 0 44px;width:44px;height:44px;padding:0;display:inline-block}.auth-brand-label,.legal-page__brand{align-items:center;gap:12px;display:inline-flex}.auth-page{box-sizing:border-box;background:var(--page-bg);width:100%;min-height:100vh;color:var(--text-on-dark);grid-template-columns:minmax(0,1fr) minmax(420px,1fr);display:grid}.auth-info-panel{box-sizing:border-box;background:var(--auth-info-bg);min-width:0;color:var(--text-on-dark);align-items:center;padding:56px;display:grid}.auth-info-content{gap:18px;width:min(100%,520px);display:grid}.auth-brand-label{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:14px;font-weight:900}.auth-info-panel h1{letter-spacing:-.06em;max-width:560px;margin:0;font-size:clamp(40px,6vw,76px);line-height:.95}.auth-info-panel p{max-width:440px;color:var(--text-soft);margin:0;font-size:17px;line-height:1.5}.auth-form-panel{box-sizing:border-box;place-items:center;min-width:0;padding:48px;display:grid}.auth-form-card{box-sizing:border-box;background:var(--auth-card-bg);width:min(100%,430px);color:var(--auth-text);border-radius:var(--radius-2xl);box-shadow:var(--shadow-auth-card);padding:32px}.auth-form-card h2{color:var(--auth-text);letter-spacing:-.03em;margin:0 0 18px;font-size:26px;line-height:1.1}.auth-form-card p{color:var(--auth-muted)}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-info-panel{min-height:260px;padding:34px 22px}.auth-info-content{gap:12px}.auth-info-panel h1{font-size:clamp(34px,11vw,52px)}.auth-info-panel p{font-size:15px}.auth-form-panel{padding:28px 18px 42px}.auth-form-card{padding:24px}}.auth-form-column{width:min(100%,430px)}.auth-legal-links{justify-content:center;gap:18px;margin-top:18px;display:flex}.auth-legal-links a{color:var(--text-soft);font-size:13px;font-weight:800;text-decoration:none}.auth-legal-links a:hover{text-underline-offset:3px;text-decoration:underline}.auth-form-card form{gap:16px;display:grid}.auth-form-card label{color:var(--auth-text);gap:6px;font-size:14px;font-weight:800;display:grid}.auth-form-card .login-remember-choice{align-items:center;gap:10px;margin:0 0 16px;font-weight:600;display:flex}.auth-form-card .login-remember-choice input{width:18px;min-width:18px;height:18px;margin:0;padding:0}.auth-form-card input,.auth-form-card select{box-sizing:border-box;border:1px solid var(--auth-input-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);width:100%;min-width:0;color:var(--auth-text);padding:12px 14px;font-size:16px}.auth-form-card input:focus,.auth-form-card select:focus{outline:3px solid color-mix(in srgb, var(--color-status-info) 22%, transparent);outline-offset:1px;border-color:var(--auth-primary-bg)}.auth-form-card form button,.auth-form-card .action-stack button,.auth-form-card>div>button{box-sizing:border-box;border-radius:var(--radius-sm);background:var(--auth-primary-bg);width:100%;min-height:44px;color:var(--color-neutral-0);cursor:pointer;border:0;padding:12px 16px;font-size:15px;font-weight:900}.auth-form-card form button:disabled,.auth-form-card .action-stack button:disabled,.auth-form-card>div>button:disabled{background:var(--auth-disabled-bg);cursor:not-allowed}.auth-form-card form button[type=button],.auth-form-card .action-stack button[type=button],.auth-form-card>div>button[type=button]{background:var(--auth-secondary-bg);color:var(--auth-text)}.auth-form-card form button.link-button,.auth-form-card button.link-button{appearance:none;width:auto;min-height:0;color:var(--auth-primary-bg);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:center;padding:4px;font-size:14px;font-weight:900}.auth-form-card form button.link-button:disabled,.auth-form-card button.link-button:disabled{color:var(--auth-disabled-bg);background:0 0}.auth-form-card .form-help{color:var(--auth-muted);margin-top:-8px;margin-bottom:20px;font-size:14px;line-height:1.4}.auth-form-card .form-error{border-radius:var(--radius-md);background:var(--auth-error-bg);color:var(--auth-error-text);margin-top:18px;padding:14px 16px;font-size:14px;line-height:1.4}.auth-form-card .form-error strong{margin-bottom:8px;display:block}.auth-form-card .form-error ul{margin:0;padding-left:20px}.auth-form-card .form-error li{margin-bottom:4px}.auth-form-card .form-success{border-radius:var(--radius-md);background:var(--auth-success-bg);color:var(--auth-success-text);margin-top:18px;padding:14px 16px;font-size:14px;line-height:1.4}.auth-form-card .form-success+button{margin-top:16px}.auth-form-card .form-error .error-action{width:auto;color:var(--auth-error-text);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;margin-top:10px;padding:0;font-weight:800;text-decoration:underline;display:inline-flex}.auth-form-card .form-success+.action-stack{margin-top:16px}.auth-form-card .action-stack{gap:12px;display:grid}.auth-form-card .access-gate-action{box-sizing:border-box;border-radius:var(--radius-sm);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 16px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.auth-form-card .access-gate-action--primary{background:var(--auth-primary-bg);color:var(--button-primary-text)}.auth-form-card .access-gate-action--secondary{border-color:var(--auth-input-border);color:var(--auth-text);background:0 0}.auth-form-card .access-gate-utilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.auth-form-card .action-stack .access-gate-utility[type=button]{border:1px solid var(--auth-input-border);min-height:44px;color:var(--auth-muted);background:0 0;padding:8px;font-weight:700}.auth-form-card .access-gate-action:focus-visible,.auth-form-card .access-gate-utility:focus-visible{outline:3px solid var(--auth-primary-bg);outline-offset:2px}.auth-form-card .localized-date-input{border:0;min-width:0;margin:0;padding:0}.auth-form-card .localized-date-input legend{color:var(--auth-text);margin-bottom:6px;padding:0;font-size:14px;font-weight:800}.auth-form-card .localized-date-input__fields{grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr) auto minmax(96px,1.25fr);align-items:center;gap:8px;display:grid}.auth-form-card .localized-date-input select{border:1px solid var(--auth-input-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);width:100%;min-width:0;color:var(--auth-text);padding:12px 10px;font-size:16px;font-weight:800}.auth-form-card .localized-date-input__fields>span{color:var(--auth-muted);font-weight:800}.auth-form-card .legal-agreement{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin-bottom:18px;font-weight:600;line-height:1.45}.auth-form-card .legal-agreement input{width:18px;height:18px;accent-color:var(--auth-primary-bg);margin:2px 0 0}.auth-form-card .legal-agreement a{color:var(--auth-primary-bg);font-weight:800}.bottom-nav{z-index:100;border:1px solid var(--bottom-nav-glass-border);background:var(--bottom-nav-glass-bg);width:min(700px,100% - 32px);box-shadow:var(--shadow-bottom-nav);-webkit-backdrop-filter:blur(var(--bottom-nav-glass-blur)) saturate(var(--bottom-nav-glass-saturation));border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.bottom-nav-item{-webkit-tap-highlight-color:transparent;min-width:0;min-height:58px;color:var(--bottom-nav-icon-color);opacity:var(--bottom-nav-item-opacity);transition:opacity var(--duration-fast) ease, background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;border:1px solid #0000;border-radius:999px;align-content:center;place-items:center;gap:5px;text-decoration:none;display:grid}.bottom-nav-item:hover{opacity:1;background:var(--bottom-nav-item-hover-bg)}.bottom-nav-item:active{transform:translateY(1px)}.bottom-nav-item:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:2px}.bottom-nav-item.active{border-color:var(--bottom-nav-active-border);background:var(--bottom-nav-active-bg);color:var(--bottom-nav-active-color);opacity:1}.nav-label{font-size:.72rem;font-weight:700}.nav-icon{place-items:center;width:28px;height:28px;display:grid}.nav-icon svg{width:100%;height:100%;display:block}@media (width<=560px){.bottom-nav{width:calc(100% - 20px);padding:6px;bottom:10px}.bottom-nav-item{min-height:54px}.nav-label{font-size:.66rem}.nav-icon{width:25px;height:25px}}.user-avatar{box-sizing:border-box;border:2px solid var(--surface-card,var(--color-bg-surface-raised));background:var(--color-border-default);color:var(--text-on-dark,var(--color-text-primary));text-align:center;vertical-align:middle;border-radius:50%;flex:none;place-items:center;font-weight:900;line-height:1;display:inline-grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%;display:block}.user-avatar:not(:has(img)){place-content:center}.user-avatar-xs{width:20px;height:20px;font-size:8px}.user-avatar-sm{width:28px;height:28px;font-size:10px}.user-avatar-md{width:42px;height:42px;font-size:14px}.user-avatar-lg{width:96px;height:96px;font-size:30px}.reminder-editor{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);color:var(--color-text-primary);background:var(--color-bg-surface);gap:10px;margin:0;padding:12px;display:grid}.reminder-editor legend{padding:0 6px;font-weight:800}.reminder-editor__row{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.reminder-editor select,.reminder-editor button{min-height:40px}.reminder-editor select{border:1px solid var(--color-border-default);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);background:var(--color-bg-input);padding:0 10px}.reminder-editor button{border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-action-secondary-bg);font:inherit;cursor:pointer;transition:transform var(--duration-fast) ease, background var(--duration-fast) ease, border-color var(--duration-fast) ease;font-weight:700}.reminder-editor button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-action-secondary-hover);transform:translateY(-1px)}.reminder-editor button:disabled{cursor:default;opacity:.48}.reminder-editor__add{justify-self:start;padding:0 14px}.reminder-editor small{color:var(--color-text-secondary)}@media (width<=480px){.reminder-editor__add{width:100%}}.app-shell{box-sizing:border-box;background:var(--page-bg);width:100%;max-width:100%;min-height:100vh;color:var(--text-on-dark);padding:24px 16px 132px;overflow-x:hidden}.app-shell-no-header{padding-top:14px}.app-shell-no-bottom-nav{padding-bottom:18px}.app-header{box-sizing:border-box;width:100%;max-width:var(--app-max-width);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin:0 auto 24px;display:grid}.month-button{border:1px solid var(--border-soft);background:var(--button-primary-bg);min-width:0;max-width:100%;color:var(--button-primary-text);font:inherit;white-space:nowrap;cursor:default;border-radius:18px;grid-column:2;justify-self:center;padding:12px 22px;font-size:18px;font-weight:800;line-height:1.2}.month-arrow{display:none}.month-arrow-left{grid-area:1/1;justify-self:start}.month-arrow-right{grid-area:1/3;justify-self:end}.app-content{box-sizing:border-box;width:100%;max-width:var(--app-max-width);min-width:0;margin:0 auto;overflow-x:hidden}@media (width>=760px){.app-shell{padding:28px 28px 150px}.app-shell-no-header{padding-top:22px}.app-shell-no-bottom-nav{padding-bottom:28px}.month-arrow{place-items:center;display:grid}}.page-loading-state{width:100%;min-width:0}.page-loading-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-loading-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.page-loading-card{box-sizing:border-box;border:1px solid var(--border-subtle);background:var(--surface-card);min-width:0;box-shadow:var(--shadow-card);border-radius:18px;gap:10px;padding:10px;animation:1.35s ease-in-out infinite page-loading-pulse;display:grid}.page-loading-heading{background:var(--surface-transparent-soft);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px;display:grid}.page-loading-avatar{background:var(--surface-transparent-strong);border-radius:50%;width:34px;height:34px}.page-loading-heading-copy{gap:6px;min-width:0;display:grid}.page-loading-line{border-radius:var(--radius-pill);background:var(--surface-transparent-strong);height:8px;display:block}.page-loading-line-title{width:72%}.page-loading-line-small{width:46%;height:6px}.page-loading-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.page-loading-month span{aspect-ratio:1;background:var(--surface-transparent-soft);border-radius:5px}.page-loading-state-shared-board .page-loading-card{grid-column:span 2}.page-loading-state-group .page-loading-month span{border-radius:50%}.page-loading-state-profile .page-loading-grid{grid-template-columns:1fr}.page-loading-state-profile{max-width:820px;margin-inline:auto}.page-loading-state-profile .page-loading-card{min-height:222px}.page-loading-profile-rows{gap:9px;display:grid}.page-loading-profile-rows span{background:var(--surface-transparent-soft);border-radius:10px;height:38px}@keyframes page-loading-pulse{0%,to{opacity:.46}50%{opacity:.82}}@media (width>=760px){.page-loading-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.page-loading-state-calendar .page-loading-card,.page-loading-state-group .page-loading-card{grid-column:span 1}.page-loading-state-shared-board .page-loading-card{grid-column:span 2}}@media (prefers-reduced-motion:reduce){.page-loading-card{opacity:.68;animation:none}}.friendly-error-page{background:var(--color-bg-canvas);min-height:100dvh;color:var(--color-text-primary);text-align:center;align-content:center;justify-items:center;gap:16px;padding:24px;display:grid}.friendly-error-page h1,.friendly-error-page p{margin:0}.friendly-error-page p{color:var(--color-text-secondary)}.friendly-error-page button{border:1px solid var(--color-border-default);background:var(--color-action-secondary-bg);color:var(--color-text-primary);font:inherit;border-radius:9px;padding:10px 18px}
