*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--border: #334155;--radius: 8px;--radius-lg: 12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:960px;margin:0 auto;padding:0 16px}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-secondary)}button{cursor:pointer;border:none;font-family:inherit;font-size:inherit}.btn-primary{background-color:var(--accent);color:#fff;padding:10px 20px;border-radius:var(--radius);font-weight:600;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:transparent;color:var(--text-primary);padding:10px 20px;border-radius:var(--radius);border:1px solid var(--border);font-weight:500;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary)}.btn-large{padding:14px 32px;font-size:1.1rem}.btn-small{padding:6px 12px;font-size:.85rem}.btn-full{width:100%}.btn-icon{background:transparent;color:var(--text-secondary);padding:4px 8px;border-radius:4px;font-size:1rem}.btn-icon:hover{color:var(--danger);background-color:#ef44441a}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}.card h3{margin-bottom:12px;font-size:1rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:.9rem;color:var(--text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.95rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.form-group textarea{resize:vertical}.form-actions{display:flex;gap:8px;margin-top:12px}.error{color:var(--danger);font-size:.9rem;margin:8px 0}.success{color:var(--success);font-size:.9rem;margin:8px 0}.app-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 0;position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.app-nav{display:flex;align-items:center;gap:8px}.nav-link{background:transparent;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius);font-size:.9rem;font-weight:500}.nav-link:hover,.nav-link.active{color:var(--text-primary);background-color:#ffffff0d}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.auth-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:420px}.auth-card h1{font-size:1.4rem;margin-bottom:24px;text-align:center}.auth-link{text-align:center;margin-top:16px;color:var(--text-secondary);font-size:.9rem}.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--text-primary);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s;margin-bottom:16px}.btn-google:hover{background:var(--bg-hover, var(--bg-card));border-color:var(--text-secondary)}.auth-divider{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--text-secondary);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.landing{min-height:100vh}.landing-header{padding:16px 0;border-bottom:1px solid var(--border)}.landing-header .container{display:flex;justify-content:space-between;align-items:center}.landing-nav{display:flex;gap:8px}.hero{text-align:center;padding:80px 20px}.hero h1{font-size:3rem;font-weight:800;margin-bottom:16px;letter-spacing:-.02em}.hero-sub{font-size:1.2rem;color:var(--text-secondary);margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto}.how-it-works{padding:60px 20px;background-color:var(--bg-secondary)}.how-it-works h2{text-align:center;margin-bottom:40px;font-size:1.8rem}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;max-width:800px;margin:0 auto}.step{text-align:center;padding:20px}.step-number{width:40px;height:40px;border-radius:50%;background-color:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 12px}.step h3{margin-bottom:8px;font-size:1.1rem}.step p{color:var(--text-secondary);font-size:.9rem}.pricing{padding:60px 20px}.pricing h2{text-align:center;margin-bottom:40px;font-size:1.8rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:600px;margin:0 auto}.pricing-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;text-align:center;position:relative}.pricing-card.highlighted{border-color:var(--accent);box-shadow:0 0 20px #3b82f626}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background-color:var(--accent);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.pricing-name{font-size:1.4rem;font-weight:700;margin-bottom:4px}.pricing-price{font-size:1.1rem;color:var(--text-secondary);margin-bottom:20px}.pricing-features{list-style:none;margin-bottom:24px}.pricing-features li{padding:6px 0;color:var(--text-secondary);font-size:.9rem}.pricing-features li:before{content:"✓";color:var(--success);font-weight:700}.landing-footer{padding:32px 20px;border-top:1px solid var(--border);text-align:center}.footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:12px}.footer-links a{color:var(--text-secondary);font-size:.9rem}.copyright{color:var(--text-muted);font-size:.8rem}.dashboard{padding-top:24px;padding-bottom:40px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.dashboard-grid{grid-template-columns:1fr}}.score-card{text-align:center}.focus-summary{margin-top:8px;font-size:1rem;color:var(--text-secondary)}.target-summary{font-size:.85rem;color:var(--text-muted)}.focus-score-ring{display:flex;justify-content:center;align-items:center}.session-intention{font-style:italic;color:var(--text-secondary);margin:8px 0}.session-actions{display:flex;gap:8px;margin-top:12px}.session-list{list-style:none}.session-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem}.session-item:last-child{border-bottom:none}.session-intention-text{flex:1;color:var(--text-primary)}.session-duration{color:var(--text-secondary);font-variant-numeric:tabular-nums}.session-date{color:var(--text-muted);font-size:.85rem;min-width:56px}.star-rating .star{color:var(--text-muted);font-size:.9rem}.star-rating .star.filled{color:var(--warning)}.empty-state{color:var(--text-muted);text-align:center;padding:20px 0}.greeting{text-align:center;margin-top:24px;color:var(--text-muted);font-size:.9rem}.declaration-card .priority-text{font-size:1.05rem;padding:8px 0;color:var(--text-primary)}.evening-result{margin-top:8px;padding:8px;background-color:#ffffff08;border-radius:var(--radius)}.evening-note{color:var(--text-secondary);font-size:.9rem}.evening-form{margin-top:12px}.evening-options{display:flex;gap:12px;margin:12px 0}.evening-options .option{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.evening-options .option.selected{border-color:var(--accent);background-color:#3b82f61a}.evening-options .option input{display:none}.session-page{padding-top:40px;text-align:center}.session-timer-container{margin-bottom:24px}.session-timer .timer-display{font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.session-label{color:var(--text-muted);font-size:.9rem;margin-top:4px}.session-detail{margin-bottom:24px}.session-intention-label{font-size:1.1rem;color:var(--text-secondary)}.distractions-section{margin:24px auto;max-width:500px;text-align:left}.distractions-section h3{margin-bottom:12px;color:var(--text-secondary)}.distraction-list{list-style:none}.distraction-item{padding:8px 12px;background-color:#ffffff08;border-radius:var(--radius);margin-bottom:6px;font-size:.9rem}.distraction-category{font-weight:600;color:var(--text-primary)}.distraction-note{color:var(--text-secondary)}.distraction-count{color:var(--text-muted);font-size:.8rem}.session-actions-bottom{display:flex;justify-content:center;gap:12px;margin-top:32px}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:200;padding:20px}.modal{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:420px}.modal h3{margin-bottom:16px;font-size:1.2rem;color:var(--text-primary);text-transform:none;letter-spacing:normal}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.category-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:.9rem}.category-option.selected{border-color:var(--accent);background-color:#3b82f61a}.category-option input{display:none}.rating-input{display:flex;gap:4px}.star-btn{background:transparent;font-size:1.8rem;color:var(--text-muted);padding:4px;line-height:1}.star-btn.active{color:var(--warning)}.history-page{padding-top:24px;padding-bottom:40px}.streak-card{text-align:center}.streak-display{display:flex;align-items:baseline;justify-content:center;gap:8px}.streak-number{font-size:2.5rem;font-weight:800;color:var(--text-primary)}.streak-label{font-size:1rem;color:var(--text-secondary)}.streak-locked{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);cursor:pointer;padding:8px}.streak-locked:hover{color:var(--text-secondary)}.lock-icon{font-size:1.2rem}.streak-heatmap{overflow-x:auto}.heatmap-grid{display:flex;gap:4px}.heatmap-labels{display:flex;flex-direction:column;gap:2px}.heatmap-label{height:14px;font-size:10px;color:var(--text-muted);display:flex;align-items:center;padding-right:4px}.heatmap-columns{display:flex;gap:2px}.heatmap-column{display:flex;flex-direction:column;gap:2px}.heatmap-cell{width:14px;height:14px;border-radius:2px}.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:8px;justify-content:flex-end}.legend-label{font-size:10px;color:var(--text-muted)}.legend-cell{width:12px;height:12px;border-radius:2px}.history-list .session-item{flex-wrap:wrap}.settings-page{padding-top:24px;padding-bottom:40px}.schedule-blocks{margin-bottom:12px}.schedule-block{display:flex;align-items:center;gap:8px;margin-bottom:8px}.schedule-block label{color:var(--text-secondary);font-size:.9rem;min-width:60px}.schedule-block input[type=time]{padding:6px 8px;background-color:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit}.schedule-separator{color:var(--text-muted)}.schedule-total{color:var(--text-secondary);font-size:.9rem;margin:8px 0 12px}.pro-label{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.subscription-info{margin-bottom:16px}.subscription-info p{margin-bottom:4px;font-size:.95rem}.upgrade-section{text-align:center}.or-text{margin:8px 0;color:var(--text-secondary);font-size:.9rem}.trial-note{margin-top:12px;color:var(--text-muted);font-size:.85rem}.distraction-chart{margin-top:8px}.distraction-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bar-label{min-width:120px;font-size:.85rem;color:var(--text-secondary)}.bar-container{flex:1;height:20px;background-color:var(--bg-primary);border-radius:4px;overflow:hidden}.bar-fill{height:100%;background-color:var(--accent);border-radius:4px;transition:width .3s ease}.bar-percent{min-width:36px;text-align:right;font-size:.85rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.patterns-locked{position:relative}.blurred-placeholder{filter:blur(4px);opacity:.5;padding:16px 0}.fake-bar{height:20px;background-color:var(--accent);border-radius:4px;margin-bottom:8px;opacity:.4}.locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-primary);font-weight:500}.focus-chart{width:100%}.focus-chart h4{margin:0 0 12px;font-size:.95rem;color:var(--text-secondary)}.chart-container{width:100%;height:160px}.chart-bars{display:flex;align-items:flex-end;gap:6px;height:100%}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.chart-bar{width:100%;max-width:40px;background-color:var(--accent);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s ease}.chart-bar-label{font-size:.7rem;color:var(--text-secondary);margin-top:4px}.chart-with-overlay{position:relative}.mrr-overlay{position:absolute;inset:28px 0 20px;pointer-events:none}.mrr-line-svg{width:100%;height:100%}.mrr-label{position:absolute;top:-4px;right:0;font-size:.75rem;color:#8b5cf6;font-weight:600}.offline-banner{background-color:var(--warning);color:#000;text-align:center;padding:8px 16px;font-size:.9rem;font-weight:500}@media(max-width:480px){.hero h1{font-size:2rem}.hero-sub{font-size:1rem}.steps{grid-template-columns:1fr 1fr}.app-nav{gap:4px}.nav-link{font-size:.8rem;padding:4px 8px}.pricing-grid,.category-grid{grid-template-columns:1fr}.schedule-block{flex-wrap:wrap}}
