.tech-text{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative}.tech-text-canvas{width:100%;height:100%;display:block}.tilted-card-figure{perspective:800px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin:0;display:flex;position:relative}.tilted-card-mobile-alert{text-align:center;font-size:.875rem;display:none;position:absolute;top:1rem}@media (width<=640px){.tilted-card-mobile-alert{display:block}.tilted-card-caption{display:none}}.tilted-card-inner{transform-style:preserve-3d;position:relative}.tilted-card-img{object-fit:cover;will-change:transform;border-radius:15px;position:absolute;top:0;left:0;transform:translateZ(0)}.tilted-card-overlay{z-index:2;will-change:transform;position:absolute;top:0;left:0;transform:translateZ(30px)}.tilted-card-caption{pointer-events:none;color:#2d2d2d;opacity:0;z-index:3;background-color:#fff;border-radius:4px;padding:4px 10px;font-size:10px;position:absolute;top:0;left:0}.line-sidebar{--accent-color:#a855f7;--text-color:#c4c4c4;--marker-color:#6c6c6c;--marker-length:60px;--marker-gap:0px;--tick-scale:.5;--max-shift:30px;--item-gap:20px;--font-size:1.1rem;--smoothing:.1s;justify-content:flex-start;display:flex;position:relative}.line-sidebar--markers{padding-left:calc(var(--marker-length) + var(--marker-gap))}.line-sidebar__list{gap:var(--item-gap);flex-direction:column;margin:0;padding:1rem 0;list-style:none;display:flex}.line-sidebar__item{cursor:pointer;position:relative}.line-sidebar__item:before{content:"";position:absolute;inset:-6px -48px}.line-sidebar__label{font-size:var(--font-size);color:color-mix(in srgb, var(--accent-color) calc(var(--effect,0) * 100%), var(--text-color));transform:translateX(calc(var(--effect,0) * var(--max-shift)));align-items:baseline;line-height:1.2;display:inline-flex;position:relative}.line-sidebar__index{opacity:calc(.55 + var(--effect,0) * .45);margin-right:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.line-sidebar__marker{top:50%;left:calc(-1 * var(--marker-length) - var(--marker-gap));height:1px;width:var(--marker-length);background-color:color-mix(in srgb, var(--accent-color) calc(var(--effect,0) * 100%), var(--marker-color));transform-origin:0;transform:translateY(-50%) scaleX(calc(.7 + var(--effect,0) * .5));position:absolute}.line-sidebar--markers .line-sidebar__item:not(:last-child):after{content:"";top:calc(100% + var(--item-gap) / 2);left:calc(-1 * var(--marker-length) - var(--marker-gap));height:1px;width:calc(var(--marker-length) * var(--tick-scale));background-color:var(--marker-color);opacity:.5;position:absolute;transform:translateY(-50%)}.line-sidebar--scale-tick .line-sidebar__item:not(:last-child):after{transform-origin:0;transform:translateY(-50%) scaleX(calc(.7 + var(--effect,0) * .6))}.carousel-container{box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none;flex-direction:column;align-items:center;gap:20px;max-width:100%;display:flex;position:relative}.carousel-container.has-frame{gap:16px}.carousel-stage{box-sizing:border-box;border-radius:var(--carousel-radius);flex-direction:column;align-self:stretch;align-items:center;gap:12px;display:flex;position:relative}.carousel-container:focus-visible .carousel-stage{outline:2px solid var(--carousel-ink);outline-offset:4px}.carousel-container.has-frame .carousel-stage{border-radius:calc(var(--carousel-radius) + 10px);background:var(--carousel-frame);box-shadow:var(--carousel-frame-shadow);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);padding:10px;overflow:hidden}.carousel-container.has-frame.is-round .carousel-stage{border-radius:50%}.carousel-frame-rim{z-index:30;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--carousel-frame-edge), inset 0 1px 0 var(--carousel-frame-highlight);pointer-events:none;position:absolute;inset:0}.carousel-viewport{touch-action:pan-y;-webkit-user-select:none;user-select:none;align-self:stretch;position:relative}.carousel-viewport[data-draggable=true]{cursor:grab}.carousel-viewport[data-dragging=true]{cursor:grabbing}.carousel-slide{backface-visibility:hidden;will-change:transform, opacity;position:absolute;top:0}.carousel-slide:not([data-current]){cursor:pointer}.carousel-card{width:100%;height:100%;padding:calc(20px * var(--carousel-scale,1));box-sizing:border-box;border-radius:var(--carousel-radius);background:var(--carousel-tile);box-shadow:var(--carousel-tile-shadow);color:var(--carousel-ink);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;transition:filter .25s;display:flex;position:relative;overflow:hidden}.carousel-card-rim{border-radius:inherit;box-shadow:inset 0 0 0 1px var(--carousel-tile-edge), inset 0 1px 0 var(--carousel-tile-highlight);pointer-events:none;position:absolute;inset:0}.carousel-card.is-custom{padding:0;display:block}.carousel-card.is-round{text-align:center;justify-content:center;align-items:center;gap:14px;padding:14%}.carousel-image{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.carousel-scrim{opacity:var(--carousel-focus,1);pointer-events:none;background:linear-gradient(#0000 28%,#0000000a 36%,#0000001c 44%,#00000038 54%,#00000057 64%,#00000073 74%,#0000008a 83%,#0009 92%,#0000009e 100%);position:absolute;inset:0}.carousel-card.is-round .carousel-scrim{background:#0000004d}.carousel-icon{background:var(--carousel-badge);width:32px;height:32px;color:var(--carousel-ink);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.carousel-card.has-image .carousel-icon{color:#fff;-webkit-backdrop-filter:blur(10px);background:#ffffff2e}.carousel-icon svg{width:16px;height:16px}.carousel-text{opacity:var(--carousel-focus,1);margin-top:auto;position:relative}.carousel-card.is-round .carousel-text{margin-top:0}.carousel-title{font-size:calc(18px * var(--carousel-scale,1));letter-spacing:-.01em;font-weight:600;line-height:1.25}.carousel-description{font-size:calc(14px * var(--carousel-scale,1));color:var(--carousel-muted);margin:4px 0 0;line-height:1.45}.carousel-card.has-image .carousel-title{color:#fff}.carousel-card.has-image .carousel-description{color:#ffffffc7}.carousel-shade{border-radius:var(--carousel-radius);pointer-events:none;background:#000;position:absolute;inset:0}.carousel-controls{justify-content:center;align-items:center;gap:12px;max-width:100%;display:flex}.carousel-arrow{background:var(--carousel-tile);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--carousel-tile-edge), inset 0 1px 0 var(--carousel-tile-highlight), var(--carousel-tile-shadow);color:var(--carousel-ink);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;padding:0;transition:opacity .2s,filter .2s,transform .2s;display:grid}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-arrow:not(:disabled):active{filter:var(--carousel-press);transition-duration:0s;transform:scale(.92)}.carousel-arrow:focus-visible,.carousel-dot:focus-visible,.carousel-bar:focus-visible{outline:2px solid var(--carousel-ink);outline-offset:2px}.carousel-dots{align-items:center;display:flex}.carousel-dot{cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid}.carousel-dot-mark{background:var(--carousel-faint);border-radius:50%;width:8px;height:8px;transition:background-color .2s,transform .2s}.carousel-dot.is-active .carousel-dot-mark{background:var(--carousel-ink);transform:scale(1.2)}.carousel-bars{flex:1;gap:6px;min-width:0;display:flex}.carousel-bar{cursor:pointer;background:0 0;border:none;flex:1;align-items:center;height:20px;padding:0;display:flex}.carousel-bar-track{background:var(--carousel-faint);border-radius:3px;width:100%;height:3px;transition:background-color .2s;position:relative;overflow:hidden}.carousel-bar-fill{background:var(--carousel-ink);transform-origin:0;position:absolute;inset:0}.carousel-counter{font-variant-numeric:tabular-nums;color:var(--carousel-muted);align-items:baseline;gap:6px;font-size:13px;display:flex;overflow:hidden}.carousel-counter-current{color:var(--carousel-ink);display:inline-block}@media (hover:hover){.carousel-slide:hover .carousel-card,.carousel-arrow:not(:disabled):hover{filter:var(--carousel-hover)}.carousel-arrow:not(:disabled):hover:active{filter:var(--carousel-press)}.carousel-dot:not(.is-active):hover .carousel-dot-mark,.carousel-bar:hover .carousel-bar-track{background:var(--carousel-soft)}}
