/* ==========================================================================
   RASALAS — alma: el turno que nunca se apaga. Un día que pasa a noche (sol y luna), un cronograma de chips de colores
   y un aire clínico: menta, verde azulado profundo y el índigo de la noche. Marca #0f766e, brillo menta.
   ========================================================================== */
body.rs { --c: #0f766e; --cg: #86e0b5; --cd: #0b5f58; --rs-ink: #0d1f1d; --rs-mut: #5b706c; --rs-paper: #f4f8f6; --rs-mint: #e6f1ee; --rs-line: #d5e4e0; --rs-night: #3730a3; --rs-ok: #10b981; }

/* ---------- Portada ---------- */
.rs-hero { position: relative; border-radius: 28px; overflow: hidden; isolation: isolate; color: #fff; text-align: center; display: flex; flex-direction: column; align-items: center; background: linear-gradient(180deg, #071d22 0%, #08272a 48%, #0b3a37 100%); }
.rs-sky { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.rs-sky .sun, .rs-sky .moon { position: absolute; border-radius: 50%; filter: blur(2px); }
.rs-sky .sun { width: 520px; height: 520px; left: -140px; bottom: -300px; background: radial-gradient(circle, rgba(255,200,110,.75), rgba(255,160,70,.25) 45%, transparent 70%); animation: rsSun 16s ease-in-out infinite; }
.rs-sky .moon { width: 460px; height: 460px; right: -120px; top: -260px; background: radial-gradient(circle, rgba(165,180,252,.6), rgba(99,102,241,.22) 48%, transparent 70%); animation: rsMoon 16s ease-in-out infinite; }
@keyframes rsSun { 0%, 8% { opacity: .15; transform: translateY(80px); } 30%, 50% { opacity: 1; transform: none; } 72%, 100% { opacity: .1; transform: translateY(80px); } }
@keyframes rsMoon { 0%, 45% { opacity: .1; transform: translateY(-60px); } 70%, 92% { opacity: 1; transform: none; } 100% { opacity: .1; transform: translateY(-60px); } }
.rs-sky .stars { position: absolute; inset: 0; background-image: radial-gradient(1.3px 1.3px at 12% 22%, #fff, transparent), radial-gradient(1.2px 1.2px at 28% 64%, #cfe, transparent), radial-gradient(1.6px 1.6px at 47% 14%, #fff, transparent), radial-gradient(1.1px 1.1px at 63% 48%, #dfe, transparent), radial-gradient(1.5px 1.5px at 78% 26%, #fff, transparent), radial-gradient(1.2px 1.2px at 90% 70%, #cfe, transparent), radial-gradient(1px 1px at 38% 38%, #fff, transparent), radial-gradient(1.2px 1.2px at 6% 80%, #fff, transparent); animation: rsTw 5s ease-in-out infinite alternate; opacity: .8; }
@keyframes rsTw { from { opacity: .35; } to { opacity: .95; } }
.rs-top { position: relative; z-index: 3; padding: clamp(40px, 7vh, 84px) 20px 0; max-width: 980px; display: grid; justify-items: center; }
.rs-pill { display: inline-flex; align-items: center; gap: 10px; padding: 7px 16px; border: 1px solid rgba(134,224,181,.4); border-radius: 99px; font: 500 .74rem 'Geist Mono', monospace; letter-spacing: .1em; color: #c9f5e2; background: rgba(134,224,181,.08); }
.rs-pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--cg); animation: rsPulse 2.4s infinite; }
@keyframes rsPulse { 0% { box-shadow: 0 0 0 0 rgba(134,224,181,.5); } 70% { box-shadow: 0 0 0 9px rgba(134,224,181,0); } 100% { box-shadow: 0 0 0 0 rgba(134,224,181,0); } }
.rs-top h1 { font-size: clamp(2.4rem, 4.8vw, 4.3rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.03; margin: 1.3rem 0 1rem; max-width: 17ch; color: #fff; }
.rs-top h1 em { font-family: 'Bricolage Grotesque', 'Geist', sans-serif; font-style: normal; font-weight: 600; letter-spacing: -.035em; color: var(--cg); }
.rs-top .lead { color: rgba(220,244,236,.84); max-width: 60ch; font-size: clamp(1.05rem, 1.25vw, 1.2rem); }
.rs-cta { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 1.6rem; }
.rs-cta .btn-primary { background: var(--c); border-color: var(--c); color: #fff; } .rs-cta .btn-primary:hover { background: var(--cd); }
.rs-cta .btn-line { background: transparent; border: 1px solid rgba(134,224,181,.45); color: #fff; } .rs-cta .btn-line:hover { background: rgba(134,224,181,.12); }
.rs-stage { position: relative; z-index: 2; width: 100%; max-width: 1020px; margin-top: 64px; padding: 0 16px; }
.rs-card3d { perspective: 1600px; } .rs-win { transform: rotateX(8deg); transform-origin: 50% 100%; background: #f4f8f6; border-radius: 16px 16px 0 0; overflow: hidden; box-shadow: 0 -30px 90px -30px rgba(134,224,181,.35), 0 50px 90px -40px rgba(0,0,0,.8), 0 0 0 1px rgba(134,224,181,.2); }
.rs-win .bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #e3eeea; border-bottom: 1px solid var(--rs-line); } .rs-win .bar i { width: 9px; height: 9px; border-radius: 50%; background: #bcd0cb; } .rs-win .bar span { margin-left: 10px; font: 500 10.5px 'Geist Mono', monospace; color: #6a8a85; }
.rs-hgrid { padding: 12px 14px 0; display: grid; gap: 4px; min-height: 250px; }
.rs-hgrid .r { display: grid; grid-template-columns: 112px repeat(12, 1fr); gap: 4px; align-items: center; }
.rs-hgrid .nm { font: 600 11px 'Geist', sans-serif; color: #0d1f1d; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rs-hgrid .hd b { font: 600 9px 'Geist Mono', monospace; color: #7a948f; text-align: center; }
.rs-hgrid .cell { display: block; }
i.ch { display: grid; place-items: center; height: 26px; border-radius: 6px; font: 700 10px 'Geist Mono', monospace; font-style: normal; letter-spacing: .02em; border: 1px solid rgba(0,0,0,.05); }
i.ch.dash { border: 1px dashed #c7d6d2; } i.ch.emp { background: #fff; color: #c3d3cf; border: 1px dashed #d5e4e0; }
i.ch.pop { opacity: 0; animation: rsPop .5s cubic-bezier(.2,1.5,.4,1) var(--dl, 0ms) forwards; } .cell[style*="--dl"] i.ch.pop { animation-delay: var(--dl); }
i.ch.swap { animation: rsSwap .5s cubic-bezier(.2,1.5,.4,1); }
@keyframes rsPop { from { opacity: 0; transform: scale(.3); } to { opacity: 1; transform: none; } } @keyframes rsSwap { 0% { transform: scale(.4); box-shadow: 0 0 0 0 rgba(15,118,110,.6); } 60% { transform: scale(1.18); box-shadow: 0 0 0 8px rgba(15,118,110,0); } 100% { transform: none; } }
.rs-float { position: absolute; z-index: 4; display: flex; gap: 11px; align-items: center; padding: 10px 14px; background: rgba(255,255,255,.96); color: #0d1f1d; border-radius: 14px; box-shadow: 0 22px 40px -16px rgba(0,0,0,.6); text-align: left; animation: rsFloat 6s ease-in-out infinite alternate; }
.rs-float svg { width: 20px; height: 20px; color: var(--c); } .rs-float small { display: block; font: 600 9px 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: #6a8a85; } .rs-float b { font-size: .86rem; letter-spacing: -.01em; }
.rs-float.f1 { left: 3%; top: -30px; } .rs-float.f2 { right: 3%; top: -30px; animation-delay: -2s; } .rs-float.f3 { left: 50%; margin-left: -105px; top: -30px; animation-delay: -4s; }
@keyframes rsFloat { from { transform: translateY(-6px); } to { transform: translateY(6px); } }
@media (max-width: 1000px) { .rs-float.f3 { display: none; } }
@media (max-width: 820px) { .rs-float { display: none; } .rs-stage { margin-top: 30px; } .rs-hgrid .r { grid-template-columns: 70px repeat(12, 1fr); } .rs-hgrid .nm { font-size: 9.5px; } i.ch { height: 20px; font-size: 8.5px; border-radius: 5px; } .rs-win { transform: none; } }

/* cinta */
.rs-tape { position: relative; overflow: hidden; background: var(--c); color: #e8fbf3; padding: 13px 0; transform: rotate(-1.2deg); margin: 30px -2% 10px; box-shadow: 0 10px 20px -12px rgba(6,60,55,.7); border-block: 3px solid rgba(255,255,255,.16); z-index: 4; }
.rs-tape .tr { display: flex; width: max-content; gap: 38px; animation: rsTape 40s linear infinite; font: 700 .84rem 'Geist Mono', monospace; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; }
.rs-tape .tr span { display: inline-flex; gap: 38px; align-items: center; } .rs-tape .tr span::after { content: '✚'; opacity: .6; font-size: .8em; }
@keyframes rsTape { to { transform: translateX(-50%); } }

/* ---------- Secciones ---------- */
.rs-paper { background: var(--rs-paper); } .rs-mint { background: var(--rs-mint); } .rs-dark { background: linear-gradient(180deg, #071d22, #0a2a2c); color: #dcf4ec; }
.rs-paper .eyebrow, .rs-mint .eyebrow { color: var(--cd); } .rs-dark .eyebrow { color: var(--cg); } .rs-dark h2 { color: #fff; } .rs-dark .lead { color: rgba(214,240,231,.8); }
.rs-strip { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--rs-paper); }
.rs-strip > div { padding: 30px 28px 34px; display: grid; gap: 8px; align-content: start; border-left: 1px dashed #b6cdc8; } .rs-strip > div:first-child { border-left: 0; }
.rs-strip svg { width: 26px; height: 26px; color: var(--c); } .rs-strip h3 { font-size: 1.28rem; letter-spacing: -.025em; } .rs-strip p { color: var(--rs-mut); font-family: var(--serif); font-size: 1.08rem; line-height: 1.4; }
@media (max-width: 860px) { .rs-strip { grid-template-columns: 1fr; } .rs-strip > div { border-left: 0; border-top: 1px dashed #b6cdc8; } .rs-strip > div:first-child { border-top: 0; } }

/* ---------- Cronograma interactivo ---------- */
.rs-play { background: #fff; border: 1px solid var(--rs-line); border-radius: 22px; padding: 18px; box-shadow: 0 40px 70px -48px rgba(6,60,55,.55); display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "pal pal" "grid rev" "foot foot"; }
.rs-pal { grid-area: pal; display: flex; flex-wrap: wrap; gap: 8px; } .rs-pal .pl { display: inline-flex; gap: 8px; align-items: center; min-height: 40px; padding: 0 12px 0 6px; border-radius: 12px; border: 1px solid var(--rs-line); background: #fff; font: 500 .82rem 'Geist', sans-serif; color: var(--rs-ink); cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .15s; }
.rs-pal .pl i.ch { width: 34px; height: 24px; } .rs-pal .pl:hover { border-color: var(--c); } .rs-pal .pl.on { border-color: var(--c); box-shadow: 0 0 0 3px rgba(15,118,110,.18); transform: translateY(-1px); }
.rs-gridwrap { grid-area: grid; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; border: 1px solid var(--rs-line); border-radius: 14px; background: #fbfdfc; user-select: none; touch-action: pan-x pan-y; }
.rs-grid { display: grid; min-width: 760px; padding: 8px; gap: 3px; }
.rs-grid .r { display: grid; grid-template-columns: 150px repeat(14, minmax(34px, 1fr)) 58px; gap: 3px; align-items: center; }
.rs-grid .nm { font: 600 11.5px 'Geist', sans-serif; color: var(--rs-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: sticky; left: 0; background: #fbfdfc; z-index: 1; padding-right: 6px; }
.rs-grid .hd b { font: 600 9px 'Geist Mono', monospace; color: #6a8a85; text-align: center; display: grid; line-height: 1.15; } .rs-grid .hd b.we { color: #d97706; } .rs-grid .hd b small { font-size: 9.5px; color: var(--rs-ink); } .rs-grid .hd .nm { color: #6a8a85; font: 600 9px 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.rs-grid .hrs { font: 700 11px 'Geist Mono', monospace; text-align: center; padding: 4px 0; border-radius: 6px; transition: background .3s, color .3s; } .rs-grid .hrs.ok { background: #d1fae5; color: #047857; } .rs-grid .hrs.lo { background: #fef3c7; color: #b45309; } .rs-grid .hrs.hi { background: #fee2e2; color: #b91c1c; } .rs-grid .hd .hrs { background: none; color: #6a8a85; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.rs-grid button.cell { appearance: none; border: 0; background: none; padding: 0; cursor: crosshair; border-radius: 6px; } .rs-grid button.cell:hover i.ch { outline: 2px solid rgba(15,118,110,.55); outline-offset: 0; } .rs-grid button.cell:focus-visible { outline: 2px solid var(--c); }
.rs-grid .sep, .rs-grid .hd b.sep { margin-left: 4px; }
.rs-grid .cov { margin-top: 3px; padding-top: 5px; border-top: 1px dashed var(--rs-line); } .rs-grid .cov .nm { color: #3730a3; font-size: 10.5px; }
.rs-grid .cv { font: 700 11px 'Geist Mono', monospace; text-align: center; padding: 4px 0; border-radius: 6px; transition: background .25s; } .rs-grid .cv.ok { background: #e0e7ff; color: #3730a3; } .rs-grid .cv.bad { background: #fee2e2; color: #b91c1c; animation: rsShake .5s; }
@keyframes rsShake { 20%, 60% { transform: translateX(-2px); } 40%, 80% { transform: translateX(2px); } }
.rs-rev { grid-area: rev; border: 1px solid var(--rs-line); border-radius: 14px; padding: 14px; background: #fbfdfc; display: grid; gap: 10px; align-content: start; }
.rs-rev .hd { display: flex; justify-content: space-between; align-items: center; } .rs-rev .hd b { font-size: .95rem; letter-spacing: -.02em; }
.rs-rev .n { min-width: 26px; height: 26px; border-radius: 99px; display: grid; place-items: center; font: 700 .78rem 'Geist Mono', monospace; } .rs-rev .n.good { background: #d1fae5; color: #047857; } .rs-rev .n.warn { background: #fef3c7; color: #b45309; }
.rs-rev ul { display: grid; gap: 7px; } .rs-rev li { padding: 9px 11px; border-radius: 10px; background: #fff7ed; border-left: 3px solid #f59e0b; font-size: .84rem; line-height: 1.35; color: #7c2d12; animation: rsIn .35s both; }
.rs-rev .okm { display: flex; gap: 8px; align-items: center; padding: 10px 12px; border-radius: 10px; background: #d1fae5; color: #047857; font-weight: 600; font-size: .88rem; } .rs-rev .okm .ic svg, .rs-rev .pub .ic svg { width: 17px; height: 17px; }
.rs-rev .pub { appearance: none; min-height: 44px; border-radius: 12px; border: 0; background: var(--c); color: #fff; font: 600 .92rem 'Geist', sans-serif; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s, transform .15s; } .rs-rev .pub:hover { background: var(--cd); } .rs-rev .pub:active { transform: scale(.98); }
.rs-rev .pub.any { background: transparent; color: var(--cd); border: 1.5px solid var(--c); } .rs-rev .pub.any:hover { background: #e6f1ee; }
.rs-rev .pub.done { background: #d1fae5; color: #047857; cursor: default; }
@keyframes rsIn { from { opacity: 0; transform: translateY(6px); } }
.rs-foot { grid-area: foot; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: center; } .rs-foot .tip { color: var(--rs-mut); font-size: .82rem; } .rs-foot .acts { display: flex; gap: 8px; }
.rs-mini { appearance: none; min-height: 38px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--rs-line); background: #fff; font: 600 .82rem 'Geist', sans-serif; color: var(--rs-ink); cursor: pointer; } .rs-mini:hover { border-color: var(--c); color: var(--cd); }
@media (max-width: 1020px) { .rs-play { grid-template-columns: minmax(0, 1fr); grid-template-areas: "pal" "grid" "rev" "foot"; } }

/* ---------- Asistencia ---------- */
.rs-att { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 84px); align-items: center; } .rs-att > * { min-width: 0; }
.rs-cases { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1.4rem; } .rs-cases .cs { appearance: none; min-height: 42px; padding: 0 16px; border-radius: 99px; border: 1px solid #b6cdc8; background: #fff; font: 500 .9rem 'Geist', sans-serif; color: var(--rs-ink); cursor: pointer; transition: all .25s; } .rs-cases .cs:hover { border-color: var(--c); } .rs-cases .cs.on { background: var(--rs-ink); border-color: var(--rs-ink); color: #fff; }
.rs-note { margin-top: 1rem; min-height: 3.6em; padding: 12px 16px; border-left: 3px solid var(--c); background: #fff; border-radius: 0 12px 12px 0; font-family: var(--serif); font-size: 1.08rem; line-height: 1.4; color: var(--rs-ink); }
.rs-ac { background: #fff; border: 1px solid var(--rs-line); border-radius: 22px; padding: 22px; display: grid; gap: 16px; box-shadow: 0 40px 70px -48px rgba(6,60,55,.55); } .rs-ac.flash { animation: rsFlash .6s; } @keyframes rsFlash { from { box-shadow: 0 0 0 0 rgba(15,118,110,.4); } to { box-shadow: 0 0 0 18px rgba(15,118,110,0); } }
.rs-ac .hd { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; } .rs-ac .hd b { font-size: 1rem; letter-spacing: -.02em; }
.rs-st { padding: 4px 12px; border-radius: 99px; font: 700 .7rem 'Geist Mono', monospace; letter-spacing: .06em; text-transform: uppercase; transition: all .3s; } .rs-st.ok, .rs-st.ex { background: #d1fae5; color: #047857; } .rs-st.late { background: #fef3c7; color: #b45309; } .rs-st.inc { background: #fee2e2; color: #b91c1c; } .rs-st.out { background: #e0f2fe; color: #0369a1; }
.rs-clock { position: relative; width: min(220px, 60vw); margin: 0 auto; } .rs-clock svg { width: 100%; height: auto; display: block; } .rs-clock path { transition: d .5s, stroke .4s; }
.rs-clock .mid { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; } .rs-clock .mid b { font: 700 1.35rem 'Geist Mono', monospace; letter-spacing: -.04em; } .rs-clock .mid small { font: 600 9px 'Geist Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--rs-mut); }
.rs-tl .lab { display: flex; justify-content: space-between; font: 500 10px 'Geist Mono', monospace; color: var(--rs-mut); margin-bottom: 6px; }
.rs-tl { padding-bottom: 6px; } .rs-tl .trk { position: relative; height: 30px; margin-bottom: 8px; border-radius: 8px; background: #eef3f2; } .rs-tl .plan { position: absolute; inset: 0; border-radius: 8px; background: repeating-linear-gradient(135deg, #c7d2fe 0 8px, #d7defe 8px 16px); display: flex; align-items: center; padding-left: 10px; font: 600 10px 'Geist Mono', monospace; font-style: normal; color: #3730a3; transition: opacity .4s; } .rs-tl .trk.free .plan { opacity: .25; }
.rs-tl .real { position: absolute; top: 8px; height: 14px; border-radius: 4px; transition: left .5s, width .5s, background .4s; }
.rs-tl .mk { position: absolute; top: -3px; width: 4px; height: 36px; border-radius: 3px; background: var(--rs-ink); transition: left .5s, opacity .3s; margin-left: -2px; }
.rs-marks, .rs-tot { display: grid; grid-template-columns: repeat(var(--n, 2), 1fr); gap: 8px; } .rs-tot { --n: 3; }
.rs-marks > div, .rs-tot > div { padding: 10px 12px; border-radius: 12px; background: #f1f7f5; } .rs-marks small, .rs-tot small { display: block; font: 600 9px 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--rs-mut); } .rs-marks b, .rs-tot b { font: 700 1.15rem 'Geist Mono', monospace; letter-spacing: -.04em; }
@media (max-width: 940px) { .rs-att { grid-template-columns: 1fr; } }

/* ---------- Reglas ---------- */
.rs-rules { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(28px, 5vw, 84px); align-items: center; } .rs-rules > * { min-width: 0; }
.rs-rules ul { display: grid; margin-top: 1.4rem; } .rs-rules > div:first-child li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid rgba(134,224,181,.18); } .rs-rules > div:first-child li:last-child { border-bottom: 1px solid rgba(134,224,181,.18); }
.rs-rules > div:first-child li svg { width: 18px; height: 18px; color: var(--cg); margin-top: 3px; } .rs-rules > div:first-child li b { display: block; color: #fff; font-weight: 600; } .rs-rules > div:first-child li span { color: rgba(214,240,231,.7); font-size: .94rem; }
.rs-rp { background: #f4f8f6; border-radius: 18px; padding: 16px; color: var(--rs-ink); box-shadow: 0 50px 90px -40px rgba(0,0,0,.8), 0 0 0 1px rgba(134,224,181,.2); display: grid; gap: 12px; }
.rs-rp .hd { display: flex; align-items: center; gap: 9px; } .rs-rp .hd svg { width: 18px; height: 18px; color: var(--c); } .rs-rp .hd b { flex: 1; letter-spacing: -.02em; } .rs-rp .cnt { min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 99px; background: #fef3c7; color: #b45309; font: 700 .78rem 'Geist Mono', monospace; }
.rs-rp ul { display: grid; gap: 8px; margin: 0; } .rs-rp li { display: grid; grid-template-columns: 10px 1fr; gap: 11px; align-items: start; padding: 11px 13px; border-radius: 12px; background: #fff; border: 1px solid var(--rs-line); font-size: .88rem; line-height: 1.38; opacity: 0; transform: translateX(14px); transition: all .45s var(--ease); } .rs-rp li.on { opacity: 1; transform: none; } .rs-rp li i { width: 9px; height: 9px; border-radius: 50%; background: #f59e0b; margin-top: 5px; box-shadow: 0 0 0 4px rgba(245,158,11,.2); }
.rs-rp .bt { display: flex; gap: 8px; justify-content: flex-end; } .rs-rp .bt span { padding: 9px 14px; border-radius: 10px; font: 600 .8rem 'Geist', sans-serif; } .rs-rp .b1 { background: var(--c); color: #fff; } .rs-rp .b2 { border: 1px solid #b6cdc8; color: var(--cd); }
@media (max-width: 940px) { .rs-rules { grid-template-columns: 1fr; } }

/* ---------- Áreas y servicios ---------- */
.rs-org { display: grid; grid-template-columns: 1.6fr .9fr; gap: clamp(20px, 3vw, 40px); align-items: start; } .rs-org > * { min-width: 0; }
.rs-org .tree { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; position: relative; }
.rs-org .ar { background: #fff; border: 1px solid var(--rs-line); border-radius: 18px; padding: 14px; display: grid; gap: 10px; align-content: start; transition: transform .35s var(--ease), box-shadow .3s, border-color .3s; } .rs-org .ar:hover { transform: translateY(-4px); border-color: var(--c); box-shadow: 0 22px 36px -24px rgba(15,118,110,.7); }
.rs-org .ah { display: flex; gap: 9px; align-items: center; padding-bottom: 10px; border-bottom: 1px dashed var(--rs-line); } .rs-org .ah svg { width: 18px; height: 18px; color: var(--c); } .rs-org .ah b { font-size: 1rem; letter-spacing: -.02em; }
.rs-org .ar ul { display: grid; gap: 7px; } .rs-org .ar li { position: relative; display: flex; justify-content: space-between; gap: 8px; align-items: baseline; padding: 9px 11px 9px 20px; border-radius: 10px; background: var(--rs-mint); font-size: .88rem; } .rs-org .ar li::before { content: ''; position: absolute; left: 8px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--c); animation: rsPulse 3s infinite; animation-delay: calc(var(--n) * .3s); }
.rs-org .ar em { font: 500 .7rem 'Geist Mono', monospace; font-style: normal; color: var(--rs-mut); white-space: nowrap; }
.rs-org .jefe { background: #fff; border: 1px solid var(--rs-line); border-radius: 18px; padding: 16px; display: grid; gap: 12px; box-shadow: 0 30px 50px -36px rgba(6,60,55,.5); }
.rs-org .who { display: flex; gap: 12px; align-items: center; padding-bottom: 12px; border-bottom: 1px dashed var(--rs-line); } .rs-org .av { width: 42px; height: 42px; border-radius: 50%; background: var(--c); color: #fff; display: grid; place-items: center; font: 700 .8rem 'Geist', sans-serif; } .rs-org .who b { display: block; letter-spacing: -.02em; } .rs-org .who small { color: var(--rs-mut); font-size: .8rem; }
.sw { display: flex; gap: 12px; align-items: center; min-height: 40px; font-size: .9rem; cursor: pointer; } .sw input { position: absolute; opacity: 0; } .sw i { position: relative; flex: none; width: 40px; height: 24px; border-radius: 99px; background: #c3d3cf; transition: background .25s; } .sw i::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .25s var(--ease); box-shadow: 0 1px 3px rgba(0,0,0,.25); } .sw input:checked + i { background: var(--c); } .sw input:checked + i::after { transform: translateX(16px); } .sw input:disabled + i { opacity: .55; } .sw input:focus-visible + i { outline: 2px solid var(--c); outline-offset: 2px; }
@media (max-width: 1060px) { .rs-org { grid-template-columns: 1fr; } } @media (max-width: 720px) { .rs-org .tree { grid-template-columns: 1fr; } }

/* ---------- Publicar ---------- */
.rs-flow { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding-top: 6px; }
.rs-flow .line { position: absolute; left: 12.5%; right: 12.5%; top: 31px; height: 2px; background: repeating-linear-gradient(90deg, #9db8b3 0 6px, transparent 6px 12px); } .rs-flow .dot { position: absolute; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--c); box-shadow: 0 0 14px 3px rgba(15,118,110,.6); animation: rsRun 4.6s linear infinite; } @keyframes rsRun { from { left: 0; } to { left: calc(100% - 10px); } }
.rs-flow .st { position: relative; display: grid; gap: 6px; justify-items: center; text-align: center; } .rs-flow .n { width: 62px; height: 62px; border-radius: 50%; background: #fff; border: 2px solid var(--c); display: grid; place-items: center; color: var(--c); z-index: 1; box-shadow: 0 0 0 6px var(--rs-mint); } .rs-flow .n svg { width: 24px; height: 24px; }
.rs-flow .st:last-child .n { background: var(--c); color: #fff; } .rs-flow b { font-size: 1.05rem; letter-spacing: -.02em; margin-top: 6px; } .rs-flow small { color: var(--rs-mut); font-size: .86rem; max-width: 22ch; }
.rs-exp { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; justify-content: center; } .rs-exp > span { display: inline-flex; gap: 9px; align-items: center; padding: .55rem 1rem; border: 1px solid #b6cdc8; border-radius: 99px; background: #fff; font-weight: 500; font-size: .9rem; transition: transform .25s, border-color .25s; } .rs-exp > span:hover { transform: translateY(-2px); border-color: var(--c); } .rs-exp svg { width: 16px; height: 16px; color: var(--c); }
.rs-re { text-align: center; margin-top: 18px; color: var(--rs-mut); font-family: var(--serif); font-size: 1.08rem; }
@media (max-width: 760px) { .rs-flow { grid-template-columns: 1fr 1fr; row-gap: 26px; } .rs-flow .line { display: none; } }

/* ---------- Celular ---------- */
.rs-me { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 84px); align-items: center; } .rs-me > * { min-width: 0; }
.rs-ck { display: grid; gap: 9px; margin-top: 1.4rem; } .rs-ck li { display: flex; gap: 10px; color: #254b46; } .rs-ck svg { width: 17px; height: 17px; color: var(--rs-ok); flex: none; margin-top: 3px; }
.rs-pwrap { display: grid; place-items: center; }
.rs-ph { position: relative; width: min(290px, 78vw); aspect-ratio: 290 / 590; border-radius: 40px; background: #0b1b1a; padding: 9px; box-shadow: 0 50px 80px -34px rgba(6,60,55,.6), 0 0 0 1px rgba(15,118,110,.25), inset 0 0 0 2px #26403d; transform: rotate(2deg); }
.rs-ph .nt { position: absolute; z-index: 5; top: 17px; left: 50%; translate: -50% 0; width: 76px; height: 20px; border-radius: 99px; background: #040b0b; }
.rs-ph .scr { height: 100%; border-radius: 32px; overflow: hidden; background: #f4f8f6; display: flex; flex-direction: column; font: 400 12px/1.35 'Geist', sans-serif; color: #0d1f1d; } .rs-ph .scr.in { animation: rsIn .5s both; }
.rs-ph .sb { flex: none; height: 34px; padding: 11px 20px 0; display: flex; justify-content: space-between; font: 600 10px 'Geist', sans-serif; } .rs-ph .hd { flex: none; display: flex; justify-content: space-between; align-items: center; padding: 6px 14px 8px; } .rs-ph .hd b { font-size: 16px; letter-spacing: -.02em; } .rs-ph .hd .on { font: 500 9.5px 'Geist Mono', monospace; color: #047857; display: inline-flex; gap: 5px; align-items: center; } .rs-ph .hd .on i { width: 6px; height: 6px; border-radius: 50%; background: #10b981; animation: rsPulse 2s infinite; } .rs-ph .hd .mo { font: 600 11px 'Geist', sans-serif; color: var(--cd); text-transform: capitalize; }
.rs-ph .bd { flex: 1; min-height: 0; padding: 0 12px; display: grid; gap: 9px; align-content: start; overflow: hidden; }
.rs-ph .tc { background: linear-gradient(150deg, #312e81, #3730a3 60%, #1e1b4b); color: #fff; border-radius: 16px; padding: 14px; display: grid; gap: 10px; } .rs-ph .tc small { font: 500 9.5px 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; opacity: .8; } .rs-ph .sh { display: flex; gap: 12px; align-items: center; } .rs-ph .sh i.ch { width: 44px; height: 38px; font-size: 14px; } .rs-ph .sh b { font-size: 20px; letter-spacing: -.03em; display: block; } .rs-ph .sh span { font: 500 12px 'Geist Mono', monospace; opacity: .85; }
.rs-ph .cd { display: flex; justify-content: space-between; align-items: baseline; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.2); } .rs-ph .cd b { font: 700 18px 'Geist Mono', monospace; letter-spacing: -.04em; }
.rs-ph .mk { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 14px; background: var(--c); color: #fff; font-weight: 600; font-size: 12.5px; } .rs-ph .mk i { width: 30px; height: 30px; border-radius: 9px; background: rgba(255,255,255,.18); display: grid; place-items: center; } .rs-ph .mk svg { width: 17px; height: 17px; }
.rs-ph .nx { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--rs-line); } .rs-ph .nx small { font: 600 9px 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--rs-mut); display: block; margin-bottom: 8px; } .rs-ph .mini { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; } .rs-ph .mini i.ch { height: 26px; }
.rs-ph .cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; } .rs-ph .cal > b { text-align: center; font: 600 9px 'Geist Mono', monospace; color: #6a8a85; } .rs-ph .cal span { display: grid; gap: 1px; justify-items: center; padding: 2px 0; border-radius: 7px; } .rs-ph .cal small { font: 500 8px 'Geist Mono', monospace; color: #6a8a85; } .rs-ph .cal i.ch { width: 100%; height: 22px; font-size: 8px; } .rs-ph .cal .td { background: #d1fae5; box-shadow: 0 0 0 1.5px var(--c); }
.rs-ph .hr { text-align: center; font: 600 11px 'Geist', sans-serif; color: var(--cd); padding-top: 4px; }
.rs-ph .nv { flex: none; height: 56px; display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; background: #fff; border-top: 1px solid var(--rs-line); } .rs-ph .nv span { display: grid; justify-items: center; gap: 2px; font: 500 8.5px 'Geist', sans-serif; color: #7b918c; } .rs-ph .nv svg { width: 17px; height: 17px; } .rs-ph .nv em { font-style: normal; } .rs-ph .nv span.on { color: var(--cd); } .rs-ph .nv span.mid { margin-top: -22px; } .rs-ph .nv span.mid i { width: 42px; height: 42px; border-radius: 50%; background: var(--c); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 16px -6px rgba(15,118,110,.8); } .rs-ph .nv span.mid svg { width: 20px; height: 20px; }
@media (max-width: 900px) { .rs-me { grid-template-columns: 1fr; } }

/* ---------- Planes y cierre ---------- */
.rs-mods { display: grid; gap: 22px; } .rs-mods .g { display: grid; gap: 10px; } .rs-mods .lab { font: 500 .72rem 'Geist Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--rs-mut); }
.rs-mods .cs { display: flex; flex-wrap: wrap; gap: 9px; } .rs-mods .cs span { display: inline-flex; gap: 8px; align-items: center; padding: .55rem 1rem; border-radius: 99px; background: #fff; border: 1px solid var(--rs-line); font-weight: 500; font-size: .93rem; transition: transform .25s, border-color .25s; } .rs-mods .cs span:hover { transform: translateY(-2px); border-color: var(--c); }
.rs-mods .cs span::before { content: ''; width: 15px; height: 15px; flex: none; background: var(--rs-ok); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.500l4.500 4.500L19 7.500'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.500l4.500 4.500L19 7.500'/%3E%3C/svg%3E") center/contain no-repeat; }
.rs-mods .cs.opt span::before { background: var(--c); } .rs-mods .cs.inc span { background: #e2f5ee; border-color: #bfe3d4; }
.rs-prov { display: inline-block; vertical-align: middle; margin-left: .7rem; padding: .25rem .7rem; border-radius: 99px; border: 1px dashed var(--c); color: var(--cd); font: 500 .7rem 'Geist Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.rs-quote { margin-top: 26px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 22px 26px; border: 1px dashed #8fb5ad; border-radius: 16px; background: #fff; } .rs-quote b { display: block; font-size: 1.12rem; letter-spacing: -.02em; } .rs-quote span { color: var(--rs-mut); font-size: .95rem; }
.rs-quote .btn { white-space: nowrap; background: #1fa855; border-color: #1fa855; color: #fff; font-weight: 600; } .rs-quote .btn:hover { background: #17924a; } .rs-quote .btn svg { width: 18px; height: 18px; } .rs-quote .btn span { color: #fff; font-size: inherit; }
@media (max-width: 700px) { .rs-quote { grid-template-columns: 1fr; } }
.rs-cross { text-align: center; margin-top: 28px; } .rs-cross a { color: var(--cd); text-decoration: underline; text-underline-offset: 4px; font-weight: 500; }
body.rs .rows em { color: var(--cd); }
html.still .rs-sky *, html.still .rs-float, html.still .rs-tape .tr, html.still .rs-flow .dot { animation: none !important; }
html.still .rs-sky .sun { opacity: .7; } html.still .rs-sky .moon { opacity: .6; }
@media (prefers-reduced-motion: reduce) { .rs-sky .sun, .rs-sky .moon, .rs-sky .stars, .rs-float, .rs-tape .tr, .rs-flow .dot, .rs-pill i, .rs-org .ar li::before { animation: none !important; } i.ch.pop { animation: none; opacity: 1; } }

/* ventana de escritorio en las pestañas de la portada */
.mk.h { --c: #0f766e; --mk-bg: #f4f8f6; --mk-bd: #d5e4e0; --mk-sb: #08272a; --mk-sbt: #9fd1c6; --mk-sba: #0f766e; --mk-sbat: #fff; }
.mk.h .mk-sb .br { background: #0f766e; }

.rs-ph .nt2 { padding: 11px 13px; border-radius: 14px; background: #fff; border: 1px solid var(--rs-line); display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; } .rs-ph .nt2 i { width: 30px; height: 30px; border-radius: 9px; background: #d1fae5; color: var(--c); display: grid; place-items: center; } .rs-ph .nt2 svg { width: 16px; height: 16px; } .rs-ph .nt2 b { display: block; font-size: 11.5px; } .rs-ph .nt2 small { color: var(--rs-mut); font-size: 10px; }

/* ====== v2: identidad de hospital ====== */
.rs-hero { min-height: 860px; background: linear-gradient(180deg, #05191d 0%, #072a2c 55%, #0b3a37 100%); }
.rs-pill i.cr { width: 12px; height: 12px; border-radius: 3px; background: none; box-shadow: none; position: relative; animation: none; }
.rs-pill i.cr::before, .rs-pill i.cr::after { content: ''; position: absolute; background: var(--cg); border-radius: 1px; }
.rs-pill i.cr::before { left: 4px; top: 0; width: 4px; height: 12px; } .rs-pill i.cr::after { left: 0; top: 4px; width: 12px; height: 4px; }
.rs-pill { animation: rsGlow 3s ease-in-out infinite; } @keyframes rsGlow { 0%, 100% { box-shadow: 0 0 0 0 rgba(134,224,181,0); } 50% { box-shadow: 0 0 22px 2px rgba(134,224,181,.28); } }
.rs-types { position: relative; z-index: 3; display: flex; flex-wrap: wrap; gap: 8px 10px; justify-content: center; margin-top: 22px; padding: 0 20px; }
.rs-types span { font: 500 .78rem 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: #a8e4cb; padding: 6px 12px; border-radius: 8px; border: 1px solid rgba(134,224,181,.22); background: rgba(5,40,38,.55); backdrop-filter: blur(4px); }
.rs-types span::before { content: '✚'; margin-right: 8px; color: var(--cg); font-size: .8em; }
.rs-skyline { position: absolute; left: 0; bottom: 0; width: 100%; height: 330px; opacity: .85; }
.rs-skyline .w { fill: #123f3c; } .rs-skyline .w.on { fill: #ffd98a; animation: rsWin 6s ease-in-out infinite; } @keyframes rsWin { 0%, 100% { opacity: .15; } 40%, 70% { opacity: .95; } }
.rs-skyline .sign { animation: rsSign 3.2s ease-in-out infinite; transform-box: fill-box; } @keyframes rsSign { 0%, 100% { opacity: .65; filter: drop-shadow(0 0 4px rgba(134,224,181,.3)); } 50% { opacity: 1; filter: drop-shadow(0 0 16px rgba(134,224,181,.9)); } }
.rs-stage { margin-top: 38px; }
.rs-sky .sun { animation-duration: 18s; } .rs-sky .moon { animation-duration: 18s; }

/* credenciales */
.rs-badges { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: 8px; }
.rs-badges .bd { position: relative; background: #fff; border: 1px solid var(--rs-line); border-radius: 18px; padding: 26px 14px 14px; display: grid; gap: 6px; justify-items: center; text-align: center; transform: rotate(var(--r)); transform-origin: 50% 0; transition: transform .45s var(--ease), box-shadow .3s; box-shadow: 0 30px 40px -30px rgba(6,60,55,.45); animation: rsBadge 6s ease-in-out infinite alternate; animation-delay: var(--d); }
@keyframes rsBadge { from { transform: rotate(calc(var(--r) - .8deg)); } to { transform: rotate(calc(var(--r) + .8deg)); } }
.rs-badges .bd:hover { animation: none; transform: rotate(0) translateY(-6px); box-shadow: 0 40px 50px -26px rgba(15,118,110,.6); }
.rs-badges .hole { position: absolute; top: 9px; left: 50%; width: 38px; height: 7px; margin-left: -19px; border-radius: 99px; background: var(--rs-paper); box-shadow: inset 0 1px 2px rgba(0,0,0,.25); }
.rs-badges .top { width: 100%; display: grid; gap: 2px; padding: 8px 0 10px; border-bottom: 1px dashed var(--rs-line); } .rs-badges .lg { display: inline-flex; gap: 5px; align-items: center; justify-content: center; font: 700 .62rem 'Geist Mono', monospace; letter-spacing: .18em; color: var(--c); } .rs-badges .lg svg { width: 11px; height: 11px; } .rs-badges .svc { font: 600 .6rem 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--rs-mut); }
.rs-badges .av { position: relative; width: 64px; height: 64px; margin-top: 6px; border-radius: 50%; display: grid; place-items: center; font: 700 1.1rem 'Geist', sans-serif; color: #fff; background: linear-gradient(140deg, #0f766e, #0b3a37); box-shadow: 0 0 0 4px #d6efe7; }
.rs-badges .mi { position: absolute; right: -6px; bottom: -4px; width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--c); display: grid; place-items: center; box-shadow: 0 2px 6px rgba(0,0,0,.25); } .rs-badges .mi svg { width: 14px; height: 14px; }
.rs-badges b { font-size: .92rem; letter-spacing: -.02em; line-height: 1.2; } .rs-badges small { color: var(--rs-mut); font-size: .76rem; line-height: 1.25; min-height: 2em; }
.rs-badges .ft { display: grid; gap: 7px; justify-items: center; width: 100%; padding-top: 8px; border-top: 1px dashed var(--rs-line); } .rs-badges .ft i.ch { width: 52px; height: 22px; }
.rs-badges .stt { display: inline-flex; gap: 6px; align-items: center; font: 600 .66rem 'Geist', sans-serif; color: #047857; } .rs-badges .stt i { width: 7px; height: 7px; border-radius: 50%; background: #10b981; animation: rsPulse 2.4s infinite; } .rs-badges .stt.off { color: var(--rs-mut); } .rs-badges .stt.off i { background: #94a3b8; animation: none; }
.rs-bmore { text-align: center; margin-top: 26px; font-family: var(--serif); font-size: 1.12rem; color: var(--rs-mut); }
@media (max-width: 1100px) { .rs-badges { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 640px) { .rs-badges { grid-template-columns: repeat(2, 1fr); gap: 10px; } .rs-badges .av { width: 54px; height: 54px; font-size: 1rem; } }

/* un día en el hospital */
.rs-hosp { background: radial-gradient(90% 60% at 50% 0%, #0c3a3c 0%, #071f24 60%, #051519 100%); color: #dcf4ec; position: relative; overflow: hidden; }
.rs-hosp .eyebrow { color: var(--cg); } .rs-hosp h2 { color: #fff; } .rs-hosp .lead { color: rgba(214,240,231,.8); }
.rs-hosp::before { content: ''; position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image: linear-gradient(rgba(134,224,181,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(134,224,181,.07) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: radial-gradient(70% 60% at 50% 40%, #000, transparent); mask-image: radial-gradient(70% 60% at 50% 40%, #000, transparent); }
.rs-day { position: relative; border: 1px solid rgba(134,224,181,.22); border-radius: 24px; padding: 18px; background: rgba(4,32,32,.6); backdrop-filter: blur(6px); box-shadow: 0 50px 90px -40px rgba(0,0,0,.8); transition: background .8s; }
.rs-day[data-s="0"] { background: rgba(14,16,50,.55); } .rs-day[data-s="1"] { background: rgba(40,36,10,.38); } .rs-day[data-s="2"] { background: rgba(48,24,8,.4); }
.rs-day .bar { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; }
.rs-day .clk { display: flex; gap: 12px; align-items: center; min-width: 150px; } .rs-day .clk .ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.08); color: #fbbf24; transition: color .5s; } .rs-day[data-s="0"] .ico { color: #a5b4fc; } .rs-day .ico svg { width: 24px; height: 24px; }
.rs-day .clk b { display: block; font: 700 1.7rem 'Geist Mono', monospace; letter-spacing: -.05em; color: #fff; line-height: 1; } .rs-day .clk small { font: 600 .7rem 'Geist Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--cg); }
.rs-day input[type=range] { width: 100%; accent-color: var(--cg); height: 26px; background: linear-gradient(90deg, #4f46e5 0 29%, #f59e0b 29% 54%, #fb923c 54% 79%, #4f46e5 79%); border-radius: 99px; appearance: none; -webkit-appearance: none; opacity: .9; } .rs-day input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 4px solid var(--c); box-shadow: 0 2px 10px rgba(0,0,0,.5); } .rs-day input[type=range]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid var(--c); }
.rs-day .rs-mini.play { background: var(--c); border-color: var(--c); color: #fff; min-width: 150px; } .rs-day .rs-mini.play.on { background: transparent; color: var(--cg); border-color: var(--cg); }
.rs-day .stats { display: flex; gap: 12px; margin: 16px 0 12px; } .rs-day .stats > div { flex: 1; padding: 12px 16px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); transition: background .4s, border-color .4s; } .rs-day .stats small { display: block; font: 600 .66rem 'Geist Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: #8fb9ae; } .rs-day .stats b { font: 700 1.9rem 'Geist Mono', monospace; letter-spacing: -.05em; color: #fff; }
.rs-day .stats > div.bad { background: rgba(239,68,68,.16); border-color: rgba(248,113,113,.5); } .rs-day .stats > div.bad b { color: #fca5a5; }
.rs-plan { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 14px; border-radius: 16px; background: repeating-linear-gradient(0deg, rgba(134,224,181,.05) 0 1px, transparent 1px 22px), rgba(3,22,24,.7); border: 1px dashed rgba(134,224,181,.28); }
.rs-plan .rm { position: relative; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); display: grid; gap: 10px; align-content: start; transition: background .4s, border-color .4s, opacity .4s; min-height: 120px; }
.rs-plan .rm .hd { display: flex; gap: 8px; align-items: center; } .rs-plan .rm .ic { width: 26px; height: 26px; border-radius: 8px; background: rgba(134,224,181,.14); color: var(--cg); display: grid; place-items: center; flex: none; } .rs-plan .rm .ic svg { width: 15px; height: 15px; } .rs-plan .rm b { font-size: .88rem; letter-spacing: -.01em; color: #fff; flex: 1; line-height: 1.15; } .rs-plan .rm .rcn { font: 700 .76rem 'Geist Mono', monospace; font-style: normal; color: #a8e4cb; }
.rs-plan .dots { display: flex; flex-wrap: wrap; gap: 5px; } .rs-plan .dt { width: 16px; height: 16px; border-radius: 50%; border: 1.5px dashed transparent; transition: background .35s, transform .35s var(--ease); transform: scale(0); } .rs-plan .dt.p { transform: scale(1); box-shadow: 0 0 10px -1px currentColor; } .rs-plan .dt.m { transform: scale(1); border-color: #f87171; animation: rsMiss 1.1s ease-in-out infinite; } @keyframes rsMiss { 50% { background: rgba(248,113,113,.4); } }
.rs-plan .tg { font: 600 .66rem 'Geist Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: #6ee7b7; }
.rs-plan .rm.short { background: rgba(239,68,68,.12); border-color: rgba(248,113,113,.6); box-shadow: 0 0 0 4px rgba(239,68,68,.1), 0 0 28px -6px rgba(239,68,68,.7); animation: rsAlert 1.6s ease-in-out infinite; } .rs-plan .rm.short .tg { color: #fca5a5; } .rs-plan .rm.short .rcn { color: #fca5a5; }
@keyframes rsAlert { 50% { box-shadow: 0 0 0 7px rgba(239,68,68,.06), 0 0 34px -4px rgba(239,68,68,.9); } }
.rs-plan .rm.closed { opacity: .38; } .rs-plan .rm.closed .tg { color: #8fb9ae; }
.rs-day .tip { margin-top: 14px; color: #8fb9ae; font-size: .82rem; }
@media (max-width: 1000px) { .rs-plan { grid-template-columns: repeat(2, 1fr); } .rs-day .bar { grid-template-columns: 1fr auto; } .rs-day .bar input { grid-column: 1 / -1; grid-row: 2; } }
@media (max-width: 560px) { .rs-plan { grid-template-columns: 1fr 1fr; padding: 8px; gap: 8px; } .rs-plan .rm { padding: 9px; min-height: 104px; } .rs-plan .rm b { font-size: .78rem; } .rs-plan .dt { width: 13px; height: 13px; } .rs-day .stats { flex-direction: column; gap: 8px; } .rs-day .clk { min-width: 0; } .rs-day .rs-mini.play { min-width: 0; padding: 0 10px; } }
@media (prefers-reduced-motion: reduce) { .rs-skyline .w.on, .rs-skyline .sign, .rs-badges .bd, .rs-plan .rm.short, .rs-plan .dt.m, .rs-pill { animation: none !important; } }
html.still .rs-skyline .w.on { opacity: .8; animation: none; }
