:root{color-scheme:light;--bg:#fff;--panel:#f5f5f7;--text:#1d1d1f;--muted:#6e6e73;--accent:#0066cc;--line:#d2d2d7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.47;-webkit-font-smoothing:antialiased}.page{max-width:1080px;margin:auto;padding:0 40px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible{outline:3px solid #0071e3;outline-offset:5px}.skip{position:absolute;top:-70px;background:white;padding:12px;z-index:2}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:70px;border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:600;letter-spacing:-.6px;color:var(--text);white-space:nowrap}.wordmark span{font-weight:400;color:var(--muted);margin-left:7px}header nav{display:flex;gap:26px;align-items:center;font-size:14px}header nav a{color:var(--text)}.intro{text-align:center;padding:74px 0 72px}.eyebrow,.number{font-size:12px;font-weight:600;letter-spacing:.08em;line-height:1.5}.intro>.eyebrow{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;letter-spacing:0;font-weight:400;color:var(--muted)}.status{font-size:11px;font-weight:600;color:var(--muted);border:1px solid var(--line);padding:4px 10px;border-radius:20px;letter-spacing:.04em}h1{font-size:clamp(40px,5.4vw,64px);font-weight:600;line-height:1.08;letter-spacing:-.045em;margin:23px 0 22px}.intro-bottom p{max-width:720px;margin:0 auto;color:var(--muted);font-size:21px;line-height:1.45;letter-spacing:-.02em}.jump{display:inline-block;margin-top:23px;font-size:19px}.jump span{margin-left:4px}.event{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding:36px 40px;background:var(--panel);border-radius:18px}.event .eyebrow{color:var(--muted)}h2,h3{font-weight:600}.event h2{font-size:26px;letter-spacing:-.025em;margin:9px 0 12px}.event p{margin:0;max-width:500px}.event dl{margin:0;display:grid;gap:18px;align-content:center;border-left:1px solid var(--line);padding-left:32px}.event dt{font-size:12px;letter-spacing:.06em;color:var(--muted)}.event dd{margin:4px 0 0;font-size:16px}.event dd.muted{font-size:13px;color:var(--muted)}.notes{padding:70px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.section-heading h2{font-size:34px;letter-spacing:-.035em;margin:0}.section-heading .eyebrow{color:var(--muted)}.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 48px}.topics article{border-top:1px solid var(--line);padding-top:25px}.number{color:var(--muted)}h3{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:13px 0}.topics h3 br{display:none}.topics p{font-size:17px;min-height:50px;margin:0 0 20px}.topics details{font-size:16px}.topics summary{color:var(--accent);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.topics summary::-webkit-details-marker{display:none}.topics summary:after{content:'+'}.topics details[open] summary:after{content:'−'}.topics ul{padding-left:20px;color:var(--muted)}.topics li+li{margin-top:12px}.resources{padding:0 0 65px}.resource-hub{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;background:var(--panel);border-radius:16px;margin-bottom:20px}.resource-hub:hover{text-decoration:none}.resource-hub:hover strong{text-decoration:underline}.resource-hub>span:first-child{display:grid;gap:8px}.resource-hub .eyebrow{color:var(--muted)}.resource-hub strong{font-size:26px;font-weight:600;letter-spacing:-.025em}.resource-hub>span:first-child>span:last-child{color:var(--text)}.resource-hub>span:last-child{font-size:26px}.resource-list{list-style:none;padding:0;margin:0}.resource-list li{border-bottom:1px solid var(--line)}.resource-list a{display:grid;grid-template-columns:235px 1fr 20px;gap:22px;align-items:center;padding:22px 0}.resource-type{font-size:12px;letter-spacing:.04em;color:var(--muted)}.resource-note{font-size:13px;color:var(--muted);margin:20px 0 0;max-width:720px}.takeaways{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;padding:42px 0 60px;gap:30px}.takeaways>.eyebrow{color:var(--muted)}.takeaways h2{font-size:34px;line-height:1.2;letter-spacing:-.035em;margin:0 0 16px}.takeaways p{max-width:500px;color:var(--muted)}.pending{display:inline-block;font-size:13px;background:var(--panel);border-radius:20px;padding:6px 13px;margin-top:5px}footer{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;font-size:12px;color:var(--muted)}footer p{margin:0}footer>span{color:var(--text)}@media(max-width:800px){.resource-list a{grid-template-columns:1fr 20px;gap:6px 16px}.resource-type{grid-column:1}.resource-list a>span:nth-child(2){grid-column:1}.resource-list a>span:last-child{grid-column:2;grid-row:1 / 3}.event{gap:24px;padding:28px}.event dl{padding-left:24px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}header nav{gap:16px}.wordmark span{display:none}}@media(max-width:600px){.page{padding:0 22px}header{min-height:65px;gap:15px}.wordmark{font-size:20px}header nav{font-size:13px;gap:15px}.author{display:none}.intro{padding:48px 0}.intro>.eyebrow{gap:10px}h1{font-size:42px;max-width:380px;margin:22px auto}.intro-bottom p{font-size:19px}.desktop{display:none}.event{grid-template-columns:1fr;padding:26px;gap:25px}.event dl{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.event h2{font-size:24px}.notes{padding:48px 0}.section-heading h2{font-size:30px}.topics{grid-template-columns:1fr;gap:30px}.topics p{min-height:0}.resource-hub{padding:24px}.resource-hub strong{font-size:24px}.resources{padding-bottom:45px}.takeaways{grid-template-columns:1fr;gap:18px;padding:30px 0 45px}.takeaways h2{font-size:30px}footer{flex-direction:column;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.page{padding:0}.status,.jump,header nav,footer>a{display:none}.topics{grid-template-columns:repeat(2,1fr)}a{color:inherit}}

.language-switch{white-space:nowrap;border-left:1px solid var(--line);padding-left:18px}header nav{flex-wrap:wrap;justify-content:flex-end}html[lang="fr-CA"] h1{max-width:850px;margin-left:auto;margin-right:auto}html[lang="fr-CA"] .topics p{min-height:75px}@media(max-width:600px){header{flex-wrap:wrap;padding:16px 0;gap:12px}header nav{gap:14px}.language-switch{padding-left:14px}html[lang="fr-CA"] h1{font-size:39px}html[lang="fr-CA"] .topics p{min-height:0}}

.code-section{padding:0 0 60px;min-width:0}.code-intro{max-width:800px;color:var(--muted);margin:0 0 28px}.snippet{border:1px solid var(--line);border-radius:16px;margin:22px 0;overflow:hidden;min-width:0}.snippet-heading{padding:26px 28px 18px}.snippet-heading h3{margin:10px 0}.snippet-heading p{margin:0}.snippet details>summary{cursor:pointer;color:var(--accent);padding:0 28px 20px;font-size:16px}.code-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;background:#ececf0;font-size:13px}.copy-code{font:inherit;font-size:14px;color:var(--accent);background:white;border:1px solid var(--line);border-radius:7px;padding:8px 12px;cursor:pointer}.copy-code:hover{background:#f5f5f7}.copy-code:focus-visible,pre:focus-visible{outline:3px solid #0071e3;outline-offset:-3px}.snippet pre{background:var(--panel);margin:0;padding:24px 28px;overflow:auto;font:14px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:4}.snippet code{font:inherit}.try-it{padding:20px 28px 0;margin:0;font-size:16px}.snippet-links{padding:18px 28px 26px;display:flex;gap:24px;flex-wrap:wrap;font-size:15px}.copy-status{font-size:14px;color:var(--muted)}@media(max-width:600px){.snippet-heading{padding:22px}.snippet pre{padding:20px;font-size:13px}.snippet details>summary{padding-left:22px}.try-it{padding:20px 22px 0}.snippet-links{padding:18px 22px 22px}header nav{justify-content:flex-start}.code-section{padding-bottom:40px}}

.live-discussion{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px 28px}.live-discussion h3{font-size:21px;margin:0 0 8px}.live-discussion p{font-size:16px}.discussion-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;color:white;background:#0071e3;border-radius:24px;padding:12px 20px;font-size:15px;text-align:center}.discussion-button:hover{color:white;background:#0077ed;text-decoration:none}.live-discussion .discussion-hint{grid-column:1 / -1;color:var(--muted);font-size:13px;max-width:none}@media(max-width:800px){.live-discussion{grid-template-columns:1fr;gap:16px}.discussion-button{justify-self:start}}

.xcode-note{padding:0 0 60px}.xcode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.xcode-grid article{background:var(--panel);border-radius:16px;padding:28px}.release-label{font-size:12px;letter-spacing:.05em;font-weight:600;color:var(--muted)}.xcode-grid h3{margin:12px 0 16px}.xcode-grid p{font-size:16px}.xcode-grid a{font-size:15px}.xcode-guidance{font-size:16px;margin-top:22px;color:var(--muted)}@media(max-width:650px){.xcode-grid{grid-template-columns:1fr}.xcode-grid article{padding:24px}.xcode-note{padding-bottom:42px}}

.lab-panel{margin:30px 0 0}.lab-panel img{display:block;width:100%;height:auto;border-radius:16px}.lab-panel figcaption{padding:16px 2px 0;font-size:13px;color:var(--muted);line-height:1.5}.lab-panel figcaption strong{display:block;font-size:20px;color:var(--text);font-weight:600;margin-bottom:5px}.lab-panel figcaption span{display:block}

.lab-questions{padding:0 0 55px}.lab-question{border:1px solid var(--line);border-radius:16px;padding:28px}.lab-question blockquote{margin:16px 0 20px;font-size:21px;line-height:1.5;letter-spacing:-.015em}.lab-question .pending{margin:0;color:var(--muted)}@media(max-width:600px){.lab-question{padding:22px}.lab-question blockquote{font-size:19px}}

.panel-answer{border-top:1px solid var(--line);padding-top:20px}.panel-answer h3{font-size:18px;margin:0 0 10px}.panel-answer p{margin:0;font-size:17px;line-height:1.55}.panel-answer .answer-source{font-size:13px;color:var(--muted);margin-top:12px}

.lab-question + .lab-question{margin-top:24px}

.panel-answer .answer-context{margin-top:14px}

.panel-answer ul{margin:12px 0 0;padding-left:22px;line-height:1.55}.panel-answer li + li{margin-top:10px}

.answer-screenshot{margin:24px 0 0;max-width:600px}.answer-screenshot img{display:block;max-width:100%;height:auto;border-radius:12px}.answer-screenshot figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
