:root{--rosa: #CFA6A1;--rosa-oscuro: #B58983;--nude: #F5EDE8;--beige: #EDE3DD;--marron: #8C6A5D;--dorado: #C9A86A;--white: #FFFDFC;--body-bg: #FBF7F4;--darkest: #3A2420;--dark: #5C4A46;--mid: var(--marron);--mid-light: var(--marron);--rose: var(--marron);--light-rose: var(--rosa-oscuro);--pale: var(--rosa);--cream: var(--beige);--very-pale: var(--nude);--ultra-pale: #F9F3EF;--near-white: var(--body-bg);--font: "Lato", -apple-system, BlinkMacSystemFont, sans-serif;--font-title: "Playfair Display", Georgia, serif;--shadow: 0 2px 14px rgba(140,106,93,.1);--radius: 16px;--radius-sm: 10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font);background:var(--body-bg);color:var(--marron);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-weight:400;line-height:1.5}.app-shell{display:flex;flex-direction:column;height:100%;max-width:430px;margin:0 auto;background:var(--body-bg)}.screen{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:80px}.screen::-webkit-scrollbar{display:none}.screen{-ms-overflow-style:none;scrollbar-width:none}.top-bar{background:var(--white);color:var(--marron);padding:14px 20px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--beige);position:sticky;top:0;z-index:10}.top-bar h1{font-size:17px;font-weight:700;font-family:var(--font-title);color:var(--marron)}.top-bar-sub{font-size:11px;color:var(--rosa);margin-top:2px}.back-btn{background:none;border:none;color:var(--rosa);font-size:18px;cursor:pointer;padding:4px 8px 4px 0;display:flex;align-items:center;gap:5px;font-family:var(--font);letter-spacing:.2px}.back-btn span{font-size:13px;color:var(--marron);font-weight:600}.bottom-nav{display:flex;background:var(--white);border-top:1px solid var(--beige);flex-shrink:0;position:sticky;bottom:0;z-index:10}.nav-btn{flex:1;background:none;border:none;color:var(--rosa);padding:10px 4px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--font)}.nav-btn.active{color:var(--marron)}.nav-btn .nav-icon{font-size:19px}.nav-btn .nav-label{font-size:10px;font-weight:700;letter-spacing:.4px}.sos-fab{position:fixed;bottom:72px;right:calc(50% - 203px);background:#C0392B;color:#fff;border:none;border-radius:50px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #c0392b66;display:flex;align-items:center;gap:6px;z-index:20;letter-spacing:.5px;font-family:var(--font)}.sos-fab:active{transform:scale(.96)}@media (max-width: 430px){.sos-fab{right:12px}}.home-hero{background:var(--nude);padding:20px 20px 16px;border-bottom:1px solid var(--beige)}.home-hero-title{font-family:var(--font-title);font-size:22px;font-weight:700;color:var(--marron);line-height:1.25;margin-bottom:5px}.home-hero-sub{font-size:13px;color:var(--rosa-oscuro);line-height:1.5}.home-question{padding:16px 20px 8px;font-family:var(--font-title);font-size:16px;font-weight:600;color:var(--marron)}.state-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 16px}.state-btn{background:var(--white);border:1.5px solid var(--beige);border-radius:var(--radius);padding:14px 12px;cursor:pointer;text-align:left;box-shadow:var(--shadow);font-family:var(--font);transition:border-color .2s,transform .15s}.state-btn:active{transform:scale(.97)}.state-btn:hover{border-color:var(--rosa)}.state-btn-emoji{font-size:26px;margin-bottom:6px;display:block}.state-btn-label{font-size:13px;font-weight:700;color:var(--marron);line-height:1.2;font-family:var(--font-title)}.state-btn-feel{font-size:11px;color:var(--rosa);margin-top:3px;line-height:1.4}.state-btn-duration{margin-top:8px;display:inline-block;background:var(--nude);color:var(--marron);font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px}.protocol-header{padding:18px 20px 16px}.protocol-header-emoji{font-size:32px;margin-bottom:6px}.protocol-header-title{font-size:22px;font-weight:700;color:var(--white);font-family:var(--font-title);margin-bottom:4px}.protocol-header-feel{font-size:13px;color:#fffc;line-height:1.5}.protocol-duration{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.2);color:var(--white);font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;margin-top:8px}.section-title{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--rosa-oscuro);text-transform:uppercase;padding:14px 20px 7px}.stack-list{padding:0 16px;display:flex;flex-direction:column;gap:8px}.stack-item{background:var(--white);border-radius:var(--radius-sm);padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);border:1px solid var(--beige)}.stack-item-icon{font-size:20px;flex-shrink:0}.stack-item-info{flex:1;min-width:0}.stack-item-name{font-size:13px;font-weight:700;color:var(--marron)}.stack-item-text{font-size:11px;color:var(--rosa);margin-top:2px;line-height:1.4}.stack-item-ancla{font-size:12px;color:var(--marron);font-style:italic;line-height:1.5;margin-top:3px}.stack-link{background:var(--nude);color:var(--marron);border:none;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0;font-family:var(--font);text-decoration:none;display:inline-block}.steps-list{padding:0 16px 8px;display:flex;flex-direction:column;gap:8px}.step-card{background:var(--white);border-radius:var(--radius-sm);padding:13px;box-shadow:var(--shadow);border:1px solid var(--beige)}.step-card.done{background:var(--nude)}.step-top{display:flex;align-items:flex-start;gap:10px}.step-number{width:24px;height:24px;border-radius:50%;background:var(--beige);color:var(--marron);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-card.done .step-number{background:var(--rosa-oscuro);color:var(--white)}.step-content{flex:1;min-width:0}.step-title{font-size:13px;font-weight:700;color:var(--marron);margin-bottom:3px;font-family:var(--font-title)}.step-text{font-size:12px;color:var(--marron);line-height:1.5;opacity:.8}.step-ancla{background:var(--nude);border-left:3px solid var(--rosa-oscuro);padding:8px 10px;margin-top:8px;border-radius:0 8px 8px 0;font-size:13px;font-style:italic;color:var(--marron);line-height:1.5;font-family:var(--font-title)}.step-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.step-action-btn{background:var(--nude);color:var(--marron);border:none;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:var(--font);text-decoration:none;display:inline-block}.step-check-btn{background:var(--beige);color:var(--marron);border:none;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:var(--font)}.step-card.done .step-check-btn{background:var(--rosa-oscuro);color:var(--white)}.timer-bar{display:flex;align-items:center;gap:8px;margin-top:8px;background:var(--nude);border-radius:8px;padding:7px 10px}.timer-display{font-size:17px;font-weight:700;color:var(--marron);font-variant-numeric:tabular-nums;min-width:44px}.timer-btn{background:var(--marron);color:var(--white);border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer;font-family:var(--font)}.timer-track{flex:1;height:4px;background:var(--beige);border-radius:2px;overflow:hidden}.timer-fill{height:100%;background:var(--rosa-oscuro);border-radius:2px;transition:width 1s linear}.frase-box{margin:14px 16px 8px;background:var(--marron);border-radius:var(--radius);padding:16px;display:flex;gap:10px}.frase-bar{width:3px;background:var(--rosa);border-radius:2px;flex-shrink:0}.frase-text{font-size:15px;font-style:italic;color:var(--white);line-height:1.7;font-weight:400;font-family:var(--font-title)}.checkpoint-box{margin:6px 16px 16px;background:var(--white);border-radius:var(--radius);padding:13px 15px;box-shadow:var(--shadow);border:1px solid var(--beige)}.checkpoint-title{font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--rosa-oscuro);text-transform:uppercase;margin-bottom:8px}.checkpoint-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--nude);cursor:pointer}.checkpoint-item:last-child{border-bottom:none}.checkpoint-box input[type=checkbox]{width:16px;height:16px;accent-color:var(--rosa-oscuro);flex-shrink:0}.checkpoint-label{font-size:12px;color:var(--marron)}.sos-header{background:#C0392B;padding:18px 20px 16px;color:#fff}.sos-header-title{font-size:20px;font-weight:700;font-family:var(--font-title);margin-bottom:4px}.sos-header-sub{font-size:12px;opacity:.85}.sos-step{padding:13px 16px;margin:0 16px 8px;background:var(--white);border-radius:var(--radius-sm);box-shadow:var(--shadow);border:1px solid var(--beige)}.sos-step.active-step{background:var(--nude);border-left:3px solid #C0392B}.sos-step-time{font-size:10px;font-weight:700;color:#c0392b;letter-spacing:.5px;text-transform:uppercase}.sos-step-label{font-size:15px;font-weight:700;color:var(--marron);margin:2px 0;font-family:var(--font-title)}.sos-step-text{font-size:12px;color:var(--marron);line-height:1.5;opacity:.8}.sos-start-btn{display:block;width:calc(100% - 32px);margin:14px 16px 8px;background:#C0392B;color:#fff;border:none;border-radius:var(--radius);padding:15px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font-title);text-align:center}.sos-timer-display{text-align:center;font-size:52px;font-weight:700;color:#c0392b;font-variant-numeric:tabular-nums;padding:18px;font-family:var(--font-title)}.sos-progress{height:6px;background:var(--beige);margin:0 16px;border-radius:3px;overflow:hidden}.sos-progress-fill{height:100%;background:#C0392B;border-radius:3px;transition:width 1s linear}.modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-card{background:var(--white);border-radius:var(--radius);padding:14px 12px;cursor:pointer;box-shadow:var(--shadow);border:1.5px solid var(--beige);font-family:var(--font);text-align:left;transition:transform .15s}.mode-card:active{transform:scale(.97)}.mode-card-emoji{font-size:26px;margin-bottom:6px;display:block}.mode-card-label{font-size:13px;font-weight:700;color:var(--marron);font-family:var(--font-title)}.mode-card-when{font-size:10px;color:var(--rosa);margin-top:3px;line-height:1.4}.mode-detail{padding:0 16px 16px}.mode-protocol-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--nude)}.mode-protocol-item:last-child{border-bottom:none}.mode-num{width:20px;height:20px;border-radius:50%;background:var(--beige);color:var(--marron);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.mode-protocol-text{font-size:12px;color:var(--marron);line-height:1.5}.resources-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}.resource-chip{background:var(--nude);color:var(--marron);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.resource-tabs{display:flex;gap:0;padding:10px 16px 2px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--beige)}.resource-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--rosa);font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer;white-space:nowrap;font-family:var(--font)}.resource-tab.active{color:var(--marron);border-bottom-color:var(--rosa-oscuro)}.resource-list{padding:8px 16px 16px;display:flex;flex-direction:column;gap:8px}.resource-card{background:var(--white);border-radius:var(--radius-sm);padding:13px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);text-decoration:none;border:1px solid var(--beige)}.resource-card-icon{font-size:24px;flex-shrink:0}.resource-card-info{flex:1;min-width:0}.resource-card-name{font-size:13px;font-weight:700;color:var(--marron);font-family:var(--font-title)}.resource-card-desc{font-size:11px;color:var(--rosa);margin-top:2px}.resource-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.resource-tag{background:var(--nude);color:var(--marron);font-size:10px;padding:2px 6px;border-radius:10px}.resource-card-arrow{color:var(--rosa);font-size:14px;flex-shrink:0}.page-sub{padding:0 20px 14px;font-size:13px;color:var(--rosa);line-height:1.5}
