/* the sample recovery lab */
.lab{position:relative;max-width:760px;margin:0 auto;padding:120px clamp(18px,4vw,40px) 30px;background:linear-gradient(180deg,var(--sky-top),var(--sky-bot) 46%,var(--tojuri-white) 46%);border-radius:28px;box-shadow:0 0 0 1px rgba(35,64,95,.08),0 40px 70px -46px rgba(30,60,100,.5);overflow:hidden}
.lab .lcloud{position:absolute;left:50%;top:22px;width:150px;margin-left:-75px;animation:breathe 6s ease-in-out infinite}
.lab .lcloud img{width:100%;height:auto}
.nights{display:flex;justify-content:center;gap:clamp(8px,2vw,18px);margin:0 0 22px;flex-wrap:wrap}
.night{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:70px;padding:10px 10px 12px;border-radius:16px;border:0;background:rgba(255,255,255,.55);cursor:pointer;color:var(--ink);transition:background .4s,box-shadow .4s}
.night i{width:18px;height:18px;border-radius:50%;background:var(--tojuri-white);box-shadow:inset -5px -2px 0 0 var(--web-night)}
.night.today i{background:var(--mallow-lola-yellow);box-shadow:0 0 0 3px rgba(242,197,92,.25)}
.night b{font:450 20px/1 var(--display)}
.night span{font:500 14px/1 var(--sans);color:var(--ink-2)}
.night[aria-pressed="true"]{background:var(--tojuri-white);box-shadow:0 0 0 2px var(--ink)}
.lab input[type=range]{display:block;width:min(340px,80%);margin:0 auto 26px;accent-color:var(--ink)}
.files{list-style:none;padding:0;margin:0 auto;max-width:560px;border-top:1px solid var(--line)}
.files li{border-bottom:1px solid var(--line)}
.files button{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 8px;background:none;border:0;text-align:left;cursor:pointer;color:var(--body);border-radius:10px}
.files button[aria-pressed="true"]{background:var(--web-files-pressed)}
.files .ic{width:30px;height:36px;border-radius:5px;background:var(--web-rbk-file-ic);box-shadow:inset 0 0 0 1px var(--web-rbk-file-ic-2);position:relative}
.files .ic::after{content:"";position:absolute;right:0;top:0;width:10px;height:10px;background:linear-gradient(225deg,var(--tojuri-white) 50%,var(--web-rbk-file-ic-2) 50%)}
.files b{font:600 15px/1.3 var(--sans);color:var(--ink);display:block}
.files small{font-size:14px;color:var(--ink-2)}
.files .missing{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;padding:12px 8px;color:var(--ink-2);font-size:14.5px}
.files .missing .ic{opacity:.35;box-shadow:inset 0 0 0 1.5px var(--web-files-missing-ic);background:transparent}
.labfoot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:560px;margin:20px auto 0}
.labfoot .btn[disabled]{opacity:.35;cursor:not-allowed}
.labfoot .reset{background:none;border:0;color:var(--action);font:600 14px/1 var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.tray{max-width:560px;margin:18px auto 0;min-height:64px;border-radius:16px;background:var(--web-mist);display:flex;align-items:center;gap:14px;padding:12px 16px;color:var(--ink-2);font-size:14.5px}
.tray.done{background:var(--tojuri-mist);color:var(--protected)}
.tray b{color:var(--ink)}
.status{max-width:560px;margin:12px auto 0;font-size:14px;color:var(--ink-2);min-height:1.4em;text-align:center}
.flyer{position:absolute;z-index:3;padding:8px 12px;border-radius:10px;background:var(--tojuri-white);box-shadow:0 10px 24px -10px rgba(30,60,100,.45);font:600 13px/1 var(--sans);color:var(--ink);pointer-events:none}

/* the kit folds into Nana's envelope */
#fold{padding:0;height:260vh}
.rstick{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:110px var(--gut) 40px;overflow:hidden}
.rscene{position:relative;perspective:1600px}
.kit{position:absolute;left:50%;top:0;width:min(250px,58vw);transform-style:preserve-3d;transform:translateX(-50%)}
.kit .half{position:relative;height:calc(min(250px,58vw) * .62);background:var(--paper);padding:7% 8% 0;box-shadow:0 1px 0 rgba(0,0,0,.02),0 18px 40px -26px rgba(40,50,70,.45);backface-visibility:hidden}
.kit .top{border-radius:6px 6px 0 0}
.kit .bot{border-radius:0 0 6px 6px;transform-origin:50% 0;padding-top:4%}
.kit .bot::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,50,70,.06),rgba(40,50,70,0) 30%);pointer-events:none}
.kit .back{position:absolute;inset:0;background:var(--web-kit-back);border-radius:0 0 6px 6px;transform:rotateX(180deg);backface-visibility:hidden}
.kit h4{margin:0 0 2px;font:450 clamp(14px,1.4vw,17px)/1.2 var(--display);color:var(--ink);letter-spacing:-.01em}
.kit .k-sub{font-size:11px;color:var(--ink-3);margin-bottom:12%}
.kit .k-label{font:600 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.kit .code{font:500 clamp(10px,1.1vw,13px)/1.3 var(--mono);color:var(--ink);letter-spacing:.08em;filter:blur(2.2px);user-select:none}
.kit .smp{position:absolute;right:8%;top:8%;font:600 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--web-kitscene-paper-smp)}
.kit .lines i{display:block;height:5px;border-radius:3px;background:var(--web-kit-lines);margin:0 0 9px}
.env{position:absolute;left:50%;top:60%;width:min(290px,68vw);height:calc(min(290px,68vw) * .62);transform:translate(-50%,0)}
.env .eb{position:absolute;inset:0;border-radius:8px;background:var(--web-env-eb)}
.env .ef{position:absolute;inset:0;border-radius:8px;background:linear-gradient(180deg,var(--web-env-ef),var(--web-env-ef-2));clip-path:polygon(0 18%,50% 58%,100% 18%,100% 100%,0 100%);box-shadow:0 30px 50px -30px rgba(80,60,30,.5)}
.env .ef::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 40%)}
.env .shadowe{position:absolute;left:6%;right:6%;bottom:-18px;height:24px;border-radius:50%;background:radial-gradient(closest-side,rgba(80,60,30,.22),rgba(80,60,30,0))}
.nana{position:absolute;left:50%;top:0;height:min(38vh,320px);width:auto;opacity:0;display:block}
.nana>img{height:100%;width:auto;display:block}
.rlines{position:relative;max-width:1180px;width:100%;margin:0 auto;min-height:100px}
.rline{position:absolute;left:50%;bottom:0;width:min(44ch,92vw);margin:0 0 0 calc(min(44ch,92vw) / -2);text-align:center;font:450 clamp(17px,1.6vw,22px)/1.3 var(--display);letter-spacing:-.015em;color:var(--ink);opacity:0;transition:opacity .7s var(--ease),transform .9s var(--ease)}

