.partner-shell{max-width:1240px;margin:auto;padding:0 clamp(18px,4.4vw,62px) 24px}.partner-footer a,.partner-shell .textbtn,.partner-source-links a{display:inline-flex;align-items:center;gap:7px}.partner-intro{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,44px);margin:24px 0;padding:clamp(24px,4.4vw,54px);border:1px solid var(--line);border-radius:30px;background:radial-gradient(52% 115% at 78% 58%,var(--glow),transparent),linear-gradient(115deg,var(--panel),var(--bg2));box-shadow:var(--shadow)}.partner-intro h1{margin:.23em 0;font-size:clamp(3rem,6.4vw,5.5rem);line-height:.98;letter-spacing:-.065em;font-weight:640}.partner-intro h1 em{color:var(--mint-text);font-style:normal}.partner-intro p:not(.eyebrow){max-width:53ch;color:var(--sub);line-height:1.55}.partner-actions{display:flex;align-items:center;gap:.95rem;flex-wrap:wrap;margin:18px 0 0}.partner-figure{--mx:0;--my:0;--travel:0px;position:relative;isolation:isolate;justify-self:center;width:min(100%,420px);aspect-ratio:1;pointer-events:none;perspective:1100px}.partner-figure:before{content:"";position:absolute;inset:12% 3% 8%;background:radial-gradient(ellipse,var(--glow),transparent 70%)}.figure-character,.figure-orbits{position:absolute;inset:0;display:grid;place-items:center}.figure-character{transform:translate3d(calc(var(--mx) * 9px),calc(var(--my) * 5px + var(--travel) * .12),15px) rotateY(calc(var(--mx) * 4deg))}.partner-figure img{position:absolute;inset:8% 12%;display:block;min-width:0;min-height:0;width:76%;height:84%;object-fit:contain;filter:drop-shadow(-3px 8px 13px #06061032);animation:partner-character-float 7s ease-in-out infinite}.figure-orbits{transform:translate3d(calc(var(--mx) * -11px),calc(4% + var(--my) * -6px + var(--travel) * .09),-20px);perspective:1100px}.figure-orbit{grid-area:1/1;border:1px solid color-mix(in srgb,var(--lav) 48%,transparent);border-radius:50%;width:83%;aspect-ratio:1;transform:rotateX(58deg) rotateY(-16deg) rotate(-24deg);box-shadow:0 0 0 8px color-mix(in srgb,var(--lav) 4%,transparent);animation:partner-ring-drift 13s ease-in-out infinite alternate}.figure-orbit-mint{width:77%;border-color:color-mix(in srgb,var(--mint-text) 48%,transparent);transform:rotateX(64deg) rotateY(22deg) rotate(30deg);box-shadow:0 0 0 6px color-mix(in srgb,var(--mint-text) 4%,transparent);animation:partner-ring-sway 17s ease-in-out -6s infinite alternate}@keyframes partner-character-float{50%{transform:translateY(-8px) rotate(.7deg)}}@keyframes partner-ring-drift{0%{transform:rotateX(58deg) rotateY(-16deg) rotate(-24deg)}to{transform:rotateX(46deg) rotateY(12deg) rotate(5deg)}}@keyframes partner-ring-sway{0%{transform:rotateX(64deg) rotateY(22deg) rotate(30deg)}to{transform:rotateX(45deg) rotateY(-20deg) rotate(-10deg)}}@media(prefers-reduced-motion:reduce){.figure-character,.figure-orbits{transform:none}.figure-orbit,.partner-figure img{animation:none}}.partner-workspace{scroll-margin-top:100px;display:grid;grid-template-columns:minmax(155px,.27fr) minmax(0,1fr);border:1px solid var(--line);background:var(--panel);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.partner-progress{padding:clamp(20px,2.7vw,38px);border-right:1px solid var(--line);background:linear-gradient(150deg,var(--bg2),var(--panel))}.partner-progress ol{list-style:none;margin:24px 0;padding:0;display:grid;gap:11px}.partner-progress button{padding:0;display:flex;align-items:center;gap:9px;text-align:left;font-weight:550;color:var(--sub)}.partner-progress button span{width:26px;height:26px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.74rem}.partner-progress button[aria-current]{color:var(--mint-text)}.partner-progress button[aria-current] span{background:color-mix(in srgb,var(--mint) 12%,transparent);border-color:var(--mint-text)}.partner-env,.partner-hint,.partner-status{font-size:.84rem;color:var(--sub)}.partner-env{display:flex;gap:7px;align-items:center}.partner-env span{width:6px;height:6px;background:var(--mint-text);border-radius:50%}.partner-stage{padding:clamp(22px,3.35vw,44px);min-width:0}.partner-practice h2,.partner-stage h2{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.1;letter-spacing:-.046em;margin:0 0 .4em}.partner-stage h2:focus{outline:0}.partner-instructions p,.partner-practice p:not(.eyebrow),.stage-intro{color:var(--sub);margin:.4em 0 1em;max-width:70ch}.partner-stage form{max-width:680px;margin:22px 0 0}.partner-stage label{display:block;font-size:.92rem;font-weight:600;margin:15px 0 6px}.partner-fields{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.partner-stage input:not([type=checkbox]),.partner-stage select{width:100%;border:1px solid var(--line);background:var(--bg2);color:var(--ink);padding:11px 13px;border-radius:11px;min-height:44px;font:inherit}.partner-stage input[aria-invalid=true]{border-color:#de777f}.partner-stage .partner-hint{margin:.55rem 0}.partner-error{font-size:.9rem;color:var(--ink);border-inline-start:3px solid #dd7886;padding:7px 12px;background:var(--bg);margin-top:12px}.partner-status:not(:empty){margin-top:15px}.partner-status:empty{display:none}.partner-instructions{padding:0;margin:24px 0;list-style:none;counter-reset:instruction}.partner-instructions li{position:relative;padding-left:32px;margin-bottom:21px;counter-increment:instruction}.partner-instructions li:before{content:counter(instruction);position:absolute;left:0;top:1px;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.74rem;color:var(--mint-text)}.partner-instructions h3{font-size:1rem;line-height:1.5;letter-spacing:0}.partner-instructions p{font-size:.94rem;margin:.35rem 0 .75rem}.partner-instructions .partner-actions{margin:12px 0}.partner-shell code,.partner-shell pre{overflow-wrap:anywhere}.partner-code,.partner-stage details pre{padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);margin:10px 0}.partner-code{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.partner-code button{padding:2px 5px;color:var(--sub)}.partner-code pre,.partner-stage details pre{margin:0;white-space:pre-wrap;font:.83rem/1.6 ui-monospace,Consolas,monospace}.partner-source-links{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;color:var(--sub);font-size:.86rem}.partner-stage details{min-width:0}.partner-stage details[open]{flex-basis:100%}.partner-stage details[open] pre{margin:.7rem 0}.partner-stage summary{cursor:pointer}.partner-checks{padding:12px 16px 15px;border:1px solid var(--line);border-radius:13px;margin:22px 0 8px}.partner-checks legend{font-size:.85rem;padding:0 6px;color:var(--sub)}.partner-checks label{display:flex;align-items:flex-start;gap:8px;margin:5px 0;font-size:.91rem;font-weight:450}.partner-checks input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--lav)}.partner-practice{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:center;scroll-margin-top:100px;margin:24px 0;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3.5vw,40px)}.partner-practice h2{font-size:clamp(1.35rem,2.5vw,1.9rem);margin:.5em 0}.partner-practice p:not(.eyebrow){font-size:.93rem}.sample-results{display:grid;gap:8px}.sample-results>div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:11px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;font-size:.85rem}.partner-footer,.sample-results span{color:var(--sub)}.partner-footer{padding:16px 2px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.83rem}.partner-source{max-width:880px;margin:30px auto;padding:0 16px 40px}.partner-source h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;letter-spacing:-.055em;margin:12px 0}.partner-source p{color:var(--sub);margin-bottom:12px;max-width:70ch}.partner-source .source-list{margin:25px 0;border-top:1px solid var(--line)}.source-list details{border-bottom:1px solid var(--line)}.source-list summary{padding:14px 0;cursor:pointer;font:.91rem/1.45 ui-monospace,Consolas,monospace}.source-list pre{white-space:pre;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);font:.8rem/1.55 ui-monospace,Consolas,monospace;max-height:50vh}@media(max-width:760px){.partner-workspace{grid-template-columns:1fr}.partner-progress{border-right:none;border-bottom:1px solid var(--line);padding:15px 20px}.partner-env,.partner-progress>.eyebrow{display:none}.partner-progress ol{display:flex;gap:15px;margin:0;flex-wrap:wrap}.partner-progress button{font-size:.84rem}.partner-practice{grid-template-columns:1fr}.partner-actions,.partner-practice{gap:12px}}@media(max-width:500px){.partner-shell{padding-inline:14px}.partner-intro h1{font-size:clamp(2.45rem,10vw,3.35rem)}.partner-intro p:not(.eyebrow){font-size:.88rem}.partner-stage{padding:20px}.partner-fields{grid-template-columns:1fr;gap:0}.partner-progress ol{gap:11px;justify-content:space-between}.partner-progress button{gap:5px;font-size:.75rem}.partner-progress button span{width:20px;height:20px}.partner-instructions li{padding-left:0}.partner-instructions li:before{position:static;float:left;margin-right:7px}.partner-instructions h3{min-height:26px}.partner-practice{padding:20px}}@media(max-width:760px){.partner-stage input:not([type=checkbox]),.partner-stage select{font-size:16px}.partner-intro .btn,.partner-intro .textbtn,.partner-workspace .btn,.partner-workspace button{min-height:44px}.partner-intro{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 20px}.partner-figure{width:min(100%,330px)}}.partner-stage>details p,.partner-stage>p{color:var(--sub);line-height:1.6}.partner-stage :is(.sdk-subhead,.sdk-report h3){margin:clamp(22px,3vw,33px) 0 8px;font-size:clamp(18px,2vw,23px);letter-spacing:-.035em;line-height:1.25}.partner-stage .sdk-frameworks{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin:14px 0;padding:4px;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--bg2)}.partner-stage .sdk-frameworks label{position:relative;margin:0;min-width:0}.partner-stage .sdk-frameworks input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.sdk-frameworks span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px 12px;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:550;color:var(--sub)}.sdk-frameworks input:checked+span{color:var(--ink);background:var(--soft);border-color:color-mix(in srgb,var(--lav) 37%,var(--line))}.sdk-frameworks input:focus-visible+span{outline:2px solid var(--mint-text);outline-offset:2px}.partner-stage .sdk-filename,.sdk-endpoint>span{margin:18px 0 4px;color:var(--quiet);font-size:12px;font-weight:600;overflow-wrap:anywhere}.partner-stage .partner-code{align-items:flex-start;padding:4px 7px 4px 13px}.partner-stage .partner-code pre{min-width:0;padding:8px 0;line-height:1.55}.partner-code button,.partner-stage .sdk-more summary,.sdk-files a{min-height:44px}.partner-code button{flex:0 0 44px;display:grid;place-items:center}.partner-stage .sdk-more{margin-top:15px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg2) 70%,transparent)}.partner-stage .sdk-more[open]{padding-bottom:13px}.partner-stage .sdk-more summary{display:list-item;padding:12px 0;color:var(--ink);font-weight:550;font-size:14px}.partner-stage .sdk-more .partner-code pre{background:none;border:none;margin:0;padding:8px 0}.partner-stage .sdk-files{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:9px;color:var(--mint-text)}.partner-stage .sdk-next{margin-top:22px}.partner-stage .sdk-endpoint{display:grid;gap:3px;margin:16px 0;padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--bg2)}.sdk-endpoint>span{margin:0}.sdk-endpoint code{color:var(--ink);font-size:13px}.partner-stage textarea{display:block;min-height:90px;width:100%;margin:0 0 12px;padding:10px 12px;resize:vertical;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:13px/1.5 ui-monospace,monospace}.partner-stage textarea:focus-visible{outline:2px solid var(--mint-text);outline-offset:2px}.sdk-report{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--bg2)}.partner-stage .sdk-report h3{margin:0 0 6px}.sdk-acceptance,.sdk-report p{font-size:14px;line-height:1.6;color:var(--sub)}.sdk-report ul{list-style:none;margin:13px 0 0;padding:0}.sdk-report li{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.sdk-report li:last-child{padding-bottom:0}.sdk-check-state{min-width:38px;padding:2px 5px;flex-shrink:0;border-radius:6px;font:600 10px/1.7 ui-monospace,monospace;text-align:center;text-transform:uppercase;color:var(--lav);background:var(--soft)}.sdk-check-state.state-pass{color:var(--mint-text);background:color-mix(in srgb,var(--mint-text) 9%,transparent)}.sdk-check-state.state-fail{color:#ffbdb9;background:color-mix(in srgb,#c2564a 12%,transparent)}[data-theme=light] .sdk-check-state.state-fail{color:#94362b}.sdk-acceptance{padding-inline-start:20px;margin:10px 0}.sdk-acceptance li+li{margin-top:6px}.partner-stage :is(strong,code,.partner-error){overflow-wrap:anywhere}@media(max-width:500px){.partner-progress ol{justify-content:flex-start;gap:3px 12px}.partner-stage .sdk-frameworks{width:100%}.sdk-frameworks span{padding-inline:8px}.partner-stage textarea{font-size:16px}}