@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#eaeaf2;font-synthesis:none;color-scheme:dark;--muted:#9499ac;--border:#2b3040;--pink:#ffb6b9;--header-height:88px;--text-small:12px;--text-body:14px;--text-heading:24px;--text-subheading:18px;--text-code:13px;--leading-small:1.5;--leading-body:1.75;--leading-heading:1.4;--leading-code:1.8;font-family:DM Sans,Noto Sans CJK SC,Noto Sans CJK TC,Noto Sans CJK JP,Noto Sans CJK KR,system-ui,sans-serif;font-size:var(--text-body);line-height:var(--leading-body);background:#11151f}*{box-sizing:border-box}body{background:radial-gradient(at 85% 5%,#2b223339,#0000 45%),#11151f;margin:0}button,input{font:inherit;font-size:var(--text-small);line-height:var(--leading-small)}:where(.language-picker,.brand,.page-nav,.github-link,.eyebrow,.help,.color-label,.opacity,.error,.live,.preview-controls>span,.preview-hint,.preview-key,.copy-status,.code-heading){font-size:var(--text-small);line-height:var(--leading-small)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:2px solid #bbded6}header{z-index:20;background:#11151f;border-bottom:1px solid #ffffff0c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:auto;padding:30px 48px;display:flex;position:sticky;inset-block-start:0}.language-picker{margin-inline-start:auto;position:relative}.language-trigger{cursor:pointer;align-items:center;gap:6px;list-style:none;display:flex}.language-trigger::-webkit-details-marker{display:none}.language-chevron{flex-shrink:0;width:12px;height:12px;display:block}.language-picker[open] .language-chevron{transform:rotate(180deg)}.language-nav{z-index:10;border:1px solid var(--border);background:#191e2a;border-radius:8px;flex-direction:column;min-width:140px;max-width:calc(100vw - 48px);max-height:min(320px,60vh);padding:6px;display:flex;position:absolute;inset-block-start:calc(100% + 12px);inset-inline-end:0;overflow-y:auto;box-shadow:0 8px 24px #0004}.language-nav a{border-radius:4px;padding:10px 12px}.language-nav a:hover,.language-nav a:focus-visible{background:#242a38}.language-nav a:focus-visible{outline-offset:-2px}.language-nav a[aria-current=page]{color:var(--pink);font-weight:700}.brand{letter-spacing:2px;color:#ecebf3;align-items:center;gap:11px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:var(--pink);font-size:28px}.page-nav{flex-wrap:wrap;gap:20px;transition:gap .18s,transform .18s;display:flex}.page-nav a,.language-trigger,.language-nav a,.github-link{color:#c5c8d5;text-decoration:none}.page-nav a:hover,.language-trigger:hover,.language-picker[open] .language-trigger,.language-nav a:hover,.github-link:hover{color:var(--pink)}.github-link{white-space:nowrap;flex-shrink:0}main>section[id]{scroll-margin-top:calc(var(--header-height) + 24px)}main{max-width:1184px;margin:auto;padding:54px 32px 32px}.eyebrow{letter-spacing:2px;color:var(--muted);margin:0 0 9px;font-weight:700}h1{letter-spacing:-3px;margin:0 0 22px;font-family:Manrope,system-ui,sans-serif;font-size:clamp(42px,5.5vw,66px);font-weight:600;line-height:1.12}h1 span{color:var(--pink)}.intro{margin-bottom:40px}.intro h1{margin-bottom:0}.tutorial-step+.tutorial-step{margin-top:32px}.step-heading{margin-bottom:24px}.workspace{grid-template-columns:minmax(310px,.85fr) minmax(0,1.15fr);align-items:start;gap:28px;min-width:0;display:grid}.workspace>*{min-width:0}.panel{border:1px solid var(--border);background:#191e2a;border-radius:16px;padding:26px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}h2{font-family:Manrope,system-ui,sans-serif;font-size:var(--text-heading);line-height:var(--leading-heading);letter-spacing:-.5px;margin:0;font-weight:600}button{color:#e5e7ee;background:#242a38;border:1px solid #3d4253;border-radius:8px;padding:10px 15px;transition:background .15s}button:hover{background:#303749}.quiet{color:#d4d7e3;background:0 0;border:1px solid #3d4253;padding:6px 10px;transition:color .15s,background .15s,border-color .15s}.quiet:not(:disabled):hover{color:#fff;background:#303749;border-color:#5a6278}.quiet:disabled:hover{background:0 0}.help{color:var(--muted);margin:18px 0 23px}.step-heading .help{font-size:var(--text-body);line-height:var(--leading-body);margin:10px 0 0}.color-row{border-top:1px solid var(--border);padding:16px 0 14px}.color-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.color-label{color:#c5c8d5;font-weight:600}.remove{color:#ffb6b9;border-color:#60404a}.remove:not(:disabled):hover{color:#ffd0d2;background:#492a35;border-color:#bd6876}.color-inputs{gap:10px;display:flex}.picker{cursor:pointer;background:#11151f;border:1px solid #3a4050;border-radius:8px;flex-shrink:0;width:42px;height:38px;padding:3px}.picker::-webkit-color-swatch-wrapper{padding:0}.picker::-webkit-color-swatch{border:none;border-radius:4px}.color-text{color:#d4d7e3;background:#131824;border:1px solid #353b4b;border-radius:7px;width:100%;min-width:0;padding:8px 10px;font-family:ui-monospace,monospace}.color-text[aria-invalid=true]{border-color:#ff9eaa}.opacity{color:var(--muted);align-items:center;gap:12px;margin-top:12px;display:flex}.opacity input{accent-color:#bbded6;cursor:pointer;width:100%;min-width:30px;height:3px}.opacity label{white-space:nowrap;flex-shrink:0}.opacity output{text-align:right;font-variant-numeric:tabular-nums;min-width:31px}.error{color:#ffacb4;margin:8px 0 0}.error:empty{display:none}.add{color:#bbded6;background:0 0;border-style:dashed;width:100%;margin-top:12px}.preview-section{top:calc(var(--header-height) + 24px);position:sticky}.preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 3px 16px;display:flex}.live{letter-spacing:1px;color:#bbded6;align-items:center;gap:7px;display:flex}.live i{background:#bbded6;border-radius:50%;width:5px;height:5px;box-shadow:0 0 9px #bbded655}.live.is-off{color:#ffb6b9}.live.is-off i{background:#ffb6b9;box-shadow:0 0 9px #ffb6b955}.preview-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.preview-controls>span{color:var(--muted)}#toggle-effects{flex-shrink:0;max-width:100%}#effects-state{color:#bbded6;margin-left:6px;font-weight:700}#toggle-effects[aria-pressed=false] #effects-state{color:#ffb6b9}.motion-warning{color:#ffe3e7;font-size:var(--text-body);line-height:var(--leading-body);background:#431e28;border:2px solid #e36b7c;border-radius:10px;margin-bottom:16px;padding:17px 19px}.motion-warning[hidden]{display:none}.motion-warning strong{color:#ffb4c0;font-size:var(--text-body);display:block}.motion-warning p{margin:6px 0 0}#preview{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(#33304188,#0000 70%),radial-gradient(#ffffff17 .7px,#0000 .7px) 0 0/22px 22px,#161a27;border:1px solid #323349;border-radius:16px;grid-template-rows:1fr auto auto auto 1fr auto;grid-template-columns:minmax(0,1fr);place-items:center;gap:14px;width:100%;min-height:555px;padding:30px;display:grid;position:relative;overflow:hidden}#preview:hover{border-color:#766274}#preview:disabled{opacity:1;cursor:default}.spark{color:var(--pink);filter:drop-shadow(0 0 22px #ffb6b93b);grid-row:2;margin-bottom:9px;font-size:64px;font-weight:400;line-height:1}#preview:disabled .spark{color:var(--muted);filter:none}#preview strong{font-size:var(--text-subheading);line-height:var(--leading-small);overflow-wrap:anywhere;text-align:center;grid-row:3;max-width:100%;font-weight:500;position:relative}.preview-hint{color:var(--muted);overflow-wrap:anywhere;text-align:center;grid-row:4;max-width:100%;position:relative}.preview-key{overflow-wrap:anywhere;text-align:center;letter-spacing:1.6px;color:#777f96;grid-row:6;max-width:100%}.orbit{pointer-events:none;border:1px solid #ffb6b90b;border-radius:50%;width:310px;height:310px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-two{width:440px;height:440px}.code-panel button{color:#25212b;background:#ffb6b9;border-color:#ffb6b9;font-weight:600}.code-panel button:hover{background:#ffd0d2}pre{color:#bbded6;font:var(--text-code) / var(--leading-code) ui-monospace, SFMono-Regular, Consolas, monospace;background:#121722;border:1px solid #2b3040;border-radius:10px;margin:23px 0 0;padding:22px;overflow:auto}.copy-status{color:#bbded6;margin:10px 0 0}.copy-status:empty{display:none}h3{font-family:Manrope,system-ui,sans-serif;font-size:var(--text-subheading);font-weight:600;line-height:var(--leading-small);letter-spacing:-.4px;margin:0}.doc-panel h3{margin:28px 0 12px}.doc-panel>p:not(.eyebrow,.copy-status){color:#b4b9ca;font-size:var(--text-body);line-height:var(--leading-body);margin:16px 0 0}.credits a{color:var(--pink);overflow-wrap:anywhere;text-underline-offset:3px}.doc-panel code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:inherit;line-height:inherit;overflow-wrap:anywhere;color:#d0e8e1}.doc-panel pre code{font-size:inherit;overflow-wrap:normal}.code-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:22px;display:flex}.code-heading+pre{margin-top:12px}.motion-note{color:#d0e8e1;font-size:var(--text-body);line-height:var(--leading-body);background:#bbded60a;border-left:3px solid #bbded6;border-radius:0 8px 8px 0;margin-top:22px;padding:18px 20px}.motion-note p{color:#b4b9ca;margin:7px 0 0}.motion-note a{color:#bbded6;text-underline-offset:3px}.doc-panel>p.doc-detail{font-size:var(--text-small);line-height:var(--leading-small);color:#a0a7bc}.api-table-scroll{border:1px solid var(--border);border-radius:10px;max-width:100%;margin-top:16px;overflow-x:auto}.api-table-scroll:focus-visible{outline-offset:4px;outline:2px solid #bbded6}table{border-collapse:collapse;text-align:left;width:100%;min-width:650px;font-size:var(--text-body);line-height:var(--leading-body)}th,td{vertical-align:top;border-bottom:1px solid var(--border);padding:14px 16px}thead{color:#d4d7e3;background:#131824}tbody th{font-weight:500}td{color:#b4b9ca}tbody tr:last-child>*{border-bottom:0}@media (width>=1300px){main{padding-top:64px}}@media (width<=760px){:root{--header-height:160px}header{flex-wrap:wrap;gap:20px;padding:22px 24px}header .brand,header .language-picker,header .github-link{transition:opacity .18s,transform .18s,visibility linear}header[data-stuck]{justify-content:center;gap:0;padding-block:12px}header[data-stuck] .brand,header[data-stuck] .language-picker,header[data-stuck] .github-link{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility 0s linear .18s;position:absolute;transform:translateY(-6px)}header[data-stuck] .page-nav{justify-content:center;gap:12px;max-width:100%}main{padding:36px 20px 32px}h1{letter-spacing:-2px}.workspace{grid-template-columns:minmax(0,1fr);gap:28px}.preview-section{position:static}#preview{min-height:360px}.panel{padding:22px}.intro{margin-bottom:30px}.tutorial-step+.tutorial-step{margin-top:26px}.step-heading{margin-bottom:20px}.doc-panel .section-heading{align-items:flex-start}pre{padding:16px}.orbit-two{width:340px;height:340px}}@media (prefers-reduced-motion:reduce){button,.page-nav,header .brand,header .language-picker,header .github-link{transition:none}}@media (prefers-contrast:more){:root{--muted:#c5c9d6;--border:#697287}header{border-bottom-color:#697287}.page-nav a,.language-trigger,.language-nav a,.github-link{text-underline-offset:3px;text-decoration:underline}button,.color-text,.picker,#preview,pre{border-color:#858da1}button:disabled{opacity:1;color:#c5c9d6;border-style:dashed}#preview{border-width:2px}.preview-key{color:#c5c9d6}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible,.api-table-scroll:focus-visible{outline-offset:4px;outline:3px solid #fff}}html:not([lang=en]) h1{letter-spacing:normal;font-size:clamp(32px,5.5vw,66px);line-height:1.3}
