.pn-page{max-width:1440px;margin:auto;padding:30px 56px 80px;color:#eef4ff;font-family:'DM Sans',system-ui,sans-serif;box-sizing:border-box}.pn-page *{box-sizing:border-box}.pn-page h1,.pn-page h2,.pn-page h3{font-family:'Bricolage Grotesque',sans-serif}.pn-page p{margin:0;color:#c9d4ea;line-height:1.55}.pn-hero{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:48px;align-items:center}.pn-hero-copy{display:flex;flex-direction:column;gap:22px}.pn-live{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:0 14px 0 12px;border-radius:17px;background:#172440;border:1px solid #34457a;font-size:12px;font-weight:800;letter-spacing:.14em}.pn-live i{width:9px;height:9px;border-radius:50%;background:#3ddc84;animation:pn-live 1.6s ease-out infinite}.pn-hero h1{margin:0;font-size:78px;line-height:1;letter-spacing:-.02em;font-weight:800}.pn-hero h1 span{color:#c4fa72}.pn-hero-copy>p{font-size:19px;max-width:560px}.pn-subscribe{display:flex;flex-direction:column;gap:8px;max-width:540px}.pn-subscribe>div{display:flex;gap:10px}.pn-subscribe input{flex:1;min-width:0;height:54px;border-radius:27px;border:1px solid #34457a;background:#111b32;color:#eef4ff;padding:0 20px;font:inherit;font-size:16px}.pn-subscribe button{height:54px;border-radius:27px;border:0;background:#c4fa72;color:#0b1030;font:inherit;font-weight:800;padding:0 24px;white-space:nowrap}.pn-subscribe small{font-size:12.5px;color:#a9bddc}.pn-subscription-status:empty{display:none}.pn-subscription-success{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 16px 10px 10px;border:1px solid #c4fa7273;border-radius:27px;background:#c4fa721f;font-size:15px}.pn-subscription-success span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#c4fa72;color:#0b1030}.pn-streak{border-radius:22px;border:1px solid #22305a;padding:20px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(90% 70% at 100% 0%,#c4fa721a,transparent 60%),#111b32}.pn-streak h2{margin:0;font-size:24px;line-height:1}.pn-streak>p{font-size:13px;color:#a9bddc}.pn-months{display:flex;justify-content:space-around;color:#a9bddc;font-size:12px}.pn-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);grid-auto-columns:minmax(0,1fr);gap:4px}.pn-day{height:14px;border-radius:4px}.pn-heat-0{background:#172440}.pn-heat-1{background:#c4fa7247}.pn-heat-2{background:#c4fa7285}.pn-heat-3{background:#c4fa72c2}.pn-heat-4{background:#c4fa72}.pn-today{outline:1px solid #fff;outline-offset:1px}.pn-streak-totals{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#a9bddc}.pn-streak-totals b{color:#eef4ff}.pn-legend{display:flex;justify-content:flex-end;align-items:center;gap:4px;font-size:12px;color:#a9bddc}.pn-legend i{width:11px;height:11px;border-radius:3px}.pn-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;margin-top:56px;align-items:start}.pn-feed{position:relative;display:flex;flex-direction:column;gap:18px;min-width:0}.pn-feed:before{content:'';position:absolute;left:20px;top:20px;bottom:20px;width:2px;background:linear-gradient(#22305a,#22305a 85%,transparent);z-index:-1}.pn-day-label{display:flex;align-items:center;gap:10px;margin:6px 0 2px;font-size:12px;color:#c9d4ea;letter-spacing:.12em}.pn-day-label:after{content:'';height:1px;background:#22305a;flex:1}.pn-timeline-post{position:relative;padding-left:52px;min-width:0}.pn-timeline-post:before{content:'';position:absolute;left:13px;top:30px;width:16px;height:16px;border-radius:50%;background:#0b1030;border:3px solid #c4fa72}.pn-team-dot:before{border-color:#ffdb59}.pn-post{border-radius:22px;background:#111b32;border:1px solid #22305a;padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}.pn-team{background:linear-gradient(135deg,#ffdb5912,transparent),#111b32;border-color:#ffdb593b}.pn-author{display:flex;align-items:center;gap:12px}.pn-author img,.pn-initials{width:42px;height:42px;object-fit:cover;border-radius:10px;flex-shrink:0;box-shadow:0 0 0 2px #22305a}.pn-initials{display:grid;place-items:center;background:#c4fa72;color:#0b1030;font-weight:800}.pn-author>div{min-width:0;display:flex;flex-direction:column;gap:3px}.pn-author-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}.pn-badge,.pn-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:800;letter-spacing:.08em;border-radius:6px;padding:2px 7px;min-height:20px}.pn-sky{border:1px solid #56c8f2;color:#56c8f2}.pn-gold{border:1px solid #ffdb59;color:#ffdb59}.pn-author small{font-size:12px;color:#a9bddc;overflow-wrap:anywhere}.pn-mono{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace}.pn-tags{display:flex;flex-wrap:wrap;gap:6px}.pn-tag{background:#7fe0c4;color:#0b1030;min-height:22px;border-radius:8px;padding:2px 8px}.pn-tag[data-tag='NEW DROP']{background:#c4fa72}.pn-tag[data-tag='FIXED']{background:#ff8275}.pn-tag[data-tag='GLOW-UP']{background:#b79aff}.pn-tag[data-tag='SPEED BOOST']{background:#56c8f2}.pn-tag[data-tag='BEHIND THE SCENES']{background:#ffdb59}.pn-post h3{margin:0;font-size:26px;line-height:1.12;overflow-wrap:anywhere}.pn-body{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.pn-post-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pn-copy{margin-left:auto;width:44px;height:44px;border-radius:22px;border:1px solid #34457a;background:#172440;color:#c9d4ea;font-size:18px}.pn-button,.pn-details summary,.pn-older{min-height:44px;border-radius:22px;border:1px solid #34457a;background:#172440;color:#eef4ff;font:inherit;font-size:14px;font-weight:700;padding:10px 14px;cursor:pointer}.pn-details{display:flex;flex-wrap:wrap}.pn-details summary{width:max-content;color:#eef4ff}.pn-code-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:13px;color:#a9bddc}.pn-add{color:#3ddc84}.pn-delete{color:#ff8275}.pn-ratio{display:flex;gap:2px}.pn-ratio i{width:9px;height:9px;border-radius:2px;background:currentColor}.pn-commits{margin-top:14px;border-radius:14px;background:#0b1030;border:1px solid #22305a;overflow:hidden}.pn-commits h4{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:0;padding:10px 14px;background:#0e1636;font-size:12px;letter-spacing:.1em;color:#a9bddc}.pn-commits h4 small{letter-spacing:0;font-weight:500}.pn-commit{display:flex;gap:12px;padding:9px 14px;border-top:1px solid #1c2748;font:13px/1.4 ui-monospace,monospace}.pn-commit code{color:#56c8f2;flex-shrink:0}.pn-commit span{min-width:0;overflow-wrap:anywhere}.pn-private{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:22px;background:#172440;border:1px dashed #34457a;color:#a9bddc;font-size:13px;font-weight:700}.pn-team-signature{font-size:13px;color:#ffdb59}.pn-older{align-self:center;min-height:50px;border-radius:25px;padding:0 24px;font-size:15px}.pn-remaining{text-align:center;font:13px ui-monospace,monospace;color:#a9bddc}.pn-day-one{border-radius:22px;padding:20px;border:1px solid #c4fa7266;background:linear-gradient(135deg,#c4fa7229,#56c8f21a 55%,#ff82751a),#111b32;display:flex;flex-direction:column;gap:6px}.pn-day-one small{font-size:12px;color:#c4fa72;font-weight:800;letter-spacing:.14em}.pn-day-one h3{font-size:22px;margin:0}.pn-sidebar{display:flex;flex-direction:column;gap:18px}.pn-filters{display:flex;flex-direction:column;gap:8px;border:1px solid #22305a;border-radius:22px;background:#111b32;padding:16px}.pn-filter{font:inherit;font-size:14px;font-weight:700;text-align:left;min-height:44px;padding:10px 14px;border-radius:22px;border:1px solid #34457a;color:#c9d4ea;background:#172440;cursor:pointer}.pn-filter[aria-pressed=true]{color:#0b1030;background:#eef4ff;border-color:#eef4ff}.pn-how{padding:22px;border-radius:22px;background:#111b32;border:1px solid #22305a;display:flex;flex-direction:column;gap:18px}.pn-how h2{margin:0;font-size:24px}.pn-how h3{margin:0 0 6px;font-size:18px}.pn-how p{font-size:14px}.pn-signature{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #22305a}.pn-signature img{flex-shrink:0}.pn-back{color:#56c8f2;min-height:44px;display:flex;align-items:center}.pn-toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);border:1px solid #c4fa72;background:#172440;color:#eef4ff;border-radius:22px;padding:12px 20px;z-index:10000;font:14px 'DM Sans',sans-serif}.pn-page :is(button,input,summary):focus-visible{outline:3px solid #56c8f2;outline-offset:3px}.pn-page button:disabled{opacity:.6;cursor:wait}
@keyframes pn-live{50%{box-shadow:0 0 0 6px #3ddc8400}}
@media(max-width:1100px){.pn-page{padding:20px 24px 100px}.pn-hero{grid-template-columns:minmax(0,1fr) 420px;gap:24px}.pn-hero h1{font-size:60px}.pn-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}}
@media(max-width:760px){.pn-page{padding:14px 16px 120px}.pn-hero{display:flex;flex-direction:column;align-items:stretch;gap:22px}.pn-hero-copy{gap:16px}.pn-hero h1{font-size:44px}.pn-hero-copy>p{font-size:16px}.pn-subscribe>div{flex-direction:column}.pn-streak{padding:16px}.pn-streak h2{font-size:20px}.pn-phone-hide{display:none}.pn-grid{grid-template-rows:repeat(7,14px)}.pn-layout{display:flex;flex-direction:column;margin-top:22px;gap:22px}.pn-sidebar{display:contents}.pn-filters{order:-1;flex-direction:row;overflow-x:auto;border:0;border-radius:0;padding:0;width:100%;background:transparent}.pn-filter{flex-shrink:0;white-space:nowrap}.pn-how{display:none}.pn-feed{width:100%;gap:14px}.pn-feed:before,.pn-timeline-post:before{display:none}.pn-timeline-post{padding:0}.pn-post{padding:18px 16px}.pn-post h3{font-size:22px}.pn-author img,.pn-initials{width:38px;height:38px;border-radius:9px}.pn-commit{gap:10px}.pn-live{font-size:12px;letter-spacing:.1em}.pn-streak-totals{gap:10px}.pn-day-one{padding:18px 16px}}
@media(prefers-reduced-motion:reduce){.pn-live i{animation:none}}
body[data-page=patch-notes]{margin:0;background:#0b1030;color:#eef4ff;font-family:'DM Sans',system-ui,sans-serif}body[data-page=patch-notes]>header{height:84px;max-width:1440px;margin:auto;padding:0 56px;display:flex;align-items:center;gap:28px;box-sizing:border-box}body[data-page=patch-notes]>header>.site-menu{margin-left:auto}
@media(max-width:760px){body[data-page=patch-notes]>header{height:64px;padding:0 12px 0 16px;gap:8px}body[data-page=patch-notes]>header>.rv-site-logo{flex:1 1 0!important;min-width:0!important;width:auto!important}body[data-page=patch-notes]>header>.rv-site-logo img{width:min(132px,100%)!important;max-width:100%!important;height:32px!important;object-fit:contain!important}}
.pn-streak-heading{display:flex;gap:10px;align-items:center}.pn-streak-heading>div{min-width:0}.pn-streak-heading p{font-size:13px;color:#a9bddc}.pn-flame{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#ff8275;color:#0b1030;box-shadow:0 4px 0 #c9574c}.pn-streak-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.pn-streak-totals>span{display:flex;flex-direction:column;gap:2px}.pn-streak-totals b{font-size:18px}.pn-copy{display:grid;place-items:center;padding:0}.pn-copy svg{width:17px;height:17px}.pn-details-toggle{display:inline-flex;align-items:center;gap:8px}.pn-details-toggle svg{width:16px;height:16px;flex-shrink:0}.pn-details-toggle svg:first-child{color:#56c8f2}.pn-details-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.pn-commits[hidden]{display:none}.pn-code-stats,.pn-commits{margin-top:0}

.pn-page .pn-subscribe input,.pn-page .pn-subscribe button{min-height:54px;flex-shrink:0}.pn-page .pn-subscribe input{height:54px}

/* Three-dot progress; reduced motion stays static. */
.pn-loading{display:flex;justify-content:center;align-items:center;min-height:120px}.pn-loading>span{display:flex;gap:8px}.pn-loading i{width:8px;height:8px;border-radius:50%;background:#c4fa72;animation:pn-dot 1s ease-in-out infinite}.pn-loading i:nth-child(2){background:#56c8f2;animation-delay:.15s}.pn-loading i:nth-child(3){background:#ff8275;animation-delay:.3s}@keyframes pn-dot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.pn-loading i{animation:none;opacity:1}}

.pn-streak-totals{column-gap:28px;row-gap:16px;align-items:flex-start}.pn-streak-totals>span{gap:5px;min-width:60px}.pn-streak-totals b{font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:760px){.pn-streak-totals{column-gap:20px;row-gap:12px}.pn-streak-bottom{flex-wrap:wrap}.pn-legend{margin-inline-start:auto}}
