.tp{--tp-ink:hsl(var(--foreground));--tp-mut:hsl(var(--muted-foreground));--tp-line:hsl(var(--border));--tp-card:hsl(var(--card));--tp-accent:#4f46e5}.dark .tp{--tp-accent:#a5b4fc}.tp-portrait{border:1px solid hsl(var(--border));background:linear-gradient(hsl(var(--foreground) / .06) 1px, transparent 1px) 0 0 / 12px 12px, linear-gradient(90deg, hsl(var(--foreground) / .06) 1px, transparent 1px) 0 0 / 12px 12px, linear-gradient(160deg, #eef2ff, #e0e7ff);border-radius:22px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 14px 28px -18px #1e1b4b73}.dark .tp-portrait{background:linear-gradient(#ffffff0f 1px,#0000 1px) 0 0/12px 12px,linear-gradient(90deg,#ffffff0f 1px,#0000 1px) 0 0/12px 12px,linear-gradient(160deg,#1e1b4b,#0f172a)}.tp-portrait[data-size=md]{border-radius:20px;width:72px;height:72px}.tp-portrait[data-size=lg]{border-radius:30px;width:176px;height:176px}.tp-initial{color:#4338ca;font-family:KaTeX_Main,Cambria Math,STIX Two Math,Georgia,serif;font-style:italic;font-weight:500;line-height:1}.dark .tp-initial{color:#a5b4fc}.tp-portrait[data-size=md] .tp-initial{font-size:40px}.tp-portrait[data-size=lg] .tp-initial{font-size:104px}.tp-head{gap:28px;padding-top:8px;animation:.6s cubic-bezier(.16,1,.3,1) both tp-rise;display:grid}@media (min-width:1024px){.tp-head{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px}}.tp-title{letter-spacing:-.04em;color:var(--tp-ink);text-wrap:balance;font-size:clamp(36px,5.2vw,60px);font-weight:900;line-height:1.02}.tp-lede{max-width:36rem;color:var(--tp-mut);margin-top:16px;font-size:clamp(15px,1.3vw,17px);line-height:1.65}.tp-path{border:1px solid var(--tp-line);background:var(--tp-card);border-radius:24px;gap:0;margin:0;padding:0;list-style:none;display:grid}.tp-path li{grid-template-columns:36px minmax(0,1fr);gap:2px 14px;padding:16px 18px;display:grid}.tp-path li+li{border-top:1px solid var(--tp-line)}.tp-path-n{color:#fff;background:linear-gradient(150deg,#6366f1,#4338ca);border-radius:12px;grid-row:span 2;place-items:center;width:36px;height:36px;font:italic 600 18px/1 KaTeX_Main,Georgia,serif;display:grid;box-shadow:0 3px #312e81}.tp-path-t{color:var(--tp-ink);font-size:15px;font-weight:850}.tp-path-d{color:var(--tp-mut);font-size:13.5px;line-height:1.55}.tp-path-h{color:var(--tp-mut);padding:14px 18px 0;font-size:13px;font-weight:750}.tp-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:16px;display:grid}.tp-card{border:1px solid var(--tp-line);background:var(--tp-card);animation:.55s cubic-bezier(.16,1,.3,1) both tp-rise;animation-delay:calc(min(var(--i,0), 8) * 50ms);border-radius:26px;flex-direction:column;gap:14px;padding:20px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;display:flex;position:relative;box-shadow:inset 0 1px #ffffffb3,0 18px 36px -30px #0f172a80}.dark .tp-card{box-shadow:inset 0 1px #ffffff0d,0 20px 40px -30px #000000e6}.tp-card:hover,.tp-card:focus-within{border-color:#6366f173;transform:translateY(-3px);box-shadow:0 26px 46px -30px #4f46e58c}.tp-card-top{align-items:center;gap:14px;display:flex}.tp-card-name{letter-spacing:-.01em;color:var(--tp-ink);font-size:19px;font-weight:900}.tp-card-name a:after{content:"";border-radius:inherit;position:absolute;inset:0}.tp-card-name a:focus-visible{outline:none}.tp-card:has(.tp-card-name a:focus-visible){outline:2px solid hsl(var(--ring));outline-offset:3px}.tp-card-head{color:var(--tp-accent);margin-top:2px;font-size:13.5px;font-weight:650;line-height:1.4}.tp-card-bio{color:var(--tp-mut);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.tp-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tp-tag{color:var(--tp-ink);background:hsl(var(--muted));border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:700}.tp-facts{color:var(--tp-mut);flex-wrap:wrap;gap:6px 16px;margin:0;font-size:13px;display:flex}.tp-facts div{align-items:center;gap:6px;display:inline-flex}.tp-facts dt{display:inline-flex}.tp-facts dt svg{width:15px;height:15px}.tp-facts dd{color:var(--tp-ink);font-weight:700}.tp-card-foot{border-top:1px solid var(--tp-line);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;display:flex}.tp-rate-k{color:var(--tp-mut);font-size:12px;font-weight:650;display:block}.tp-rate-v{color:var(--tp-ink);font-variant-numeric:tabular-nums;font-size:17px;font-weight:900}.tp-go{color:var(--tp-accent);align-items:center;gap:6px;font-size:13.5px;font-weight:800;display:inline-flex}.tp-go svg{width:16px;height:16px;transition:transform .25s}.tp-card:hover .tp-go svg{transform:translate(3px)}.tp-edit{z-index:1;min-height:44px;color:var(--tp-ink);border:1px solid var(--tp-line);background:hsl(var(--background));border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex;position:relative}.tp-edit:hover{background:hsl(var(--muted))}.tp-edit:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.tp-empty{border:1px dashed var(--tp-line);text-align:center;color:var(--tp-mut);border-radius:26px;padding:40px 24px}.tp-empty h2{color:var(--tp-ink);font-size:18px;font-weight:900}.tp-h2{letter-spacing:-.02em;color:var(--tp-ink);font-size:clamp(22px,2.6vw,30px);font-weight:900}.tp-prose{max-width:65ch;color:var(--tp-ink);white-space:pre-wrap;font-size:16px;line-height:1.75}.tp-btn{color:#fff;background:linear-gradient(110deg,#2563eb,#7c3aed 60%,#db2777);border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:14px;font-weight:850;transition:transform .15s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:inset 0 1px #ffffff59,0 4px #4c1d95,0 16px 28px -14px #7c3aed}.tp-btn svg{width:17px;height:17px}.tp-btn:hover{transform:translateY(-2px)}.tp-btn:active{transform:translateY(3px);box-shadow:inset 0 1px #ffffff59,0 1px #4c1d95}.tp-btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.tp-btn-ghost{color:var(--tp-ink);background:var(--tp-card);border:1px solid var(--tp-line);box-shadow:0 3px 0 var(--tp-line)}.tp-match{border:1px solid var(--tp-line);background:var(--tp-card);border-radius:28px;gap:14px;padding:26px;display:grid}@media (min-width:900px){.tp-match{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:32px 36px}}.tp-match p{max-width:62ch;color:var(--tp-mut);font-size:15px;line-height:1.7}.tp-actions{flex-wrap:wrap;gap:10px;display:flex}.tp-crumbs{color:var(--tp-mut);flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px;display:flex}.tp-crumbs a{min-height:44px;color:var(--tp-mut);align-items:center;font-weight:700;display:inline-flex}.tp-crumbs a:hover{color:var(--tp-ink)}.tp-crumbs svg{width:15px;height:15px}.tp-hero{gap:28px;animation:.6s cubic-bezier(.16,1,.3,1) both tp-rise;display:grid}@media (min-width:1024px){.tp-hero{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:48px}}.tp-who{gap:22px;display:grid}@media (min-width:640px){.tp-who{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:28px}}.tp-name{letter-spacing:-.04em;color:var(--tp-ink);text-wrap:balance;font-size:clamp(34px,5vw,56px);font-weight:900;line-height:1.02}.tp-headline{color:var(--tp-accent);margin-top:10px;font-size:clamp(16px,1.5vw,19px);font-weight:650;line-height:1.45}.tp-sheet{border:1px solid var(--tp-line);background:var(--tp-card);border-radius:26px;overflow:hidden;box-shadow:0 24px 50px -40px #0f172a80}.tp-sheet-h{color:var(--tp-ink);padding:16px 20px 6px;font-size:14px;font-weight:850}.tp-sheet dl{margin:0}.tp-sheet dl>div{grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 20px;display:grid}.tp-sheet dl>div+div{border-top:1px solid var(--tp-line)}.tp-sheet dt{color:var(--tp-mut);align-items:flex-start;gap:8px;font-size:13px;font-weight:650;display:inline-flex}.tp-sheet dt svg{width:16px;height:16px;color:var(--tp-accent);flex:none;margin-top:1px}.tp-sheet dd{color:var(--tp-ink);overflow-wrap:anywhere;min-width:0;font-size:14.5px;font-weight:750;line-height:1.45}.tp-sheet dd a{color:var(--tp-ink);text-decoration:underline;-webkit-text-decoration-color:hsl(var(--border));text-decoration-color:hsl(var(--border));text-underline-offset:3px;margin:-12px 0;padding:12px 0;display:inline-block}.tp-sheet-cta{border-top:1px solid var(--tp-line);gap:8px;padding:16px 20px 20px;display:grid}.tp-sheet-cta .tp-btn{width:100%}.tp-sheet-note{color:var(--tp-mut);font-size:12.5px;line-height:1.5}.tp-section{gap:16px;display:grid}.tp-courses{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tp-course{border:1px solid var(--tp-line);background:var(--tp-card);min-height:64px;color:var(--tp-ink);border-radius:18px;align-items:center;gap:12px;padding:14px 16px;font-weight:800;transition:border-color .2s,transform .2s cubic-bezier(.16,1,.3,1);display:flex}.tp-course:hover{border-color:#6366f173;transform:translateY(-2px)}.tp-course:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.tp-course svg{width:18px;height:18px;color:var(--tp-accent);flex:none}.tp-course span{flex:1;min-width:0}.tp-quals{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tp-quals li{color:var(--tp-ink);align-items:flex-start;gap:10px;font-size:15px;line-height:1.5;display:flex}.tp-quals svg{color:#059669;flex:none;width:18px;height:18px;margin-top:2px}.tp-admin{color:var(--tp-ink);background:#9333ea0f;border:1px solid #9333ea4d;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:13.5px;font-weight:700;display:flex}@keyframes tp-rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.tp-head,.tp-card,.tp-hero{animation:none}.tp-card,.tp-btn,.tp-course,.tp-go svg{transition:none}.tp-card:hover,.tp-card:focus-within,.tp-btn:hover,.tp-btn:active,.tp-course:hover,.tp-card:hover .tp-go svg{transform:none}}
