:root{--color-bg:#f5f8f5;--color-surface:#fff;--color-primary:#194f38;--color-primary-hover:#0f3525;--color-primary-active:#0a2419;--color-secondary:#2d6a4f;--color-accent:#40916c;--color-banner-bg:#dcfce7;--color-banner-border:#86efac;--color-text:#0f1711;--color-text-muted:#37413a;--color-border:#cbd5e1;--color-border-subtle:#e2e8f0;--color-error-bg:#fee2e2;--color-error-border:#f87171;--color-error-text:#991b1b;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 14px #194f381f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.app-container{flex-direction:column;min-height:100vh;display:flex}.navbar{background-color:var(--color-surface);border-bottom:2px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.brand{color:var(--color-primary);align-items:center;gap:.4rem;min-height:44px;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex}.brand-btn{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.brand-icon{font-size:1.4rem}.nav-links{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.nav-btn{color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;min-width:44px;min-height:42px;padding:.5rem .65rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .15s;display:flex}.nav-btn:hover{color:var(--color-primary);background-color:#f0fdf4}.nav-btn.active{color:var(--color-primary);background-color:#dcfce7;border-color:#86efac}.nav-status{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.main-content{flex:1;width:100%;max-width:800px;margin:0 auto;padding:1.5rem 1rem}.hero{text-align:center;padding:1.5rem .5rem}.hero-tag{color:var(--color-primary);background-color:#dcfce7;border:1px solid #86efac;border-radius:999px;margin-bottom:.85rem;padding:.3rem .75rem;font-size:.8rem;font-weight:700;display:inline-block}.hero-title{color:var(--color-primary);margin-bottom:.85rem;font-size:clamp(1.85rem,6vw,2.75rem);font-weight:900;line-height:1.15}.hero-subtitle{color:var(--color-text-muted);max-width:580px;margin:0 auto 1.75rem;font-size:clamp(1rem,3vw,1.2rem);font-weight:500}.cta-group{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;min-height:48px;box-shadow:var(--shadow-sm);border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:background-color .15s,transform .1s;display:inline-flex}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:active{background-color:var(--color-primary-active);transform:translateY(0)}.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-secondary{color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background-color:#fff;justify-content:center;align-items:center;min-height:48px;padding:.85rem 1.4rem;font-size:1rem;font-weight:700;transition:all .15s;display:inline-flex}.btn-secondary:hover{background-color:#f1f5f9;border-color:#94a3b8}.btn-block{width:100%}.btn-back{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;min-height:44px;padding:.25rem 0;font-size:.95rem;font-weight:700;display:inline-flex}.btn-back:hover{color:var(--color-primary)}.anti-screen-banner{background-color:var(--color-banner-bg);border:2px solid var(--color-banner-border);border-radius:var(--radius-md);text-align:center;margin-top:2rem;padding:1.15rem}.anti-screen-banner h4{color:var(--color-primary);margin-bottom:.35rem;font-size:1.05rem;font-weight:800}.anti-screen-banner p{color:var(--color-text-muted);font-size:.92rem;font-weight:500}.features-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:2rem;display:grid}.feature-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem}.feature-icon{margin-bottom:.5rem;font-size:2rem}.feature-card h3{color:var(--color-primary);margin-bottom:.35rem;font-size:1.1rem;font-weight:800}.feature-card p{color:var(--color-text-muted);font-size:.9rem}.setup-container{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem 1.25rem}.setup-header{margin-bottom:1.5rem}.setup-title{color:var(--color-primary);margin-bottom:.25rem;font-size:clamp(1.4rem,5vw,1.85rem);font-weight:800}.setup-subtitle{color:var(--color-text-muted);font-size:.92rem}.setup-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{border:none;flex-direction:column;gap:.65rem;display:flex}.group-label{color:var(--color-text);margin-bottom:.25rem;padding:0;font-size:1rem;font-weight:800}.pill-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.65rem;display:grid}.choice-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;flex-direction:column;justify-content:center;min-height:58px;padding:.85rem .65rem;font-family:inherit;transition:all .12s;display:flex}.choice-card:hover{border-color:var(--color-accent)}.choice-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary);background-color:#dcfce7}.choice-title{color:var(--color-text);align-items:center;gap:.35rem;margin-bottom:.15rem;font-size:.95rem;font-weight:800;display:flex}.choice-card.selected .choice-title{color:var(--color-primary)}.choice-desc{color:var(--color-text-muted);font-size:.78rem;font-weight:500;line-height:1.25}.alert-error{background-color:var(--color-error-bg);border:2px solid var(--color-error-border);color:var(--color-error-text);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:.9rem 1rem;font-size:.92rem;font-weight:600}.loading-state-box{border:2px dashed var(--color-accent);border-radius:var(--radius-md);text-align:center;background-color:#f0fdf4;padding:2.5rem 1.25rem}.spinner{margin-bottom:.75rem;font-size:2.5rem;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.loading-state-box h3{color:var(--color-primary);margin-bottom:.35rem;font-size:1.2rem;font-weight:800}.loading-state-box p{color:var(--color-text-muted);font-size:.9rem}.mission-card-view{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.25rem;padding:1.5rem 1.25rem;display:flex}.mission-card-header{border-bottom:2px solid var(--color-border);padding-bottom:1rem}.mission-tags,.history-card-details,.active-meta-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem;display:flex}.mission-tags span,.history-card-details span,.active-meta-tags span{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:700}.mission-card-title{color:var(--color-primary);font-size:clamp(1.35rem,4.5vw,1.8rem);font-weight:900;line-height:1.25}.put-phone-away-banner{background-color:var(--color-banner-bg);border-left:6px solid var(--color-primary);border-radius:var(--radius-sm);align-items:center;gap:.85rem;padding:.9rem 1rem;display:flex}.put-phone-away-banner .banner-icon{flex-shrink:0;font-size:1.8rem}.put-phone-away-banner h4{color:var(--color-primary);margin-bottom:.15rem;font-size:1.05rem;font-weight:800}.put-phone-away-banner p{color:var(--color-text-muted);font-size:.88rem;font-weight:500;line-height:1.35}.mission-steps-section{flex-direction:column;gap:.75rem;display:flex}.section-title,.checklist-heading{color:var(--color-text);font-size:1.1rem;font-weight:800}.steps-list{flex-direction:column;gap:.65rem;list-style:none;display:flex}.step-item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.step-number{background-color:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:.82rem;font-weight:800;display:flex}.step-text{color:var(--color-text);font-size:.94rem;font-weight:500;line-height:1.45}.safety-note-box{border-radius:var(--radius-md);color:#78350f;background-color:#fef3c7;border:2px solid #fde047;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.safety-note-box .safety-icon{flex-shrink:0;font-size:1.25rem;line-height:1}.subtle-fallback-notice{color:var(--color-text-muted);text-align:center;border-radius:var(--radius-sm);background-color:#f1f5f9;padding:.5rem;font-size:.85rem;font-weight:600}.mission-card-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.btn-start-mission{background-color:var(--color-primary);padding:.9rem 1.75rem;font-size:1.05rem}.active-mode-card{background:var(--color-surface);border:3px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:1.5rem;padding:1.5rem 1.25rem;display:flex}.active-phone-banner{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);align-items:center;gap:.85rem;padding:1rem 1.15rem;display:flex}.active-phone-icon{flex-shrink:0;font-size:2rem}.active-phone-banner h3{margin-bottom:.15rem;font-size:1.15rem;font-weight:800}.active-phone-banner p{opacity:.92;font-size:.88rem}.active-mission-header{border-bottom:2px solid var(--color-border);padding-bottom:.75rem}.active-title{color:var(--color-primary);margin-bottom:.35rem;font-size:clamp(1.3rem,4vw,1.6rem);font-weight:900}.outdoor-timer-display{border-radius:var(--radius-md);background-color:#f0fdf4;border:2px solid #86efac;justify-content:center;align-items:center;gap:1.5rem;padding:1rem;display:flex}.timer-block{text-align:center}.timer-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:800;display:block}.timer-value{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:900}.timer-divider{color:var(--color-border);font-size:1.75rem;font-weight:300}.active-checklist-section,.checklist-items{flex-direction:column;gap:.65rem;display:flex}.checklist-item{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:.75rem;min-height:52px;padding:.85rem 1rem;transition:all .12s;display:flex}.checklist-item.completed{background-color:#f0fdf4;border-color:#4ade80}.checklist-item.completed .step-label{color:var(--color-text-muted);text-decoration:line-through}.checklist-item input{display:none}.checkmark-box{border:2px solid var(--color-primary);width:24px;height:24px;color:var(--color-primary);background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.9rem;font-weight:900;display:flex}.checklist-item.completed .checkmark-box{background-color:var(--color-primary);color:#fff}.step-label{font-size:.94rem;font-weight:600;line-height:1.4}.active-safety-reminder{color:#78350f;border-radius:var(--radius-sm);background:#fef3c7;border:1px solid #fde047;padding:.75rem 1rem;font-size:.86rem;line-height:1.4}.active-actions-group{flex-direction:column;gap:.65rem;display:flex}.btn-complete{background-color:var(--color-primary);padding:.95rem;font-size:1.1rem}.btn-abandon{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;font-size:.92rem;font-weight:600;display:inline-flex}.btn-abandon:hover{color:var(--color-error-text)}.completion-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:1.25rem;padding:2.25rem 1.25rem;display:flex}.completion-icon{font-size:3.25rem}.completion-title{color:var(--color-primary);font-size:clamp(1.6rem,5vw,2.1rem);font-weight:900}.completion-subtitle{color:var(--color-text-muted);max-width:480px;font-size:1.05rem;font-weight:500}.completion-summary-box{background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;padding:1.1rem 1.5rem;display:flex}.summary-field{text-align:left;flex-direction:column;gap:.15rem;display:flex}.summary-field span{color:var(--color-text-muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.summary-field strong{color:var(--color-text);font-size:1rem}.anti-engagement-prompt{border-radius:var(--radius-md);max-width:520px;color:var(--color-primary);background-color:#f0fdf4;border:1px solid #86efac;padding:.9rem 1.25rem;font-size:.94rem;font-weight:600}.completion-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;display:flex}.history-container,.stats-container{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem 1.25rem}.section-heading{color:var(--color-primary);font-size:clamp(1.4rem,4vw,1.75rem);font-weight:900}.section-subheading{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.92rem;font-weight:500}.empty-history-box{text-align:center;background-color:var(--color-bg);border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:2.5rem 1rem}.empty-icon{margin-bottom:.5rem;font-size:2.5rem}.empty-history-box h3{color:var(--color-text);margin-bottom:.25rem;font-weight:800}.empty-history-box p{color:var(--color-text-muted);font-size:.92rem}.history-list{flex-direction:column;gap:.85rem;display:flex}.history-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.6rem;padding:1.15rem;display:flex}.history-card-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.history-title{color:var(--color-primary);font-size:1.05rem;font-weight:800}.history-date{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.badge-completed{color:var(--color-primary)!important;background-color:#dcfce7!important;border-color:#86efac!important;font-weight:800!important}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.85rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;padding:1.25rem .75rem;display:flex}.stat-icon{margin-bottom:.35rem;font-size:1.8rem}.stat-number{color:var(--color-primary);margin-bottom:.25rem;font-size:clamp(2rem,6vw,2.5rem);font-weight:900;line-height:1.1}.stat-label{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.stats-reflection-banner{border-radius:var(--radius-md);text-align:center;background-color:#f0fdf4;border:2px solid #86efac;padding:1.25rem}.stats-reflection-banner h4{color:var(--color-primary);margin-bottom:.35rem;font-size:1.05rem;font-weight:800}.stats-reflection-banner p{color:var(--color-text-muted);max-width:550px;margin:0 auto;font-size:.92rem}.footer{text-align:center;border-top:2px solid var(--color-border);color:var(--color-text-muted);padding:1.5rem 1rem;font-size:.84rem;font-weight:500}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=400px){.navbar{padding:.5rem .75rem}.brand{font-size:1.05rem}.nav-btn{padding:.4rem .5rem;font-size:.85rem}.outdoor-timer-display{gap:.85rem}.completion-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}
