.border-glow-card{--edge-proximity:0;--cursor-angle:45deg;--edge-sensitivity:30;--color-sensitivity:calc(var(--edge-sensitivity) + 20);--border-radius:28px;--glow-padding:40px;--cone-spread:25;border-radius:var(--border-radius);isolation:isolate;background:var(--card-bg,#120f17);border:1px solid #ffffff26;display:grid;position:relative;overflow:visible;transform:translateZ(.01px);box-shadow:0 1px 2px #0000001a,0 2px 4px #0000001a,0 4px 8px #0000001a,0 8px 16px #0000001a,0 16px 32px #0000001a,0 32px 64px #0000001a}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";border-radius:inherit;z-index:-1;transition:opacity .25s ease-out;position:absolute;inset:0}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{background:linear-gradient(var(--card-bg,#120f17) 0 100%) padding-box, linear-gradient(#fff0 0% 100%) border-box, var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) border-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) border-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) border-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) border-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) border-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) border-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) border-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%));border:1px solid #0000}.border-glow-card:after{background:var(--gradient-one,radial-gradient(at 80% 55%, #be85ff 0px, transparent 50%)) padding-box, var(--gradient-two,radial-gradient(at 69% 34%, #ff7a93 0px, transparent 50%)) padding-box, var(--gradient-three,radial-gradient(at 8% 6%, #8fffad 0px, transparent 50%)) padding-box, var(--gradient-four,radial-gradient(at 41% 38%, #47daff 0px, transparent 50%)) padding-box, var(--gradient-five,radial-gradient(at 86% 85%, #7af2ff 0px, transparent 50%)) padding-box, var(--gradient-six,radial-gradient(at 82% 18%, #ffe74c 0px, transparent 50%)) padding-box, var(--gradient-seven,radial-gradient(at 51% 4%, #ff8d70 0px, transparent 50%)) padding-box, var(--gradient-base,linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);mask-image:linear-gradient(to bottom, black, black), radial-gradient(ellipse at 50% 50%, black 40%, transparent 65%), radial-gradient(ellipse at 66% 66%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 66% 33%, black 5%, transparent 40%), radial-gradient(ellipse at 33% 66%, black 5%, transparent 40%), conic-gradient(from var(--cursor-angle) at center, transparent 5%, black 15%, black 85%, transparent 95%);opacity:calc(var(--fill-opacity,.5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light;border:1px solid #0000;-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color,#f5daa3), inset 0 0 1px 0 var(--glow-color-60,#f5daa399), inset 0 0 3px 0 var(--glow-color-50,#f5daa380), inset 0 0 6px 0 var(--glow-color-40,#f5daa366), inset 0 0 15px 0 var(--glow-color-30,#f5daa34d), inset 0 0 25px 2px var(--glow-color-20,#f5daa333), inset 0 0 50px 2px var(--glow-color-10,#f5daa31a), 0 0 1px 0 var(--glow-color-60,#f5daa399), 0 0 3px 0 var(--glow-color-50,#f5daa380), 0 0 6px 0 var(--glow-color-40,#f5daa366), 0 0 15px 0 var(--glow-color-30,#f5daa34d), 0 0 25px 2px var(--glow-color-20,#f5daa333), 0 0 50px 2px var(--glow-color-10,#f5daa31a);position:absolute}.border-glow-inner{z-index:1;flex-direction:column;display:flex;position:relative;overflow:visible}.border-glow-card.no-side-borders{border-left:none;border-right:none}.border-glow-card.marquee-glow,.border-glow-card.marquee-glow .border-glow-inner{overflow:hidden}.border-glow-card.no-side-borders:before{-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%)), linear-gradient(to bottom, black 0%, black 8%, transparent 8%, transparent 92%, black 92%, black 100%);mask-image:conic-gradient(from var(--cursor-angle) at center, black calc(var(--cone-spread) * 1%), transparent calc((var(--cone-spread) + 15) * 1%), transparent calc((100 - var(--cone-spread) - 15) * 1%), black calc((100 - var(--cone-spread)) * 1%)), linear-gradient(to bottom, black 0%, black 8%, transparent 8%, transparent 92%, black 92%, black 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.border-glow-card.no-side-borders>.edge-light{-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%), linear-gradient(to bottom, black 0%, black 25%, transparent 35%, transparent 65%, black 75%, black 100%);mask-image:conic-gradient(from var(--cursor-angle) at center, black 2.5%, transparent 10%, transparent 90%, black 97.5%), linear-gradient(to bottom, black 0%, black 25%, transparent 35%, transparent 65%, black 75%, black 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
.tc{--tc-dur:.55s;--tc-ease:cubic-bezier(.2, .8, .2, 1);--pk-red:#dc0a2d;--pk-red-dark:#a50722;--pk-yellow:#ffcb05;--z-bg:#0e0b12;--z-elevated:#201a2b;--z-accent:#9d00ff;--z-accent-hover:#b23dff;--z-text:#f2eef7;--z-text-2:#a99bc0;--z-danger:#ff3d5e;height:100%;transition:transform var(--tc-dur) var(--tc-ease);will-change:transform;position:relative}.tc.tc-on{z-index:10;transform:scale(1.045)}.tc-shake{height:100%;position:relative}.tc-glow{pointer-events:none;opacity:0;transition:opacity var(--tc-dur) var(--tc-ease);will-change:opacity;border-radius:16px;position:absolute;inset:0}.tc.tc-on .tc-glow{opacity:1}.tc-pontindex .tc-glow{box-shadow:0 0 0 1px #ffffff4d,0 0 60px #dc0a2de6,0 0 140px #dc0a2d99,0 0 220px #dc0a2d59,0 20px 50px #00000080}.tc-zoi .tc-glow{box-shadow:0 0 0 1px #b23dff73,0 0 60px #9d00ffcc,0 0 140px #9d00ff80,0 0 220px #9d00ff4d,0 20px 50px #0000008c}@media (max-width:767px){.tc-pontindex .tc-glow{box-shadow:0 0 0 1px #ffffff4d,0 0 60px #dc0a2de6,0 0 140px #dc0a2d99,0 20px 50px #00000080}.tc-zoi .tc-glow{box-shadow:0 0 0 1px #b23dff73,0 0 60px #9d00ffcc,0 0 140px #9d00ff80,0 20px 50px #0000008c}}.tc .border-glow-inner{border-radius:inherit;height:100%;overflow:hidden}.tc .tc-content{z-index:3}.tc-bg,.tc-scan,.tc-flash,.tc-peeks,.tc-cursors{pointer-events:none;position:absolute;inset:0}.tc-bg{z-index:0;opacity:0;transition:opacity var(--tc-dur) var(--tc-ease);will-change:opacity}.tc-pontindex .tc-bg{background:var(--pk-red)}.tc-pontindex.tc-on .tc-bg{opacity:1}.tc-scan{z-index:2;opacity:0;transition:opacity var(--tc-dur) var(--tc-ease);image-rendering:pixelated;will-change:opacity;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAGElEQVR4AWL6//8/JxMjI+N3JgYgABMAAAAA//8fIzlhAAAABklEQVQDAEGWBAlx5O3UAAAAAElFTkSuQmCC);background-repeat:repeat;background-size:1px 4px;transform:translateZ(0)}.tc-pontindex .tc-scan{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAGElEQVR4AWL6//+/HhMjI+MlJgYGBgYAAAAA//87LnXuAAAABklEQVQDAC4iBAc3TnFKAAAAAElFTkSuQmCC);background-size:1px 3px}.tc-on .tc-scan{opacity:1}.tc-flash{z-index:9;opacity:0;border-radius:inherit;will-change:opacity;background:#fff}.tc-shake.tc-switching{animation:.38s cubic-bezier(.36,.07,.19,.97) both tc-shake}.tc-shake.tc-switching .tc-flash{animation:.26s ease-out both tc-flash}@keyframes tc-flash{0%{opacity:0}25%{opacity:.95}to{opacity:0}}@keyframes tc-shake{0%,to{translate:0;rotate:none}15%{translate:-7px 2px;rotate:-.6deg}30%{translate:7px -2px;rotate:.6deg}45%{translate:-5px 1px;rotate:-.4deg}60%{translate:5px -1px;rotate:.4deg}75%{translate:-3px;rotate:-.2deg}90%{translate:2px;rotate:.1deg}}.tc .tc-title,.tc .tc-subtitle,.tc .tc-desc,.tc .tc-tag,.tc .tc-pill{transition-property:color,background-color,border-color,box-shadow,opacity;transition-duration:var(--tc-dur);transition-timing-function:var(--tc-ease)}.tc .tc-desc{will-change:opacity}.tc-pontindex.tc-on .border-glow-card{border-color:#ffffff8c}.tc-pontindex.tc-on .tc-title{font-family:var(--font-fredoka), var(--font-geist-sans), sans-serif;color:#fff;letter-spacing:.3px;text-shadow:0 2px 0 var(--pk-red-dark);font-size:24px;font-weight:700}.tc-pontindex.tc-on .tc-subtitle{font-family:var(--font-silkscreen), monospace;color:var(--pk-yellow);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.tc-pontindex.tc-on .tc-desc{color:#fff;opacity:.92}.tc-pontindex.tc-on .tc-tag{color:#fff;font-family:var(--font-silkscreen), monospace;background:#ffffff24;border-color:#ffffff59;font-size:9px}.tc-pontindex.tc-on .tc-pill-status,.tc-pontindex.tc-on .tc-pill-personal{color:#fff;background:#ffffff24;border-color:#fff6}.tc-pontindex.tc-on .tc-pill-new{background:var(--pk-yellow);color:#2b2200;box-shadow:0 0 14px #ffcb058c}.tc-pontindex.tc-on .tc-pill-new .tc-pill-dot{background:#2b2200}.tc-pontindex.tc-on .tc-pill{font-family:var(--font-silkscreen), monospace;letter-spacing:.3px;font-size:10px;font-weight:400}.tc-pontindex.tc-on .tc-btn{color:var(--pk-red);box-shadow:0 4px 0 var(--pk-red-dark);font-family:var(--font-silkscreen), monospace;letter-spacing:.3px;background:#fff;font-size:11px;font-weight:400}.tc-pontindex.tc-on .tc-btn-ghost{color:#fff;box-shadow:none;background:0 0;border-color:#fff9}.tc-pokeball{z-index:1;pointer-events:none;opacity:0;width:260px;height:260px;transition:opacity var(--tc-dur) var(--tc-ease), transform var(--tc-dur) var(--tc-ease);will-change:transform;background:url(/projects/pontindex/pokebola-white.png) 50%/contain no-repeat;position:absolute;bottom:-70px;right:-60px;transform:rotate(0)scale(.7)}.tc-pontindex.tc-on .tc-pokeball{opacity:.13;animation:14s linear infinite tc-spin}@keyframes tc-spin{to{transform:rotate(360deg)}}.tc-peek{pointer-events:none;image-rendering:pixelated;image-rendering:crisp-edges;will-change:transform;animation:tc-peek var(--life,1s) cubic-bezier(.2, .9, .3, 1) both;position:absolute}.tc-peek-back{z-index:2}.tc-peek-front{z-index:4}.tc-peek-flip{--sx:-1}@keyframes tc-peek{0%{transform:translate(var(--ox), var(--oy)) rotate(var(--rot,0deg)) scaleX(var(--sx,1))}28%{transform:translate(0, 0) rotate(var(--rot,0deg)) scaleX(var(--sx,1))}72%{transform:translate(0, 0) rotate(var(--rot,0deg)) scaleX(var(--sx,1))}to{transform:translate(var(--ox), var(--oy)) rotate(var(--rot,0deg)) scaleX(var(--sx,1))}}.tc-zoi .tc-bg{background:radial-gradient(120% 90% at 100% 100%, #2a1240 0%, var(--z-elevated) 40%, var(--z-bg) 100%)}.tc-zoi.tc-on .tc-bg{opacity:1}.tc-zoi.tc-on .border-glow-card{color:var(--z-text);border-color:#b23dff99}@media (hover:hover){.tc-zoi.tc-on{cursor:none}}.tc-zoi.tc-on .tc-title{color:var(--z-text);letter-spacing:-.3px;margin-top:26px;font-size:24px}.tc .tc-badges{transition:none}@media (max-width:767px){.tc-zoi.tc-on .tc-badges{top:48px}}.tc-zoi.tc-on .tc-subtitle{color:var(--z-accent-hover)}.tc-zoi.tc-on .tc-desc{color:var(--z-text);opacity:.82}.tc-zoi.tc-on .tc-tag{color:var(--z-text);background:#9d00ff26;border-color:#9d00ff73}.tc-zoi.tc-on .tc-pill-status,.tc-zoi.tc-on .tc-pill-personal{color:var(--z-accent-hover);background:#9d00ff26;border-color:#9d00ff80}.tc-zoi.tc-on .tc-pill-new{background:var(--z-accent);box-shadow:0 0 14px #9d00ff99}.tc-zoi.tc-on .tc-btn{background:var(--z-accent);box-shadow:0 0 18px #9d00ff8c}.tc-goiaba{z-index:1;pointer-events:none;opacity:0;width:240px;height:240px;transition:opacity var(--tc-dur) var(--tc-ease), transform var(--tc-dur) var(--tc-ease);background:url(/projects/zoi/logo-goiaba.png) 50%/contain no-repeat;position:absolute;bottom:-50px;right:-40px;transform:translateY(24px)rotate(-8deg)scale(.85)}.tc-zoi.tc-on .tc-goiaba{opacity:.22;animation:5s ease-in-out infinite tc-float;transform:translateY(0)rotate(-6deg)scale(1)}@keyframes tc-float{0%,to{translate:0}50%{translate:0 -8px}}.tc-live{z-index:5;opacity:0;transition:opacity var(--tc-dur) var(--tc-ease), transform var(--tc-dur) var(--tc-ease);will-change:opacity, transform;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:16px;left:24px;transform:translateY(-8px)}.tc-zoi.tc-on .tc-live{opacity:1;transform:none}.tc-live-rec{letter-spacing:.6px;color:#fff;background:var(--z-danger);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.tc-live-rec i{background:#fff;border-radius:50%;width:6px;height:6px;animation:1.2s infinite tc-pulse}@keyframes tc-pulse{0%,to{opacity:1}50%{opacity:.35}}.tc-live-meta{color:var(--z-text-2);font-variant-numeric:tabular-nums;font-size:11px}.tc-avatars{display:flex}.tc-avatars b{border:2px solid var(--z-bg);border-radius:50%;place-items:center;width:20px;height:20px;margin-left:-6px;font-size:10px;font-weight:700;display:grid}.tc-avatars b:first-child{margin-left:0}.tc-cursors{z-index:4;opacity:0;transition:opacity .3s}.tc-zoi.tc-on .tc-cursors{opacity:1}.tc-cursor{will-change:transform;align-items:flex-start;gap:4px;transition:transform 1.4s,opacity .4s;display:flex;position:absolute;top:0;left:0}.tc-cursor-me{transition:transform 40ms linear,opacity .3s}.tc-cursor-idle{opacity:0}.tc-cursor svg{flex:none;width:18px;height:18px}.tc-cursor span{white-space:nowrap;background:#0e0b12d9;border:1px solid;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;box-shadow:0 2px 8px #0009}.tc-cursor-enter svg,.tc-cursor-enter span{animation:.18s cubic-bezier(.2,0,0,1) both tc-zin}@keyframes tc-zin{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tc,.tc *{transition-duration:1ms!important;animation:none!important}}
.dot-field-container{width:100%;height:100%;position:relative}
