:root{--radius-small: 8px;--radius-medium: 16px;--radius-large: 20px;--radius-xl: 24px;--radius-2xl: 1.5rem;--radius-pill: 9999px;--transition-fast: .15s ease;--transition-medium: .25s ease;--transition-slow: .35s ease;--transition-theme: .4s cubic-bezier(.4, 0, .2, 1);--backdrop-blur: blur(20px);--backdrop-blur-heavy: blur(40px);--safe-bottom: env(safe-area-inset-bottom, 0px);--color-accent: #e94560;--color-accent-light: #ff6b81;--color-accent-green: #34c759;--color-accent-blue: #007aff;--color-accent-orange: #ff9500;--color-accent-purple: #af52de;--color-accent-yellow: #ffcc00;--color-accent-red: #ff3b30;--color-bg-primary: #171717;--color-bg-secondary: #1c1c1e;--color-bg-card: #1c1c1e;--color-bg-input: #2c2c2e;--color-bg-elevated: #2c2c2e;--color-surface: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .08);--color-surface-active: rgba(255, 255, 255, .12);--color-surface-elevated: rgba(255, 255, 255, .07);--color-text-primary: #f5f5f7;--color-text-secondary: rgba(235, 235, 245, .6);--color-text-muted: rgba(235, 235, 245, .3);--color-text-on-accent: #ffffff;--color-text-tertiary: var(--color-text-secondary);--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .2);--color-tab-active-bg: #ffffff;--color-tab-active-text: #000000;--color-tab-inactive-bg: rgba(255, 255, 255, .06);--color-tab-inactive-text: rgba(255, 255, 255, .6);--color-tab-badge-bg: rgba(255, 255, 255, .2);--color-tab-badge-text: #ffffff;--color-tab-badge-active-bg: #000000;--color-tab-badge-active-text: #ffffff;--color-nav-bg: rgba(28, 28, 30, .85);--color-nav-inactive: rgba(255, 255, 255, .4);--color-nav-active: #ffffff;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .4);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .5);--shadow-card: 0 1px 3px rgba(0, 0, 0, .3);--shadow-elevated: 0 10px 40px rgba(0, 0, 0, .5);--color-modal-overlay: rgba(0, 0, 0, .6);--color-modal-bg: #2c2c2e;--color-sticker-text: #333333;--color-sticker-secondary: #555555;--color-card-bg: rgba(255, 255, 255, .05);--color-card-border: rgba(255, 255, 255, .1);--color-card-hover: rgba(255, 255, 255, .1);--color-btn-primary-bg: #ffffff;--color-btn-primary-text: #000000;--color-cal-cell-bg: #171717;--color-cal-cell-active: #262626;--color-cal-grid-bg: rgba(0, 0, 0, .5);--color-cal-selected-from: #ec4899;--color-cal-selected-to: #ef4444;--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-card: var(--color-bg-card);--bg-input: var(--color-bg-input);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--accent: var(--color-accent);--accent-light: var(--color-accent-light);--accent-green: var(--color-accent-green);--accent-blue: var(--color-accent-blue);--accent-orange: var(--color-accent-orange);--accent-purple: var(--color-accent-purple);--border: var(--color-border);--shadow: var(--shadow-medium);--radius: var(--radius-medium);--radius-sm: var(--radius-small)}[data-theme=light]{--color-bg-primary: #fafafa;--color-bg-secondary: #ffffff;--color-bg-card: #ffffff;--color-bg-input: #f3f3f5;--color-bg-elevated: #ffffff;--color-surface: rgba(0, 0, 0, .03);--color-surface-hover: rgba(0, 0, 0, .05);--color-surface-active: rgba(0, 0, 0, .08);--color-surface-elevated: rgba(255, 255, 255, .9);--color-text-primary: #000000;--color-text-secondary: rgba(0, 0, 0, .5);--color-text-muted: rgba(0, 0, 0, .3);--color-text-on-accent: #ffffff;--color-border: rgba(0, 0, 0, .1);--color-border-strong: rgba(0, 0, 0, .2);--color-tab-active-bg: #000000;--color-tab-active-text: #ffffff;--color-tab-inactive-bg: rgba(0, 0, 0, .05);--color-tab-inactive-text: rgba(0, 0, 0, .7);--color-tab-badge-bg: rgba(0, 0, 0, .2);--color-tab-badge-text: #000000;--color-tab-badge-active-bg: #ffffff;--color-tab-badge-active-text: #000000;--color-nav-bg: rgba(250, 250, 250, .8);--color-nav-inactive: rgba(0, 0, 0, .4);--color-nav-active: #000000;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .04);--shadow-medium: 0 2px 10px rgba(0, 0, 0, .06);--shadow-heavy: 0 8px 30px rgba(0, 0, 0, .1);--shadow-card: 0 1px 4px rgba(0, 0, 0, .06);--shadow-elevated: 0 10px 40px rgba(0, 0, 0, .12);--color-modal-overlay: rgba(0, 0, 0, .3);--color-modal-bg: #ffffff;--color-card-bg: #ffffff;--color-card-border: rgba(0, 0, 0, .1);--color-card-hover: #fafafa;--color-btn-primary-bg: #000000;--color-btn-primary-text: #ffffff;--color-cal-cell-bg: #ffffff;--color-cal-cell-active: #e5e5e5;--color-cal-grid-bg: rgba(0, 0, 0, .05);--color-cal-selected-from: #3b82f6;--color-cal-selected-to: #2563eb}[data-theme=rose]{--color-accent: #e8829a;--color-accent-light: #f4a8b8;--color-bg-primary: #fff5f7;--color-bg-secondary: #ffffff;--color-bg-card: #ffffff;--color-bg-input: #ffe8ee;--color-bg-elevated: #ffffff;--color-surface: rgba(232, 130, 154, .06);--color-surface-hover: rgba(232, 130, 154, .1);--color-surface-active: rgba(232, 130, 154, .16);--color-surface-elevated: rgba(255, 255, 255, .95);--color-text-primary: #3d2b33;--color-text-secondary: rgba(61, 43, 51, .6);--color-text-muted: rgba(61, 43, 51, .35);--color-text-on-accent: #ffffff;--color-border: rgba(232, 130, 154, .2);--color-border-strong: rgba(232, 130, 154, .35);--color-tab-active-bg: #e8829a;--color-tab-active-text: #ffffff;--color-tab-inactive-bg: rgba(232, 130, 154, .08);--color-tab-inactive-text: rgba(61, 43, 51, .7);--color-tab-badge-bg: rgba(232, 130, 154, .3);--color-tab-badge-text: #3d2b33;--color-tab-badge-active-bg: #ffffff;--color-tab-badge-active-text: #e8829a;--color-nav-bg: rgba(255, 245, 247, .85);--color-nav-inactive: rgba(61, 43, 51, .45);--color-nav-active: #e8829a;--shadow-soft: 0 1px 3px rgba(232, 130, 154, .1);--shadow-medium: 0 2px 10px rgba(232, 130, 154, .14);--shadow-heavy: 0 8px 30px rgba(232, 130, 154, .18);--shadow-card: 0 1px 4px rgba(232, 130, 154, .12);--shadow-elevated: 0 10px 40px rgba(232, 130, 154, .22);--color-modal-overlay: rgba(61, 43, 51, .35);--color-modal-bg: #ffffff;--color-card-bg: #ffffff;--color-card-border: rgba(232, 130, 154, .18);--color-card-hover: #fff9fb;--color-btn-primary-bg: #e8829a;--color-btn-primary-text: #ffffff;--color-cal-cell-bg: #ffffff;--color-cal-cell-active: #ffd1dc;--color-cal-grid-bg: rgba(232, 130, 154, .06);--color-cal-selected-from: #f4a8b8;--color-cal-selected-to: #e8829a}[data-theme=mint]{--color-accent: #5dae89;--color-accent-light: #a8d8c4;--color-bg-primary: #f0faf5;--color-bg-secondary: #ffffff;--color-bg-card: #ffffff;--color-bg-input: #e0f3e8;--color-bg-elevated: #ffffff;--color-surface: rgba(93, 174, 137, .06);--color-surface-hover: rgba(93, 174, 137, .1);--color-surface-active: rgba(93, 174, 137, .16);--color-surface-elevated: rgba(255, 255, 255, .95);--color-text-primary: #2a3d33;--color-text-secondary: rgba(42, 61, 51, .6);--color-text-muted: rgba(42, 61, 51, .35);--color-text-on-accent: #ffffff;--color-border: rgba(93, 174, 137, .22);--color-border-strong: rgba(93, 174, 137, .38);--color-tab-active-bg: #5dae89;--color-tab-active-text: #ffffff;--color-tab-inactive-bg: rgba(93, 174, 137, .08);--color-tab-inactive-text: rgba(42, 61, 51, .7);--color-tab-badge-bg: rgba(93, 174, 137, .3);--color-tab-badge-text: #2a3d33;--color-tab-badge-active-bg: #ffffff;--color-tab-badge-active-text: #5dae89;--color-nav-bg: rgba(240, 250, 245, .85);--color-nav-inactive: rgba(42, 61, 51, .45);--color-nav-active: #5dae89;--shadow-soft: 0 1px 3px rgba(93, 174, 137, .1);--shadow-medium: 0 2px 10px rgba(93, 174, 137, .14);--shadow-heavy: 0 8px 30px rgba(93, 174, 137, .18);--shadow-card: 0 1px 4px rgba(93, 174, 137, .12);--shadow-elevated: 0 10px 40px rgba(93, 174, 137, .22);--color-modal-overlay: rgba(42, 61, 51, .35);--color-modal-bg: #ffffff;--color-card-bg: #ffffff;--color-card-border: rgba(93, 174, 137, .18);--color-card-hover: #f5faf7;--color-btn-primary-bg: #5dae89;--color-btn-primary-text: #ffffff;--color-cal-cell-bg: #ffffff;--color-cal-cell-active: #c8e6d4;--color-cal-grid-bg: rgba(93, 174, 137, .06);--color-cal-selected-from: #a8d8c4;--color-cal-selected-to: #5dae89}[data-theme=lavender]{--color-accent: #8e6fbc;--color-accent-light: #c4a8e8;--color-bg-primary: #f6f2fb;--color-bg-secondary: #ffffff;--color-bg-card: #ffffff;--color-bg-input: #ece4f6;--color-bg-elevated: #ffffff;--color-surface: rgba(142, 111, 188, .06);--color-surface-hover: rgba(142, 111, 188, .1);--color-surface-active: rgba(142, 111, 188, .16);--color-surface-elevated: rgba(255, 255, 255, .95);--color-text-primary: #2e283d;--color-text-secondary: rgba(46, 40, 61, .6);--color-text-muted: rgba(46, 40, 61, .35);--color-text-on-accent: #ffffff;--color-border: rgba(142, 111, 188, .22);--color-border-strong: rgba(142, 111, 188, .38);--color-tab-active-bg: #8e6fbc;--color-tab-active-text: #ffffff;--color-tab-inactive-bg: rgba(142, 111, 188, .08);--color-tab-inactive-text: rgba(46, 40, 61, .7);--color-tab-badge-bg: rgba(142, 111, 188, .3);--color-tab-badge-text: #2e283d;--color-tab-badge-active-bg: #ffffff;--color-tab-badge-active-text: #8e6fbc;--color-nav-bg: rgba(246, 242, 251, .85);--color-nav-inactive: rgba(46, 40, 61, .45);--color-nav-active: #8e6fbc;--shadow-soft: 0 1px 3px rgba(142, 111, 188, .1);--shadow-medium: 0 2px 10px rgba(142, 111, 188, .14);--shadow-heavy: 0 8px 30px rgba(142, 111, 188, .18);--shadow-card: 0 1px 4px rgba(142, 111, 188, .12);--shadow-elevated: 0 10px 40px rgba(142, 111, 188, .22);--color-modal-overlay: rgba(46, 40, 61, .35);--color-modal-bg: #ffffff;--color-card-bg: #ffffff;--color-card-border: rgba(142, 111, 188, .18);--color-card-hover: #f9f5fc;--color-btn-primary-bg: #8e6fbc;--color-btn-primary-text: #ffffff;--color-cal-cell-bg: #ffffff;--color-cal-cell-active: #ddd0ee;--color-cal-grid-bg: rgba(142, 111, 188, .06);--color-cal-selected-from: #c4a8e8;--color-cal-selected-to: #8e6fbc}[data-theme=rose-dark]{--color-accent: #f4a8b8;--color-accent-light: #f8c4d0;--color-bg-primary: #1f1419;--color-bg-secondary: #2a1a20;--color-bg-card: #2a1a20;--color-bg-input: #3a2530;--color-bg-elevated: #2a1a20;--color-surface: rgba(244, 168, 184, .06);--color-surface-hover: rgba(244, 168, 184, .1);--color-surface-active: rgba(244, 168, 184, .16);--color-surface-elevated: rgba(244, 168, 184, .08);--color-text-primary: #f5e8ed;--color-text-secondary: rgba(245, 232, 237, .6);--color-text-muted: rgba(245, 232, 237, .3);--color-text-on-accent: #2a1a20;--color-border: rgba(244, 168, 184, .15);--color-border-strong: rgba(244, 168, 184, .3);--color-tab-active-bg: #f4a8b8;--color-tab-active-text: #2a1a20;--color-tab-inactive-bg: rgba(244, 168, 184, .08);--color-tab-inactive-text: rgba(245, 232, 237, .7);--color-tab-badge-bg: rgba(244, 168, 184, .25);--color-tab-badge-text: #f5e8ed;--color-tab-badge-active-bg: #2a1a20;--color-tab-badge-active-text: #f4a8b8;--color-nav-bg: rgba(42, 26, 32, .85);--color-nav-inactive: rgba(245, 232, 237, .4);--color-nav-active: #f4a8b8;--color-modal-overlay: rgba(0, 0, 0, .6);--color-modal-bg: #2a1a20;--color-card-bg: rgba(244, 168, 184, .05);--color-card-border: rgba(244, 168, 184, .15);--color-card-hover: rgba(244, 168, 184, .1);--color-btn-primary-bg: #f4a8b8;--color-btn-primary-text: #2a1a20;--color-cal-cell-bg: #1f1419;--color-cal-cell-active: #3a2530;--color-cal-grid-bg: rgba(0, 0, 0, .4);--color-cal-selected-from: #f4a8b8;--color-cal-selected-to: #e8829a}[data-theme=mint-dark]{--color-accent: #8edab0;--color-accent-light: #b8e8c8;--color-bg-primary: #131e18;--color-bg-secondary: #1c2a23;--color-bg-card: #1c2a23;--color-bg-input: #233830;--color-bg-elevated: #1c2a23;--color-surface: rgba(142, 218, 176, .06);--color-surface-hover: rgba(142, 218, 176, .1);--color-surface-active: rgba(142, 218, 176, .16);--color-surface-elevated: rgba(142, 218, 176, .08);--color-text-primary: #e0f0e8;--color-text-secondary: rgba(224, 240, 232, .6);--color-text-muted: rgba(224, 240, 232, .3);--color-text-on-accent: #1c2a23;--color-border: rgba(142, 218, 176, .15);--color-border-strong: rgba(142, 218, 176, .3);--color-tab-active-bg: #8edab0;--color-tab-active-text: #1c2a23;--color-tab-inactive-bg: rgba(142, 218, 176, .08);--color-tab-inactive-text: rgba(224, 240, 232, .7);--color-tab-badge-bg: rgba(142, 218, 176, .25);--color-tab-badge-text: #e0f0e8;--color-tab-badge-active-bg: #1c2a23;--color-tab-badge-active-text: #8edab0;--color-nav-bg: rgba(28, 42, 35, .85);--color-nav-inactive: rgba(224, 240, 232, .4);--color-nav-active: #8edab0;--color-modal-overlay: rgba(0, 0, 0, .6);--color-modal-bg: #1c2a23;--color-card-bg: rgba(142, 218, 176, .05);--color-card-border: rgba(142, 218, 176, .15);--color-card-hover: rgba(142, 218, 176, .1);--color-btn-primary-bg: #8edab0;--color-btn-primary-text: #1c2a23;--color-cal-cell-bg: #131e18;--color-cal-cell-active: #233830;--color-cal-grid-bg: rgba(0, 0, 0, .4);--color-cal-selected-from: #8edab0;--color-cal-selected-to: #5dae89}[data-theme=lavender-dark]{--color-accent: #b89ad8;--color-accent-light: #d2bee5;--color-bg-primary: #1a1422;--color-bg-secondary: #251d2e;--color-bg-card: #251d2e;--color-bg-input: #322940;--color-bg-elevated: #251d2e;--color-surface: rgba(184, 154, 216, .06);--color-surface-hover: rgba(184, 154, 216, .1);--color-surface-active: rgba(184, 154, 216, .16);--color-surface-elevated: rgba(184, 154, 216, .08);--color-text-primary: #ece4f6;--color-text-secondary: rgba(236, 228, 246, .6);--color-text-muted: rgba(236, 228, 246, .3);--color-text-on-accent: #251d2e;--color-border: rgba(184, 154, 216, .15);--color-border-strong: rgba(184, 154, 216, .3);--color-tab-active-bg: #b89ad8;--color-tab-active-text: #251d2e;--color-tab-inactive-bg: rgba(184, 154, 216, .08);--color-tab-inactive-text: rgba(236, 228, 246, .7);--color-tab-badge-bg: rgba(184, 154, 216, .25);--color-tab-badge-text: #ece4f6;--color-tab-badge-active-bg: #251d2e;--color-tab-badge-active-text: #b89ad8;--color-nav-bg: rgba(37, 29, 46, .85);--color-nav-inactive: rgba(236, 228, 246, .4);--color-nav-active: #b89ad8;--color-modal-overlay: rgba(0, 0, 0, .6);--color-modal-bg: #251d2e;--color-card-bg: rgba(184, 154, 216, .05);--color-card-border: rgba(184, 154, 216, .15);--color-card-hover: rgba(184, 154, 216, .1);--color-btn-primary-bg: #b89ad8;--color-btn-primary-text: #251d2e;--color-cal-cell-bg: #1a1422;--color-cal-cell-active: #322940;--color-cal-grid-bg: rgba(0, 0, 0, .4);--color-cal-selected-from: #b89ad8;--color-cal-selected-to: #8e6fbc}[data-theme=peach]{--color-accent: #e29a6b;--color-accent-light: #f4c4a0;--color-bg-primary: #fff5ee;--color-bg-secondary: #ffffff;--color-bg-card: #ffffff;--color-bg-input: #fee8d6;--color-bg-elevated: #ffffff;--color-surface: rgba(226, 154, 107, .06);--color-surface-hover: rgba(226, 154, 107, .1);--color-surface-active: rgba(226, 154, 107, .16);--color-surface-elevated: rgba(255, 255, 255, .95);--color-text-primary: #3d2d22;--color-text-secondary: rgba(61, 45, 34, .6);--color-text-muted: rgba(61, 45, 34, .35);--color-text-on-accent: #ffffff;--color-border: rgba(226, 154, 107, .22);--color-border-strong: rgba(226, 154, 107, .38);--color-tab-active-bg: #e29a6b;--color-tab-active-text: #ffffff;--color-tab-inactive-bg: rgba(226, 154, 107, .08);--color-tab-inactive-text: rgba(61, 45, 34, .7);--color-tab-badge-bg: rgba(226, 154, 107, .3);--color-tab-badge-text: #3d2d22;--color-tab-badge-active-bg: #ffffff;--color-tab-badge-active-text: #e29a6b;--color-nav-bg: rgba(255, 245, 238, .85);--color-nav-inactive: rgba(61, 45, 34, .45);--color-nav-active: #e29a6b;--shadow-soft: 0 1px 3px rgba(226, 154, 107, .1);--shadow-medium: 0 2px 10px rgba(226, 154, 107, .14);--shadow-heavy: 0 8px 30px rgba(226, 154, 107, .18);--shadow-card: 0 1px 4px rgba(226, 154, 107, .12);--shadow-elevated: 0 10px 40px rgba(226, 154, 107, .22);--color-modal-overlay: rgba(61, 45, 34, .35);--color-modal-bg: #ffffff;--color-card-bg: #ffffff;--color-card-border: rgba(226, 154, 107, .18);--color-card-hover: #fff9f4;--color-btn-primary-bg: #e29a6b;--color-btn-primary-text: #ffffff;--color-cal-cell-bg: #ffffff;--color-cal-cell-active: #ffd4b3;--color-cal-grid-bg: rgba(226, 154, 107, .06);--color-cal-selected-from: #f4c4a0;--color-cal-selected-to: #e29a6b}[data-theme=peach-dark]{--color-accent: #f4b58a;--color-accent-light: #f8cba8;--color-bg-primary: #1f1813;--color-bg-secondary: #2a2018;--color-bg-card: #2a2018;--color-bg-input: #382b21;--color-bg-elevated: #2a2018;--color-surface: rgba(244, 181, 138, .06);--color-surface-hover: rgba(244, 181, 138, .1);--color-surface-active: rgba(244, 181, 138, .16);--color-surface-elevated: rgba(244, 181, 138, .08);--color-text-primary: #f6ebe1;--color-text-secondary: rgba(246, 235, 225, .6);--color-text-muted: rgba(246, 235, 225, .3);--color-text-on-accent: #2a2018;--color-border: rgba(244, 181, 138, .15);--color-border-strong: rgba(244, 181, 138, .3);--color-tab-active-bg: #f4b58a;--color-tab-active-text: #2a2018;--color-tab-inactive-bg: rgba(244, 181, 138, .08);--color-tab-inactive-text: rgba(246, 235, 225, .7);--color-tab-badge-bg: rgba(244, 181, 138, .25);--color-tab-badge-text: #f6ebe1;--color-tab-badge-active-bg: #2a2018;--color-tab-badge-active-text: #f4b58a;--color-nav-bg: rgba(42, 32, 24, .85);--color-nav-inactive: rgba(246, 235, 225, .4);--color-nav-active: #f4b58a;--color-modal-overlay: rgba(0, 0, 0, .6);--color-modal-bg: #2a2018;--color-card-bg: rgba(244, 181, 138, .05);--color-card-border: rgba(244, 181, 138, .15);--color-card-hover: rgba(244, 181, 138, .1);--color-btn-primary-bg: #f4b58a;--color-btn-primary-text: #2a2018;--color-cal-cell-bg: #1f1813;--color-cal-cell-active: #382b21;--color-cal-grid-bg: rgba(0, 0, 0, .4);--color-cal-selected-from: #f4b58a;--color-cal-selected-to: #e29a6b}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,Roboto,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;transition:background-color var(--transition-theme),color var(--transition-theme)}#root{height:100%}*,*:before,*:after{transition-property:background-color,border-color,box-shadow,color,fill,stroke;transition-duration:0s;transition-timing-function:ease}.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition-duration:.4s}.app{display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;background:var(--color-bg-primary)}.app button{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;padding-top:calc(12px + env(safe-area-inset-top,0px));background:transparent;border-bottom:1px solid var(--color-border);position:relative;z-index:10}.app-title{font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary)}.push-badge{font-size:16px;opacity:.7}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 16px calc(52px + env(safe-area-inset-bottom,0px))!important;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.header-left{display:flex;align-items:center;gap:8px}.header-help-btn,.header-settings-btn{background:none;border:none;font-size:18px;padding:4px 8px;border-radius:var(--radius-pill);cursor:pointer;transition:opacity var(--transition-medium);line-height:1;color:var(--color-text-primary)}.header-help-btn:hover,.header-settings-btn:hover{opacity:.7}.lang-switch{display:inline-flex;align-items:center;gap:4px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius-pill);cursor:pointer;line-height:1;transition:color var(--transition-medium),border-color var(--transition-medium)}.lang-switch:hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.lang-switch--auth{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:16px}.header-right{display:flex;align-items:center;gap:10px}.header-plan-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface)}.header-plan-badge.pro{color:var(--color-text-primary);border-color:#ffd70059}.user-login{font-size:13px;color:var(--color-text-secondary);font-weight:500}.logout-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;padding:4px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-medium)}.logout-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.tab-bar{display:flex;background:var(--color-nav-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border-top:1px solid var(--color-border);padding-bottom:max(8px,env(safe-area-inset-bottom,0px))!important;position:fixed;bottom:0!important;left:0;right:0;max-width:480px;margin:0 auto;z-index:100;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tab-bar--reordering{touch-action:none}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 0 2px;background:none;border:none;color:var(--color-nav-inactive);font-size:9px;cursor:pointer;transition:color var(--transition-medium);font-weight:500;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tab-item.dragging{transform:translateY(-6px) scale(1.04);opacity:.92}.tab-item.active{color:var(--color-nav-active);font-weight:600}.tab-icon{font-size:18px}.tab-label{font-weight:500;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.notes-list{flex:1;overflow-y:auto;margin-bottom:8px;-webkit-overflow-scrolling:touch}.app-content::-webkit-scrollbar{width:3px}@supports (padding-top: env(safe-area-inset-top)){.app-header{padding-top:calc(12px + env(safe-area-inset-top))}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--color-text-muted);font-size:15px}.error-boundary{display:flex;align-items:center;justify-content:center}.error-boundary-content{text-align:center;padding:2rem}.error-boundary-content h2{margin-bottom:1rem;font-weight:600}.error-boundary-msg{color:var(--color-text-secondary);margin-bottom:1rem;font-size:14px}.error-boundary-btn{padding:12px 28px;border-radius:var(--radius-medium);background:var(--color-accent);color:var(--color-text-on-accent);border:none;cursor:pointer;font-size:15px;font-weight:600;transition:opacity var(--transition-medium)}.error-boundary-btn:active{opacity:.8}.mt-16{margin-top:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.2}to{transform:scale(1);opacity:.5}}@keyframes pulse-border{0%{border-color:var(--color-accent)}50%{border-color:var(--color-accent-light)}to{border-color:var(--color-accent)}}@keyframes zone-pulse{0%{opacity:.3}50%{opacity:.8}to{opacity:.3}}@keyframes pwaPulse{0%,to{box-shadow:0 2px 8px #007aff40}50%{box-shadow:0 4px 18px #007aff73}}@keyframes pwaShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-preview{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.ob2-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;overflow:hidden;background:var(--color-bg-primary);transition:background var(--transition-theme)}.ob2-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 0%,rgba(233,69,96,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(175,82,222,.06) 0%,transparent 60%);pointer-events:none}[data-theme=light] .ob2-bg{background:radial-gradient(ellipse at 20% 0%,rgba(233,69,96,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(175,82,222,.04) 0%,transparent 60%)}.ob2-skip{margin-top:14px;margin-bottom:max(8px,env(safe-area-inset-bottom,0px));padding:12px 28px;background:transparent;border:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--radius-pill);letter-spacing:-.01em;transition:color var(--transition-medium),background var(--transition-medium);z-index:2;-webkit-tap-highlight-color:transparent;position:relative;pointer-events:auto}.ob2-skip:hover,.ob2-skip:active{color:var(--color-text-primary);background:var(--color-surface)}.ob2-card{background:var(--color-bg-card);border:1px solid var(--color-card-border);border-radius:var(--radius-xl);padding:28px 20px 24px;width:100%;max-width:400px;box-shadow:var(--shadow-medium);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);z-index:1;transition:opacity .28s ease,transform .28s ease}.ob2-card.ob2-in{opacity:1;transform:translate(0) scale(1)}.ob2-card.ob2-out-next{opacity:0;transform:translate(-40px) scale(.97)}.ob2-card.ob2-out-prev{opacity:0;transform:translate(40px) scale(.97)}.ob2-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 16px;border-radius:var(--radius-medium);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-accent);animation:ob2-icon-enter .5s ease both}@keyframes ob2-icon-enter{0%{transform:scale(.3) translateY(16px);opacity:0}60%{transform:scale(1.06) translateY(-3px)}to{transform:scale(1) translateY(0);opacity:1}}.ob2-title{font-size:20px;font-weight:700;color:var(--color-text-primary);line-height:1.35;margin:0 0 16px;letter-spacing:-.03em;text-align:center}.ob2-lines{display:flex;flex-direction:column;align-items:center;gap:0}.ob2-line{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin:0;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}.ob2-line.ob2-line-visible{opacity:1;transform:translateY(0)}.ob2-line.ob2-line-spacer{height:6px}.ob2-footer{font-size:14px;font-weight:600;color:var(--color-accent);margin-top:16px;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.ob2-footer.ob2-footer-visible{opacity:1;transform:translateY(0)}.ob2-dots{display:flex;gap:6px;margin-top:24px;z-index:1}.ob2-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border-strong);transition:all .3s ease}.ob2-dot.active{width:24px;border-radius:4px;background:var(--color-accent)}.ob2-dot.done{background:var(--color-accent);opacity:.4}.ob2-actions{display:flex;gap:10px;margin-top:20px;width:100%;max-width:400px;z-index:1}.ob2-btn{padding:14px 20px;border:none;border-radius:var(--radius-medium);font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium),transform .1s;letter-spacing:-.01em}.ob2-btn:active{transform:scale(.97)}.ob2-btn-next{flex:1;background:var(--color-accent);color:var(--color-text-on-accent)}.ob2-btn-next:active{opacity:.85}.ob2-btn-back{width:50px;flex-shrink:0;background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:18px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ob2-btn-back:active{background:var(--color-surface-active);color:var(--color-text-primary)}.wall-tabs{display:flex;gap:10px;padding:12px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;border-bottom:1px solid var(--color-border)}.wall-tabs--bottom{border-bottom:none;border-top:1px solid var(--color-border);padding:10px 12px 8px;background:#00000014}.wall-tabs::-webkit-scrollbar{display:none}.wall-tab-btn{flex:0 0 auto;padding:10px 18px;background:var(--color-tab-inactive-bg);border:none;border-radius:var(--radius-pill);font-size:14px;font-weight:500;color:var(--color-tab-inactive-text);cursor:pointer;transition:all var(--transition-medium);display:flex;align-items:center;gap:8px;white-space:nowrap;letter-spacing:-.01em}.wall-tab-btn:hover{background:var(--color-surface-hover)}.wall-tab-btn.active{background:var(--color-tab-active-bg);color:var(--color-tab-active-text);font-weight:600}.wall-tab-badge{font-size:12px;background:var(--color-tab-badge-bg);color:var(--color-tab-badge-text);border-radius:var(--radius-pill);padding:2px 8px;min-width:22px;text-align:center;line-height:16px;font-weight:600;transition:all var(--transition-medium)}.wall-tab-btn.active .wall-tab-badge{background:var(--color-tab-badge-active-bg);color:var(--color-tab-badge-active-text)}.period-tabs{display:flex;gap:8px;margin-bottom:16px}.period-tab{padding:10px 24px;background:var(--color-tab-inactive-bg);border:none;border-radius:var(--radius-pill);color:var(--color-tab-inactive-text);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-medium);white-space:nowrap}.period-tab.active{background:var(--color-tab-active-bg);color:var(--color-tab-active-text);font-weight:600}.period-tab:not(.active):hover{background:var(--color-surface-hover)}.mt-8{margin-top:8px}.section-title{font-size:20px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:16px;letter-spacing:-.02em;color:var(--color-text-primary)}.loading{text-align:center;padding:40px;color:var(--color-text-muted)}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.spinner.small{width:14px;height:14px;border-width:2px}.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-secondary)}.empty-state.small{padding:20px 16px}.empty-icon{font-size:48px;display:block;margin-bottom:12px}.empty-hint{font-size:13px;color:var(--color-text-muted);margin-top:8px}.task-item,.event-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--color-border);font-size:14px}.task-item:last-child,.event-item:last-child{border-bottom:none}.task-item.done .task-text{text-decoration:line-through;color:var(--color-text-muted)}.task-check{font-size:18px;flex-shrink:0}.task-text{flex:1;cursor:pointer;min-width:0}.task-date{margin-left:auto;font-size:12px;color:var(--color-accent-blue)}.event-time{font-weight:600;color:var(--color-accent-orange);flex-shrink:0;font-size:13px}.event-text{color:var(--color-text-primary)}.note-mini{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border);font-size:13px}.note-mini:last-child{border-bottom:none}.note-mini-time{color:var(--color-accent-blue);font-weight:600;flex-shrink:0}.note-mini-text{color:var(--color-text-secondary);line-height:1.4}.app-content::-webkit-scrollbar{width:4px}.app-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.wall-container{flex:1;min-height:0;display:flex;flex-direction:column;flex-shrink:1;border-radius:0;border:none;border-bottom:1px solid var(--color-border);background:transparent;overflow:hidden;margin-bottom:0;box-shadow:none}.wall-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}.wall-mobile-fab-anchor{position:sticky;bottom:6px;display:flex;justify-content:flex-end;margin-top:auto;padding-top:10px;pointer-events:none;z-index:6}.wall-mobile-fab-anchor>*{pointer-events:auto}.wall-content .sticker-board{margin-bottom:0;border:none;background:transparent;padding:0}.wall-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-secondary);text-align:center;gap:8px}.wall-empty-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;margin-bottom:16px}.wall-empty p{margin:2px 0;font-size:20px;font-weight:500;color:var(--color-text-primary)}.wall-empty-hint{font-size:14px;color:var(--color-text-secondary);opacity:1;max-width:280px}.events-list{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.events-board,.dreams-board,.shopping-board{min-height:100%;display:flex;flex-direction:column}.events-list .note-card{margin-bottom:0}.sticker-board{margin-bottom:16px;flex-shrink:0;min-height:100%;display:flex;flex-direction:column;background:var(--color-bg-secondary);border-radius:var(--radius-large);padding:14px;border:1px solid var(--color-border)}.sticker-board-title{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--color-text-primary);letter-spacing:-.02em}.events-add-btn{background:#fff;color:#000;border:none;border-radius:50%;width:46px;height:46px;font-size:28px;line-height:1;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 28px #0000002e}.events-add-btn:hover{opacity:.96}.events-add-btn:active{transform:scale(.9)}.events-add-btn--floating{margin-left:auto}[data-theme=light] .events-add-btn{background:#000;color:#fff;box-shadow:0 14px 28px #00000029}.sticker-add-btn{margin-left:auto;background:var(--color-accent-orange);color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1;cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast);padding:0;display:flex;align-items:center;justify-content:center}.sticker-add-btn:active{transform:scale(.9)}.sticker-add-btn--floating{width:46px;height:46px;font-size:28px;line-height:1;box-shadow:0 14px 28px #ff95003d}.sticker-empty{text-align:center;padding:20px 12px;color:var(--color-text-muted)}.sticker-empty-icon{font-size:28px;display:block;margin-bottom:8px}.sticker-empty p{margin:2px 0;font-size:13px}.sticker-empty-hint{font-size:12px;opacity:.7}.sticker-count{font-size:11px;background:var(--color-accent-orange);color:#fff;border-radius:var(--radius-pill);padding:1px 7px;font-weight:600}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:2px}.sticker-card{border-radius:12px;padding:10px 8px;min-height:72px;cursor:pointer;display:flex;align-items:flex-start;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast);position:relative}.sticker-card:active{transform:scale(.95)}.sticker-card-title{font-size:11px;font-weight:600;color:#333;line-height:1.35;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 360px){.sticker-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1023px){.wall-content{padding-bottom:10px}.sticker-add-btn--header{display:none}}@media (min-width: 1024px){.sticker-add-btn--floating{display:none}}.pwa-install-sticker{background:linear-gradient(135deg,#e0f2ff,#b3d9ff);border:2px dashed var(--color-accent-blue);animation:pwaPulse 2.5s ease-in-out infinite;position:relative;overflow:hidden}.pwa-install-sticker:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);animation:pwaShimmer 3s ease-in-out infinite}.pwa-install-title{color:#1a6fbf;font-weight:700;font-size:11px;line-height:1.3;position:relative;z-index:1}.pwa-install-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);margin-bottom:10px;animation:fadeIn .3s ease;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.pwa-install-banner-text{flex:1;font-size:13px;color:var(--color-text-primary);line-height:1.4}.pwa-install-banner-close{background:none;border:none;color:var(--color-text-muted);font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:color var(--transition-medium)}.pwa-install-banner-close:active{color:var(--color-text-primary)}.dreams-list{display:flex;flex-direction:column;gap:10px}.dream-card{background:var(--color-surface);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-large);border:1px solid var(--color-border);padding:14px 16px;cursor:pointer;transition:background var(--transition-medium)}.dream-card:active{background:var(--color-surface-active)}.dream-card-header{display:flex;justify-content:space-between;align-items:center}.dream-card-title{font-size:15px;font-weight:600;color:var(--color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px;letter-spacing:-.02em}.dream-card-date{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.dream-card-body{margin-top:8px;animation:fadeIn .2s ease}.dream-card-text{font-size:14px;color:var(--color-text-secondary);line-height:1.55;white-space:pre-wrap;margin-bottom:10px}.dream-delete-btn{background:#ff3b301f;color:var(--color-accent-red);border:none;border-radius:var(--radius-small);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium)}.dream-delete-btn:active{opacity:.7}.book-view{display:flex;flex-direction:column;height:100%;min-height:100%}.book-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-shrink:0}.book-word-count{font-size:12px;color:var(--color-text-muted);font-weight:500}.book-view-actions{display:flex;gap:6px}.book-view-actions--floating{gap:8px}.book-action-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);width:34px;height:34px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-medium);color:var(--color-text-secondary)}.book-action-btn:active{background:var(--color-surface-active)}.book-view-actions--floating .book-action-btn{width:42px;height:42px;border-radius:14px;box-shadow:0 14px 28px #0f172a24;background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.book-text{font-size:15px;line-height:1.7;color:var(--color-text-primary);white-space:pre-wrap;flex:1;overflow-y:auto}.book-start-btn{margin-top:12px;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-medium);padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium)}.book-start-btn:active{opacity:.8}.book-editor{display:flex;flex-direction:column;height:100%;gap:8px}.book-textarea{flex:1;font-size:15px;line-height:1.6;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-bg-input);color:var(--color-text-primary);font-family:inherit;resize:none;outline:none;transition:border-color var(--transition-medium)}.book-textarea:focus{border-color:var(--color-accent-blue)}.book-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 1023px){.book-view-actions--top{display:none}}@media (min-width: 1024px){.book-view-actions--floating{display:none}}.shopping-lists{display:flex;flex-direction:column;gap:10px}.shopping-list-card{background:var(--color-surface);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-large);border:1px solid var(--color-border);padding:14px 16px;transition:background var(--transition-medium)}.shopping-list-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.shopping-list-title{font-size:15px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.shopping-list-count{font-size:12px;color:var(--color-text-muted)}.shopping-list-toggle{font-size:16px;transition:transform var(--transition-medium);color:var(--color-text-muted)}.shopping-list-toggle.open{transform:rotate(180deg)}.shopping-items{margin-top:10px;display:flex;flex-direction:column;gap:2px}.shopping-item{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:var(--radius-small);transition:background var(--transition-fast)}.shopping-item:hover{background:var(--color-surface-hover)}.shopping-item-check{background:none;border:none;font-size:18px;cursor:pointer;color:var(--color-text-primary);padding:0;flex-shrink:0}.shopping-item-text{flex:1;font-size:14px;color:var(--color-text-primary)}.shopping-item.done .shopping-item-text{text-decoration:line-through;color:var(--color-text-muted)}.shopping-item-qty{font-size:12px;color:var(--color-text-muted)}.shopping-delete-btn{background:none;border:none;color:var(--color-text-muted);font-size:12px;cursor:pointer;padding:2px 4px;opacity:.5;transition:opacity var(--transition-medium)}.shopping-delete-btn:hover{opacity:1;color:var(--color-accent-red)}.dream-card-actions{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.dream-analyze-btn{background:#5856d61f;color:var(--color-accent-purple, #5856d6);border:none;border-radius:var(--radius-small);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:opacity var(--transition-medium)}.dream-analyze-btn:active{opacity:.7}.dream-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.spin-icon{animation:dreamSpin 1s linear infinite}@keyframes dreamSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dream-analysis{margin-top:12px;padding:14px 16px;background:var(--color-surface-hover, rgba(120, 120, 128, .08));border-radius:var(--radius-medium);border-left:3px solid var(--color-accent-purple, #5856d6);animation:fadeIn .3s ease}.dream-analysis-title{font-size:14px;font-weight:700;color:var(--color-accent-purple, #5856d6);margin-bottom:12px;letter-spacing:-.02em}.dream-analysis-section{margin-bottom:10px}.dream-analysis-section:last-child{margin-bottom:0}.dream-analysis-label{font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.dream-analysis-text{font-size:13px;line-height:1.55;color:var(--color-text-secondary);margin:0;white-space:pre-wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease;padding:0 0 env(safe-area-inset-bottom,0px) 0}.modal-content{width:100%;max-width:420px;max-height:85vh;background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px;box-shadow:var(--shadow-heavy);animation:slideUpModal .35s cubic-bezier(.32,.72,0,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay.centered{align-items:center;padding:16px}.modal-overlay.centered .modal-content{border-radius:var(--radius-xl);max-height:80vh}@keyframes slideUpModal{0%{transform:translateY(100%);opacity:.5}to{transform:translateY(0);opacity:1}}.modal-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--color-text-primary);letter-spacing:-.03em}.modal-close-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:8px 20px;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-medium)}.modal-close-btn:active{background:var(--color-surface-active)}.modal-btn-primary{flex:1;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-medium);padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium)}.modal-btn-primary:active{opacity:.8}.modal-btn-secondary{flex:1;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:background var(--transition-medium)}.modal-btn-secondary:active{background:var(--color-surface-active)}.sticker-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease;padding:16px}.sticker-modal{background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;width:100%;max-width:360px;box-shadow:var(--shadow-heavy);animation:modalScaleIn .25s cubic-bezier(.32,.72,0,1)}.sticker-modal h3{font-size:18px;font-weight:700;margin-bottom:14px;color:var(--color-text-primary);letter-spacing:-.03em}.sticker-modal-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg-input);color:var(--color-text-primary);font-size:14px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color var(--transition-medium)}.sticker-modal-input:focus{border-color:var(--color-accent-blue)}.sticker-modal-colors{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.sticker-color-btn{width:32px;height:32px;border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:2px solid transparent}.sticker-color-btn:active{transform:scale(.9)}.sticker-color-btn.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-primary),0 0 0 4px var(--color-text-primary)}.sticker-modal-actions{display:flex;gap:8px;margin-top:14px}.sticker-modal-save{flex:1;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-medium);padding:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium)}.sticker-modal-save:active{opacity:.8}.sticker-modal-cancel{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition-medium)}.sticker-modal-cancel:active{background:var(--color-surface-active)}.sticker-modal-delete{background:#ff3b301f;color:#ff453a;border:none;border-radius:var(--radius-medium);padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.sticker-modal-delete:active{opacity:.7}.pwa-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease}.pwa-guide-modal{background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px;width:100%;max-width:420px;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-heavy);animation:slideUpModal .35s cubic-bezier(.32,.72,0,1)}.pwa-guide-modal h3{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--color-text-primary);letter-spacing:-.03em}.pwa-guide-step{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.pwa-guide-step:last-child{border-bottom:none}.pwa-guide-step-number{width:24px;height:24px;background:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.pwa-guide-step-text{font-size:14px;color:var(--color-text-secondary);line-height:1.45}.pwa-guide-close-btn{width:100%;margin-top:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:12px;font-size:15px;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-medium)}.pwa-guide-close-btn:active{background:var(--color-surface-active)}.calendar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .15s ease;padding:16px}.calendar-modal{background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;width:100%;max-width:360px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-heavy);animation:modalScaleIn .25s cubic-bezier(.32,.72,0,1)}.calendar-modal h3{font-size:18px;font-weight:700;text-align:center;margin-bottom:12px;color:var(--color-text-primary);letter-spacing:-.03em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px;text-align:center}.calendar-day-header{font-size:11px;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;padding:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast);font-weight:500}.calendar-day:hover{background:var(--color-surface-hover)}.calendar-day.has-notes{background:#e9456026;color:var(--color-accent);font-weight:700}.calendar-day.today{background:var(--color-accent);color:var(--color-text-on-accent);font-weight:700}.calendar-day.other-month{color:var(--color-text-muted);opacity:.5}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-nav-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:background var(--transition-fast)}.calendar-nav-btn:active{background:var(--color-surface-active)}.calendar-month-label{font-size:15px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.edit-note-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:flex-end;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease}.edit-note-modal{background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px;width:100%;max-width:420px;max-height:80vh;box-shadow:var(--shadow-heavy);animation:slideUpModal .35s cubic-bezier(.32,.72,0,1)}.edit-note-modal h3{font-size:18px;font-weight:700;margin-bottom:14px;color:var(--color-text-primary);letter-spacing:-.03em}.edit-note-textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-bg-input);color:var(--color-text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box;transition:border-color var(--transition-medium)}.edit-note-textarea:focus{border-color:var(--color-accent-blue)}.edit-note-actions{display:flex;gap:8px;margin-top:12px}.edit-note-save{flex:1;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-medium);padding:12px;font-size:15px;font-weight:600;cursor:pointer}.edit-note-save:active{opacity:.8}.edit-note-cancel{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:12px 18px;font-size:15px;font-weight:500;cursor:pointer}.edit-note-cancel:active{background:var(--color-surface-active)}.notes-screen{display:flex;flex-direction:column;flex:1;min-height:0}.record-bottom-zone{margin-top:auto;margin-bottom:10px;padding:26px 18px;background:var(--color-surface);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--color-border-strong);border-radius:var(--radius-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all .3s ease;min-height:102px;user-select:none;-webkit-user-select:none}.record-bottom-zone:active{transform:scale(.98)}.record-bottom-zone.recording{border-color:var(--color-accent);background:linear-gradient(135deg,rgba(233,69,96,.12),var(--color-surface))}.record-bottom-pulse{position:absolute;top:0;right:0;bottom:0;left:0;background:#e945601a;animation:zone-pulse 2s ease-in-out infinite}.record-bottom-content{display:flex;align-items:center;gap:12px;z-index:1}.record-bottom-icon{font-size:30px}.record-bottom-hint{font-size:14px;color:var(--color-text-secondary)}.record-limit-hint{font-size:12px;color:var(--color-text-muted);text-align:center;margin-top:2px}.record-recording{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:8px}.record-split{display:flex;align-items:stretch;width:100%}.record-split-divider{width:1px;align-self:stretch;background:var(--color-border-strong);margin:4px 0}.record-half{flex:1 1 50%;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:none;padding:10px 8px;border-radius:var(--radius-small);cursor:pointer;color:var(--color-text-secondary);transition:background var(--transition-medium),color var(--transition-medium);user-select:none;-webkit-user-select:none}.record-half:active{transform:scale(.97)}.record-half-cancel{color:var(--color-text-muted)}.record-half-cancel:hover{background:var(--color-surface);color:var(--color-text-primary)}.record-half-label{font-size:14px;font-weight:600}.record-half-stop{color:var(--color-accent)}.record-half-stop:hover{background:#e9456014}.recording-info{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--color-accent)}.recording-dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent);animation:blink 1s infinite}.recording-time{font-variant-numeric:tabular-nums}.upload-status{display:flex;align-items:center;gap:8px;color:var(--color-accent-blue);font-size:14px}.note-card{background:var(--color-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px;padding:20px;margin-bottom:10px;border:1px solid var(--color-card-border);transition:background var(--transition-medium)}.note-card:hover{background:var(--color-card-hover)}.note-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:12px;color:var(--color-text-secondary)}.note-time{font-weight:500;color:var(--color-text-primary);font-size:15px;opacity:.9}.note-duration{background:var(--color-surface);padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;color:var(--color-text-secondary)}.note-delete{margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:4px;border-radius:var(--radius-small);transition:color var(--transition-medium),opacity var(--transition-medium);opacity:0}.note-card:hover .note-delete{opacity:1}.note-delete:hover{color:var(--color-text-primary)}.note-text{font-size:15px;line-height:1.6;color:var(--color-text-primary);opacity:.8}.note-status{font-size:14px;margin-left:auto;margin-right:4px}.note-failed{border-color:#e945604d}.transcribing{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-style:italic}.transcribe-error{color:var(--color-accent-light);font-size:13px;font-style:italic}.summary-screen{display:flex;flex-direction:column;gap:12px;padding:16px 0}.back-btn{background:none;border:none;color:var(--color-accent-blue);cursor:pointer;font-size:15px;font-weight:500;padding:8px 0;text-align:left}.generate-now-btn{width:100%;padding:16px;background:var(--color-btn-primary-bg);border:none;border-radius:var(--radius-medium);color:var(--color-btn-primary-text);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;transition:background var(--transition-medium),transform .1s}.generate-now-btn:hover{opacity:.9}.generate-now-btn:active{transform:scale(.98)}.generate-now-btn:disabled{opacity:.5;cursor:not-allowed}.day-list{display:flex;flex-direction:column;gap:10px}.day-card{display:flex;flex-direction:column;gap:6px;background:var(--color-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-card-border);border-radius:var(--radius-medium);padding:16px;text-align:left;cursor:pointer;color:var(--color-text-primary);transition:background var(--transition-medium);width:100%;box-shadow:var(--shadow-card)}.day-card:active,.day-card:hover{background:var(--color-card-hover)}.day-card-header{display:flex;align-items:center;justify-content:space-between}.day-card-delete{color:#ff453a;padding:4px;border-radius:6px;display:flex;align-items:center;cursor:pointer;transition:background var(--transition-medium);flex-shrink:0}.day-card-delete:active{background:#ff3b3026}.day-date{font-weight:500;font-size:14px;letter-spacing:-.01em;color:var(--color-text-secondary)}.day-info{display:flex;gap:8px;flex-wrap:wrap}.day-badge{font-size:12px;padding:4px 10px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:4px}.day-badge.summary{background:#a855f733;color:#a78bfa}.day-badge.tasks{background:#22c55e33;color:#4ade80}.day-badge.events{background:#3b82f633;color:#60a5fa}.day-badge.notes{background:#eab30833;color:#facc15}[data-theme=light] .day-badge.summary{background:#a855f71a;color:#7c3aed}[data-theme=light] .day-badge.tasks{background:#22c55e1a;color:#15803d}[data-theme=light] .day-badge.events{background:#3b82f61a;color:#1d4ed8}[data-theme=light] .day-badge.notes{background:#eab3081a;color:#a16207}.day-preview{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.summary-block,.tasks-block,.events-block,.notes-block,.generate-block{background:var(--color-surface);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-large);padding:16px;border:1px solid var(--color-border)}.summary-block h3,.tasks-block h3,.events-block h3,.notes-block h3{font-size:15px;font-weight:700;margin-bottom:10px;letter-spacing:-.02em}.summary-text{font-size:14px;line-height:1.65;color:var(--color-text-primary);margin-bottom:12px}.conclusions-block{border-left:3px solid var(--color-accent-blue)}.conclusions-block h3{color:var(--color-accent-blue)}.recommendations-block{border-left:3px solid var(--color-accent-orange);background:#ff95000a}.recommendations-block h3{color:var(--color-accent-orange)}.recommendations-text{display:flex;flex-direction:column;gap:8px}.recommendation-item{font-size:14px;line-height:1.5;color:var(--color-text-primary);padding:8px 12px;background:#ff95000f;border-radius:var(--radius-small);border-left:2px solid var(--color-accent-orange)}.audio-btn{width:100%;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);color:var(--color-text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--transition-medium);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px}.audio-btn:active{background:var(--color-surface-active)}.audio-btn.playing{background:#ff3b301f;border-color:#ff3b304d;color:#ff453a}.audio-btn:disabled{opacity:.6;cursor:wait}.play-all-btn{margin-bottom:12px;padding:14px;font-size:15px;background:var(--color-accent-green);color:#fff;border:none;border-radius:var(--radius-medium)}.play-all-btn.playing{background:#ff453a}.generate-block{text-align:center}.generate-block p{color:var(--color-text-secondary);margin-bottom:12px}.generate-btn{padding:12px 24px;background:var(--color-accent);border:none;border-radius:var(--radius-medium);color:var(--color-text-on-accent);font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:opacity var(--transition-medium)}.generate-btn:hover{opacity:.9}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.summary-detail-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.summary-detail-header .section-title{flex:1;margin:0}.delete-summary-btn{background:none;border:none;color:#ff453a;cursor:pointer;padding:8px;border-radius:var(--radius-small);transition:background var(--transition-medium);flex-shrink:0;display:flex;align-items:center}.delete-summary-btn:active{background:#ff3b3026}.life-score-summary-block{background:#e945600a;border:1px solid rgba(233,69,96,.15)}.life-score-summary-score{display:flex;align-items:baseline;gap:2px;margin:8px 0 10px}.life-score-summary-number{font-size:36px;font-weight:700;line-height:1}.life-score-summary-max{font-size:16px;color:var(--color-text-tertiary)}.life-score-summary-factors{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.life-score-factor{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.life-score-factor-icon{font-size:13px;width:13px;text-align:center}.life-score-factor-label{flex:1}.life-score-factor-value{font-weight:600;color:var(--color-text-primary)}.life-score-factor-weight{font-size:11px;color:var(--color-text-tertiary);background:var(--color-bg-input);padding:1px 5px;border-radius:var(--radius-pill)}.life-score-summary-comment{display:flex;align-items:flex-start;gap:5px;font-size:13px;color:var(--color-text-secondary);font-style:italic;margin-bottom:10px;line-height:1.4}.life-score-summary-insight{font-size:13px;line-height:1.5;color:var(--color-text-primary);white-space:pre-line;background:#e945600f;padding:10px 12px;border-radius:var(--radius-small);margin-top:8px}.analytics-chart{background:var(--color-surface);border-radius:var(--radius-medium);border:1px solid var(--color-border);padding:12px 14px;margin-bottom:4px}.analytics-chart-toggles{display:flex;gap:8px;margin-bottom:8px}.chart-toggle{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-tertiary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.chart-toggle.active.score{background:#e945601f;border-color:var(--color-accent);color:var(--color-accent)}.chart-toggle.active.steps{background:#34c7591f;border-color:var(--color-accent-green);color:var(--color-accent-green)}.chart-toggle-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.chart-toggle-dot.score-dot{background:var(--color-accent)}.chart-toggle-dot.steps-dot{background:var(--color-accent-green)}.analytics-chart-svg{width:100%;height:auto;max-height:180px}.analytics-steps-label{text-align:right;font-size:10px;color:var(--color-accent-green);margin-top:2px;opacity:.7}.calendar-screen{display:flex;flex-direction:column;gap:8px;margin:-16px -16px 0;padding:0}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.nav-btn{background:var(--color-surface);border:none;color:var(--color-text-primary);font-size:20px;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background var(--transition-medium)}.nav-chevron{width:12px;height:12px;display:block;border-top:1.8px solid currentColor}.nav-chevron--left{border-left:1.8px solid currentColor;transform:rotate(-45deg) translate(1px,1px)}.nav-chevron--right{border-right:1.8px solid currentColor;transform:rotate(45deg) translate(-1px,1px)}.nav-btn:active{background:var(--color-surface-active)}.nav-title{font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 8px}.weekday-header{text-align:center;font-size:12px;font-weight:600;color:var(--color-text-muted);padding:8px 0}.calendar-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;background:var(--color-cal-cell-bg);border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-medium);color:var(--color-text-primary);font-size:14px;padding:8px 4px;min-height:64px}.calendar-cell.empty{background:transparent;cursor:default}.calendar-cell:not(.empty):active{transform:scale(.95)}.calendar-cell:not(.empty):hover{background:var(--color-cal-cell-active)}.calendar-cell.today{background:var(--color-cal-cell-active);color:var(--color-text-primary);font-weight:700}.calendar-cell.selected{background:linear-gradient(135deg,var(--color-cal-selected-from),var(--color-cal-selected-to));color:#fff;font-weight:700}.cell-day{font-size:15px;font-weight:500;line-height:1}.cell-indicators{display:flex;gap:3px;min-height:6px;margin-top:4px}.dot{width:5px;height:5px;border-radius:50%}.event-dot{background:#3b82f6}.task-dot{background:#22c55e}.note-dot{background:#f97316}.day-detail{background:var(--color-surface);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-large);padding:16px;border:1px solid var(--color-border);animation:slideUp .2s ease}.day-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.day-detail-header h3{font-size:15px;font-weight:700;letter-spacing:-.02em}.close-btn{background:none;border:none;color:var(--color-text-muted);font-size:18px;cursor:pointer;padding:4px}.day-events,.day-tasks{margin-bottom:12px}.day-events h4,.day-tasks h4{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--color-text-secondary)}.event-row,.task-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border);font-size:13px}.event-row:last-child,.task-row:last-child{border-bottom:none}.task-row.done .task-text{text-decoration:line-through;color:var(--color-text-muted)}.task-checkbox{flex-shrink:0;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--color-border-strong);background:transparent;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.task-checkbox:active{transform:scale(.92)}.task-checkbox:hover{border-color:var(--color-accent-green)}.task-checkbox.checked{background:var(--color-accent-green);border-color:var(--color-accent-green);animation:checkboxPop .18s ease}@keyframes checkboxPop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.task-row .task-text{flex:1;display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:4px 0}.task-row .task-label{flex:1;min-width:0}.task-time{flex-shrink:0;font-variant-numeric:tabular-nums;font-size:12px;color:var(--color-text-muted);background:var(--color-surface-2, var(--color-border));border-radius:5px;padding:1px 5px}.task-importance-badge{flex-shrink:0;display:inline-flex;align-items:center;color:var(--color-text-muted)}.task-importance-badge.imp-1{color:var(--color-accent, var(--color-text))}.task-importance-badge.imp-2{color:var(--color-accent-red, #e5484d)}.task-row.task-urgent .task-label{font-weight:600}.task-move-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-modal-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1100;animation:fadeIn .18s ease}.task-move-sheet{width:100%;max-width:480px;background:var(--color-modal-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid var(--color-border);box-shadow:var(--shadow-elevated);padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px));animation:sheetSlideUp .25s cubic-bezier(.32,.72,0,1)}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.task-move-handle{width:36px;height:4px;border-radius:2px;background:var(--color-text-muted);opacity:.5;margin:4px auto 12px}.task-move-title{font-size:17px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px}.task-move-task{font-size:13px;color:var(--color-text-secondary);margin-bottom:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-move-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.task-move-option{display:flex;align-items:center;gap:10px;width:100%;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);color:var(--color-text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.task-move-option:active{background:var(--color-surface-active)}.task-move-option:hover{border-color:var(--color-accent-blue)}.task-move-option-label{font-weight:600;flex-shrink:0}.task-move-option-date{flex:1;text-align:right;font-size:13px;color:var(--color-text-secondary);font-weight:400}.task-move-option-arrow{color:var(--color-text-muted);flex-shrink:0}.task-move-cancel{width:100%;padding:14px;border:none;border-radius:var(--radius-medium);background:var(--color-bg-input);color:var(--color-text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.task-move-cancel:active{background:var(--color-surface-active)}.task-move-datepicker{display:flex;flex-direction:column;gap:8px;padding:4px 0}.task-move-datelabel{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.task-move-dateinput{padding:14px 12px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-bg-input);color:var(--color-text-primary);font-size:16px;font-family:inherit;outline:none;transition:border-color var(--transition-fast);width:100%;box-sizing:border-box}.task-move-dateinput:focus{border-color:var(--color-accent-blue)}.task-move-actions{display:flex;gap:8px;margin-top:8px}.delete-mini{margin-left:auto;background:none;border:none;color:var(--color-text-muted);font-size:12px;cursor:pointer;padding:2px 4px;opacity:.5;transition:opacity var(--transition-medium)}.delete-mini:hover{opacity:1;color:var(--color-accent)}.day-actions{display:flex;gap:8px;margin-bottom:12px}.add-btn{flex:1;background:var(--color-surface);border:1px dashed var(--color-border);color:var(--color-accent-blue);font-size:13px;font-weight:500;padding:8px;border-radius:var(--radius-small);cursor:pointer;transition:background var(--transition-medium)}.add-btn:active{background:var(--color-surface-active)}.event-main{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;min-width:0}.event-recurrence,.recurring-badge{font-size:12px;opacity:.6;flex-shrink:0}.event-row.event-important{background:#ffc10714;border-left:3px solid #ffc107;padding-left:8px;border-radius:4px}.event-row.event-important .event-text{font-weight:600}.text-important{text-decoration:underline;text-decoration-color:#ffc107;text-underline-offset:3px}.priority-badge{font-size:14px;flex-shrink:0}.priority-field label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500}.priority-field input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#ffc107}.priority-field .field-hint{display:block;margin-top:4px;margin-left:26px;font-size:11px;color:var(--color-text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .15s ease}.modal-content{background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-heavy);animation:modalScaleIn .25s cubic-bezier(.32,.72,0,1)}@keyframes modalScaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.modal-content h3{font-size:17px;font-weight:700;margin-bottom:16px;letter-spacing:-.02em}.modal-field{margin-bottom:12px}.modal-field label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.modal-field input,.modal-field select{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg-input);color:var(--color-text-primary);font-size:14px;outline:none;transition:border-color var(--transition-medium);box-sizing:border-box}.modal-field input:focus,.modal-field select:focus{border-color:var(--color-accent-blue)}.modal-field .field-hint{font-size:11px;color:var(--color-text-muted);margin-top:2px;display:block}.modal-actions{display:flex;gap:8px;margin-top:16px}.btn-cancel{flex:1;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition-medium)}.btn-cancel:active{background:var(--color-surface-active)}.btn-save{flex:1;padding:12px;border:none;border-radius:var(--radius-medium);background:var(--color-accent-blue);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium)}.btn-save:active{opacity:.85}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:24px 20px;min-height:100%}.consent-card{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:stretch;text-align:left}.consent-icon{align-self:center;color:var(--color-accent);margin-bottom:8px}.consent-title{font-size:22px;font-weight:700;text-align:center;color:var(--color-text-primary);margin:0 0 8px;letter-spacing:-.02em}.consent-intro{font-size:14px;line-height:1.5;color:var(--color-text-secondary);text-align:center;margin:0 0 18px}.consent-block{display:flex;flex-direction:column;gap:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:16px;margin-bottom:16px}.consent-row{display:flex;align-items:flex-start;gap:12px}.consent-row-icon{flex:0 0 auto;color:var(--color-accent);margin-top:1px}.consent-row-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.consent-row-text{font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.consent-note{font-size:12px;line-height:1.45;color:var(--color-text-muted);margin:0 0 18px}.consent-note a{color:var(--color-accent-blue);text-decoration:none}.consent-accept{margin-bottom:8px}.consent-decline{align-self:center;font-size:13px}.auth-header{text-align:center;margin-bottom:32px}.auth-title{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;letter-spacing:-.04em}.auth-subtitle{font-size:14px;color:var(--color-text-secondary)}.auth-logo{width:76px;height:76px;border-radius:20px;object-fit:cover;display:block;margin:0 auto 16px;cursor:pointer;box-shadow:var(--shadow-medium);transition:transform .2s}.auth-logo:active{transform:scale(.96)}.auth-form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px}.auth-form-title{font-size:20px;font-weight:600;text-align:center;margin-bottom:4px;letter-spacing:-.02em}.auth-input{width:100%;padding:14px 16px;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-medium);color:var(--color-text-primary);font-size:15px;outline:none;transition:border-color var(--transition-medium)}.auth-input:focus{border-color:var(--color-accent-blue)}.auth-input::placeholder{color:var(--color-text-muted)}.auth-input:disabled{opacity:.5}.auth-btn{width:100%;padding:14px;background:var(--color-accent);border:none;border-radius:var(--radius-medium);color:var(--color-text-on-accent);font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.auth-btn:hover{opacity:.9}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{background:#ff3b301f;border:1px solid rgba(255,59,48,.2);color:#ff453a;padding:10px 14px;border-radius:var(--radius-small);font-size:13px;text-align:center}.auth-success{background:#34c7591f;border:1px solid rgba(52,199,89,.2);color:var(--color-accent-green);padding:10px 14px;border-radius:var(--radius-small);font-size:13px;text-align:center}.auth-switch{text-align:center;font-size:13px;color:var(--color-text-secondary);margin-top:4px}.auth-consent{font-size:11px;line-height:1.45;color:var(--color-text-muted);text-align:center;margin-top:10px}.auth-consent a,.auth-consent-check a{color:var(--color-accent-blue);text-decoration:none}.auth-consent-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45;color:var(--color-text-secondary);text-align:left;margin:4px 0 12px;cursor:pointer}.auth-consent-box{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--color-accent);cursor:pointer}.auth-link{background:none;border:none;color:var(--color-accent-blue);cursor:pointer;font-size:13px;text-decoration:underline;padding:0}.auth-link:disabled{opacity:.5;cursor:not-allowed}.auth-hint{font-size:13px;color:var(--color-text-secondary);text-align:center;margin-bottom:4px}.code-inputs{display:flex;gap:12px;justify-content:center;margin:8px 0}.code-input{width:56px;height:64px;text-align:center;font-size:28px;font-weight:700;background:var(--color-bg-input);border:2px solid var(--color-border);border-radius:var(--radius-medium);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-medium);caret-color:var(--color-accent)}.code-input:focus{border-color:var(--color-accent-blue)}.code-input:disabled{opacity:.5}.settings-screen{display:flex;flex-direction:column;gap:16px;padding-bottom:80px}.settings-message{padding:10px 14px;border-radius:var(--radius-small);font-size:13px;text-align:center}.settings-message.success{background:#34c7591f;border:1px solid rgba(52,199,89,.2);color:var(--color-accent-green)}.settings-message.error{background:#ff3b301f;border:1px solid rgba(255,59,48,.2);color:#ff453a}.settings-section{background:var(--color-bg-card);border-radius:var(--radius-large);padding:16px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px}.settings-section-title{font-size:15px;font-weight:700;margin-bottom:4px;letter-spacing:-.02em;color:var(--color-text-primary)}.settings-subscription-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-subscription-plan{font-size:13px;font-weight:600;color:var(--color-text-primary)}.settings-subscription-price{font-size:12px;color:var(--color-text-secondary)}.settings-tz-current{font-size:13px;color:var(--color-text-secondary);padding:8px 12px;background:var(--color-bg-input);border-radius:var(--radius-small)}.settings-tz-current strong{color:var(--color-accent-blue)}.settings-field{display:flex;flex-direction:column;gap:4px}.settings-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.settings-input{width:100%;padding:10px 12px;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);font-size:14px;outline:none;transition:border-color var(--transition-medium)}.settings-input:focus{border-color:var(--color-accent-blue)}.settings-input.time{max-width:140px}.settings-input::placeholder{color:var(--color-text-muted)}.settings-hint{font-size:11px;color:var(--color-text-muted)}.personality-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.personality-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-large);cursor:pointer;transition:all var(--transition-medium);text-align:center;position:relative}.personality-card:active{background:var(--color-surface-active)}.personality-card.active{border-color:var(--color-accent);background:#e9456014}.personality-icon{font-size:24px}.personality-label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.personality-desc{font-size:11px;color:var(--color-text-muted);line-height:1.3}.voice-preview-btn{margin-top:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e945601f;color:var(--color-accent);font-size:14px;cursor:pointer;transition:all var(--transition-medium);flex-shrink:0;border:none}.voice-preview-btn:active{transform:scale(.9)}.voice-preview-btn.playing{background:var(--color-accent);color:#fff;animation:pulse-preview 1.5s ease-in-out infinite}.settings-save-btn{width:100%;padding:14px;background:var(--color-accent);border:none;border-radius:var(--radius-medium);color:var(--color-text-on-accent);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--transition-medium)}.settings-save-btn:hover{opacity:.9}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-about-btn{width:100%;padding:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);color:var(--color-text-secondary);font-size:15px;font-weight:500;cursor:pointer;margin-top:12px;transition:background var(--transition-medium)}.settings-about-btn:active{background:var(--color-surface-active)}.settings-logout-btn{width:100%;padding:14px;background:none;border:1px solid rgba(255,59,48,.4);border-radius:var(--radius-medium);color:#ff453a;font-size:15px;font-weight:500;cursor:pointer;margin-top:12px;transition:background var(--transition-medium),color var(--transition-medium)}.settings-logout-btn:active{background:#ff3b301a}.settings-delete-btn{width:100%;padding:14px;background:#ff3b3014;border:1px solid rgba(255,59,48,.5);border-radius:var(--radius-medium);color:#ff3b30;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;transition:background var(--transition-medium)}.settings-delete-btn:active{background:#ff3b302e}.theme-selector{display:flex;gap:0;background:var(--color-bg-input);border-radius:var(--radius-medium);padding:3px;border:1px solid var(--color-border)}.theme-option{flex:1;padding:8px 4px;background:none;border:none;border-radius:calc(var(--radius-medium) - 3px);font-size:13px;font-weight:600;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-medium);text-align:center}.theme-option.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-soft)}.theme-pastel-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-top:16px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.theme-pastel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.theme-pastel-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-medium);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.theme-pastel-option:active{transform:scale(.96)}.theme-pastel-option.active{border-color:var(--color-accent);background:var(--color-bg-card);box-shadow:var(--shadow-soft)}.theme-pastel-swatch{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.6);box-shadow:0 1px 4px #0000001f;flex-shrink:0}.theme-pastel-option.active .theme-pastel-swatch{border-color:#fff;box-shadow:0 2px 8px #0003}.theme-pastel-swatch--dark{display:flex;align-items:center;justify-content:center;border-width:2px;border-style:solid}.theme-pastel-dot{width:14px;height:14px;border-radius:50%}.theme-pastel-option.active .theme-pastel-swatch--dark{border-width:3px}.theme-pastel-name{font-size:11px;font-weight:500;color:var(--color-text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.theme-pastel-option.active .theme-pastel-name{color:var(--color-text-primary);font-weight:600}.city-autocomplete{position:relative}.city-search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.city-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--color-bg-card);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-small) var(--radius-small);max-height:220px;overflow-y:auto;box-shadow:var(--shadow-heavy)}.city-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;background:none;color:var(--color-text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--color-border)}.city-option:last-child{border-bottom:none}.city-option:hover,.city-option:focus{background:var(--color-surface-hover)}.city-option-name{font-weight:500}.city-option-tz{font-size:11px;color:var(--color-text-muted)}.city-option-empty{padding:12px;text-align:center;color:var(--color-text-muted);font-size:13px}.about-screen{padding-bottom:20px}.about-header{text-align:center;padding:24px 0 20px}.about-logo{font-size:48px;margin-bottom:8px}.about-title{font-size:22px;font-weight:700;color:var(--color-text-primary);margin:0;letter-spacing:-.03em}.about-subtitle{color:var(--color-text-muted);font-size:14px;margin-top:4px}.about-section{background:var(--color-bg-card);border-radius:var(--radius-large);padding:16px;margin-bottom:12px;border:1px solid var(--color-border)}.about-section-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 10px;letter-spacing:-.02em}.about-text{color:var(--color-text-secondary);font-size:14px;line-height:1.55;margin:0 0 8px}.about-highlight{color:var(--color-accent);font-weight:600;font-size:15px}.about-list{list-style:none;padding:0;margin:0}.about-list li{padding:6px 0;color:var(--color-text-secondary);font-size:14px;display:flex;align-items:center;gap:8px}.about-list li:before{content:"•";color:var(--color-accent);font-weight:700;font-size:16px}.about-list.security li:before{content:"🔹";font-size:12px}.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.about-tag{background:var(--color-surface);color:var(--color-text-secondary);padding:4px 12px;border-radius:var(--radius-pill);font-size:13px;border:1px solid var(--color-border)}.about-steps{display:flex;flex-direction:column;gap:8px}.about-step{display:flex;align-items:center;gap:12px;padding:8px}.about-step-num{width:28px;height:28px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0}.about-step-text{font-size:14px;color:var(--color-text-secondary)}.about-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.about-capability{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border-radius:var(--radius-small);font-size:14px;color:var(--color-text-secondary)}.about-section.version{text-align:center}.about-version-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-surface);padding:8px 16px;border-radius:var(--radius-pill)}.about-version-label{color:var(--color-text-muted);font-size:13px}.about-version-number{color:var(--color-accent);font-weight:700;font-size:15px}.about-version-date{color:var(--color-text-muted);font-size:12px;margin-top:8px}.about-privacy-link{display:inline-block;margin-top:10px;color:var(--color-accent-blue);font-size:14px;font-weight:500;text-decoration:none}.about-privacy-link:active{opacity:.7}.sticker-search{display:flex;align-items:center;gap:8px;margin:0 4px 10px;padding:8px 12px;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.sticker-search-icon{color:var(--color-text-muted);flex-shrink:0}.sticker-search-input{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:14px;outline:none;font-family:inherit;min-width:0}.sticker-search-input::placeholder{color:var(--color-text-muted)}.sticker-search-clear{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;padding:2px;flex-shrink:0}.sticker-search-clear:active{color:var(--color-text-primary)}.sticker-search-empty{grid-column:1 / -1;text-align:center;padding:20px 12px;color:var(--color-text-muted);font-size:13px}.sticker-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.sticker-modal{width:100%;max-width:380px;border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-heavy);animation:modalScaleIn .25s cubic-bezier(.32,.72,0,1);max-height:80vh;overflow-y:auto}.sticker-modal-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px}.sticker-modal-close{background:none;border:none;font-size:18px;color:#555;cursor:pointer;padding:4px 8px;border-radius:var(--radius-small);transition:background var(--transition-medium)}.sticker-modal-close:hover{background:#0000001a}.sticker-modal-title{font-size:18px;font-weight:700;color:var(--color-text-primary)!important;margin-bottom:12px;line-height:1.3;letter-spacing:-.02em}.sticker-modal-text{font-size:14px;color:var(--color-text-primary)!important;line-height:1.6;white-space:pre-wrap;margin-bottom:16px;opacity:.92}.sticker-color-picker{display:flex;gap:8px;margin-bottom:16px}.sticker-color-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color var(--transition-medium),transform var(--transition-fast);padding:0}.sticker-color-dot:active{transform:scale(.9)}.sticker-color-dot.active{border-color:#555;box-shadow:0 0 0 2px #00000026}.sticker-modal-actions{display:flex;gap:8px;flex-wrap:wrap}.sticker-btn{padding:8px 16px;border:none;border-radius:var(--radius-small);font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium),transform var(--transition-fast)}.sticker-btn:active{transform:scale(.96)}.sticker-btn.edit{background:#00000014;color:#333}.sticker-btn.delete{background:#ff3b301f;color:#ff453a}.sticker-btn.save{background:var(--color-accent-green);color:#fff}.sticker-btn.save:disabled{opacity:.6;cursor:not-allowed}.sticker-btn.cancel{background:#00000014;color:#555}.sticker-modal-edit{display:flex;flex-direction:column;gap:10px}.sticker-edit-title{font-size:16px;font-weight:600;padding:8px 10px;border:2px solid rgba(0,0,0,.12);border-radius:var(--radius-small);background:#ffffff80;color:#222;outline:none}.sticker-edit-title:focus{border-color:#00000040}.sticker-edit-text{font-size:14px;padding:8px 10px;border:2px solid rgba(0,0,0,.12);border-radius:var(--radius-small);background:#ffffff80;color:#333;outline:none;resize:vertical;font-family:inherit;line-height:1.5}.sticker-edit-text:focus{border-color:#00000040}.pwa-guide-modal{width:100%;max-width:380px;border-radius:var(--radius-xl);padding:22px 20px 18px;background:var(--color-modal-bg);backdrop-filter:var(--backdrop-blur-heavy);-webkit-backdrop-filter:var(--backdrop-blur-heavy);border:1px solid var(--color-border);box-shadow:var(--shadow-heavy);animation:modalScaleIn .25s cubic-bezier(.32,.72,0,1);max-height:85vh;overflow-y:auto;color:var(--color-text-primary)}.pwa-guide-header-title{font-weight:700;font-size:17px;color:var(--color-text-primary);letter-spacing:-.02em}.pwa-guide-close{color:var(--color-text-secondary)}.pwa-guide-body{margin-top:8px}.pwa-guide-platform{font-size:15px;font-weight:600;color:var(--color-accent-blue);margin-bottom:8px}.pwa-guide-platform-second{margin-top:14px}.pwa-guide-steps{list-style:none;counter-reset:pwa-step;padding:0;margin:0 0 14px}.pwa-guide-steps li{counter-increment:pwa-step;position:relative;padding:8px 8px 8px 36px;font-size:14px;line-height:1.5;color:var(--color-text-primary);background:var(--color-surface);border-radius:var(--radius-small);margin-bottom:5px}.pwa-guide-steps li:before{content:counter(pwa-step);position:absolute;left:8px;top:8px;width:22px;height:22px;border-radius:50%;background:var(--color-accent-blue);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.pwa-guide-icon{font-size:16px}.pwa-guide-result{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin:12px 0 14px;padding:10px 12px;background:#007aff14;border-radius:var(--radius-small);border-left:3px solid var(--color-accent-blue)}.pwa-guide-done-btn{display:block;width:100%;padding:12px;border:none;border-radius:var(--radius-medium);background:var(--color-accent-blue);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity var(--transition-medium)}.pwa-guide-done-btn:active{opacity:.85}.goals-view{padding:0 4px;min-height:100%;display:flex;flex-direction:column}.goals-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px}.goals-title{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;margin:0}.goals-count{background:var(--color-accent-blue);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.goals-create-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:var(--radius-small);background:var(--color-accent-blue);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition-medium)}.goals-create-btn:active{opacity:.8}.goals-create-btn--floating{border-radius:999px;padding:11px 16px;box-shadow:0 14px 28px #1877f238}.goals-empty{text-align:center;padding:32px 16px;color:var(--color-text-secondary)}.goals-empty-icon{display:block;margin-bottom:8px;opacity:.25;color:var(--color-text-primary)}.goals-empty p{margin:4px 0;font-size:14px}.goals-empty-hint{font-size:12px;opacity:.7}.goals-section{margin-bottom:16px}.goals-section-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:0 4px;margin-bottom:8px}.goals-section-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:4px;cursor:pointer;margin-bottom:8px}.goals-section-toggle .rotated{transform:rotate(180deg)}.goal-create-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:14px;margin-bottom:16px;animation:modalScaleIn .2s ease}.goal-create-form--bottom{margin-top:8px}.goal-create-form-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px;color:var(--color-text-primary);margin-bottom:10px}.goal-create-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:2px}.goal-create-input,.goal-create-desc{width:100%;padding:8px 10px;border:1.5px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg);color:var(--color-text-primary);font-size:14px;font-family:inherit;outline:none;margin-bottom:8px;box-sizing:border-box}.goal-create-input:focus,.goal-create-desc:focus{border-color:var(--color-accent-blue)}.goal-create-desc{resize:vertical;line-height:1.5}.goal-create-row{display:flex;gap:8px;margin-bottom:10px}.goal-create-select,.goal-create-date{flex:1;padding:6px 8px;border:1.5px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg);color:var(--color-text-primary);font-size:13px;font-family:inherit;outline:none}.goal-create-actions{display:flex;gap:8px}@media (max-width: 1023px){.goals-create-btn--header{display:none}}@media (min-width: 1024px){.goals-create-btn--floating{display:none}}.goal-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent-blue);border-radius:var(--radius-medium);margin-bottom:8px;overflow:hidden;transition:box-shadow var(--transition-medium)}.goal-card--high{border-left-color:#ff453a}.goal-card--medium{border-left-color:#ff9f0a}.goal-card--low{border-left-color:#30d158}.goal-card--completed{opacity:.65;border-left-color:var(--color-border)}.goal-card--paused{opacity:.8;border-left-style:dashed}.goal-card-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.goal-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.goal-priority--high{background:#ff453a}.goal-priority--medium{background:#ff9f0a}.goal-priority--low{background:#30d158}.goal-icon{color:var(--color-accent-blue);flex-shrink:0}.goal-card-title{flex:1;font-size:14px;font-weight:600;color:var(--color-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis}.goal-card-title--done{text-decoration:line-through;opacity:.6}.goal-status-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.goal-status--active{background:#007aff1f;color:var(--color-accent-blue)}.goal-status--completed{background:#30d1581f;color:#30d158}.goal-status--paused{background:#ff9f0a1f;color:#ff9f0a}.goal-progress-bar{height:3px;background:var(--color-border);margin:0 12px;border-radius:2px;overflow:hidden}.goal-progress-fill{height:100%;background:var(--color-accent-blue);border-radius:2px;transition:width .3s ease}.goal-card--high .goal-progress-fill{background:#ff453a}.goal-card--medium .goal-progress-fill{background:#ff9f0a}.goal-card--low .goal-progress-fill{background:#30d158}.goal-progress-info{display:flex;justify-content:space-between;align-items:center;padding:4px 12px 6px;font-size:11px;color:var(--color-text-secondary)}.goal-deadline{display:flex;align-items:center;gap:3px}.goal-deadline--urgent{color:#ff453a;font-weight:600}.goal-card-body{padding:0 12px 12px}.goal-description{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin:0 0 10px;white-space:pre-wrap}.goal-steps{margin-bottom:10px}.goal-steps-header{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.goal-step{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:13px;color:var(--color-text-primary);cursor:pointer}.goal-step--done .goal-step-text{text-decoration:line-through;opacity:.5}.goal-step input[type=checkbox]{accent-color:var(--color-accent-blue)}.goal-step-text{flex:1}.goal-step-remove{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:2px;opacity:.4;transition:opacity var(--transition-fast)}.goal-step-remove:hover{opacity:1}.goal-step-add{display:flex;gap:6px;margin-top:6px}.goal-step-add input{flex:1;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg);color:var(--color-text-primary);font-size:12px;font-family:inherit;outline:none}.goal-step-add input:focus{border-color:var(--color-accent-blue)}.goal-step-add button{padding:4px 8px;border:none;border-radius:var(--radius-small);background:var(--color-accent-blue);color:#fff;cursor:pointer;display:flex;align-items:center}.goal-step-add button:disabled{opacity:.4}.goal-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.goal-btn{padding:5px 10px;border:none;border-radius:var(--radius-small);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;transition:opacity var(--transition-fast)}.goal-btn:active{opacity:.7}.goal-btn:disabled{opacity:.4;cursor:not-allowed}.goal-btn--save{background:var(--color-accent-blue);color:#fff}.goal-btn--cancel{background:#0000000f;color:var(--color-text-secondary)}.goal-btn--complete{background:#30d1581f;color:#30d158}.goal-btn--pause{background:#ff9f0a1f;color:#ff9f0a}.goal-btn--resume{background:#007aff1f;color:var(--color-accent-blue)}.goal-btn--edit{background:#0000000f;color:var(--color-text-primary)}.goal-btn--delete{background:#ff3b3014;color:#ff453a;padding:5px 8px}.goal-edit-form{margin-top:8px;display:flex;flex-direction:column;gap:6px}.goal-edit-title,.goal-edit-desc{width:100%;padding:6px 8px;border:1.5px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg);color:var(--color-text-primary);font-size:13px;font-family:inherit;outline:none;box-sizing:border-box}.goal-edit-title:focus,.goal-edit-desc:focus{border-color:var(--color-accent-blue)}.goal-edit-desc{resize:vertical;line-height:1.5}.goal-edit-row{display:flex;gap:6px}.goal-edit-row select,.goal-edit-row input{flex:1;padding:5px 6px;border:1.5px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg);color:var(--color-text-primary);font-size:12px;font-family:inherit;outline:none}.goal-edit-actions{display:flex;gap:6px;margin-top:4px}.shopping-lists{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.shopping-card{background:var(--color-surface);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--radius-large);border:1px solid var(--color-border);cursor:pointer;transition:opacity .3s}.shopping-card.all-done{opacity:.5}.shopping-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px}.shopping-card-icon{font-size:20px}.shopping-card-title{flex:1;font-weight:600;font-size:15px;color:var(--color-text-primary);letter-spacing:-.02em}.shopping-card-count{font-size:12px;color:var(--color-text-secondary);background:var(--color-bg-input);padding:2px 8px;border-radius:var(--radius-pill);font-weight:600}.shopping-card-body{padding:0 16px 16px}.shopping-items-list{list-style:none;padding:0;margin:0;counter-reset:shop-counter}.shopping-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border);counter-increment:shop-counter}.shopping-item:last-child{border-bottom:none}.shopping-checkbox-label{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer}.shopping-checkbox-label:before{content:counter(shop-counter) ".";font-size:12px;color:var(--color-text-secondary);min-width:20px}.shopping-checkbox{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.shopping-item-text{font-size:14px;color:var(--color-text-primary);transition:all var(--transition-medium)}.shopping-item.checked .shopping-item-text{text-decoration:line-through;color:var(--color-text-secondary)}.shopping-item-delete{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:14px;padding:4px;opacity:.5;transition:opacity var(--transition-medium)}.shopping-item-delete:hover{opacity:1;color:#ff453a}.shopping-add-btn{background:none;border:1px dashed var(--color-border);color:var(--color-text-secondary);padding:8px;border-radius:var(--radius-small);width:100%;cursor:pointer;font-size:13px;margin-top:8px;transition:background var(--transition-medium)}.shopping-add-btn:active{background:var(--color-surface)}.shopping-add-form{display:flex;gap:6px;margin-top:8px}.shopping-add-input{flex:1;padding:6px 10px;border-radius:var(--radius-small);border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-primary);font-size:13px;outline:none}.shopping-add-input:focus{border-color:var(--color-accent-blue)}.shopping-add-confirm,.shopping-add-cancel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:6px 10px;cursor:pointer;color:var(--color-text-primary);font-size:14px}.shopping-add-confirm:active{background:var(--color-accent);color:#fff}.shopping-delete-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:13px;padding:8px 0;margin-top:8px;width:100%;text-align:center;transition:color var(--transition-medium)}.shopping-delete-btn:hover{color:#ff453a}.pro-banner{background:linear-gradient(135deg,var(--bg-card, #1a1a2e) 0%,#16213e 100%);border:1px solid rgba(255,215,0,.3);border-radius:16px;padding:20px;margin:12px 0;text-align:center}.pro-banner-message{color:var(--text-primary, #e0e0e0);font-size:14px;margin:0 0 12px;line-height:1.4}.pro-banner-features{list-style:none;padding:0;margin:0 0 16px;text-align:left}.pro-banner-features li{padding:6px 0;font-size:13px;color:var(--text-secondary, #aaa);border-bottom:1px solid rgba(255,255,255,.06)}.pro-banner-features li:last-child{border-bottom:none}.pro-banner-prices{display:flex;gap:10px;justify-content:center}.pro-price-option{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 18px;cursor:pointer;transition:all .2s;flex:1;max-width:160px;color:inherit}.pro-price-option:active{transform:scale(.97)}.pro-price-option:disabled{opacity:.6;cursor:default}.pro-price-best{border-color:#ffd70080;background:#ffd70014}.pro-price{display:block;font-size:20px;font-weight:700;color:var(--text-primary, #fff)}.pro-period{display:block;font-size:12px;color:var(--text-secondary, #aaa);margin-top:2px}.pro-save{display:inline-block;background:#ffd70033;color:gold;font-size:11px;font-weight:600;padding:2px 6px;border-radius:6px;margin-top:4px}.pro-banner-compact{display:flex;align-items:center;gap:8px;background:#ffd70014;border:1px solid rgba(255,215,0,.2);border-radius:10px;padding:10px 14px;margin:8px 0;cursor:pointer;font-size:13px;color:var(--text-secondary, #aaa)}.pro-badge{background:linear-gradient(135deg,gold,#ff8c00);color:#000;font-size:10px;font-weight:800;padding:2px 8px;border-radius:6px;letter-spacing:.5px}.plan-badge.pro{background:#4caf501f;border:1px solid rgba(76,175,80,.3);border-radius:10px;padding:10px 14px;font-size:14px;color:var(--text-primary, #e0e0e0)}@media (min-width: 1024px){.app{max-width:none;flex-direction:row;height:100vh}.desktop-sidebar{width:240px;min-width:240px;height:100vh;display:flex;flex-direction:column;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);position:sticky;top:0;overflow-y:auto;z-index:20;padding-top:env(safe-area-inset-top,0px)}.sidebar-logo{padding:24px 20px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--color-border);flex-shrink:0}.sidebar-logo-title{font-size:18px;font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary)}.sidebar-logo-badge{font-size:10px;background:var(--color-accent);color:var(--color-text-on-accent);padding:2px 6px;border-radius:var(--radius-pill);font-weight:600}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:16px 10px 6px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-small);background:transparent;border:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-medium);width:100%;text-align:left;position:relative;letter-spacing:-.01em}.sidebar-nav-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar-nav-item.active{background:var(--color-surface-active);color:var(--color-text-primary);font-weight:600}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent)}.sidebar-nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav-label{flex:1}.sidebar-nav-badge{font-size:11px;background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius-pill);padding:1px 7px;font-weight:600;min-width:20px;text-align:center}.sidebar-nav-item.active .sidebar-nav-badge{background:var(--color-accent);color:var(--color-text-on-accent)}.sidebar-footer{padding:12px 14px;border-top:1px solid var(--color-border);flex-shrink:0;display:flex;flex-direction:column;gap:8px}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--color-text-secondary);font-weight:600;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.app-header,.tab-bar{display:none}.app-content{flex:1;overflow-y:auto;padding:24px 32px;max-width:960px;width:100%;margin:0 auto}.desktop-page-header{padding:20px 32px 0;max-width:960px;width:100%;margin:0 auto}.desktop-page-title{font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--color-text-primary);margin:0 0 4px}.desktop-page-subtitle{font-size:14px;color:var(--color-text-muted);margin:0}.wall-tabs{display:none}.wall-container{border:none;border-bottom:none}}@media (min-width: 1440px){.desktop-sidebar{width:260px;min-width:260px}.app-content{max-width:1080px;padding:28px 40px}.desktop-page-header{max-width:1080px;padding:24px 40px 0}}@media (min-width: 1024px) and (hover: hover){.note-card{transition:background var(--transition-medium),box-shadow var(--transition-medium),transform var(--transition-fast)}.note-card:hover{background:var(--color-card-hover);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.sticker-card{transition:transform var(--transition-fast),box-shadow var(--transition-medium)}.sticker-card:hover{transform:scale(1.04);box-shadow:var(--shadow-medium)}.dream-card{transition:background var(--transition-medium),box-shadow var(--transition-medium)}.dream-card:hover{background:var(--color-surface-hover);box-shadow:var(--shadow-soft)}.shopping-list-card{transition:background var(--transition-medium),box-shadow var(--transition-medium)}.shopping-list-card:hover{background:var(--color-surface-hover);box-shadow:var(--shadow-soft)}.dream-analyze-btn:hover:not(:disabled){opacity:.85;background:#5856d62e}.dream-delete-btn:hover{opacity:.85;background:#ff3b302e}.book-action-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.book-start-btn:hover{opacity:.9}.period-tab:not(.active):hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.cal-cell:hover{background:var(--color-cal-cell-active)}.record-bottom-zone{border-radius:var(--radius-large);margin:8px 0;transition:background var(--transition-medium),box-shadow var(--transition-medium)}.record-bottom-zone:hover:not(.recording){box-shadow:var(--shadow-medium)}button{cursor:pointer}a{transition:color var(--transition-medium)}.app-content::-webkit-scrollbar,.wall-content::-webkit-scrollbar{width:6px}.app-content::-webkit-scrollbar-track,.wall-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb,.wall-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.app-content::-webkit-scrollbar-thumb:hover,.wall-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.sticker-grid{grid-template-columns:repeat(6,1fr);max-height:none}.modal-content{max-width:540px}}.life-score-widget{background:var(--color-surface);border-radius:var(--radius-medium);margin:8px 0 12px;overflow:hidden;border:1px solid var(--color-border)}.life-score-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.life-score-main{display:flex;align-items:center;gap:10px}.life-score-icon{width:36px;height:36px;border-radius:10px;background:var(--color-accent);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.life-score-info{display:flex;flex-direction:column;gap:1px}.life-score-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.life-score-value{font-size:24px;font-weight:700;line-height:1.1}.life-score-empty{color:var(--color-text-tertiary)}.life-score-user-rating{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--color-accent-orange);background:#ff95001a;padding:3px 8px;border-radius:var(--radius-pill)}.life-score-right{display:flex;align-items:center;gap:8px;color:var(--color-text-tertiary)}.life-score-sparkline{opacity:.8}.life-score-details{padding:0 14px 14px;border-top:1px solid var(--color-border)}.life-score-chart{margin-top:12px}.life-score-chart-legend{display:flex;gap:14px;margin-bottom:6px;padding-left:4px}.life-score-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-secondary)}.life-score-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.life-score-dot.score-dot{background:var(--color-accent)}.life-score-dot.rating-dot{background:var(--color-accent-orange)}.life-score-chart-svg{width:100%;height:auto;max-height:160px}.life-score-insight-section{margin-top:12px}.life-score-insight{background:#e945600f;border-radius:var(--radius-small);padding:10px 12px}.life-score-insight-header{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--color-accent);margin-bottom:6px}.life-score-insight-text{font-size:13px;line-height:1.5;color:var(--color-text-primary);margin:0;white-space:pre-line}.life-score-insight-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px;border:1px dashed var(--color-accent);border-radius:var(--radius-small);background:transparent;color:var(--color-accent);font-size:13px;font-weight:600;cursor:pointer}.life-score-insight-btn:disabled{opacity:.6;cursor:wait}.life-score-rate-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-top:12px;border:1px dashed var(--color-accent);border-radius:var(--radius-small);background:transparent;color:var(--color-accent);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.life-score-rate-btn:active{background:#e945601a}.life-score-form{margin-top:12px}.life-score-form-section{margin-bottom:12px}.life-score-form-label{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.life-score-rating-picker{display:flex;gap:4px;flex-wrap:wrap}.life-score-rating-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.life-score-rating-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:scale(1.1)}.life-score-rating-btn:not(.active):active{transform:scale(.95)}.life-score-comment{width:100%;padding:8px 10px;border-radius:var(--radius-small);border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-primary);font-size:14px;font-family:inherit;resize:none;outline:none}.life-score-comment:focus{border-color:var(--color-accent)}.life-score-comment:disabled{opacity:.6}.life-score-voice-row{margin-top:6px}.life-score-voice-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-small);border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.life-score-voice-btn:active{transform:scale(.97)}.life-score-voice-btn:disabled{opacity:.5;cursor:wait}.life-score-voice-btn.recording{background:var(--color-accent-red);border-color:var(--color-accent-red);color:#fff;animation:life-score-pulse 1.2s infinite}.life-score-rec-time{font-variant-numeric:tabular-nums;font-size:13px}@keyframes life-score-pulse{0%,to{opacity:1}50%{opacity:.75}}.life-score-form-actions{display:flex;gap:8px;margin-top:4px}.life-score-cancel-btn{flex:1;padding:10px;border-radius:var(--radius-small);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer}.life-score-save-btn{flex:2;padding:10px;border-radius:var(--radius-small);border:none;background:var(--color-accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.life-score-save-btn:disabled{opacity:.5;cursor:not-allowed}.life-score-save-btn:not(:disabled):active{opacity:.8}.day-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 4px;padding:4px 6px}.day-nav-arrow{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-small);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s,background .2s}.day-nav-arrow:not(:disabled):active{background:var(--color-bg-input)}.day-nav-arrow:disabled{opacity:.35;cursor:not-allowed}.day-nav-label{flex:1;text-align:center;font-size:14px;font-weight:600;color:var(--color-text-primary);text-transform:capitalize}.life-score-past-comment{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;margin:4px 0 8px;border-radius:var(--radius-small);background:var(--color-bg-input);color:var(--color-text-secondary);font-size:13px;line-height:1.4}.pull-to-refresh{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;overscroll-behavior-y:contain}.ptr-indicator{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;color:var(--color-text-secondary);font-size:12px;font-weight:500;letter-spacing:-.01em;pointer-events:none;overflow:hidden;z-index:1;padding-bottom:8px;transition:opacity .15s ease}.ptr-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent);transition:transform .2s ease}.ptr-icon.spinning{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ptr-label{white-space:nowrap}.ptr-content{flex:1;display:flex;flex-direction:column;min-height:0;will-change:transform}
