:root{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-input: #252525;--ink-primary: #e8e6e3;--ink-secondary: #a8a5a0;--ink-muted: #6c6966;--accent: #c9a227;--accent-hover: #ddb82e;--shadow-soft: 0 2px 8px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .4);--border-light: 1px solid rgba(255, 255, 255, .08);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Source Sans 3", -apple-system, sans-serif;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-body);font-weight:400;color:var(--ink-primary);background:var(--bg-primary);line-height:1.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E")}#root{height:100%}.app{display:flex;flex-direction:column;height:100vh;max-width:720px;margin:0 auto;padding:var(--space-lg)}.app--wide{max-width:960px}.header{text-align:center;padding:var(--space-xl) 0;border-bottom:var(--border-light);margin-bottom:var(--space-lg);position:relative}.header .subtitle{font-size:.9rem;color:var(--ink-muted);font-weight:300;letter-spacing:.05em;text-transform:uppercase}.header-title-link{background:none;border:none;cursor:pointer;padding:0;display:inline-block}.header-title-link h1{font-family:var(--font-display);font-size:2.5rem;font-weight:500;letter-spacing:.02em;color:var(--ink-primary);margin-bottom:var(--space-xs);transition:color .2s ease}.header-title-link:hover h1{color:var(--accent)}.settings-link{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.08);color:var(--ink-secondary);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease}.settings-link:hover{color:var(--accent);border-color:var(--accent)}.header-left{display:inline-flex;align-items:center;gap:var(--space-xs);justify-content:center}.header-back{background:none;border:1px solid rgba(255,255,255,.08);color:var(--ink-secondary);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease}.header-back:hover{color:var(--accent);border-color:var(--accent)}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-2xl)}.auth-container{width:100%;max-width:360px;background:var(--bg-input);padding:var(--space-2xl);border-radius:4px;box-shadow:var(--shadow-medium)}.auth-title{font-family:var(--font-display);font-size:1.75rem;font-weight:500;text-align:center;margin-bottom:var(--space-xl);color:var(--ink-primary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:.8rem;font-weight:500;color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.05em}.form-group input{padding:var(--space-sm) var(--space-md);border:var(--border-light);border-radius:3px;font-family:var(--font-body);font-size:1rem;background:var(--bg-primary);color:var(--ink-primary);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c9a22733}.auth-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:#fff;border:none;border-radius:3px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.auth-btn:hover{background:var(--accent-hover)}.auth-btn:active{transform:scale(.98)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;margin-top:var(--space-lg);font-size:.9rem;color:var(--ink-secondary)}.auth-toggle button{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:.9rem;text-decoration:underline;text-underline-offset:2px}.auth-error{background:#b43c3c26;border:1px solid rgba(180,60,60,.4);color:#e57373;padding:var(--space-sm) var(--space-md);border-radius:3px;font-size:.9rem;text-align:center}.forgot-password-link{align-self:flex-end;background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:.8rem;padding:0;margin-top:calc(-1 * var(--space-xs));text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}.auth-success-icon{width:48px;height:48px;margin:0 auto var(--space-lg);display:flex;align-items:center;justify-content:center;border-radius:50%;background:#c9a22726;color:var(--accent);font-size:1.5rem}.auth-success-text{text-align:center;font-size:.9rem;color:var(--ink-secondary);line-height:1.6;margin-bottom:var(--space-lg)}.auth-success-text strong{color:var(--ink-primary)}.auth-back-link{display:block;width:100%;text-align:center;margin-top:var(--space-lg);background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:.9rem;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.auth-back-link:hover{color:var(--accent-hover)}.password-validation{font-size:.8rem;color:#e57373}.change-password-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-2xl)}.fade-in{animation:fadeIn .3s ease}.auth-mode-toggle{margin-top:var(--space-xl);padding:var(--space-md);background:var(--bg-secondary);border-radius:4px;text-align:center;max-width:360px;width:100%}.mode-status{font-size:.85rem;color:var(--ink-secondary);margin-bottom:var(--space-sm)}.mode-label{color:var(--accent);font-weight:500}.mode-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.mode-switch-btn,.mode-detect-btn{background:none;border:1px solid var(--ink-muted);color:var(--ink-secondary);padding:var(--space-xs) var(--space-sm);border-radius:3px;font-family:var(--font-body);font-size:.8rem;cursor:pointer;transition:border-color .2s ease,color .2s ease}.mode-switch-btn:hover,.mode-detect-btn:hover{border-color:var(--accent);color:var(--accent)}.mode-detect-btn:disabled{opacity:.6;cursor:not-allowed}.prometheus-toolbar{display:flex;justify-content:flex-end;padding-bottom:var(--space-sm)}.prometheus-toolbar-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid rgba(255,255,255,.08);color:var(--ink-secondary);font-family:var(--font-body);font-size:.8rem;padding:6px 12px;border-radius:6px;cursor:pointer;transition:color .2s ease,border-color .2s ease}.prometheus-toolbar-btn:hover{color:var(--accent);border-color:var(--accent)}.chat-screen{display:flex;flex-direction:column;flex:1;min-height:0}.ai-disclosure{text-align:center;font-size:.75rem;color:var(--ink-muted);opacity:.7;padding:var(--space-xs) 0}.messages{flex:1;overflow-y:auto;overflow-anchor:none;padding:var(--space-md) 0;display:flex;flex-direction:column;gap:var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--ink-muted) transparent}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--ink-muted);border-radius:3px}.message{display:flex;flex-direction:column;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-xs);color:var(--ink-muted)}.message.user .message-label{text-align:right}.message-content{padding:var(--space-md) var(--space-lg);border-radius:4px;line-height:1.7;white-space:pre-wrap;word-wrap:break-word}.message.user .message-content{background:var(--bg-secondary);margin-left:15%;border-bottom-right-radius:0}.message.assistant .message-content{background:var(--bg-input);margin-right:15%;border-bottom-left-radius:0;box-shadow:var(--shadow-soft);border-left:3px solid var(--accent);white-space:normal}.message.assistant .message-content p{margin-bottom:.75em}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3,.message.assistant .message-content h4{font-family:var(--font-display);font-weight:500;color:var(--ink-primary);margin-top:1em;margin-bottom:.5em}.message.assistant .message-content h1:first-child,.message.assistant .message-content h2:first-child,.message.assistant .message-content h3:first-child,.message.assistant .message-content h4:first-child{margin-top:0}.message.assistant .message-content h1{font-size:1.4rem}.message.assistant .message-content h2{font-size:1.25rem}.message.assistant .message-content h3{font-size:1.1rem}.message.assistant .message-content h4{font-size:1rem}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:.5em 0;padding-left:1.5em}.message.assistant .message-content li{margin-bottom:.25em}.message.assistant .message-content li>ul,.message.assistant .message-content li>ol{margin-top:.25em;margin-bottom:0}.message.assistant .message-content pre{background:var(--bg-primary);padding:var(--space-md);border-radius:4px;overflow-x:auto;margin:.75em 0}.message.assistant .message-content pre code{background:none;padding:0;font-size:.9em;color:var(--ink-primary)}.message.assistant .message-content code{background:var(--bg-primary);padding:.15em .4em;border-radius:3px;font-size:.9em;color:var(--accent)}.message.assistant .message-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.message.assistant .message-content a:hover{color:var(--accent-hover)}.message.assistant .message-content blockquote{border-left:3px solid var(--ink-muted);padding-left:var(--space-md);margin:.75em 0;color:var(--ink-secondary)}.message.assistant .message-content table{border-collapse:collapse;width:100%;margin:.75em 0}.message.assistant .message-content th,.message.assistant .message-content td{border:1px solid rgba(255,255,255,.1);padding:var(--space-xs) var(--space-sm);text-align:left}.message.assistant .message-content th{background:var(--bg-primary);font-weight:500}.message.assistant .message-content hr{border:none;border-top:1px solid rgba(255,255,255,.08);margin:1em 0}.message.assistant .message-content strong{font-weight:600;color:var(--ink-primary)}.message-actions{display:flex;gap:6px;margin-top:4px;opacity:0;transition:opacity .15s ease}.message.user .message-actions{justify-content:flex-end;padding-right:15%}.message.assistant .message-actions{padding-left:3px}.message:hover .message-actions{opacity:1}.message-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--ink-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.message-action-btn:hover:not(:disabled){color:var(--accent);background:#c9a2271a}.message-action-btn--danger:hover:not(:disabled){color:#e57373;background:#e573731a}.message-action-btn--success,.message-action-btn--success:hover:not(:disabled){color:#22c55e;background:#22c55e1a}.message-timestamp{font-size:.7rem;color:var(--ink-muted);letter-spacing:.02em;line-height:28px;margin-right:2px;-webkit-user-select:none;user-select:none}.message-action-btn:disabled{opacity:.4;cursor:not-allowed}.processing-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100}.processing-spinner{width:32px;height:32px;border:3px solid var(--ink-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pagination-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) 0;color:var(--ink-muted);font-style:italic;font-size:.85rem}.pagination-spinner{width:16px;height:16px;border:2px solid var(--ink-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.pagination-end{text-align:center;padding:var(--space-md) 0;font-size:.8rem;color:var(--ink-muted);font-style:italic}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink-muted);padding:var(--space-2xl)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-lg);opacity:.5}.empty-state h2{font-family:var(--font-display);font-size:1.5rem;font-weight:400;font-style:italic;margin-bottom:var(--space-sm);color:var(--ink-secondary)}.empty-state p{font-size:.95rem;max-width:300px}.input-area{padding:var(--space-lg) 0;border-top:var(--border-light);margin-top:auto}.compose-bar{display:flex;align-items:center;gap:var(--space-sm);padding:6px 6px 6px var(--space-md);background:var(--bg-secondary);border-radius:28px;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.06)}.compose-bar--editing{border-color:#c9a2274d}.compose-bar-cancel{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ink-muted);cursor:pointer;transition:color .15s ease,background .15s ease;flex-shrink:0}.compose-bar-cancel:hover{color:var(--ink-primary);background:#ffffff0f}.compose-bar-preview{flex:1;min-width:0;padding:6px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.compose-bar-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-body);font-size:.95rem;color:var(--ink-primary)}.compose-bar-placeholder{font-family:var(--font-body);font-size:.95rem;color:var(--ink-muted)}.compose-bar-send{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;transition:background .2s ease,transform .1s ease;flex-shrink:0}.compose-bar-send:hover:not(:disabled){background:var(--accent-hover)}.compose-bar-send:active:not(:disabled){transform:scale(.93)}.compose-bar-send:disabled{opacity:.45;cursor:not-allowed}.compose-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.compose-modal-overlay--closing{animation:fadeOut .25s ease forwards}.compose-modal{background:var(--bg-primary);border-radius:12px;width:100%;max-width:720px;height:80vh;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease;box-shadow:0 8px 48px #00000080;margin:var(--space-lg)}.compose-modal--closing{animation:slideDown .25s ease forwards}.compose-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:var(--border-light);flex-shrink:0}.compose-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ink-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.compose-modal-close:hover{color:var(--ink-primary);background:#ffffff0f}.compose-modal-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--ink-primary)}.compose-modal-header-actions{display:flex;align-items:center;gap:var(--space-xs)}.compose-modal-rewrite{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ink-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.compose-modal-rewrite:hover:not(:disabled){color:var(--accent);background:#c9a2271a}.compose-modal-rewrite:disabled{opacity:.3;cursor:default}.compose-modal-done{padding:8px var(--space-lg);background:var(--accent);color:#fff;border:none;border-radius:20px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease;white-space:nowrap}.compose-modal-done:hover:not(:disabled){background:var(--accent-hover)}.compose-modal-done:active:not(:disabled){transform:scale(.97)}.compose-modal-done:disabled{opacity:.5;cursor:not-allowed}.compose-modal-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:var(--space-lg)}.compose-modal-textarea{flex:1;width:100%;padding:0;border:none;background:transparent;color:var(--ink-primary);font-family:var(--font-body);font-size:1.1rem;line-height:1.7;resize:none;outline:none}.compose-modal-textarea::placeholder{color:var(--ink-muted)}.compose-modal-hint{flex-shrink:0;padding:var(--space-sm) var(--space-lg);font-size:.75rem;color:var(--ink-muted);text-align:center;border-top:var(--border-light)}.rewrite-spinner{width:14px;height:14px;border:2px solid var(--ink-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.rewrite-card{background:var(--bg-secondary);border:1px solid rgba(201,162,39,.25);border-radius:4px;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);animation:fadeIn .2s ease}.rewrite-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.rewrite-card-title{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.rewrite-card-actions{display:flex;gap:4px}.rewrite-accept-btn,.rewrite-dismiss-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:background .15s ease}.rewrite-accept-btn{color:#22c55e}.rewrite-accept-btn:hover{background:#22c55e1a}.rewrite-dismiss-btn{color:var(--ink-muted)}.rewrite-dismiss-btn:hover{color:var(--ink-secondary);background:#ffffff0d}.rewrite-card-content{font-size:.9rem;line-height:1.6;color:var(--ink-secondary);max-height:200px;overflow-y:auto;white-space:pre-wrap}.input-area.editing{border-top-color:var(--accent)}.loading{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);color:var(--ink-muted);font-style:italic}.loading-dots{display:flex;gap:4px}.loading-dots span{width:6px;height:6px;background:var(--ink-muted);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.deletion-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-2xl);gap:var(--space-xl)}.deletion-header-block{text-align:center;max-width:360px}.deletion-container{width:100%;max-width:420px;background:var(--bg-input);padding:var(--space-2xl);border-radius:4px;box-shadow:var(--shadow-medium);border-top:3px solid #b33a3a}.deletion-title{font-family:var(--font-display);font-size:1.75rem;font-weight:500;text-align:center;color:var(--ink-primary);margin-bottom:var(--space-xs)}.deletion-subtitle{text-align:center;font-size:.9rem;color:var(--ink-secondary);margin-bottom:var(--space-xl)}.deletion-text{font-size:.95rem;color:var(--ink-secondary);text-align:center;line-height:1.6}.deletion-info{background:var(--bg-primary);padding:var(--space-lg);border-radius:4px;margin-bottom:var(--space-xl)}.deletion-info-label{font-size:.85rem;font-weight:500;color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.deletion-list{list-style:none;padding:0;margin:0 0 var(--space-md) 0}.deletion-list li{padding:var(--space-xs) 0;font-size:.9rem;color:var(--ink-primary);border-bottom:1px solid rgba(255,255,255,.05)}.deletion-list li:last-child{border-bottom:none}.deletion-list li:before{content:"•";color:#b33a3a;margin-right:var(--space-sm)}.deletion-warning{font-size:.8rem;color:#e57373;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.deletion-btn{display:block;width:100%;padding:var(--space-sm) var(--space-lg);border:none;border-radius:3px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease;background:#b33a3a;color:#fff}.deletion-btn:hover{background:#c94444}.deletion-btn:active{transform:scale(.98)}.deletion-btn--cancel{background:none;border:1px solid var(--ink-muted);color:var(--ink-secondary)}.deletion-btn--cancel:hover{border-color:var(--ink-secondary);color:var(--ink-primary);background:none}.deletion-btn--danger{background:#b33a3a;color:#fff}.deletion-btn--danger:hover{background:#c94444}.deletion-confirm{text-align:center}.deletion-confirm-text{font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:var(--ink-primary);margin-bottom:var(--space-md)}.deletion-confirm-actions{display:flex;gap:var(--space-sm)}.deletion-confirm-actions .deletion-btn{flex:1}.deletion-progress{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);color:var(--ink-secondary);font-style:italic}.deletion-spinner{width:18px;height:18px;border:2px solid var(--ink-muted);border-top-color:#b33a3a;border-radius:50%;animation:spin .8s linear infinite}.deletion-done-icon{width:48px;height:48px;margin:0 auto var(--space-md);display:flex;align-items:center;justify-content:center;border-radius:50%;background:#22c55e26;color:#22c55e;font-size:1.5rem}@media(max-width:600px){.app{padding:var(--space-md)}.header{padding:var(--space-md) 0}.header-title-link h1{font-size:2rem}.message.user .message-content{margin-left:5%}.message.assistant .message-content{margin-right:5%}.compose-modal{margin:0;border-radius:0;height:100vh;max-height:100vh;max-width:100%}.message.user .message-actions{padding-right:5%}.auth-screen{padding:var(--space-md)}.auth-container{padding:var(--space-lg)}.policy-title{font-size:1.5rem}.policy-section h2{font-size:1.15rem}.policy-content{padding:0 var(--space-sm)}.deletion-screen{padding:var(--space-md)}.deletion-container{padding:var(--space-lg)}.deletion-confirm-actions{flex-direction:column}.onboarding-screen{padding:var(--space-md)}.onboarding-title{font-size:1.4rem}.change-password-screen{padding:var(--space-md)}.landing-heading{font-size:2rem}.landing-subtitle{font-size:.95rem}.landing-cta{flex-direction:column;align-items:stretch}.landing-hero{padding:var(--space-xl) var(--space-md)}.landing-features{padding:0 var(--space-md)}.settings-screen{padding:var(--space-md)}}.onboarding-check-loading{flex:1;display:flex;align-items:center;justify-content:center}.onboarding-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-2xl) var(--space-lg);overflow-y:auto}.onboarding-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:480px;gap:var(--space-xl)}.onboarding-header{text-align:center}.onboarding-icon-circle{width:56px;height:56px;border-radius:50%;background:#c9a2271f;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);font-size:1.5rem;color:var(--accent)}.onboarding-title{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--ink-primary);margin-bottom:var(--space-xs)}.onboarding-subtitle{font-size:.9rem;color:var(--ink-muted)}.onboarding-progress{display:flex;gap:4px;width:100%}.onboarding-progress-segment{flex:1;height:3px;border-radius:2px;background:#ffffff14;transition:background .3s ease}.onboarding-progress-segment--filled{background:var(--accent)}.onboarding-progress-segment--current{background:#c9a22766}.onboarding-card{width:100%;background:var(--bg-input);padding:var(--space-xl);border-radius:4px;box-shadow:var(--shadow-soft)}.onboarding-loading{display:flex;justify-content:center;padding:var(--space-xl) 0}@keyframes fadeInQuestion{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.onboarding-question-text{font-size:1.05rem;line-height:1.7;color:var(--ink-primary);margin-bottom:var(--space-lg);animation:fadeInQuestion .4s ease}.onboarding-textarea{width:100%;padding:var(--space-md);border:var(--border-light);border-radius:4px;font-family:var(--font-body);font-size:1rem;line-height:1.5;background:var(--bg-primary);color:var(--ink-primary);resize:vertical;min-height:100px;transition:border-color .2s ease,box-shadow .2s ease;margin-bottom:var(--space-md)}.onboarding-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c9a22733}.onboarding-textarea::placeholder{color:var(--ink-muted)}.onboarding-submit-btn{display:block;width:100%;padding:var(--space-sm) var(--space-lg);background:var(--accent);color:#fff;border:none;border-radius:3px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.onboarding-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.onboarding-submit-btn:active:not(:disabled){transform:scale(.98)}.onboarding-submit-btn:disabled{opacity:.6;cursor:not-allowed}.onboarding-error{background:#b43c3c26;border:1px solid rgba(180,60,60,.4);color:#e57373;padding:var(--space-sm) var(--space-md);border-radius:3px;font-size:.9rem;text-align:center;margin-top:var(--space-md)}.onboarding-skip{background:none;border:none;color:var(--ink-muted);font-family:var(--font-body);font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.onboarding-skip:hover{color:var(--ink-secondary)}.onboarding-completing{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}@keyframes gentlePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.8}}.onboarding-icon-pulse{animation:gentlePulse 2.4s ease-in-out infinite}.onboarding-completing-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--ink-primary);margin-bottom:var(--space-xs)}.onboarding-completing-subtitle{font-size:.9rem;color:var(--ink-muted)}.policy-screen{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding-bottom:var(--space-2xl)}.policy-hero{text-align:center;padding:var(--space-xl) 0 var(--space-lg);border-bottom:1px solid rgba(201,162,39,.15);margin-bottom:var(--space-xl)}.policy-icon{color:var(--accent);margin-bottom:var(--space-sm);opacity:.8}.policy-title{font-family:var(--font-display);font-size:2rem;font-weight:500;letter-spacing:.04em;color:var(--ink-primary);margin-bottom:var(--space-xs)}.policy-date{font-size:.8rem;color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase}.policy-content{max-width:620px;margin:0 auto;width:100%}.policy-section{margin-bottom:var(--space-xl)}.policy-section h2{font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--ink-primary);letter-spacing:.02em;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid rgba(255,255,255,.05)}.policy-section p{font-size:.95rem;line-height:1.75;color:var(--ink-secondary);margin-bottom:var(--space-sm)}.policy-section ul{list-style:none;padding:0;margin-bottom:var(--space-sm)}.policy-section li{font-size:.95rem;line-height:1.75;color:var(--ink-secondary);padding-left:1.25rem;position:relative;margin-bottom:var(--space-xs)}.policy-section li:before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.6}.policy-section li strong{color:var(--ink-primary);font-weight:600}.policy-section a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(201,162,39,.3);transition:border-color .2s ease}.policy-section a:hover{border-bottom-color:var(--accent)}.policy-footer{margin-top:auto;padding-top:var(--space-lg);display:flex;justify-content:center}.policy-footer-rule{display:block;width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.4}.history-screen{display:flex;flex-direction:column;flex:1;min-height:0}.history-back-btn{background:none;border:none;color:var(--ink-secondary);cursor:pointer;font-family:var(--font-body);font-size:.85rem;padding:var(--space-xs) 0;margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-xs);transition:color .2s ease}.history-back-btn:hover{color:var(--accent)}.history-header{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-xl)}.history-month-title{font-family:var(--font-display);font-size:1.75rem;font-weight:500;color:var(--ink-primary);min-width:220px;text-align:center;letter-spacing:.02em}.history-nav-btn{background:none;border:1px solid rgba(255,255,255,.08);color:var(--ink-secondary);cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease}.history-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.history-nav-btn:disabled{opacity:.25;cursor:not-allowed}.heatmap-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:var(--space-sm);padding:0 2px}.heatmap-weekday-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);text-align:center}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0 2px}.heatmap-cell{aspect-ratio:1;border-radius:4px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative}.heatmap-cell:hover:not(.heatmap-cell--empty):not(.heatmap-cell--future){transform:scale(1.1);box-shadow:0 0 12px #c9a2274d}.heatmap-cell--empty{background:var(--bg-secondary);cursor:default}.heatmap-cell--blank{background:transparent;cursor:default}.heatmap-cell--level-1{background:#c9a22733}.heatmap-cell--level-2{background:#c9a22766}.heatmap-cell--level-3{background:#c9a227a6}.heatmap-cell--level-4{background:#c9a227e6}.heatmap-cell--today{box-shadow:inset 0 0 0 2px var(--accent)}.heatmap-cell--future{opacity:.3;cursor:not-allowed}.heatmap-cell-count{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--ink-primary);pointer-events:none}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-xl);font-size:.75rem;color:var(--ink-muted)}.heatmap-legend-cells{display:flex;gap:4px}.heatmap-legend-cell{width:14px;height:14px;border-radius:3px}.heatmap-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}.day-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fadeIn .2s ease}.day-modal{background:var(--bg-primary);border-radius:12px 12px 0 0;width:100%;max-width:720px;max-height:70vh;display:flex;flex-direction:column;animation:slideUp .3s ease;box-shadow:0 -4px 32px #0006}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(40px);opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.day-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:var(--border-light);flex-shrink:0}.day-modal-title{font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--ink-primary)}.day-modal-count{font-size:.75rem;font-weight:500;color:var(--accent);background:#c9a2271f;padding:2px 10px;border-radius:12px;margin-left:var(--space-sm)}.day-modal-close{background:none;border:none;color:var(--ink-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s ease,background .2s ease}.day-modal-close:hover{color:var(--ink-primary);background:#ffffff0d}.day-modal-messages{flex:1;overflow-y:auto;padding:var(--space-lg) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--ink-muted) transparent}.day-modal-messages::-webkit-scrollbar{width:6px}.day-modal-messages::-webkit-scrollbar-track{background:transparent}.day-modal-messages::-webkit-scrollbar-thumb{background:var(--ink-muted);border-radius:3px}.day-modal-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--ink-muted);font-style:italic}.day-modal-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}@media(max-width:600px){.history-month-title{font-size:1.35rem;min-width:160px}.heatmap-grid,.heatmap-weekdays{gap:4px}.day-modal{max-height:80vh;border-radius:8px 8px 0 0}.day-modal-header,.day-modal-messages{padding:var(--space-md) var(--space-lg)}.day-modal-title{font-size:1.1rem}}.landing{min-height:100vh;display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:0 var(--space-lg)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 0}.landing-wordmark{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--ink-primary);letter-spacing:.02em}.landing-signin-link{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:.9rem;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.landing-signin-link:hover{color:var(--accent-hover)}.landing-hero{text-align:center;padding:var(--space-2xl) var(--space-lg);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.landing-icon-circle{width:64px;height:64px;border-radius:50%;background:#c9a2271f;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xl);color:var(--accent)}.landing-heading{font-family:var(--font-display);font-size:2.75rem;font-weight:500;color:var(--ink-primary);letter-spacing:.02em;margin-bottom:var(--space-md);line-height:1.2}.landing-subtitle{font-size:1.05rem;line-height:1.7;color:var(--ink-secondary);max-width:480px;margin-bottom:var(--space-xl)}.landing-cta{display:flex;align-items:center;gap:var(--space-lg)}.landing-cta-primary{padding:var(--space-sm) var(--space-xl);background:var(--accent);color:#fff;border:none;border-radius:3px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.landing-cta-primary:hover{background:var(--accent-hover)}.landing-cta-primary:active{transform:scale(.98)}.landing-cta-secondary{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font-body);font-size:.9rem;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.landing-cta-secondary:hover{color:var(--accent-hover)}.landing-features{display:flex;flex-direction:column;gap:var(--space-md);padding:0 var(--space-lg);margin-bottom:var(--space-2xl)}.landing-feature{padding:var(--space-lg);border-left:3px solid var(--accent);background:var(--bg-input);border-radius:0 4px 4px 0}.landing-feature h3{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--ink-primary);margin-bottom:var(--space-xs)}.landing-feature p{font-size:.9rem;line-height:1.65;color:var(--ink-secondary)}.landing-footer{padding:var(--space-xl) 0;border-top:1px solid rgba(255,255,255,.05);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.landing-footer-links{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;flex-wrap:wrap;justify-content:center}.landing-footer-links a{color:var(--ink-muted);text-decoration:none;transition:color .2s ease}.landing-footer-links a:hover{color:var(--accent)}.landing-footer-dot{color:var(--ink-muted);opacity:.4}.landing-footer-email{font-size:.75rem;color:var(--ink-muted);text-decoration:none;transition:color .2s ease}.landing-footer-email:hover{color:var(--accent)}.settings-screen{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:0 0 var(--space-2xl);gap:var(--space-lg)}.settings-back{background:none;border:none;color:var(--ink-secondary);cursor:pointer;font-family:var(--font-body);font-size:.85rem;padding:var(--space-xs) 0;display:flex;align-items:center;gap:var(--space-xs);transition:color .2s ease}.settings-back:hover{color:var(--accent)}.settings-email{font-size:.9rem;color:var(--ink-muted);text-align:center;padding:var(--space-sm) 0}.settings-group{display:flex;flex-direction:column;gap:var(--space-xs)}.settings-group-label{font-size:.7rem;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;padding-left:var(--space-sm)}.settings-card{background:var(--bg-input);border-radius:4px;overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-md) var(--space-lg);background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);color:var(--ink-primary);font-family:var(--font-body);font-size:.95rem;cursor:pointer;transition:background .15s ease}.settings-row:last-child{border-bottom:none}.settings-row:hover{background:#ffffff08}.settings-row svg{color:var(--ink-muted);flex-shrink:0}.settings-row--danger{color:#e57373}.settings-row--danger svg{color:#e57373}.settings-signout{display:block;width:100%;padding:var(--space-sm) var(--space-lg);background:none;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:var(--ink-secondary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:color .2s ease,border-color .2s ease;margin-top:auto}.settings-signout:hover{color:var(--ink-primary);border-color:var(--ink-secondary)}.dashboard{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-2xl) 0}.dashboard-header{text-align:center;margin-bottom:var(--space-2xl)}.dashboard-heading{font-family:var(--font-display);font-size:2rem;font-weight:500;color:var(--ink-primary);letter-spacing:.02em;margin-bottom:var(--space-xs)}.dashboard-subtitle{font-size:.95rem;color:var(--ink-muted);font-weight:300;letter-spacing:.03em}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);width:100%}.tool-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;font-family:var(--font-body);text-align:left;color:var(--ink-primary);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;animation:dashboardFadeIn .4s ease both;position:relative;overflow:hidden}.tool-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,color-mix(in srgb,var(--tool-accent) 6%,transparent),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.tool-card:hover{background:#ffffff0d;border-color:color-mix(in srgb,var(--tool-accent) 40%,transparent);box-shadow:0 4px 24px #0000004d,0 0 0 1px color-mix(in srgb,var(--tool-accent) 12%,transparent);transform:translateY(-2px)}.tool-card:hover:before{opacity:1}.tool-card:active{transform:translateY(0);transition-duration:.1s}.tool-card-icon{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--tool-accent) 12%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--tool-accent) 20%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--tool-accent);transition:background .25s ease,border-color .25s ease}.tool-card:hover .tool-card-icon{background:color-mix(in srgb,var(--tool-accent) 18%,var(--bg-secondary));border-color:color-mix(in srgb,var(--tool-accent) 35%,transparent)}.tool-card-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.tool-card-name{font-family:var(--font-display);font-size:1.3rem;font-weight:500;letter-spacing:.01em;color:var(--ink-primary)}.tool-card-subtitle{font-size:.85rem;color:var(--ink-muted);font-weight:300;letter-spacing:.02em}.tool-card-arrow{flex-shrink:0;color:var(--ink-muted);transition:color .25s ease,transform .25s ease}.tool-card:hover .tool-card-arrow{color:var(--tool-accent);transform:translate(3px)}@keyframes dashboardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.app--wide{max-width:100%}.dashboard{padding:var(--space-lg) 0}.dashboard-grid{grid-template-columns:1fr}.dashboard-heading{font-size:1.6rem}}
