/* BPF 12.5.12.47.30 — Sleep-Strength guided consolidation.
   Visual/progressive-disclosure layer only. Safety red remains reserved for safety states. */
:root{
  --ss-blue:#2f9ee8;
  --ss-blue-2:#58c8eb;
  --ss-blue-deep:#0b2d43;
  --ss-cyan:#5ad7e8;
  --ss-panel:#0c2434;
  --ss-panel-2:#0a1d2b;
  --ss-border:rgba(88,200,235,.34);
}
body{overflow-x:hidden}
.ss-wrap,.wrap{max-width:1060px!important;margin:0 auto!important;padding:18px 28px 92px!important}
.ss-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px}
.ss-brand{font-weight:900;letter-spacing:1.2px;color:var(--ss-cyan);font-size:14px}
.ss-back{color:#b8c8d3;text-decoration:none;font-weight:700;font-size:13px}
.ss-hero{background:linear-gradient(135deg,rgba(10,36,55,.96),rgba(7,24,37,.96));border:1px solid var(--ss-border);border-radius:22px;padding:22px 26px;margin-bottom:16px;box-shadow:0 18px 42px rgba(0,0,0,.18)}
.ss-eyebrow{font:800 11px/1.2 Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--ss-cyan);margin-bottom:8px}
.ss-hero h1,.ss-stage h1,.ss-stage h2{font-family:"Barlow Condensed",Impact,Arial,sans-serif;text-transform:uppercase;color:#fff;letter-spacing:.2px}
.ss-hero h1{font-size:clamp(34px,5vw,54px);line-height:.95;margin:0 0 8px;max-width:760px}
.ss-hero p{font-size:15px;line-height:1.5;color:#c7d3dc;max-width:800px;margin:0}
.ss-stage{background:linear-gradient(160deg,rgba(10,38,55,.98),rgba(7,27,40,.98));border:1px solid var(--ss-border);border-radius:20px;padding:22px 24px;margin:14px 0;box-shadow:0 16px 36px rgba(0,0,0,.16)}
.ss-stage[hidden]{display:none!important}
.ss-progress{display:flex;align-items:center;gap:12px;color:var(--ss-cyan);font-weight:800;font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px}
.ss-progress:after{content:"";height:5px;border-radius:999px;background:linear-gradient(90deg,var(--ss-blue-2),#e8b56a);flex:1;opacity:.9}
.ss-stage h2{font-size:clamp(28px,4.2vw,42px);line-height:1.02;margin:0 0 8px}
.ss-stage p{color:#c6d1da;line-height:1.5;font-size:15px;margin:0 0 14px}
.ss-primary,.ss-secondary,.btn.ss-primary,.btn.ss-secondary{
  border-radius:12px!important;min-height:48px!important;padding:12px 18px!important;font-weight:900!important;font-size:15px!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;cursor:pointer!important;box-shadow:none!important;text-transform:none!important
}
.ss-primary,.btn.ss-primary{background:linear-gradient(180deg,#59c9ee,#329de7)!important;border:1px solid #75dcf2!important;color:#06253a!important}
.ss-secondary,.btn.ss-secondary{background:rgba(20,57,78,.78)!important;border:1px solid rgba(104,183,220,.52)!important;color:#eef9ff!important}
.ss-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ss-actions .ss-primary{min-width:210px}
.ss-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.ss-option{appearance:none;background:#0b2638;border:1px solid rgba(92,184,220,.38);border-radius:14px;padding:14px;text-align:left;color:#edf9ff;cursor:pointer;min-height:92px}
.ss-option strong{display:block;font-size:16px;margin-bottom:4px}.ss-option span{display:block;font-size:12.5px;color:#aebfca;line-height:1.35}
.ss-option.sel{border-color:#63d6ef;background:#123c52;box-shadow:inset 0 0 0 1px rgba(99,214,239,.42)}
.ss-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.ss-summary>div{background:rgba(4,20,30,.55);border:1px solid rgba(92,184,220,.24);border-radius:12px;padding:12px 14px}
.ss-summary b{display:block;color:#fff;font-size:13px;margin-bottom:3px}.ss-summary span{font-size:12.5px;color:#aec0cb;line-height:1.4}
.ss-path{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 0}
.ss-path>div{background:rgba(4,20,30,.45);border:1px solid rgba(92,184,220,.20);border-radius:13px;padding:12px 13px;display:flex;gap:10px;align-items:flex-start}
.ss-path i{font-style:normal;background:#123d52;color:#67dcf0;border-radius:8px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}.ss-path b{display:block;font-size:13px;color:#f2fbff}.ss-path span{display:block;font-size:11.5px;color:#9fb2be;margin-top:2px;line-height:1.3}
.ss-more{margin-top:14px;border:1px solid rgba(92,184,220,.25);border-radius:15px;background:rgba(7,25,37,.55);overflow:hidden}
.ss-more summary{cursor:pointer;padding:14px 16px;font-weight:900;color:#eefaff;list-style:none}.ss-more summary::-webkit-details-marker{display:none}.ss-more summary:after{content:"+";float:right;color:#64d9ef;font-size:18px}.ss-more[open] summary:after{content:"–"}
.ss-more-body{padding:0 14px 14px}
.ss-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ss-tool{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(92,184,220,.2);border-radius:11px;background:rgba(13,42,58,.5);text-decoration:none;color:#eff9ff}.ss-tool b{font-size:13px}.ss-tool span{display:block;color:#9eb3c0;font-size:11.5px;margin-top:2px}.ss-tool .ico{font-size:19px;width:26px;text-align:center}
.ss-safety{border:1px solid rgba(224,80,80,.46);border-left:4px solid #e05050;background:rgba(224,80,80,.07);border-radius:12px;padding:12px 14px;margin:14px 0;color:#cdd4da;font-size:12.5px;line-height:1.45}.ss-safety b{color:#ff9a9a}
.ss-manual{margin-top:14px}.ss-manual summary{color:#afc0cb;font-size:12.5px;font-weight:800;cursor:pointer}.ss-manual[open] summary{margin-bottom:12px}
.ss-status{color:#6edcf0;font-weight:800;font-size:13px;min-height:18px;margin-top:10px}
.ss-navrow{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:18px}.ss-navrow .ss-primary,.ss-navrow .ss-secondary{flex:1}
.ss-current-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.ss-current-actions a{font-size:12.5px}
/* Tracker guided stages */
.ss-tracker-stage{display:none}.ss-tracker-stage.active{display:block}
.ss-week-mode-current .wk:not(.cur){display:none}
.ss-all-weeks-toggle{margin:8px 0 2px}
/* Check-in one-question flow */
.ss-check-step{display:none}.ss-check-step.active{display:block}
.ss-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.ss-choice{background:#0b2638;border:1px solid rgba(92,184,220,.38);border-radius:12px;color:#eef8ff;font-weight:900;padding:13px;cursor:pointer}.ss-choice.sel{background:#153e53;border-color:#66d8ef;box-shadow:inset 0 0 0 1px rgba(102,216,239,.36)}
.ss-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:14px 0}.ss-scale button{min-width:0;padding:10px 0;border-radius:9px;background:#0b2638;color:#c9d7df;border:1px solid rgba(92,184,220,.32);cursor:pointer;font-weight:800}.ss-scale button.on{background:#42b7e8;color:#05253a;border-color:#72daf2}
.ss-review-row{display:grid;grid-template-columns:minmax(180px,.75fr) 1fr;gap:12px;border-bottom:1px solid rgba(255,255,255,.06);padding:9px 0}.ss-review-row:last-child{border-bottom:0}.ss-review-row b{color:#68dbee;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.ss-review-row span{color:#fff;font-weight:800}
@media(max-width:760px){
  .ss-wrap,.wrap{padding:14px 14px 88px!important;max-width:100%!important}.ss-hero,.ss-stage{padding:18px 16px;border-radius:17px}.ss-option-grid,.ss-path,.ss-summary,.ss-tool-grid{grid-template-columns:1fr}.ss-actions,.ss-navrow{flex-direction:column}.ss-actions>* ,.ss-navrow>*{width:100%!important}.ss-scale{grid-template-columns:repeat(5,1fr)}.ss-review-row{grid-template-columns:1fr;gap:3px}.ss-hero h1{font-size:38px}.ss-stage h2{font-size:30px}
}
.disclaim{font-size:12px;color:#93a8b5;line-height:1.5;margin-top:16px;border-top:1px solid rgba(92,184,220,.18);padding-top:12px}
/* Sleep-Strength selection accents follow the approved BPF blue system. */
.tracks .trk.sel,.phases .ph.sel{border-color:#62d4ee!important;border-left-color:#62d4ee!important;border-bottom-color:#62d4ee!important;background:rgba(47,158,232,.14)!important}
.wk.cur{border-color:#53bde8!important}.wknum{background:#39aee4!important;color:#06243a!important}.train b,.phlabel b{color:#63d7ed!important}
