:root{color-scheme:light dark;--bg:light-dark(#fcf7f6,#0d0a0b);--bg-2:light-dark(#f3ebe9,#1a1516);--surface:light-dark(#fff,#161213);--ink:light-dark(#111117,#ededf2);--muted:light-dark(#4f4f5e,#9d9dad);--rule:light-dark(#e9dfdc,#2b2527);--red:#ff2d20;--red-fill:#e0201a;--red-ink:light-dark(#d0190e,#ff6a5f);--term:#111117;--gutter:24px;--max:1200px;--section:clamp(72px, 9vw, 120px)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0 0 auto}body:before{-webkit-mask-composite:source-in;background:light-dark(#ff2d2033,#ff2d2042);height:100%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='44'%3E%3Cpath d='M18 18v8M14 22h8' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"),linear-gradient(#000,#0006 1400px);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='44'%3E%3Cpath d='M18 18v8M14 22h8' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"),linear-gradient(#000,#0006 1400px);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;mask-composite:intersect;mask-mode:match-source,match-source}body:after{background:radial-gradient(60% 46% at 74% 44%,light-dark(#ff2d2024,#ff2d2033),#0000);height:1500px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:17px/1.6 Geist Variable,system-ui,sans-serif;position:relative}a{color:var(--red-ink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--red-ink);outline-offset:3px;border-radius:4px}code,kbd,pre{font-family:Geist Mono Variable,ui-monospace,monospace}h1,h2,h3{color:var(--ink);text-wrap:balance;margin:0;font-weight:680}h2{letter-spacing:-.035em;font-size:clamp(30px,3.4vw,46px);line-height:1.05}h3{letter-spacing:-.01em;font-size:17px}p{margin:0}.skip{position:absolute;left:-9999px}.skip:focus{z-index:10;background:var(--bg);padding:8px 12px;top:12px;left:16px}kbd{border:1px solid var(--rule);background:var(--surface);min-width:2.2em;color:var(--ink);text-align:center;white-space:nowrap;border-bottom-width:3px;border-radius:7px;padding:.2em .55em;font-size:.8em;line-height:1.4;display:inline-block}.nav{max-width:calc(var(--max) + 2 * var(--gutter));padding:16px var(--gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.nav nav{gap:28px;display:flex}.nav nav a{color:var(--muted);font-size:15.5px;text-decoration:none}.nav nav a:hover{color:var(--ink)}.nav-end{align-items:center;gap:24px;display:flex}.theme{color:var(--muted)}.theme:hover{background:var(--bg-2);color:var(--ink)}main>section{max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin:0 auto}.hero{padding-top:clamp(40px,7vw,96px)}.hero-text{gap:36px;margin-bottom:clamp(40px,5vw,64px);display:grid}h1{letter-spacing:-.04em;font-size:clamp(46px,6.6vw,92px);font-weight:720;line-height:.94}h1 em{color:var(--red);font-style:normal}.hero-side{grid-template-columns:minmax(0,1fr) minmax(0,30rem);align-items:center;gap:24px 48px;display:grid}.lede{color:var(--muted);max-width:34em;font-size:19px;line-height:1.55}.cmd{border:1px solid var(--rule);background:var(--surface);border-radius:12px;align-items:center;gap:12px;min-width:0;padding:6px 6px 6px 16px;display:flex}.cmd code{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px}.cmd button{background:var(--red-fill);color:#fff;cursor:pointer;border:0;border-radius:8px;flex:none;padding:10px 16px;font:600 14.5px/1 Geist Variable,system-ui,sans-serif}.cmd button:hover{background:#c81a14}.window{background:var(--term);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px light-dark(#111117e6,#2c2c36),0 40px 80px -40px light-dark(#11111780,#000)}.window-bar{border-bottom:1px solid #22222b;align-items:center;height:40px;padding-inline:16px;display:flex;position:relative}.dots{gap:8px;display:flex}.dots i{background:#34343f;border-radius:50%;width:12px;height:12px}.window-title{color:#8b8b9a;place-items:center;font:500 14px Geist Mono Variable,monospace;display:grid;position:absolute;inset:0}.window-body{padding:14px 16px 16px}.window-body [role=tabpanel][hidden]{display:none}.tour .window-body{grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.tour [role=tabpanel]{grid-area:1/1}.panel-in{animation:.42s cubic-bezier(.22,.8,.24,1) both panel-in}.panel-out{animation:.42s cubic-bezier(.22,.8,.24,1) both panel-out}@keyframes panel-in{0%{transform:translateX(calc(var(--dir,1) * (100% + 32px)))}}@keyframes panel-out{to{transform:translateX(calc(var(--dir,1) * (-100% - 32px)))}}.tour{touch-action:pan-y pinch-zoom}.tour-tabs{flex-wrap:wrap;gap:4px;margin-top:18px;display:flex}.tour-tabs [role=tab]{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:11px 14px;font:550 15.5px/1 Geist Variable,system-ui,sans-serif;transition:background-color .12s,color .12s;display:inline-flex;position:relative;overflow:hidden}.tour-tabs [role=tab]:hover{background:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red-ink)}.tour-tabs [role=tab][aria-selected=true]{background:var(--red-fill);color:#fff}.tour-tabs [role=tab][aria-selected=true]:hover{color:#fff;background:#c81a14}.tab-key{border:1px solid color-mix(in srgb, currentColor 45%, transparent);border-radius:5px;padding:3px 5px;font:500 12px/1 Geist Mono Variable,monospace}.tour.playing [aria-selected=true]:after{content:"";transform-origin:0;width:100%;height:3px;animation:progress var(--period,6.5s) linear;background:#ffffffbf;position:absolute;bottom:0;left:0}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tour-captions{min-height:7em;margin-top:18px}.tour-caption{max-width:68ch;color:var(--muted)}.tour-caption a{width:fit-content;margin-top:6px;display:block}.tour-caption:not([hidden]){animation:.36s both caption-in}@keyframes caption-in{0%{opacity:0;transform:translateY(4px)}}.video{aspect-ratio:16/9;background:var(--term);border-radius:14px;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px light-dark(#111117e6,#2c2c36),0 40px 80px -40px light-dark(#11111780,#000)}.video img,.video iframe{object-fit:cover;border:0;width:100%;height:100%;display:block}.video-play{background:var(--red-fill);border-radius:50%;width:96px;height:96px;margin:auto;transition:transform .16s;position:absolute;inset:0;box-shadow:0 12px 40px -8px #0009}.video-play:before{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:#fff;width:30px;height:34px;margin:auto;position:absolute;inset:0;transform:translate(3px)}a.video:hover .video-play,a.video:focus-visible .video-play{transform:scale(1.08)}@media (width<=640px){.video-play{width:68px;height:68px}.video-play:before{width:22px;height:25px}}@media (prefers-reduced-motion:reduce){.video-play{transition:none}}.band{padding-top:var(--section)}.band>h2{max-width:20ch;margin-bottom:40px}.ba-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.ba-before{background:var(--bg-2);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;margin:0;padding:24px 26px;font-size:15px;line-height:1.8}.ba-before .p{color:var(--red-ink);user-select:none}.ba-after{gap:20px;display:grid}.ba-steps{gap:18px;margin:0;padding:0;list-style:none;display:grid}.ba-steps li{grid-template-columns:13.5rem minmax(0,1fr);align-items:center;gap:6px 16px;display:grid}.ba-keys{flex-wrap:wrap;align-items:center;gap:6px;font-size:17px;display:flex}.ba-keys span{margin-inline:2px;font:500 15px Geist Mono Variable,monospace}.ba-after p:last-child{color:var(--muted);max-width:34em}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(40px,5vw,56px);display:grid}.split.reverse{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split.reverse .frame{order:-1}.split-text{align-content:start;gap:22px;display:grid}.split-text>p{color:var(--muted);max-width:32em}.frame{min-width:0;container-type:inline-size}.window.small{--fit:72;--pad:9px}.window.small,.window.small pre{--cw:max(4px, round(down, calc((100cqi - 2 * var(--pad)) / var(--fit)), 1px))}.window.small{width:calc(var(--cw) * var(--dcols) + 2 * var(--pad))}.split:not(.reverse) .window.small{margin-left:auto}.window.small .window-body{padding:var(--pad)}.window.small .screen{container-type:normal}.window.dialog pre{margin-block:calc(var(--x1) - var(--y1)) calc(var(--cw) - var(--x1) - 1lh + var(--y1))}.keys{gap:10px;margin:6px 0 0;display:grid}.keys div{grid-template-columns:6.5em 1fr;align-items:baseline;gap:12px;display:grid}.keys dt kbd{font-size:14.5px}.keys dd{color:var(--muted);margin:0}.points{gap:22px;margin:0;display:grid}.points dt{font-weight:650}.points dd{color:var(--muted);margin:2px 0 0}.points-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.points-list li{color:var(--muted);padding-left:20px;font-size:16px;line-height:1.55;position:relative}.points-list li:before{content:"›";color:var(--red-ink);font-weight:700;position:absolute;top:-1px;left:2px}.points-list code{color:var(--ink);font-size:.9em}.points-list kbd{min-width:1.9em;padding-block:.05em;font-size:13.5px}.more-link{margin-top:2px}.server-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;display:grid}.server-lede{letter-spacing:-.015em;font-size:clamp(21px,2vw,25px);line-height:1.4}.facts{grid-template-columns:1fr 1fr;gap:26px 36px;margin:0;padding:0;list-style:none;display:grid}.facts li{color:var(--muted);font-size:16px}.facts strong{color:var(--ink);margin-bottom:2px;font-size:17px;font-weight:650;display:block}main>section.install{max-width:none;margin-top:var(--section);padding:var(--section) var(--gutter);background:var(--red);color:#fff}.install-inner{max-width:var(--max);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 48px;margin:0 auto;display:grid}.install h2,.install h3{color:#fff}.install h3{font-weight:600}.install-head{align-content:start;gap:20px;display:grid}.install-lede{letter-spacing:-.015em;font-size:clamp(21px,2vw,25px);line-height:1.4}.install-note{color:#ffffffd9;max-width:26em;font-size:15.5px}.install .cmd{color:var(--term);background:#fff;border-color:#0000}.install .cmd button{background:var(--term)}.install .cmd button:hover{background:#2a2a33}.install a{color:#fff;white-space:nowrap}.install kbd{color:#fff;background:0 0;border-color:#ffffff8c}.install code{font-size:.9em}.install .cmd code{font-size:15px}.install-steps{counter-reset:step;margin:0;padding:0;list-style:none}.install-steps li{counter-increment:step;border-top:1px solid #ffffff59;grid-template-columns:36px minmax(0,1fr);gap:12px 18px;padding:24px 0;display:grid}.install-steps li:first-child{border-top:0;padding-top:0}.install-steps li:last-child{padding-bottom:0}.install-steps li:before{content:counter(step);border:1.5px solid #fff9;border-radius:50%;grid-row:1;place-items:center;width:32px;height:32px;font:600 14px/1 Geist Mono Variable,ui-monospace,monospace;display:grid}.install-steps h3{align-items:center;min-height:32px;display:flex}.install-steps>li>*{grid-column:2}.install-steps p{color:#ffffffeb}.foot{max-width:calc(var(--max) + 2 * var(--gutter));padding:48px var(--gutter) 56px;color:var(--muted);grid-template-columns:minmax(0,1fr) repeat(3,minmax(130px,auto));gap:32px 72px;margin:0 auto;font-size:15px;display:grid}.foot-brand{align-content:start;gap:12px;display:grid}.foot-brand .brand{gap:10px}.foot-brand .brand .mark{width:28px;height:28px}.foot-brand p{margin:0}.foot nav{align-content:start;justify-items:start;gap:10px;display:grid}.foot h2{letter-spacing:0;margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4}.foot a:not(.brand),.foot button{color:var(--muted);text-decoration:none}.foot a:not(.brand):hover,.foot button:hover{color:var(--ink)}@media (width<=960px){.hero-side,.ba-grid,.split,.server-grid{grid-template-columns:minmax(0,1fr)}.hero-text{gap:28px}.split.reverse{grid-template-columns:minmax(0,1fr)}.split.reverse .frame{order:0}.install-inner{grid-template-columns:minmax(0,1fr)}.foot{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-brand{grid-column:1/-1}.window.small,.window.small pre{--cw:calc((100cqi - 2 * var(--pad)) / var(--dcols))}}@media (width<=799px){.brand{gap:10px}.brand .mark{width:32px;height:32px}}@media (width<=640px){:root{--gutter:16px}body{font-size:16px}.nav nav{gap:14px}.nav-end{gap:12px}.nav nav a[href*=CHANGELOG]{display:none}h1{font-size:min(46px,11.8vw)}.lede{font-size:17px}.window{border-radius:10px}.window-bar{height:30px}.dots i{width:9px;height:9px}.window-body{padding:8px}.ba-before{padding:18px;font-size:13px}.tour-tabs [role=tab]{padding:9px 10px;font-size:14.5px}.facts,.ba-steps li{grid-template-columns:minmax(0,1fr)}.tour-captions{min-height:10em}.foot{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 16px;padding-top:40px}.foot-brand{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.tour.playing [aria-selected=true]:after{display:none}.tour-caption:not([hidden]){animation:none}}.mark{width:var(--size);height:var(--size);vertical-align:middle;flex:none;display:inline-block}.mark svg{width:100%;height:100%;display:block}@media (width<=359px){.nav nav a[href$=\/laraport]{display:none}}
