/* Retrofit Rally PS-4D — additive Neighbourhood Retrofit capstone */
.rr-portfolio[hidden]{display:none!important}
.rr-shell[data-capstone="1"]{max-width:1180px}
.rr-shell[data-capstone="1"] .rr-panel{background:linear-gradient(145deg,rgba(9,25,46,.97),rgba(8,18,35,.94));border-color:rgba(105,229,190,.24);box-shadow:0 28px 80px rgba(1,7,17,.72),inset 0 1px rgba(255,255,255,.035)}
.rr-portfolio{color:#dce8f8}
.rr-portfolio strong{color:#f7fbff}
.rr-p-eyebrow,.rr-p-building small,.rr-p-plan-building header small{display:block;margin:0 0 .2rem;color:#8faac9;font-size:.69rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.rr-p-before-callout{position:relative;overflow:hidden;margin:1rem 0;padding:1rem 1.1rem 1rem 5.2rem;border:1px solid rgba(245,185,66,.28);border-radius:16px;background:linear-gradient(105deg,rgba(245,185,66,.12),rgba(15,35,60,.5))}
.rr-p-before-callout:before{content:"01";position:absolute;left:1rem;top:50%;translate:0 -50%;color:rgba(245,185,66,.26);font-size:2.5rem;font-weight:900;letter-spacing:-.08em}
.rr-p-before-callout span{display:block;color:#f5b942;font-size:.67rem;font-weight:850;letter-spacing:.18em}
.rr-p-before-callout strong{display:block;margin:.15rem 0;font-size:1.1rem}
.rr-p-before-callout p{margin:0;color:#b8c9df;font-size:.9rem}
.rr-p-shared{display:flex;align-items:center;gap:.8rem;margin:1rem 0;padding:.9rem 1rem;border:1px solid rgba(91,219,175,.38);border-radius:16px;background:linear-gradient(100deg,rgba(31,164,125,.2),rgba(9,32,54,.8));box-shadow:0 12px 28px rgba(0,0,0,.2)}
.rr-p-shared>span{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:50%;background:#4adea4;color:#06281e;font-size:1.45rem;font-weight:900;box-shadow:0 0 24px rgba(74,222,164,.3)}
.rr-p-shared p{margin:0 0 .12rem;color:#7ef0c8;font-size:.68rem;font-weight:850;letter-spacing:.15em}
.rr-p-shared strong{font-size:1rem}
.rr-p-preview-grid{display:grid;grid-template-columns:1fr;gap:.8rem;margin:1.1rem 0}
.rr-p-building{position:relative;display:grid;grid-template-columns:48px 1fr;gap:.75rem;min-width:0;padding:1rem;border:1px solid rgba(126,170,220,.2);border-radius:17px;background:linear-gradient(145deg,rgba(19,43,73,.9),rgba(9,25,45,.8));box-shadow:0 12px 30px rgba(0,0,0,.18)}
.rr-p-building:after{content:"";position:absolute;inset:auto 1rem 0;height:2px;background:linear-gradient(90deg,#4adea4,transparent);opacity:.65}
.rr-p-building__icon{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border:1px solid rgba(126,240,200,.2);border-radius:14px;background:rgba(74,222,164,.1);font-size:1.45rem}
.rr-p-building h3{margin:0 0 .3rem;color:#f7fbff;font-size:1.05rem;line-height:1.2}
.rr-p-building p{margin:0;color:#b7c8de;font-size:.86rem;line-height:1.45}
.rr-p-building .rr-p-mini{grid-column:1/-1}
.rr-p-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:.8rem 0 0;padding:0;list-style:none}
.rr-p-mini li{min-width:0;padding:.48rem .35rem;border:1px solid rgba(143,180,219,.14);border-radius:10px;background:rgba(3,13,26,.38);text-align:center}
.rr-p-mini span{display:block;overflow:hidden;color:#88a2c0;font-size:.59rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.rr-p-mini b{display:block;margin-top:.15rem;color:#f4f9ff;font-size:.9rem}

/* Diagnosis */
.rr-p-diagnosis-grid{display:grid;grid-template-columns:1fr;gap:.85rem;margin:1.1rem 0}
.rr-p-diagnosis{width:100%;min-height:48px;padding:1rem;border:1px solid rgba(126,170,220,.23);border-radius:18px;background:linear-gradient(145deg,rgba(20,45,76,.94),rgba(7,23,43,.92));color:#dce8f8;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.rr-p-diagnosis:hover{border-color:rgba(126,240,200,.5);transform:translateY(-2px)}
.rr-p-diagnosis:focus-visible,.rr-p-upgrade:focus-visible,.rr-p-priority:focus-visible{outline:3px solid #f5b942;outline-offset:3px}
.rr-p-diagnosis.is-inspected{border-color:rgba(74,222,164,.62);box-shadow:0 12px 32px rgba(17,133,99,.13),inset 0 0 0 1px rgba(74,222,164,.1)}
.rr-p-diagnosis__top{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:.7rem}
.rr-p-diagnosis__top small{display:block;color:#8ca6c5;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.rr-p-diagnosis__top strong{display:block;margin-top:.14rem;font-size:1rem}
.rr-p-diagnosis__state{align-self:start;padding:.28rem .5rem;border-radius:999px;background:rgba(245,185,66,.12);color:#f6cc77;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.rr-p-diagnosis.is-inspected .rr-p-diagnosis__state{background:rgba(74,222,164,.14);color:#7ef0c8}
.rr-p-diagnosis__problem{display:block;margin:.75rem 0;padding:.6rem .7rem;border-left:3px solid #f5b942;border-radius:0 8px 8px 0;background:rgba(245,185,66,.07);color:#d8e4f3;font-size:.86rem;line-height:1.4}
.rr-p-diagnosis__voices{display:grid;gap:.45rem}
.rr-p-diagnosis blockquote{margin:0;padding:.65rem .7rem;border:1px solid rgba(132,172,218,.13);border-radius:11px;background:rgba(3,13,27,.38)}
.rr-p-diagnosis blockquote p{margin:0;color:#b9cae0;font-size:.81rem;line-height:1.4}
.rr-p-diagnosis blockquote cite{display:block;margin-top:.25rem;color:#7ef0c8;font-size:.69rem;font-style:normal;font-weight:750}
.rr-p-diagnosis__finding{display:none;margin:.8rem 0 0;padding:.7rem;border:1px solid rgba(74,222,164,.28);border-radius:11px;background:rgba(42,178,133,.09);color:#d9f8ed;font-size:.82rem;line-height:1.4}
.rr-p-diagnosis__finding b{display:block;margin-bottom:.15rem;color:#7ef0c8;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}
.rr-p-diagnosis.is-inspected .rr-p-diagnosis__finding{display:block}
.rr-p-meters{display:grid;gap:.48rem;margin:.8rem 0 0}
.rr-p-meter{display:grid;grid-template-columns:minmax(105px,.9fr) minmax(78px,1.3fr) 30px;align-items:center;gap:.45rem}
.rr-p-meter span:first-child b{display:block;color:#dbe8f8;font-size:.7rem}
.rr-p-meter span:first-child small{display:block;color:#7893b2;font-size:.55rem}
.rr-p-meter__track{overflow:hidden;height:6px;border-radius:99px;background:#172c47}
.rr-p-meter__track i{display:block;height:100%;border-radius:inherit;background:#4adea4;transition:width .35s}
.rr-p-meter--energy .rr-p-meter__track i{background:#65a9ff}
.rr-p-meter--carbon .rr-p-meter__track i{background:#b785ef}
.rr-p-meter--cost .rr-p-meter__track i{background:#f5b942}
.rr-p-meter>strong{font-size:.72rem;text-align:right}

/* Priority and shared-budget plan */
.rr-p-priority-wrap,.rr-p-buildings{margin:1rem 0}
.rr-p-priority-wrap>h3,.rr-p-buildings>h3{margin:0 0 .7rem;color:#dce8f8;font-size:.95rem}
.rr-p-priorities{display:grid;grid-template-columns:1fr;gap:.65rem}
.rr-p-priority{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:.1rem .65rem;min-height:68px;padding:.8rem;border:1px solid rgba(126,170,220,.22);border-radius:15px;background:rgba(14,36,63,.78);color:#e9f2fe;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.rr-p-priority:hover{transform:translateY(-1px);border-color:rgba(126,240,200,.42)}
.rr-p-priority>span{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:rgba(245,185,66,.1);font-size:1.25rem}
.rr-p-priority b{font-size:.84rem;line-height:1.25}
.rr-p-priority small{color:#91aac8;font-size:.69rem;line-height:1.35}
.rr-p-priority.is-selected{border-color:#4adea4;background:linear-gradient(135deg,rgba(44,165,126,.22),rgba(15,38,65,.9));box-shadow:inset 0 0 0 1px rgba(74,222,164,.18)}
.rr-p-priority.is-selected b:after{content:" ✓";color:#7ef0c8}
.rr-p-budget{position:sticky;z-index:8;top:4.5rem;display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:.7rem;margin:1.1rem -.35rem;padding:.78rem .85rem;border:1px solid rgba(245,185,66,.5);border-radius:15px;background:rgba(7,21,40,.96);box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 20px rgba(245,185,66,.06);backdrop-filter:blur(12px)}
.rr-p-budget span:first-child small{display:block;color:#f6c967;font-size:.58rem;font-weight:850;letter-spacing:.11em}
.rr-p-budget span:first-child strong{display:block;font-size:.92rem}
.rr-p-budget__track{overflow:hidden;height:8px;border-radius:99px;background:#263650}
.rr-p-budget__track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4adea4,#f5b942);transition:width .3s}
.rr-p-budget>span:last-child{color:#9eb4cf;font-size:.67rem;text-align:right}
.rr-p-budget>span:last-child b{color:#f4f8ff}
.rr-p-buildings{display:grid;grid-template-columns:1fr;gap:1rem}
.rr-p-buildings>h3{grid-column:1/-1;margin-bottom:-.25rem}
.rr-p-plan-building{min-width:0;padding:1rem;border:1px solid rgba(126,170,220,.2);border-radius:18px;background:linear-gradient(150deg,rgba(20,44,74,.9),rgba(7,23,42,.86));box-shadow:0 14px 34px rgba(0,0,0,.18)}
.rr-p-plan-building header{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:.7rem}
.rr-p-plan-building h3{margin:0;color:#f7fbff;font-size:1rem}
.rr-p-invested{padding:.25rem .45rem;border-radius:8px;background:rgba(74,222,164,.1);color:#7ef0c8;font-size:.65rem;font-weight:800}
.rr-p-sequence{margin:.75rem 0;padding:.55rem .65rem;border:1px dashed rgba(245,185,66,.35);border-radius:10px;background:rgba(245,185,66,.06);color:#b8c9df;font-size:.72rem;line-height:1.4}
.rr-p-sequence b{color:#f5c768}
.rr-p-upgrades{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:.8rem}
.rr-p-upgrade{position:relative;min-height:112px;padding:.75rem;border:1px solid rgba(132,172,218,.19);border-radius:13px;background:rgba(5,18,35,.58);color:#dce8f8;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.rr-p-upgrade:hover:not(:disabled){border-color:rgba(126,240,200,.45);transform:translateY(-1px)}
.rr-p-upgrade:disabled{opacity:.4;cursor:not-allowed}
.rr-p-upgrade.is-selected{border-color:#4adea4;background:linear-gradient(135deg,rgba(28,138,105,.22),rgba(6,23,40,.76));box-shadow:inset 0 0 0 1px rgba(74,222,164,.12)}
.rr-p-upgrade__top{display:flex;justify-content:space-between;gap:.6rem}
.rr-p-upgrade__top small{display:block;color:#7ef0c8;font-size:.56rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.rr-p-upgrade__top strong{display:block;margin-top:.13rem;font-size:.76rem;line-height:1.25}
.rr-p-upgrade__top>b{flex:none;color:#f5c768;font-size:.7rem}
.rr-p-upgrade__solve{display:block;margin-top:.42rem;color:#93aac5;font-size:.64rem;line-height:1.35}
.rr-p-upgrade__fx{display:block;margin-top:.4rem;color:#cfdef0;font-size:.61rem;font-weight:750;line-height:1.35}
.rr-p-upgrade__order{display:inline-block;margin-top:.43rem;padding:.18rem .35rem;border-radius:5px;background:#4adea4;color:#06231a;font-size:.55rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.rr-p-plan-status{display:grid;gap:.25rem;margin:1rem 0;padding:.8rem .9rem;border-left:3px solid #f5b942;border-radius:0 12px 12px 0;background:rgba(245,185,66,.07)}
.rr-p-plan-status b{font-size:.82rem}
.rr-p-plan-status span{color:#9fb4ce;font-size:.67rem;line-height:1.45}

/* Celebration and portfolio result */
.rr-portfolio-result{overflow:hidden}
.rr-p-celebration{position:relative;isolation:isolate;overflow:hidden;margin:-.2rem -.2rem 1.1rem;padding:2rem 1rem 1.5rem;border:1px solid rgba(126,240,200,.32);border-radius:20px;background:radial-gradient(circle at 50% -10%,rgba(126,240,200,.32),transparent 45%),linear-gradient(135deg,#123e46,#0b213b 55%,#151d3a);text-align:center;box-shadow:0 20px 60px rgba(3,13,27,.45)}
.rr-p-celebration:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(126,240,200,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(126,240,200,.05) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(#000,transparent)}
.rr-p-mastered{display:inline-block;margin:0 0 .7rem;padding:.32rem .62rem;border:1px solid rgba(126,240,200,.42);border-radius:999px;background:rgba(5,28,31,.5);color:#7ef0c8;font-size:.67rem;font-weight:900;letter-spacing:.16em}
.rr-p-celebration .rr-h2{margin-bottom:.45rem;font-size:clamp(2rem,7vw,3.5rem);text-wrap:balance}
.rr-p-celebration>p:not(.rr-p-mastered){max-width:680px;margin:.2rem auto;color:#c6d7ea;line-height:1.55}
.rr-p-neighbourhood{position:relative;display:flex;justify-content:center;align-items:end;gap:.45rem;height:90px;margin:1.2rem auto 0}
.rr-p-neighbourhood span{position:relative;z-index:2;display:grid;width:70px;height:68px;place-items:center;border:1px solid rgba(126,240,200,.3);border-radius:13px 13px 5px 5px;background:linear-gradient(#1f5e5f,#153550);font-size:2rem;box-shadow:0 12px 30px rgba(0,0,0,.3);animation:rr-p-rise .8s cubic-bezier(.2,.8,.2,1) both}
.rr-p-neighbourhood span:nth-child(2){width:82px;height:82px;animation-delay:.12s}
.rr-p-neighbourhood span:nth-child(3){animation-delay:.24s}
.rr-p-neighbourhood b{position:absolute;z-index:1;bottom:2px;width:min(360px,90%);height:12px;border-radius:50%;background:#4adea4;filter:blur(7px);opacity:.35}
.rr-p-confetti{position:absolute;pointer-events:none;inset:0}
.rr-p-confetti i{position:absolute;top:-15px;left:calc(5% + var(--i)*5.1%);width:7px;height:14px;border-radius:2px;background:#f5b942;animation:rr-p-confetti 2.5s calc(var(--i)*-.08s) ease-in infinite;opacity:.85}
.rr-p-confetti i:nth-child(3n){background:#4adea4;rotate:38deg}
.rr-p-confetti i:nth-child(3n+1){background:#7aaeff;rotate:-28deg}
.rr-p-score-card{display:grid;grid-template-columns:94px 1fr;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid rgba(245,185,66,.27);border-radius:18px;background:linear-gradient(110deg,rgba(245,185,66,.11),rgba(16,38,65,.78))}
.rr-p-score-ring{display:grid;width:92px;height:92px;place-content:center;border:7px solid rgba(245,185,66,.2);border-top-color:#f5b942;border-right-color:#4adea4;border-radius:50%;text-align:center;box-shadow:0 0 30px rgba(245,185,66,.12)}
.rr-p-score-ring strong{font-size:1.8rem;line-height:1}
.rr-p-score-ring span{color:#95abc5;font-size:.65rem}
.rr-p-score-card h2{margin:0 0 .25rem;color:#f6faff;font-size:1.2rem}
.rr-p-score-card p:last-child{margin:0;color:#9fb4cd;font-size:.78rem}
.rr-p-result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0;padding:0;list-style:none}
.rr-p-result-metrics li{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:68px;padding:.72rem;border:1px solid rgba(132,172,218,.19);border-radius:13px;background:rgba(7,22,41,.67)}
.rr-p-result-metrics li:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#4adea4}
.rr-p-result-metrics .is-energy:before{background:#65a9ff}.rr-p-result-metrics .is-carbon:before{background:#b785ef}.rr-p-result-metrics .is-cost:before{background:#f5b942}.rr-p-result-metrics .is-satisfaction:before{background:#ff819e}
.rr-p-result-metrics span{color:#d5e3f4;font-size:.69rem;font-weight:750}
.rr-p-result-metrics small{display:block;margin-top:.1rem;color:#7892b0;font-size:.55rem;font-weight:500}
.rr-p-result-metrics strong{font-size:1.15rem}
.rr-p-bonuses{margin:1rem 0}
.rr-p-transformation{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.55rem;margin:1.1rem 0}
.rr-p-transformation>span{align-self:center;color:#7ef0c8;font-size:1.4rem;font-weight:900}
.rr-p-state{padding:.8rem;border:1px solid rgba(132,172,218,.2);border-radius:14px;background:rgba(8,23,41,.7)}
.rr-p-state small{display:block;margin-bottom:.2rem;color:#8da6c3;font-size:.6rem;font-weight:850;letter-spacing:.13em}
.rr-p-state strong{display:block;font-size:.86rem}
.rr-p-state p{margin:.22rem 0 0;color:#8ca5c3;font-size:.66rem}
.rr-p-state--after{border-color:rgba(74,222,164,.44);background:linear-gradient(135deg,rgba(34,148,113,.18),rgba(8,27,45,.78))}
.rr-p-state--after small{color:#7ef0c8}
.rr-p-results,.rr-p-residents,.rr-p-why{margin:1.2rem 0;padding-top:1rem;border-top:1px solid rgba(132,172,218,.16)}
.rr-p-results>h2,.rr-p-residents h2,.rr-p-why h2{margin:0 0 .75rem;color:#f2f7ff;font-size:1.13rem}
.rr-p-result-grid{display:grid;grid-template-columns:1fr;gap:.7rem}
.rr-p-result-building{min-width:0;padding:.85rem;border:1px solid rgba(132,172,218,.18);border-radius:14px;background:rgba(11,31,54,.72)}
.rr-p-result-building header{display:flex;align-items:center;gap:.6rem}
.rr-p-result-building header>span{font-size:1.5rem}
.rr-p-result-building h3{margin:0;color:#f3f8ff;font-size:.9rem}
.rr-p-result-building header p{margin:.18rem 0 0;color:#91a8c4;font-size:.61rem;line-height:1.35}
.rr-p-sequence-result{margin:.65rem 0 0;padding:.45rem .5rem;border-radius:8px;background:rgba(245,185,66,.08);color:#e2c987;font-size:.62rem;line-height:1.35}
.rr-p-sequence-result.is-hit{background:rgba(74,222,164,.09);color:#8debc9}
.rr-p-resident-grid{display:grid;grid-template-columns:1fr;gap:.55rem}
.rr-p-resident{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:.65rem;padding:.7rem;border:1px solid rgba(132,172,218,.17);border-radius:12px;background:rgba(7,23,42,.64)}
.rr-p-resident.is-heard{border-color:rgba(74,222,164,.28)}
.rr-p-resident__score{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#183652;color:#dce8f8;font-size:.83rem;font-weight:900}
.rr-p-resident.is-heard .rr-p-resident__score{background:rgba(74,222,164,.18);color:#8df1cd}
.rr-p-resident small{display:block;color:#7e98b7;font-size:.55rem;text-transform:uppercase}
.rr-p-resident h4{margin:.08rem 0;color:#f3f8ff;font-size:.78rem}
.rr-p-resident p{margin:0;color:#9cb2cc;font-size:.64rem;line-height:1.35}
.rr-p-mastery{display:grid;grid-template-columns:54px 1fr;gap:.8rem;margin:1.2rem 0;padding:1rem;border:1px solid rgba(245,185,66,.3);border-radius:17px;background:linear-gradient(135deg,rgba(245,185,66,.09),rgba(14,33,58,.75))}
.rr-p-mastery.is-earned{border-color:rgba(74,222,164,.55);background:radial-gradient(circle at 0 0,rgba(74,222,164,.2),transparent 40%),linear-gradient(135deg,rgba(26,103,86,.32),rgba(12,29,51,.82));box-shadow:0 18px 45px rgba(19,138,104,.13)}
.rr-p-mastery__badge{display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(245,185,66,.4);border-radius:50%;background:rgba(245,185,66,.11);color:#f5c96e;font-size:1.5rem}
.rr-p-mastery.is-earned .rr-p-mastery__badge{border-color:#4adea4;background:rgba(74,222,164,.15);color:#7ef0c8;box-shadow:0 0 22px rgba(74,222,164,.24)}
.rr-p-mastery h2{margin:0 0 .35rem;color:#f7fbff;font-size:1.2rem}
.rr-p-mastery p:not(.rr-kicker){margin:.2rem 0;color:#b4c6dc;font-size:.75rem;line-height:1.5}
.rr-p-mastery-list{display:grid;grid-template-columns:1fr;gap:.28rem;margin:.75rem 0 0;padding:0;list-style:none}
.rr-p-mastery-list li{display:flex;gap:.4rem;color:#9db1c9;font-size:.68rem}
.rr-p-mastery-list li span{color:#708ba9}.rr-p-mastery-list li.is-met{color:#c8f3e4}.rr-p-mastery-list li.is-met span{color:#4adea4}
.rr-p-why p{margin:0;color:#a7bad1;font-size:.74rem;line-height:1.55}
.rr-mapcard--s5.is-mastered{border-color:rgba(74,222,164,.66);background:radial-gradient(circle at 92% 10%,rgba(74,222,164,.18),transparent 40%),linear-gradient(145deg,rgba(20,61,69,.94),rgba(8,25,45,.95));box-shadow:0 16px 40px rgba(17,136,103,.18)}
.rr-mapcard__building--district{filter:drop-shadow(0 8px 9px rgba(0,0,0,.38))}

@keyframes rr-p-rise{from{opacity:0;transform:translateY(28px) scale(.9)}to{opacity:1;transform:none}}
@keyframes rr-p-confetti{0%{opacity:0;transform:translate3d(0,-15px,0) rotate(0)}10%{opacity:.9}100%{opacity:0;transform:translate3d(calc((var(--i) - 9)*2px),310px,0) rotate(520deg)}}

@media (min-width:650px){
  .rr-p-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rr-p-building{grid-template-columns:42px 1fr;padding:.85rem}.rr-p-building__icon{width:42px;height:42px}
  .rr-p-diagnosis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-p-diagnosis{padding:.85rem}.rr-p-diagnosis__top{grid-template-columns:42px 1fr}.rr-p-diagnosis__state{grid-column:1/-1;justify-self:start}.rr-p-meter{grid-template-columns:85px minmax(55px,1fr) 26px}.rr-p-meter span:first-child small{display:none}
  .rr-p-priorities{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-p-priority{grid-template-columns:38px 1fr;padding:.7rem}.rr-p-priority>span{width:38px;height:38px}
  .rr-p-buildings{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-p-plan-building{padding:.85rem}.rr-p-plan-building header{grid-template-columns:40px 1fr}.rr-p-plan-building header .rr-p-building__icon{width:40px;height:40px}.rr-p-invested{grid-column:1/-1;justify-self:start}.rr-p-upgrades{grid-template-columns:1fr}.rr-p-meter{font-size:.66rem}
  .rr-p-result-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.rr-p-result-metrics li{display:block;text-align:center}.rr-p-result-metrics strong{display:block;margin-top:.3rem}
  .rr-p-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-p-result-building .rr-p-mini{grid-template-columns:repeat(2,1fr)}
  .rr-p-resident-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-p-mastery-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:980px){
  .rr-shell[data-capstone="1"] .rr-panel{padding:1.8rem}
  .rr-p-diagnosis__top{grid-template-columns:46px 1fr auto}.rr-p-diagnosis__state{grid-column:auto;justify-self:end}.rr-p-meter{grid-template-columns:105px minmax(65px,1fr) 30px}.rr-p-meter span:first-child small{display:block}
  .rr-p-plan-building header{grid-template-columns:46px 1fr auto}.rr-p-invested{grid-column:auto;justify-self:auto}.rr-p-upgrades{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-p-upgrade{min-height:130px}
  .rr-p-resident-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:480px){
  .rr-shell[data-capstone="1"]{padding-left:.72rem;padding-right:.72rem}.rr-shell[data-capstone="1"] .rr-panel{padding:1rem .82rem;border-radius:17px}
  .rr-p-before-callout{padding-left:4.1rem}.rr-p-before-callout:before{left:.7rem;font-size:2rem}
  .rr-p-building{grid-template-columns:42px 1fr;padding:.8rem}.rr-p-building__icon{width:42px;height:42px}
  .rr-p-mini{gap:.22rem}.rr-p-mini li{padding:.4rem .2rem}.rr-p-mini span{font-size:.52rem}.rr-p-mini b{font-size:.78rem}
  .rr-p-diagnosis{padding:.78rem}.rr-p-diagnosis__top{grid-template-columns:40px 1fr}.rr-p-diagnosis__state{grid-column:1/-1;justify-self:start}.rr-p-meter{grid-template-columns:93px minmax(62px,1fr) 27px}.rr-p-meter span:first-child small{display:none}
  .rr-p-budget{top:3.8rem;grid-template-columns:1fr auto;margin-left:-.3rem;margin-right:-.3rem}.rr-p-budget__track{grid-column:1/-1;grid-row:2}.rr-p-budget>span:last-child{grid-column:2;grid-row:1}
  .rr-p-plan-building{padding:.78rem}.rr-p-plan-building header{grid-template-columns:40px 1fr}.rr-p-plan-building header .rr-p-building__icon{width:40px;height:40px}.rr-p-invested{grid-column:1/-1;justify-self:start}
  .rr-p-celebration{padding:1.6rem .7rem 1.2rem}.rr-p-celebration .rr-h2{font-size:2.05rem}.rr-p-neighbourhood span{width:58px}.rr-p-neighbourhood span:nth-child(2){width:68px}
  .rr-p-score-card{grid-template-columns:78px 1fr;gap:.75rem;padding:.8rem}.rr-p-score-ring{width:76px;height:76px;border-width:6px}.rr-p-score-ring strong{font-size:1.45rem}
  .rr-p-result-metrics{gap:.38rem}.rr-p-result-metrics li{min-height:60px;padding:.6rem}.rr-p-result-metrics li:last-child{grid-column:1/-1}
  .rr-p-transformation{grid-template-columns:1fr}.rr-p-transformation>span{rotate:90deg;justify-self:center;line-height:.6}.rr-p-mastery{grid-template-columns:42px 1fr;padding:.8rem}.rr-p-mastery__badge{width:40px;height:40px;font-size:1.1rem}
  .rr-portfolio .rr-actions{display:grid;grid-template-columns:1fr}.rr-portfolio .rr-actions .rr-btn{width:100%;min-height:48px;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .rr-p-neighbourhood span,.rr-p-confetti i{animation:none!important}.rr-p-diagnosis,.rr-p-priority,.rr-p-upgrade,.rr-p-meter__track i,.rr-p-budget__track i{transition:none!important}
}
@media (forced-colors:active){
  .rr-p-diagnosis,.rr-p-priority,.rr-p-upgrade,.rr-p-plan-building,.rr-p-result-building,.rr-p-mastery{border:1px solid ButtonText}.rr-p-priority.is-selected,.rr-p-upgrade.is-selected,.rr-p-diagnosis.is-inspected{outline:3px solid Highlight}.rr-p-budget{border:2px solid Highlight}.rr-p-meter__track i,.rr-p-budget__track i{background:Highlight}
}
