@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@700&display=swap";:root{--color-green: #22C55E;--color-red: #EF4444;--color-yellow: #FACC15;--color-blue: #22D3EE;--color-bg-dark: #0F0F0F;--color-bg-darker: #18181B;--color-bg-card: #27272A;--color-bg-card-hover: #3F3F46;--color-text-primary: #FFFFFF;--color-text-secondary: #E4E4E7;--color-text-tertiary: #A1A1AA;--color-border: #3F3F46;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "SF Mono", "Roboto Mono", "Courier New", monospace;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-darker);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%;display:flex;flex-direction:column}h1{font-size:28px;font-weight:600;line-height:1.2;color:var(--color-text-primary)}h2{font-size:22px;font-weight:600;line-height:1.3;color:var(--color-text-primary)}h3{font-size:18px;font-weight:600;line-height:1.4;color:var(--color-text-primary)}p{font-size:16px;font-weight:400;line-height:1.5;color:var(--color-text-secondary)}.caption{font-size:14px;font-weight:400;color:var(--color-text-tertiary)}.mono{font-family:var(--font-mono)}button{font-family:var(--font-family);font-size:16px;font-weight:500;border:none;cursor:pointer;transition:all var(--transition-base);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:14px 24px;background-color:var(--color-bg-card);color:var(--color-text-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);min-height:44px}.btn-primary:hover:not(:disabled){background-color:var(--color-bg-card-hover);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-danger{background-color:var(--color-red);color:#fff}.btn-danger img,.btn-danger .button-icon{filter:brightness(0) invert(1)}.btn-success{background-color:var(--color-green);color:var(--color-bg-dark)}.btn-secondary{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-primary img,.btn-primary .button-icon,.btn-secondary img,.btn-secondary .button-icon,button img{filter:brightness(0) invert(1);opacity:.7}.btn-primary:hover img,.btn-secondary:hover img,button:hover img{opacity:1}.card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card-hover{transition:all var(--transition-base)}.card-hover:hover{background-color:var(--color-bg-card-hover);box-shadow:var(--shadow-md)}.status-green{color:var(--color-green)}.status-red{color:var(--color-red)}.status-yellow{color:var(--color-yellow)}.status-blue{color:var(--color-blue)}.bg-green{background-color:var(--color-green)}.bg-red{background-color:var(--color-red)}.bg-yellow{background-color:var(--color-yellow)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.text-center{text-align:center}.w-full{width:100%}.h-full{height:100%}.page-container{padding:var(--spacing-lg);max-width:600px;margin:0 auto;width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-dark)}::-webkit-scrollbar-thumb{background:var(--color-bg-card);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-card-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-slow) ease-out}@media(max-width:640px){.page-container{padding:var(--spacing-md)}h1{font-size:24px}h2{font-size:20px}}.timer-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-2xl) 0}.timer-circle-wrapper{position:relative;width:min(90vw,320px);height:min(90vw,320px)}.timer-circle{width:100%;height:100%}.timer-progress{transition:all .5s ease}.timer-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:60%}.timer-display{display:flex;flex-direction:column;align-items:center}.timer-value-row{display:flex;align-items:center;font-family:Roboto Mono,monospace;font-weight:700;font-size:24px;line-height:1;letter-spacing:-.5px}.timer-value-row.status-green{color:var(--color-green)}.timer-value-row.status-red{color:var(--color-red)}.timer-prefix-small{margin-right:4px;font-size:18px;opacity:.8}.timer-sep{margin:0 1px;opacity:.6;font-size:20px;position:relative;top:-1px}.timer-divider-horizontal{width:40px;height:1px;background-color:var(--color-border);opacity:.3;margin:2px 0}.timer-total-balance{display:flex;flex-direction:column;align-items:center;gap:2px}.timer-label{font-size:9px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;font-weight:600}.timer-balance-large{font-size:38px;font-weight:700;font-family:Roboto Mono,monospace;line-height:1;letter-spacing:-1.5px}.timer-balance-large .decimals-small{font-size:20px;opacity:.5;font-weight:500;margin-left:1px}.timer-balance-large.status-green{color:var(--color-green)}.timer-balance-large.status-red{color:var(--color-red)}.timer-secondary-stats{display:flex;align-items:center;gap:12px}.timer-stat-item{display:flex;flex-direction:column;align-items:center;gap:1px}.timer-stat-divider{width:1px;height:20px;background-color:var(--color-border);opacity:.3}.timer-stat-value{font-size:13px;font-weight:600;font-family:Roboto Mono,monospace}.timer-stat-value.status-green{color:var(--color-green)}.timer-stat-value.status-red{color:var(--color-red)}@media(max-width:360px){.timer-value-row{font-size:20px}.timer-balance-large{font-size:24px}.timer-stat-value{font-size:11px}}.cigarette-history{width:100%;display:flex;justify-content:center}.cigarette-history-grid{display:grid;grid-template-columns:repeat(40,6px);grid-template-rows:repeat(5,6px);grid-auto-flow:column;gap:2px}.cigarette-history-cell{width:6px;height:6px;border-radius:1px;transition:transform var(--transition-fast)}.cigarette-history-cell:hover{transform:scale(2);z-index:10}.goal-card{cursor:pointer;position:relative;background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.goal-card:hover{background-color:var(--color-bg-card-hover);box-shadow:var(--shadow-md)}.goal-card:active{transform:scale(.98)}.goal-card-content{display:flex;align-items:center;gap:var(--spacing-md)}.goal-card-icon{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-darker);border-radius:var(--radius-md)}.goal-icon-svg{width:32px;height:32px;filter:brightness(0) invert(1);opacity:.9}.goal-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.goal-card-name{font-size:16px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-xs)}.goal-card-pin-icon{width:14px;height:14px;filter:brightness(0) invert(1);opacity:.7}.goal-card-progress-container{position:relative;width:100%}.goal-card-progress-bar{width:100%;height:28px;background-color:var(--color-bg-darker);border-radius:var(--radius-md);overflow:hidden;position:relative}.goal-card-progress-fill{height:100%;background:var(--color-green);border-radius:var(--radius-md);transition:width .4s cubic-bezier(.4,0,.2,1)}.goal-card-progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);font-size:13px;font-weight:600;pointer-events:none}.goal-card-current{color:var(--color-text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:1}.goal-card-stats{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary);z-index:1}.goal-card-target{color:var(--color-text-secondary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.goal-card-percentage{color:var(--color-text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.goal-card-separator{color:var(--color-border);opacity:.5}.goal-card-completed{border:1px solid var(--color-green)}.goal-card-redeemed{opacity:.6;border:1px solid var(--color-text-tertiary)}.goal-card-completed-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--color-green);color:var(--color-bg-dark);border-radius:var(--radius-full);font-size:12px;font-weight:600}.goal-card-redeem-btn{margin-top:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-darker);color:var(--color-text-primary);border:1px solid var(--color-green);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.goal-card-redeem-btn:hover{background-color:var(--color-green);color:var(--color-bg-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.goal-card-redeem-btn:active{transform:scale(.98)}.home-screen{display:flex;flex-direction:column;gap:var(--spacing-lg);padding-bottom:calc(70px + var(--spacing-2xl))}.home-section{width:100%}.home-section-title{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:14px}.log-button{width:100%;height:64px;border-radius:12px;position:relative;overflow:hidden;border:none;background:var(--color-bg-card);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:var(--spacing-md);padding:0}.button-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%}.button-text{font-size:18px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.icon-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.log-button .button-icon{width:100%;height:100%;transition:transform .3s ease}.log-button.status-green{background:#22c55e1a;border:1px solid rgba(34,197,94,.5);color:var(--color-green);box-shadow:0 0 20px #22c55e1a}.log-button.status-green:hover{background:#22c55e26;border-color:var(--color-green);box-shadow:0 0 30px #22c55e33;transform:translateY(-1px)}.log-button.status-green .button-glow{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(34,197,94,.2),transparent);transform:skew(-20deg);animation:shine 3s infinite;z-index:1}.log-button.status-red{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary)}.log-button.status-red:hover{border-color:var(--color-text-primary);color:var(--color-text-primary);background:var(--color-bg-card-hover)}.log-button.status-red .button-icon{opacity:.7;filter:grayscale(100%)}.log-button:active{transform:scale(.98)!important}@keyframes shine{0%{left:-100%}20%{left:200%}to{left:200%}}@media(max-width:640px){.log-button{height:56px;border-radius:12px}.button-text{font-size:16px}}.undo-button{width:100%;font-size:14px}@media(max-width:640px){.home-screen{gap:var(--spacing-md)}.log-button{font-size:16px;padding:16px}}.confirm-modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;padding:16px;animation:fade-in .2s ease-out}.confirm-modal{background:var(--color-bg-card);border-radius:12px;padding:20px;max-width:320px;width:100%;animation:modal-slide-in .2s ease-out}.confirm-modal-title{margin:0 0 12px;font-size:1.1rem;color:var(--color-text)}.confirm-modal-message{margin:0 0 20px;color:var(--color-text-secondary);line-height:1.5;white-space:pre-line}.confirm-modal-actions{display:flex;gap:12px}.confirm-modal-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:opacity .2s}.confirm-modal-btn:active{opacity:.8}.confirm-modal-btn-cancel{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.confirm-modal-btn-confirm{background:var(--color-green);color:#fff}.confirm-modal-btn-confirm.danger{background:var(--color-red)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;color:#fff;font-weight:500;z-index:1000;animation:toast-slide-in .3s ease-out;max-width:calc(100% - 32px);text-align:center}.toast-success{background:var(--color-green)}.toast-error{background:var(--color-red)}.toast-info{background:var(--color-bg-card);border:1px solid var(--color-border)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.goals-screen{padding-bottom:calc(70px + var(--spacing-2xl))}.goals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl)}.goals-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.goal-item{cursor:grab;transition:transform .2s;touch-action:none}.goal-item:active{cursor:grabbing}.sortable-dragging{opacity:.5;cursor:grabbing}.sortable-drag-overlay{z-index:900}.goals-empty{text-align:center;padding:var(--spacing-3xl) 0;color:var(--color-text-tertiary)}.redeemed-goals-section{margin-top:var(--spacing-3xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--color-border)}.redeemed-goals-section h2{font-size:18px;margin-bottom:var(--spacing-lg);color:var(--color-text-secondary)}.redeemed-goals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-2xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content h2{margin-bottom:var(--spacing-xl);text-align:center}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.input{width:100%;padding:12px var(--spacing-md);background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:16px;transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-green);box-shadow:0 0 0 2px #4ade8033}.input::placeholder{color:var(--color-text-tertiary)}.icon-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-sm);max-height:300px;overflow-y:auto}.icon-button{aspect-ratio:1;background-color:var(--color-bg-dark);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm)}.icon-button:hover{border-color:var(--color-green);transform:scale(1.05)}.icon-button-active{border-color:var(--color-green);background-color:var(--color-bg-card-hover)}.goal-icon-svg{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.modal-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.modal-actions button{flex:1}.modal-actions-vertical{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.goal-detail-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.goal-detail-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center}.goal-detail-icon .goal-icon-svg{width:100%;height:100%}.goal-description{margin:var(--spacing-md) 0;padding:var(--spacing-md);background-color:var(--color-bg-dark);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:14px;line-height:1.5;text-align:center}.goal-link{display:flex;align-items:center;justify-content:center;gap:8px;margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-blue);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:all var(--transition-fast);text-align:center;width:100%}.goal-link img{filter:brightness(0) invert(1)}.goal-link:hover{background-color:var(--color-blue-hover);transform:translateY(-1px)}@media(max-width:640px){.goals-header h1{font-size:20px}.modal-content{padding:var(--spacing-lg)}}.habit-heatmap{display:flex;flex-direction:column;gap:4px;overflow-x:auto;padding-bottom:8px;width:100%}.habit-heatmap-row{display:flex;align-items:center;gap:4px}.habit-heatmap-label{width:24px;font-size:10px;color:var(--color-text-tertiary);text-align:right;padding-right:4px;flex-shrink:0}.habit-heatmap-cell{flex:1;aspect-ratio:1;border-radius:2px;background-color:var(--color-bg-card-hover);transition:transform .1s;min-width:8px}.habit-heatmap-cell:hover{transform:scale(1.2);z-index:1;border:1px solid var(--color-text-primary)}.habit-heatmap-hours{display:flex;margin-left:28px;gap:4px;margin-bottom:4px}.habit-heatmap-hour-label{flex:1;font-size:9px;color:var(--color-text-tertiary);text-align:center;min-width:8px}.weekly-budget-chart{display:flex;flex-direction:column;gap:8px;height:100%}.chart-canvas-container{flex:1;min-height:0;position:relative}.weekly-summary{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:var(--color-bg-card);border-radius:8px;flex-wrap:wrap;flex-shrink:0}.summary-item{display:flex;flex-direction:column;align-items:center;gap:2px}.summary-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:18px;font-weight:600;color:var(--color-text)}.summary-diff{font-size:12px;font-weight:400;margin-left:4px}.summary-divider{color:var(--color-text-muted);font-size:16px}@media(max-width:480px){.weekly-summary{gap:6px;padding:6px 8px}.summary-value{font-size:16px}.summary-label{font-size:9px}.summary-diff{font-size:10px}}.stats-screen{padding-bottom:calc(70px + var(--spacing-2xl))}.stats-screen h1{margin-bottom:var(--spacing-2xl)}.stats-section{margin-bottom:var(--spacing-3xl)}.stats-section h3{margin-bottom:var(--spacing-md)}.chart-container{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);height:340px}.stats-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-lg);text-align:center;gap:var(--spacing-sm)}.stat-label{font-size:12px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;min-height:32px;display:flex;align-items:center;justify-content:center}.stat-value{font-size:24px;font-weight:700;color:var(--color-text-primary)}@media(max-width:640px){.chart-container{height:300px;padding:var(--spacing-md)}.stat-value{font-size:20px}}.charts-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:768px){.charts-grid{grid-template-columns:1fr 1fr}}.chart-title{margin-bottom:.5rem;font-size:.9rem;color:var(--color-text-tertiary)}.sync-section{margin-bottom:var(--spacing-lg)}.sync-section h2{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.sync-card{background-color:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md)}.sync-logged-in{display:flex;flex-direction:column;gap:var(--spacing-md)}.sync-info{display:flex;align-items:center;justify-content:space-between}.sync-email{font-size:14px;color:var(--color-text-primary);font-weight:500}.sync-status{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-top:var(--spacing-xs)}.sync-error{color:var(--color-red)}.sync-buttons{display:flex;gap:var(--spacing-sm)}.sync-buttons button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}.sync-buttons button:disabled{opacity:.6;cursor:not-allowed}.logout-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);font-size:12px;cursor:pointer;border-radius:var(--radius-sm)}.logout-btn:hover{background:var(--color-bg-card-hover)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-form input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:14px;font-family:var(--font-family)}.auth-form input:focus{outline:none;border-color:var(--color-green)}.auth-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.auth-buttons button{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:13px}.auth-buttons button:disabled{opacity:.6;cursor:not-allowed}.auth-error{font-size:12px;color:var(--color-red);text-align:center}.auth-info{font-size:12px;color:var(--color-text-secondary);text-align:center;margin-top:var(--spacing-xs)}.settings-screen{padding-bottom:100px}.settings-header{margin-bottom:var(--spacing-md)}.settings-header h1{margin:0;font-size:22px}.settings-form{max-width:600px;margin:0 auto}.form-section{margin-bottom:var(--spacing-lg)}.form-section h2{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.input{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:14px;font-family:var(--font-family);transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-green)}.goal-preview{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.goal-preview p{margin:0;font-size:13px}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.radio-option:hover{background-color:var(--color-bg-card-hover)}.radio-option input[type=radio]{margin:0;cursor:pointer}.radio-option strong{font-size:14px;display:block;margin-bottom:2px}.radio-option .caption{font-size:12px;margin:0}.btn-large{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:15px;margin-top:var(--spacing-md)}.log-screen{padding-top:var(--spacing-lg);padding-bottom:calc(70px + var(--spacing-2xl))}.log-screen h1{margin:0 0 var(--spacing-lg) 0;font-size:24px;font-weight:600;color:var(--color-text-primary)}.log-empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-secondary)}.log-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.log-entry{background-color:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);border-left:4px solid transparent}.log-entry.good{border-left-color:var(--color-green)}.log-entry.bad{border-left-color:var(--color-red)}.log-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.log-entry-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.log-entry-date{font-size:14px;font-weight:600;color:var(--color-text-primary)}.log-entry-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.log-entry-badge.good{background-color:var(--color-green);color:#fff}.log-entry-badge.bad{background-color:var(--color-red);color:#fff}.log-entry-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.log-entry-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.log-entry-label{color:var(--color-text-secondary)}.log-entry-value{font-weight:600;color:var(--color-text-primary)}.log-entry-value.good{color:var(--color-green)}.log-entry-value.bad{color:var(--color-red)}.log-entry-delete{background:none;border:none;cursor:pointer;font-size:18px;padding:var(--spacing-xs);opacity:.5;transition:opacity var(--transition-fast);line-height:1;color:var(--color-text-primary)}.log-entry-delete:hover{opacity:1;color:var(--color-red)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:400px;width:100%;box-shadow:0 20px 25px -5px #0000004d}.modal-content h2{margin:0 0 var(--spacing-lg) 0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:14px;font-weight:500;color:var(--color-text-secondary)}.log-date-header{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;margin:var(--spacing-lg) 0 var(--spacing-sm) 0;padding-left:var(--spacing-xs);position:sticky;top:0;background-color:var(--color-bg-primary);z-index:10;padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.log-day-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.day-summary{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-xs);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md) var(--spacing-lg)}.day-summary-item{display:flex;flex-direction:column;gap:2px}.day-summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);font-weight:600}.day-summary-value{font-size:15px;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.day-summary-value.good{color:var(--color-green)}.day-summary-value.bad{color:var(--color-red)}.debug-screen{padding-bottom:calc(70px + var(--spacing-2xl))}.debug-screen h1{margin-bottom:var(--spacing-xl)}.copy-button{width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:16px;font-weight:600;cursor:pointer}.copy-button:active{opacity:.8}.debug-section{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.debug-section h3{margin-bottom:var(--spacing-md);font-size:14px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:var(--spacing-xs)}.debug-section-icon{width:16px;height:16px;filter:brightness(0) invert(1);opacity:.6}.debug-grid{display:grid;gap:var(--spacing-sm)}.debug-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.debug-item:last-child{border-bottom:none}.debug-label{font-size:13px;color:var(--color-text-tertiary)}.debug-value{font-size:13px;font-weight:600;color:var(--color-text-primary);font-family:monospace;text-align:right}.log-item,.perf-item{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.log-item:last-child,.perf-item:last-child{margin-bottom:0}.log-header,.perf-header{font-size:12px;font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center}.log-details,.perf-details{display:grid;gap:var(--spacing-xs)}.status-badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;text-transform:uppercase;font-weight:700}.status-badge.status-good{background-color:#22c55e33;color:#22c55e}.status-badge.status-bad{background-color:#ef444433;color:#ef4444}.status-badge.status-empty{background-color:#6b728033;color:#6b7280}.json-output{background-color:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;font-size:11px;color:var(--color-text-secondary);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.credits-screen{padding-bottom:calc(70px + var(--spacing-2xl))}.credits-screen h1{margin-bottom:var(--spacing-2xl)}.credits-section{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.credits-section h2{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.credits-text{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-sm)}.credits-text:last-child{margin-bottom:0}.credits-link{color:var(--color-green);text-decoration:none;transition:opacity var(--transition-fast)}.credits-link:hover{opacity:.8;text-decoration:underline}.credits-attribution{color:var(--color-text-tertiary);font-size:14px;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.credits-footer{text-align:center;margin-top:var(--spacing-3xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}@media(max-width:640px){.credits-section{padding:var(--spacing-lg)}.credits-section h2{font-size:16px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background-color:var(--color-bg-card);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;padding:0 var(--spacing-lg);z-index:100;box-shadow:0 -2px 10px #0000004d}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-tertiary);transition:all var(--transition-fast);min-width:80px;cursor:pointer}.bottom-nav-item:hover{color:var(--color-text-primary);background-color:var(--color-bg-card-hover)}.bottom-nav-item-active{color:var(--color-text-primary);background-color:var(--color-bg-darker);box-shadow:inset 0 2px 6px #0000004d;border-radius:16px;transform:translateY(2px)}.bottom-nav-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.bottom-nav-icon img{width:100%;height:100%;opacity:.5;transition:opacity var(--transition-fast)}.bottom-nav-item:hover .bottom-nav-icon img,.bottom-nav-item-active .bottom-nav-icon img{opacity:1}.bottom-nav-label{font-size:12px;font-weight:500;line-height:1}body{padding-bottom:70px}.bottom-nav-menu-button{background:none;border:none;font-family:inherit}.bottom-nav-menu-button .bottom-nav-icon img{opacity:.5;filter:invert(1)}.bottom-nav-menu-button:hover .bottom-nav-icon img{opacity:1}.slide-menu-backdrop{position:fixed;inset:0;background-color:#00000080;z-index:998;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-menu{position:fixed;top:0;right:-300px;width:300px;height:100vh;background-color:var(--color-bg-card);box-shadow:-2px 0 10px #0000004d;z-index:999;transition:right .3s ease;display:flex;flex-direction:column}.slide-menu-open{right:0}.slide-menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.slide-menu-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.slide-menu-close{background:none;border:none;color:var(--color-text-secondary);font-size:24px;cursor:pointer;padding:var(--spacing-sm);line-height:1;transition:color var(--transition-fast)}.slide-menu-close:hover{color:var(--color-text-primary)}.slide-menu-content{flex:1;overflow-y:auto;padding:var(--spacing-md) 0}.slide-menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;color:var(--color-text-primary);transition:background-color var(--transition-fast);cursor:pointer}.slide-menu-item:hover{background-color:var(--color-bg-card-hover)}.slide-menu-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:20px}.slide-menu-item-icon img{width:100%;height:100%;opacity:.7}.slide-menu-item:hover .slide-menu-item-icon img{opacity:1}.slide-menu-item-label{font-size:16px;font-weight:500}.slide-menu-item-active{background-color:var(--color-bg-dark)}.slide-menu-item-active .slide-menu-item-icon img{opacity:1}.onboarding-screen{max-width:500px;padding-bottom:var(--spacing-3xl)}.onboarding-header{text-align:center;margin-bottom:var(--spacing-3xl)}.onboarding-header h1{margin-bottom:var(--spacing-md)}.onboarding-form{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.form-section{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.form-section h2{margin-bottom:var(--spacing-lg);font-size:18px}.goal-preview{margin-top:var(--spacing-md);background-color:var(--color-bg-dark);text-align:center}.goal-preview strong{color:var(--color-green);font-size:18px}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.radio-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-bg-dark);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.radio-option:hover{border-color:var(--color-green)}.radio-option-active{border-color:var(--color-green);background-color:var(--color-bg-card-hover)}.radio-option input[type=radio]{width:20px;height:20px;accent-color:var(--color-green);cursor:pointer}.btn-large{width:100%;font-size:18px;padding:18px;font-weight:600}@media(max-width:640px){.form-section{padding:var(--spacing-lg)}.btn-large{font-size:16px;padding:16px}}
