@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap";.projects-showcase{overflow-wrap:anywhere;padding-bottom:2rem}.project-container{width:min(1160px,calc(100% - 64px));margin-inline:auto}.project-eyebrow{color:hsl(var(--primary));font-size:.72rem;font-weight:700;letter-spacing:.15em;line-height:1.6}.projects-intro{padding:68px 0 40px}.projects-intro h1{margin-top:22px;font-size:clamp(2.9rem,6vw,5.3rem);font-weight:800;letter-spacing:-.055em;line-height:1.14}.projects-intro h1 span{color:hsl(var(--primary))}.projects-intro-bottom{margin-top:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.projects-intro-bottom>p{font-size:1.02rem;line-height:1.85;color:hsl(var(--muted-foreground))}.project-text-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;min-height:44px;color:hsl(var(--primary));font-weight:600;font-size:.9rem;text-decoration:none}.project-text-link svg,.project-button svg{flex-shrink:0}.project-text-link:hover{text-decoration:underline;text-underline-offset:5px}.project-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid hsl(var(--border));padding:22px 0 28px}.project-filters button{border:1px solid transparent;padding:10px 17px;border-radius:30px;min-height:44px;color:hsl(var(--muted-foreground));font-size:.86rem;transition:background .18s}.project-filters button:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.project-filters .is-active,.project-filters .is-active:hover{background:hsl(var(--foreground));color:hsl(var(--background))}.project-section-label{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:.8rem;color:hsl(var(--muted-foreground));padding:0 0 18px}.project-section-label>:first-child{color:hsl(var(--foreground));font-weight:600}.project-section-label>:last-child{font-size:.7rem;letter-spacing:.05em}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project-grid>*,.project-detail-layout>*,.project-card>*{min-width:0}.project-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:20px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:hsl(var(--primary) / .45);box-shadow:0 15px 40px -25px hsl(var(--primary) / .25)}.project-card-visual{display:block;overflow:hidden;background:hsl(var(--secondary))}.project-cover{width:100%;aspect-ratio:16 / 10;overflow:hidden;background:hsl(var(--secondary))}.project-cover img{width:100%;height:100%;object-fit:contain;display:block}.project-cover-type{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:9%;color:#eaf3ff;background:#103564;position:relative;isolation:isolate}.project-cover-type:after{content:"";position:absolute;width:42%;aspect-ratio:1;border:1px solid #79a8df55;border-radius:50%;right:-10%;top:-20%;z-index:-1;box-shadow:0 0 0 35px #79a8df11,0 0 0 70px #79a8df0c}.project-cover-type>span{font-size:clamp(.6rem,1vw,.75rem);letter-spacing:.12em;color:#b5cbea}.project-cover-type>strong{max-width:95%;font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.35;letter-spacing:-.035em}.project-card-body{padding:28px 30px 26px}.project-card-meta{display:flex;flex-wrap:wrap;gap:9px 16px;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.6}.project-card-meta span:first-child{color:hsl(var(--primary));font-weight:600}.project-card-body h2{font-size:1.5rem;line-height:1.4;font-weight:700;letter-spacing:-.025em;margin:14px 0 12px}.project-card-body h2 a:hover{color:hsl(var(--primary))}.project-card-body>p{color:hsl(var(--muted-foreground));line-height:1.8;font-size:.92rem}.project-card-role{color:hsl(var(--muted-foreground));font-size:.78rem;margin-top:18px}.project-card-body>.project-text-link{margin-top:16px}.project-featured{margin-bottom:46px}.project-card.is-featured{display:grid;grid-template-columns:1.22fr 1fr}.project-card.is-featured .project-card-visual{display:flex;align-items:center}.project-card.is-featured .project-cover{aspect-ratio:1.4;height:100%;min-height:330px}.project-card.is-featured .project-card-body{display:flex;flex-direction:column;justify-content:center;padding:38px}.project-card.is-featured h2{font-size:clamp(1.6rem,2.7vw,2.2rem)}.project-card.is-featured .project-text-link{margin-top:25px;align-self:flex-start}.project-collection{margin-bottom:48px}.project-button{display:inline-flex;min-height:48px;padding:12px 22px;align-items:center;justify-content:center;gap:10px;border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:#fff;border-radius:10px;font-size:.9rem;font-weight:600;line-height:1.5;transition:background .18s;text-align:center}.project-button:hover{background:hsl(var(--primary) / .9)}.project-button-secondary{background:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.project-button-secondary:hover{background:hsl(var(--secondary))}.project-button:disabled{opacity:.6;cursor:wait}.project-button.is-compact{min-height:44px;padding:10px 16px;font-size:.86rem}.project-button:focus-visible,.project-text-link:focus-visible,.project-filters button:focus-visible,.project-card a:focus-visible,.project-gallery button:focus-visible,.project-toc a:focus-visible,.project-dialog button:focus-visible,.project-dialog input:focus-visible,.project-technology summary:focus-visible,.project-toc summary:focus-visible{outline:3px solid hsl(var(--primary));outline-offset:4px}.projects-contact{padding:54px 0 38px;border-top:1px solid hsl(var(--border))}.projects-contact h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;margin:16px 0 14px;letter-spacing:-.04em}.projects-contact>p:not(:first-child){color:hsl(var(--muted-foreground));line-height:1.8}.projects-contact .project-button{margin-top:26px}.project-empty{padding:70px 20px;text-align:center}.project-empty h1,.project-empty h2{font-size:1.5rem;font-weight:700}.project-empty p{margin:16px 0 24px;color:hsl(var(--muted-foreground));line-height:1.8}.project-empty .project-text-link{margin:16px}.project-skeleton{min-width:0;margin-bottom:35px}.project-skeleton>div{aspect-ratio:16 / 10;border-radius:18px;background:hsl(var(--secondary))}.project-skeleton>p{height:20px;width:70%;margin-top:18px;border-radius:4px;background:hsl(var(--secondary))}.project-skeleton>p:last-child{width:90%;height:14px}.project-back{padding-top:20px}.project-back .project-text-link{color:hsl(var(--muted-foreground));font-size:.8rem}.project-detail-hero{padding-top:32px}.project-detail-hero h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.23;font-weight:800;letter-spacing:-.045em;max-width:960px;margin:18px 0 22px}.project-detail-description{max-width:800px;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.9;color:hsl(var(--muted-foreground))}.project-detail-actions{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:28px}.project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid hsl(var(--border));margin:38px 0 28px;padding-top:22px;gap:20px}.project-facts dt{font-size:.74rem;color:hsl(var(--muted-foreground));margin-bottom:8px}.project-facts dd{font-size:.9rem;line-height:1.65;font-weight:500}.project-detail-hero>.project-cover{border-radius:20px;border:1px solid hsl(var(--border));aspect-ratio:16 / 8}.project-detail-hero>.project-cover .project-cover-type{padding:5%}.project-detail-hero>.project-cover .project-cover-type strong{font-size:clamp(1.8rem,5vw,4rem)}.project-detail-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:60px;padding-top:64px}.project-detail-layout:not(:has(.project-toc)){display:block;max-width:850px}.project-toc{position:sticky;top:92px;align-self:start}.project-toc summary{font-size:.75rem;font-weight:600;cursor:pointer;padding:10px 0}.project-toc nav{margin-top:10px;display:flex;flex-direction:column;border-left:1px solid hsl(var(--border))}.project-toc a{font-size:.8rem;line-height:1.7;color:hsl(var(--muted-foreground));padding:10px 12px;min-height:44px}.project-toc a:hover{color:hsl(var(--primary));border-left:1px solid hsl(var(--primary));margin-left:-1px}.project-story-section{padding-bottom:52px;scroll-margin-top:100px}.project-story-number{color:hsl(var(--primary));font-size:.7rem;letter-spacing:.1em;font-weight:600}.project-story-section h2,.project-detail-contact h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-.035em;line-height:1.4;margin:12px 0 22px}.project-prose p{white-space:pre-wrap;color:hsl(var(--foreground) / .85);font-size:1rem;line-height:1.95;margin-bottom:18px;overflow-wrap:anywhere}.project-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-highlights li{border:1px solid hsl(var(--border));padding:22px;border-radius:12px;background:hsl(var(--card))}.project-highlights li>span{font-size:.7rem;font-weight:600;color:hsl(var(--primary))}.project-highlights li>p{margin-top:10px;line-height:1.85;font-size:.92rem}.project-muted{color:hsl(var(--muted-foreground));font-size:.85rem;line-height:1.8}.project-gallery{display:grid;gap:28px;margin-top:24px}.project-gallery figure{min-width:0}.project-gallery button{display:block;width:100%;border-radius:12px;overflow:hidden;background:hsl(var(--secondary));border:1px solid hsl(var(--border));cursor:zoom-in}.project-gallery img{display:block;width:100%;height:auto}.project-gallery figcaption{color:hsl(var(--muted-foreground));font-size:.8rem;text-align:center;line-height:1.7;margin:12px 0 0}.project-technology{border-top:1px solid hsl(var(--border));padding-top:20px}.project-technology summary{cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 0}.project-tech-tags{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0}.project-tech-tags span{background:hsl(var(--secondary));padding:7px 12px;border-radius:6px;font-size:.75rem}.project-detail-contact{background:hsl(var(--primary) / .06);border:1px solid hsl(var(--primary) / .12);padding:34px;border-radius:16px;scroll-margin-top:95px}.project-detail-contact>p:not(:first-child){color:hsl(var(--muted-foreground));line-height:1.85}.project-related{margin-top:76px;margin-bottom:45px}.project-mobile-actions{display:none}.project-detail-loading{padding-top:50px}.project-action-error{font-size:.75rem;line-height:1.6;color:hsl(var(--destructive));max-width:200px}.project-dialog-backdrop{position:fixed;inset:0;z-index:110;background:#061227a6;padding:24px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.project-dialog{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:18px;width:min(620px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 25px 90px #0003}.project-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid hsl(var(--border))}.project-dialog h2{font-weight:700;font-size:1.1rem;overflow-wrap:anywhere}.project-icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:9px;flex-shrink:0}.project-icon-button:hover{background:hsl(var(--secondary))}.project-image-preview{padding:20px}.project-image-preview>img{display:block;width:100%;height:auto}.project-image-preview>p{margin-top:15px;color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.8}.project-share-body{padding:22px}.project-share-body>p:first-child{font-size:.9rem;color:hsl(var(--muted-foreground))}.project-share-qr{display:flex;flex-direction:column;align-items:center;gap:12px;margin:22px 0}.project-share-qr canvas{border-radius:10px;border:1px solid #dde5ee}.project-share-qr>span{font-size:.8rem;color:hsl(var(--muted-foreground))}.project-share-link{font-size:.8rem;display:block;color:hsl(var(--muted-foreground))}.project-share-link input{display:block;width:100%;padding:12px;font-size:.85rem;border-radius:9px;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));margin-top:8px}.project-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.project-share-actions .project-button{flex:1 1 auto;padding-inline:14px}.project-share-message{margin-top:16px;font-size:.8rem;line-height:1.8;color:hsl(var(--muted-foreground))}.project-generated-poster{width:min(100%,340px);height:auto;display:block;margin:20px auto 0;border-radius:12px;border:1px solid hsl(var(--border))}.project-poster-storage{position:fixed;left:-10000px;top:0;width:420px;pointer-events:none}.project-poster{width:420px;background:#fff;color:#172b48;font-family:Noto Sans SC,sans-serif}.project-poster-brand{padding:24px 28px;display:flex;gap:16px;align-items:center;font-size:22px;font-weight:800;color:#2164c5}.project-poster-brand span{font-size:11px;color:#6c7f99;font-weight:400}.project-poster>img{width:420px;height:240px;object-fit:contain;background:#eaf1fb}.project-poster-cover{height:230px;padding:32px;background:#103564;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.project-poster-cover span{font-size:10px;color:#a8caef;letter-spacing:.15em}.project-poster-cover strong{font-size:30px;line-height:1.4;overflow-wrap:anywhere}.project-poster-content{padding:28px}.project-poster-content>p{color:#386aa6;font-size:11px;line-height:1.6}.project-poster-content h3{font-size:26px;line-height:1.5;margin:12px 0;font-weight:700;overflow-wrap:anywhere}.project-poster-description{font-size:13px;line-height:1.9;color:#65748c;overflow-wrap:anywhere}.project-poster-footer{border-top:1px solid #e8edf4;margin-top:28px;padding-top:22px;display:flex;justify-content:space-between;gap:18px;align-items:center}.project-poster-footer>div{min-width:0}.project-poster-footer strong{display:block;font-size:13px;line-height:1.8;font-weight:600}.project-poster-footer span{display:block;font-size:10px;margin-top:8px;color:#697c96}.project-poster-footer canvas{flex-shrink:0}@media(max-width:1023px){.project-container{width:calc(100% - 48px)}.project-card.is-featured .project-card-body{padding:27px}.project-detail-layout{grid-template-columns:155px minmax(0,1fr);gap:30px}.project-card-body{padding:24px}.project-card-body h2{font-size:1.35rem}}@media(max-width:767px){.project-container{width:calc(100% - 36px)}.projects-intro{padding:40px 0 28px}.projects-intro h1{font-size:clamp(2.65rem,11vw,4.5rem);margin-top:18px}.projects-intro-bottom{display:block;margin-top:22px}.projects-intro-bottom>p{font-size:.92rem}.projects-intro-bottom .project-text-link{margin-top:14px}.project-filters{gap:5px;padding:16px 0 22px}.project-filters button{padding-inline:12px;font-size:.8rem}.project-grid{grid-template-columns:minmax(0,1fr);gap:24px}.project-card.is-featured{display:block}.project-card.is-featured .project-cover{aspect-ratio:16 / 10;min-height:0}.project-card.is-featured .project-card-body{padding:25px}.project-card.is-featured h2{font-size:1.55rem}.project-cover-type strong{font-size:clamp(1.8rem,7vw,3rem)}.project-cover-type>span{font-size:.6rem}.project-featured{margin-bottom:34px}.project-card{border-radius:16px}.projects-contact{padding-top:32px}.project-back{padding-top:12px}.project-detail-hero{padding-top:16px}.project-detail-hero h1{font-size:clamp(2rem,8.5vw,3rem);margin:15px 0 18px}.project-detail-description{font-size:.98rem;line-height:1.85}.project-detail-actions{gap:10px;margin-top:22px}.project-detail-actions .project-button{padding:12px 16px}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.project-detail-hero>.project-cover{aspect-ratio:16 / 10;border-radius:13px}.project-detail-layout{display:block;padding-top:26px}.project-toc{position:static;border-block:1px solid hsl(var(--border));margin-bottom:34px;padding-block:7px}.project-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;margin-bottom:8px;border-left:none}.project-toc a{padding:10px 4px}.project-toc a:hover{border-left:none;margin-left:0}.project-story-section{padding-bottom:36px}.project-story-section h2{margin-top:10px;margin-bottom:18px}.project-prose p{font-size:.95rem;line-height:1.95}.project-highlights{grid-template-columns:minmax(0,1fr);gap:10px}.project-highlights li{padding:18px}.project-detail-contact{padding:24px 20px}.project-related{margin-top:46px;margin-bottom:50px}.projects-showcase:has(.project-mobile-actions){padding-bottom:90px}.project-mobile-actions{position:fixed;display:flex;align-items:center;gap:10px;left:0;right:0;bottom:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:hsl(var(--background) / .96);backdrop-filter:blur(14px);border-top:1px solid hsl(var(--border));z-index:45}.project-mobile-actions>.project-button{flex:1}.project-mobile-actions .project-action-error{position:absolute;bottom:100%;right:12px;max-width:260px;padding:12px;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:10px}.project-dialog-backdrop{padding:12px}.project-dialog{max-height:calc(100dvh - 24px);border-radius:14px}.project-share-body{padding:18px}.project-share-actions .project-button{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.projects-showcase *,.project-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.projects-showcase-v2{position:relative;background:radial-gradient(ellipse 700px 420px at 85% 0,hsl(var(--primary) / .075),transparent 75%)}.projects-showcase-v2 .projects-intro{display:grid;grid-template-columns:1.13fr 1fr;gap:44px;align-items:center;padding:42px 0 34px}.projects-showcase-v2 .projects-intro h1{font-size:clamp(2.6rem,4.8vw,4.6rem);margin-top:18px;line-height:1.15}.projects-showcase-v2 .projects-intro h1 span{background:linear-gradient(110deg,hsl(var(--primary)),#39a1cc);background-clip:text;-webkit-background-clip:text;color:transparent}.projects-showcase-v2 .projects-intro-bottom{margin-top:20px}.projects-showcase-v2 .projects-intro-bottom>p{font-size:.95rem;line-height:1.95}.showcase-hero-copy{min-width:0}.showcase-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:25px}.showcase-live-count{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:hsl(var(--muted-foreground));font-size:.73rem;margin-top:23px}.showcase-live-count strong{font-weight:700;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.showcase-live-count>span:nth-last-child(2){margin-inline:4px;opacity:.45}.showcase-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2a9a89;box-shadow:0 0 0 4px #2a9a8913;flex-shrink:0}.showcase-art{min-height:356px;width:100%;position:relative;isolation:isolate;overflow:hidden;border-radius:32px;background:linear-gradient(145deg,#eef6ff,#dceafa 60%,#e6f5f5);border:1px solid hsl(var(--primary) / .13)}.showcase-art:before{content:"";position:absolute;inset:15%;border-radius:50%;background:#4b87e142;filter:blur(45px)}.showcase-art-grid{position:absolute;inset:-30%;background-image:linear-gradient(#4379b815 1px,transparent 1px),linear-gradient(90deg,#4379b815 1px,transparent 1px);background-size:32px 32px;transform:perspective(450px) rotateX(55deg) rotate(-22deg) translateY(110px);mask-image:linear-gradient(transparent,black 40%,transparent)}.showcase-cube-scene{position:absolute;top:50%;left:50%;width:130px;height:130px;margin:-65px;perspective:900px}.showcase-cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-24deg) rotateY(35deg);animation:showcase-cube-turn 22s linear infinite}.cube-face{position:absolute;inset:0;border:1px solid #3282d7aa;border-radius:6px;background:linear-gradient(135deg,#ffffff75,#5ba8f13d);box-shadow:inset 0 0 24px #fff6;backface-visibility:visible}.cube-face i{position:absolute;inset:22px;border:1px solid #3687d74f;border-radius:50%}.cube-front{transform:translateZ(65px)}.cube-back{transform:rotateY(180deg) translateZ(65px)}.cube-left{transform:rotateY(-90deg) translateZ(65px)}.cube-right{transform:rotateY(90deg) translateZ(65px)}.cube-top{transform:rotateX(90deg) translateZ(65px)}.cube-bottom{transform:rotateX(-90deg) translateZ(65px)}.showcase-orbit{position:absolute;left:50%;top:50%;border:1px solid #3b7cc03b;border-radius:50%;width:290px;height:290px;margin:-145px;transform:rotateX(65deg) rotate(-26deg)}.showcase-orbit:after{content:"";position:absolute;top:50%;right:-4px;width:8px;height:8px;border-radius:50%;background:#2c81d8;box-shadow:0 0 20px #2c81d880}.orbit-two{width:320px;height:320px;margin:-160px;transform:rotateY(65deg) rotate(35deg);opacity:.7}.showcase-art-label{position:absolute;display:flex;gap:9px;align-items:center;padding:10px 13px;color:#316496;background:#ffffffac;backdrop-filter:blur(8px);border:1px solid #ffffffc9;border-radius:9px;font-size:.61rem;letter-spacing:.09em}.label-top{left:21px;top:23px;animation:showcase-label-float 6s ease-in-out infinite}.label-bottom{right:21px;bottom:50px;animation:showcase-label-float 6s 1.2s ease-in-out infinite}.showcase-art-dot{width:5px;height:5px;border-radius:50%;background:#3f8bbf}.showcase-art-coordinate{position:absolute;left:24px;bottom:20px;font-family:monospace;font-size:.58rem;color:#6285a6;letter-spacing:.14em}.showcase-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:23px 0 28px;border-bottom:1px solid hsl(var(--border))}.showcase-directions>div{display:flex;gap:13px;align-items:center}.showcase-directions svg{color:hsl(var(--primary));flex-shrink:0}.showcase-directions strong{display:block;font-size:.86rem;font-weight:600;line-height:1.7}.showcase-directions small{display:block;color:hsl(var(--muted-foreground));font-size:.73rem;line-height:1.8}.showcase-library{padding-top:36px;scroll-margin-top:90px}.showcase-library-heading{display:flex;gap:20px;align-items:center;justify-content:space-between}.showcase-library-heading h2{font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:700;letter-spacing:-.04em;margin-top:8px}.showcase-search{display:flex;align-items:center;gap:10px;width:min(340px,44%);min-height:46px;padding-left:14px;color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card))}.showcase-search:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.showcase-search>svg{flex-shrink:0}.showcase-search input{min-width:0;width:100%;min-height:44px;border:0;outline:none;background:transparent;font-size:.8rem;padding-right:10px;color:hsl(var(--foreground))}.showcase-search input::-webkit-search-cancel-button{display:none}.showcase-search button{display:inline-flex;min-height:44px;min-width:38px;align-items:center;justify-content:center;border-radius:8px}.showcase-search button:focus-visible,.showcase-demo button:focus-visible{outline:3px solid hsl(var(--primary));outline-offset:3px}.projects-showcase-v2 .project-filters{margin-top:22px;padding:0 0 24px;border:0;gap:6px}.projects-showcase-v2 .project-filters button{padding:9px 14px;display:inline-flex;align-items:center;gap:9px}.projects-showcase-v2 .project-filters button>span{font-size:.65rem;font-variant-numeric:tabular-nums;opacity:.7}.projects-showcase-v2 .project-card{box-shadow:0 4px 24px -18px #0c2d4a35;transition:transform .28s ease,opacity .55s ease,border-color .28s ease,box-shadow .28s ease}.projects-showcase-v2 .project-grid{gap:25px}.projects-showcase-v2 .project-card-body{padding:25px 27px}.projects-showcase-v2 .project-card-body h2{margin-top:12px}.project-card-tech{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.project-card-tech>span{padding:5px 9px;border-radius:6px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-size:.65rem;line-height:1.5}.project-card-highlights{display:grid;gap:7px;margin-top:15px;color:hsl(var(--foreground) / .8);font-size:.78rem;line-height:1.75}.project-card-highlights li{position:relative;padding-left:14px}.project-card-highlights li:before{content:"";position:absolute;top:.7em;left:0;width:4px;height:4px;border-radius:50%;background:hsl(var(--primary) / .65)}.projects-showcase-v2 .project-card-role{margin-top:15px;padding-top:13px;border-top:1px solid hsl(var(--border) / .7)}.projects-showcase-v2 .project-card-body>.project-text-link{width:100%;justify-content:space-between;margin-top:10px}.projects-showcase-v2 .project-card .project-text-link svg{transition:transform .25s ease}.projects-showcase-v2 .project-cover img{transition:transform .6s cubic-bezier(.2,.65,.3,1)}.projects-showcase-v2 .project-cover-type,.project-detail-v2 .project-cover-type{background:linear-gradient(135deg,#0d2443,#154d7c)}.projects-showcase-v2 .cover-tone-1 .project-cover-type,.project-detail-v2 .cover-tone-1 .project-cover-type{background:linear-gradient(135deg,#102e43,#196b73)}.projects-showcase-v2 .cover-tone-2 .project-cover-type,.project-detail-v2 .cover-tone-2 .project-cover-type{background:linear-gradient(135deg,#28294d,#465988)}.projects-showcase-v2 .cover-tone-3 .project-cover-type,.project-detail-v2 .cover-tone-3 .project-cover-type{background:linear-gradient(135deg,#152e53,#24699b)}.projects-showcase-v2 .project-cover-type:before,.project-detail-v2 .project-cover-type:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#c6ddff0a 1px,transparent 1px),linear-gradient(90deg,#c6ddff0a 1px,transparent 1px);background-size:34px 34px;z-index:-1}.projects-showcase-v2 .project-cover-type:after,.project-detail-v2 .project-cover-type:after{width:60%;top:-9%;right:-21%;border-color:#9ebeff66;box-shadow:0 0 0 34px #b7d5ff0b,0 0 0 68px #b7d5ff09,0 0 0 102px #b7d5ff06}.projects-showcase-v2 .projects-contact{position:relative;overflow:hidden;padding:40px;margin-block:24px;border:1px solid hsl(var(--primary) / .14);background:linear-gradient(115deg,hsl(var(--primary) / .06),hsl(var(--primary) / .015));border-radius:22px}.projects-showcase-v2 .projects-contact:after{content:"";position:absolute;width:260px;height:260px;border:1px solid hsl(var(--primary) / .1);border-radius:50%;top:-70px;right:-60px;box-shadow:0 0 0 35px hsl(var(--primary) / .025),0 0 0 70px hsl(var(--primary) / .02);pointer-events:none}.showcase-reveal{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.65,.3,1)}.showcase-reveal.reveal-pending{opacity:0;transform:translateY(20px)}.project-detail-v2 .project-detail-hero{padding-top:24px}.project-detail-v2 .project-detail-hero h1{max-width:950px}.project-detail-v2 .project-facts{background:hsl(var(--primary) / .035);border:1px solid hsl(var(--primary) / .11);border-radius:14px;padding:22px}.project-detail-v2 .project-story-number{display:inline-flex;align-items:center;gap:10px}.project-detail-v2 .project-story-number:before{content:"";width:20px;height:1px;background:hsl(var(--primary) / .45)}.project-detail-v2 .project-highlights li{background:linear-gradient(135deg,hsl(var(--primary) / .025),hsl(var(--card)));transition:border-color .25s}.project-detail-v2 .project-highlights li:hover{border-color:hsl(var(--primary) / .35)}.project-detail-v2 .project-toc{border:1px solid hsl(var(--border));border-radius:12px;padding:12px;background:hsl(var(--card))}.project-detail-v2 .project-toc summary{padding-left:3px}.project-detail-v2 .project-tech-tags{padding-top:0}.showcase-prose-heading{margin-block:24px 12px;font-size:1.12rem;font-weight:650;line-height:1.6}.showcase-prose-list{padding-left:22px;margin-block:15px 24px;list-style:disc;color:hsl(var(--foreground) / .85)}.showcase-prose-list li{padding-left:3px;margin-bottom:9px;line-height:1.95;white-space:pre-wrap}.project-detail-v2 .project-technology{padding-top:0;border:0}.showcase-demo{margin-top:22px;overflow:hidden;border:1px solid hsl(var(--primary) / .18);border-radius:16px;background:#0d1f37}.showcase-demo-launch{position:relative;min-height:330px;padding:35px 24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#e8f1ff;background:radial-gradient(ellipse at 50% 20%,#23477099,transparent 80%),linear-gradient(#82c1ff09 1px,transparent 1px),linear-gradient(90deg,#82c1ff09 1px,transparent 1px);background-size:auto,30px 30px,30px 30px}.showcase-demo-symbol{margin-bottom:20px;color:#a2cef7;animation:showcase-label-float 5s ease-in-out infinite}.showcase-demo-launch>strong{max-width:100%;line-height:1.6;font-size:1.15rem;font-weight:600}.showcase-demo-launch>span{font-size:.78rem;color:#9fb5cf;margin:8px 0 23px}.showcase-demo-launch .project-button{min-height:46px}.showcase-demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px 7px 16px;border-bottom:1px solid #ffffff16;color:#cbd9ea}.showcase-demo-toolbar>span{display:flex;min-width:0;gap:9px;align-items:center;font-size:.7rem;line-height:1.7}.showcase-demo-toolbar button{display:flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding-inline:10px;flex-shrink:0;font-size:.75rem;border-radius:7px}.showcase-demo-toolbar button:hover{background:#ffffff16}.showcase-demo-frame{position:relative;width:100%;aspect-ratio:16 / 10;min-height:340px}.showcase-demo-frame iframe{display:block;border:0;width:100%;height:100%;position:absolute;inset:0;background:#fff}.showcase-demo-loading{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:12px;background:#0d1f37;color:#bfd1e8;font-size:.8rem}.showcase-demo-help{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-top:10px}.showcase-demo-help>p{color:hsl(var(--muted-foreground));font-size:.72rem;line-height:1.8;margin-top:8px}.showcase-demo-help .project-text-link{font-size:.75rem;flex-shrink:0}.dark .showcase-art{background:linear-gradient(145deg,#10243b,#1d3651 60%,#12383f);border-color:#6397ca26}.dark .showcase-art-label{background:#12314be0;border-color:#81b1d726;color:#a9cde9}.dark .showcase-art-coordinate{color:#89aac8}@keyframes showcase-cube-turn{0%{transform:rotateX(-24deg) rotateY(35deg)}to{transform:rotateX(-24deg) rotateY(395deg)}}@keyframes showcase-label-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(hover:hover)and (pointer:fine){.projects-showcase-v2 .project-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px -26px hsl(var(--primary) / .4)}.projects-showcase-v2 .project-card:hover .project-text-link svg{transform:translate(3px,-3px)}.projects-showcase-v2 .project-card:hover .project-cover img{transform:scale(1.025)}}@media(max-width:1023px){.projects-showcase-v2 .projects-intro{gap:24px;padding-top:30px}.showcase-art{min-height:325px}.showcase-art-label{font-size:.52rem;padding:9px}.label-top{left:13px}.label-bottom{right:13px}.projects-showcase-v2 .project-card-body{padding:23px}}@media(max-width:767px){.projects-showcase-v2 .projects-intro{grid-template-columns:minmax(0,1fr);gap:26px;padding:27px 0 22px}.projects-showcase-v2 .projects-intro h1{font-size:clamp(2.55rem,10.4vw,4rem)}.projects-showcase-v2 .projects-intro-bottom>p{font-size:.88rem}.showcase-hero-actions{margin-top:21px;gap:14px 22px}.showcase-hero-actions .project-button{min-height:46px;padding-inline:18px}.showcase-live-count{margin-top:17px;font-size:.69rem}.showcase-art{min-height:245px;border-radius:20px}.showcase-cube-scene{transform:scale(.8)}.showcase-orbit{width:240px;height:240px;margin:-120px}.orbit-two{width:270px;height:270px;margin:-135px}.label-top{top:15px;left:16px}.label-bottom{bottom:34px;right:15px}.showcase-art-coordinate{bottom:13px;left:18px;font-size:.5rem}.showcase-directions{padding:16px 0 22px;gap:12px}.showcase-directions>div{gap:8px;align-items:flex-start;flex-direction:column}.showcase-directions svg{width:18px}.showcase-directions strong{font-size:.75rem}.showcase-directions small{font-size:.64rem}.showcase-library{padding-top:26px}.showcase-library-heading{display:block}.showcase-library-heading .project-eyebrow{font-size:.63rem}.showcase-search{width:100%;margin-top:20px}.projects-showcase-v2 .project-filters{margin-top:15px;padding-bottom:20px;gap:3px}.projects-showcase-v2 .project-filters button{padding:8px 10px;gap:6px;font-size:.75rem}.projects-showcase-v2 .project-card-body{padding:22px}.projects-showcase-v2 .projects-contact{padding:28px 23px;border-radius:16px}.projects-showcase-v2 .projects-contact>*{position:relative;z-index:1}.project-detail-v2 .project-detail-hero{padding-top:14px}.project-detail-v2 .project-facts{padding:18px;gap:18px}.project-detail-v2 .project-toc{padding:10px 14px}.showcase-demo-launch{min-height:300px}.showcase-demo-frame{min-height:430px}.showcase-demo-help{display:block}.showcase-demo-help>p{margin-top:13px}.showcase-demo-help .project-text-link{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.projects-showcase-v2 *,.project-detail-v2 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.showcase-reveal.reveal-pending{opacity:1;transform:none}.projects-showcase-v2 .project-card:hover,.projects-showcase-v2 .project-card:hover .project-cover img,.projects-showcase-v2 .project-card:hover .project-text-link svg{transform:none}}.project-poster-options{margin:24px 0 12px;border:1px solid hsl(var(--border));padding:16px;border-radius:14px;min-width:0}.project-poster-options legend{font-size:.88rem;font-weight:650;padding:0 6px}.project-poster-options>label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.8rem}.project-poster-options>label>span{color:hsl(var(--muted-foreground));font-size:.7rem;flex-shrink:0}.project-poster-options textarea{width:100%;margin-top:10px;padding:12px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:.82rem;line-height:1.8;resize:vertical;min-height:120px}.project-poster-options>p{font-size:.73rem;line-height:1.75;color:hsl(var(--muted-foreground));margin-top:8px}.project-poster-options .project-poster-toggle{justify-content:flex-start;margin-top:12px;min-height:34px}.project-poster-options .project-poster-toggle input{width:16px;height:16px;accent-color:hsl(var(--primary))}.project-share-contact-note{background:hsl(var(--secondary));padding:12px 14px;border-radius:10px;font-size:.76rem;line-height:1.9;overflow-wrap:anywhere;color:hsl(var(--muted-foreground))}.project-poster{font-family:Microsoft YaHei,Noto Sans SC,sans-serif}.project-poster .project-poster-brand{justify-content:space-between;padding:23px 26px;font-size:25px;letter-spacing:-.5px;border-bottom:1px solid #e7edf6}.project-poster .project-poster-brand>span{font-size:9px;letter-spacing:.4px}.project-poster .project-poster-content{padding:26px}.project-poster .project-poster-content>h3{font-size:27px;margin:13px 0;line-height:1.45}.project-poster .project-poster-description{color:#416083;font-size:13px;line-height:1.85}.project-poster-introduction{margin-top:24px;border-top:1px solid #e4ebf5;padding-top:20px}.project-poster-introduction h4,.project-poster-highlights h4{font-size:14px;font-weight:700;color:#1a467a;margin-bottom:12px}.project-poster-introduction p{font-size:12px;line-height:1.95;color:#425874;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.project-poster-highlights{margin-top:18px;background:#f2f6fc;padding:16px;border-radius:10px}.project-poster-highlights ul{list-style-type:disc;padding-left:17px;margin:0}.project-poster-highlights li{font-size:11px;line-height:1.85;color:#3f5878;padding:2px 0;overflow-wrap:anywhere}.project-poster .project-poster-footer{align-items:center;gap:12px;margin-top:26px;padding-top:22px;border-top:2px solid #235fba}.project-poster .project-poster-owner{flex:1;min-width:0}.project-poster .project-poster-owner>strong{display:flex;align-items:baseline;gap:9px;color:#17365e;font-size:18px;font-weight:750;margin-bottom:9px}.project-poster .project-poster-owner>strong>span{margin:0;font-size:12px;color:#316cbe}.project-poster .project-poster-owner>p{font-size:11.5px;line-height:1.9;color:#435e80;overflow-wrap:anywhere;margin:0}.project-poster .project-poster-owner>span{margin-top:9px;color:#73849b;font-size:9px}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_AMS-Regular-U6PRYMIZ.woff2") format("woff2"),url("./fonts/KaTeX_AMS-Regular-CYEKBG2K.woff") format("woff"),url("./fonts/KaTeX_AMS-Regular-JKX5W2C4.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2") format("woff2"),url("./fonts/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff") format("woff"),url("./fonts/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2") format("woff2"),url("./fonts/KaTeX_Caligraphic-Regular-3LKEU76G.woff") format("woff"),url("./fonts/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2") format("woff2"),url("./fonts/KaTeX_Fraktur-Bold-T4SWXBMT.woff") format("woff"),url("./fonts/KaTeX_Fraktur-Bold-WGHVTYOR.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2") format("woff2"),url("./fonts/KaTeX_Fraktur-Regular-PQMHCIK6.woff") format("woff"),url("./fonts/KaTeX_Fraktur-Regular-5U4OPH2X.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Main-Bold-YP5VVQRP.woff2") format("woff2"),url("./fonts/KaTeX_Main-Bold-2GA4IZIN.woff") format("woff"),url("./fonts/KaTeX_Main-Bold-W5FBVCZM.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url("./fonts/KaTeX_Main-BoldItalic-N4V3DX7S.woff2") format("woff2"),url("./fonts/KaTeX_Main-BoldItalic-4P4C7HJH.woff") format("woff"),url("./fonts/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_Main-Italic-RELBIK7M.woff2") format("woff2"),url("./fonts/KaTeX_Main-Italic-SASNQFN2.woff") format("woff"),url("./fonts/KaTeX_Main-Italic-I43T2HSR.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Main-Regular-ARRPAO67.woff2") format("woff2"),url("./fonts/KaTeX_Main-Regular-P5I74A2A.woff") format("woff"),url("./fonts/KaTeX_Main-Regular-W74P5G27.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url("./fonts/KaTeX_Math-BoldItalic-K4WTGH3J.woff2") format("woff2"),url("./fonts/KaTeX_Math-BoldItalic-6EBV3DK5.woff") format("woff"),url("./fonts/KaTeX_Math-BoldItalic-VB447A4D.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_Math-Italic-6KGCHLFN.woff2") format("woff2"),url("./fonts/KaTeX_Math-Italic-KKK3USB2.woff") format("woff"),url("./fonts/KaTeX_Math-Italic-SON4MRCA.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_SansSerif-Bold-RRNVJFFW.woff2") format("woff2"),url("./fonts/KaTeX_SansSerif-Bold-X5M5EMOD.woff") format("woff"),url("./fonts/KaTeX_SansSerif-Bold-STQ6RXC7.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_SansSerif-Italic-HMPFTM52.woff2") format("woff2"),url("./fonts/KaTeX_SansSerif-Italic-PSN4QKYX.woff") format("woff"),url("./fonts/KaTeX_SansSerif-Italic-WTBAZBGY.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_SansSerif-Regular-XIQ62X4E.woff2") format("woff2"),url("./fonts/KaTeX_SansSerif-Regular-OQCII6EP.woff") format("woff"),url("./fonts/KaTeX_SansSerif-Regular-2TL3USAE.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Script-Regular-APUWIHLP.woff2") format("woff2"),url("./fonts/KaTeX_Script-Regular-A5IFOEBS.woff") format("woff"),url("./fonts/KaTeX_Script-Regular-72OLXYNA.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size1-Regular-5LRUTBFT.woff2") format("woff2"),url("./fonts/KaTeX_Size1-Regular-4HRHTS65.woff") format("woff"),url("./fonts/KaTeX_Size1-Regular-7K6AASVL.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size2-Regular-LELKET5D.woff2") format("woff2"),url("./fonts/KaTeX_Size2-Regular-K5ZHAIS6.woff") format("woff"),url("./fonts/KaTeX_Size2-Regular-222HN3GT.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size3-Regular-WQRQ47UD.woff2") format("woff2"),url("./fonts/KaTeX_Size3-Regular-TLFPAHDE.woff") format("woff"),url("./fonts/KaTeX_Size3-Regular-UFCO6WCA.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size4-Regular-CDMV7U5C.woff2") format("woff2"),url("./fonts/KaTeX_Size4-Regular-PKMWZHNC.woff") format("woff"),url("./fonts/KaTeX_Size4-Regular-7PGNVPQK.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2") format("woff2"),url("./fonts/KaTeX_Typewriter-Regular-MJMFSK64.woff") format("woff"),url("./fonts/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf") format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,Noto Sans SC,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Fira Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 98%;--foreground: 222 30% 15%;--card: 0 0% 100%;--card-foreground: 222 30% 15%;--card-hover: 0 0% 96%;--popover: 0 0% 100%;--popover-foreground: 222 30% 15%;--primary: 217 91% 55%;--primary-foreground: 0 0% 100%;--primary-hover: 217 91% 62%;--secondary: 220 15% 94%;--secondary-foreground: 222 25% 20%;--secondary-hover: 220 15% 88%;--muted: 220 15% 94%;--muted-foreground: 220 10% 50%;--accent: 174 70% 40%;--accent-foreground: 0 0% 100%;--accent-hover: 174 70% 46%;--warm: 43 90% 50%;--warm-foreground: 0 0% 100%;--glow-primary: 217 91% 55%;--glow-accent: 174 70% 40%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 220 15% 88%;--input: 220 15% 88%;--ring: 217 91% 55%;--radius: .75rem;--gradient-primary: linear-gradient(135deg, hsl(217 91% 55%), hsl(240 60% 65%));--gradient-accent: linear-gradient(135deg, hsl(174 70% 40%), hsl(217 91% 55%));--gradient-warm: linear-gradient(135deg, hsl(43 90% 50%), hsl(25 95% 50%));--gradient-hero: linear-gradient(180deg, hsl(0 0% 98%), hsl(220 15% 94%), hsl(0 0% 98%));--gradient-card: linear-gradient(135deg, hsl(0 0% 100%), hsl(220 15% 96%));--gradient-card-hover: linear-gradient(135deg, hsl(220 15% 96%), hsl(220 15% 90%));--shadow-sm: 0 1px 3px rgb(0 0 0 / .06);--shadow-md: 0 4px 20px -4px rgb(0 0 0 / .08);--shadow-lg: 0 10px 40px -10px rgb(0 0 0 / .12);--shadow-glow-primary: 0 0 40px hsl(217 91% 55% / .2);--shadow-glow-accent: 0 0 30px hsl(174 70% 40% / .15);--shadow-glow-warm: 0 0 30px hsl(43 90% 50% / .15);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: all .5s cubic-bezier(.34, 1.56, .64, 1);--glass-bg: hsl(0 0% 100% / .7);--glass-border: hsl(220 15% 88% / .5);--glass-blur: blur(16px)}.dark{--background: 222 30% 6%;--foreground: 210 20% 95%;--card: 222 25% 10%;--card-foreground: 210 20% 95%;--card-hover: 222 25% 13%;--popover: 222 25% 10%;--popover-foreground: 210 20% 95%;--primary: 217 91% 60%;--primary-foreground: 0 0% 100%;--primary-hover: 217 91% 68%;--secondary: 222 20% 15%;--secondary-foreground: 210 20% 90%;--secondary-hover: 222 20% 20%;--muted: 222 15% 18%;--muted-foreground: 215 15% 60%;--accent: 174 75% 42%;--accent-foreground: 0 0% 100%;--accent-hover: 174 75% 48%;--warm: 43 96% 56%;--warm-foreground: 222 30% 6%;--glow-primary: 217 91% 60%;--glow-accent: 174 75% 42%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 222 20% 16%;--input: 222 20% 16%;--ring: 217 91% 60%;--gradient-primary: linear-gradient(135deg, hsl(217 91% 60%), hsl(240 60% 65%));--gradient-accent: linear-gradient(135deg, hsl(174 75% 42%), hsl(217 91% 60%));--gradient-warm: linear-gradient(135deg, hsl(43 96% 56%), hsl(25 95% 53%));--gradient-hero: linear-gradient(180deg, hsl(222 30% 6%), hsl(222 30% 10%), hsl(222 30% 6%));--gradient-card: linear-gradient(135deg, hsl(222 25% 10%), hsl(222 25% 14%));--gradient-card-hover: linear-gradient(135deg, hsl(222 25% 14%), hsl(222 25% 18%));--shadow-sm: 0 1px 3px rgb(0 0 0 / .3);--shadow-md: 0 4px 20px -4px rgb(0 0 0 / .5);--shadow-lg: 0 10px 40px -10px rgb(0 0 0 / .6);--shadow-glow-primary: 0 0 40px hsl(217 91% 60% / .15);--shadow-glow-accent: 0 0 30px hsl(174 75% 42% / .12);--shadow-glow-warm: 0 0 30px hsl(43 96% 56% / .12);--glass-bg: hsl(222 25% 10% / .6);--glass-border: hsl(222 20% 20% / .5)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,Noto Sans SC,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s}.dark body{background-image:radial-gradient(ellipse 80% 60% at 50% -10%,hsl(var(--glow-primary) / .06),transparent),radial-gradient(ellipse 60% 50% at 90% 80%,hsl(var(--glow-accent) / .04),transparent);background-attachment:scroll}@media(min-width:768px){.dark body{background-attachment:fixed}}::-moz-selection{background-color:hsl(var(--primary) / .3);color:hsl(var(--foreground))}::selection{background-color:hsl(var(--primary) / .3);color:hsl(var(--foreground))}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.text-gradient-primary{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-accent{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-warm{background:var(--gradient-warm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-grid{background-image:linear-gradient(hsl(var(--border) / .3) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border) / .3) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black 40%,transparent 70%);mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,black 40%,transparent 70%)}.section-divider{height:1px;background:linear-gradient(90deg,transparent,hsl(var(--border)),transparent)}.card-hover-lift{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.card-hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px #0000001f}.blog-content h1{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;line-height:2rem;font-weight:800}@media(min-width:640px){.blog-content h1{font-size:1.875rem;line-height:2.25rem}}.blog-content h2{margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;line-height:1.75rem;font-weight:700;color:hsl(var(--primary))}@media(min-width:640px){.blog-content h2{font-size:1.5rem;line-height:2rem}}.blog-content h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}@media(min-width:640px){.blog-content h3{font-size:1.25rem;line-height:1.75rem}}.blog-content h4{margin-top:1rem;margin-bottom:.5rem;font-size:1rem;line-height:1.5rem;font-weight:600}.blog-content p{margin-bottom:1rem;line-height:1.625}.blog-content ul{margin-bottom:1rem;list-style-type:disc;padding-left:1.5rem}.blog-content ol{margin-bottom:1rem;list-style-type:decimal;padding-left:1.5rem}.blog-content li{margin-bottom:.375rem;line-height:1.625}.blog-content li>ul,.blog-content li>ol{margin-top:.375rem;margin-bottom:0}.blog-content blockquote{margin-top:1rem;margin-bottom:1rem;border-left-width:4px;border-color:hsl(var(--primary) / .3);padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem;font-style:italic;color:hsl(var(--muted-foreground))}.blog-content hr{margin-top:2rem;margin-bottom:2rem;border-color:hsl(var(--border))}.blog-content a{color:hsl(var(--primary));text-decoration-line:underline}.blog-content a:hover{text-decoration-line:none}.blog-content strong{font-weight:600;color:hsl(var(--foreground))}.blog-content em{font-style:italic}.blog-content :not(pre)>code{border-radius:.25rem;background-color:hsl(var(--secondary));padding:.125rem .375rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;line-height:1.25rem;color:hsl(var(--accent))}.blog-content pre{margin-bottom:1.5rem;overflow-x:auto;border-radius:.75rem;background:hsl(var(--muted))}.blog-content pre code{display:block;background-color:transparent;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;line-height:1.25rem;line-height:1.625}.blog-content table{margin-bottom:1.5rem;width:100%;border-collapse:collapse;overflow-x:auto;display:block}@media(min-width:640px){.blog-content table{display:table}}.blog-content thead{border-bottom-width:2px;border-color:hsl(var(--border))}.blog-content th{border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--secondary) / .5);padding:.5rem .75rem;text-align:left;font-size:.875rem;line-height:1.25rem;font-weight:600}@media(min-width:640px){.blog-content th{padding-left:1rem;padding-right:1rem}}.blog-content td{border-width:1px;border-color:hsl(var(--border));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}@media(min-width:640px){.blog-content td{padding-left:1rem;padding-right:1rem}}.blog-content tr:nth-child(2n) td{background-color:hsl(var(--secondary) / .2)}.blog-content img{margin-top:1.5rem;margin-bottom:1.5rem;max-width:100%;border-radius:.75rem}.blog-content .math{margin-top:1rem;margin-bottom:1rem}.blog-content .math-display{overflow-x:auto}.blog-content .toc{margin-bottom:1.5rem;border-radius:.75rem;border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--card));padding:1rem}.blog-content .toc ul{list-style-type:disc;padding-left:1.25rem}.blog-content .toc li{margin-bottom:.25rem}.blog-content .toc a{text-decoration-line:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-2{inset:-.5rem}.-inset-3{inset:-.75rem}.-inset-5{inset:-1.25rem}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-6{bottom:-1.5rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.bottom-36{bottom:9rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.m-1{margin:.25rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.-mb-\[2px\]{margin-bottom:-2px}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[calc\(100vh-4rem\)\]{height:calc(100vh - 4rem)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:0px}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-72{max-height:18rem}.max-h-\[120px\]{max-height:120px}.max-h-\[16dvh\]{max-height:16dvh}.max-h-\[30dvh\]{max-height:30dvh}.max-h-\[500px\]{max-height:500px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-8{min-height:2rem}.min-h-\[320px\]{min-height:320px}.min-h-\[32px\]{min-height:32px}.min-h-\[36px\]{min-height:36px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[80vh\]{min-height:80vh}.min-h-\[90vh\]{min-height:90vh}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[110px\]{width:110px}.w-\[390px\]{width:390px}.w-\[min\(20rem\,90vw\)\]{width:min(20rem,90vw)}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[120px\]{min-width:120px}.min-w-\[160px\]{min-width:160px}.min-w-\[32px\]{min-width:32px}.min-w-\[36px\]{min-width:36px}.min-w-\[44px\]{min-width:44px}.min-w-\[80px\]{min-width:80px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[75\%\]{max-width:75%}.max-w-\[80\%\]{max-width:80%}.max-w-\[85vw\]{max-width:85vw}.max-w-\[88\%\]{max-width:88%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.basis-48{flex-basis:12rem}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y: 2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.02\]{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes bounce-in{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{animation:bounce-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .5s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes message-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-message-in{animation:message-in .35s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px hsl(var(--glow-primary) / .3)}50%{box-shadow:0 0 40px hsl(var(--glow-primary) / .6)}}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}@keyframes slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-left{animation:slide-in-left .5s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slide-up .5s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin-slow 12s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-t-sm{border-top-left-radius:calc(var(--radius) - 4px);border-top-right-radius:calc(var(--radius) - 4px)}.rounded-bl-md{border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-br-md{border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-accent\/30{border-color:hsl(var(--accent) / .3)}.border-accent\/40{border-color:hsl(var(--accent) / .4)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-400\/40{border-color:#fbbf2466}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-background{border-color:hsl(var(--background))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-border{border-color:hsl(var(--border))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-cyan-500\/20{border-color:#06b6d433}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-emerald-400\/40{border-color:#34d39966}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/30{border-color:#10b9814d}.border-foreground\/20{border-color:hsl(var(--foreground) / .2)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-500\/20{border-color:#22c55e33}.border-orange-500\/20{border-color:#f9731633}.border-primary{border-color:hsl(var(--primary))}.border-primary\/10{border-color:hsl(var(--primary) / .1)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/60{border-color:hsl(var(--primary) / .6)}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-rose-500\/20{border-color:#f43f5e33}.border-sky-400\/40{border-color:#38bdf866}.border-sky-500\/20{border-color:#0ea5e933}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-violet-500\/20{border-color:#8b5cf633}.border-warm\/30{border-color:hsl(var(--warm) / .3)}.border-warm\/40{border-color:hsl(var(--warm) / .4)}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/30{border-color:#ffffff4d}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-b-card{border-bottom-color:hsl(var(--card))}.border-t-primary{border-top-color:hsl(var(--primary))}.border-t-white{--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/20{background-color:hsl(var(--accent) / .2)}.bg-accent\/5{background-color:hsl(var(--accent) / .05)}.bg-accent\/60{background-color:hsl(var(--accent) / .6)}.bg-amber-400\/60{background-color:#fbbf2499}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/15{background-color:#3b82f626}.bg-border{background-color:hsl(var(--border))}.bg-border\/50{background-color:hsl(var(--border) / .5)}.bg-border\/60{background-color:hsl(var(--border) / .6)}.bg-card{background-color:hsl(var(--card))}.bg-card\/30{background-color:hsl(var(--card) / .3)}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-card\/60{background-color:hsl(var(--card) / .6)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/40{background-color:hsl(var(--destructive) / .4)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-400\/80{background-color:#34d399cc}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-500\/\[0\.02\]{background-color:#10b98105}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-foreground\/20{background-color:hsl(var(--foreground) / .2)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-indigo-500\/10{background-color:#6366f11a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted-foreground\/15{background-color:hsl(var(--muted-foreground) / .15)}.bg-orange-500\/10{background-color:#f973161a}.bg-pink-500\/10{background-color:#ec48991a}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/30{background-color:hsl(var(--primary) / .3)}.bg-primary\/40{background-color:hsl(var(--primary) / .4)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/50{background-color:hsl(var(--primary) / .5)}.bg-primary\/60{background-color:hsl(var(--primary) / .6)}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-rose-500\/10{background-color:#f43f5e1a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/10{background-color:hsl(var(--secondary) / .1)}.bg-secondary\/20{background-color:hsl(var(--secondary) / .2)}.bg-secondary\/30{background-color:hsl(var(--secondary) / .3)}.bg-secondary\/40{background-color:hsl(var(--secondary) / .4)}.bg-secondary\/50{background-color:hsl(var(--secondary) / .5)}.bg-secondary\/60{background-color:hsl(var(--secondary) / .6)}.bg-sky-400{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity, 1))}.bg-sky-400\/80{background-color:#38bdf8cc}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-teal-500\/10{background-color:#14b8a61a}.bg-transparent{background-color:transparent}.bg-violet-500\/10{background-color:#8b5cf61a}.bg-warm{background-color:hsl(var(--warm))}.bg-warm\/20{background-color:hsl(var(--warm) / .2)}.bg-warm\/5{background-color:hsl(var(--warm) / .05)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[hsl\(217\,91\%\,55\%\)\]{--tw-gradient-from: hsl(217,91%,55%) var(--tw-gradient-from-position);--tw-gradient-to: hsl(217 91% 55% / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-400{--tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-400\/20{--tw-gradient-from: rgb(251 191 36 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-background{--tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/10{--tw-gradient-from: rgb(59 130 246 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/20{--tw-gradient-from: rgb(59 130 246 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from: #22d3ee var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-400{--tw-gradient-from: #34d399 var(--tw-gradient-from-position);--tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-400\/20{--tw-gradient-from: rgb(52 211 153 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from: rgb(16 185 129 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/20{--tw-gradient-from: rgb(16 185 129 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500\/10{--tw-gradient-from: rgb(249 115 22 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500\/20{--tw-gradient-from: rgb(249 115 22 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from: hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/20{--tw-gradient-from: hsl(var(--primary) / .2) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/5{--tw-gradient-from: hsl(var(--primary) / .05) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/\[0\.07\]{--tw-gradient-from: hsl(var(--primary) / .07) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-400{--tw-gradient-from: #fb7185 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 113 133 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-400{--tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-400\/20{--tw-gradient-from: rgb(56 189 248 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-400{--tw-gradient-from: #a78bfa var(--tw-gradient-from-position);--tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500\/10{--tw-gradient-from: rgb(139 92 246 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500\/20{--tw-gradient-from: rgb(139 92 246 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-accent\/10{--tw-gradient-to: hsl(var(--accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent) / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-background{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-background\/50{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-background\/60{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / .6) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[hsl\(174\,70\%\,40\%\)\]{--tw-gradient-to: hsl(174,70%,40%) var(--tw-gradient-to-position)}.to-\[hsl\(240\,60\%\,65\%\)\]{--tw-gradient-to: hsl(240,60%,65%) var(--tw-gradient-to-position)}.to-accent{--tw-gradient-to: hsl(var(--accent)) var(--tw-gradient-to-position)}.to-accent\/5{--tw-gradient-to: hsl(var(--accent) / .05) var(--tw-gradient-to-position)}.to-accent\/\[0\.04\]{--tw-gradient-to: hsl(var(--accent) / .04) var(--tw-gradient-to-position)}.to-amber-500\/10{--tw-gradient-to: rgb(245 158 11 / .1) var(--tw-gradient-to-position)}.to-amber-500\/20{--tw-gradient-to: rgb(245 158 11 / .2) var(--tw-gradient-to-position)}.to-background{--tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-emerald-500\/10{--tw-gradient-to: rgb(16 185 129 / .1) var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to: #22c55e var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-indigo-500\/10{--tw-gradient-to: rgb(99 102 241 / .1) var(--tw-gradient-to-position)}.to-indigo-500\/20{--tw-gradient-to: rgb(99 102 241 / .2) var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-primary\/20{--tw-gradient-to: hsl(var(--primary) / .2) var(--tw-gradient-to-position)}.to-primary\/60{--tw-gradient-to: hsl(var(--primary) / .6) var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-500\/10{--tw-gradient-to: rgb(168 85 247 / .1) var(--tw-gradient-to-position)}.to-purple-500\/20{--tw-gradient-to: rgb(168 85 247 / .2) var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-secondary\/30{--tw-gradient-to: hsl(var(--secondary) / .3) var(--tw-gradient-to-position)}.to-sky-500\/10{--tw-gradient-to: rgb(14 165 233 / .1) var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.to-teal-500\/10{--tw-gradient-to: rgb(20 184 166 / .1) var(--tw-gradient-to-position)}.to-teal-500\/20{--tw-gradient-to: rgb(20 184 166 / .2) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-500{--tw-gradient-to: #eab308 var(--tw-gradient-to-position)}.fill-amber-500{fill:#f59e0b}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-28{padding-bottom:7rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-14{padding-left:3.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,Fira Code,monospace}.font-sans{font-family:Inter,Noto Sans SC,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.05\]{line-height:1.05}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-border{color:hsl(var(--border))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/30{color:hsl(var(--primary) / .3)}.text-primary\/40{color:hsl(var(--primary) / .4)}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-rose-500{--tw-text-opacity: 1;color:rgb(244 63 94 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-teal-600{--tw-text-opacity: 1;color:rgb(13 148 136 / var(--tw-text-opacity, 1))}.text-violet-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-warm{color:hsl(var(--warm))}.text-warm-foreground{color:hsl(var(--warm-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-\[0\.12\]{opacity:.12}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-accent\/20{--tw-shadow-color: hsl(var(--accent) / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-amber-400\/20{--tw-shadow-color: rgb(251 191 36 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-destructive\/10{--tw-shadow-color: hsl(var(--destructive) / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-destructive\/25{--tw-shadow-color: hsl(var(--destructive) / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-400\/20{--tw-shadow-color: rgb(52 211 153 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/10{--tw-shadow-color: hsl(var(--primary) / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/20{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/30{--tw-shadow-color: hsl(var(--primary) / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary\/5{--tw-shadow-color: hsl(var(--primary) / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-sky-400\/20{--tw-shadow-color: rgb(56 189 248 / .2);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-primary{--tw-ring-color: hsl(var(--primary))}.ring-primary\/30{--tw-ring-color: hsl(var(--primary) / .3)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur: blur(12px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-75{transition-duration:75ms}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-75{animation-duration:75ms}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.running{animation-play-state:running}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}html{scroll-behavior:smooth}.animate-fill-both{animation-fill-mode:both}.\[overflow-wrap\:anywhere\],.admin-shell{overflow-wrap:anywhere}.admin-shell :is(button,select,input,textarea){max-width:100%}.admin-shell button{flex-shrink:0}.admin-shell :is(input,select,textarea){min-width:0}.admin-shell :is(.grid>*,[role=dialog]){min-width:0}.admin-shell :is(nav,[data-admin-scroll],[aria-label=\5bf9\8bdd\6d88\606f]){scrollbar-gutter:stable;scroll-behavior:auto;-webkit-overflow-scrolling:touch}.admin-shell [role=dialog]{overscroll-behavior:contain}.admin-shell .fixed.inset-0{margin:0!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto!important}}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded-lg::file-selector-button{border-radius:var(--radius)}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-background::file-selector-button{background-color:hsl(var(--background))}.file\:bg-primary\/10::file-selector-button{background-color:hsl(var(--primary) / .1)}.file\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-primary::file-selector-button{color:hsl(var(--primary))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-accent\/90:hover{background-color:hsl(var(--accent) / .9)}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/20:hover{background-color:hsl(var(--destructive) / .2)}.hover\:bg-destructive\/25:hover{background-color:hsl(var(--destructive) / .25)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary) / .05)}.hover\:bg-primary\/50:hover{background-color:hsl(var(--primary) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/20:hover{background-color:hsl(var(--secondary) / .2)}.hover\:bg-secondary\/30:hover{background-color:hsl(var(--secondary) / .3)}.hover\:bg-secondary\/50:hover{background-color:hsl(var(--secondary) / .5)}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary) / .6)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-emerald-400:hover{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-accent\/20:hover{--tw-shadow-color: hsl(var(--accent) / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/20:hover{--tw-shadow-color: hsl(var(--primary) / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/25:hover{--tw-shadow-color: hsl(var(--primary) / .25);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary\/40:hover{--tw-shadow-color: hsl(var(--primary) / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-warm\/20:hover{--tw-shadow-color: hsl(var(--warm) / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary) / .4)}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-primary\/20:focus{--tw-ring-color: hsl(var(--primary) / .2)}.focus\:ring-primary\/30:focus{--tw-ring-color: hsl(var(--primary) / .3)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color: hsl(var(--primary))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.92\]:active{--tw-scale-x: .92;--tw-scale-y: .92;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.97\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:opacity-100:active{opacity:1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@keyframes pulse{50%{opacity:.5}}.group:hover .group-hover\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.group:hover .group-hover\:bg-emerald-500\/20{background-color:#10b98133}.group:hover .group-hover\:bg-primary{background-color:hsl(var(--primary))}.group:hover .group-hover\:bg-primary\/20{background-color:hsl(var(--primary) / .2)}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-80{opacity:.8}.group:hover .group-hover\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-primary\/25{--tw-shadow-color: hsl(var(--primary) / .25);--tw-shadow: var(--tw-shadow-colored)}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:bg-amber-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(69 26 3 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900\/50:is(.dark *){background-color:#1e3a8a80}.dark\:bg-blue-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/50:is(.dark *){background-color:#14532d80}.dark\:bg-green-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(5 46 22 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/50:is(.dark *){background-color:#7f1d1d80}.dark\:bg-red-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity, 1))}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-yellow-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(66 32 6 / var(--tw-bg-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-cyan-400:is(.dark *){--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-sky-400:is(.dark *){--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-green-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-yellow-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:mr-1{margin-right:.25rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:w-32{width:8rem}.sm\:w-36{width:9rem}.sm\:w-40{width:10rem}.sm\:w-72{width:18rem}.sm\:w-auto{width:auto}.sm\:max-w-\[70\%\]{max-width:70%}.sm\:max-w-\[75\%\]{max-width:75%}.sm\:max-w-\[82\%\]{max-width:82%}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_180px\]{grid-template-columns:1fr 180px}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-10{gap:2.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-12{padding:3rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-0{padding-bottom:0}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-16{padding:4rem}}@media(min-width:1024px){.lg\:visible{visibility:visible}.lg\:static{position:static}.lg\:relative{position:relative}.lg\:z-auto{z-index:auto}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:w-64{width:16rem}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:p-8{padding:2rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media(min-width:1280px){.xl\:hidden{display:none}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
