.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:16px;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:hsl(var(--primary-foreground));background:hsl(var(--primary));position:relative;isolation:isolate}.project-cover-type:after{content:"";position:absolute;width:42%;aspect-ratio:1;border:1px solid hsl(var(--primary-foreground) / .2);border-radius:50%;right:-10%;top:-20%;z-index:-1;box-shadow:0 0 0 35px hsl(var(--primary-foreground) / .05),0 0 0 70px hsl(var(--primary-foreground) / .03)}.project-cover-type>span{font-size:clamp(.6rem,1vw,.75rem);letter-spacing:.12em;color:hsl(var(--primary-foreground) / .75)}.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:16px;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:16px;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-markdown{color:hsl(var(--foreground) / .85);font-size:1rem;line-height:1.95;overflow-wrap:anywhere}.project-markdown>*:first-child{margin-top:0}.project-markdown>*:last-child{margin-bottom:0}.project-markdown p{white-space:normal;margin:0 0 18px;color:inherit;font-size:inherit;line-height:inherit}.project-markdown h3,.project-markdown h4,.project-markdown h5,.project-markdown h6{color:hsl(var(--foreground));font-weight:700;letter-spacing:-.02em;line-height:1.45;margin:30px 0 12px}.project-markdown h3{font-size:1.35rem}.project-markdown h4{font-size:1.12rem}.project-markdown h5,.project-markdown h6{font-size:1rem}.project-markdown ul,.project-markdown ol{margin:0 0 18px;padding-left:1.4em}.project-markdown ul{list-style:disc}.project-markdown ol{list-style:decimal}.project-markdown li{margin:8px 0;line-height:1.9;padding-left:.15em}.project-markdown li>ul,.project-markdown li>ol{margin:8px 0 0}.project-markdown blockquote{margin:0 0 18px;padding:2px 0 2px 18px;border-left:3px solid hsl(var(--primary) / .35);color:hsl(var(--muted-foreground))}.project-markdown blockquote p:last-child{margin-bottom:0}.project-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:5px;padding:1px 5px}.project-markdown pre{margin:0 0 20px;padding:16px 18px;overflow-x:auto;background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:10px;line-height:1.7}.project-markdown pre code{background:none;border:0;padding:0;font-size:.84rem;white-space:pre}.project-markdown a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px}.project-markdown a:hover{opacity:.8}.project-markdown strong{color:hsl(var(--foreground));font-weight:600}.project-markdown hr{margin:26px 0;border:0;border-top:1px solid hsl(var(--border))}.project-markdown img{display:block;max-width:100%;height:auto;margin:18px 0;border-radius:10px;border:1px solid hsl(var(--border))}.project-markdown-table{margin:0 0 20px;overflow-x:auto}.project-markdown table{width:100%;min-width:420px;border-collapse:collapse;font-size:.9rem}.project-markdown th,.project-markdown td{border:1px solid hsl(var(--border));padding:9px 12px;line-height:1.75;vertical-align:top}.project-markdown th{background:hsl(var(--secondary));font-weight:600;color:hsl(var(--foreground))}.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-miniprogram-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:center;padding:26px;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card))}.project-miniprogram-card figure{margin:0;min-width:0;text-align:center}.project-miniprogram-card figure img{display:block;width:100%;max-width:210px;margin:0 auto;aspect-ratio:1;object-fit:contain;padding:8px;border-radius:12px;border:1px solid hsl(var(--border));background:#fff}.project-miniprogram-card figcaption{margin-top:10px;font-size:.75rem;color:hsl(var(--muted-foreground))}.project-miniprogram-info{min-width:0}.project-miniprogram-info>p{color:hsl(var(--muted-foreground));font-size:.9rem;line-height:1.85}.project-miniprogram-info dl{display:grid;gap:10px;margin:18px 0}.project-miniprogram-info dt{font-size:.7rem;letter-spacing:.04em;color:hsl(var(--muted-foreground))}.project-miniprogram-info dd{margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.7;overflow-wrap:anywhere}.project-miniprogram-info .project-button{margin-top:4px}.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:#0000008c;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,.project-share-qr img{border-radius:10px;border:1px solid hsl(var(--border))}.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))}@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-miniprogram-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}.project-miniprogram-card figure{justify-self:center;width:min(100%,200px)}.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}.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{color:hsl(var(--primary))}.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:hsl(var(--success));box-shadow:0 0 0 4px hsl(var(--success) / .12);flex-shrink:0}.showcase-art{position:relative;isolation:isolate;overflow:hidden;min-height:380px;display:flex;align-items:center;justify-content:center;border-radius:24px;border:1px solid hsl(var(--border));background:hsl(var(--secondary))}.showcase-art-frame{position:absolute;inset:30px;border:1px solid hsl(var(--border));border-radius:20px}.showcase-art-frame-inner{inset:46px;border-color:hsl(var(--border) / .65);border-radius:16px}.showcase-art-window{position:relative;width:min(296px,72%);overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));box-shadow:0 24px 60px -38px hsl(var(--primary) / .45)}.showcase-art-window-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.6rem;letter-spacing:.18em}.showcase-art-window-pane{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;margin:13px;border-radius:10px;background:hsl(var(--primary))}.showcase-art-window-foot{display:flex;align-items:center;gap:8px;padding:0 17px 15px;color:hsl(var(--muted-foreground));font-size:.65rem}.showcase-art-dot{width:5px;height:5px;border-radius:50%;background:hsl(var(--accent));flex-shrink:0}.showcase-art-coordinate{position:absolute;left:50%;bottom:13px;transform:translate(-50%);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.55rem;letter-spacing:.16em;color:hsl(var(--muted-foreground));opacity:.72}.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:10px;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 -20px hsl(var(--primary) / .28);transition:transform .2s ease,opacity .22s ease,border-color .2s ease,box-shadow .2s 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 .2s ease}.projects-showcase-v2 .project-cover img{transition:transform .3s cubic-bezier(.2,.65,.3,1)}.projects-showcase-v2 .project-cover-type,.project-detail-v2 .project-cover-type{background:hsl(var(--primary))}.projects-showcase-v2 .cover-tone-1 .project-cover-type,.project-detail-v2 .cover-tone-1 .project-cover-type{background:#0a54cd}.projects-showcase-v2 .cover-tone-2 .project-cover-type,.project-detail-v2 .cover-tone-2 .project-cover-type{background:hsl(var(--accent))}.projects-showcase-v2 .cover-tone-3 .project-cover-type,.project-detail-v2 .cover-tone-3 .project-cover-type{background:hsl(var(--foreground))}.projects-showcase-v2 .project-cover-type:before,.project-detail-v2 .project-cover-type:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;z-index:-1}.projects-showcase-v2 .project-cover-type:after,.project-detail-v2 .project-cover-type:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;width:58%;aspect-ratio:1;top:-12%;right:-18%;box-shadow:0 0 0 34px #ffffff0f,0 0 0 68px #ffffff08;z-index:-1}.projects-showcase-v2 .projects-contact{position:relative;overflow:hidden;padding:42px;margin-block:24px;border:1px solid hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:24px}.projects-showcase-v2 .projects-contact .project-eyebrow{color:hsl(var(--primary-foreground) / .72)}.projects-showcase-v2 .projects-contact>p:not(:first-child){color:hsl(var(--primary-foreground) / .8)}.projects-showcase-v2 .projects-contact .project-button{background:hsl(var(--background));border-color:hsl(var(--background));color:hsl(var(--primary))}.projects-showcase-v2 .projects-contact .project-button:hover{background:#fff;border-color:#fff}.dark .projects-showcase-v2 .projects-contact{background:#0b4fcb;border-color:#0b4fcb;color:#fff}.dark .projects-showcase-v2 .projects-contact .project-eyebrow{color:#ffffffbf}.dark .projects-showcase-v2 .projects-contact>p:not(:first-child){color:#ffffffd1}.dark .projects-showcase-v2 .projects-contact .project-button{background:#fff;border-color:#fff;color:#0b4fcb}.showcase-reveal{transition:opacity .22s ease,transform .22s cubic-bezier(.2,0,0,1)}.showcase-reveal.reveal-pending{opacity:0;transform:translateY(8px)}.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:16px;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:hsl(var(--card));transition:border-color .2s}.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:#0b0f14}.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:#f8fafc;background:#0b0f14}.showcase-demo-symbol{margin-bottom:20px;color:#93c5fd}.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:#94a3b8;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 rgba(255,255,255,.12);color:#94a3b8}.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:#ffffff1a}.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:#0b0f14;color:#94a3b8;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:hsl(var(--secondary));border-color:hsl(var(--border))}.dark .showcase-art-window{border-color:hsl(var(--border))}@media(hover:hover)and (pointer:fine){.projects-showcase-v2 .project-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px -30px hsl(var(--primary) / .4)}.projects-showcase-v2 .project-card:hover .project-text-link svg{transform:translate(2px,-2px)}.projects-showcase-v2 .project-card:hover .project-cover img{transform:scale(1.02)}}@media(max-width:1023px){.projects-showcase-v2 .projects-intro{gap:24px;padding-top:30px}.showcase-art{min-height:325px}.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:280px;border-radius:20px}.showcase-art-frame{inset:18px}.showcase-art-frame-inner{inset:30px}.showcase-art-window{width:min(260px,78%)}.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:12px;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:10px;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-storage{position:fixed;left:-10000px;top:0;width:420px;pointer-events:none}.project-poster{width:420px;background:#fff;color:#1c2e31;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.project-poster .project-poster-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;background:#183b40;border-bottom:1px solid #2F5A52}.project-poster .project-poster-brand img{width:auto;height:26px;display:block}.project-poster .project-poster-brand>span{font-size:9px;letter-spacing:.16em;color:#dce6de;text-transform:uppercase;white-space:nowrap}.project-poster>img{display:block;width:420px;height:240px;object-fit:cover;background:#f5f2eb}.project-poster-cover{height:230px;padding:32px;background:#183b40;color:#f5f2eb;display:flex;flex-direction:column;justify-content:space-between}.project-poster-cover span{font-size:10px;color:#a8c3b2;letter-spacing:.15em}.project-poster-cover strong{font-size:30px;line-height:1.4;overflow-wrap:anywhere}.project-poster .project-poster-content{padding:26px}.project-poster .project-poster-content>p{color:#2f5a52;font-size:11px;line-height:1.6}.project-poster .project-poster-content>h3{font-size:27px;line-height:1.45;margin:13px 0;font-weight:700;color:#1c2e31;overflow-wrap:anywhere}.project-poster .project-poster-description{font-size:13px;line-height:1.85;color:#5d6f70;overflow-wrap:anywhere}.project-poster-introduction{margin-top:24px;border-top:1px solid #D8DFDA;padding-top:20px}.project-poster-introduction h4,.project-poster-highlights h4{font-size:14px;font-weight:700;color:#183b40;margin-bottom:12px}.project-poster-introduction p{font-size:12px;line-height:1.95;color:#5d6f70;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.project-poster-highlights{margin-top:18px;background:#f5f2eb;padding:16px;border-radius:12px}.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:#1c2e31;padding:2px 0;overflow-wrap:anywhere}.project-poster .project-poster-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:22px;border-top:2px solid #183B40}.project-poster .project-poster-owner{flex:1;min-width:0}.project-poster .project-poster-owner>strong{display:flex;align-items:baseline;gap:9px;color:#183b40;font-size:18px;font-weight:750;margin-bottom:9px}.project-poster .project-poster-owner>strong>span{margin:0;font-size:12px;font-weight:500;color:#2f5a52}.project-poster .project-poster-owner>p{font-size:11.5px;line-height:1.9;color:#5d6f70;overflow-wrap:anywhere;margin:0}.project-poster .project-poster-owner>span{display:block;margin-top:9px;color:#5d6f70;font-size:9px}.project-poster .project-poster-footer canvas,.project-poster .project-poster-footer img{flex-shrink:0;border-radius:8px}@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}.chat-page,.chat-sheet-panel{--chat-bg: hsl(var(--background));--chat-surface: hsl(var(--card));--chat-text: hsl(var(--foreground));--chat-muted: hsl(var(--muted-foreground));--chat-brand: hsl(var(--primary));--chat-on-brand: hsl(var(--primary-foreground));--chat-accent: hsl(var(--accent));--chat-border: hsl(var(--border));--chat-user: hsl(var(--secondary));--chat-code-bg: hsl(var(--secondary));--chat-pre-bg: hsl(var(--secondary));--chat-danger: hsl(var(--destructive));--chat-danger-bg: hsl(var(--destructive) / .06);--chat-danger-border: hsl(var(--destructive) / .25);--chat-warning-text: hsl(var(--warning));--chat-warning-bg: hsl(var(--warning) / .1);--chat-warning-border: hsl(var(--warning) / .28);--chat-shadow: 0 18px 60px -24px hsl(var(--primary) / .24)}.dark .chat-page,.dark .chat-sheet-panel{--chat-shadow: 0 24px 70px -24px rgb(0 0 0 / .65)}.chat-page{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--chat-bg);color:var(--chat-text);overscroll-behavior:none}.chat-container{width:100%;max-width:1120px;margin:0 auto;padding-left:16px;padding-right:16px}.chat-reading-column{width:100%;max-width:760px}@media(min-width:640px){.chat-container{padding-left:24px;padding-right:24px}}.chat-header{flex:none;border-bottom:1px solid var(--chat-border);background:var(--chat-bg)}.chat-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding-top:8px;padding-bottom:8px}.chat-identity{display:flex;align-items:center;gap:10px;min-width:0}.chat-identity-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:650;line-height:1.3;white-space:nowrap}.chat-ai-badge{padding:1px 6px;border:1px solid var(--chat-border);border-radius:999px;color:var(--chat-accent);font-size:10.5px;font-weight:600;line-height:1.5}.chat-identity-description{margin-top:2px;overflow:hidden;color:var(--chat-muted);font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.chat-header-actions{display:flex;flex:none;align-items:center;gap:2px}.chat-header-button,.chat-icon-button{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:10px;color:var(--chat-muted);font-size:13px;font-weight:500;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.chat-header-button:hover,.chat-icon-button:hover{border-color:var(--chat-border);background:var(--chat-surface);color:var(--chat-text)}.chat-header-button span{display:none}.chat-header-button:focus-visible,.chat-icon-button:focus-visible,.chat-suggestion:focus-visible,.chat-action-button:focus-visible,.chat-secondary-button:focus-visible,.chat-primary-button:focus-visible,.chat-danger-button:focus-visible,.chat-cancel-button:focus-visible,.chat-jump:focus-visible,.chat-disclaimer button:focus-visible,.chat-menu-item:focus-visible,.chat-send-button:focus-visible,.chat-source-link:focus-visible,.chat-message-details summary:focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px}@media(min-width:640px){.chat-header-button span{display:inline}.chat-identity-description{display:block}}@media(max-width:639px){.chat-identity-description{display:none}}.chat-scroll-wrap{position:relative;display:flex;flex:1 1 0%;min-height:0}.chat-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.chat-scroll>.chat-container{display:flex;min-height:100%;flex-direction:column}.chat-thread{display:flex;width:100%;flex-direction:column;gap:28px;padding-top:28px;padding-bottom:32px}.chat-jump{position:absolute;bottom:16px;left:50%;z-index:2;display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:0 14px;transform:translate(-50%);border-radius:999px;background:var(--chat-brand);color:var(--chat-on-brand);font-size:12.5px;font-weight:550;box-shadow:0 6px 20px #00000029}.chat-welcome{display:flex;width:100%;max-width:680px;flex-direction:column;align-items:center;margin:auto;padding:32px 0;text-align:center;animation:chat-fade-in .22s ease-out both}.chat-welcome-title{margin-top:20px;font-size:clamp(1.5rem,3.2vw,2rem);font-weight:650;letter-spacing:-.025em;line-height:1.35}.chat-welcome-description{max-width:520px;margin-top:10px;color:var(--chat-muted);font-size:15px;line-height:1.75}.chat-suggestions{display:grid;width:100%;max-width:640px;gap:8px;margin-top:28px}.chat-suggestion{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--chat-border);border-radius:12px;background:var(--chat-surface);color:var(--chat-text);font-size:13.5px;line-height:1.5;text-align:left;transition:border-color .15s ease,background-color .15s ease}.chat-suggestion svg{flex:none;color:var(--chat-accent)}.chat-suggestion:hover{border-color:var(--chat-accent)}.chat-welcome-note{margin-top:14px;color:var(--chat-muted);font-size:11.5px;line-height:1.6}@media(min-width:640px){.chat-suggestions{grid-template-columns:repeat(3,minmax(0,1fr))}}.chat-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:transparent}.chat-avatar img{display:block;width:100%;height:100%;object-fit:contain}.chat-message{animation:chat-message-in .16s ease-out both}.chat-message-user{display:flex;justify-content:flex-end}.chat-user-bubble{max-width:85%;padding:11px 15px;border-radius:16px 16px 5px;background:var(--chat-user);color:var(--chat-text);font-size:16px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message-assistant{display:flex;align-items:flex-start;gap:12px}.chat-message-avatar{margin-top:2px}.chat-message-main{flex:1;min-width:0}.chat-message-meta{display:flex;min-height:24px;align-items:center;gap:8px;margin-bottom:4px}.chat-message-name{color:var(--chat-muted);font-size:12px;font-weight:600;letter-spacing:.01em}.chat-message-tag{padding:1px 6px;border:1px solid var(--chat-warning-border);border-radius:999px;background:var(--chat-warning-bg);color:var(--chat-warning-text);font-size:10.5px;line-height:1.6}.chat-message-body{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.chat-limitation{display:flex;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--chat-warning-border);border-radius:10px;background:var(--chat-warning-bg);color:var(--chat-warning-text);font-size:12.5px;line-height:1.65}.chat-limitation svg{margin-top:2px}.chat-message-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px}.chat-action-button{display:inline-flex;min-width:44px;min-height:44px;align-items:center;gap:5px;padding:0 8px;border-radius:8px;color:var(--chat-muted);font-size:12.5px;transition:color .15s ease,background-color .15s ease}.chat-action-button:hover{background:var(--chat-surface);color:var(--chat-text)}.chat-action-button-error{color:var(--chat-danger)}.chat-message-details{position:relative}.chat-message-details summary{display:flex;min-height:44px;align-items:center;padding:0 8px;border-radius:8px;color:var(--chat-muted);font-size:12.5px;cursor:pointer;list-style:none}.chat-message-details summary::-webkit-details-marker{display:none}.chat-message-details summary:after{content:"\b7";margin-left:5px;color:var(--chat-border)}.chat-message-details summary:hover{background:var(--chat-surface);color:var(--chat-text)}.chat-message-detail-body{position:absolute;z-index:3;bottom:46px;left:0;display:flex;width:max-content;max-width:min(76vw,360px);flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--chat-border);border-radius:10px;background:var(--chat-surface);color:var(--chat-muted);font-size:11.5px;line-height:1.6;box-shadow:var(--chat-shadow)}.chat-sources{margin-top:14px;padding:12px 14px;border:1px solid var(--chat-border);border-radius:12px;background:var(--chat-surface)}.chat-sources-title{color:var(--chat-muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.chat-sources ul{display:flex;flex-direction:column;gap:6px;margin-top:8px}.chat-sources li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:13px;line-height:1.6}.chat-source-link{display:inline-flex;align-items:center;gap:4px;color:var(--chat-accent);font-weight:500;overflow-wrap:anywhere;text-decoration:none}.chat-source-link:hover{text-decoration:underline;text-underline-offset:3px}.chat-source-date{color:var(--chat-muted);font-size:11.5px}.chat-request-card{max-width:540px;padding:14px 16px;border:1px solid var(--chat-border);border-radius:12px;background:var(--chat-surface)}.chat-request-line{display:flex;align-items:center;gap:8px;color:var(--chat-text);font-size:14px;font-weight:550}.chat-request-line svg{color:var(--chat-accent)}.chat-request-elapsed{margin-left:auto;color:var(--chat-muted);font-size:12px;font-weight:400}.chat-request-note{margin-top:6px;color:var(--chat-muted);font-size:12.5px;line-height:1.65}.chat-cancel-button{display:inline-flex;min-height:44px;align-items:center;gap:5px;margin-top:10px;padding:0 12px;border:1px solid var(--chat-border);border-radius:8px;color:var(--chat-text);font-size:13px}.chat-cancel-button:hover{border-color:var(--chat-accent)}.chat-failure{display:flex;gap:10px;padding:14px 16px;border:1px solid var(--chat-danger-border);border-radius:12px;background:var(--chat-danger-bg)}.chat-failure>svg{flex:none;margin-top:2px;color:var(--chat-danger)}.chat-failure-main{min-width:0}.chat-failure-title{font-size:14px;font-weight:650}.chat-failure-message{margin-top:4px;color:var(--chat-text);font-size:13.5px;line-height:1.7}.chat-failure-note{margin-top:6px;color:var(--chat-muted);font-size:12px;line-height:1.65}.chat-failure-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chat-secondary-button,.chat-primary-button,.chat-danger-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid var(--chat-border, hsl(var(--border)));border-radius:10px;background:var(--chat-surface, hsl(var(--card)));color:var(--chat-text, hsl(var(--foreground)));font-size:13.5px;font-weight:550;line-height:1.4;transition:border-color .15s ease,opacity .15s ease}.chat-secondary-button:hover:not(:disabled){border-color:var(--chat-accent, hsl(var(--primary)))}.chat-secondary-button:disabled{opacity:.5;cursor:not-allowed}.chat-primary-button{border-color:var(--chat-brand);background:var(--chat-brand);color:var(--chat-on-brand)}.chat-primary-button:hover{opacity:.92}.chat-danger-button{border-color:var(--chat-danger);background:var(--chat-danger);color:var(--chat-on-brand)}.chat-danger-button:hover{opacity:.92}.chat-composer-shell{flex:none;padding-top:10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--chat-border);background:var(--chat-surface)}.chat-composer-form{width:100%}.chat-composer-field{display:flex;align-items:flex-end;gap:8px;padding:5px;border:1px solid var(--chat-border);border-radius:20px;background:var(--chat-bg);transition:border-color .15s ease,box-shadow .15s ease}.chat-composer-field:focus-within{border-color:var(--chat-accent);box-shadow:0 0 0 3px hsl(var(--ring) / .14)}.chat-composer-textarea{width:100%;min-width:0;min-height:44px;max-height:160px;flex:1;padding:9px 10px;overflow-y:auto;border:0;outline:none;background:transparent;color:var(--chat-text);font:inherit;font-size:16px;line-height:1.6;resize:none}.chat-composer-textarea::placeholder{color:var(--chat-muted);opacity:.9}.chat-send-button{display:inline-flex;min-width:48px;height:48px;flex:none;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:10px;background:var(--chat-brand);color:var(--chat-on-brand);font-size:13px;font-weight:600;transition:opacity .15s ease,background-color .15s ease}.chat-send-button:hover:not(:disabled){opacity:.92}.chat-send-button:disabled{opacity:.4;cursor:not-allowed}.chat-composer-hint{display:flex;justify-content:space-between;gap:8px;margin-top:7px;padding:0 6px;color:var(--chat-muted);font-size:11.5px;line-height:1.5}.chat-counter-alert{color:var(--chat-danger)}.chat-disclaimer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 8px;padding:7px 4px 0;color:var(--chat-muted);font-size:11.5px;line-height:1.6;text-align:center}.chat-disclaimer button{min-height:32px;padding:0 4px;color:var(--chat-accent);text-decoration:underline;text-underline-offset:3px}.chat-page .project-markdown{color:var(--chat-text);font-size:16px;line-height:1.8;overflow-wrap:anywhere}.chat-page .project-markdown>*:first-child{margin-top:0}.chat-page .project-markdown>*:last-child{margin-bottom:0}.chat-page .project-markdown p{margin:0 0 14px;color:inherit;font-size:inherit;line-height:inherit;white-space:normal}.chat-page .project-markdown h3,.chat-page .project-markdown h4,.chat-page .project-markdown h5,.chat-page .project-markdown h6{margin:24px 0 10px;color:var(--chat-text);font-weight:650;letter-spacing:-.015em;line-height:1.45}.chat-page .project-markdown h3{font-size:1.2rem}.chat-page .project-markdown h4{font-size:1.08rem}.chat-page .project-markdown h5,.chat-page .project-markdown h6{font-size:1rem}.chat-page .project-markdown ul,.chat-page .project-markdown ol{margin:0 0 14px;padding-left:1.35em}.chat-page .project-markdown ul{list-style:disc}.chat-page .project-markdown ol{list-style:decimal}.chat-page .project-markdown li{margin:6px 0;padding-left:.15em;line-height:1.75}.chat-page .project-markdown li>ul,.chat-page .project-markdown li>ol{margin:6px 0 0}.chat-page .project-markdown blockquote{margin:0 0 14px;padding:2px 0 2px 14px;border-left:3px solid var(--chat-border);color:var(--chat-muted)}.chat-page .project-markdown blockquote p:last-child{margin-bottom:0}.chat-page .project-markdown code{padding:1px 5px;border:1px solid var(--chat-border);border-radius:5px;background:var(--chat-code-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.chat-page .project-markdown pre{max-width:100%;margin:0 0 16px;padding:14px 16px;overflow-x:auto;border:1px solid var(--chat-border);border-radius:10px;background:var(--chat-pre-bg);line-height:1.7}.chat-page .project-markdown pre code{padding:0;border:0;background:none;font-size:.84rem;white-space:pre}.chat-page .project-markdown a{color:var(--chat-accent);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.chat-page .project-markdown a:hover{opacity:.82}.chat-page .project-markdown strong{color:var(--chat-text);font-weight:650}.chat-page .project-markdown em{font-style:italic}.chat-page .project-markdown del{color:var(--chat-muted)}.chat-page .project-markdown hr{margin:22px 0;border:0;border-top:1px solid var(--chat-border)}.chat-page .project-markdown-table{max-width:100%;margin:0 0 16px;overflow-x:auto}.chat-page .project-markdown table{width:100%;min-width:420px;border-collapse:collapse;font-size:.9rem}.chat-page .project-markdown th,.chat-page .project-markdown td{padding:8px 10px;border:1px solid var(--chat-border);line-height:1.7;text-align:left;vertical-align:top}.chat-page .project-markdown th{background:var(--chat-code-bg);font-weight:600}.chat-page .project-markdown img{display:block;max-width:100%;height:auto;margin:16px 0;border:1px solid var(--chat-border);border-radius:10px}.chat-sheet-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#0c161d6b;animation:chat-fade-in .16s ease-out both}.chat-sheet-panel{display:flex;width:100%;max-width:520px;max-height:min(88dvh,720px);flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);border:1px solid var(--chat-border);border-radius:20px 20px 0 0;background:var(--chat-surface);color:var(--chat-text);box-shadow:var(--chat-shadow);animation:chat-sheet-in .2s ease-out both}.chat-sheet-header{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--chat-border)}.chat-sheet-title{font-size:17px;font-weight:650;line-height:1.4}.chat-sheet-description{margin-top:4px;color:var(--chat-muted);font-size:12.5px;line-height:1.65}.chat-sheet-body{min-height:0;overflow-y:auto;padding:16px 18px 20px}.chat-sheet-footer{flex:none;padding:12px 18px;border-top:1px solid var(--chat-border)}@media(min-width:640px){.chat-sheet-backdrop{align-items:center;padding:24px}.chat-sheet-panel{border-radius:18px}}.chat-sheet-loading span{display:block;height:14px;margin-bottom:10px;border-radius:6px;background:var(--chat-border);animation:chat-pulse 1.4s ease-in-out infinite}.chat-sheet-loading span:nth-child(2){width:72%}.chat-sheet-loading span:nth-child(3){width:46%}.chat-sheet-loading p{margin-top:12px;color:var(--chat-muted);font-size:12.5px}.chat-sheet-error p{color:var(--chat-text);font-size:13.5px;line-height:1.7}.chat-sheet-error-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chat-contact-list{display:flex;flex-direction:column}.chat-contact-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--chat-border)}.chat-contact-row:last-child{border-bottom:0}.chat-contact-row dt{display:flex;align-items:center;gap:6px;color:var(--chat-muted);font-size:12.5px;line-height:1.6}.chat-contact-row dd{min-width:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.chat-contact-row dd a{color:var(--chat-text);font-weight:550;text-decoration:none}.chat-contact-row dd a:hover{text-decoration:underline;text-underline-offset:3px}.chat-contact-note{margin-top:3px;color:var(--chat-muted);font-size:11.5px;line-height:1.6}.chat-contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chat-contact-disclaimer{margin-top:14px;color:var(--chat-muted);font-size:11.5px;line-height:1.7}.chat-notice-sections section+section{margin-top:16px;padding-top:16px;border-top:1px solid var(--chat-border)}.chat-notice-sections h3{font-size:13.5px;font-weight:650;line-height:1.5}.chat-notice-sections section p{margin-top:5px;color:var(--chat-muted);font-size:13px;line-height:1.75}.chat-notice-footnote{margin-top:18px;padding:12px;border-radius:10px;background:var(--chat-bg);color:var(--chat-muted);font-size:12px;line-height:1.7}.chat-menu{display:flex;flex-direction:column;gap:4px}.chat-menu-item{display:flex;width:100%;min-height:56px;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;color:var(--chat-text);text-align:left}.chat-menu-item:hover{background:var(--chat-bg)}.chat-menu-item>svg{flex:none;margin-top:2px;color:var(--chat-muted)}.chat-menu-item strong{display:block;font-size:14px;font-weight:550;line-height:1.5}.chat-menu-item small{display:block;margin-top:2px;color:var(--chat-muted);font-size:12px;line-height:1.55}.chat-menu-danger,.chat-menu-danger>svg{color:var(--chat-danger)}.chat-clear-confirm{margin-top:8px;padding:14px;border:1px solid var(--chat-danger-border);border-radius:12px;background:var(--chat-danger-bg)}.chat-clear-confirm p{color:var(--chat-text);font-size:13px;line-height:1.7}.chat-clear-actions{display:flex;gap:8px;margin-top:12px}.chat-toast{position:fixed;bottom:calc(140px + env(safe-area-inset-bottom,0px));left:50%;z-index:90;width:max-content;max-width:min(92vw,460px);padding:10px 14px;transform:translate(-50%);border-radius:10px;background:var(--chat-brand);color:var(--chat-on-brand);font-size:12.5px;line-height:1.6;text-align:center;box-shadow:var(--chat-shadow);animation:chat-toast-in .18s ease-out both}.chat-voice-loading{position:fixed;right:24px;bottom:96px;z-index:80;padding:14px 16px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));color:hsl(var(--foreground));font-size:13px}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}@keyframes chat-message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-toast-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes chat-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.chat-page *,.chat-sheet-panel *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:Inter;src:url(/fonts/inter-latin-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,: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,PingFang SC,Microsoft YaHei,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:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,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% 52%;--primary-foreground: 0 0% 100%;--primary-hover: 217 91% 58%;--secondary: 220 15% 94%;--secondary-foreground: 222 25% 20%;--secondary-hover: 220 15% 88%;--muted: 220 15% 94%;--muted-foreground: 220 10% 46%;--accent: 174 70% 30%;--accent-foreground: 0 0% 100%;--accent-hover: 174 70% 36%;--warm: 43 90% 50%;--warm-foreground: 0 0% 100%;--success: 152 40% 30%;--success-foreground: 0 0% 100%;--warning: 38 85% 30%;--warning-foreground: 0 0% 100%;--info: 200 45% 32%;--info-foreground: 0 0% 100%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 220 15% 88%;--input: 220 15% 88%;--ring: 217 91% 52%;--radius: .625rem;--radius-panel: 1rem;--radius-hero: 1.5rem;--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);--transition-fast: all .16s cubic-bezier(.2, 0, 0, 1);--transition-smooth: all .22s cubic-bezier(.2, 0, 0, 1);--transition-spring: all .22s cubic-bezier(.2, 0, 0, 1)}.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: 222 30% 6%;--primary-hover: 217 91% 66%;--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 70% 62%;--accent-foreground: 222 30% 6%;--accent-hover: 174 70% 68%;--warm: 43 96% 56%;--warm-foreground: 222 30% 6%;--success: 152 35% 70%;--success-foreground: 222 30% 6%;--warning: 38 90% 68%;--warning-foreground: 222 30% 6%;--info: 200 50% 72%;--info-foreground: 222 30% 6%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 222 20% 16%;--input: 222 20% 16%;--ring: 217 91% 60%;--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow-md: 0 8px 24px -12px rgb(0 0 0 / .5);--shadow-lg: 0 20px 48px -24px rgb(0 0 0 / .6)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,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:.2s;animation-duration:.2s}::-moz-selection{background-color:hsl(var(--primary) / .2);color:hsl(var(--foreground))}::selection{background-color:hsl(var(--primary) / .2);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}}.section-divider{height:1px;background:linear-gradient(90deg,transparent,hsl(var(--border)),transparent)}.card-hover-lift{transition:transform .22s cubic-bezier(.2,0,0,1),box-shadow .22s cubic-bezier(.2,0,0,1),border-color .22s ease}.card-hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:hsl(var(--primary) / .22)}.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:calc(var(--radius) - 2px);background-color:hsl(var(--secondary));padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.25rem;color:hsl(var(--foreground))}.blog-content pre{margin-bottom:1.5rem;overflow-x:auto;border-radius:var(--radius-panel);background:hsl(var(--muted))}.blog-content pre code{display:block;background-color:transparent;padding:1rem;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,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:var(--radius-panel)}.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:var(--radius-panel);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}.blog-content :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:6rem}.blog-content[data-zoomable] img{cursor:zoom-in}.blog-content del{color:hsl(var(--muted-foreground))}.blog-content mark{border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--warm) / .2);padding-left:.125rem;padding-right:.125rem;color:hsl(var(--foreground))}.blog-content kbd{border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--secondary));padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,monospace;font-size:.75rem;line-height:1rem;color:hsl(var(--foreground))}.blog-content dl{margin-bottom:1rem}.blog-content dt{font-weight:600}.blog-content dd{margin-bottom:.5rem;padding-left:1rem;color:hsl(var(--muted-foreground))}.blog-content figure{margin-top:1.5rem;margin-bottom:1.5rem}.blog-content figure img{margin-top:0;margin-bottom:0}.blog-content figcaption{margin-top:.5rem;text-align:center;font-size:.75rem;line-height:1rem;line-height:1.625;color:hsl(var(--muted-foreground))}.blog-content .task-list{list-style-type:none;padding-left:0}.blog-content .task-list-item{list-style-type:none}.blog-content .task-list-item input[type=checkbox]{margin-right:.5rem;height:1rem;width:1rem;vertical-align:middle;accent-color:hsl(var(--primary))}.blog-content .footnote{margin-top:2rem;border-top-width:1px;border-color:hsl(var(--border));padding-top:1rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.blog-content .footnote hr{display:none}.blog-content .footnote ol{padding-left:1.25rem}.blog-content .footnote-ref{vertical-align:super;font-size:.75rem;line-height:1rem;text-decoration-line:none}.blog-content .footnote-backref{margin-left:.25rem;text-decoration-line:none}.blog-content :is(.codehilite,.highlight){margin-bottom:1.5rem;overflow-x:auto;border-radius:var(--radius-panel);border-width:1px;border-color:hsl(var(--border));background:#0f172a}.blog-content :is(.codehilite,.highlight) pre{margin-bottom:0;border-radius:0;background-color:transparent}.blog-content :is(.codehilite,.highlight) code{display:block;background-color:transparent;padding:1rem;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.5rem;color:#d6deeb}.blog-content :is(.codehilite,.highlight) .hll{background-color:#1e293b}.blog-content :is(.codehilite,.highlight) :is(.c,.c1,.cm,.cs,.ch,.cp,.cpf){color:#637777;font-style:italic}.blog-content :is(.codehilite,.highlight) :is(.k,.kc,.kd,.kn,.kp,.kr,.kt){color:#c792ea}.blog-content :is(.codehilite,.highlight) :is(.s,.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sx,.sr,.ss,.sa,.dl){color:#ecc48d}.blog-content :is(.codehilite,.highlight) :is(.\!s,.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sx,.sr,.ss,.sa,.dl){color:#ecc48d!important}.blog-content :is(.codehilite,.highlight) :is(.m,.mb,.mf,.mh,.mi,.mo){color:#f78c6c}.blog-content :is(.codehilite,.highlight) :is(.nf,.fm){color:#82aaff}.blog-content :is(.codehilite,.highlight) :is(.nc,.nn){color:#ffcb8b}.blog-content :is(.codehilite,.highlight) :is(.nb,.bp){color:#addb67}.blog-content :is(.codehilite,.highlight) :is(.o,.ow){color:#7fdbca}.blog-content :is(.codehilite,.highlight) :is(.na,.nt){color:#7fdbca}.blog-content :is(.codehilite,.highlight) :is(.nv,.vg,.vi,.vc){color:#d6deeb}.blog-content :is(.codehilite,.highlight) :is(.gp,.gh,.gu){color:#82aaff;font-weight:600}.blog-content :is(.codehilite,.highlight) .gd{color:#ff5874}.blog-content :is(.codehilite,.highlight) .gi{color:#addb67}.blog-content :is(.codehilite,.highlight) .err{color:#ff5874}.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}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-12{inset:-3rem}.-inset-6{inset:-1.5rem}.inset-0{inset:0}.inset-4{inset:1rem}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-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-3{bottom:.75rem}.bottom-36{bottom:9rem}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.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-2\.5{top:.625rem}.top-24{top:6rem}.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-\[100\]{z-index:100}.z-\[120\]{z-index:120}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[85\]{z-index:85}.z-\[90\]{z-index:90}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.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-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.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-7{margin-bottom:1.75rem}.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-10{margin-top:2.5rem}.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-7{margin-top:1.75rem}.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}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.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}.aspect-\[1200\/630\]{aspect-ratio:1200/630}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/7\]{aspect-ratio:16/7}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:16 / 9}.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-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-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[168px\]{height:168px}.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-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[16dvh\]{max-height:16dvh}.max-h-\[30dvh\]{max-height:30dvh}.max-h-\[500px\]{max-height:500px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[86dvh\]{max-height:86dvh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92dvh\]{max-height:92dvh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-5{min-height:1.25rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[160px\]{min-height:160px}.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-\[56px\]{min-height:56px}.min-h-\[60px\]{min-height:60px}.min-h-\[64px\]{min-height:64px}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80vh\]{min-height:80vh}.min-h-\[88px\]{min-height:88px}.min-h-\[90vh\]{min-height:90vh}.min-h-\[calc\(var\(--md-rows\,12\)\*1\.75rem\+1\.5rem\)\]{min-height:calc(var(--md-rows,12) * 1.75rem + 1.5rem)}.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-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[110px\]{width:110px}.w-\[168px\]{width:168px}.w-\[390px\]{width:390px}.w-\[min\(20rem\,90vw\)\]{width:min(20rem,90vw)}.w-\[min\(500px\,78\%\)\]{width:min(500px,78%)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[120px\]{min-width:120px}.min-w-\[14px\]{min-width:14px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.min-w-\[32px\]{min-width:32px}.min-w-\[36px\]{min-width:36px}.min-w-\[420px\]{min-width:420px}.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-\[10px\]{max-width:10px}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[42vw\]{max-width:42vw}.max-w-\[55vw\]{max-width:55vw}.max-w-\[70\%\]{max-width:70%}.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-content{max-width:1200px}.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-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.basis-48{flex-basis:12rem}.basis-56{flex-basis:14rem}.-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-1{--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))}.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))}.rotate-180{--tw-rotate: 180deg;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))}.rotate-45{--tw-rotate: 45deg;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-\[1\.03\]{--tw-scale-x: 1.03;--tw-scale-y: 1.03;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 .22s cubic-bezier(.2,0,0,1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .22s cubic-bezier(.2,0,0,1)}@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 .22s cubic-bezier(.2,0,0,1)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) 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 .22s cubic-bezier(.2,0,0,1)}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slide-up .22s cubic-bezier(.2,0,0,1)}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.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))}.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}.items-baseline{align-items:baseline}.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-\[2px\]{gap:2px}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.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-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * 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}.overscroll-x-contain{overscroll-behavior-x: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:calc(var(--radius) - 2px)}.rounded-2xl{border-radius:calc(var(--radius-panel) + 4px)}.rounded-3xl{border-radius:var(--radius-hero)}.rounded-\[32px\]{border-radius:32px}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-panel)}.rounded-t{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.rounded-t-lg{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.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:var(--radius)}.rounded-br-md{border-bottom-right-radius:var(--radius)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-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{border-color:hsl(var(--accent))}.border-accent\/30{border-color:hsl(var(--accent) / .3)}.border-accent\/40{border-color:hsl(var(--accent) / .4)}.border-background{border-color:hsl(var(--background))}.border-border{border-color:hsl(var(--border))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/25{border-color:hsl(var(--destructive) / .25)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/45{border-color:hsl(var(--destructive) / .45)}.border-foreground\/20{border-color:hsl(var(--foreground) / .2)}.border-info\/20{border-color:hsl(var(--info) / .2)}.border-info\/25{border-color:hsl(var(--info) / .25)}.border-input{border-color:hsl(var(--input))}.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\/25{border-color:hsl(var(--primary) / .25)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/45{border-color:hsl(var(--primary) / .45)}.border-primary\/60{border-color:hsl(var(--primary) / .6)}.border-success\/20{border-color:hsl(var(--success) / .2)}.border-success\/25{border-color:hsl(var(--success) / .25)}.border-success\/30{border-color:hsl(var(--success) / .3)}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-warm\/30{border-color:hsl(var(--warm) / .3)}.border-warm\/40{border-color:hsl(var(--warm) / .4)}.border-warning\/20{border-color:hsl(var(--warning) / .2)}.border-warning\/25{border-color:hsl(var(--warning) / .25)}.border-warning\/30{border-color:hsl(var(--warning) / .3)}.border-warning\/40{border-color:hsl(var(--warning) / .4)}.border-warning\/45{border-color:hsl(var(--warning) / .45)}.border-white\/10{border-color:#ffffff1a}.border-white\/30{border-color:#ffffff4d}.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\/10{background-color:hsl(var(--accent) / .1)}.bg-accent\/15{background-color:hsl(var(--accent) / .15)}.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-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\/85{background-color:hsl(var(--background) / .85)}.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-black\/90{background-color:#000000e6}.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\/70{background-color:hsl(var(--card) / .7)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.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-destructive\/75{background-color:hsl(var(--destructive) / .75)}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-info\/10{background-color:hsl(var(--info) / .1)}.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-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.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\/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-primary\/70{background-color:hsl(var(--primary) / .7)}.bg-primary\/75{background-color:hsl(var(--primary) / .75)}.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-secondary\/70{background-color:hsl(var(--secondary) / .7)}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/5{background-color:hsl(var(--success) / .05)}.bg-success\/\[0\.02\]{background-color:hsl(var(--success) / .02)}.bg-transparent{background-color:transparent}.bg-warm{background-color:hsl(var(--warm))}.bg-warm\/10{background-color:hsl(var(--warm) / .1)}.bg-warm\/15{background-color:hsl(var(--warm) / .15)}.bg-warm\/70{background-color:hsl(var(--warm) / .7)}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-warning\/5{background-color:hsl(var(--warning) / .05)}.bg-warning\/60{background-color:hsl(var(--warning) / .6)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-secondary\/40{--tw-gradient-from: hsl(var(--secondary) / .4) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--secondary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), 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)}.to-background{--tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position)}.fill-warning{fill:hsl(var(--warning))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.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-3\.5{padding:.875rem}.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-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.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-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pl-10{padding-left:2.5rem}.pl-14{padding-left:3.5rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.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-5{padding-top:1.25rem}.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:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,Consolas,monospace}.font-sans{font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,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-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.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-4{line-height:1rem}.leading-7{line-height:1.75rem}.leading-\[1\.12\]{line-height:1.12}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent{color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-border{color:hsl(var(--border))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-destructive\/80{color:hsl(var(--destructive) / .8)}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/85{color:hsl(var(--foreground) / .85)}.text-info{color:hsl(var(--info))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary-foreground\/80{color:hsl(var(--primary-foreground) / .8)}.text-primary-foreground\/90{color:hsl(var(--primary-foreground) / .9)}.text-primary\/20{color:hsl(var(--primary) / .2)}.text-primary\/60{color:hsl(var(--primary) / .6)}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-warm{color:hsl(var(--warm))}.text-warning{color:hsl(var(--warning))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.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}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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-1{--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)}.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-border{--tw-ring-color: hsl(var(--border))}.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))}.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-150{transition-delay:.15s}.delay-200{transition-delay:.2s}.delay-75{transition-delay:75ms}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.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-75{animation-duration:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-75{animation-delay:75ms}.running{animation-play-state:running}.paused{animation-play-state:paused}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-md::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))}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/70::-moz-placeholder{color:hsl(var(--muted-foreground) / .7)}.placeholder\:text-muted-foreground\/70::placeholder{color:hsl(var(--muted-foreground) / .7)}.last\:border-0:last-child{border-width:0px}.focus-within\:border-primary\/40:focus-within{border-color:hsl(var(--primary) / .4)}.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\: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-background:hover{background-color:hsl(var(--background))}.hover\:bg-background\/60:hover{background-color:hsl(var(--background) / .6)}.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-info\/15:hover{background-color:hsl(var(--info) / .15)}.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\/80:hover{background-color:hsl(var(--primary) / .8)}.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\/70:hover{background-color:hsl(var(--secondary) / .7)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-success\/10:hover{background-color:hsl(var(--success) / .1)}.hover\:bg-success\/15:hover{background-color:hsl(var(--success) / .15)}.hover\:bg-warm\/25:hover{background-color:hsl(var(--warm) / .25)}.hover\:bg-warning\/15:hover{background-color:hsl(var(--warning) / .15)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-success\/80:hover{color:hsl(var(--success) / .8)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.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)}.focus\:border-destructive\/50:focus{border-color:hsl(var(--destructive) / .5)}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary) / .4)}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.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-primary\/20:focus{--tw-ring-color: hsl(var(--primary) / .2)}.focus\:ring-primary\/30:focus{--tw-ring-color: hsl(var(--primary) / .3)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.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\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;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))}.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}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:bg-primary{background-color:hsl(var(--primary))}.group:hover .group-hover\:bg-primary\/15{background-color:hsl(var(--primary) / .15)}.group:hover .group-hover\:bg-primary\/20{background-color:hsl(var(--primary) / .2)}.group:hover .group-hover\:bg-success\/20{background-color:hsl(var(--success) / .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}.dark\:bg-\[\#0B4FCB\]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(11 79 203 / var(--tw-bg-opacity, 1))}.dark\:text-\[\#0B4FCB\]:is(.dark *){--tw-text-opacity: 1;color:rgb(11 79 203 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-white\/90:is(.dark *){color:#ffffffe6}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:inline-grid{display:inline-grid}.sm\:h-16{height:4rem}.sm\:w-24{width:6rem}.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\:min-w-\[190px\]{min-width:190px}.sm\:max-w-\[70\%\]{max-width:70%}.sm\:max-w-\[75\%\]{max-width:75%}.sm\:max-w-\[82\%\]{max-width:82%}.sm\:max-w-none{max-width:none}.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-\[140px_minmax\(0\,1fr\)_auto\]{grid-template-columns:140px minmax(0,1fr) auto}.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\:items-stretch{align-items:stretch}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-10{gap:2.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:pb-0{padding-bottom:0}.sm\:pr-0{padding-right:0}.sm\:text-right{text-align:right}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.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}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@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\:sticky{position:sticky}.lg\:top-24{top:6rem}.lg\:z-auto{z-index:auto}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:grid{display:grid}.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\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.lg\:items-start{align-items:flex-start}.lg\:gap-10{gap:2.5rem}.lg\:self-start{align-self:flex-start}.lg\:p-8{padding:2rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media(min-width:1280px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_330px\]{grid-template-columns:minmax(0,1fr) 330px}}@media(min-width:1536px){.\32xl\:block{display:block}.\32xl\:hidden{display:none}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_380px\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 380px}}
