*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0}
.beam-page{background:#fff;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}
.beam-page[data-theme="dark"]{background:#101011;color:#f5f5f7}
.beam-page p{margin:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;height:60px;padding:0 28px;border-bottom:1px solid #e5e5e8;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(18px)}
[data-theme="dark"] .topbar{border-color:#303033;background:rgba(16,16,17,.86)}
.brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:600;color:inherit;text-decoration:none;white-space:nowrap}.brand img{width:26px;height:26px}.brand span{font-weight:400;color:#6e6e73}
.search{position:relative;flex:1;max-width:420px;margin-left:12px}
.search input{width:100%;height:36px;border-radius:10px;border:1px solid #d2d2d7;background:#f5f5f7;color:inherit;font:inherit;font-size:14px;padding:0 34px 0 12px;outline:none}
.search input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e333}
.search kbd{position:absolute;right:8px;top:7px;font-size:11px;padding:1px 6px}
#results{display:none;position:absolute;top:44px;left:0;right:0;background:#fff;border:1px solid #d2d2d7;border-radius:14px;box-shadow:0 18px 40px #0003;overflow:hidden}
#results a{display:block;padding:10px 14px;color:inherit;text-decoration:none;border-bottom:1px solid #e5e5e8}
#results a:last-child{border:0}#results a:hover,#results a:first-child{background:#edf4ff}
#results strong{display:block;font-size:14px}#results span{display:block;font-size:12px;color:#6e6e73;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#results .none{padding:14px;font-size:14px;color:#6e6e73}
[data-theme="dark"] .search input{background:#232326;border-color:#3a3a3e}
[data-theme="dark"] #results{background:#1c1c1f;border-color:#3a3a3e}[data-theme="dark"] #results a{border-color:#303033}[data-theme="dark"] #results a:hover,[data-theme="dark"] #results a:first-child{background:#26303f}
[data-theme="dark"] #results span,[data-theme="dark"] #results .none,[data-theme="dark"] .brand span{color:#a9a9af}
.platform-note{margin-left:auto;font-size:12px;color:#6e6e73}[data-theme="dark"] .platform-note{color:#a9a9af}
.theme-toggle{border:0;border-radius:30px;background:#edf4ff;color:#0071e3;font:inherit;font-size:12px;padding:7px 13px;cursor:pointer}
[data-theme="dark"] .theme-toggle{background:#26303f;color:#409cff}
.menu-btn{display:none;border:0;background:none;color:inherit;font-size:22px;cursor:pointer}
.layout{max-width:1440px;margin:0 auto}
.layout{display:block}
.sidebar{position:fixed;top:60px;bottom:0;left:0;width:268px;overflow-y:auto;padding:22px 16px 40px 28px;border-right:1px solid #e5e5e8;background:inherit}
[data-theme="dark"] .sidebar{border-color:#303033}
.nav-group{margin-bottom:20px}.nav-group p{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#86868b;margin:0 0 6px 10px}
.sidebar a{display:block;font-size:14px;line-height:1.3;padding:6px 10px;border-radius:8px;color:#424245;text-decoration:none}
[data-theme="dark"] .sidebar a{color:#c7c7cc}
.sidebar a:hover{background:#f5f5f7}[data-theme="dark"] .sidebar a:hover{background:#232326}
.sidebar a[aria-current]{background:#edf4ff;color:#0071e3;font-weight:600}[data-theme="dark"] .sidebar a[aria-current]{background:#26303f;color:#409cff}
.content{margin-left:268px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;padding:48px 40px 0 56px}
article{max-width:820px;min-width:0;padding-bottom:56px}
.eyebrow{font-size:15px;font-weight:600;color:#0071e3;margin-bottom:10px!important}[data-theme="dark"] .eyebrow{color:#409cff}
h1{font-size:46px;line-height:1.08;letter-spacing:-.04em;font-weight:600;margin:0 0 16px}
.lead{font-size:20px;line-height:1.45;color:#6e6e73;margin-bottom:28px!important}[data-theme="dark"] .lead{color:#a9a9af}
h2{font-size:28px;line-height:1.15;letter-spacing:-.03em;font-weight:600;margin:52px 0 14px}
h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:30px 0 8px}
article p{font-size:16px;line-height:1.6;margin:0 0 14px}
article ul,article ol{margin:0 0 16px;padding-left:22px}article li{font-size:16px;line-height:1.55;margin-bottom:6px}
article a{color:#0071e3}[data-theme="dark"] article a{color:#409cff}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#f5f5f7;border:1px solid #e5e5e8;border-radius:6px;padding:1px 6px}
[data-theme="dark"] code{background:#232326;border-color:#34343a}
pre{background:#f5f5f7;border:1px solid #e5e5e8;border-radius:12px;padding:16px 18px;overflow-x:auto;margin:0 0 18px}pre code{background:none;border:0;padding:0;font-size:13px;line-height:1.55}
[data-theme="dark"] pre{background:#1a1a1d;border-color:#303033}
kbd{font:inherit;font-size:.86em;border-radius:5px;padding:2px 7px;background:#f5f5f7;border:1px solid #d2d2d7;border-bottom-width:2px;white-space:nowrap}
[data-theme="dark"] kbd{background:#2a2a2e;border-color:#46464b}
.keys{display:inline-flex;gap:3px;align-items:center}
table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:15px}
th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#86868b;font-weight:600;padding:8px 12px;border-bottom:1px solid #d2d2d7}
td{padding:10px 12px;border-bottom:1px solid #e5e5e8;vertical-align:top;line-height:1.5}
[data-theme="dark"] th{border-color:#3a3a3e}[data-theme="dark"] td{border-color:#2a2a2e}
.tablewrap{overflow-x:auto}
.shot{display:flex;flex-direction:column;align-items:center;padding:24px;background:linear-gradient(150deg,#e5f0ff,#c4ddff 52%,#e9f2ff);border-radius:16px;margin:22px 0}
[data-theme="dark"] .shot{background:#292b30}
.shot img{width:100%;max-width:700px;height:auto;display:block;filter:drop-shadow(0 12px 18px #1b315a20)}
.shot.small img{max-width:520px}.shot.pill img{max-width:420px}
.shot figcaption{font-size:12px;color:#6e6e73;text-align:center;margin-top:14px}[data-theme="dark"] .shot figcaption{color:#a9a9af}
figure.shot{margin-left:0;margin-right:0}
.callout{border-radius:14px;padding:16px 18px;margin:22px 0;background:#edf4ff;border:1px solid #cfe2ff}
.callout p,.callout li{font-size:15px!important;margin-bottom:6px!important}.callout p:last-child{margin:0!important}
.callout strong:first-child{display:block;margin-bottom:4px}
.callout.warn{background:#fff6e5;border-color:#f3deb2}
[data-theme="dark"] .callout{background:#1c2736;border-color:#2b3b52}[data-theme="dark"] .callout.warn{background:#2c2416;border-color:#4a3b1e}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.card{background:#f5f5f7;border-radius:18px;padding:20px;text-decoration:none!important;color:inherit!important;display:block}
.card:hover{background:#edf4ff}
[data-theme="dark"] .card{background:#1c1c1f}[data-theme="dark"] .card:hover{background:#26303f}
.card strong{display:block;font-size:17px;margin-bottom:4px}.card span{font-size:14px;line-height:1.45;color:#6e6e73}[data-theme="dark"] .card span{color:#a9a9af}
.try{border-left:3px solid #0071e3;padding:4px 0 4px 16px;margin:18px 0}.try p{margin:0 0 4px!important}
.try .t{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#0071e3}[data-theme="dark"] .try .t{color:#409cff}
.toc{position:sticky;top:92px;align-self:start;font-size:13px;padding-top:6px;max-height:calc(100vh - 112px);overflow-y:auto}#toc{border-left:1px solid #d2d2d7}[data-theme="dark"] #toc{border-color:#3a3a3e}.toc p{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#86868b;margin-bottom:8px}
.toc a{display:block;padding:4px 0 4px 12px;color:#6e6e73;text-decoration:none;line-height:1.35}[data-theme="dark"] .toc a{color:#a9a9af}
.toc a{transition:color .15s,border-color .15s,background .15s;margin-left:-1px;border-left:2px solid transparent}.toc a:hover{color:#0071e3}.toc a.active{color:#0071e3;border-left-color:#0071e3;font-weight:600;background:linear-gradient(90deg,#0071e312,transparent)}[data-theme="dark"] .toc a.active{color:#409cff;border-left-color:#409cff;background:linear-gradient(90deg,#409cff1f,transparent)}@media(prefers-reduced-motion:reduce){.toc a{transition:none}html{scroll-behavior:auto}}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}
.pager a{display:block;border:1px solid #d2d2d7;border-radius:14px;padding:14px 18px;text-decoration:none;color:inherit!important;font-weight:600}
.pager a:hover{border-color:#0071e3}[data-theme="dark"] .pager a{border-color:#3a3a3e}
.pager span{display:block;font-size:12px;font-weight:400;color:#86868b;margin-bottom:2px}.pager .next{text-align:right;grid-column:2}
.site-closing{background:#f5f5f7;padding:24px 48px;margin-left:268px;font-size:12px;color:#86868b;line-height:1.5}[data-theme="dark"] .site-closing{background:#171719}
.badge{display:inline-block;font-size:11px;font-weight:600;border-radius:20px;padding:2px 9px;background:#edf4ff;color:#0071e3;vertical-align:middle;margin-left:6px}
[data-theme="dark"] .badge{background:#26303f;color:#409cff}
.badge.no{background:#f5f5f7;color:#6e6e73}[data-theme="dark"] .badge.no{background:#2a2a2e;color:#a9a9af}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
@media(max-width:1180px){.content{grid-template-columns:minmax(0,1fr)}.toc{display:none}}
@media(max-width:860px){
.menu-btn{display:block}.platform-note{display:none}.topbar{gap:10px;padding:0 14px}.brand span{display:none}.search{margin-left:0}.theme-toggle{margin-left:auto}
.sidebar{transform:translateX(-100%);transition:transform .2s;z-index:15;width:290px;background:#fff}.nav-open .sidebar{box-shadow:0 0 40px #0004}
[data-theme="dark"] .sidebar{background:#141416}.nav-open .sidebar{transform:none}
.content{margin-left:0;padding:32px 20px 0}h1{font-size:34px}h2{font-size:24px}.lead{font-size:18px}.cards{grid-template-columns:1fr}.site-closing{margin-left:0;padding:20px}.shot{padding:14px}.pager{grid-template-columns:1fr}.pager .next{grid-column:1}}
table,td,th,button,input{font-family:inherit}
.keys{flex-wrap:nowrap}td kbd{margin:0}
.tablewrap{margin-top:6px}
p+pre{margin-top:10px}
pre code{white-space:pre-wrap;overflow-wrap:anywhere}
