
:root{
 --px-ink:#061733;--px-blue:#102d57;--px-gold:#d0a15c;--px-paper:#f4efe7;
 --px-muted:#6c7583;--px-line:rgba(6,23,51,.12);--px-shadow:0 28px 80px rgba(4,18,42,.17)
}
*{box-sizing:border-box}
body.ccs-sprint-a{margin:0;min-height:100vh;color:var(--px-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% 0,rgba(208,161,92,.18),transparent 25%),radial-gradient(circle at 92% 10%,rgba(49,113,184,.17),transparent 28%),linear-gradient(180deg,#061630 0,#102d57 36%,var(--px-paper) 36%)}
.sprint-shell{width:min(1120px,calc(100% - 28px));margin:auto;padding:28px 0 60px}
.sprint-brand{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:24px}
.sprint-mark{width:42px;height:42px;border:1px solid rgba(234,213,173,.7);border-radius:50%;position:relative;box-shadow:inset 0 0 0 6px rgba(255,255,255,.04)}
.sprint-mark:before,.sprint-mark:after{content:"";position:absolute;left:50%;top:50%;background:#e6c88f;transform-origin:center}
.sprint-mark:before{width:2px;height:28px;margin:-14px 0 0 -1px;transform:rotate(34deg)}
.sprint-mark:after{height:2px;width:28px;margin:-1px 0 0 -14px;transform:rotate(-28deg)}
.sprint-brand strong{display:block}.sprint-brand small{display:block;color:rgba(255,255,255,.58);letter-spacing:.12em;text-transform:uppercase}
.sprint-hero{color:#fff;text-align:center;max-width:780px;margin:36px auto 30px}
.sprint-hero .eyebrow{color:#e6c88f;text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:900}
.sprint-hero h1{font-size:clamp(42px,7vw,76px);line-height:.98;letter-spacing:-.05em;margin:12px 0 16px}
.sprint-hero p{color:rgba(255,255,255,.72);font-size:18px;line-height:1.65}
.sprint-card{background:rgba(255,255,255,.97);border-radius:28px;box-shadow:var(--px-shadow);overflow:hidden;border:1px solid rgba(255,255,255,.55)}
.sprint-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr)}
.sprint-pane{padding:clamp(22px,4vw,38px)}.sprint-pane+.sprint-pane{border-left:1px solid var(--px-line)}
.sprint-pane h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em;margin:8px 0 12px}
.sprint-label{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#a47235}
.sprint-intro{color:var(--px-muted);line-height:1.65}
.sprint-form{display:grid;gap:16px;margin-top:24px}
.sprint-field{display:grid;gap:7px}.sprint-field span{font-size:12px;font-weight:900}
.sprint-input{width:100%;padding:16px;border:1px solid #d8d1c7;border-radius:14px;font:inherit;font-size:20px;font-weight:800;outline:none}
.sprint-input:focus{border-color:#b68748;box-shadow:0 0 0 4px rgba(190,143,75,.12)}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-choice{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #ddd6ca;border-radius:15px;background:#fff;color:#071a38;cursor:pointer;text-align:left}
.theme-choice.is-active{border-color:#b68748;box-shadow:0 0 0 4px rgba(190,143,75,.11)}
.theme-swatch{width:42px;height:42px;border-radius:12px;border:1px solid rgba(6,23,51,.12)}
.theme-choice b{display:block}.theme-choice small{display:block;color:var(--px-muted)}
.memory-bg-sand{background:linear-gradient(145deg,#fff8e9,#ead8b8)}
.memory-bg-light{background:linear-gradient(145deg,#fff,#edf3fb)}
.memory-bg-stone{background:linear-gradient(145deg,#d8d5cf,#aaa69d)}
.memory-bg-night{background:linear-gradient(145deg,#061630,#1e4777);color:#fff}
.sprint-note{padding:14px;border-radius:14px;background:#f5efe5;color:#756750;font-size:13px;line-height:1.55}
.sprint-button{border:0;border-radius:15px;padding:15px 18px;font:inherit;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#e8c88e,#be8845);color:#071a38;box-shadow:0 12px 28px rgba(180,125,56,.22)}
.sprint-preview-wrap{background:linear-gradient(180deg,#f8f5ef,#eee8de);display:grid;align-items:center}
.sprint-memory{min-height:620px;border-radius:26px;padding:28px;display:grid;grid-template-rows:1fr auto;box-shadow:0 26px 65px rgba(5,20,45,.18);transition:.3s}
.sprint-symbol{display:grid;place-items:center;min-height:300px}.sprint-symbol svg{width:100%;height:100%;background:transparent!important}
.sprint-copy{text-align:center}.sprint-copy .overline{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:900;color:#a47235}
.memory-bg-night .sprint-copy .overline{color:#e2ba77}
.sprint-copy h2{font-size:clamp(38px,6vw,60px);margin:10px 0}
.sprint-copy p{margin:8px 0;color:#677180}.memory-bg-night .sprint-copy p{color:rgba(255,255,255,.75)}
.sprint-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.sprint-actions a{display:block;text-align:center;padding:16px;border-radius:15px;text-decoration:none;font-weight:900}
.sprint-actions .primary{background:linear-gradient(135deg,#e8c88e,#be8845);color:#071a38}
.sprint-actions .secondary{background:#fff;color:#071a38;border:1px solid var(--px-line)}
.live-status{min-height:24px;font-weight:800;color:#936528}
@media(max-width:820px){.sprint-grid{grid-template-columns:1fr}.sprint-pane+.sprint-pane{border-left:0;border-top:1px solid var(--px-line)}}
@media(max-width:560px){.theme-grid,.sprint-actions{grid-template-columns:1fr}.sprint-shell{width:min(100% - 16px,1120px)}.sprint-memory{min-height:520px}}


/* RC2.4.2 – Sprint A.1: CCS mark, locked future fields and preview guidance */
.sprint-mark{
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 34% 28%,rgba(232,200,142,.18),transparent 35%),
    rgba(255,255,255,.035);
}
.sprint-mark:before,
.sprint-mark:after{display:none}
.sprint-mark span{
  color:#e6c88f;
  font-size:10px;
  font-weight:950;
  letter-spacing:-.055em;
  transform:translateY(.3px);
  text-shadow:0 0 18px rgba(230,200,143,.24);
}
.locked-fields{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(6,23,51,.10);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(247,244,238,.95),rgba(235,231,224,.92));
  position:relative;
}
.locked-fields:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.locked-heading{
  display:grid;
  gap:3px;
  margin:0 0 2px;
}
.locked-heading span{
  color:#a47235;
  font-size:10px;
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.locked-heading strong{
  color:#394557;
  font-size:14px;
  line-height:1.4;
}
.sprint-field.is-locked{
  opacity:.63;
  position:relative;
}
.sprint-field.is-locked:after{
  content:"🔒";
  position:absolute;
  right:13px;
  top:38px;
  font-size:12px;
  opacity:.64;
}
.sprint-field.is-locked .sprint-input{
  padding-right:38px;
  background:rgba(255,255,255,.68);
  color:#7a8089;
  font-size:13px;
  font-weight:650;
  -webkit-text-fill-color:#7a8089;
}
.sprint-textarea{
  resize:none;
  min-height:86px;
}
.preview-placeholder{
  opacity:.43;
  font-style:italic;
}
.sprint-copy .preview-date{
  color:#9a6a32;
  font-weight:800;
  font-style:normal;
}
.memory-bg-night .sprint-copy .preview-date{
  color:#e2ba77;
}
.sprint-copy .preview-subtitle{
  font-size:17px;
}
.sprint-copy .preview-description{
  max-width:460px;
  margin:14px auto 0;
  line-height:1.55;
  font-size:13px;
}
.preview-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:15px 0 10px;
  color:#ae7a3e;
  opacity:.58;
}
.preview-divider:before,
.preview-divider:after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(154,106,50,.42));
}
.preview-divider:after{
  background:linear-gradient(90deg,rgba(154,106,50,.42),transparent);
}
.preview-lock-note{
  display:inline-block;
  margin-top:18px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(6,23,51,.06);
  color:#687180;
  font-size:10px;
  font-weight:850;
}
.memory-bg-night .preview-lock-note{
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.54);
}
@media(max-width:560px){
  .locked-fields{padding:13px}
}
