@property --float-y{syntax:"<length>";inherits:false;initial-value:0}@property --scale{syntax:"<number>";inherits:false;initial-value:1}@property --tx{syntax:"<length>";inherits:false;initial-value:0}@property --ty{syntax:"<length>";inherits:false;initial-value:0}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}@property --rx{syntax:"<angle>";inherits:true;initial-value:0deg}@property --ry{syntax:"<angle>";inherits:true;initial-value:0deg}.tc-stage{--tc-paper-200:#ebebe4;--tc-paper-300:#d8d8d0;--tc-paper-400:#f0f0e9;--tc-back-light-a:#f6f6f3;--tc-back-light-b:#ebebe4;--tc-back-dark-a:#1a1f24;--tc-back-dark-b:#0a0d10;position:relative}.tc-stage *{box-sizing:border-box}.tc-row{flex-wrap:wrap;justify-content:center;gap:40px;display:flex}.tc-card{--mx:50%;--my:50%;--posx:50%;--posy:50%;--bgpos:50% 50%;--rx:0deg;--ry:0deg;--o:0;--hyp:0;--float-y:0px;--scale:.92;--spin:0deg;--tx:0px;--ty:0px;aspect-ratio:3/4.4;--corner:32px;perspective:1600px;width:calc(33.3333% - 26.6667px);min-width:280px;max-width:460px;transform-style:preserve-3d;transform:translate3d(var(--tx), calc(var(--ty) + var(--float-y)), 0) rotateY(var(--spin)) scale(var(--scale));cursor:pointer;will-change:transform;background:0 0;border-radius:0;transition:transform .9s cubic-bezier(.22,1,.36,1);position:relative}.tc-card.is-floating{cursor:default}.tc-card.is-floating[data-edge=left],.tc-card.is-floating[data-edge=right],.tc-card.is-floating.is-cursor-link{cursor:pointer}.tc-card-inner,.tc-card-back{filter:drop-shadow(0 1px 2px #0a0a0a0a)drop-shadow(0 14px 28px #0a0a0a1a)drop-shadow(0 40px 70px #0a0a0a24);transition:filter .6s}.tc-card.is-floating .tc-card-inner,.tc-card.is-floating .tc-card-back{filter:drop-shadow(0 6px 12px #0a0a0a0f)drop-shadow(0 36px 70px #0a0a0a2e)drop-shadow(0 90px 140px #0a0a0a33)}.tc-card .tc-edge-hint{pointer-events:none;opacity:0;z-index:9;width:15%;transition:opacity .22s;position:absolute;top:0;bottom:0}.tc-card .tc-edge-hint.left{background:linear-gradient(90deg,#0a0a0a24,#0000);left:0}.tc-card .tc-edge-hint.right{background:linear-gradient(270deg,#0a0a0a24,#0000);right:0}.tc-card.is-dark .tc-edge-hint.left{background:linear-gradient(90deg,#f6f6f32e,#0000)}.tc-card.is-dark .tc-edge-hint.right{background:linear-gradient(270deg,#f6f6f32e,#0000)}.tc-card[data-edge=left] .tc-edge-hint.left,.tc-card[data-edge=right] .tc-edge-hint.right{opacity:1}.tc-card:focus{outline:none}.tc-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.tc-section-active{z-index:50}body.tc-focus-mode [data-site-nav],body.tc-focus-mode [data-site-dock]{transition:opacity .35s cubic-bezier(.22,1,.36,1);opacity:0!important;pointer-events:none!important}@media (prefers-reduced-motion:reduce){body.tc-focus-mode [data-site-nav],body.tc-focus-mode [data-site-dock]{transition-duration:0s}}.tc-section-active .tc-card:not(.is-floating){pointer-events:none}.tc-card.is-tracking,.tc-card.is-tracking .tc-card-inner,.tc-card.is-tracking .tc-card-back{transition:transform 80ms ease-out}.tc-card.is-floating{z-index:1001}.tc-card.is-expanded{--scale:2}.tc-card.is-detail{--scale:2.2}.tc-card-inner{transform:translateZ(.01px) rotateY(var(--ry)) rotateX(var(--rx));transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;clip-path:polygon(0 0, calc(100% - var(--corner)) 0, 100% var(--corner), 100% 100%, 0 100%);background:#fff;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.tc-card-inner:after{content:"";width:calc(var(--corner) * 1.42);transform-origin:100% 0;pointer-events:none;z-index:20;background:#0a0a0a1a;height:1px;position:absolute;top:0;right:0;transform:rotate(-45deg)translate(-.5px)}.tc-card.is-dark .tc-card-inner:after{background:#f6f6f31f}.tc-card-back{transform:translateZ(.01px) rotateY(180deg) rotateY(calc(var(--ry) * -1)) rotateX(var(--rx));transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;clip-path:polygon(var(--corner) 0, 100% 0, 100% 100%, 0 100%, 0 var(--corner));background:radial-gradient(circle at 30% 25%, #95f52f1f, transparent 55%), radial-gradient(circle at 75% 80%, #95f52f14, transparent 60%), linear-gradient(160deg, var(--tc-back-light-a) 0%, var(--tc-back-light-b) 100%);color:var(--color-ink);text-align:center;border:1px solid #0a0a0a0f;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:16px;padding:28px 22px 24px;display:flex;position:absolute;inset:0;overflow:hidden}.tc-card.is-flipped .tc-card-back{pointer-events:auto}.tc-card.is-flipped .tc-card-inner,.tc-card.is-flipped .tc-card-inner *,.tc-card:not(.is-flipped) .tc-card-back,.tc-card:not(.is-flipped) .tc-card-back *{pointer-events:none}.tc-card.is-dark .tc-card-back{background:radial-gradient(circle at 30% 25%, #95f52f2e, transparent 55%), radial-gradient(circle at 75% 80%, #95f52f1a, transparent 60%), linear-gradient(160deg, var(--tc-back-dark-a) 0%, var(--tc-back-dark-b) 100%);color:var(--color-on-dark);border-color:#f6f6f30f}.tc-back-logo{width:auto;height:22px;margin-top:8px;margin-bottom:4px;display:block}.tc-back-grid{background:#0a0a0a14;border:1px solid #0a0a0a14;grid-template-columns:1fr 1fr;gap:1px;width:100%;display:grid}.tc-card.is-dark .tc-back-grid{background:#f6f6f314;border-color:#f6f6f314}.tc-back-grid>div{background:inherit;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;text-align:left;color:var(--color-ink-muted);padding:10px 12px;font-size:8.5px}.tc-card.is-dark .tc-back-grid>div{color:var(--color-on-dark-muted)}.tc-back-grid>div b{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--color-ink);margin-top:3px;font-size:12px;font-weight:700;display:block}.tc-card.is-dark .tc-back-grid>div b{color:var(--color-on-dark)}.tc-back-contact{flex-direction:column;gap:8px;width:100%;padding:0 4px;display:flex}.tc-back-contact a{color:var(--color-ink);font-family:var(--font-mono);letter-spacing:.06em;text-transform:lowercase;text-align:left;background:#ffffff80;border:1px solid #0a0a0a1a;align-items:center;gap:10px;padding:9px 12px;font-size:10.5px;text-decoration:none;transition:background .2s,border-color .2s;display:flex}.tc-back-contact a:hover,.tc-back-contact a.is-hover{background:#ffffffd9;border-color:#0a0a0a33}.tc-back-contact a svg{opacity:.65;flex-shrink:0;width:13px;height:13px}.tc-back-contact a span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tc-card.is-dark .tc-back-contact a{color:var(--color-on-dark);background:#f6f6f30a;border-color:#f6f6f31f}.tc-card.is-dark .tc-back-contact a:hover,.tc-card.is-dark .tc-back-contact a.is-hover{background:#f6f6f31a;border-color:#f6f6f33d}.tc-back-foot{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-soft);margin-top:auto;font-size:9.5px}.tc-card.is-dark .tc-back-foot{color:var(--color-on-dark-muted)}.tc-photo{aspect-ratio:4/4.4;background:var(--tc-paper-200);backface-visibility:hidden;--photo-corner:30px;clip-path:polygon(0 0, calc(100% - var(--photo-corner)) 0, 100% var(--photo-corner), 100% 100%, 0 100%);border-radius:0;margin:4px 4px 0;position:relative;overflow:hidden}.tc-placeholder{font-family:var(--font-display);letter-spacing:-.04em;color:#0a0a0a2e;background:radial-gradient(ellipse at 30% 20%, #ffffffb3, transparent 55%), linear-gradient(140deg, var(--tc-paper-400) 0%, var(--tc-paper-300) 100%);place-items:center;font-size:96px;font-weight:700;display:grid;position:absolute;inset:0}.tc-placeholder.lime{background:radial-gradient(ellipse at 30% 20%, #ffffff8c, transparent 60%), linear-gradient(140deg, #d6e9b0 0%, var(--color-accent) 100%);color:#0a0a0a38}.tc-placeholder.ink{color:#f6f6f329;background:radial-gradient(at 30% 20%,#ffffff14,#0000 55%),linear-gradient(140deg,#2a2a2a 0%,#0a0a0a 100%)}.tc-role-tag{width:38px;height:38px;color:var(--color-ink);z-index:3;background:linear-gradient(135deg,#b6ff6e 0%,#7ad928 100%);border:none;border-radius:0;place-items:center;display:grid;position:absolute;top:0;left:0;overflow:hidden}.tc-role-tag svg{z-index:2;stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;position:relative}.tc-body{flex-direction:column;flex:1;gap:12px;padding:14px 20px 18px;display:flex}.tc-name{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-ink);margin:0;font-size:22px;font-weight:700;line-height:1.05}.tc-role-line{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-muted);margin:3px 0 0;font-size:10.5px}.tc-bio{color:var(--color-ink-muted);text-wrap:pretty;margin:0;font-size:12.5px;line-height:1.5}.tc-skills{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.tc-skills span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink);background:#0a0a0a0a;border:1px solid #0a0a0a0d;border-radius:3px;padding:4px 8px;font-size:9.5px}.tc-meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft);border-top:1px solid #0a0a0a0f;justify-content:space-between;align-items:center;padding:6px 16px;font-size:9px;display:flex}.tc-meta .tc-id{color:var(--color-ink);opacity:.55}.tc-meta a{color:var(--color-ink);opacity:.7;text-decoration:none;transition:opacity .15s}.tc-meta a:hover,.tc-meta a.is-hover{opacity:1}.tc-card-shine{border-radius:inherit;background-image:radial-gradient(farthest-corner circle at var(--mx) var(--my), #ffffff8c 6%, #ffffff40 18%, #ffffff0d 35%, #00000040 80%);mix-blend-mode:soft-light;opacity:calc(var(--o) * .7);pointer-events:none;z-index:6;transition:opacity .5s;position:absolute;inset:0}.tc-card-holo{border-radius:inherit;background-blend-mode:exclusion, hue;background-image:repeating-linear-gradient(#ff7773 65%,#d875ff 70%,#7894ff 75%,#83fff7 80%,#a8ff5f 85%,#ffed5f 90%,#ff7773 95%),repeating-linear-gradient(128deg,#141414 0%,#ffffffd9 3%,#141414f2 5%,#ffffffd9 7%,#141414f2 9%,#141414 12%);background-size:100% 200%,200% 700%;background-position:50% var(--posy), var(--posx) var(--posy);filter:brightness(calc((var(--hyp) * .2) + .85)) contrast(1.15) saturate(.75);mix-blend-mode:color-dodge;opacity:calc(var(--o) * .2);pointer-events:none;z-index:7;transition:opacity .5s;position:absolute;inset:0}.tc-card-glare{border-radius:inherit;background:radial-gradient(farthest-corner circle at var(--mx) var(--my), #ffffff73 8%, #ffffff0a 22%, transparent 50%);mix-blend-mode:overlay;opacity:calc(var(--o) * .8);pointer-events:none;z-index:8;transition:opacity .5s;position:absolute;inset:0}.tc-card.is-detail .tc-card-holo{opacity:calc(var(--o) * .42)}.tc-card.is-dark .tc-card-inner{background:#14181c;border-color:#f6f6f30f}.tc-card.is-dark .tc-name{color:var(--color-on-dark)}.tc-card.is-dark .tc-role-line{color:#f6f6f38c}.tc-card.is-dark .tc-bio{color:#f6f6f39e}.tc-card.is-dark .tc-skills span{color:var(--color-on-dark);background:#f6f6f30a;border-color:#f6f6f30f}.tc-card.is-dark .tc-meta{color:#f6f6f366;border-top-color:#f6f6f30f}.tc-card.is-dark .tc-meta .tc-id{color:var(--color-on-dark);opacity:.55}.tc-card.is-dark .tc-meta a{color:var(--color-on-dark);opacity:.7}.tc-card.is-dark .tc-role-tag{color:var(--color-ink);background:linear-gradient(135deg,#b6ff6e 0%,#7ad928 100%);border:none}.tc-card.is-green .tc-card-inner{background:#0a1610;border-color:#95f52f1a}.tc-card.is-green .tc-card-inner:after{background:#95f52f33}.tc-card.is-green .tc-card-back{background:radial-gradient(circle at 30% 25%,#95f52f3d,#0000 55%),radial-gradient(circle at 75% 80%,#95f52f24,#0000 60%),linear-gradient(160deg,#0f2418 0%,#050d08 100%);border-color:#95f52f1f}.tc-card.is-green .tc-back-grid{background:#95f52f1a;border-color:#95f52f1a}.tc-card.is-green .tc-meta{border-top-color:#95f52f1a}.tc-card.is-green .tc-skills span{background:#95f52f0f;border-color:#95f52f1a}.tc-card.is-green .tc-role-tag{color:var(--color-ink);background:linear-gradient(135deg,#8fe08f 0%,#3fa53f 100%)}.tc-card.is-yellow .tc-card-inner{background:#1a1408;border-color:#ffd64d1a}.tc-card.is-yellow .tc-card-inner:after{background:#ffd64d33}.tc-card.is-yellow .tc-card-back{background:radial-gradient(circle at 30% 25%,#ffd64d33,#0000 55%),radial-gradient(circle at 75% 80%,#95f52f1f,#0000 60%),linear-gradient(160deg,#2a200e 0%,#0d0903 100%);border-color:#ffd64d1a}.tc-card.is-yellow .tc-back-grid{background:#ffd64d14;border-color:#ffd64d1a}.tc-card.is-yellow .tc-meta{border-top-color:#ffd64d1a}.tc-card.is-yellow .tc-skills span{background:#ffd64d0f;border-color:#ffd64d1a}.tc-card.is-yellow .tc-role-tag{color:var(--color-ink);background:linear-gradient(135deg,#ffe680 0%,#f0b000 100%)}.tc-card.is-red .tc-card-inner{background:#1a0a0a;border-color:#ff5c5c1f}.tc-card.is-red .tc-card-inner:after{background:#ff5c5c33}.tc-card.is-red .tc-card-back{background:radial-gradient(circle at 30% 25%,#ff5c5c33,#0000 55%),radial-gradient(circle at 75% 80%,#95f52f1a,#0000 60%),linear-gradient(160deg,#2a0d0d 0%,#0d0303 100%);border-color:#ff5c5c1a}.tc-card.is-red .tc-back-grid{background:#ff5c5c14;border-color:#ff5c5c1a}.tc-card.is-red .tc-meta{border-top-color:#ff5c5c1a}.tc-card.is-red .tc-skills span{color:#ff8a8a;background:#ff5c5c0f;border-color:#ff5c5c1f}.tc-card.is-red .tc-role-tag{color:var(--color-on-dark);background:linear-gradient(135deg,#ff8a8a 0%,#e03b3b 100%)}.tc-card.is-blue .tc-card-inner{background:#0a0d18;border-color:#5b9bff1f}.tc-card.is-blue .tc-card-inner:after{background:#5b9bff33}.tc-card.is-blue .tc-card-back{background:radial-gradient(circle at 30% 25%,#5b9bff2e,#0000 55%),radial-gradient(circle at 75% 80%,#95f52f1a,#0000 60%),linear-gradient(160deg,#0d1228 0%,#03060d 100%);border-color:#5b9bff1a}.tc-card.is-blue .tc-back-grid{background:#5b9bff14;border-color:#5b9bff1a}.tc-card.is-blue .tc-meta{border-top-color:#5b9bff1a}.tc-card.is-blue .tc-skills span{color:#8ab8ff;background:#5b9bff0f;border-color:#5b9bff1f}.tc-card.is-blue .tc-role-tag{color:var(--color-on-dark);background:linear-gradient(135deg,#8ab8ff 0%,#3b7be0 100%)}.tc-photo-img{object-fit:cover;object-position:center 35%;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.tc-stats{grid-template-columns:repeat(4,1fr);gap:3px;margin-top:auto;display:grid}.tc-stat{background:#0a0a0a0a;border:1px solid #0a0a0a0f;border-left-width:3px;flex-direction:column;gap:2px;padding:4px 6px;display:flex}.tc-stat-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);font-size:8px;line-height:1}.tc-stat-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);font-size:16px;font-weight:700;line-height:1}.tc-stat[data-color=yellow]{border-left-color:#ffd64d}.tc-stat[data-color=red]{border-left-color:#e85959}.tc-stat[data-color=green]{border-left-color:#5bc25b}.tc-stat[data-color=blue]{border-left-color:#5390f0}.tc-card.is-dark .tc-stat{background:#f6f6f30a;border-color:#f6f6f30f}.tc-card.is-dark .tc-stat-label{color:#f6f6f38c}.tc-card.is-dark .tc-stat-value{color:var(--color-on-dark)}@keyframes tc-float-a{0%,to{--float-y:0px}50%{--float-y:-8px}}@keyframes tc-float-b{0%,to{--float-y:-4px}50%{--float-y:-12px}}@keyframes tc-float-c{0%,to{--float-y:-2px}50%{--float-y:-10px}}.tc-card[data-anim=a]{animation:6s ease-in-out infinite tc-float-a}.tc-card[data-anim=b]{animation:7s ease-in-out -1.5s infinite tc-float-b}.tc-card[data-anim=c]{animation:5.5s ease-in-out -3s infinite tc-float-c}.tc-card.is-tracking,.tc-card.is-expanded,.tc-card.is-detail,.tc-card.is-spinning,.tc-card.is-floating{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.tc-card[data-anim]{animation:none}.tc-card,.tc-card-inner,.tc-card-back{transition-duration:0s!important}}@media (max-width:720px){.tc-row{gap:28px}.tc-card{width:100%;max-width:none}.tc-card.is-expanded{--scale:1.15}.tc-card.is-detail{--scale:1.25}}@media (min-width:721px) and (max-width:1199px){.tc-card{width:calc(50% - 20px);max-width:none}}@media (min-width:1440px){.tc-card{width:calc(25% - 30px)}}