.steps5{list-style:none;counter-reset:s;margin:0 auto;padding:0;max-width:760px}
.steps5 li{counter-increment:s;position:relative;padding:0 0 30px 64px}
.steps5 li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--sky-bot);display:grid;place-items:center;font:600 12px/1 var(--mono);color:var(--ink)}
.steps5 li::after{content:"";position:absolute;left:19px;top:46px;bottom:6px;width:2px;background:repeating-linear-gradient(180deg,rgba(35,64,95,.22) 0 5px,transparent 5px 10px)}
.steps5 li:last-child::after{display:none}
.steps5 b{display:block;font:450 19px/1.3 var(--display);color:var(--ink);margin:8px 0 4px}
.steps5 p{margin:0;font-size:15.5px}
.steps5 .sha{margin-top:8px;font-size:14px;color:var(--ink-2)}
.steps5 .sha code{word-break:break-all;line-height:1.9}
.steps5 code{font:500 14px/1 var(--mono);background:var(--web-rbk-file-ic);color:var(--ink);padding:4px 8px;border-radius:6px}
.keeps{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:760px;margin:0 auto}
.keeps div{padding:18px 20px;border-radius:16px;background:var(--mist)}
.keeps b{display:block;font:450 16px/1.3 var(--display);color:var(--ink);margin-bottom:6px}
.keeps p{margin:0;font-size:14.5px}
.proof{max-width:760px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.proof img{width:clamp(110px,13vw,160px);height:auto}
.proof p{margin:0 0 12px}
.bignum{font:450 clamp(40px,5vw,64px)/1 var(--display);letter-spacing:-.04em;color:var(--ink);text-align:center;margin:0 0 6px}
.bignum small{font:500 16px/1 var(--sans);letter-spacing:0;color:var(--ink-2)}
@media (max-width:760px){
  .keeps,.proof{grid-template-columns:1fr}
  .proof{justify-items:center;text-align:center}
  .nana{height:22vh}
  .rline{font-size:18px}
  .rstick{padding:96px 20px 28px}
}
@media (prefers-reduced-motion:reduce){.lab .lcloud{animation:none}}
.appcard{max-width:620px;margin-left:auto;margin-right:auto;border-radius:16px;background:var(--tojuri-white);box-shadow:0 0 0 1px rgba(35,64,95,.08),0 34px 70px -44px rgba(30,60,100,.55);overflow:hidden}
.appcard .bar{height:28px;display:flex;align-items:center;gap:7px;padding:0 12px;background:linear-gradient(180deg,var(--web-rv-mac-bar),var(--web-rv-mac-bar-2));border-bottom:1px solid var(--web-rv-mac-bar-3)}
.appcard .bar i{width:10px;height:10px;border-radius:50%;background:var(--web-checkcard-bar)}
.appcard img{width:100%;height:auto;display:block}
.appcard.wide{max-width:860px;padding:6px 10px}
.room .in > .appcard + .lede{margin-top:var(--gap-caption)}
.room .in > .lede + .appcard.wide{margin-top:var(--gap-caption)}
