@font-face{font-family:Inter;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(/fonts/roboto-flex-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Flex;font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(/fonts/roboto-flex-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-primary: #e5e5e5;--bg-secondary: #F2F1EC;--surface: #d7dad6c4;--input-bg: #F2F1EC;--text-primary: #2F2F2F;--text-secondary: #4B4B4B;--text-muted: #66645E;--clay: #C9A8A0;--accent: #738e7c;--accent-active: #7D9D88;--accent-rgb: 143, 175, 154;--success: #7F9F8A;--success-text: #23442D;--error: #C9A8A0;--text-error: #8A5550;--text-on-accent: #1F2C25;--warning-bg: #F5EAD2;--warning-border: #D9A441;--warning-text: #74531A;--streak-accent: #5A5A55;--border: rgba(47, 47, 47, .1);--border-color: rgba(47, 47, 47, .18);--shadow-sm: 0 2px 8px rgba(47, 47, 47, .04);--shadow-md: 0 4px 20px rgba(47, 47, 47, .06);--shadow-lg: 0 12px 40px rgba(47, 47, 47, .08);--space-4: .25rem;--space-8: .5rem;--space-12: .75rem;--space-16: 1rem;--space-24: 1.5rem;--space-32: 2rem;--space-48: 3rem;--space-64: 4rem;--spacing-xs: var(--space-8);--spacing-sm: var(--space-16);--spacing-md: var(--space-24);--spacing-lg: 2.5rem;--spacing-xl: var(--space-64);--header-height: 80px;--header-border: 1px solid rgba(58, 54, 48, .06);--header-shadow: 0 1px 3px rgba(58, 54, 48, .04);--radius: 20px;--radius-sm: 14px;--radius-lg: 24px;--font-fluid-caption: clamp(.7rem, 1vw + .55rem, .8rem);--font-fluid-label: clamp(.75rem, 1.2vw + .6rem, .9rem);--font-fluid-body: clamp(.8rem, 1.2vw + .7rem, .8rem);--font-fluid-lead: clamp(1rem, 2vw + .75rem, .9rem);--font-fluid-h3: clamp(1.1rem, 2.5vw + .8rem, 1.1rem);--font-fluid-h2: clamp(1.25rem, 3vw + .9rem, 1.3rem);--font-fluid-h1: clamp(2.4rem, 6vw + 1.5rem, 2.775rem);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro", sans-serif;--font-size-xs: var(--font-fluid-caption);--font-size-sm: var(--font-fluid-label);--font-size-base: var(--font-fluid-body);--font-size-lg: var(--font-fluid-lead);--font-size-xl: var(--font-fluid-h3);--font-size-2xl: var(--font-fluid-h2);--font-size-3xl: var(--font-fluid-h1);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--elevation-flat: 0 0 0 transparent;--elevation-raised: 0 2px 12px rgba(58, 54, 48, .05), 0 1px 4px rgba(58, 54, 48, .04);--elevation-overlay: 0 8px 32px rgba(58, 54, 48, .07), 0 2px 12px rgba(58, 54, 48, .05);--elevation-modal: 0 24px 56px rgba(58, 54, 48, .09), 0 8px 24px rgba(58, 54, 48, .06);--glass-bg: rgba(250, 247, 242, .93);--glass-border: rgba(58, 54, 48, .06);--glass-shadow: 0 4px 24px rgba(58, 54, 48, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #0a0e16;--bg-secondary: #151b22;--surface: #1b232d;--input-bg: #19212a;--text-primary: #dce6f2;--text-secondary: #b9c8d8;--text-muted: #8ea1b5;--accent: #90dce2;--accent-color: #90dce2;--accent-active: #769fb5;--accent-rgb: 140, 181, 201;--text-on-accent: #0e141b;--success: #89b9a2;--success-text: #cce8da;--error: #c18a91;--warning: #bfaa82;--text-error: #d8a8ae;--warning-bg: rgba(191, 170, 130, .14);--warning-border: #bfaa82;--warning-text: #cabba0;--streak-accent: #a9bfce;--border: rgba(196, 214, 230, .14);--border-color: rgba(196, 214, 230, .22);--header-border: 1px solid rgba(220, 210, 195, .08);--header-shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .28);--shadow-md: 0 4px 16px rgba(0, 0, 0, .38);--elevation-raised: 0 2px 12px rgba(0, 0, 0, .4), 0 1px 4px rgba(0, 0, 0, .35);--elevation-overlay: 0 8px 32px rgba(0, 0, 0, .5), 0 2px 12px rgba(0, 0, 0, .4);--elevation-modal: 0 24px 56px rgba(0, 0, 0, .55), 0 8px 24px rgba(0, 0, 0, .45);--glass-bg: rgba(28, 25, 22, .94);--glass-border: rgba(220, 210, 195, .08);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .5)}html{overflow-x:hidden}#react-root,.app-container,.screen,.screen-active,main{max-width:100%;overflow-x:hidden}table,img,video,pre{max-width:100%}.text-caption{font-size:var(--font-fluid-caption)}.text-label{font-size:var(--font-fluid-label)}.text-body{font-size:var(--font-fluid-body)}.text-lead{font-size:var(--font-fluid-lead)}.text-h3{font-size:var(--font-fluid-h3)}.text-h2{font-size:var(--font-fluid-h2)}.text-h1{font-size:var(--font-fluid-h1)}.skip-link{position:absolute;left:-9999px;z-index:9999;padding:var(--space-12) var(--space-16);background:var(--accent);color:var(--text-primary);font-size:var(--font-fluid-body);border-radius:var(--radius-sm);transition:left .2s ease}.skip-link:focus{left:var(--space-16);top:var(--space-16);outline:2px solid var(--text-primary);outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.screen-transition-enter-active,.screen-transition-exit-active,.menu-overlay-content,.toast{transition-duration:.1s!important}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);font-size:var(--font-fluid-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.65;min-height:100vh;transition:background-color .3s ease,color .3s ease;overflow-x:hidden}.app-container{width:100%;max-width:min(600px,100vw);min-width:0;margin:0 auto;padding:clamp(12px,4vw,24px);min-height:100vh;position:relative;box-sizing:border-box}body.login-screen-active .app-container,body.register-screen-active .app-container{max-width:1000px}.screen{display:none;animation:fadeIn .4s ease-out;padding-top:calc(var(--header-height) + env(safe-area-inset-top,0px));padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-bottom,0px);min-height:100vh;box-sizing:border-box}.screen-active{display:flex;flex-direction:column;align-items:center}.screen-active{display:flex}.screen-transition-enter{opacity:0;transform:translateY(8px)}.screen-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1)}.screen-transition-exit{opacity:1;transform:translateY(0)}.screen-transition-exit-active{opacity:0;transform:translateY(-8px);transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.react-screen-container{position:relative;min-height:100vh;padding-top:calc(var(--header-height) + env(safe-area-inset-top,0px));padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;will-change:opacity,transform;display:flex;flex-direction:column;align-items:center;width:100%}.react-screen-container.fade-enter{opacity:0}.react-screen-container.fade-enter-active{opacity:1;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.react-screen-container.fade-exit{opacity:1}.react-screen-container.fade-exit-active{opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.global-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:center;padding-top:env(safe-area-inset-top,0px);padding-left:max(clamp(16px,4vw,32px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4vw,32px),env(safe-area-inset-right,0px));padding-bottom:0;min-height:auto;box-sizing:border-box;background:transparent;z-index:1000;pointer-events:none}.global-header-landing{position:absolute}.header-pill{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:600px;padding:clamp(12px,2vw,16px) clamp(20px,4vw,28px);border:none;border-radius:0;background:transparent;transition:background .3s ease,box-shadow .3s ease;pointer-events:auto}.header-pill:before{content:"";position:absolute;top:-10px;bottom:-30px;left:50%;width:100vw;transform:translate(-50%);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 50%,transparent 100%);z-index:-1;pointer-events:none;border-radius:0}:root .header-pill:before{background:#ffffff73}[data-theme=dark] .header-pill:before{background:transparent}.header-brand{display:flex;align-items:center}.app-logo-link{display:flex;align-items:center;text-decoration:none}.app-logo{height:clamp(24px,3vw + 12px,32px);width:auto;transition:opacity .2s ease}.app-logo:hover{opacity:.8}[data-theme=dark] .app-logo{filter:brightness(0) invert(1)}.global-header .menu-btn{position:relative;right:auto;margin-left:auto}.app-header{text-align:center;padding:var(--spacing-md) 0 var(--spacing-lg)}.app-tagline{font-size:.85rem;color:var(--text-secondary);font-weight:400;max-width:400px;margin:0 auto;font-style:italic}.login-screen .login-content{display:flex;flex-direction:column;align-items:stretch;max-width:480px;margin:0 auto;padding:clamp(12px,3vw,24px) max(clamp(16px,4vw,24px),env(safe-area-inset-left,0px)) var(--spacing-xl) max(clamp(16px,4vw,24px),env(safe-area-inset-right,0px));width:100%;box-sizing:border-box}.login-screen-title{font-size:var(--font-fluid-h3);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm);letter-spacing:-.02em;text-align:center}.login-screen-subtitle{font-size:var(--font-fluid-body);color:var(--text-secondary);margin:0 0 var(--spacing-lg);line-height:1.5;text-align:center}.login-form-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:var(--spacing-md) var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:var(--glass-shadow);box-sizing:border-box}[data-theme=dark] .login-form-glass{background:var(--glass-bg);border-color:var(--glass-border)}.login-form-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.signup-consent{display:flex;flex-direction:column;gap:8px;padding:8px 4px}.signup-consent-row{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.signup-consent-row input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--accent)}.signup-consent-row a{color:var(--accent)}.signup-consent-row a:hover{color:var(--text-primary)}#loginScreen .btn-primary,#loginScreen .btn-secondary{width:100%;min-height:44px}.forgot-password-link{background:none;border:none;color:var(--accent);font-size:var(--font-fluid-label);font-family:var(--font-primary);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.login-options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.login-options .remember-me{display:flex;align-items:center;gap:8px;font-size:var(--font-fluid-label);color:var(--text-secondary)}@media(min-width:769px){.login-screen .login-content{max-width:420px;padding:clamp(20px,4vw,32px) max(clamp(24px,4vw,32px),env(safe-area-inset-left,0px)) var(--spacing-xl) max(clamp(24px,4vw,32px),env(safe-area-inset-right,0px))}.login-screen-title{font-size:var(--font-fluid-h2)}.login-screen-subtitle{font-size:var(--font-fluid-lead)}.login-form-glass{padding:var(--spacing-xl) var(--spacing-lg)}.email-input,.password-input{font-size:16px}}#loginScreen .app-container,#registerScreen .app-container{max-width:100%}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-xl) var(--spacing-lg);width:100%;max-width:min(480px,100% - 32px);box-sizing:border-box}#verificationSuccessScreen .login-card{text-align:center}#verificationSuccessScreen .btn-primary{display:inline-block;margin-top:var(--spacing-md);text-decoration:none;text-align:center}.login-title{font-size:var(--font-fluid-h3);font-weight:300;color:var(--text-primary);margin-bottom:var(--space-16);text-align:center;width:100%;letter-spacing:-.02em}.login-subtitle{font-size:var(--font-fluid-body);color:var(--text-secondary);margin-bottom:var(--spacing-xl);text-align:center;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.email-input,.password-input{width:100%;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:12px 0;font-size:16px;min-height:48px;line-height:1.4;font-family:var(--font-primary);color:var(--text-primary);background:transparent;transition:all .2s ease;box-sizing:border-box}.email-input:-webkit-autofill,.password-input:-webkit-autofill,.email-input:-webkit-autofill:hover,.password-input:-webkit-autofill:hover,.email-input:-webkit-autofill:focus,.password-input:-webkit-autofill:focus,.email-input:-webkit-autofill:active,.password-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0px 1000px #faf7f2 inset!important;box-shadow:0 0 0 1000px #faf7f2 inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary);transition:background-color 600000s 0s,color 600000s 0s}[data-theme=dark] .email-input:-webkit-autofill,[data-theme=dark] .password-input:-webkit-autofill,[data-theme=dark] .email-input:-webkit-autofill:hover,[data-theme=dark] .password-input:-webkit-autofill:hover,[data-theme=dark] .email-input:-webkit-autofill:focus,[data-theme=dark] .password-input:-webkit-autofill:focus,[data-theme=dark] .email-input:-webkit-autofill:active,[data-theme=dark] .password-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0px 1000px #161614 inset!important;box-shadow:0 0 0 1000px #161614 inset!important}.login-form-glass .password-input-wrapper{margin-bottom:var(--spacing-sm)}.login-form-glass .password-input-wrapper:last-of-type{margin-bottom:0}.password-input-wrapper{position:relative;width:100%;margin-bottom:.5rem;flex-shrink:0}.field-error-slot{position:relative;height:32px;min-height:32px;max-height:32px;flex-shrink:0;margin-top:.25rem;overflow:visible;box-sizing:border-box}.login-status-slot{position:relative;min-height:48px;flex-shrink:0;margin-top:.25rem;overflow:visible;box-sizing:border-box}.field-error-slot:before{content:"";display:block;height:32px;min-height:32px}.field-error-placeholder{display:block;height:32px;min-height:32px;visibility:hidden;pointer-events:none;overflow:hidden}.field-error{position:absolute;top:0;left:0;right:0;color:var(--text-error);font-size:.7rem;line-height:1.35;margin:0;padding:0;z-index:2;overflow-wrap:break-word;word-wrap:break-word;max-height:32px;overflow:hidden;box-sizing:border-box;isolation:isolate}.password-input-wrapper .password-input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:1rem;transform:none;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s ease;z-index:1;height:1.25rem;width:1.25rem;margin:0}.password-toggle:disabled{cursor:not-allowed;opacity:.55}.password-toggle:hover{color:var(--text-primary)}.password-toggle:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.password-toggle-icon{width:1.25rem;height:1.25rem;-webkit-user-select:none;user-select:none;display:inline-block;pointer-events:none;color:var(--text-muted);opacity:.6;transition:opacity .2s ease,color .2s ease}.password-toggle:hover .password-toggle-icon,.password-toggle:focus .password-toggle-icon{color:var(--text-secondary);opacity:.85}.email-input:hover,.password-input:hover{border-bottom-color:#a8b5a080}.email-input:focus,.password-input:focus{outline:none;border-bottom-color:var(--accent);border-bottom-width:2px}.email-input:focus-visible,.password-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.email-input::placeholder,.password-input::placeholder{color:var(--text-muted);opacity:.7}.email-input:disabled,.password-input:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed;opacity:.6}.email-input:disabled::placeholder,.password-input:disabled::placeholder{opacity:.5}.login-status-slot{margin-top:var(--spacing-md);min-height:48px;width:100%}.login-status{position:relative;margin:0;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-fluid-body);line-height:1.45;text-align:center;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;max-width:100%;box-sizing:border-box;z-index:2;visibility:visible}.login-status.success{color:var(--success-text);background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}[data-theme=dark] .login-status.success{color:#8fbc8f;background:color-mix(in srgb,#8fbc8f 15%,transparent);border:1px solid color-mix(in srgb,#8fbc8f 35%,transparent)}.login-status.info{color:var(--text-secondary);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.login-status.error{color:var(--text-error);background:color-mix(in srgb,var(--error) 12%,transparent);border:1px solid color-mix(in srgb,var(--error) 25%,transparent)}.resend-btn{background:none;border:1px solid var(--accent);color:var(--accent);font-size:.9rem;font-family:var(--font-primary);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-top:var(--spacing-md);transition:all .2s ease;width:100%;text-align:center}.resend-btn:hover:not(:disabled){background:#a8b5a01a;border-color:var(--accent);color:var(--accent)}.resend-btn:disabled{opacity:.6;cursor:not-allowed}.resend-timer{font-weight:500;color:var(--text-secondary)}.back-buttons-container{display:flex;flex-direction:column;gap:.25rem;margin-top:var(--spacing-xs)}.back-link-btn{background:none;border:none;color:var(--text-secondary);font-size:.95rem;font-family:var(--font-primary);cursor:pointer;padding:var(--spacing-md) 0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:0;transition:color .2s ease;width:100%}.back-link-btn:hover{color:var(--text-primary);text-decoration:underline}.login-options{display:flex;justify-content:space-between;align-items:center;margin:var(--spacing-sm) 0}.remember-me{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem;color:var(--text-secondary);cursor:pointer}.remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.forgot-password-link{background:none;border:none;color:var(--text-secondary);font-size:.9rem;font-family:var(--font-primary);cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.forgot-password-link:hover{color:var(--text-primary)}.create-account-link{background:none;border:none;color:var(--text-secondary);font-size:.95rem;font-family:var(--font-primary);cursor:pointer;padding:var(--spacing-md) 0;text-align:center;width:100%;transition:color .2s ease}.create-account-link:hover{color:var(--text-primary)}.back-arrow{font-size:1rem;line-height:1}.home-content{display:flex;flex-direction:column;align-items:center;gap:clamp(16px,4vw,28px);padding:var(--spacing-md) max(clamp(12px,4vw,24px),env(safe-area-inset-left,0px)) var(--spacing-xl) max(clamp(12px,4vw,24px),env(safe-area-inset-right,0px));min-height:calc(100vh - var(--header-height) - env(safe-area-inset-top,0px));text-align:center;width:100%;max-width:780px;box-sizing:border-box}.home-content>*{width:100%;max-width:100%;box-sizing:border-box}.home-content .button-section,.home-content .action-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm)}.home-content>div[style*=marginBottom] button,.home-content button[style*=borderRadius]{min-height:44px;min-width:44px}.button-section{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.date-display{text-align:center;font-size:.9rem;color:var(--text-muted);font-weight:400;letter-spacing:.02em}.entry-locked-message{text-align:center;font-size:.75rem;color:var(--text-muted);font-weight:400;letter-spacing:.02em;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.btn-primary{background:var(--accent);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);padding:clamp(12px,3vw,16px) clamp(20px,4vw,24px);font-size:var(--font-fluid-body);font-weight:500;font-family:var(--font-primary);cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .15s ease;width:100%;letter-spacing:.02em;min-height:48px;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--accent-active);box-shadow:var(--shadow-sm);transform:scale(.985)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;pointer-events:none}#addAppreciationBtn,#addAppreciationBtn:hover{animation:none}@keyframes btn-pulse{0%,to{box-shadow:0 0 rgba(var(--accent-rgb),0)}50%{box-shadow:0 0 18px rgba(var(--accent-rgb),.626),0 0 40px rgba(var(--accent-rgb),.12)}}@media(prefers-reduced-motion:reduce){#addAppreciationBtn{animation:none}}.btn-back{background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:opacity .2s ease,background .2s ease;opacity:.85}.btn-back:hover{opacity:1;background:var(--bg-secondary)}.btn-back:active{opacity:.9}.writing-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0 12px;width:100%;margin-bottom:6px;border-bottom:1px solid var(--border)}.writing-title{font-size:1.25rem;font-weight:400;color:var(--text-primary);flex:1;text-align:center}.writing-header-title{flex:1;text-align:center;margin:0;font-size:1.15rem;font-weight:500;color:var(--text-primary)}.writing-header-right{min-width:72px;display:flex;justify-content:flex-end}.btn-save-inline{min-height:36px;width:auto;padding:8px 14px;font-size:.9rem;border-radius:12px;box-shadow:none}.appreciation-input:disabled,.appreciation-input[readonly]{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.6;pointer-events:none}.writing-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 max(clamp(12px,4vw,24px),env(safe-area-inset-left,0px)) calc(var(--spacing-xl) + env(safe-area-inset-bottom,0px)) max(clamp(12px,4vw,24px),env(safe-area-inset-right,0px));max-width:640px;width:100%;margin:0 auto;box-sizing:border-box}.input-container{position:relative}.appreciation-input{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:clamp(14px,3vw,20px);padding-bottom:clamp(62px,10vw,72px);font-size:var(--font-fluid-lead);font-family:var(--font-primary);color:var(--text-primary);background:var(--surface);resize:none;min-height:clamp(240px,44vh,360px);transition:border-color .25s ease,box-shadow .25s ease;line-height:1.7}.appreciation-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #9baf921f;background:var(--surface)}.appreciation-input::placeholder{color:var(--text-muted)}.char-counter{position:static;font-size:var(--font-fluid-caption);color:var(--text-muted);background:transparent;padding:0;border-radius:0;pointer-events:none;z-index:1}.btn-save{margin-top:var(--space-16);min-height:44px}.recent-entries{margin-top:var(--spacing-md);text-align:left}.recent-entries-title{font-size:var(--font-fluid-label);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-16);font-weight:500;width:100%;text-align:center}.entry-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(14px,3vw,20px) clamp(18px,4vw,24px);margin-bottom:var(--space-12);transition:box-shadow .3s ease,border-color .25s ease,transform .25s ease;cursor:pointer;box-shadow:var(--elevation-raised);position:relative;min-height:72px;display:flex;flex-direction:column;width:100%;max-width:100%;box-sizing:border-box}.entry-preview:hover{border-color:#9baf9266;transform:translateY(-1px);box-shadow:var(--elevation-overlay);background:var(--surface)}.entry-preview:active{transform:translateY(0);box-shadow:var(--elevation-raised)}.entry-preview:focus{outline:2px solid var(--accent);outline-offset:2px}.entry-preview-date{font-size:var(--font-fluid-caption);color:var(--text-secondary);margin-bottom:var(--space-8);font-weight:500;letter-spacing:.06em;text-transform:uppercase}.entry-preview-content{font-size:var(--font-fluid-body);color:var(--text-primary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;font-weight:400;margin-top:0;word-break:break-word}.entry-preview-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1rem;min-height:80px;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}.entry-preview-skeleton:before{content:"";display:block;height:12px;width:40%;background:var(--bg-secondary);border-radius:4px;margin-bottom:12px;animation:skeleton-pulse 1.5s ease-in-out infinite}.entry-preview-skeleton:after{content:"";display:block;height:16px;width:100%;background:var(--bg-secondary);border-radius:4px;margin-bottom:8px;animation:skeleton-pulse 1.5s ease-in-out infinite}.empty-recent{text-align:center;padding:var(--spacing-lg);color:var(--text-muted);font-size:.9rem}.empty-state{text-align:center;padding:var(--space-32) var(--space-24);color:var(--text-secondary);max-width:420px;margin:0 auto}.empty-state-icon{font-size:clamp(2.5rem,8vw,3rem);margin-bottom:var(--space-16);opacity:.8}.empty-state-title{font-size:var(--font-fluid-h2);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-12)}.empty-state-message{font-size:var(--font-fluid-body);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-24)}.empty-state-cta{margin-top:var(--space-16);min-height:44px}.action-buttons{display:flex;gap:var(--space-12);justify-content:center;margin-top:var(--space-16);margin-bottom:var(--space-12);flex-wrap:wrap}.action-buttons .btn-secondary{min-height:36px;min-width:44px;padding:6px 12px;font-size:var(--font-fluid-caption);font-weight:500}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);padding:clamp(10px,2.5vw,14px) clamp(16px,3vw,20px);font-size:var(--font-fluid-body);font-weight:500;font-family:var(--font-primary);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease,background .2s ease;box-shadow:none;min-height:44px}[data-theme=dark] .btn-secondary{background:var(--surface)}.btn-secondary:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.6);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.8);box-shadow:none;transform:scale(.985)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none;pointer-events:none}.btn-text-small{background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .2s ease}.btn-text-small:hover{color:var(--text-primary);background:var(--bg-secondary)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#1a181426;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.modal.show{display:flex}.modal-content{background:var(--surface);border-radius:var(--radius);box-shadow:var(--elevation-modal);border:1px solid var(--border);padding:clamp(20px,4vw,32px);max-width:min(400px,92vw);width:90%;animation:slideUp .3s ease-out}[data-theme=dark] .modal-content{background:var(--surface);border-color:#f5f0e81f}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:1.25rem;font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.modal-text{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.modal-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.modal-buttons .btn-primary,.modal-buttons .btn-secondary{width:100%;margin:0}.screen-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 0 2px;margin-bottom:0;width:100%;min-height:36px}.plan-screen-main{max-width:600px;margin:0 auto;padding:0 var(--spacing-md)}.screen-title{font-size:1.25rem;font-weight:500;color:var(--text-primary);flex:1;letter-spacing:-.01em}.plan-screen main.home-content{padding:clamp(10px,3vw,20px)}.calendar-content{position:relative;background:var(--bg-primary);padding:var(--space-20) var(--space-16) var(--space-16);max-width:520px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;border-radius:20px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-16);width:100%;max-width:500px;padding:0 4px}.calendar-nav--spacious{margin-top:var(--space-12);margin-bottom:var(--space-12)}.calendar-month-title,.calendar-content .calendar-nav h3{font-size:var(--font-fluid-h3);font-weight:600;color:var(--text-primary);letter-spacing:-.02em;margin:0;text-align:center;flex:1}.btn-nav{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);min-width:44px;min-height:44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:all .2s ease}.btn-nav:hover{border-color:var(--accent);background:var(--bg-secondary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:var(--space-16);width:100%;max-width:480px;box-sizing:border-box;padding:0}.calendar-day-header{text-align:center;font-size:.72rem;color:var(--text-secondary);font-weight:600;padding:2px 2px var(--space-8);text-transform:uppercase;letter-spacing:.06em;border-bottom:none;margin-bottom:0}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;font-size:var(--font-fluid-label);color:var(--text-primary);background:var(--bg-primary);border:1px solid transparent;position:relative;min-height:44px}.calendar-day:hover{background:var(--bg-secondary);border-color:color-mix(in srgb,var(--accent) 30%,transparent);transform:translateY(-1px)}.calendar-day:active{transform:translateY(0)}.calendar-day.other-month{color:var(--text-muted);opacity:.35;background:transparent}.calendar-day.today{border-color:color-mix(in srgb,var(--accent) 38%,transparent);font-weight:600;background:color-mix(in srgb,var(--accent) 12%,var(--bg-primary));position:relative}.calendar-day.today:before{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.calendar-day.has-entry{background:color-mix(in srgb,var(--accent) 22%,var(--bg-primary));color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 28%,transparent);font-weight:600}.calendar-day.has-entry:hover{background:color-mix(in srgb,var(--accent) 26%,var(--bg-primary));transform:translateY(-1px)}.calendar-day.has-entry.other-month{opacity:.7}.calendar-day.has-entry.today{background:color-mix(in srgb,var(--accent) 32%,var(--bg-primary));color:var(--text-primary)}.calendar-day.has-entry.today:before{background:var(--text-primary)}.calendar-loading-state{padding:40px 20px;text-align:center}.calendar-loading-text{color:var(--text-secondary)}.menu-btn{width:36px;height:36px;border-radius:50%;border:none;background:#0000000d;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease;box-shadow:none;padding:0;flex-shrink:0}.menu-btn:hover{transform:scale(1.05);background:#00000014}[data-theme=dark] .menu-btn{background:#ffffff14}[data-theme=dark] .menu-btn:hover{background:#ffffff1f}.menu-btn:active{transform:scale(.95)}.menu-icon{width:18px;height:18px;display:block;transition:filter .3s ease;opacity:.7}[data-theme=dark] .menu-icon{filter:invert(1);opacity:.8}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;pointer-events:none}.menu-overlay.open{pointer-events:auto}.menu-overlay-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0;transition:opacity .28s cubic-bezier(.4,0,.2,1),backdrop-filter .28s ease,-webkit-backdrop-filter .28s ease,background .28s ease;pointer-events:auto}.menu-overlay.open .menu-overlay-backdrop{background:#1a18140f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:1}[data-theme=dark] .menu-overlay.open .menu-overlay-backdrop{background:#0c0c0a80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.menu-overlay-content{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) scale(.95);min-width:220px;width:max-content;max-width:calc(100vw - 48px);display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-sm);opacity:0;transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .25s ease;z-index:1001;padding:var(--spacing-md)}.menu-overlay.open .menu-overlay-content{opacity:1;transform:translate(-50%,-50%) scale(1)}.menu-icon-btn{width:100%;min-width:0;height:52px;border-radius:26px;border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--spacing-md);transition:all .25s ease;padding:0 var(--spacing-md);flex-shrink:0;box-sizing:border-box;margin-bottom:8px;box-shadow:0 2px 8px #0000000a}[data-theme=dark] .menu-icon-btn{background:#282828b3;border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #0003}.menu-icon-btn:hover{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-1px)}[data-theme=dark] .menu-icon-btn:hover{background:#3c3c3ccc;border-color:#ffffff26;box-shadow:0 4px 12px #0000004d}.menu-icon-label{font-size:var(--font-fluid-lead);font-weight:100;font-family:var(--font-primary);color:var(--text-primary);white-space:nowrap;letter-spacing:-.01em;opacity:.9;text-transform:uppercase}[data-theme=dark] .menu-icon-label{color:var(--text-primary);opacity:.95}.menu-icon-btn .toggle-icon{font-size:1.3rem;line-height:1}.menu-icon-btn .logout-icon{width:20px;height:20px;display:block;transition:filter .3s ease}[data-theme=dark] .menu-icon-btn .logout-icon{filter:invert(1)}.menu-icon-btn>*:first-child{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.menu-icon-btn svg,.menu-icon-btn .notification-icon,.menu-icon-btn .logout-icon{flex-shrink:0;width:20px;height:20px}.menu-icon-btn .menu-icon-label{flex:1;min-width:0;text-align:left}.menu-icon-btn .notification-icon{width:20px;height:20px;object-fit:contain;display:block}.menu-subtle-action-btn{width:fit-content;align-self:anchor-center;margin-top:2px;margin-right:4px;border:none;background:transparent;color:var(--text-muted);font-size:.78rem;letter-spacing:.02em;cursor:pointer;padding:4px 6px;text-underline-offset:2px;opacity:.78;transition:opacity .16s ease}.menu-subtle-action-btn:hover{opacity:1}.toast{position:fixed;bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%) translateY(100px);background:var(--text-primary);color:var(--bg-primary);padding:12px 20px;border-radius:var(--radius);box-shadow:var(--shadow-md);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10000;max-width:90%;min-width:280px;text-align:left;font-size:.9rem;display:flex;align-items:center;gap:10px;line-height:1.5}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-icon{font-size:1.1rem;font-weight:700;flex-shrink:0;width:20px;text-align:center}.toast-success,[data-theme=dark] .toast-success{background:var(--success);color:var(--text-on-accent)}.toast-error{background:var(--text-error);color:var(--text-on-accent)}.toast-info{background:var(--text-primary);color:var(--bg-primary)}[data-theme=dark] .toast-info{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.encryption-warning-banner{background:var(--warning-bg);border:1px solid var(--warning-border);border-left:4px solid var(--warning-border);color:var(--warning-text);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem;box-shadow:var(--shadow-sm)}[data-theme=dark] .encryption-warning-banner{background:#c9a9621f;border-color:var(--accent);color:var(--accent)}.encryption-warning-banner .warning-icon{font-size:1.2rem;flex-shrink:0}.encryption-warning-banner .warning-text{flex:1;line-height:1.4}@keyframes saveSuccess{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn-save{position:relative;transition:all .2s ease}.btn-save.saving{animation:saveSuccess .4s ease}.btn-save.save-success{background:#7fb069;animation:fadeIn .3s ease}.save-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--text-on-accent);border-radius:50%;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}.save-checkmark{display:inline-block;margin-right:8px;font-size:1.1em;vertical-align:middle;animation:fadeIn .2s ease}*{-webkit-tap-highlight-color:rgba(168,181,160,.2)}.catdome-outer{position:relative;width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;padding:4px 0;overflow:hidden}.catdome-wrapper{--col-w: 120px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}.catdome-wrapper::-webkit-scrollbar{display:none}.catdome-track{display:flex;align-items:center;gap:8px;padding:8px 0;width:max-content}.catdome-arrow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:1px solid rgba(72,62,50,.26);background:#faf6eeeb;color:#382e24eb;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:4;transition:background .2s,color .2s,border-color .2s;-webkit-tap-highlight-color:transparent;padding:0;animation:none}.catdome-arrow:hover{background:#f4ece0fa;color:#2d251dfa;border-color:#3e352b59;animation:none}.catdome-arrow:active{transform:translateY(-50%) scale(.85);background:#e8dfd3f2;transition:transform .08s ease-out,background .08s}.catdome-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.catdome-arrow--left{left:4px}.catdome-arrow--right{right:4px}[data-theme=dark] .catdome-arrow{border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#ffffffa1}[data-theme=dark] .catdome-arrow:hover{background:#ffffff24;color:#ffffffd9;border-color:#fff3}[data-theme=dark] .catdome-arrow:active{background:#ffffff5c}@keyframes catdome-arrow-pulse{0%,to{opacity:.55}50%{opacity:.9}}.catdome-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:var(--col-w);flex-shrink:0;aspect-ratio:1;border-radius:16px;border:none;background:var(--bg-secondary);backface-visibility:hidden;transform-origin:center center;will-change:transform,opacity;position:relative;cursor:pointer;font-family:inherit;overflow:visible;-webkit-tap-highlight-color:transparent;transition:border-color .3s ease,box-shadow .3s ease;color:var(--text-muted)}.catdome-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.catdome-tile--completed,.catdome-tile--completed .catdome-label{color:var(--text-primary)}.catdome-tile--active{z-index:2}.catdome-ring{position:absolute;inset:-3px;border-radius:18px;z-index:3;pointer-events:none;opacity:.6;animation:catdome-ring-in .25s ease-out}@keyframes catdome-ring-in{0%{opacity:0;transform:scale(.96)}to{opacity:.6;transform:scale(1)}}.catdome-bg{position:absolute;inset:0;border-radius:inherit;z-index:-1;opacity:.34}.catdome-label{font-size:.72rem;font-weight:600;text-transform:capitalize;line-height:1.15;position:relative;z-index:1;letter-spacing:.01em}.catdome-check{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:var(--cat-color, var(--accent));display:flex;align-items:center;justify-content:center;z-index:2;color:#fff}@media(max-width:700px){.catdome-track{gap:6px}.catdome-label{font-size:.65rem}}@media(max-width:480px){.catdome-outer{width:100%;margin-left:0;margin-right:0}.catdome-track{gap:6px}.catdome-arrow{width:26px;height:26px}.catdome-arrow--left{left:2px}.catdome-arrow--right{right:2px}.catdome-label{font-size:.7rem}}@media(max-width:360px){.catdome-label{font-size:.55rem}}@media(prefers-reduced-motion:reduce){.catdome-tile{will-change:auto}.catdome-arrow{animation:none}.catdome-bg,.catdome-tile,.catdome-ring{transition:none!important;animation:none!important}}.category-menu-container{touch-action:none!important;background:transparent;border:none!important;outline:none!important;box-shadow:none!important}button,a,[role=button]{-webkit-tap-highlight-color:rgba(168,181,160,.3);touch-action:manipulation}@media(max-width:768px){:root{--font-fluid-h1: clamp(2.25rem, 4.5vw + 1.35rem, 2.7rem);--font-fluid-h2: clamp(1.05rem, 2.5vw + .75rem, 1.35rem);--font-fluid-h3: clamp(1rem, 2vw + .7rem, 1.2rem);--font-fluid-lead: clamp(.9rem, 1.5vw + .65rem, 1.05rem);--font-fluid-body: clamp(.8rem, 1vw + .6rem, .95rem);--font-fluid-label: clamp(.72rem, 1vw + .55rem, .85rem);--font-fluid-caption: clamp(.68rem, .8vw + .5rem, .78rem)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.global-header{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-top:env(safe-area-inset-top,0px)}.header-pill{padding:clamp(10px,2vw,14px) clamp(16px,3vw,20px)}.app-logo{height:clamp(20px,2.5vw + 10px,28px)}.menu-btn{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.menu-overlay-content{min-width:200px;max-width:calc(100vw - 32px);padding:var(--spacing-md)}.menu-icon-btn{width:100%;min-width:0}.menu-icon-label{font-size:var(--font-fluid-h3)}.app-container{padding:clamp(12px,4vw,20px)}.calendar-content{padding:var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-xs);width:100%;box-sizing:border-box}.calendar-nav{width:100%;max-width:min(480px,100%);box-sizing:border-box;padding:0;margin-left:auto;margin-right:auto}.calendar-grid{width:100%;max-width:min(480px,100%);box-sizing:border-box;gap:8px;margin-left:auto;margin-right:auto;padding:0}.app-header{padding:clamp(20px,4vw,32px) 0 clamp(12px,2vw,20px)}.home-content{gap:clamp(14px,3vw,24px)}.calendar-content,.writing-content{max-width:100%;padding-left:0;padding-right:0}.calendar-day{min-height:48px;font-size:var(--font-fluid-label)}#loginScreen.screen-active,#registerScreen.screen-active{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.login-screen .login-content{padding:var(--spacing-md) max(clamp(12px,3vw,20px),env(safe-area-inset-left,0px)) var(--spacing-xl) max(clamp(12px,3vw,20px),env(safe-area-inset-right,0px))}.login-screen-title{font-size:var(--font-fluid-h2)}.login-screen-subtitle{font-size:var(--font-fluid-body)}.login-form-glass{padding:var(--spacing-md) var(--spacing-sm)}.email-input,.password-input,.contact-input,.export-date-input{font-size:16px}.btn-primary,.btn-secondary,.btn-back,.btn-save{min-height:44px;min-width:44px;padding:12px 20px;font-size:1rem}.button-section{margin-bottom:var(--spacing-md)}.action-buttons{gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:0 max(clamp(8px,2vw,16px),env(safe-area-inset-left,0px)) 0 max(clamp(8px,2vw,16px),env(safe-area-inset-right,0px));box-sizing:border-box}.action-buttons .btn-secondary{flex:1;min-width:0;max-width:calc(50% - var(--spacing-sm) / 2);min-height:36px;padding:6px 12px;font-size:var(--font-fluid-caption)}#entryCategory{min-height:44px;font-size:1rem;padding:12px 16px}.appreciation-input{font-size:16px;padding:16px;min-height:120px;line-height:1.6}.entry-preview{padding:1rem 1.25rem;margin-bottom:.75rem;min-height:60px}.empty-state{padding:var(--spacing-lg) var(--spacing-sm)}.empty-state-cta{min-height:48px;width:100%;max-width:300px}}@media(max-width:480px){.header-pill{padding:10px 14px}.app-logo{height:42px}.btn-primary,.btn-secondary,.btn-save{min-height:48px;padding:14px 24px;font-size:.8rem}.calendar-day{min-height:50px;font-size:.95rem}.entry-preview{padding:1rem;margin-bottom:.75rem}#loginScreen.screen-active,#registerScreen.screen-active{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.btn-primary,.btn-secondary,.btn-save{min-height:48px;padding:14px 18px}.entry-preview{padding:1rem}.appreciation-input{padding:14px}.login-screen-title{font-size:var(--font-fluid-h2)}.login-screen-subtitle{font-size:var(--font-fluid-body)}.email-input,.password-input{padding:.875rem 0;font-size:16px}.app-container{padding:var(--spacing-xs)}.btn-primary{font-size:1rem;padding:var(--spacing-sm) var(--spacing-md)}.calendar-content,.writing-content{max-width:100%}.calendar-grid{gap:8px}.calendar-day{min-height:44px;font-size:.9rem}.calendar-day-header{font-size:.7rem;padding:6px 4px}.writing-content{gap:var(--spacing-md);padding-top:var(--spacing-sm)}.appreciation-input{min-height:250px;font-size:1rem}}@media(min-width:768px){.global-header{padding-top:env(safe-area-inset-top,0px);padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}.header-pill{max-width:800px;padding:14px 28px}.app-logo{height:56px}.menu-btn{width:40px;height:40px}.app-container{max-width:min(600px,100vw - 48px);padding:clamp(20px,4vw,32px)}}@media(min-width:1024px){.app-container{max-width:min(640px,100vw - 64px)}}.app-container{position:relative;z-index:1}.global-header{z-index:1000}.gradual-blur{position:fixed;left:0;right:0;height:clamp(80px,12vh,120px);z-index:100;pointer-events:none}.gradual-blur--top{top:0;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 100%)}.gradual-blur--bottom{bottom:0;-webkit-mask-image:linear-gradient(to top,black 0%,black 60%,transparent 100%);mask-image:linear-gradient(to top,black 0%,black 60%,transparent 100%)}.gradual-blur-layer{transition:opacity .15s ease}.menu-overlay-content{position:relative}.menu-pill-highlight{position:absolute;top:0;left:0;width:0;height:0;border-radius:var(--radius-sm, 12px);opacity:0;pointer-events:none;z-index:0;transform:scale(.95)}[data-theme=light] .menu-pill-highlight{background:#8a9e7e26;box-shadow:0 0 15px #8a9e7e1a}[data-theme=dark] .menu-pill-highlight{background:#c9a96233;box-shadow:0 0 20px #c9a96226}.menu-icon-btn{position:relative;z-index:1}.calendar-modal-content{max-width:500px;width:90%;animation:slideUp .3s ease-out;border-radius:18px}.calendar-modal-title{margin-bottom:4px;font-size:.95rem;font-weight:600}.calendar-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .2s ease;line-height:1}.calendar-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.calendar-entry-btn{padding:16px;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;border:1px solid var(--border);width:100%;text-align:left;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-entry-btn:hover{background:var(--surface);border-color:var(--accent);transform:translate(4px)}.calendar-entry-category{font-size:.7rem;font-weight:600;color:var(--accent);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.calendar-entry-content{color:var(--text-primary);font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-entry-arrow{color:var(--text-secondary);font-size:1.2rem;flex-shrink:0}.calendar-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.calendar-modal-entries{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;max-height:400px;overflow-y:auto;overflow-x:hidden}.home-entries-toggle{background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-style:italic;padding:2px 0;cursor:pointer;transition:color .2s ease,opacity .2s ease}.home-entries-toggle:hover{color:var(--text-primary);opacity:.78}.home-entries-toggle[aria-pressed=true]{color:var(--text-primary)}.export-modal-content{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--elevation-overlay);text-align:center}[data-theme=dark] .export-modal-content{background:#1616145c;border-color:#f5f0e81f;box-shadow:var(--elevation-overlay)}.export-section{margin-bottom:20px}.export-section-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;text-align:center}.export-options{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.export-option-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border-color, #ddd);background:transparent;color:var(--text-primary);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:6px;transition:all .2s ease}.export-option-btn--selected{border:2px solid var(--accent-color, #8a9e7e);background:var(--accent-color-light, rgba(138, 158, 126, .15))}.export-time-btn{padding:8px 12px;font-size:.85rem}.export-custom-dates{margin-top:12px;display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}.export-date-group{display:flex;flex-direction:column;gap:4px}.export-date-label{font-size:.75rem;color:var(--text-secondary)}.export-date-input{padding:6px 10px;border-radius:6px;border:1px solid var(--border-color, #ddd);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.export-date-input--error{border-color:var(--text-error)}.export-date-separator{color:var(--text-secondary);margin-top:18px}.export-error{font-size:.75rem;color:var(--text-error);text-align:center;margin-top:8px}.export-category-options{display:flex;flex-direction:column;align-items:center}.export-radio-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer}.export-radio-text{font-size:.9rem;color:var(--text-secondary);text-align:center}.export-checkboxes{margin-top:8px}.export-select-toggle{background:transparent;border:none;color:var(--accent-color, #8a9e7e);font-size:.8rem;cursor:pointer;padding:4px 0;margin-bottom:8px;text-decoration:underline}.export-checkbox-group{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center}.export-checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}.export-checkbox-text{font-size:.85rem;color:var(--text-secondary)}.export-preview{font-size:.85rem;color:var(--text-secondary);text-align:center;margin-bottom:12px}.export-preview--active{color:var(--accent-color, #8a9e7e);font-weight:500}.export-hint{font-size:.75rem;color:var(--text-secondary);text-align:center;margin-bottom:12px;font-style:italic}.writing-category-container{margin-bottom:16px;padding:0 20px}.writing-category-subtitle{font-size:.95rem;color:var(--text-secondary);text-align:center;padding:8px 0}.writing-category-subtitle-value{font-weight:500;color:var(--text-primary);font-style:italic;text-transform:capitalize}.writing-backdating-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;margin-bottom:12px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),rgba(var(--accent-rgb),.08));border:1px solid rgba(var(--accent-rgb),.25);border-radius:10px}.writing-backdating-text{font-size:.9rem;color:var(--accent-color, #8a9e7e);font-weight:500}.writing-input-container,.writing-input-shell{position:relative}.writing-action-btn{position:static;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent-color-light, rgba(138, 158, 126, .15));color:var(--accent-color, #8a9e7e);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .2s ease,background .2s ease}.writing-action-btn:hover{transform:scale(1.1);background:var(--accent-color, #8a9e7e);color:#fff}.writing-inspiration-btn,.writing-mic-btn{right:auto}.writing-mic-btn--recording{background:#ef4444e6;color:#fff;animation:pulse 1.5s infinite}.writing-mic-btn--processing{background:rgba(var(--accent-rgb),.5);cursor:wait}.writing-interim-transcript{position:absolute;bottom:8px;left:8px;right:8px;padding:8px 12px;background:#000000b3;border-radius:8px;font-size:.85rem;color:#fff;font-style:italic;z-index:3}.writing-textarea-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:8px;padding:0 4px;min-height:24px}.writing-input-actions{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:12px;z-index:3}.writing-save-section{display:flex;flex-direction:column;gap:8px;margin-top:var(--spacing-md)}.writing-locked-message{font-size:.85rem;color:var(--text-secondary);text-align:center;padding:8px;font-style:italic}.writing-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.writing-modal-content{background:var(--bg-primary);border-radius:16px;padding:24px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;overflow-x:hidden}.writing-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.writing-modal-title{font-size:1.2rem;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.writing-modal-close{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-secondary)}.writing-modal-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px}.writing-prompts-list{display:flex;flex-direction:column;gap:8px}.writing-prompt-btn{padding:14px 16px;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:.95rem;line-height:1.4;transition:all .2s ease}.writing-prompt-btn:hover{background:var(--accent-color-light, rgba(138, 158, 126, .15));border-color:var(--accent-color, #8a9e7e)}.writing-modal-close-btn{width:100%;padding:12px;margin-top:16px;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem}.landing-screen.screen{padding-top:0}.landing-content{--landing-header-offset: clamp(64px, 7.5vw, 88px);display:flex;flex-direction:column;gap:clamp(56px,8vw,100px);padding:var(--landing-header-offset) clamp(24px,7vw,96px) 120px;max-width:min(1160px,100%);width:100%;margin:0 auto;text-align:left}.landing-hero{display:flex;flex-direction:column;gap:clamp(16px,2.2vw,28px);position:relative;min-height:min(820px,calc(100svh - var(--landing-header-offset) - env(safe-area-inset-top,0px)));min-height:min(820px,calc(100dvh - var(--landing-header-offset) - env(safe-area-inset-top,0px)));justify-content:center;padding:clamp(8px,1.8vh,16px) 0 clamp(18px,3vh,28px)}.landing-login-button{font-size:.85rem;text-decoration:none;color:#fff;background:#6f8f6b;padding:8px 18px;border-radius:999px;font-weight:500}.landing-header-actions{display:inline-flex;align-items:center;gap:10px}.landing-about-button{font-size:.85rem;text-decoration:none;color:var(--text-secondary);padding:8px 14px;border-radius:999px;font-weight:500;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--surface) 60%,transparent)}.landing-login-button:hover{background:#5f7c5b}.landing-about-button:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 46%,transparent)}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.86fr);gap:clamp(32px,5vw,80px);align-items:center;padding-left:0;position:relative;z-index:2;min-width:0}.landing-hero-copy{display:flex;flex-direction:column;gap:clamp(14px,2vw,24px);will-change:transform;min-width:0;max-width:640px;position:relative}.landing-hero-kicker{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#93b88fe6;font-weight:600}.landing-hero-copy:before{content:none}.landing-title{font-size:clamp(2.3rem,2.3vw + 1.9rem,3.35rem);color:var(--text-primary);letter-spacing:-.03em;min-height:1.2em;max-width:16ch;line-height:1.08}.landing-subtitle{font-size:clamp(1rem,.42vw + .9rem,1.12rem);color:var(--text-secondary);max-width:44ch;line-height:1.72}.landing-cta{width:auto;align-self:flex-start;padding:12px 24px;background:#6f8f6b;color:#fff;border:none;border-radius:10px;font-size:.92rem;cursor:pointer;box-shadow:0 8px 22px #6f8f6b2e;transition:box-shadow .22s ease,transform .22s ease,background-color .22s ease}.landing-cta-group{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.landing-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:min(640px,100%)}.landing-bottom-cta{justify-content:center;width:auto;align-self:center}.landing-cta-secondary{border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:#00000014;color:var(--text-primary);box-shadow:none}.landing-cta-secondary:hover{background:#00000029}.landing-login-link{color:var(--text-secondary);font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.landing-login-link:hover{color:var(--text-primary)}.landing-hero-art{display:flex;justify-content:center;align-items:center;position:relative;width:clamp(320px,35vw,460px);height:auto;flex:0 0 auto;flex-shrink:0;will-change:transform;padding:0;border:none;background:transparent;box-shadow:none}.landing-hero-mockup{width:100%;height:100%;max-height:none;display:block;border:none;border-radius:0;box-shadow:none;opacity:.98;filter:saturate(.92) brightness(1.01);object-fit:contain;object-position:center top}.landing-phone-shell{width:min(100%,300px);border-radius:3rem;padding:6px;background:#4d4d4d;box-shadow:0 25px 50px #00000026;position:relative}.landing-phone-bezel{border-radius:2.7rem;padding:2px;background:#d4d8d4;overflow:hidden}.landing-phone-screen{width:100%;aspect-ratio:280 / 580;border-radius:2.6rem;overflow:hidden;background:#f7f8f7;position:relative}.landing-phone-notch{position:absolute;top:12px;left:50%;transform:translate(-50%);width:100px;height:28px;border-radius:999px;background:#141814eb;z-index:3;display:none}.landing-phone-side-btn{position:absolute;width:3px;background:#c2c6c2;z-index:2}.landing-phone-side-btn--left-sm{left:-2px;top:120px;height:30px;border-radius:2px 0 0 2px}.landing-phone-side-btn--left-md{left:-2px;top:170px;height:50px;border-radius:2px 0 0 2px}.landing-phone-side-btn--left-lg{left:-2px;top:230px;height:50px;border-radius:2px 0 0 2px}.landing-phone-side-btn--right-lg{right:-2px;top:180px;height:70px;border-radius:0 2px 2px 0}.landing-scroll-cue{margin-top:4px;align-self:center;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--text-muted);border-radius:999px;padding:8px 13px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.landing-scroll-cue span{font-size:.95rem}.landing-section{display:flex;flex-direction:column;gap:clamp(12px,1.9vw,18px)}.landing-section-title{font-size:clamp(1.45rem,.9vw + 1.16rem,1.95rem);color:var(--text-primary);font-weight:650;letter-spacing:-.02em}.landing-section-text{font-size:clamp(.99rem,.33vw + .9rem,1.08rem);color:var(--text-secondary);line-height:1.76;max-width:68ch}.landing-section-intro{margin-top:4px;max-width:64ch}.landing-image-card{margin-top:24px;border-radius:16px;background:var(--surface);border:1px solid var(--border);padding:12px;overflow:hidden}.landing-image-placeholder{height:220px;border-radius:12px;background:var(--bg-secondary);border:2px solid rgba(245,240,232,.18);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.landing-cinematic-card{padding:0;background:linear-gradient(165deg,#93b88f24,#161816e6);border:1px solid rgba(147,184,143,.25)}.landing-scroll-kicker-window{overflow:hidden;border-bottom:1px solid rgba(245,240,232,.08);margin-left:-10%;width:120%}.landing-scroll-kicker-track{display:flex;align-items:center;width:max-content;transform:translate3d(10vw,0,0);will-change:transform,opacity;animation:landing-kicker-marquee 69s linear infinite}@keyframes landing-kicker-marquee{0%{transform:translate3d(10vw,0,0)}to{transform:translate3d(calc(10vw - 50%),0,0)}}.landing-scroll-kicker{margin:0;padding:14px 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#f5f0e89e;white-space:nowrap;flex:0 0 auto}.landing-cinematic-stage{position:relative;min-height:260px;border-radius:0 0 16px 16px;overflow:hidden;padding:28px;isolation:isolate;background:radial-gradient(circle at 20% 20%,#93b88f33,#0c0d0ce6 60%)}.landing-cinematic-orb{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle at center,#a0c59c70,#a0c59c00);top:-96px;right:-60px;z-index:0;will-change:transform}.landing-cinematic-surface{position:relative;z-index:2;min-height:280px;border-radius:14px;border:1px solid rgba(245,240,232,.12);background:linear-gradient(160deg,#141514eb,#0f100fcc);box-shadow:inset 0 1px #ffffff0f,0 20px 35px #0000003d;display:flex;align-items:flex-end;overflow:hidden;padding:0}.landing-cinematic-mockup{position:relative;width:100%;display:flex;align-items:flex-end;justify-content:center;padding:28px 28px 0}.landing-mockup-web{width:78%;max-width:700px;height:auto;border-radius:10px 10px 0 0;box-shadow:0 -4px 30px #00000040;display:block}.landing-mockup-mobile{position:absolute;right:6%;bottom:0;width:18%;max-width:160px;height:auto;border-radius:10px 10px 0 0;box-shadow:-6px -4px 30px #00000059;display:block;z-index:1}.landing-cinematic-noise{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.9;background:repeating-linear-gradient(to bottom,#ffffff08,#ffffff08 1px,#0000 1px 3px)}.landing-webgl-showcase{margin-top:8px}.landing-webgl-frame{margin-top:12px;display:flex;align-items:center;justify-content:center;border-radius:18px;border:none;background:transparent;overflow:hidden;box-shadow:none}.landing-webgl-stage{width:min(100%,980px);height:clamp(420px,62vh,680px);position:relative}.posters-container{position:relative;width:100%;height:100%;overflow:hidden}.posters-container.landing-webgl-stage{height:clamp(380px,56vh,620px)}.posters-container canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.landing-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:16px}.landing-step-card{text-align:center;font-size:.85rem;color:var(--text-secondary);display:grid;gap:12px;border:1px solid var(--border);background:var(--surface);background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:14px;padding:18px;min-height:144px;align-content:center}.landing-steps-list{display:flex;flex-direction:column;margin-top:16px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--surface) 60%,transparent)}.landing-step-row{display:flex;align-items:center;gap:24px;padding:24px 28px;border-bottom:1px solid var(--border);transition:background .2s ease}.landing-step-row:last-child{border-bottom:none}.landing-step-row:hover{background:color-mix(in srgb,var(--surface) 80%,transparent)}.landing-step-number{font-size:2.2rem;font-weight:700;color:#93b88f47;line-height:1;flex-shrink:0;min-width:56px;font-variant-numeric:tabular-nums}.landing-step-content{display:flex;flex-direction:column;gap:4px}.landing-step-title{font-size:clamp(1.34rem,1.7vw,1.9rem);font-weight:650;color:var(--text-primary);margin:0;line-height:1.2;letter-spacing:-.02em;text-wrap:balance;max-width:20ch;text-shadow:none}.landing-step-desc{font-size:clamp(.98rem,.8vw,1.1rem);color:var(--text-secondary);line-height:1.72;margin:0;max-width:42ch}.landing-poster-card{position:relative;overflow:hidden;transform-style:preserve-3d;backface-visibility:hidden;transform:none;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),border-color .32s ease;animation:none}.landing-poster-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,#ffffff1a,#fff0);opacity:.14}.landing-poster-card>*{position:relative;z-index:1;transform:none}.landing-poster-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.landing-steps-grid .landing-poster-card:nth-child(2),.landing-testimonials .landing-poster-card:nth-child(2),.landing-why-grid .landing-poster-card:nth-child(2){animation-delay:.35s}.landing-steps-grid .landing-poster-card:nth-child(3),.landing-testimonials .landing-poster-card:nth-child(3),.landing-why-grid .landing-poster-card:nth-child(3){animation-delay:.7s}@keyframes landing-poster-float{0%,to{transform:perspective(1000px) rotateX(.8deg) rotateY(-1.2deg) translateY(0)}50%{transform:perspective(1000px) rotateX(-.2deg) rotateY(1deg) translateY(-4px)}}.landing-step-icon{font-weight:600;color:var(--text-primary)}.landing-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px}.landing-testimonial-card{background:var(--surface);border-radius:16px;padding:18px;border:1px solid var(--border);font-size:.85rem;color:var(--text-secondary);display:grid;gap:12px;transition:transform .22s ease}.landing-testimonial-card span{font-size:.8rem;color:var(--text-muted)}.landing-stars{font-weight:600;color:var(--text-muted)}.landing-journey-steps{display:flex;flex-direction:column;gap:clamp(56px,8vw,108px);margin-top:clamp(24px,3.6vw,44px)}.landing-journey-step{display:grid;grid-template-columns:minmax(300px,460px) minmax(0,1fr);gap:clamp(32px,5vw,76px);align-items:center;position:relative;padding:0;border:none;background:transparent;box-shadow:none}.landing-journey-step:nth-child(2n) .landing-journey-visual{order:2}.landing-journey-step:nth-child(2n) .landing-journey-info{order:1}.landing-journey-visual{display:flex;justify-content:center;align-items:center}.landing-journey-info{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:44ch}.landing-step-eyebrow{margin:0;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}.landing-journey-connector{position:absolute;bottom:calc(clamp(56px,8vw,108px)*-.84);width:320px;height:170px;opacity:.72;pointer-events:none}.landing-journey-connector:before{content:"";position:absolute;inset:0;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg%20viewBox='0%200%20340%20180'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3E%3Cpath%20d='M312%2018%20C318%2062%20292%2088%20258%2088%20C225%2088%20202%2060%20212%2040%20C226%2015%20262%2018%20272%2045%20C281%2070%20258%2084%20240%2072%20C192%2042%20144%2078%20120%20120%20C98%20158%2060%20164%2018%20154'%20stroke='rgb(96,109,103)'%20stroke-width='2.1'%20stroke-linecap='round'%20stroke-dasharray='4.5%208'/%3E%3Cpath%20d='M34%20142%20L18%20154%20L38%20158'%20stroke='rgb(96,109,103)'%20stroke-width='2.1'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}.landing-journey-connector--right{right:clamp(48px,10vw,160px)}.landing-journey-connector--left{left:clamp(48px,10vw,160px)}.landing-journey-connector--left:before{transform:scaleX(-1)}.landing-journey-media{width:min(100%,460px);border-radius:20px;overflow:hidden;position:relative;display:block;background:color-mix(in srgb,var(--surface) 86%,transparent);border:1px solid color-mix(in srgb,var(--border) 62%,transparent);padding:0;box-shadow:var(--shadow-sm)}.landing-journey-step:hover .landing-journey-media{transform:translateY(-2px);box-shadow:0 14px 24px #00000029}.landing-journey-img{width:100%;height:auto;max-height:520px;object-fit:contain;display:block;border-radius:inherit}.landing-journey-placeholder{width:100%;aspect-ratio:4 / 3;border-radius:18px;background:radial-gradient(circle at 30% 30%,rgba(147,184,143,.12),transparent 60%),linear-gradient(160deg,#93b88f0f,#161816a6);border:1px solid rgba(147,184,143,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative;overflow:hidden;box-shadow:0 8px 28px #0000001f;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1)}.landing-journey-step:hover .landing-journey-placeholder{transform:translateY(-4px) scale(1.008);box-shadow:0 16px 40px #0000002e}.landing-journey-placeholder:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.015),rgba(255,255,255,.015) 1px,transparent 1px,transparent 3px);pointer-events:none}.landing-journey-placeholder-number{font-size:4rem;font-weight:800;color:#93b88f29;line-height:1;letter-spacing:-.04em}.landing-journey-placeholder-label{font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;opacity:.7}.landing-quote-interlude{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:clamp(52px,8vw,92px) 24px;margin:0;max-width:900px;align-self:center;text-align:center;border:none}.landing-quote-word{font-size:clamp(2rem,4.8vw,3.3rem);font-weight:650;color:var(--text-primary);line-height:1.3;display:inline-block}.landing-quote-accent{color:#93b88feb;font-style:italic}.landing-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:8px;border:1px dashed rgba(147,184,143,.22);border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--surface) 50%,transparent)}.landing-stat-item{display:flex;flex-direction:column;gap:6px;padding:30px 24px;border-bottom:1px dashed rgba(147,184,143,.14);border-right:1px dashed rgba(147,184,143,.14)}.landing-stat-item:nth-child(2n){border-right:none}.landing-stat-item:nth-child(n+3){border-bottom:none}.landing-stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-.03em}.landing-stat-label{font-size:.84rem;color:var(--text-muted);line-height:1.4}.landing-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px;color:var(--text-secondary)}.landing-why-grid>*{border:1px solid var(--border);border-radius:18px;padding:22px 20px;background:var(--surface);background:color-mix(in srgb,var(--surface) 88%,transparent)}@media(prefers-reduced-motion:reduce){.landing-cinematic-orb,.landing-scroll-kicker,.landing-hero-copy,.landing-hero-art{transform:none!important}.landing-scroll-cue,.landing-scroll-kicker-track,.landing-poster-card{animation:none}.landing-step-row,.landing-journey-placeholder,.landing-journey-media{transition:none}.landing-quote-word{filter:none!important}}.landing-why-grid h3{margin-bottom:8px;color:var(--text-primary);font-size:1rem}.landing-why-grid p{font-size:.9rem;line-height:1.5}body.landing-page{background:var(--bg-primary);color:var(--text-primary)}.landing-footer{display:flex;justify-content:space-between;align-items:center;padding:34px clamp(24px,7vw,96px) 52px;max-width:1160px;margin:0 auto;color:var(--text-secondary);font-size:.85rem;column-gap:120px}.landing-footer-left{display:flex;align-items:center;gap:10px}.landing-footer-logo{width:24px;height:24px}.landing-footer-links{display:flex;gap:18px;margin-left:auto}.landing-footer-links a{color:var(--text-secondary);text-decoration:none}.landing-footer-links a:hover{color:var(--text-primary)}.landing-footer-links a[aria-current=page]{color:var(--text-primary);font-weight:500}.about-content{--landing-header-offset: clamp(64px, 7.5vw, 88px);display:flex;flex-direction:column;gap:clamp(44px,5vw,64px);padding:var(--landing-header-offset) clamp(24px,8vw,120px) 120px;max-width:min(1240px,100%);width:100%;margin:0 auto;text-align:left}.legal-content{max-width:min(980px,100%)}.legal-section{display:flex;flex-direction:column;gap:16px}.legal-section h2{margin:4px 0 0}.legal-section p{margin:0;color:var(--text-secondary);line-height:1.65}.legal-section a{color:var(--accent)}.about-hero{display:flex;flex-direction:column;gap:12px}.about-kicker{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--accent, #a0785a)}.about-title{font-size:clamp(2rem,5vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--text-primary)}.about-subtitle{font-size:clamp(1rem,2.5vw,1.15rem);color:var(--text-secondary);line-height:1.6}.about-section{display:flex;flex-direction:column;gap:20px}.about-section-title{font-size:1.35rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.about-story{display:flex;flex-direction:column;gap:16px}.about-story p{font-size:1rem;line-height:1.75;color:var(--text-secondary)}.about-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.about-value-card{background:var(--bg-secondary, var(--bg-card, rgba(0,0,0,.04)));border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px}.about-value-icon{font-size:1.25rem;color:var(--accent, #a0785a);line-height:1}.about-value-heading{font-size:1rem;font-weight:600;color:var(--text-primary)}.about-value-card p{font-size:.9rem;line-height:1.6;color:var(--text-secondary);margin:0}.about-cta-section{text-align:center;align-items:center;padding-top:16px}.about-cta-text{font-size:1.35rem;font-weight:600;color:var(--text-primary)}.about-cta-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.about-cta-actions .landing-cta{align-self:center;text-decoration:none}.about-back-link{font-size:.9rem;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.about-back-link:hover{color:var(--text-primary)}.contact-form{display:flex;flex-direction:column;gap:20px;width:100%;position:relative}.contact-field{display:flex;flex-direction:column;gap:6px}.contact-label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.contact-optional{color:var(--text-secondary);font-weight:400}.contact-input{width:100%;padding:10px 14px;font-size:.95rem;border:1px solid var(--border, #ddd);border-radius:8px;background:var(--bg-primary, #fff);color:var(--text-primary);outline:none;transition:border-color .2s ease;font-family:inherit;box-sizing:border-box}.contact-input:focus{border-color:var(--accent, #a0785a)}.contact-input::placeholder{color:var(--text-tertiary, var(--text-secondary));opacity:.6}.contact-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b675f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.contact-textarea{resize:vertical;min-height:120px;line-height:1.6}.contact-hint{font-size:.8rem;color:var(--text-secondary);margin:2px 0 0}.contact-error{font-size:.9rem;color:var(--text-error, var(--error, #c44));background:color-mix(in srgb,var(--error, #c44) 8%,transparent);border:1px solid color-mix(in srgb,var(--error, #c44) 20%,transparent);border-radius:8px;padding:10px 14px}.contact-submit{align-self:flex-start}.contact-submit:disabled{opacity:.5;cursor:not-allowed}.contact-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 0}.contact-success-title{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.contact-success-text{font-size:1rem;color:var(--text-secondary);line-height:1.6}@media(max-width:1120px){.about-content{--landing-header-offset: clamp(66px, 8vw, 84px);gap:52px;padding:var(--landing-header-offset) clamp(22px,5.5vw,56px) 96px}}@media(max-width:900px){.about-content{--landing-header-offset: clamp(72px, 10vh, 96px);gap:44px;padding:var(--landing-header-offset) clamp(18px,5vw,32px) 82px}}@media(max-width:768px){.about-content{--landing-header-offset: clamp(72px, 10svh, 92px);gap:38px;padding:var(--landing-header-offset) 16px 72px}.about-values{grid-template-columns:1fr}.contact-submit{align-self:stretch}}@media(max-width:560px){.about-content{gap:34px;padding-inline:14px}}@media(max-width:400px){.about-content{padding-inline:12px}}.account-deleted-screen{display:flex;justify-content:center;align-items:center;padding:40px 20px}.account-deleted-content{max-width:560px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;box-shadow:var(--shadow-sm)}.account-deleted-title{font-size:1.6rem;color:var(--text-primary);margin-bottom:12px}.account-deleted-text{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.account-deleted-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:20px}.account-deleted-cta{width:100%}body.landing-page .app-container{max-width:100%;padding:0}body.landing-page .global-header:not(.landing-global-header){display:none}body.landing-page .landing-global-header .header-pill{max-width:min(1240px,100%)}body.landing-page .landing-global-header .header-pill:before{background:#ffffff6b}@media(max-width:1120px){.landing-content{--landing-header-offset: clamp(66px, 8vw, 84px);gap:52px;padding:var(--landing-header-offset) clamp(22px,5.5vw,56px) 96px}.landing-hero{min-height:auto;justify-content:flex-start;padding-top:clamp(32px,6vh,64px);padding-bottom:32px}.landing-hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.74fr);gap:clamp(24px,4vw,44px)}.landing-title{font-size:clamp(2rem,2.4vw + 1.25rem,3rem);max-width:18ch}.landing-subtitle{font-size:.96rem}}@media(max-width:900px){.landing-content{--landing-header-offset: clamp(72px, 10vh, 96px);gap:44px;padding:var(--landing-header-offset) clamp(18px,5vw,32px) 82px}.landing-hero-grid{grid-template-columns:minmax(0,1fr) auto;gap:clamp(10px,2.6vw,16px)}.landing-hero{justify-content:flex-start;min-height:auto;padding-top:clamp(16px,4vh,40px);padding-bottom:28px}.landing-hero-art{display:none}.landing-hero-copy{gap:16px}.landing-title{font-size:clamp(1.58rem,5.7vw,2.12rem);max-width:18ch}.landing-subtitle{font-size:.92rem;line-height:1.55}.landing-cta{padding:10px 18px;font-size:.84rem}.landing-section-title{font-size:1.4rem}.landing-section-text{font-size:.92rem}.landing-steps-grid,.landing-testimonials,.landing-why-grid{grid-template-columns:1fr}.landing-footer{flex-direction:column;align-items:flex-start;gap:16px;padding:28px clamp(18px,5vw,32px) 44px;column-gap:18px}.landing-footer-links{margin-left:0;flex-wrap:wrap;row-gap:8px}.landing-scroll-kicker{letter-spacing:.1em;padding-right:0}.landing-cinematic-stage{min-height:220px;padding:20px}.landing-step-row{padding:20px 22px;gap:20px}.landing-step-number{font-size:1.8rem;min-width:44px}.landing-webgl-stage,.posters-container.landing-webgl-stage{height:clamp(300px,48vh,460px);width:100%}.landing-journey-steps{gap:56px}.landing-journey-step{grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:30px}.landing-journey-placeholder-number{font-size:3.2rem}.landing-scroll-cue{display:none}}@media(max-width:768px){.landing-content{--landing-header-offset: clamp(72px, 10svh, 92px);gap:40px;padding:var(--landing-header-offset) 16px 64px}.landing-hero{min-height:auto;justify-content:flex-start;padding-bottom:20px}.landing-hero-grid{grid-template-columns:1fr;gap:12px}.landing-hero-copy{gap:16px;max-width:none}.landing-title{font-size:clamp(1.75rem,7.2vw,2.25rem);max-width:16.8ch}.landing-subtitle{font-size:.92rem;max-width:100%}.landing-cta-group{width:100%;gap:12px}.landing-hero-actions,.landing-bottom-cta{width:100%}.landing-cta{width:100%;text-align:center}.landing-hero-art{justify-self:center;align-self:center;width:clamp(150px,44vw,210px);height:clamp(164px,46vw,228px);margin-top:2px}.landing-image-card{margin-top:14px}.landing-cinematic-stage{min-height:190px;padding:16px}.landing-cinematic-surface{min-height:180px}.landing-cinematic-mockup{padding:20px 16px 0}.landing-mockup-web{width:82%}.landing-mockup-mobile{width:20%;right:4%}.landing-step-row{padding:18px;gap:16px}.landing-step-number{font-size:1.6rem;min-width:38px}.landing-step-title{font-size:clamp(1.2rem,4.8vw,1.45rem)}.landing-step-desc{font-size:clamp(.98rem,3.2vw,1.08rem)}.landing-stat-item{padding:22px 18px}.landing-stat-value{font-size:1.7rem}.landing-stat-label{font-size:.78rem}.landing-journey-steps{gap:48px}.landing-journey-step,.landing-journey-step--reversed{display:flex;flex-direction:column;gap:22px;padding:0}.landing-journey-connector{display:none}.landing-journey-step:nth-child(2n) .landing-journey-visual,.landing-journey-step:nth-child(2n) .landing-journey-info{order:initial}.landing-journey-placeholder,.landing-journey-media{width:min(100%,360px);max-height:none}.landing-journey-placeholder-number{font-size:2.8rem}.landing-quote-interlude{padding:44px 16px;gap:5px 10px}.landing-step-card,.landing-testimonial-card,.landing-why-grid>*{padding:14px}.landing-scroll-cue{margin-top:10px}}@media(max-width:560px){.landing-content{gap:36px;padding-inline:14px}.landing-hero{padding-bottom:20px}.landing-hero-copy{gap:14px}.landing-title{font-size:clamp(1.56rem,7.3vw,1.95rem);max-width:17.2ch}.landing-hero-kicker{font-size:.66rem;letter-spacing:.12em}.landing-subtitle{font-size:.88rem;line-height:1.55}.landing-section-title{font-size:1.28rem}.landing-section-text{font-size:.88rem;line-height:1.52}.landing-cinematic-surface{min-height:140px}.landing-cinematic-mockup{padding:16px 12px 0}.landing-mockup-mobile{width:22%;right:3%}.landing-step-row{padding:16px 14px;gap:14px}.landing-step-number{font-size:1.4rem;min-width:32px}.landing-step-title{font-size:clamp(1.08rem,5.2vw,1.28rem)}.landing-step-desc{font-size:clamp(.94rem,3.7vw,1rem)}.landing-stat-item{padding:20px 16px}.landing-stat-value{font-size:1.5rem}.landing-stat-label{font-size:.76rem}.landing-journey-steps{gap:40px}.landing-journey-placeholder,.landing-journey-media{width:min(100%,320px);max-height:none}.landing-journey-placeholder-number{font-size:2.4rem}.landing-journey-placeholder-label{font-size:.68rem}.landing-quote-interlude{padding:32px 12px;gap:4px 8px}.landing-quote-word{font-size:clamp(1.4rem,6vw,2rem)}.landing-scroll-kicker{font-size:.66rem;letter-spacing:.08em;padding:11px 0}.landing-cinematic-orb{width:220px;height:220px;top:-84px;right:-74px}.landing-webgl-stage,.posters-container.landing-webgl-stage{height:280px}}@media(max-width:400px){.landing-content{gap:32px;padding-inline:12px;padding-bottom:56px}.landing-hero{padding-bottom:18px}.landing-hero-copy{gap:12px}.landing-title{font-size:clamp(1.42rem,7vw,1.72rem);max-width:16.4ch}.landing-subtitle{font-size:.85rem;line-height:1.55}.landing-cta{padding:12px 18px;font-size:.86rem}.landing-journey-step,.landing-journey-step--reversed{gap:16px;padding:0;border-radius:0}.landing-journey-placeholder,.landing-journey-media{width:min(100%,300px);max-height:none}.landing-journey-info{gap:6px}.landing-section-title{font-size:1.2rem}.landing-section-text{font-size:.86rem;line-height:1.55}.landing-footer{padding:24px 12px 36px}}@media(max-width:320px){.landing-content{gap:28px;padding-inline:10px;padding-bottom:48px}.landing-hero{padding-bottom:14px}.landing-hero-copy{gap:10px}.landing-title{font-size:1.35rem}.landing-subtitle{font-size:.82rem;line-height:1.55}.landing-hero-kicker{font-size:.6rem}.landing-cta{padding:11px 16px;font-size:.82rem}.landing-section-title{font-size:1.1rem}.landing-section-text{font-size:.82rem;line-height:1.55}.landing-journey-placeholder,.landing-journey-media{width:min(100%,270px);max-height:none}.landing-journey-placeholder-number{font-size:2rem}.landing-quote-word{font-size:clamp(1.2rem,5.5vw,1.6rem)}.landing-stat-value{font-size:1.3rem}.landing-stat-label{font-size:.72rem}.landing-footer{padding:20px 10px 32px;font-size:.78rem}}.home-streak-container{display:flex;justify-content:center;margin-bottom:16px;padding:0 20px}.home-intro-section{margin-top:4px;margin-bottom:4px;width:100%}.home-intro-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:12px}.home-intro-row>:first-child{justify-self:start;text-align:left}.home-intro-date{margin:0}.home-intro-date.home-date-display{margin-bottom:0;line-height:1.2}.home-streak-badge-inline{margin:0;padding:4px 10px;border-radius:9999px;align-self:baseline}.home-streak-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;color:var(--streak-accent);width:auto;max-width:max-content}.home-streak-badge--active{background:var(--surface);box-shadow:none}.home-streak-text{font-size:13px;font-weight:700;color:var(--streak-accent);white-space:nowrap}.home-streak-text--active{color:var(--streak-accent)}.home-yesterday-container{display:flex;justify-content:center;margin-bottom:12px}.home-yesterday-container--inline{justify-content:flex-end;margin-top:0;margin-bottom:0}.home-yesterday-btn{background:transparent;border:none;cursor:pointer;font-size:.85rem;color:var(--text-secondary);display:contents;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;transition:background .2s ease}.home-yesterday-btn:hover{background:var(--accent-color-light, rgba(138, 158, 126, .1))}.home-category-container{margin-bottom:20px;padding:0;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.home-date-display{font-size:1.1rem;font-weight:200;color:var(--text-primary);margin-bottom:8px;text-align:left}.home-category-subtitle{text-align:center;margin-bottom:16px;font-size:.9rem;color:var(--text-secondary)}.home-entries-list{width:100%}.home-entries-list-header{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.home-entries-title-inline{display:inline-flex;align-items:baseline;gap:8px}.home-calendar-link-wrap{display:flex;justify-content:center;margin-top:8px}.home-calendar-link{border:none;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:4px 8px}.home-calendar-link:hover{opacity:.75}.home-empty-state{padding:12px 20px 30px;text-align:center;max-width:500px;margin:0 auto}.home-empty-state-title{font-size:1.2rem;font-weight:500;color:var(--text-primary);margin-bottom:12px}.home-empty-state-message{font-size:.92rem;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.settings-section{margin-bottom:32px}.settings-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.settings-card{overflow:visible;padding:16px}.settings-card-compact{padding:16px}.settings-success-modal{text-align:center;padding:32px 24px}.settings-success-copy{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:20px}.settings-danger-text{color:var(--text-error)}.settings-field-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5em 1em;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border)}.settings-field-label{font-size:.85rem;color:var(--text-secondary)}.settings-field-value{color:var(--text-primary)}.settings-name-value-wrap{display:inline-flex;align-items:center;justify-content:flex-end;min-width:180px}.settings-name-value-btn{border:none;background:transparent;color:var(--text-primary);font-size:.92rem;cursor:pointer;padding:0}.settings-name-value-btn:hover{color:var(--accent)}.settings-name-edit-row{display:inline-flex;align-items:center;gap:8px}.settings-name-input{min-width:180px;padding:8px 10px;font-size:.88rem}.settings-name-save-btn{border:none;background:transparent;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer}.settings-name-save-btn:disabled{color:var(--text-muted);cursor:not-allowed}.settings-divider{height:1px;background:var(--border);margin:10px 0}.settings-encryption-card{padding:18px}.settings-encryption-description{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin:0}.settings-encryption-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.settings-status-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:.95rem;font-weight:600}.settings-status-dot{width:10px;height:10px;border-radius:50%}.settings-status-badge--active{background:#6cb07c2e;color:#4f9b5f}.settings-status-badge--active .settings-status-dot{background:#4f9b5f}.settings-status-badge--locked{background:#d2a75d33;color:#b27c29}.settings-status-badge--locked .settings-status-dot{background:#b27c29}.settings-status-badge--not-set-up{background:#82828233;color:var(--text-muted)}.settings-status-badge--not-set-up .settings-status-dot{background:var(--text-muted)}.settings-encryption-info{border-radius:12px;border:1px solid;padding:14px 16px}.settings-encryption-info--active{background:#6cb07c14;border-color:#6cb07c59}.settings-encryption-info--locked{background:#d2a75d1a;border-color:#d2a75d59}.settings-encryption-info--not-set-up{background:#82828214;border-color:#82828240}.settings-encryption-info-text{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.settings-row-link{border:none;background:transparent;color:var(--accent);font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 0}.settings-row-link:disabled{color:var(--text-muted);cursor:not-allowed}.settings-encryption-verify{display:flex;flex-direction:column;gap:10px}.settings-encryption-blob{width:100%;font-family:monospace;font-size:.75rem;line-height:1.6;padding:12px;background:var(--input-bg);border-radius:8px;word-break:break-all;border:1px solid var(--border-color);max-height:160px;overflow-y:auto;color:var(--text-primary)}.settings-encryption-blob-label{margin:6px 0 4px;color:var(--text-secondary);font-weight:600}.settings-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.settings-action-row{display:flex;gap:8px;padding:8px 0}.settings-action-btn--divider{border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}.settings-action-btn--danger{color:var(--text-error);border-color:#e74c3c33}.settings-action-btn--danger:hover:not(:disabled){background:#e74c3c14;border-color:#e74c3c66;box-shadow:none}.settings-expandable-content{padding:16px;border-top:1px solid var(--border)}.settings-form-group{margin-bottom:16px}.settings-form-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.settings-input{width:100%;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-primary);font-size:1rem;box-sizing:border-box;transition:border-color .2s ease}.settings-input:focus{outline:none;border-color:var(--accent-color, var(--accent))}.settings-input--error{border-color:var(--text-error)}.settings-button-group{display:flex;gap:12px}.settings-theme-buttons{display:flex;gap:12px;padding:4px 0}.settings-theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-theme-chip{border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.settings-theme-chip--active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.settings-theme-chip:hover{transform:translateY(-1px)}.settings-warning{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.settings-warning-icon{flex-shrink:0;margin-top:2px}.settings-warning-title{font-weight:600;color:var(--text-error);margin-bottom:8px}.settings-warning-text{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.settings-password-strength{display:flex;align-items:center;gap:8px;margin-top:8px}.settings-password-strength-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.settings-password-strength-fill{height:100%;transition:width .2s ease}.settings-password-strength-label{font-size:.75rem;font-weight:500}.settings-hint{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.settings-hint--error{color:var(--text-error)}.settings-footer{text-align:center;padding:20px}.settings-version{font-size:.85rem;color:var(--text-secondary)}.settings-tagline{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.settings-delete-link{margin-top:10px;border:none;background:transparent;color:var(--text-muted);font-size:.78rem;cursor:pointer}.settings-delete-link:hover{color:var(--text-error)}.settings-delete-confirm{margin-top:14px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats-card{display:flex;flex-direction:column;gap:4px}.stats-card-compact{padding:16px}.stats-card-summary{padding:24px 20px}.stats-card-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.1}.stats-card-label{font-size:.8rem;color:var(--text-muted)}.stats-card-value-long{font-size:1.2rem;font-weight:400;text-align:center}.stats-word-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.stats-word-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.85rem;color:var(--text-primary);display:flex;align-items:center;gap:6px}.stats-word-count{font-size:.75rem;color:var(--text-muted)}.stats-summary-phrase{font-size:1.05rem;font-weight:500;color:var(--text-primary);line-height:1.7;font-style:italic;text-align:center;margin:0;padding:4px 0}.stats-theme-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.stats-theme-item{font-size:.95rem;color:var(--text-primary);padding:8px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.stats-theme-item:last-child{border-bottom:none}.stats-theme-emoji{font-size:1.1rem;flex-shrink:0}.stats-theme-note{font-size:.8rem;color:var(--text-muted);margin-top:8px;font-style:italic}.stats-category-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.stats-category-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.stats-category-item:last-child{border-bottom:none}.stats-category-name{font-size:.95rem;color:var(--text-primary);text-transform:capitalize}.stats-category-count{font-size:.85rem;color:var(--text-muted);font-weight:600}.stats-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:20px 0;font-style:italic}.screen-state-wrap{padding:40px 20px;text-align:center}.screen-state-text{color:var(--text-secondary)}@keyframes pulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}@media print{.menu-btn,.btn-primary,.btn-back{display:none}}.home-entries-count{display:none!important}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1600;max-width:640px;margin:0 auto;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--surface-color) 92%,#000 8%);border:1px solid var(--border-color);box-shadow:0 12px 36px #0000002e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cookie-banner__text{margin:0 0 10px;color:var(--text-primary);font-size:.9rem;line-height:1.45}.cookie-banner__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cookie-banner__btn{min-height:38px}.cookie-banner__link{margin-left:auto;color:var(--accent-color);font-size:.82rem;text-decoration:underline}@media(max-width:480px){.cookie-banner{left:10px;right:10px;bottom:10px}.cookie-banner__link{margin-left:0;width:100%}}.entry-grid{position:relative;width:100%;display:grid;grid-template-columns:repeat(var(--cols, 3),1fr);gap:.75rem;padding:1rem 0;box-sizing:border-box;--x: 50%;--y: 50%;--r: 200px}@media(max-width:900px){.entry-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media(max-width:560px){.entry-grid{grid-template-columns:1fr;gap:.75rem}}.entry-card{position:relative;display:flex;flex-direction:column;min-height:140px;border-radius:16px;overflow:hidden;transition:border-color .3s ease,transform .2s ease;background:var(--card-gradient);cursor:pointer;padding:1rem;box-sizing:border-box;--mouse-x: 50%;--mouse-y: 50%;--spotlight-color: rgba(255, 255, 255, .4)}[data-theme=dark] .entry-card{border-color:#ffffff1a}.entry-card:hover{border-color:var(--card-border);transform:translateY(-2px)}.entry-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 70%);pointer-events:none;opacity:0;transition:opacity .5s ease;z-index:2}.entry-card:hover:before{opacity:1}.entry-card-header{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-bottom:.75rem}.entry-card-icon{font-size:1.1rem;line-height:1}.entry-card-category{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffffb3}.entry-card-content{position:relative;z-index:1;flex:1;font-size:.85rem;line-height:1.5;color:#fff;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.entry-card-content--hidden{display:inline-block;font-style:italic;color:#ffffffb3}.entry-card-light .entry-card-content--hidden,.entry-card-light .entry-card-category{color:#0009}.entry-card-light .entry-card-content{color:#333}.entry-grid-overlay{position:absolute;inset:0;pointer-events:none;z-index:3;backdrop-filter:grayscale(.85) brightness(.85);-webkit-backdrop-filter:grayscale(.85) brightness(.85);background:#0000;border-radius:16px;mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0%,transparent 25%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.7) 70%,white 100%);-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0%,transparent 25%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.7) 70%,white 100%)}[data-theme=light] .entry-grid-overlay,:root:not([data-theme=dark]) .entry-grid-overlay{backdrop-filter:grayscale(.9) brightness(.98);-webkit-backdrop-filter:grayscale(.9) brightness(.98)}.entry-grid-fade{position:absolute;inset:0;pointer-events:none;z-index:4;backdrop-filter:grayscale(.85) brightness(.85);-webkit-backdrop-filter:grayscale(.85) brightness(.85);background:#0000;border-radius:16px;mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),white 0%,white 25%,rgba(255,255,255,.8) 40%,rgba(255,255,255,.55) 55%,rgba(255,255,255,.3) 70%,transparent 100%);-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),white 0%,white 25%,rgba(255,255,255,.8) 40%,rgba(255,255,255,.55) 55%,rgba(255,255,255,.3) 70%,transparent 100%);opacity:1;transition:opacity .25s ease}[data-theme=light] .entry-grid-fade,:root:not([data-theme=dark]) .entry-grid-fade{backdrop-filter:grayscale(.9) brightness(.98);-webkit-backdrop-filter:grayscale(.9) brightness(.98)}
