:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;min-width:320px;min-height:100vh;min-height:100dvh}#root{width:100%}:root{--spacing-unit: 8px;--spacing-xs: calc(var(--spacing-unit) * .5);--spacing-sm: var(--spacing-unit);--spacing-md: calc(var(--spacing-unit) * 2);--spacing-lg: calc(var(--spacing-unit) * 3);--spacing-xl: calc(var(--spacing-unit) * 4);--spacing-2xl: calc(var(--spacing-unit) * 5);--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--screen-xs: 320px;--screen-sm: 375px;--screen-md: 414px;--screen-lg: 768px;--emoji-size-sm: 28px;--emoji-size-md: 36px;--emoji-size-lg: 48px;--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--icon-size-xl: 32px;--button-height-sm: 36px;--button-height-md: 44px;--button-height-lg: 52px;--card-radius: 12px;--button-radius: 10px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-nav: 1055;--z-popover: 1060;--z-tooltip: 1070;--z-splash: 9999;--transition-fast: .15s;--transition-base: .25s;--transition-slow: .35s;--transition-slower: .5s;--border-thin: 1px;--border-normal: 2px;--border-thick: 3px;--safe-area-top: env(safe-area-inset-top, 12px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--scroll-fade-height: 20px;--nav-height: 56px;--content-max-width: 428px;--content-padding: var(--spacing-md)}[data-theme=light],:root{--bg-primary: #efebe3;--bg-block: #f5f0e8;--bg-surface: #ffffff;--bg-surface-hover: #fafaf8;--bg-surface-variant: #f5f5f7;--text-primary: #2c2c2c;--text-secondary: #6b6b6b;--text-tertiary: #9a9a9a;--border-subtle: #e5e0d8;--border-normal: #d4cfc7;--border-accent: #bea98e;--gold-lightest: #e8dcc8;--gold-light: #d4c4a8;--gold-base: #bea98e;--gold-medium: #a68968;--gold-dark: #8d745a;--accent-primary: #a68968;--accent-hover: #8d745a;--accent-light: #bea98e;--accent-bg: #faf7f0;--button-primary-bg: #d4c4a8;--button-primary-text: #8d745a;--button-primary-hover-bg: #bea98e;--button-border: #bea98e;--button-action-text: #8d745a;--modal-overlay-bg: rgba(0, 0, 0, .6);--modal-bg: #ffffff;--modal-close-bg: var(--accent-bg);--modal-close-hover-bg: var(--button-primary-bg);--modal-close-color: var(--text-primary);--modal-close-hover-color: var(--button-primary-text);--modal-input-bg: #f5f0e8;--modal-input-border: #d4cfc7;--modal-input-focus-border: #bea98e;--modal-input-text: #2c2c2c;--modal-input-placeholder: #9a9a9a;--modal-button-cancel-bg: transparent;--modal-button-cancel-border: #d4cfc7;--modal-button-cancel-text: #2c2c2c;--modal-button-cancel-hover-bg: #faf7f0;--modal-button-cancel-hover-border: #bea98e;--icon-primary: #6b6b6b;--icon-accent: #a68968;--primary-gradient: linear-gradient(135deg, #d4c4a8 0%, #bea98e 100%);--accent-gradient: linear-gradient(135deg, #bea98e 0%, #a68968 100%);--surface-gradient: linear-gradient(135deg, #ffffff 0%, #fafaf8 100%);--warning-bg: #fff3cd;--warning-border: #ffc107;--warning-text: #856404;--danger-bg: #dc3545;--danger-hover: #c82333;--danger-text: #ffffff;--danger-color: #dc3545;--success-bg: #28a745;--success-hover: #218838;--success-text: #ffffff;--info-bg: #e7f3ff;--info-border: #b3d9ff;--info-text: #004085;--shadow-xs: 0 1px 2px rgba(44, 44, 44, .08);--shadow-sm: 0 2px 4px rgba(44, 44, 44, .12);--shadow-md: 0 4px 8px rgba(44, 44, 44, .16);--shadow-lg: 0 8px 16px rgba(44, 44, 44, .2);--shadow-xl: 0 12px 24px rgba(44, 44, 44, .24);--surface-color: #ffffff;--surface-variant: #f5f5f7;--on-surface: #2c2c2c;--on-surface-variant: #6b6b6b;--color-primary: #a68968;--color-primary-light: #bea98e;--color-primary-dark: #8d745a;--border-color: #d4cfc7}[data-theme=dark]{--bg-primary: #2c2c2c;--bg-block: #363636;--bg-surface: #484848;--bg-surface-hover: #525252;--bg-surface-variant: #3d3d3d;--text-primary: #e8e8e8;--text-secondary: #9a9a9a;--text-tertiary: #6b6b6b;--border-subtle: #3d3d3d;--border-normal: #4a4a4a;--border-accent: #bea98e;--gold-lightest: #d4c4a8;--gold-light: #bea98e;--gold-base: #a68968;--gold-medium: #8d745a;--gold-dark: #75624a;--accent-primary: #bea98e;--accent-hover: #d4c4a8;--accent-light: #a68968;--accent-bg: #3d3d3d;--button-primary-bg: #c9a96e;--button-primary-text: #2c2c2c;--button-primary-hover-bg: #bea98e;--button-border: #c9a96e;--button-action-text: #e8e8e8;--icon-primary: #9a9a9a;--icon-accent: #bea98e;--modal-overlay-bg: rgba(0, 0, 0, .7);--modal-bg: #484848;--modal-close-bg: rgba(190, 169, 142, .15);--modal-close-hover-bg: var(--accent-primary);--modal-close-color: var(--text-primary);--modal-close-hover-color: var(--bg-primary);--modal-input-bg: #3d3d3d;--modal-input-border: #4a4a4a;--modal-input-focus-border: #bea98e;--modal-input-text: #e8e8e8;--modal-input-placeholder: #6b6b6b;--modal-button-cancel-bg: transparent;--modal-button-cancel-border: #4a4a4a;--modal-button-cancel-text: #e8e8e8;--modal-button-cancel-hover-bg: rgba(190, 169, 142, .1);--modal-button-cancel-hover-border: #bea98e;--primary-gradient: linear-gradient(135deg, #c9a96e 0%, #bea98e 100%);--accent-gradient: linear-gradient(135deg, #bea98e 0%, #a68968 100%);--surface-gradient: linear-gradient(135deg, #484848 0%, #3d3d3d 100%);--warning-bg: rgba(255, 193, 7, .15);--warning-border: rgba(255, 193, 7, .3);--warning-text: #ffc107;--danger-bg: #dc3545;--danger-hover: #c82333;--danger-text: #ffffff;--danger-color: #ff6b6b;--success-bg: #28a745;--success-hover: #218838;--success-text: #ffffff;--info-bg: rgba(231, 243, 255, .1);--info-border: rgba(179, 217, 255, .2);--info-text: #64b5f6;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .6);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .7);--surface-color: #484848;--surface-variant: #3d3d3d;--on-surface: #e8e8e8;--on-surface-variant: #9a9a9a;--color-primary: #bea98e;--color-primary-light: #d4c4a8;--color-primary-dark: #a68968;--border-color: #4a4a4a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary: #2c2c2c;--bg-block: #363636;--bg-surface: #484848;--bg-surface-hover: #525252;--bg-surface-variant: #3d3d3d;--text-primary: #e8e8e8;--text-secondary: #9a9a9a;--text-tertiary: #6b6b6b;--border-subtle: #3d3d3d;--border-normal: #4a4a4a;--border-accent: #bea98e;--accent-primary: #bea98e;--accent-hover: #d4c4a8;--accent-light: #a68968;--accent-bg: #3d3d3d;--button-primary-bg: #c9a96e;--button-primary-text: #2c2c2c;--button-primary-hover-bg: #bea98e;--button-border: #c9a96e;--button-action-text: #e8e8e8;--icon-primary: #9a9a9a;--icon-accent: #bea98e;--modal-overlay-bg: rgba(0, 0, 0, .7);--modal-bg: #484848;--modal-input-bg: #3d3d3d;--modal-input-border: #4a4a4a;--modal-input-text: #e8e8e8;--primary-gradient: linear-gradient(135deg, #c9a96e 0%, #bea98e 100%);--accent-gradient: linear-gradient(135deg, #bea98e 0%, #a68968 100%);--surface-gradient: linear-gradient(135deg, #484848 0%, #3d3d3d 100%);--surface-color: #484848;--surface-variant: #3d3d3d;--on-surface: #e8e8e8;--on-surface-variant: #9a9a9a;--color-primary: #bea98e;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .6);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .7)}}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-md);animation:fadeIn .2s ease-in-out}.modal-wrapper{position:relative;width:100%;max-width:500px;max-height:85vh;display:flex;flex-direction:column}.modal-content{position:relative;background:var(--modal-bg);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);padding-top:calc(var(--spacing-xl) + 40px);width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.modal-close{position:absolute;top:16px;right:16px;min-width:44px;height:44px;padding:0 var(--spacing-md);background:var(--button-primary-bg);color:var(--button-primary-text);border:var(--border-normal) solid var(--button-border);border-radius:var(--button-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);transition:all .2s ease;z-index:10;box-shadow:var(--shadow-sm)}.modal-close:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal-close:active{transform:translateY(0) scale(.98)}.modal-close:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:375px){.modal-content{max-width:95%;padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + 40px)}}.practices-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.practice-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-surface-variant);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.practice-item:hover{background:var(--accent-bg);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.practice-item:active{transform:translateY(0)}.practice-emoji{font-size:var(--font-size-3xl);flex-shrink:0}.practice-info{flex:1;min-width:0}.practice-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.practice-description{font-size:var(--font-size-sm);color:var(--text-secondary)}.practice-arrow{font-size:var(--font-size-xl);color:var(--accent-primary);flex-shrink:0}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-lg);text-align:center;line-height:1.3}.modal-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-lg);line-height:1.5}.modal-textarea,.modal-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;line-height:1.6;color:var(--modal-input-text);background:var(--modal-input-bg);border:var(--border-normal) solid var(--modal-input-border);border-radius:var(--border-radius-md);transition:border-color .2s ease}.modal-textarea{min-height:200px;resize:vertical}.modal-input{height:44px}.modal-textarea::placeholder,.modal-input::placeholder{color:var(--modal-input-placeholder)}.modal-textarea:focus,.modal-input:focus{outline:none;border-color:var(--modal-input-focus-border);box-shadow:0 0 0 3px #bea98e1a}.modal-textarea:disabled,.modal-input:disabled{opacity:.6;cursor:not-allowed}.modal-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-button-primary{width:100%;padding:var(--spacing-md);background:var(--button-primary-bg);color:var(--button-primary-text);border:var(--border-normal) solid var(--button-border);border-radius:var(--button-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.modal-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal-button-primary:active:not(:disabled){transform:translateY(0)}.modal-button-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-button-cancel{width:100%;padding:var(--spacing-md);background:var(--modal-button-cancel-bg);color:var(--modal-button-cancel-text);border:var(--border-normal) solid var(--modal-button-cancel-border);border-radius:var(--button-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.modal-button-cancel:hover:not(:disabled){background:var(--modal-button-cancel-hover-bg);border-color:var(--modal-button-cancel-hover-border);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.modal-button-cancel:active:not(:disabled){transform:translateY(0)}.modal-button-cancel:disabled{opacity:.5;cursor:not-allowed}.modal-button-delete{width:100%;padding:var(--spacing-md);background:var(--modal-button-cancel-bg);color:var(--danger-bg);border:var(--border-normal) solid var(--danger-bg);border-radius:var(--button-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.modal-button-delete:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-text);transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.modal-button-delete:active:not(:disabled){transform:translateY(0)}.modal-button-delete:disabled{opacity:.5;cursor:not-allowed}.modal-field{margin-bottom:var(--spacing-md)}.modal-char-counter{text-align:right;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-xs)}.modal-char-counter.invalid{color:var(--danger-bg)}.modal-error-message{padding:var(--spacing-sm);background:var(--danger-bg);color:var(--danger-text);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.modal-date-display{font-size:var(--font-size-base);color:var(--text-secondary);text-align:center;padding:var(--spacing-sm);background:var(--modal-input-bg);border:var(--border-thin) solid var(--modal-input-border);border-radius:var(--button-radius);margin-bottom:var(--spacing-lg)}.modal-content-text{white-space:pre-wrap;line-height:1.6;color:var(--text-primary);font-size:var(--font-size-base);margin:var(--spacing-lg) 0}.survey-invite-privacy{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-md)}.modal-document-viewer{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;line-height:1.6;color:var(--modal-input-text);background:var(--modal-input-bg);border:var(--border-normal) solid var(--modal-input-border);border-radius:var(--border-radius-md);min-height:200px;max-height:60vh;overflow-y:auto;white-space:pre-wrap}.modal-error-text{font-size:var(--font-size-base);color:var(--danger-bg);text-align:center;margin-bottom:var(--spacing-lg);line-height:1.5}.faq-answers{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-md);background:var(--modal-input-bg);border-radius:var(--border-radius-md);border:var(--border-thin) solid var(--modal-input-border)}.faq-qa-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.faq-question{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.4}.faq-answer{font-weight:var(--font-weight-normal);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.faq-hint{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--info-bg);border:var(--border-thin) solid var(--info-border);border-radius:var(--border-radius-md);margin-top:var(--spacing-lg)}.faq-hint-emoji{font-size:var(--font-size-xl);line-height:1}.faq-hint-text{margin:0;font-size:var(--font-size-sm);color:var(--info-text);line-height:1.4}@media(max-width:480px){.modal-textarea{min-height:160px}.modal-button-primary,.modal-button-cancel,.modal-button-delete{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.faq-answers,.faq-hint{padding:var(--spacing-sm)}}.diary-checkbox{accent-color:var(--accent-primary);width:var(--icon-size-lg);height:var(--icon-size-lg);cursor:pointer;vertical-align:middle;border-radius:var(--border-radius-sm);transition:filter var(--transition-fast) ease}.diary-checkbox:focus-visible{outline:2px solid var(--border-accent);outline-offset:2px}.diary-checkbox[disabled]{cursor:not-allowed;filter:opacity(.5)}.selection-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.selection-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-surface-variant);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.selection-item:hover{background:var(--accent-bg);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.selection-item:active{transform:translateY(0)}.selection-item-emoji{font-size:var(--font-size-3xl);flex-shrink:0;min-width:40px;text-align:center}.selection-item-info{flex:1;min-width:0}.selection-item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.selection-item-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.selection-item-arrow{font-size:var(--font-size-xl);color:var(--accent-primary);flex-shrink:0;min-width:24px;text-align:center}.selection-item-no-arrow{justify-content:flex-start}.selection-checkbox-wrapper{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-surface-variant);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;margin-bottom:var(--spacing-sm)}.selection-checkbox-wrapper:hover{background:var(--accent-bg);border-color:var(--border-accent)}.selection-checkbox-wrapper input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0;margin-top:2px}.selection-checkbox-label{flex:1;cursor:pointer}.selection-checkbox-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.selection-checkbox-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.plan-description-block{background:var(--accent-bg);border:var(--border-thin) solid var(--border-accent);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.plan-description-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.plan-features-list{list-style:none;padding:0;margin:0}.plan-features-list li{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-xs) 0;line-height:1.5}.comparison-features-list{list-style:none;padding:0;margin:0}.comparison-feature-item{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-xs) 0;line-height:1.5}@media(max-width:480px){.selection-item{padding:var(--spacing-sm) var(--spacing-md)}.selection-item-emoji{font-size:var(--font-size-2xl);min-width:32px}.selection-item-name{font-size:var(--font-size-sm)}.selection-item-description{font-size:var(--font-size-xs)}}.card-item{background:var(--accent-bg);border:var(--border-normal) solid var(--border-subtle);border-radius:var(--border-radius-lg);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);padding:var(--spacing-sm)}.card-item.selected{border:var(--border-normal) solid var(--border-accent);background:var(--accent-bg);transform:scale(1.05);box-shadow:var(--shadow-md)}.card-item:hover{border-color:var(--border-normal);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-item:active{transform:scale(.95)}.card-item-emoji{font-size:var(--emoji-size-md);margin-bottom:var(--spacing-xs);line-height:1}.card-item-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);text-align:center}@media(max-width:375px){.card-item-emoji{font-size:24px}.card-item-label{font-size:11px}}.mood-selector--grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--spacing-xs);align-items:stretch}.card-item--mood{height:clamp(64px,12vw,96px)}.card-item--mood .card-item-emoji{font-size:clamp(22px,5.8vw,36px)}.card-item--mood .card-item-label{font-size:clamp(10px,2.6vw,13px)}@media(max-width:360px){.mood-selector--grid{gap:var(--spacing-xxs)}}@keyframes planCardPulse{0%,to{border-color:var(--border-subtle);box-shadow:0 0 #bea98e00}50%{border-color:var(--accent-primary);box-shadow:0 0 0 4px #bea98e1a}}.plan-card-clickable{cursor:pointer;animation:planCardPulse 3s ease-in-out infinite;transition:all .2s ease;border:var(--border-thin) solid var(--border-subtle);border-radius:12px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.plan-card-clickable:hover{transform:translateY(-2px);border-color:var(--accent-primary);box-shadow:var(--shadow-md);animation:none}.plan-card-clickable:active{transform:translateY(0)}.chat-screen{display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:var(--bg-primary);overflow:hidden}.chat-header{display:flex;align-items:center;padding:var(--spacing-md);background:var(--bg-block);border-bottom:var(--border-thin) solid var(--border-subtle);min-height:60px}.chat-header-back{background:none;border:none;color:var(--text-primary);font-size:var(--icon-size-lg);cursor:pointer;padding:var(--spacing-sm);margin-right:var(--spacing-sm);transition:opacity var(--transition-fast)}.chat-header-back:hover{opacity:.7}.chat-header-info{flex:1}.chat-header-topic{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.chat-header-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:2px 0 0}.topic-selector{flex:1;overflow-y:auto;padding:var(--spacing-md)}.topic-selector-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-lg);text-align:center}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md);max-width:600px;margin:0 auto}.topic-card{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--card-radius);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center}.topic-card:hover{background:var(--bg-surface-hover);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.topic-card-icon{font-size:48px;line-height:1}.topic-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.topic-card-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0;line-height:1.4}.chat-messages{flex:1 1 0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.chat-message{display:flex;gap:var(--spacing-sm);max-width:80%;animation:messageSlideIn var(--transition-base) ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant{align-self:flex-start}.chat-message-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-md)}.chat-message.user .chat-message-avatar{background:var(--button-primary-bg)}.chat-message-bubble{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle)}.chat-message.user .chat-message-bubble{background:var(--button-primary-bg);border-color:var(--button-border)}.chat-message-text{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;margin:0;word-wrap:break-word}.chat-message.user .chat-message-text{color:var(--button-primary-text)}.md-content{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;word-wrap:break-word}.md-content p{margin:0 0 .5em}.md-content p:last-child{margin-bottom:0}.md-content strong{font-weight:600}.md-content .md-heading{font-weight:600;margin:.6em 0 .3em}.md-content h1.md-heading{font-size:1.15em}.md-content h2.md-heading{font-size:1.1em}.md-content h3.md-heading{font-size:1.05em}.md-content .md-list{margin:.3em 0;padding-left:1.4em}.md-content .md-list li{margin-bottom:.2em}.md-content .md-code-block{background:var(--bg-secondary, #f5f5f5);border-radius:8px;padding:10px 12px;margin:.4em 0;overflow-x:auto;font-size:.88em;line-height:1.4}.md-content .md-code-block code{font-family:SF Mono,Menlo,Consolas,monospace}.md-content .md-inline-code{background:var(--bg-secondary, #f5f5f5);padding:1px 5px;border-radius:4px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.9em}.md-content .md-blockquote{border-left:3px solid var(--border-subtle, #ddd);padding-left:10px;margin:.4em 0;color:var(--text-secondary);font-style:italic}.md-content a{color:var(--tg-theme-link-color, #3390ec);text-decoration:none}.chat-message.user .md-content{color:var(--button-primary-text)}.chat-message.user .md-content .md-inline-code,.chat-message.user .md-content .md-code-block{background:#ffffff26}.chat-message.user .md-content .md-blockquote{border-left-color:#fff6;color:#fffc}.chat-message-time{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs);display:block}.chat-diary-action{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-block);border-top:var(--border-thin) solid var(--border-subtle)}.chat-diary-action-btn{width:100%;padding:12px 16px;border-radius:var(--radius-lg);border:none;font-size:15px;font-weight:500;cursor:pointer;transition:opacity var(--transition-fast)}.chat-diary-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-diary-action-btn.prepare{background:var(--bg-secondary, #f0f0f0);color:var(--text-primary)}.chat-diary-action-btn.save{background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff)}.chat-input-container{flex:0 0 auto;padding:0;background:var(--bg-block);border-top:var(--border-thin) solid var(--border-subtle);z-index:2}.chat-input-form{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);align-items:flex-end}.chat-input{flex:1;background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:max(var(--font-size-base),16px);color:var(--text-primary);resize:none;max-height:120px;min-height:44px;font-family:inherit;transition:border-color var(--transition-fast)}.chat-input:focus{outline:none;border-color:var(--border-accent)}.chat-input::placeholder{color:var(--text-tertiary)}.chat-send-button{background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:50%;padding:0;width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0;box-shadow:0 2px 8px #00000026}.chat-send-button:hover:not(:disabled){background:var(--accent-secondary);transform:scale(1.05);box-shadow:0 4px 12px #0003}.chat-send-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl)}.chat-loading-dots{display:flex;gap:var(--spacing-xs)}.chat-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);animation:dotPulse 1.4s infinite ease-in-out both}.chat-loading-dot:nth-child(1){animation-delay:-.32s}.chat-loading-dot:nth-child(2){animation-delay:-.16s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-typing-bubble{padding:var(--spacing-sm) var(--spacing-md)}.chat-typing-indicator{display:flex;gap:5px;align-items:center;height:24px}.chat-typing-dot{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:typingBounce 1.4s infinite ease-in-out both}.chat-typing-dot:nth-child(1){animation-delay:0s}.chat-typing-dot:nth-child(2){animation-delay:.2s}.chat-typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-topic-header{flex:0 0 auto;display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-block);border-bottom:var(--border-thin) solid var(--border-subtle);min-height:48px;z-index:2}.chat-topic-selector-btn{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}.chat-topic-selector-btn:hover{background:var(--bg-surface-hover)}.chat-topic-icon{display:flex;align-items:center}.chat-topic-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-topic-chevron{color:var(--text-secondary);flex-shrink:0}.chat-topic-list{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0}.chat-topic-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:none;border:var(--border-thin) solid transparent;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left;color:var(--text-primary);font-size:var(--font-size-base)}.chat-topic-item:hover{background:var(--bg-surface-hover)}.chat-topic-item.active{background:var(--bg-surface);border-color:var(--border-accent)}.chat-topic-item-icon{display:flex;align-items:center;color:var(--text-secondary)}.chat-topic-item-title{flex:1}.chat-topic-item-check{color:var(--accent-primary);font-weight:var(--font-weight-bold)}.chat-loading-more{display:flex;justify-content:center;padding:var(--spacing-sm)}.chat-loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--text-secondary)}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.chat-empty-icon{font-size:64px;margin-bottom:var(--spacing-lg);opacity:.5}.chat-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.chat-empty-text{font-size:var(--font-size-base);color:var(--text-secondary);max-width:300px}.chat-register-banner{position:relative;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);padding-right:36px;background:var(--bg-surface);border-bottom:var(--border-thin) solid var(--border-subtle);animation:bannerSlideUp .3s ease-out}.chat-register-banner.blocked{background:var(--bg-block);border-top:2px solid var(--accent-primary);flex-direction:column;padding:var(--spacing-md);text-align:center;gap:var(--spacing-md);padding-right:var(--spacing-md)}@keyframes bannerSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.chat-register-banner-text{flex:1;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.3}.chat-register-banner-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.chat-register-banner-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:all var(--transition-fast)}.chat-register-banner-btn.later{background:none;color:var(--text-tertiary)}.chat-register-banner-btn.create{background:var(--accent-primary);color:var(--text-on-accent)}.chat-register-banner-btn.login{background:none;color:var(--accent-primary);border:1px solid var(--accent-primary)}.chat-register-banner-close{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center}.chat-register-modal-subtext{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:calc(-1 * var(--spacing-sm));margin-bottom:var(--spacing-lg);line-height:1.4}.chat-register-modal{text-align:center;padding:var(--spacing-md)}.chat-register-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.chat-register-modal-text{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-lg)}.chat-register-modal-actions{display:flex;gap:var(--spacing-md);justify-content:center}.chat-register-modal-btn{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:all var(--transition-fast)}.chat-register-modal-btn.later{background:var(--bg-surface);color:var(--text-secondary);border:var(--border-thin) solid var(--border-subtle)}.chat-register-modal-btn.create{background:var(--accent-primary);color:var(--text-on-accent)}.chat-register-modal-btn.login{background:var(--bg-surface);color:var(--text-secondary);border:var(--border-thin) solid var(--border-subtle)}.chat-mic-button{background:none;color:var(--accent-primary);border:none;border-radius:50%;padding:0;width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.chat-mic-button:hover:not(:disabled){background:var(--bg-surface-hover);transform:scale(1.05)}.chat-mic-button:disabled{opacity:.4;cursor:not-allowed}.chat-voice-recording{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.voice-recording-indicator{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);color:var(--text-primary)}.voice-recording-dot{width:12px;height:12px;border-radius:50%;background:#e53935;animation:voicePulse 1s infinite ease-in-out}@keyframes voicePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.voice-recording-time{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.voice-cancel-btn{background:none;color:var(--text-secondary);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.voice-cancel-btn:hover{color:#e53935;background:var(--bg-surface-hover)}.voice-stop-btn{background:#e53935;color:#fff;border:none;border-radius:50%;width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;box-shadow:0 2px 8px #e539354d}.voice-stop-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #e5393566}.voice-stop-btn:disabled{opacity:.5;cursor:not-allowed}.voice-error-toast{position:absolute;bottom:100%;left:var(--spacing-md);right:var(--spacing-md);margin-bottom:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#e53935;color:#fff;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);text-align:center;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-system-notice{text-align:center;padding:var(--spacing-sm) var(--spacing-md)}.chat-system-notice span{font-size:var(--font-size-sm);color:var(--text-tertiary);font-style:italic;opacity:.7}.voice-message-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.voice-indicator{display:flex;align-items:center;gap:var(--spacing-sm)}.voice-mic-icon{color:var(--accent-primary);flex-shrink:0}.voice-audio-player{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-xs) 0;min-width:140px}.voice-play-btn{background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:50%;width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.voice-play-btn:hover{transform:scale(1.1)}.voice-progress-bar{flex:1;height:4px;background:var(--border-subtle);border-radius:2px;overflow:hidden}.voice-progress-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .1s linear}.voice-duration{font-size:var(--font-size-xs, 12px);color:var(--text-tertiary);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.voice-text-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-tertiary);font-size:var(--font-size-xs, 12px);cursor:pointer;padding:2px 0;transition:color var(--transition-fast)}.voice-text-toggle:hover{color:var(--text-secondary)}.voice-toggle-icon{transition:transform var(--transition-fast)}.voice-toggle-icon.open{transform:rotate(180deg)}.voice-text-content{padding-top:var(--spacing-xs);border-top:var(--border-thin) solid var(--border-subtle);margin-top:var(--spacing-xs);opacity:.85;font-size:var(--font-size-sm)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;position:fixed;width:100%;height:var(--app-height, 100dvh);margin:0;padding:0}#root{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg-primary)}.app-content{flex:1;overflow-y:auto;padding:0;padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom));width:100%;margin:0;background:transparent;transition:all .15s ease-out}.app-content.chat-active{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.app-content.chat-active .chat-input-container{padding-bottom:calc(var(--nav-height, 56px) + var(--safe-area-bottom, 0px))}.app-content.chat-active .chat-input-container.keyboard-open{padding-bottom:0}.app-content.chat-active .chat-messages{padding-bottom:calc(var(--spacing-md) + var(--nav-height, 56px) + var(--safe-area-bottom, 0px))}.app-content.chat-active .chat-messages.keyboard-open{padding-bottom:var(--spacing-md)}.app-content.fade-out{opacity:0;transform:scale(.98);transition:all .15s ease-out}.splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:var(--z-splash);transition:opacity .5s cubic-bezier(.25,.46,.45,.94)}.splash-screen.visible{opacity:1}.splash-screen.fade-out{opacity:0}.splash-content{text-align:center;color:var(--text-primary);animation:splashPulse 2s ease-in-out}.splash-logo{font-size:80px;margin-bottom:24px;animation:logoFloat 2s ease-in-out infinite alternate}.splash-title{font-size:42px;font-weight:700;margin-bottom:8px;letter-spacing:-.02em;color:var(--text-primary)}.splash-subtitle{font-size:18px;font-weight:400;opacity:.9;color:var(--text-secondary)}@keyframes splashPulse{0%{opacity:0;transform:translateY(20px) scale(.9)}50%{opacity:1;transform:translateY(0) scale(1)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logoFloat{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.home-screen{padding:var(--spacing-md);min-height:100%;background:transparent}.home-header{text-align:center;margin-bottom:var(--spacing-md);padding-top:calc(var(--safe-area-top))}.greeting{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.user-name{font-size:var(--font-size-lg);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.home-content{max-width:400px;margin:0 auto}.section-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:16px;text-align:center}.mood-section,.ai-section,.actions-section{margin-bottom:var(--spacing-md)}.actions-subtitle{display:none}.ai-guidance{background:var(--bg-block);border-radius:var(--border-radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-md) 0;color:var(--text-primary);animation:slideInFromTop .5s ease-out;box-shadow:var(--shadow-sm)}.ai-guidance.pulse-border{animation:pulseBorder 2s ease-in-out infinite}.ai-suggestion{font-size:var(--font-size-md);line-height:1.5;margin-bottom:var(--spacing-md);opacity:.95;min-height:48px}.ai-accept-button{background:var(--button-primary-bg);color:var(--button-primary-text);border:2px solid var(--button-border);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease;height:var(--button-height-sm)}.ai-accept-button:hover{background:var(--button-primary-hover-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.ai-accept-button:active{transform:translateY(0) scale(.98)}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseBorder{0%,to{box-shadow:0 0 0 0 var(--accent-primary)}50%{box-shadow:0 0 0 8px transparent}}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-top:var(--spacing-md)}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);background:var(--accent-bg);border:2px solid var(--button-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);min-height:100px;position:relative}.action-emoji{font-size:32px;margin-bottom:var(--spacing-sm);color:var(--button-action-text)}.action-label{font-size:var(--font-size-base);color:var(--button-action-text);font-weight:600}.action-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--accent-bg);transform:translate(-50%,-50%);pointer-events:none}.action-button:active:after{animation:ripple .6s ease-out}@keyframes ripple{0%{width:0;height:0;opacity:1}to{width:200px;height:200px;opacity:0}}.action-button:hover{background:var(--bg-block);border-color:var(--button-border);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-button:active{transform:translateY(0)}.action-button.add-button{border:2px dashed var(--button-border);background:var(--accent-bg)}.action-button.add-button .action-emoji{color:var(--button-action-text)}.action-button.add-button:hover{background:var(--bg-block);border-color:var(--button-border)}.action-button.topic-button{background:var(--accent-bg);border:2px solid var(--button-border)}.topic-remove-btn{position:absolute;top:6px;right:6px;width:20px;height:20px;border:none;background:#dc3545e6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease;padding:0}.topic-remove-btn:hover{background:#dc3545;transform:scale(1.2)}.topic-remove-btn:active{transform:scale(.9)}.topics-screen{padding:20px;min-height:calc(100vh - 80px);background:var(--bg-primary)}.topics-header{text-align:center;margin-bottom:32px;padding-top:calc(var(--safe-area-top))}.topics-header h1{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.topics-subtitle{font-size:16px;color:var(--text-secondary)}.topics-content{max-width:400px;margin:0 auto}.interests-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:32px}.interest-card{display:flex;flex-direction:column;align-items:center;padding:20px 16px;background:var(--bg-surface);border:var(--border-normal) solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.interest-card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.interest-card.selected{border-color:var(--border-accent);background:var(--accent-bg);animation:pulseColor .6s ease-out}.interest-card:active{transform:scale(.95)}.interest-icon{color:var(--icon-accent);margin-bottom:8px}.interest-name{font-size:14px;font-weight:500;color:var(--text-primary);text-align:center}.selected-indicator{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--accent-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}@keyframes pulseColor{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.topic-chat-button{position:absolute;bottom:12px;right:12px;background:var(--accent-gradient);border:none;border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:var(--shadow-sm);transition:all .2s;z-index:2;width:32px;height:32px}.topic-chat-button:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.profile-screen{padding:0;padding-bottom:var(--spacing-md);min-height:calc(100vh - 80px);background:var(--bg-primary)}.profile-header{background:var(--accent-gradient);padding:var(--spacing-lg);border-radius:0 0 24px 24px;margin:0 0 var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top))}.user-info{display:flex;align-items:center;gap:var(--spacing-md)}.registration-banner{margin:0 var(--spacing-md) var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-md);background:var(--accent-gradient);border-radius:var(--border-radius-lg);color:#fff;text-align:center;box-shadow:var(--shadow-md)}.registration-banner-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-sm)}.registration-banner-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.registration-banner-text{font-size:var(--font-size-base);opacity:.9;margin-bottom:var(--spacing-xs);line-height:1.4}.registration-banner-highlight{font-size:var(--font-size-base);opacity:.95;margin-bottom:var(--spacing-xs);line-height:1.4;font-weight:var(--font-weight-bold)}.registration-banner-footer{font-size:var(--font-size-xs);opacity:.7;margin-bottom:var(--spacing-md)}.registration-button{padding:14px 32px;background:#ffffff40;border:2px solid rgba(255,255,255,.5);border-radius:var(--border-radius-md);color:#fff;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;width:100%;max-width:280px;margin-bottom:var(--spacing-sm);transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.registration-button:hover{background:#ffffff59;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.registration-button:active{transform:translateY(0)}.registration-banner-buttons{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.registration-button-login{background:transparent;border:2px solid rgba(255,255,255,.4)}.registration-button-login:hover{background:#ffffff26}.registration-providers{font-size:var(--font-size-xs);opacity:.65;margin-top:var(--spacing-xs)}.user-avatar{width:64px;height:64px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:700}.user-details{text-align:left}.user-details .user-name{color:#fff;font-size:var(--font-size-2xl);font-weight:700;margin-bottom:4px}.user-details .user-id{color:#fffc;font-size:var(--font-size-sm)}.stats-section{margin-bottom:var(--spacing-lg)}.primary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);padding:var(--spacing-md);border-radius:var(--card-radius);text-align:center;transition:all .2s ease;box-shadow:var(--shadow-sm)}.stat-card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.highlighted{background:var(--accent-bg);border:1px solid var(--accent-primary)}.stat-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.stat-icon{color:var(--icon-accent);margin-bottom:var(--spacing-xs);font-size:24px}.stat-number{font-size:24px;font-weight:700;color:var(--accent-primary);margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-secondary)}.achievements-section{margin-bottom:var(--spacing-lg)}.achievements-preview{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-surface);border-radius:var(--card-radius);box-shadow:var(--shadow-sm)}.achievement-badge{width:48px;height:48px;background:var(--accent-bg);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;border:1px solid var(--accent-primary)}.achievement-badge.locked{opacity:.5;background:var(--bg-surface-variant);border:1px solid var(--border-normal)}.achievements-arrow{color:var(--text-secondary);margin-left:auto}.settings-section{margin-bottom:var(--spacing-lg)}.settings-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.setting-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--button-radius);width:100%;color:var(--text-primary);font-size:var(--font-size-base);transition:all .2s ease;cursor:pointer;box-shadow:var(--shadow-sm);text-align:left}.setting-item:hover{border-color:var(--border-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.setting-item:active{transform:scale(.98)}.setting-item span{flex:1;text-align:left}.setting-item.install-app-button{border:var(--border-normal) solid var(--accent-primary);background:var(--accent-bg)}.tariff-section{margin-top:32px}.current-plan{background:var(--bg-surface);padding:20px;border-radius:16px;margin-bottom:16px;border:var(--border-thin) solid var(--border-subtle)}.plan-limit{color:var(--text-secondary);font-size:14px;margin:8px 0 16px}.trial-offer{background:var(--accent-gradient);color:#fff;padding:16px;border-radius:12px;text-align:center;font-size:14px;line-height:1.4}.trial-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-top:12px;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trial-button:hover{background:#ffffff4d}.compare-button{width:100%;background:var(--bg-surface);border:1px solid var(--border-normal);padding:16px;border-radius:12px;color:var(--accent-primary);font-weight:500;transition:all .2s ease}.compare-button:hover{background:var(--accent-bg);border-color:var(--accent-primary)}.legal-section{margin-top:32px}.legal-list{display:flex;flex-direction:column;gap:12px}.legal-item{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);padding:16px;border-radius:12px;display:flex;align-items:center;gap:12px;color:var(--text-primary);font-size:14px;transition:all .2s ease;width:100%}.legal-item:hover{border-color:var(--border-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.legal-item span{flex:1;text-align:left}.support-section{margin-top:32px}.support-options{display:flex;flex-direction:column;gap:12px}.support-button{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);padding:16px;border-radius:12px;display:flex;align-items:center;gap:12px;color:var(--text-primary);font-size:14px;transition:all .2s ease;width:100%}.support-button:hover{border-color:var(--border-accent)}.profile-footer{margin-top:40px;padding:20px 0;text-align:center;border-top:1px solid var(--border-subtle)}.app-version{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.copyright{font-size:12px;color:var(--text-secondary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.info-button{width:24px;height:24px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.9;transition:opacity .2s ease;font-size:14px;font-weight:600;color:#fff}.info-button:hover{opacity:1}.stats-section,.tariff-section,.settings-section{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);border-radius:16px;padding:var(--spacing-lg);margin:0 var(--spacing-md) var(--spacing-md)}.current-plan-info{background:transparent;padding:0;margin-bottom:var(--spacing-md)}.plan-name{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.plan-usage{font-size:var(--font-size-sm);color:var(--text-secondary)}.offer-icon{font-size:20px}.offer-text{flex:1;font-size:var(--font-size-sm)}.tariff-button{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);padding:var(--spacing-md);border-radius:12px;margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all .2s ease;width:100%}.tariff-button:hover{background:var(--accent-bg);border-color:var(--accent-primary);transform:translateY(-1px)}.tariff-badge{font-size:var(--font-size-xs);color:var(--accent-primary);margin-left:var(--spacing-sm)}.compare-plans{background:transparent;border:none;color:var(--accent-primary);font-size:var(--font-size-sm);padding:var(--spacing-sm) 0;cursor:pointer;transition:opacity .2s ease;width:100%;text-align:center}.compare-plans:hover{opacity:.8}.chat-icon{position:absolute;bottom:8px;right:8px;color:var(--accent-primary)}.entry-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0}.chat-explanation{text-align:center;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.custom-topic-item{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--bg-surface-variant);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-sm)}.premium-section{margin-top:32px}.premium-card{background:var(--accent-gradient);color:#fff;padding:20px;border-radius:16px;display:flex;align-items:center;gap:16px}.premium-icon{font-size:32px}.premium-content h4{font-size:18px;font-weight:600;margin-bottom:4px}.premium-content p{font-size:14px;opacity:.9}.premium-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:12px 24px;border-radius:12px;font-weight:500;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.premium-button:hover{background:#ffffff4d;transform:translateY(-1px)}.bottom-navigation{position:fixed;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,#efebe300,#efebe3b8 30%,#efebe3eb 58%,#efebe3f7);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border-top:none;display:flex;justify-content:space-around;align-items:center;padding:10px 0;padding-bottom:calc(10px + var(--safe-area-bottom));z-index:var(--z-nav)}[data-theme=dark] .bottom-navigation{background:linear-gradient(to bottom,#2c2c2c00,#2c2c2cb8 30%,#2c2c2ceb 58%,#2c2c2cf7)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--border-radius-md);transition:all .2s ease;cursor:pointer;text-decoration:none;color:var(--text-secondary);min-width:60px}.nav-item.active{color:var(--accent-primary)}.nav-item:hover{color:var(--accent-hover);background:var(--accent-bg)}.nav-icon{width:24px;height:24px;color:inherit}.nav-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs)}.haptic-light{animation:hapticLight .1s ease-out}.haptic-medium{animation:hapticMedium .15s ease-out}@keyframes hapticLight{0%,to{transform:scale(1)}50%{transform:scale(.98)}}@keyframes hapticMedium{0%,to{transform:scale(1)}50%{transform:scale(.95)}}.home-screen,.topics-screen,.profile-screen,.diary-screen{position:relative;height:100vh;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(60px + var(--safe-area-bottom) + 20px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black var(--scroll-fade-height),black 100%);mask-image:linear-gradient(to bottom,transparent 0%,black var(--scroll-fade-height),black 100%)}.home-screen:before,.topics-screen:before,.profile-screen:before,.diary-screen:before{content:"";position:sticky;top:0;left:0;right:0;height:var(--scroll-fade-height);background:linear-gradient(to bottom,var(--bg-primary) 0%,rgba(239,235,227,0) 100%);pointer-events:none;z-index:100;display:block}[data-theme=dark] .home-screen:before,[data-theme=dark] .topics-screen:before,[data-theme=dark] .profile-screen:before,[data-theme=dark] .diary-screen:before{background:linear-gradient(to bottom,var(--bg-primary) 0%,rgba(44,44,44,0) 100%)}.diary-screen{padding:0 var(--spacing-md) var(--spacing-md);background:var(--bg-primary)}.diary-header{text-align:center;margin-bottom:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-area-top))}.diary-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.diary-subtitle{font-size:var(--font-size-base);color:var(--text-secondary)}.diary-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.diary-action-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border:var(--border-normal) solid var(--border-subtle);border-radius:var(--card-radius);background:var(--bg-surface);color:var(--text-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.diary-action-button.primary{background:var(--primary-gradient);color:#fff;border:none}.diary-action-button:hover{border-color:var(--border-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.diary-action-button:active{transform:scale(.98)}.diary-entries{margin-bottom:var(--spacing-lg)}.diary-entry{background:var(--bg-surface);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--card-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-sm);transition:all .2s ease}.diary-entry:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.entry-mood{font-size:24px}.entry-datetime{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.entry-date{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.entry-time{font-size:var(--font-size-xs);color:var(--text-secondary)}.entry-preview{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.4;margin:0}@supports (padding: env(safe-area-inset-top)){.home-header,.topics-header{padding-top:env(safe-area-inset-top)}.profile-header,.diary-header{padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top))}.chat-topic-header{padding-top:calc(var(--spacing-sm) + var(--safe-area-top))}.app-content{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.bottom-navigation{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.chat-topic-toast{position:absolute;top:calc(var(--safe-area-top) + 56px);left:50%;transform:translate(-50%);background:var(--bg-block);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-md);z-index:var(--z-modal);animation:toastSlideIn .3s ease-out,toastFadeOut .3s ease-in 1.7s forwards;pointer-events:none;max-width:80%}.chat-topic-toast-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home-header{animation:fadeInUp .5s ease-out}.mood-section{animation:fadeInUp .5s ease-out .1s backwards}.ai-section{animation:fadeInUp .5s ease-out .2s backwards}.actions-section{animation:fadeInUp .5s ease-out .3s backwards}.mood-button{transition:all var(--transition-base) ease}.mood-button:active{animation:bounceScale .3s ease-out}@keyframes bounceScale{0%{transform:scale(1)}40%{transform:scale(.9)}60%{transform:scale(1.1)}to{transform:scale(1.05)}}.ai-guidance{animation:subtlePulse 3s ease-in-out infinite}@keyframes subtlePulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 4px 20px #a689684d}}.action-button{position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--accent-bg);transform:translate(-50%,-50%);transition:width .6s,height .6s}.action-button:active:before{width:300px;height:300px}.my-topics-section{margin-bottom:var(--spacing-lg)}.my-topics-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.my-topic-item{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-surface-variant);border:var(--border-normal) solid var(--accent-primary);border-radius:20px;cursor:pointer;transition:all .2s ease;position:relative;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.my-topic-item:hover{background:var(--bg-block);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.my-topic-item:active{transform:translateY(0)}.my-topic-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);flex-shrink:0}.my-topic-name{flex:1;white-space:nowrap}.my-topic-remove{width:18px;height:18px;border:none;background:transparent;color:var(--text-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0}.my-topic-remove:hover{background:#dc3545;color:#fff;transform:scale(1.2)}.my-topic-remove:active{transform:scale(.9)}.diary-entry-card{padding:16px;background:var(--bg-surface);border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;border:var(--border-thin) solid var(--border-subtle)}.diary-entry-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-accent)}@media(max-width:375px){.quick-actions{gap:var(--spacing-xs)}.action-button{min-height:90px;padding:var(--spacing-sm)}.action-emoji{font-size:28px}.action-label{font-size:var(--font-size-sm)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-lg)}.login-container{background:var(--bg-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl) var(--spacing-xl);max-width:400px;width:100%;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;border:var(--border-thin) solid var(--border-subtle)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-back-button{display:inline-block;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-sm)}.login-back-button:hover{color:var(--text-primary)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:var(--font-size-4xl);margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);font-weight:var(--font-weight-bold)}.login-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-base)}.form-group input[type=text],.form-group input[type=password]{padding:14px 16px;border:var(--border-thin) solid var(--modal-input-border);border-radius:var(--border-radius-md);font-size:var(--font-size-md);transition:all var(--transition-base) ease;background:var(--modal-input-bg);color:var(--modal-input-text)}.form-group input:focus{outline:none;border-color:var(--modal-input-focus-border);box-shadow:0 0 0 3px #bea98e1a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.input-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:-4px}.checkbox-group{flex-direction:row;align-items:center;gap:var(--spacing-sm)}.checkbox-group label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-normal);cursor:pointer;color:var(--text-primary)}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.error-message{background:var(--warning-bg);border:var(--border-thin) solid var(--warning-border);color:var(--warning-text);padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-base);text-align:center}.submit-button{padding:16px;background:var(--button-primary-bg);color:var(--button-primary-text);border:var(--border-normal) solid var(--button-border);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;margin-top:var(--spacing-sm)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--button-primary-hover-bg)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:var(--spacing-lg)}.toggle-mode-button{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-base);cursor:pointer;transition:color .2s ease}.toggle-mode-button:hover:not(:disabled){color:var(--accent-primary)}.toggle-mode-button strong{color:var(--accent-primary);font-weight:var(--font-weight-semibold)}.toggle-mode-button:disabled{opacity:.6;cursor:not-allowed}.consent-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.consent-checkbox-row{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.consent-checkbox-row input[type=checkbox]{margin-top:3px;flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.consent-checkbox-row label{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4;cursor:pointer}.consent-link{background:none;border:none;color:var(--accent-primary);text-decoration:underline;cursor:pointer;padding:0;font:inherit;font-weight:var(--font-weight-medium)}.consent-link:hover{opacity:.8}.pwa-info{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--bg-surface-variant);border-radius:var(--border-radius-md);border:var(--border-thin) solid var(--border-subtle)}.pwa-info p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;text-align:left;line-height:1.4}.oauth-divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-xl) 0 var(--spacing-md);color:var(--text-tertiary);font-size:var(--font-size-sm)}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;border-bottom:var(--border-thin) solid var(--border-subtle)}.oauth-divider span{padding:0 var(--spacing-md)}.oauth-buttons-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.oauth-btn{flex:1 1 calc(50% - var(--spacing-sm));display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:12px;border-radius:var(--border-radius-md);border:var(--border-thin) solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.oauth-btn.full-width{flex:1 1 100%}.oauth-btn:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-muted);transform:translateY(-1px)}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.oauth-btn.yandex{color:red;border-color:#f003}.oauth-btn.vk{color:#07f;border-color:#07f3}.oauth-btn.google{color:#db4437;border-color:#db443733}.oauth-icon{font-size:16px;display:flex;align-items:center;font-weight:700}.oauth-privacy-warning{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:#bea98e0d;border-radius:var(--border-radius-sm);border:1px dashed var(--border-subtle)}.oauth-privacy-warning p{font-size:11px;line-height:1.4;color:var(--text-secondary);margin:0;text-align:center}@media(max-width:480px){.login-container{padding:var(--spacing-xl) var(--spacing-md)}.login-header h1{font-size:var(--font-size-3xl)}.pwa-info{flex-direction:column;gap:var(--spacing-sm)}}.tgm-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg);animation:tgm-fadeIn .25s ease-out}@keyframes tgm-fadeIn{0%{opacity:0}to{opacity:1}}.tgm-modal{background:var(--bg-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl) var(--spacing-xl);max-width:440px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:var(--border-thin) solid var(--border-subtle);animation:tgm-slideUp .3s ease-out}@keyframes tgm-slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.tgm-header{text-align:center;margin-bottom:var(--spacing-xl)}.tgm-telegram-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:#2aabee;color:#fff;border-radius:50%;margin-bottom:var(--spacing-md);box-shadow:0 4px 16px #2aabee59}.tgm-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;line-height:1.25}.tgm-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.55;margin:0}.tgm-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.tgm-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tgm-form-group label{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-base)}.tgm-optional{font-weight:var(--font-weight-normal);color:var(--text-secondary);font-size:var(--font-size-sm)}.tgm-form-group input[type=text],.tgm-form-group input[type=password]{padding:14px 16px;border:var(--border-thin) solid var(--modal-input-border);border-radius:var(--border-radius-md);font-size:var(--font-size-md);transition:border-color var(--transition-base) ease,box-shadow var(--transition-base) ease;background:var(--modal-input-bg);color:var(--modal-input-text)}.tgm-form-group input:focus{outline:none;border-color:var(--modal-input-focus-border);box-shadow:0 0 0 3px #2aabee1f}.tgm-form-group input:disabled{opacity:.55;cursor:not-allowed}.tgm-input-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:-2px}.tgm-consent{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tgm-consent-row{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.tgm-consent-row input[type=checkbox]{margin-top:3px;flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.tgm-consent-row label{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4;cursor:pointer}.tgm-doc-link{background:none;border:none;color:var(--accent-primary);text-decoration:underline;cursor:pointer;padding:0;font:inherit;font-size:var(--font-size-sm)}.tgm-doc-link:hover{opacity:.8}.tgm-error{background:var(--warning-bg);border:var(--border-thin) solid var(--warning-border);color:var(--warning-text);padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-base);text-align:center}.tgm-submit{padding:16px;background:var(--button-primary-bg);color:var(--button-primary-text);border:var(--border-normal) solid var(--button-border);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.tgm-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--button-primary-hover-bg)}.tgm-submit:active:not(:disabled){transform:translateY(0)}.tgm-submit:disabled{opacity:.55;cursor:not-allowed}.tgm-skip{display:block;width:100%;margin-top:var(--spacing-lg);background:none;border:none;color:var(--text-tertiary);font-size:var(--font-size-sm);cursor:pointer;text-align:center;padding:var(--spacing-sm);transition:color .2s ease}.tgm-skip:hover{color:var(--text-secondary)}@media(max-width:480px){.tgm-overlay{align-items:flex-end;padding:0}.tgm-modal{border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;max-height:94vh;padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg);padding-top:calc(var(--spacing-xl) + 4px)}.tgm-modal:before{content:"";display:block;width:36px;height:4px;background:var(--border-muted);border-radius:2px;margin:0 auto var(--spacing-lg)}}.support-chat-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .2s ease-in-out}.support-chat-container{width:100%;max-width:500px;height:92vh;max-height:92vh;background:var(--modal-bg);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl);animation:supportChatSlideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes supportChatSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.support-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-md);border-bottom:var(--border-thin) solid var(--border-subtle);flex-shrink:0;background:var(--bg-block)}.support-chat-header-info{display:flex;flex-direction:column;gap:2px}.support-chat-header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:1.3}.support-chat-header-status{font-size:var(--font-size-sm);color:var(--text-secondary)}.support-chat-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--button-primary-bg);color:var(--button-primary-text);border:var(--border-normal) solid var(--button-border);border-radius:var(--button-radius);cursor:pointer;transition:all .2s ease;flex-shrink:0}.support-chat-close:active{transform:scale(.95)}.support-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);-webkit-overflow-scrolling:touch}.support-chat-empty{text-align:center;color:var(--text-secondary);font-size:var(--font-size-base);margin:auto;padding:var(--spacing-xl)}.support-chat-bubble-row{display:flex;flex-direction:column}.support-chat-bubble-row--user{align-items:flex-end}.support-chat-bubble-row--admin{align-items:flex-start}.support-chat-bubble{max-width:82%;padding:10px 14px;font-size:var(--font-size-base);line-height:1.45;white-space:pre-wrap;word-break:break-word}.support-chat-bubble--user{background:var(--accent-primary);color:#fff;border-radius:16px 16px 4px}.support-chat-bubble--admin{background:var(--bg-block);color:var(--text-primary);border-radius:16px 16px 16px 4px;border:var(--border-thin) solid var(--border-subtle)}.support-chat-time{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px}.support-chat-time--user{padding-right:4px}.support-chat-time--admin{padding-left:4px}.support-chat-input-area{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);padding-bottom:max(var(--spacing-sm),var(--safe-area-bottom));border-top:var(--border-thin) solid var(--border-subtle);background:var(--bg-surface)}.support-chat-input-row{display:flex;align-items:flex-end;gap:var(--spacing-sm)}.support-chat-textarea{flex:1;min-width:0;min-height:44px;max-height:120px;padding:10px 14px;font-size:var(--font-size-base);font-family:inherit;line-height:1.4;color:var(--modal-input-text);background:var(--modal-input-bg);border:var(--border-normal) solid var(--modal-input-border);border-radius:22px;resize:none;overflow-y:auto;transition:border-color .2s ease}.support-chat-textarea::placeholder{color:var(--modal-input-placeholder)}.support-chat-textarea:focus{outline:none;border-color:var(--modal-input-focus-border)}.support-chat-textarea:disabled{opacity:.6}.support-chat-send{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;flex-shrink:0}.support-chat-send:active:not(:disabled){transform:scale(.92)}.support-chat-send:disabled{opacity:.4;cursor:not-allowed}.support-chat-close-btn{width:100%;padding:var(--spacing-md);background:var(--button-primary-bg);color:var(--button-primary-text);border:var(--border-normal) solid var(--button-border);border-radius:var(--button-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease}.support-chat-close-btn:active{transform:scale(.98)}@media(max-width:375px){.support-chat-container{height:95vh;max-height:95vh}.support-chat-bubble{max-width:88%}}@media(min-width:500px){.support-chat-container{height:85vh;border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-md)}.support-chat-overlay{align-items:center}}.gwm-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg);animation:gwm-fadeIn .25s ease-out}@keyframes gwm-fadeIn{0%{opacity:0}to{opacity:1}}.gwm-modal{background:var(--bg-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl) var(--spacing-xl);max-width:420px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:var(--border-thin) solid var(--border-subtle);animation:gwm-slideUp .3s ease-out;text-align:center}@keyframes gwm-slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.gwm-badge{width:72px;height:72px;border-radius:50%;margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;font-size:40px;background:linear-gradient(135deg,#ffe8a3,#ffb547);box-shadow:0 4px 16px #ffb54766}.gwm-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm);line-height:1.25}.gwm-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.55;margin:0 0 var(--spacing-lg)}.gwm-subtitle strong{color:var(--text-primary);font-weight:var(--font-weight-bold)}.gwm-note{background:var(--bg-elevated, rgba(0, 0, 0, .04));border-radius:var(--border-radius-md);padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-lg);text-align:left}.gwm-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.gwm-btn{width:100%;padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background .15s ease,transform .05s ease;border:none}.gwm-btn:active{transform:scale(.98)}.gwm-btn-primary{background:var(--color-primary);color:var(--text-on-primary, #fff)}.gwm-btn-primary:hover{background:var(--color-primary-hover, var(--color-primary))}.gwm-btn-secondary{background:transparent;color:var(--text-primary);border:var(--border-thin) solid var(--border-subtle)}.gwm-btn-secondary:hover{background:var(--bg-elevated, rgba(0, 0, 0, .04))}.gwm-btn-ghost{background:transparent;color:var(--text-secondary)}.gwm-btn-ghost:hover{color:var(--text-primary)}
