:root{color-scheme:dark;--rwar-red: #E93939;--rwar-red-hover: #D42E2E;--rwar-red-light: #F25555;--rwar-red-10: rgba(233, 57, 57, .1);--rwar-red-20: rgba(233, 57, 57, .2);--rwar-charcoal: #0A0A0A;--rwar-dark: #141414;--rwar-graphite: #1E1E1E;--rwar-slate: #2A2A2A;--rwar-muted: #6B6B6B;--rwar-silver: #A0A0A0;--rwar-white: #FFFFFF;--color-success: #2ECC71;--color-success-10: rgba(46, 204, 113, .1);--color-warning: #F39C12;--color-warning-10: rgba(243, 156, 18, .1);--color-error: #E93939;--color-info: #3498DB;--font-display: "Libre Baskerville", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--surface-base: var(--rwar-charcoal);--surface-raised: var(--rwar-dark);--surface-overlay: var(--rwar-graphite);--surface-sunken: #000000;--border-default: var(--rwar-slate);--border-subtle: rgba(255, 255, 255, .06);--text-primary: var(--rwar-white);--text-secondary: var(--rwar-silver);--text-tertiary: var(--rwar-muted)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.6;color:var(--text-primary);background-color:var(--surface-base);-webkit-font-smoothing:antialiased}::selection{background:var(--rwar-red);color:var(--rwar-white)}a{color:var(--rwar-red-light);text-decoration:none}a:hover{color:var(--rwar-red)}h1,h2,h3{margin-top:0;font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-family:var(--font-display);font-size:2rem;letter-spacing:-.5px;margin-bottom:8px}h2{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.3px;margin-bottom:6px}h3{font-family:var(--font-body);font-size:1rem;font-weight:600;margin-bottom:4px}p,li{margin-top:0;color:var(--text-secondary);line-height:1.7}button,input,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:10px 20px;border:1px solid var(--rwar-red);border-radius:0;background:var(--rwar-red);color:var(--rwar-white);transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;line-height:1}button:hover:enabled{background:var(--rwar-red-hover);border-color:var(--rwar-red-hover)}button:disabled{opacity:.4;cursor:not-allowed}.secondary-button,.subtle-button{background:transparent;color:var(--text-secondary);border-color:var(--border-default)}.secondary-button:hover:enabled,.subtle-button:hover:enabled{color:var(--text-primary);border-color:var(--text-secondary);background:#ffffff08}.icon-button{display:inline-flex;align-items:center;gap:6px}.button-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:10px 20px;border-radius:0;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);transition:all .2s cubic-bezier(.4,0,.2,1)}.button-link:hover{color:var(--text-primary);border-color:var(--text-secondary)}#root{min-height:100vh}.app-shell{max-width:640px;margin:0 auto;padding:16px 16px 48px}.app-shell-authenticated{display:grid;gap:12px}.login-shell{display:flex;align-items:center;min-height:100vh}.hero{display:grid;gap:12px}.hero-login{width:100%;align-items:center;grid-template-columns:1fr}.hero-dashboard{align-items:stretch;grid-template-columns:1fr}.hero-copy,.hero-panel,.panel,.milestone-toast{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:4px}.hero-copy,.hero-panel,.panel{padding:16px}.hero-copy{position:relative;overflow:hidden;display:none}.hero-copy:after{display:none}.hero-panel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.hero-panel-header,.panel-header,.habit-card-header,.habit-card-topline,.detail-hero-topline,.status-card-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.identity-chip,.habit-reminder-chip,.timeline-chip,.history-count{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:2px;color:var(--text-primary);font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:2px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.status-online{background:var(--color-success-10);color:var(--color-success)}.status-offline{background:var(--color-warning-10);color:var(--color-warning)}.section-nav,.button-row,.dashboard-metrics,.summary-strip,.detail-grid,.milestone-grid{display:flex;flex-wrap:wrap;gap:8px}.nav-pill{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:8px 16px;border-radius:0;color:var(--text-tertiary);background:transparent;border:1px solid transparent;transition:all .2s}.nav-pill:hover{color:var(--text-secondary)}.nav-pill-active{color:var(--rwar-red);border-bottom:2px solid var(--rwar-red)}.eyebrow{margin:0 0 4px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--rwar-red)}.device-panel{display:grid;gap:12px}.device-panel-topline{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.device-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.device-grid article{padding:12px;border-radius:4px;background:var(--surface-overlay);border:1px solid var(--border-default)}.device-grid h3{margin-bottom:4px}.device-grid p{margin:0}.summary-strip article,.dashboard-metrics article{min-width:80px;flex:1;padding:12px;border-radius:4px;background:var(--surface-overlay);border:1px solid var(--border-default)}.summary-strip span,.dashboard-metrics span,.milestone-card span{display:block;font-family:var(--font-mono);font-size:1.5rem;font-weight:500;color:var(--text-primary)}.summary-strip p,.dashboard-metrics p,.milestone-card p{margin:4px 0 0;font-family:var(--font-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-tertiary)}.dashboard-stack,.detail-stack,.invite-list{display:grid;gap:12px}.completion-confirmation{display:flex;gap:12px;align-items:center;margin:12px 0;padding:12px;border-radius:4px;background:var(--surface-overlay);border:1px solid var(--border-default)}.dashboard-grid{display:grid;gap:12px;grid-template-columns:1fr}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{overflow:hidden}.empty-state{text-align:left}.offline-notice{border-left:3px solid var(--color-warning)}.offline-notice p:last-child{margin-bottom:0}.detail-link{color:var(--rwar-red-light);font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase}.detail-link:hover{color:var(--rwar-red)}.habit-card{display:grid;gap:12px}.habit-card-paused{opacity:.6}.habit-card-topline{align-items:center}.habit-card-header h2,.detail-hero h2{margin-bottom:4px}.habit-card-actions{display:flex;flex-wrap:wrap;gap:6px}.habit-description{color:var(--text-secondary);font-size:13px}.streak-bar{display:grid;gap:8px}.streak-bar-hero{padding-top:4px}.streak-bar-header{display:flex;gap:12px;align-items:end;justify-content:space-between}.streak-meta{display:grid;gap:4px;color:var(--text-secondary);text-align:right;font-size:13px}.streak-track{position:relative;overflow:hidden;height:8px;border-radius:0;background:var(--rwar-slate)}.streak-fill{position:absolute;inset:0 auto 0 0;border-radius:0;background:var(--rwar-red);transition:width .32s ease}.streak-markers{position:absolute;top:0;right:0;bottom:0;left:0}.streak-marker{position:absolute;top:0;bottom:0;width:1px;background:#fff3}.streak-marker span{position:absolute;top:12px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--text-tertiary)}.streak-marker-reached{background:var(--color-success)}.streak-marker-reached span{color:var(--color-success)}.streak-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--text-secondary);font-size:13px}.auth-form,.habit-form{display:grid;gap:16px}.field{display:grid;gap:6px}.field span{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-tertiary)}.field input,.field textarea{width:100%;font-family:var(--font-body);font-size:15px;padding:10px 14px;border-radius:2px;border:1px solid var(--border-default);background:var(--surface-sunken);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--rwar-red);box-shadow:0 0 0 1px var(--rwar-red)}.field input:disabled,.field textarea:disabled{opacity:.4;cursor:not-allowed}.field textarea{resize:vertical;min-height:100px}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary)}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.error-message{margin:0;font-size:13px;color:var(--color-error)}.success-message{margin:0;font-size:13px;color:var(--color-success)}.checkbox-row{display:flex;gap:12px;align-items:start;padding:12px;border-radius:4px;border:1px solid var(--border-default);background:var(--surface-overlay)}.checkbox-row input{width:18px;height:18px;accent-color:var(--rwar-red);margin-top:2px}.checkbox-row span{text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:14px;color:var(--text-secondary)}.settings-grid{align-items:start}.mfa-setup-card,.invite-callout,.recovery-codes-panel,.invite-card{display:grid;gap:12px;padding:16px;border-radius:4px;background:var(--surface-overlay);border:1px solid var(--border-default)}.mfa-setup-card{grid-template-columns:minmax(160px,200px) minmax(0,1fr);align-items:center}.mfa-qr{width:fit-content;padding:8px;border-radius:4px;background:var(--rwar-white)}.mfa-qr svg{display:block;width:160px;height:160px}.mfa-setup-copy code,.invite-callout code,.recovery-code-grid code{font-family:var(--font-mono);font-size:13px;color:var(--rwar-red-light)}.recovery-code-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.timeline-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border-radius:4px;background:var(--surface-overlay);border:1px solid var(--border-default)}.timeline-item p{margin:4px 0 0;color:var(--text-secondary)}.milestone-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.milestone-card{padding:12px;border-radius:4px;background:var(--surface-overlay);border:1px solid var(--border-default);border-left:3px solid var(--rwar-red)}.milestone-card strong{display:block;margin-top:4px;font-size:14px}.milestone-toast{position:fixed;right:16px;bottom:16px;z-index:600;display:flex;gap:12px;align-items:start;width:min(360px,calc(100vw - 32px));padding:16px;animation:rise-in .22s ease-out}.milestone-toast h2{margin-bottom:4px;font-size:14px}.milestone-toast p:last-child{margin-bottom:0}.milestone-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:0;background:var(--color-success-10);color:var(--color-success)}.loading-panel{text-align:left}.lede,.panel p,.helper-text,.inline-note,.hero-helper{color:var(--text-secondary)}.inline-note{font-size:13px}.mfa-toggle-link{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--text-tertiary);cursor:pointer;background:none;border:none;padding:0;text-transform:uppercase;text-decoration:none}.mfa-toggle-link:hover{color:var(--rwar-red-light)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spin-icon{animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.detail-grid,.form-grid,.milestone-grid,.device-grid,.mfa-setup-card,.recovery-code-grid{grid-template-columns:1fr}.hero-panel-header,.device-panel-topline,.panel-header,.habit-card-header,.habit-card-topline,.detail-hero-topline,.streak-bar-header,.timeline-item{flex-direction:column}.streak-meta{text-align:left}.habit-card-actions{gap:4px}.habit-card-actions button{font-size:10px;padding:8px 12px;letter-spacing:1px}}@media (min-width: 768px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{display:block}.hero-login{grid-template-columns:1fr 1fr}.app-shell{max-width:800px;padding:24px 24px 48px}}
